В вайновской реализации не хватает некоторых вещей: 1. нужно использовать нормальную функцию для нахождения по маске (в ntdll/directory есть например match_filename) 2. нужно сделать справку по ключу /? 3. привести код в порядок и отправить в winehq Во всём руководствоваться оригинальным extrac32 для Windows. Для тестирования нужно написать скрипт, желательно для CMD
Как выяснилось, для разбора командной строки есть функция CommandLineToArgvW, значит файл parsecmd не нужен.
(In reply to comment #1) > Как выяснилось, для разбора командной > строки есть функция > CommandLineToArgvW, значит файл parsecmd не нужен. > Я проводил тестирование этой функции, она не парсила аргументы с кавычками, то есть строка вида \"blabla blabla\" парсилась как два аргумента \"blabla и blabla\". Убедитесь, что она работает правильно.
Нужно привести наш код в порядок и отправить в winehq по частям. Ещё раз проверить невозможность использования CommandLineToArgvW. Предоставить Andrey Turkin <andrey.turkin@gmail.com> возможность отправить свои патчи поверх наших. Остальные добавления поручим потом стажёру.
Насколько я помню они ни в какую не хотят такую программу по частям. Им нужен сразу коммит из которого получается _рабочая_ extrac32 с практически полным набором обрабатываемых флагов.
На данный момент удалось добиться только того, чтобы extrac32 распаковывал cab архив. Больше на winehq ничего не удалось протащить. Andrey Turkin к этой проблеме потерял интерес и без его помощи стало совсем туго. Пытался неоднократно посылать патч на создание каталогов по параметру /L. Не приняли и не ответили :( Думаю, стоит прекратить эту деятельность. Ведь самое обидное, что даже на письма никто отвечать не хочет. Во всяком случае, минимальный функционал у них есть (в том числе и парсинг параметров командной строки).
А в devel@ что говорят? Возможно есть вариант написать кому-нибудь из кодвиверцев лично (Тимошков, или тому человеку что за msi отвечает, т.к. cab-архивы и там используются).
> А в devel@ что говорят? Спасибо, что пнул :) Написал им в devel@ с вопросом, почему патч не приняли. > Возможно есть вариант написать кому-нибудь > из кодвиверцев лично (Тимошков, или тому > человеку что за msi отвечает, т.к. cab-архивы и > там используются). Насколько понял, у них там проблема с субординацией. Было однажды, что Тимошков сказал, что с патчем все хорошо, проблем нет. Через месяц патч так и не закомитили. Выяснилось, что AJ он не понравился. Причем сам он об этом ничего не сказал, пока прямо не спросили.
(In reply to comment #7) > > А в devel@ что говорят? > > Спасибо, что пнул :) Написал им в devel@ с > вопросом, почему патч не приняли. Всегда пожалуйста, судьба extrac32 меня волнует :))) > > > Возможно есть вариант написать кому-нибудь > > из кодвиверцев лично (Тимошков, или тому > > человеку что за msi отвечает, т.к. cab-архивы и > > там используются). > > Насколько понял, у них там проблема с > субординацией. Было однажды, что Тимошков > сказал, что с патчем все хорошо, проблем > нет. Через месяц патч так и не закомитили. > Выяснилось, что AJ он не понравился. Причем > сам он об этом ничего не сказал, пока прямо > не спросили. > Ну у них бывает такое, но чем больше человек "за" твой патч, тем сложнее AJ от него отмахиваться. Фишка в том, что AJ очень не любит резкое расширение функционала, которое годами не вынашивалось (то же DIB Engine вспомнить). Поэтому считаю что очень круто, что тебе удалось в @cvs пропихнуть то, что ты пропихнул. Я очень был рад.
(In reply to comment #8) ... > вспомнить). Поэтому считаю что очень круто, > что тебе удалось в @cvs пропихнуть то, что ты > пропихнул. Я очень был рад. Разрабочики WINE-LXP написали у себя, что разработку extrac32.exe должны заказать в winehq заинтересованные компании. Странно, что они не посмотрели наш код.
(In reply to comment #9) > Разрабочики WINE-LXP написали у себя, что > разработку extrac32.exe должны заказать в winehq > заинтересованные компании. Странно, что > они не посмотрели наш код. Мало ли кто какую глупость написал :) У winehq никто ничего заказывать не должен. Не для этого он создан.
Trustverse - вообще какие-то стремные ребята судя по их отчётам о тестировании. Такое ощущение что у них WINE@etersoft работает...
Мержил pure в eterwine. Пришлось несколько раз переделывать старый патч Толи. В итоге: 1) Патч игнорирует большинство кода из pure 2) Я его не тестировал. Возможно что-то теперь не работает Илья не мог бы ты посмотреть? Возможно сделать наш патч не отменяя код из pure? Насчёт тестирования. Думаю необходимо всё это ещё потом проверить. Когда-то очень давно я делал набор тестов для extrac32. Может пригодится. Бага #1086. PS. изменения пока только в eterwine. В eterhack они попадут ещё не скоро
(In reply to comment #12) > Мержил pure в eterwine. > Пришлось несколько раз переделывать > старый патч Толи. > В итоге: > 1) Патч игнорирует большинство кода из pure > 2) Я его не тестировал. Возможно что-то > теперь не работает Мой код стар и неактуален, нужно использовать версию Ильи!!!
(In reply to comment #13) > Мой код стар и неактуален, нужно > использовать версию Ильи!!! > В той версии, что в wine-pure мало что реализовано.
(In reply to comment #14) > (In reply to comment #13) > > > Мой код стар и неактуален, нужно > > использовать версию Ильи!!! > > > > В той версии, что в wine-pure мало что > реализовано. > По-моему у него есть дополнительные патчи, которые ещё не приняли в cvs. Но тут Илья сам лучше за себя себя скажет :))
> По-моему у него есть дополнительные патчи, > которые ещё не приняли в cvs. Но тут Илья сам > лучше за себя себя скажет :)) Да, патчи есть. Если их примут, тогда можно переходить на версию из wine-pure, не раньше. Насколько смог разобраться текущая реализация в оригинальном wine отличается от Толиной следующим: 1) вообще нет никакого вывода о процессе распаковки CAB (ни в файл, ни в консоль) 2) не создается дерево каталогов по параметру /L 3) не реализован флаг /D - вывод содержимого CAB архива 4) при распаковке CAB извлекаются все файлы, нельзя указать, что именно нужно извлекать Возможно, есть что-то еще.
*** Bug 5144 has been marked as a duplicate of this bug. ***
Свешиваю в связи с увольнением
Откладываем, на bugs@lists.etersoft.ru не должно висеть багов.
Откладываем задачи, к которым не обращались более 100 дней.