[devel] xterm update: need help
Dmitry V. Levin
=?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Вс Ноя 12 18:41:01 MSK 2006
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
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20061112/c19d1a3a/attachment-0001.bin>
Подробная информация о списке рассылки Devel