[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