Bug 2871

Summary: Привести в порядок extrac32.exe
Product: WINE@Etersoft Reporter: Vitaly Lipatov <lav>
Component: Файловые операцииAssignee: Vitaly Lipatov <lav>
Status: DEFERRED --- QA Contact:
Severity: minor    
Priority: P3 CC: boris, kondratyuk, vitperov, vostok
Version: 1.0.9   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 5101    

Description Vitaly Lipatov 2008-11-11 10:03:03 MSK
В вайновской реализации не хватает некоторых вещей:
1. нужно использовать нормальную функцию для нахождения по маске (в ntdll/directory есть например match_filename)
2. нужно сделать справку по ключу /?
3. привести код в порядок и отправить в winehq
Во всём руководствоваться оригинальным extrac32 для Windows.
Для тестирования нужно написать скрипт, желательно для CMD
Comment 1 Vitaly Lipatov 2008-12-02 20:05:26 MSK
Как выяснилось, для разбора командной строки есть функция
CommandLineToArgvW, значит файл parsecmd не нужен.
Comment 2 Анатолий Лютин 2009-02-10 18:10:28 MSK
(In reply to comment #1)
> Как выяснилось, для разбора командной
> строки есть функция
> CommandLineToArgvW, значит файл parsecmd не нужен.
> 
 
Я проводил тестирование этой функции, она не парсила аргументы с кавычками, то есть строка вида \"blabla blabla\" парсилась как два аргумента  \"blabla и blabla\". Убедитесь, что она работает правильно.
Comment 3 Vitaly Lipatov 2009-10-20 14:22:24 MSD
Нужно привести наш код в порядок и отправить в winehq по частям.
Ещё раз проверить невозможность использования CommandLineToArgvW.
Предоставить Andrey Turkin <andrey.turkin@gmail.com> возможность отправить
свои патчи поверх наших. Остальные добавления поручим потом стажёру.
Comment 4 Анатолий Лютин 2009-10-20 14:32:05 MSD
Насколько я помню они ни в какую не хотят такую программу по частям. Им нужен сразу коммит из которого получается _рабочая_ extrac32 с практически полным набором обрабатываемых флагов.
Comment 5 Илья Шпигорь 2009-12-28 13:31:16 MSK
На данный момент удалось добиться только того, чтобы extrac32 распаковывал cab архив. Больше на winehq ничего не удалось протащить. Andrey Turkin к этой проблеме потерял интерес и без его помощи стало совсем туго.

Пытался неоднократно посылать патч на создание каталогов по параметру /L. Не приняли и не ответили :(

Думаю, стоит прекратить эту деятельность. Ведь самое обидное, что даже на письма никто отвечать не хочет. Во всяком случае, минимальный функционал у них есть (в том числе и парсинг параметров командной строки).
Comment 6 Анатолий Лютин 2009-12-28 13:33:37 MSK
А в devel@ что говорят?

Возможно есть вариант написать кому-нибудь из кодвиверцев лично (Тимошков, или тому человеку что за msi отвечает, т.к. cab-архивы и там используются).
Comment 7 Илья Шпигорь 2009-12-28 13:53:45 MSK
> А в devel@ что говорят?

Спасибо, что пнул :) Написал им в devel@ с вопросом, почему патч не приняли.

> Возможно есть вариант написать кому-нибудь
> из кодвиверцев лично (Тимошков, или тому
> человеку что за msi отвечает, т.к. cab-архивы и
> там используются).

Насколько понял, у них там проблема с субординацией. Было однажды, что Тимошков сказал, что с патчем все хорошо, проблем нет. Через месяц патч так и не закомитили. Выяснилось, что AJ он не понравился. Причем сам он об этом ничего не сказал, пока прямо не спросили.
Comment 8 Анатолий Лютин 2009-12-28 13:57:52 MSK
(In reply to comment #7)
> > А в devel@ что говорят?
> 
> Спасибо, что пнул :) Написал им в devel@ с
> вопросом, почему патч не приняли.

Всегда пожалуйста, судьба extrac32 меня волнует :)))

> 
> > Возможно есть вариант написать кому-нибудь
> > из кодвиверцев лично (Тимошков, или тому
> > человеку что за msi отвечает, т.к. cab-архивы и
> > там используются).
> 
> Насколько понял, у них там проблема с
> субординацией. Было однажды, что Тимошков
> сказал, что с патчем все хорошо, проблем
> нет. Через месяц патч так и не закомитили.
> Выяснилось, что AJ он не понравился. Причем
> сам он об этом ничего не сказал, пока прямо
> не спросили.
> 

Ну у них бывает такое, но чем больше человек "за" твой патч, тем сложнее AJ от него отмахиваться. Фишка в том, что AJ очень не любит резкое расширение функционала, которое годами не вынашивалось (то же DIB Engine вспомнить). Поэтому считаю что очень круто, что тебе удалось в @cvs пропихнуть то, что ты пропихнул. Я очень был рад.

Comment 9 Vitaly Lipatov 2009-12-28 16:44:11 MSK
(In reply to comment #8)
...
> вспомнить). Поэтому считаю что очень круто,
> что тебе удалось в @cvs пропихнуть то, что ты
> пропихнул. Я очень был рад.

Разрабочики WINE-LXP написали у себя, что разработку extrac32.exe должны заказать в winehq заинтересованные компании. Странно, что они не посмотрели наш код.


Comment 10 Анатолий Лютин 2009-12-28 16:49:07 MSK
(In reply to comment #9)
> Разрабочики WINE-LXP написали у себя, что
> разработку extrac32.exe должны заказать в winehq
> заинтересованные компании. Странно, что
> они не посмотрели наш код.

Мало ли кто какую глупость написал :) У winehq никто ничего заказывать не должен. Не для этого он создан.

Comment 11 Анатолий Лютин 2009-12-28 16:55:27 MSK
Trustverse - вообще какие-то стремные ребята судя по их отчётам о тестировании. Такое ощущение что у них WINE@etersoft работает...
Comment 12 Виталий Перов 2009-12-28 17:11:24 MSK
Мержил pure в eterwine.
Пришлось несколько раз переделывать старый патч Толи.
В итоге:
1) Патч игнорирует большинство кода из pure
2) Я его не тестировал. Возможно что-то теперь не работает

Илья не мог бы ты посмотреть? Возможно сделать наш патч не отменяя код из pure?

Насчёт тестирования. Думаю необходимо всё это ещё потом проверить.
Когда-то очень давно я делал набор тестов для extrac32. Может пригодится. Бага #1086.

PS. изменения пока только в eterwine. В eterhack они попадут ещё не скоро
Comment 13 Анатолий Лютин 2009-12-28 17:25:25 MSK
(In reply to comment #12)
> Мержил pure в eterwine.
> Пришлось несколько раз переделывать
> старый патч Толи.
> В итоге:
> 1) Патч игнорирует большинство кода из pure
> 2) Я его не тестировал. Возможно что-то
> теперь не работает

Мой код стар и неактуален, нужно использовать версию Ильи!!!
Comment 14 Виталий Перов 2009-12-29 15:15:42 MSK
(In reply to comment #13)

> Мой код стар и неактуален, нужно
> использовать версию Ильи!!!
> 

В той версии, что в wine-pure мало что реализовано. 

Comment 15 Анатолий Лютин 2009-12-29 15:29:55 MSK
(In reply to comment #14)
> (In reply to comment #13)
> 
> > Мой код стар и неактуален, нужно
> > использовать версию Ильи!!!
> > 
> 
> В той версии, что в wine-pure мало что
> реализовано. 
> 

По-моему у него есть дополнительные патчи, которые ещё не приняли в cvs. Но тут Илья сам лучше за себя себя скажет :))
Comment 16 Илья Шпигорь 2009-12-30 14:28:28 MSK
> По-моему у него есть дополнительные патчи,
> которые ещё не приняли в cvs. Но тут Илья сам
> лучше за себя себя скажет :))

Да, патчи есть. Если их примут, тогда можно переходить на версию из wine-pure, не раньше.

Насколько смог разобраться текущая реализация в оригинальном wine отличается от Толиной следующим:
1) вообще нет никакого вывода о процессе распаковки CAB (ни в файл, ни в консоль)
2) не создается дерево каталогов по параметру /L
3) не реализован флаг /D - вывод содержимого CAB архива
4) при распаковке CAB извлекаются все файлы, нельзя указать, что именно нужно извлекать

Возможно, есть что-то еще.
Comment 17 Vitaly Lipatov 2010-02-25 16:20:52 MSK
*** Bug 5144 has been marked as a duplicate of this bug. ***
Comment 18 Devaev Maxim 2011-02-21 19:14:55 MSK
Свешиваю в связи с увольнением
Comment 19 Vitaly Lipatov 2012-01-09 18:12:41 MSK
Откладываем, на bugs@lists.etersoft.ru не должно висеть багов.
Comment 24 Vitaly Lipatov 2014-09-11 18:40:44 MSK
Откладываем задачи, к которым не обращались более 100 дней.