Author | Topic |
|
Posted: 21.01.10 22:32. Post subject: Помогите собрать unzip с патчем.
Решил собрать для openSUSE unzip c вашим патчем. Сами библиотеки собрались без проблем, но вот unzip собрать не получается. Во первых скрипт update_shared выдает следующее ./update_shared: line 3: tc-getCC: команда не найдена ./update_shared: line 3: tc-getCC: команда не найдена Что ему не хватает? ну и дальше не собирается. Подозреваю что с этим связано. Так как далее везде "команда не найдена"
|
|
|
Replys - 46
, page:
1
2
3
All
[new only]
|
|
|
| administrator
|
|
|
Posted: 22.01.10 02:24. Post subject: Извиняюсь, я, кажетс..
|
|
|
|
Posted: 23.01.10 15:21. Post subject: Спасибо попробую. Ес..
Спасибо попробую. Есть вопрос по работе данного патча, в первую очередь интересует, сможет ли пропатченный unzip правильно определить кодировку, если архив был создан в линуксе в кодировке UTF-8, и одновременно без каких либо изменений настроек открывать виндовые архивы? То есть есть ли внем автоопределение кодировки? По коду патча я толком не понял.
|
|
|
|
| administrator
|
|
|
Posted: 24.01.10 03:09. Post subject: Я с Unicodом не проб..
Я с Unicodом не пробовал, но авто-определение есть и в теории должно работать, - если не будет, - пишите, исправим ;)
|
|
|
|
Posted: 02.02.10 00:15. Post subject: И все таки не получа..
И все таки не получается собрать, может подкините идею в какую сторону копать. Hidden text. Click here I have the following modifications for unzip.spec: ----------------------------------------------------------------- ----- building unzip.spec (user abuild) ----------------------------------------------------------------- ----------------------------------------------------------------- + exec rpmbuild -ba --define '_srcdefattr (-,root,root)' /usr/src/packages/SOURCES/unzip.spec Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.AG418X + umask 022 + cd /usr/src/packages/BUILD + cd /usr/src/packages/BUILD + rm -rf unzip-5.52 + /usr/bin/bzip2 -dc /usr/src/packages/SOURCES/unzip552.tar.bz2 + /bin/tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' + cd unzip-5.52 + /bin/chmod -Rf a+rX,u+w,g-w,o-w . + echo 'Patch (unzip.dif):' Patch (unzip.dif): + /bin/cat /usr/src/packages/SOURCES/unzip.dif + /usr/bin/patch -s -p1 --fuzz=2 + echo 'Patch #10 (unzip-5.52-ds-rusxmms.patch):' Patch #10 (unzip-5.52-ds-rusxmms.patch): + /bin/cat /usr/src/packages/SOURCES/unzip-5.52-ds-rusxmms.patch + /usr/bin/patch -s -p1 --fuzz=2 + echo 'Patch #11 (unzip-ds-unixenc.patch):' Patch #11 (unzip-ds-unixenc.patch): + /bin/cat /usr/src/packages/SOURCES/unzip-ds-unixenc.patch + /usr/bin/patch -s -p1 --fuzz=2 + /bin/cp /usr/src/packages/SOURCES/update_shared update_shared + sh update_shared + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.KhIFJ4 + umask 022 + cd /usr/src/packages/BUILD + /bin/rm -rf /usr/src/packages/BUILDROOT/unzip-5.52-143.x86_64 ++ dirname /usr/src/packages/BUILDROOT/unzip-5.52-143.x86_64 + /bin/mkdir -p /usr/src/packages/BUILDROOT + /bin/mkdir /usr/src/packages/BUILDROOT/unzip-5.52-143.x86_64 + cd unzip-5.52 + export 'RPM_OPT_FLAGS=-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fstack-protector' + RPM_OPT_FLAGS='-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fstack-protector' + make -f unix/Makefile LF2= linux_noasm make unzips CC=gcc LD="gcc -lrcc" CF=" -Wall -I. " make[1]: Entering directory `/usr/src/packages/BUILD/unzip-5.52' gcc -c -Wall -I. unzip.c gcc -c -Wall -I. crc32.c gcc -c -Wall -I. crctab.c gcc -c -Wall -I. crypt.c gcc -c -Wall -I. envargs.c gcc -c -Wall -I. explode.c gcc -c -Wall -I. extract.c gcc -c -Wall -I. fileio.c gcc -c -Wall -I. globals.c gcc -c -Wall -I. inflate.c gcc -c -Wall -I. list.c gcc -c -Wall -I. match.c gcc -c -Wall -I. process.c gcc -c -Wall -I. ttyio.c gcc -c -Wall -I. unreduce.c gcc -c -Wall -I. unshrink.c gcc -c -Wall -I. zipinfo.c gcc -c -Wall -I. unix/unix.c gcc -lrcc -o unzip unzip.o crc32.o crctab.o crypt.o envargs.o explode.o extract.o fileio.o globals.o inflate.o list.o match.o process.o ttyio.o unreduce.o unshrink.o zipinfo.o unix.o fileio.o: In function `rccUnzipFree': fileio.c:(.text+0x14): undefined reference to `rccFree' fileio.o: In function `rccUnzipInit': fileio.c:(.text+0x3f): undefined reference to `rccInit' fileio.c:(.text+0x5e): undefined reference to `rccInitDefaultContext' fileio.c:(.text+0x6d): undefined reference to `rccLoad' fileio.c:(.text+0x81): undefined reference to `rccInitDb4' fileio.o: In function `_DS_OEM_INTERN': fileio.c:(.text+0xe6): undefined reference to `rccSizedRecode' fileio.o: In function `_DS_ISO_INTERN': fileio.c:(.text+0x15e): undefined reference to `rccSizedRecode' collect2: ld returned 1 exit status make[1]: *** [unzip] Error 1 make[1]: Leaving directory `/usr/src/packages/BUILD/unzip-5.52' make: *** [linux_noasm] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.KhIFJ4 (%build) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.KhIFJ4 (%build)
|
|
|
|
|
| administrator
|
|
|
Posted: 04.02.10 18:38. Post subject: Хм. странно, все эти..
Хм. странно, все эти символы имеются в -lrcc. Ладно, может быть вы мне пришлете SPEC файл или даже лучше не собирающийся SRPM, а я попробую разобраться в чем дело.
|
|
|
|
Posted: 09.03.10 14:21. Post subject: Я залил SRPM сюда: h..
Я залил SRPM сюда: http://www.sendspace.com/file/celwn4 Пакет собирается и работает в openSUSE 11.1, но не компилируется в openSUSE 11.2. Есть подозрение, что это связано с версией GCC. В oS 11.1 версия 4.3, а в oS 11.2 -- 4.4. Посмотрите, пожалуйста.
|
|
|
|
| administrator
|
|
|
Posted: 10.03.10 05:24. Post subject: Поправил и собрал на..
|
|
|
|
Posted: 10.03.10 13:16. Post subject: Спасибо. Я смотрю, в..
Спасибо. Я смотрю, вы отключили некоторые флаги оптимизации. Но в таком виде пакет не пройдёт. Нельзя ли внести радикальные исправления? Дело в том, что русскоязычное сообщество openSUSE хочет продвинуть исправленный пакет unzip вместе с библиотеками rusxmms в официальный дистрибутив. А требования для собираемых пакетов довольно строгие. И ещё вопрос: перекодируются только русские имена или другие тоже?
|
|
|
|
| administrator
|
|
|
Posted: 10.03.10 17:29. Post subject: Для OpenSuSe можно в..
Для OpenSuSe можно вернуть дефолтовые флаги. Я их убрал, чтобы из одного SPECа собиралось и в Mandriva2010, где в числе флагов есть -Werror=format_security. А исходники unzip довольно не акуратны в этом плане. Т.е. если собирать только для OpenSuSe можно вернуть в SPEC flags="%optflags -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" и все будет работать. LibRCC работает с кучей языков. Мануально выставляя кодировки можно вообще с чем угодно работать. Авто-определение есть для России - Украины - ISO8859-1 через LibRCD, большинства восточно-европейских языков через Enca, и китайско-японско-корейского через LibGUESS.
|
|
|
|
| administrator
|
|
|
Posted: 10.03.10 17:34. Post subject: btw. Чем могу помогу..
btw. Чем могу помогу в плане продвижения. Если есть необходимость можете связаться со мной через Jabber: csa@dside.dyndns.org или ICQ: 79214249
|
|
|
|
Posted: 10.03.10 18:12. Post subject: Собираю с флагами: R..
Собираю пакет в openSUSE Factory (11.3), на перспективу. Собираю с флагами: RPM_OPT_FLAGS="%optflags -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" Нужна ли опция -D_LARGEFILE_SOURCE при наличии -D_LARGEFILE64_SOURCE? Вот параметры, которые передаются компилятору: gcc -c -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I. -DRCC_LAZY=1 В процессе компиляции вижу вывод: ... dsrecode.h: In function 'rccRecode2': dsrecode.h:38:1: warning: no return statement in function returning non-void ... и в итоге: I: Program returns random data in a function E: unzip no-return-in-nonvoid-function dsrecode.h:38 Сборка пакета завершена с ошибкой, и он отбрасывается как непригодный. Собирается без ошибки в openSUSE 11.2. Но та же ошибка при сборке в 11.1. Видимо, rpmlint по-разному заточен. Про языки понятно. К сожалению, LibGUESS тоже нет в официальном репозитории. Большое спасибо за помощь.
|
|
|
|
|
| administrator
|
|
|
Posted: 10.03.10 18:26. Post subject: Ок, dsrecode.h я сей..
Ок, dsrecode.h я сейчас поправлю, это не проблема. Что касается LibGUESS, то она 1) опциональна и можно пока забить 2) если надо будет я исходники в librcc положу и буду статически компилировать вместе с librcc так что не проблема.
|
|
|
|
Posted: 10.03.10 18:37. Post subject: Отлично! исходники ..
Отлично! quote: | исходники в librcc положу и буду статически компилировать вместе с librcc |
|
Это был бы наилучший вариант. Чем больше языков будет охвачено, тем больше шансов на включение в дистрибутив.
|
|
|
|
| administrator
|
|
|
Posted: 10.03.10 19:19. Post subject: Поправил патч. Тепер..
Поправил патч. Теперь собирается. Что касается LibGUESS, - я думаю мы вполне можем говорить, что дальне-восточные языки поддерживаются (по крайне мере на мануальном уровне), но, до появления первого заинтересованого лица, я не хочу включать libguess внутрь, т.к. не могу полноценно проверить ;)
|
|
|
|
Posted: 11.03.10 12:38. Post subject: Да. Теперь компилиру..
Да. Теперь компилируется без ошибок. Но есть проблема. Версия под x86_64 не работает. В dsrecode.h жёстко прописан путь: rcc_handle = dlopen("/usr/lib/" RCC_LIBRARY, RTLD_NOW); А библиотека в lib64. А shared-версию никак не получится реанимировать? Это было бы предпочтительнее.
|
|
|
|
| administrator
|
|
|
Posted: 11.03.10 15:33. Post subject: На самом деле shared..
На самом деле shared версия создает проблемы в некоторых случаях. Например, при сборке openoffice. Они там в своих скриптах запускают unzip в каком-то хитром chroot environmentе где unzip не имеет доступа к librcc.so.0 Я лучше добавлю определение правильного пути.
|
|
|
|
| administrator
|
|
|
Posted: 11.03.10 20:47. Post subject: 1. Выложил исправлен..
1. Выложил исправленный патч. 2. Я тут подумал, что этот эффект возможно имеет место быть только в Gentoo и в SuSe можно и просто слинковать (я бы таки не стал для надежности). Тогда надо просто не definить RCC_LAZY и линковать с -lrcc. Т.е. строчку make в spec файле поменять на: make %{?jobs:-j%jobs} -f unix/Makefile LF2="-ldl -lrcc" LOCAL_UNZIP="" linux_noasm
|
|
|
|
Posted: 11.03.10 21:06. Post subject: Спасибо. Пожалуй, дл..
Спасибо. Пожалуй, для надёжности не будем линковать.
|
|
|
|
| administrator
|
|
|
Posted: 11.03.10 21:40. Post subject: Кстати, unzip-6 имее..
Кстати, уже есть unzip-6 и патч от 5.52 подходит
|
|
|
|
Posted: 11.03.10 22:45. Post subject: Наши мейнтейнеры пок..
Наши мейнтейнеры пока не обновляют. Уж не знаю, почему. Зато патчами обвешали как новогоднюю ёлку. :) Сейчас всё собирается нормально. unzip, mc и графический Ark отображают русские имена правильно. Но файловые менеджеры Dolphin и Krusader открывают архив как директорию, и там имена не перекодированы. Буду ещё разбираться.
|
|
|
|
| administrator
|
|
|
Posted: 11.03.10 22:55. Post subject: А они точно через un..
А они точно через unzip работают? Могут через 7-zip, например (тоже есть патч) или какую либу.
|
|
|
|
|
Posted: 11.03.10 23:10. Post subject: Не через 7-zip точно..
Не через 7-zip точно. В Krusader в настройках unzip указан. Попробую shared-версию собрать и посмотреть.
|
|
|
|
Posted: 12.03.10 13:42. Post subject: Собрал, всё-таки, sh..
Собрал, всё-таки, shared-версию. В спеке написал комментарии, что можно использовать динамически подгружаемую библиотеку. В процессе тестирования прояснится, что лучше. Два патча объединил в один, т. к. патчится один и тот же файл unzpriv.h. В плане отображения в файловых менеджерах ничего не изменилось. Но Krusader распаковывает с правильным именем, хоть и показывает ерунду. В общем, пользоваться можно. Спасибо.
|
|
|
|
Posted: 14.03.10 16:52. Post subject: Вот, кстати, в тему:..
Вот, кстати, в тему: https://bugzilla.novell.com/show_bug.cgi?id=575715 rcc-сборка unzip тоже коряво имя файла показывает.
|
|
|
|
| administrator
|
|
|
Posted: 14.03.10 22:10. Post subject: Проверил, патченный ..
Проверил, патченный unzip правильно работает если все правильно сконфигурировано. Я так понимаю это чешский, т.е. для автоопределения 1) в конфигурации rcc долежн присутсвовать чешский язык: quote: | <Language name="cs"> <Charsets> <Charset>CP1250</Charset> <Charset>UTF-8</Charset> <Charset>ISO-8859-2</Charset> <Charset>IBM852</Charset> <Charset>MACCENTRALEUROPE</Charset> <Charset>CSKOI8R</Charset> </Charsets> </Language> |
| 2) Для авто-определения librcc должна быть собрана с поддержкой enca и библиотека enca должна быть доступна в момент запуска. Проверить можно с помощью утилиты rcc-gtk-config (или rcc-gtk2-config). Для чешского языка Engine будет выставлен в "Enca" если библиотека доступна для использования. 3) Система должна работать в чешской локали (как минимум LC_CTYPE) или чешский язык должен быть выставлен по умолчанию в конфигурации rcc. Альтернативно можно включить авто-определение языков, для этого librcc должна быть скомпилирована с aspell и чешские словари aspell должны быть инсталированы (данная фича тестировалась на скорую руку и могут быть проблемы). 4) Локаль файловой системы должна быть правильно выставлена в конфигурации rcc (на UTF-8 или используемую однобайтную чешскую локаль) Если все эти пункты выполняются, то unzip с патчем нормально открывает данный архив.
|
|
|
|
| administrator
|
|
|
Posted: 14.03.10 22:25. Post subject: Btw. Я думаю в том б..
Btw. Я думаю в том баге неплохо отписаться, что у нас решение есть. И, мне кажется, поскольку пакеты под suse ваши будет лучше если это сделаете вы.
|
|
|
|
Posted: 14.03.10 22:50. Post subject: Попробую разобраться..
Попробую разобраться у себя с настройками и отпишу там, конечно. Добавлено: Забыл такой момент, что в сюзе 11.1 собирается без enca, т. к. её нет в репозитории. Поэтому, видимо, и не отображает правильно. Посмотрю в Factory. А конфиг именно такой и есть.
|
|
|
|
| administrator
|
|
|
Posted: 14.03.10 22:56. Post subject: Btw. В /etc/rcc.xml ..
Btw. В /etc/rcc.xml который в текущем пакете есть ошибка. Перепутан двух-буквенный код Чехии. Использовано cz вместо cs. Т.е. может показаться, что чешский там внутри сконфигурирован, но это не так. Надо поправить на
|
|
|
|
Posted: 14.03.10 23:07. Post subject: Да. Похоже, работает..
Да. Похоже, работает. Конфиг исправил, сделаю патч. 22:05 kent@lazy ~/download % LANG=cs_CZ.utf8 22:05 kent@lazy ~/download % unzip -l attachment.zip Archive: attachment.zip Length Date Time Name -------- ---- ---- ---- 22 01-21-10 00:16 příliš žluťoučký kůň.mně -------- ------- 22 1 file Правильно отображает? Google говорит, что это "Слишком žluťoučký лошадь" :)
|
|
|
|
| administrator
|
|
|
Posted: 14.03.10 23:11. Post subject: Кажись, правильно ;)..
Кажись, правильно ;)
|
|
|
|
Posted: 10.05.10 21:05. Post subject: Борьба за unzip идёт..
Борьба за unzip идёт не на жизнь, а на смерть. Пока 0:1 не в нашу пользу. Но мы не сдаёмся. https://bugzilla.novell.com/show_bug.cgi?id=540598
|
|
|
|
|
Posted: 12.05.10 10:02. Post subject: Возникли какие-то сл..
Возникли какие-то сложности с украинскими именами. В UTF-8, похоже, неправильно отображается. 1. unzip собранный с библиотекой % unzip -l ua-UTF-8.zip Archive: ua-UTF-8.zip Length Date Time Name -------- ---- ---- ---- 0 05-11-10 22:33 ua-UTF-8/ 5 05-11-10 22:33 ua-UTF-8/ҐґЄєІіЇї.txt -------- ------- 5 2 files 2. unzip обычный % unzip -l ua-UTF-8.zip Archive: ua-UTF-8.zip Length Date Time Name -------- ---- ---- ---- 0 05-11-10 22:33 ua-UTF-8/ 5 05-11-10 22:33 ua-UTF-8/ҐґЄєІіЇї.txt -------- ------- 5 2 files Тестовый файл находится здесь: http://www.sendspace.com/file/eg7zmn Там ещё вопрос по некоторым русским кодировкам.
|
|
|
|
| administrator
|
|
|
Posted: 12.05.10 17:13. Post subject: Я посмтрел testzip.s..
Я посмтрел testzip.sh, который в архиве и там с троке ua="...." некоректный unicode. Если я копирую вместо той строки тоже самое, что в ru, то все нормально открывается во всех кодировках.
|
|
|
|
Posted: 12.05.10 17:58. Post subject: Да. Всё верно. Помен..
Да. Всё верно. Поменял текст, и всё читается. А то я уже испугался. Знаю, что должно работать. Спасибо.
|
|
|
|
Posted: 12.05.10 22:21. Post subject: Ситуация, однако, не..
Ситуация, однако, не такая простая. С полной строкой украинского алфавита всё работает. "абвгґдеєжзиіїйклмнопрстуфхцчшщьюяАБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ" Если оставить только уникальные буквы, то приходим к случаю с невосприятием, описанному в моём утреннем сообщении. Начинаю добавлять кириллические буквы в эту строчку. В какой-то момент перекодировка/отображение начинает срабатывать правильно. Этот порог, похоже, -- равное количество тех и других букв, я точно пока не проверил.
|
|
|
|
| administrator
|
|
|
Posted: 12.05.10 22:29. Post subject: А можешь прислать пр..
А можешь прислать пример, когда срабатывает не правильно. С другой стороны неправильное срабатывание вполне возможно, поскольку алгоритм распознования ориентирован на стандартные слова. Если задавать просто случайный набор букв, то он вполне может не работать. Но реально-то используются, - слова, так что это проблем не создает.
|
|
|
|
Posted: 12.05.10 23:31. Post subject: Да я вот тоже утешаю..
Да я вот тоже утешаю себя, что не должно быть таких имён файлов. В общем, будем ждать багрепортов (если вдруг), а до того не напрягаться.
|
|
|
|
Posted: 22.05.10 21:38. Post subject: Включили патч в Fact..
Включили патч в Factory. Если всё пойдёт нормально, то будет в релизе openSUSE 11.3. Теперь рассматривается вопрос о включении в текущую версию, 11.2. OpenOffice.org собирается нормально, насколько я могу судить. Надеюсь, с остальным тоже проблем не будет.
|
|
|
|
Posted: 22.06.10 18:53. Post subject: Будет обновление для..
|
|
|
|
Posted: 22.06.10 18:57. Post subject: Версия 5.22 нормальн..
|
|
|
|
| administrator
|
|
|
Posted: 27.06.10 09:53. Post subject: Сори я в отпуске, бе..
Сори я в отпуске, без компьютера, - посмотрю в конце недели.
|
|
|
|
|
| administrator
|
|
|
Posted: 01.07.10 17:34. Post subject: Хм. А у меня вроде с..
Хм. А у меня вроде с 6.0 все нормально. Ты не можешь выложить эти два проблемных файла, я именно их попробую?
|
|
|
|
| administrator
|
|
|
Posted: 01.07.10 17:47. Post subject: МGankov пишет: Реши..
|
|
|
|
Posted: 01.07.10 17:59. Post subject: darksoft пишет: Ты ..
darksoft пишет: quote: | Ты не можешь выложить эти два проблемных файла, я именно их попробую? |
| Да файлы любые с русским именем в архиве. То есть, русский язык вообще не распознаёт. unzip я собираю из этого проекта: https://build.opensuse.org/package/show?package=unzip&project=Archiving Это то, что пойдёт в следующий (после 11.3) релиз сюзи.
|
|
|
|
| administrator
|
|
|
Posted: 06.07.10 18:43. Post subject: Так, это глюк не в п..
|
|
|
|
Posted: 07.07.10 18:08. Post subject: Спасибо. Так работае..
Спасибо. Так работает. Отписал багрепорт в новелловскую багзилу с приложением патча. Насчёт разработчиков unzip, тут я бессилен, т. к. не владею вопросом, особенно на английском языке.
|
|
|
Replys - 46
, page:
1
2
3
All
[new only]
|
|