В данный момент ссылка %_libdir/libGL.so.1 ведёт на %_x11sysconfdir/lib/libGL.so.1. Из-за явного "lib" на обоих архитектурах mesa нельзя нормально отбиарчить. Предлагаю в этом месте использовать %_x11sysconfdir/%_lib/ и дополнительно поменять helper'ы в /usr/libexec/X11/drv*.d чтобы они обрабатывали и lib и lib64 на обоих архитектурах (о чём будут развешаны дополнительные баги).
о каком биарче речь?
Архитектура x86_32, пакет arepo. Сейчас /etc/X11/lib/libGL.so.1 не попадает в пакет i586-libmesa потому как присутствует в бинарных пакетах обоих архитектур. Я попробую это зафиксить у себя в git и выложу результат на people.
а что на что ты там планируешь переключать?
То же, что и сейчас, libGL.so.1. Только 64-bit отдельно, 32-bit отдельно. В общем подожди немного. А я ищу добровольца с x86_64 Sisyphus и XOrg'овым glx (не fglrx и не nvidia).
да я и не спешу. 1. я не сказал что буду это делать 2. поддерживать x86_32 я точно не буду
(In reply to comment #4) > А я ищу добровольца с x86_64 Sisyphus и XOrg'овым glx Тебя на стенд с ati запустить?
Люди говорят работает. Патч по ссылке (изменения только в spec'е).
а как по твоему должен работать /usr/libexec/X11/drv.d/x11
Обновлять оба линка независимо от архитектуры. См. такж. bug #16227.
А может, разнести /usr/libexec/X11/drv.d/ в /usr/lib{,64}/X11/drv.d/ ?
Те же яйца, только вид сбоку. Симлинков (libGL.so.1 -> xxx/libGL.so.1) один или два (32 или 32 и 64 bit). Скрипт, который их обновляет один (x11updatedrv). Надо либо научить drv.d/* обновлять эти "один или два" симлинка (как я предложил первый раз), либо научить x11updatedrv запускать "один или два" drv.d/XXX. Из-за nvidia_glx я начинаю склоняться ко второму варианту. А сделать разные drv.d/XXX можно и средствами arepo.
(In reply to comment #11) > первый раз), либо научить x11updatedrv запускать "один или два" drv.d/XXX. > Из-за nvidia_glx я начинаю склоняться ко второму варианту. > А сделать разные drv.d/XXX можно и средствами arepo. Я о том же. Только, поизвращаюсь сначала с drv.d/nvidia , т.к. лучше без arepo, конечно же. 2 shrek: Будет ли достаточно проверки на существование каталога /etc/X11/lib64 для определения, что включилась новая схема? Как думаешь?
давайте проще. /usr/libexec/X11/drv.d/чтототам будет проверять наличие файлов/каталогов lib/lib64 и симлинкать соответственно
*** Bug 16227 has been marked as a duplicate of this bug. ***
Т.е. возвращаемся к первому варианту? Что-то типа: for LIB in lib lib64; do [ -d "/etc/X11/$LIB" ] || continue ln -sf ...../libFOO.so.X "/etc/X11/$LIB/libFOO.so.X" ... done
ну еще и наличие файлов проверять
(In reply to comment #13) > давайте проще. /usr/libexec/X11/drv.d/чтототам будет проверять наличие > файлов/каталогов lib/lib64 и симлинкать соответственно Нет, это ошибка. У меня в данный момент на 4.1/branch есть файлы в /usr/lib и /usr/lib64, но ссылки в /etc/X11/lib64 создавать нельзя. Нужно проверять, произошел ли переход на новую схему. Например на наличие каталога /etc/X11/lib64 (или еще каким-то способом). Это можно делать только на x86_64. Проверку на наличие библиотек в /usr/lib нужно делать только на x86_64 и это уже несколько другая тема. Она касается только окончательной работоспособности программ в drv.d/*
А так же, все изменения _с_проверками_ нужно сделать везде до перехода на новую схему пакета, содержащего /usr/lib{,64}/libGL.so.1, т.е. libmesa Тогда переход будет прозрачен.
(In reply to comment #17) > (In reply to comment #13) > > давайте проще. /usr/libexec/X11/drv.d/чтототам будет проверять наличие > > файлов/каталогов lib/lib64 и симлинкать соответственно > Нет, это ошибка. У меня в данный момент на 4.1/branch есть файлы в /usr/lib и /usr/lib64, но > ссылки в /etc/X11/lib64 создавать нельзя. что мешает создать ссылки в /etc/X11/lib64 если будет /etc/X11/lib и /etc/X11/lib64
(In reply to comment #19) > что мешает создать ссылки в /etc/X11/lib64 если будет > /etc/X11/lib и /etc/X11/lib64 то, что на x86_64 ссылки, лежащие в /etc/X11/lib будут ошибочно указывать не в /usr/lib64
(In reply to comment #19) > что мешает создать ссылки в /etc/X11/lib64 если будет > /etc/X11/lib и /etc/X11/lib64 Для пакета libmesa ничего не мешает. В нем не нужно делать проверок, только поставить конфликты на всякие fglrx_glx и nvidia_glx_common, в которых проверка на новую схему еще не сделана
так я про mesa и говорю, всякие fglrx_glx и nvidia_glx_common мне до лампочки
(In reply to comment #21) > поставить конфликты на всякие fglrx_glx и nvidia_glx_common, > в которых проверка на новую схему еще не сделана Т.е. именно подождать, пока везде появиться и только тогда конфликт c *_glx* < клевая-версия-релиз и только после этого новый libmesa отправлять в Сизиф.
(In reply to comment #22) > всякие fglrx_glx и nvidia_glx_common мне до лампочки Это ошибка.
это ошибка в fglrx_glx и nvidia_glx_common, которую я не могу исправить
(In reply to comment #25) > это ошибка в fglrx_glx и nvidia_glx_common, которую я не могу исправить Блин! Я только что разжевал, как тебе исправить эту твою ошибку.
(In reply to comment #12) > 2 shrek: > Будет ли достаточно проверки на существование каталога /etc/X11/lib64 для > определения, что включилась новая схема? Если у кого-то стоит fglrx, который успел нагадить в /etc/X11/lib64, то не подходит. Как однозначно определить переход на /etc/X11/lib64 ?
не знаю. не изобретай велосипеды, обновляй оба каталога при наличии файлов в lib и lib64
(In reply to comment #28) > не знаю. не изобретай велосипеды, обновляй оба каталога при наличии файлов в > lib и lib64 У меня в данный момент на x86_64 4.1/branch есть файлы в lib и lib64. 3D в cedega работает. Представь, что я собрал и установил новый nvidia_glx (в чем я лично не вижу никаких проблем, если он будет правильно работать). Перечисли конкретно весь список, какие файлы куда и откуда линковать?
для branch4.1 делать это я не планирую (во всяком случае пока). это быдет в mesa-7.1/xorg-server-1.5. что и куда линковать - когда сделаю, пришлю коменты и посмотришь
(In reply to comment #30) > для branch4.1 делать это я не планирую Я и не прошу. Ответь на мой вопрос.
(In reply to comment #31) > Ответь на мой вопрос. В общем, забей. Я буду проверять переход на новую схему по наличию каталога /etc/X11/lib64 А кто его без просу создаст, тому по шапке. 2 lakostis: Смотри, чтоб в 4.1 Desktop опять не напортить. И не говори, что кто-нибудь тебя с толку сбил.
(In reply to comment #32) > (In reply to comment #31) > > Ответь на мой вопрос. > В общем, забей. > Я буду проверять переход на новую схему по наличию каталога /etc/X11/lib64 > А кто его без просу создаст, тому по шапке. > 2 lakostis: > Смотри, чтоб в 4.1 Desktop опять не напортить. И не говори, что кто-нибудь тебя с > толку сбил. > Мне пофиг. И тот патч не мой, а raorn@ ;)
(In reply to comment #33) > Мне пофиг. И тот патч не мой, а raorn@ ;) А голова чья? ;-)
http://git.altlinux.org/people/shrek/packages/?p=mesa.git;a=commitdiff;h=106c971f99308d4f0447e89a43e0212ccee4f4b0 http://git.altlinux.org/people/shrek/packages/?p=xorg-server.git;a=commitdiff;h=eab327181d5d7082cd69d5ba37f33a6b40b0b866
Только не забудь, что конфликты нужно поставить на *_glx* <= последняя_версия_без_etc64, иначе поломается как-минимум 3D. Версию nvidia_glx_common я сообщу в понедельник. Потестить нужно на всякий.
Conflicts: nvidia_glx_common <= 173.14.12-alt47 Именно так, как написано.