Hi, On Sun, Nov 12, 2006 at 09:02:34PM +0600, Slava Semushin wrote: > Собираюсь обновить xterm c версии 211 до последней 222. Есть некоторое > количество вопросов. Такие вопросы лучше задавать в devel - кто-то поможет с ответом, кому-то будет просто полезно прочитать обсуждение. > 1) Patch2: xterm-202-alt-metaaltfix.patch не хочет накладываться. > Из-за того, что его писал не я и каких-либо описаний его работы и > вообще зачем он нужен, то я не могу понять, что в точности нужно > изменить и вообще нужно ли. Посмотрите https://bugzilla.altlinux.org/show_bug.cgi?id=595, может станет яснее. [...] > 2) Все ли сборочные зависимости реально нужны? > > BuildPreReq: alternatives groff-base imake libXaw-devel > libXft-devel libncurses-devel libutempter-devel libxkbfile-devel > xorg-cf-files > > Мне почему-то кажется, что тут что-нибудь да можно удалить :) При обновлении версии имеет смысл это проверить. > 3) %setup -q > -install -pm755 %_sourcedir/uxterm . > +install -pm755 %SOURCE5 . > > Наскольно я понял эти строчки эквивалентны. Я заменил на ту, > которая мне показалось более близкой и понятной. Мне более близкой и понятной является первая (%_sourcedir/uxterm), поскольку не зависит от номера %SOURCE. > 4) %build > -chmod -R u+w . > > Не понял замысла. Зачем для всех файлов давать владельцу права на > запись? Раньше с этим были проблемы? Я посмотрел права всех файлов > в тарболле и для всех них запись владельцу разрешена. Когда-то столкнулся с этой проблемой. С переходом на gear этот chmod теряет смысл. > 5) -export ac_cv_path_XTERM_PATH=%_x11bindir/%name > +export ac_cv_path_XTERM_PATH=%_bindir/%name > > Я во всём спеке заменил макросы %_x11([a-z]+)dir на%_([a-z]+)dir. Для bindir и mandir это нормально. > Но к этой строчке есть другой вопрос: зачем? Правильно ли я > понимаю, что это отключается поиск xterm при сборке? Т.е. мы таким > образом хотим обмануть configure скрипт и избавится от xterm в > списке зависимостей? Так? Или я что-то неверно понял? Раньше поиск xterm'а приводил к добавлению xterm'а в сборочные зависимости при запуске buildreq'а. Кроме того, местонахождение xterm'а в сборочной среде не должно влиять на результат сборки. Сейчас, когда xterm в сборочной среде не встречается, не так актуально как раньше. Проверьте по configure. > > 6) --enable-dec-locator \ > - --enable-freetype \ > --enable-narrowproto \ > - --disable-full-tgetent \ > - # > + --disable-full-tgetent > + --disable-echo > + > > Вопросы: > > а) зачем нужен --enable-dec-locator? Хочу отключить. Из configure > --help его назначения не понял. Можете проверить использование OPT_DEC_LOCATOR по исходному коду. Нужно для лучшей совместимости с VTшками. Если не знаете, то оставьте в покое. > б) я убрал флаг --enable-freetype. Насколько понял он итак уже > включается по умолчанию. Раньше это было не так. > в) зачем знак диеза на пустой строчке? Убрал. Есть подозрение, что > чтобы в будущем было проще добавлять новые опции для configure? > Ну так это не столь и трудно. Кому как. :) > г) нашел опцию --disable-echo и включил её. Теперь вместо кучи > команд компиляции показыается лишь compiling $имя_файла. Думаю, > что так более лучше: меньше неинформативных сообщений, лучше > видны варнинги. (обычно я использую --silent > --no-print-directory для достижения этих целей). Мне было важно видеть параметры компиляции. А предупреждения легко видно по ключевому слову "warning:". > 7) -%make_install install \ > - bindir=%buildroot%_x11bindir \ > - mandir=%buildroot%_x11mandir/man1 \ > - appsdir=%buildroot%_sysconfdir/X11/app-defaults \ > - # > +%make_install --silent --no-print-directory install \ > + bindir=%buildroot%_bindir \ > + mandir=%buildroot%_mandir/man1 \ > + appsdir=%buildroot%_sysconfdir/X11/app-defaults > > Хочется поубирать эти bindir=, mandir=, appsdir=. Что само оно > корректно не может установиться? Тогда зачем для appsdir мы опцию > для configure указываем, если всё равно здесь повторно и насильно > говорим куда ставиться? А вы проверьте. Раньше с этим были проблемы. > 8) -%__subst -p 's,@xterm@,%_x11bindir/xterm,g' > %buildroot%_menudir/%name > +%__subst -p 's,@xterm@,%_bindir/xterm,g' %buildroot%_menudir/%name > > А зачем заменять в menu-файле путь на полный? Мне кажется проще > было бы поправить menu-файл и всё. Могу я так сделать? Сейчас не нужно указывать путь к xterm'у в menu-файле. > 9) При сравнении файлов в rpm-ках для 211 и 222 заметил что уехала > иконка: > > -/usr/share/icons/hicolor/32x32/apps/xterm-terminal.xpm > +/usr/share/icons/xterm-terminal.xpm > > Кажется, ничего не должно сломаться. Это нормально. Не знаю. > 10) Вижу: > > %make_build all ctlseqs.txt LDFLAGS=-Wl,--as-needed > > а) можно ли убрать LDFLAGS=-Wl,--as-needed Оно ведь вроде у нас > включено по умолчанию? Да, сейчас можно убрать. > б) зачем указывать цели all и ctlseqs.txt ? Хочется убрать :) А вы посмотрите в Makefile.in :) > 11) -find -type f -name \*.orig -delete -print > > Я удалил эту строчку из спека. Я так понимаю, она ищет файл .orig, > оставшиеся после наложения патчей и удаляет эти файлы выводя их > названия. Да. > В моей сборке таких файлов не появляется: я полностю > подогнал все патчи под ноую версию: нет ни hunk'ов, ни fuzz'ов. К > тому же я использовал patch вместо %patch и тогда все > предупреждения при наложении патчей видны. Мне кажется это удобным > и я не понимаю, почему rpm использует ключ -s для patch > поумолчанию. Может это изменить? Я могу FR повесить.. Повесьте, обсудим. -- ldv