| Summary: | Значения макросов %_x11* с новым xorg | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Sergey V Turchin <zerg> |
| Component: | rpm-build | Assignee: | placeholder <placeholder> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P2 | CC: | arseny, glebfm, imz, ldv, mike, placeholder, rider, shrek, vsu, vt |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
| Bug Depends on: | |||
| Bug Blocks: | 8824 | ||
|
Description
Sergey V Turchin
2006-01-11 18:17:04 MSK
А должны ли? по моему нет (In reply to comment #1) > А должны ли? У меня в пакете, не имеющем сборочной завистмости на x11 необходимо знать, где находятся библиотеки, драйвера и модули. Это я могу узнать только из макросов я думаю тебе нужен всего один макрос - %_x11modulesdir, который может
быть /usr/X11R6/{lib,lib64}/modules для Xorg <= 6.9
и /usr/{lib,lib64}/X11/modules для Xorg >= 7.0
(In reply to comment #4) > я думаю тебе нужен всего один макрос - %_x11modulesdir, который может Еще мне нужен %_x11libdir, чтобы знать, где лежат библиотеки, например libGL.so.1 хм... ну его то точно пора устанавливать в /usr/lib (In reply to comment #6) > хм... ну его то точно пора устанавливать в /usr/lib Я не могу при сборке пакета спрашивать через bugzilla :-) (In reply to comment #1) > А должны ли? А зачем они тогда? (In reply to comment #7) > Я не могу при сборке пакета спрашивать через bugzilla :-) Это я не в тему :-) (In reply to comment #4) > я думаю тебе нужен всего один макрос - %_x11modulesdir, который может А еще мне нужен либо макрос, при помощи которого я определю положение каталога drv.d - %_x11x11dir а давай обойдемся без этого. пусть он будет /etc/X11/drv.d, том все равно лежат симлинки (In reply to comment #11) > а давай обойдемся без этого. пусть он будет /etc/X11/drv.d, том все равно > лежат симлинки У меня бинарь, его низя в /etc и не надо. симлинк на него можно Т.е. /usr/*/drv.d больше не существует? /usr/X11R6/lib/drv.d для 6.9, /usr/lib/X11/drv.d для 7.0. /etc/X11/drv.d я предлагаю для того что об этом не думать (In reply to comment #15) > /usr/X11R6/lib/drv.d для 6.9, /usr/lib/X11/drv.d для 7.0. /etc/X11/drv.d я > предлагаю для того что об этом не думать Я не хочу зависеть от вышеуказанных цифр. Мы уже договаривались, что будет /usr/X11R6/lib/drv.d, но если он вылетает, остается /etc/X11/drv.d так я о чем и говорю. что бы не зависеть давай использовать /etc/X11/drv.d есть ещё libexec, так что можно не заморачиваться.. Зерг, просто перенеси свой бинарь в %_libdir/x11drv.d (например) и не заморачивайся Макрос для этого почти наверняка не нужен (у нас всего три таких пакета странных). %_libdir/X11/drv.d или /usr/libexec/X11/drv.d второе даже предпочтительнее (In reply to comment #18) > Макрос для этого почти наверняка не нужен Тогда нужно выбрать такой каталог, который _никогда_ не будет меняться /usr/libexec/X11/drv.d (In reply to comment #19) > %_libdir/X11/drv.d А что будет, если пакет, имеющий 2 файла /usr/X11R6/drv.d/file и /usr/lib/X11/drv.d/file поставить на xorg < 7 > или /usr/libexec/X11/drv.d > второе даже предпочтительнее Да бинарь-то я положу уж куда-нибудь. (In reply to comment #21) > /usr/libexec/X11/drv.d Т.е. теперь setgl и x11setupdrv там искать будут? да хоть три файла будут разложены. x11setupdrv ищет в одном месте, то которое укажешь в configure при сборке (In reply to comment #24) > да хоть три файла будут разложены. > x11setupdrv ищет в одном месте, то которое > укажешь в configure при сборке Да мне все равно, как он собирается. В какой каталог положить, чтоб его нашли? И %_x11* я могу не пользовать, только буду удалять /usr/X11R6/lib/libGL.so.1 каждый раз на всякий (могу до кучи и создавать его потом, но до смены видеокарты). /usr/libexec/X11/drv.d (In reply to comment #26) > /usr/libexec/X11/drv.d Дубль 2: setgl и x11setupdrv там искать будут или в /etc/X11/drv.d? setgl не знаю. x11setupdrv уже ищет в /usr/libexec/X11/drv.d (In reply to comment #28) > setgl не знаю. x11setupdrv уже ищет в /usr/libexec/X11/drv.d ok, договорились А про /etc/X11/drv.d можно забыть, как я понял? i810 там отсутствует, значит setgl про этот каталог не знает Итак, до сих пор у нас было так:
$ rpm --showrc |fgrep x11
-14: _x11bindir %{_x11dir}/bin
-14: _x11datadir %{_x11dir}/share
-14: _x11dir %{_prefix}/X11R6
-14: _x11fontsdir %{_x11x11dir}/fonts
-14: _x11includedir %{_x11dir}/include
-14: _x11libdir %{_x11dir}/%_lib
-14: _x11mandir %{_x11dir}/man
-14: _x11x11dir %{_x11dir}/lib/X11
Как это должно измениться?
%_x11datadir %_datadir/X11 %_x11libdir %_libdir что делать с остальными не знаю (In reply to comment #25) > только буду удалять /usr/X11R6/lib/libGL.so.1 каждый раз на всякий Эта... только проверив, что он -- симлинк. Бывает ещё бинарь ручной работы, лучше лишнего не ломать. (In reply to comment #32) > (In reply to comment #25) > > только буду удалять /usr/X11R6/lib/libGL.so.1 каждый раз на всякий > Эта... только проверив, что он -- симлинк. Нет, файл мне там точно не нужен. > Бывает ещё бинарь ручной работы, лучше лишнего не ломать. Бинари ручной работы в любом случае идут лесом если установлен пакет nvidia_glx_common Альтернативный вариант - запаковать, скажем, в составе пакета xorg-x11-proto-devel новые версии макросов, которые будут перекрывать встроенные в rpm-build. Этот вариант лучше в случае, когда окончательного решения по макросам нет. Да и для обратной совместимости лучше. (In reply to comment #34) > xorg-x11-proto-devel новые версии макросов Вообще, неплохо. (правда я в своем проблемном пакете перестал пользоваться %_x11*, чтоб не зависеть от этих плясок) > Да и для обратной совместимости лучше. Сделать пакет, который будет собираться и на текущем сизифе и на Compact-3.0 вряд ли получиться без сильного изврата. (In reply to comment #35) > (In reply to comment #34) > > xorg-x11-proto-devel новые версии макросов > Вообще, неплохо. (правда я в своем проблемном пакете перестал пользоваться значит так и сделаю > %_x11*, чтоб не зависеть от этих плясок) > > > Да и для обратной совместимости лучше. > Сделать пакет, который будет собираться и на текущем сизифе и на > Compact-3.0 вряд ли получиться без сильного изврата. это верно если возражений нет то я добавлю следующее
%_x11dir %{_prefix}
%_x11bindir %{_bindir}
%_x11libdir %{_libdir}
%_x11x11dir %{_datadir}/X11
%_x11includedir %{_includedir}
%_x11mandir %{_mandir}
%_x11datadir %{_datadir}
%_x11fontsdir %{_datadir}/X11/fonts
%_x11modulesdir %{_libdir}/X11/modules
%_x11drvddir %{_prefix}/libexec/X11/drv.d
А /usr/lib/X11 ? %_x11x11dir %{_libdir}/X11
%_x11x11datadir %{_datadir}/X11
Может так?
%_x11x11dir был noarch, поэтотму оно и переехать должно в %{_datadir}/X11
поэтому лучше так
%_x11x11dir %{_datadir}/X11
%_x11x11libdir %{_libdir}/X11
Я не против. Окончательный список еще раз на всякий целиком напиши. %_x11dir %{_prefix}
%_x11bindir %{_bindir}
%_x11libdir %{_libdir}
%_x11x11libdir %{_libdir}/X11
%_x11x11dir %{_datadir}/X11
%_x11includedir %{_includedir}
%_x11mandir %{_mandir}
%_x11datadir %{_datadir}
%_x11fontsdir %{_datadir}/X11/fonts
%_x11modulesdir %{_libdir}/X11/modules
%_x11drvddir %{_prefix}/libexec/X11/drv.d
да, еще
%_x11sysconfdir %{_sysconfdir}/X11
%_x11appconfdir %{_sysconfdir}/X11/app-defaults
Похоже, новые макросы неплохо работают? В rpm-build их скопировать или пока оставить как есть? скопируй (In reply to comment #44) > Похоже, новые макросы неплохо работают? Вообще, вылазят штуки типа автоизменившейся альтернативы /usr/X11R6/bin/xvt у меня и не изменившейся в некоторых других пакетах. Правда не знаю, от того, что не пересобирались или из-за использования разных макросов. > В rpm-build их скопировать или пока оставить как есть? #c0 В 4.0.4-alt60 обновил все %_x11*dir макросы на те, которые в xorg-x11-proto-devel-7.0.0-alt5. а то что новое появилось не добавлял? Я взял всё содержимое файла x11r7.rpmmacros и заменил им то, что было раньше. тогда я уберу макросы из xorg-x11-proto-devel Подожди недельку. ну это будет в любом случае не сейчас. я только сегодня закинул alt6 |