Summary: | Versionize /etc/X11/lib directory | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Sir Raorn <raorn> |
Component: | libmesa | Assignee: | Valery Inozemtsev <shrek> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | enhancement | ||
Priority: | P2 | CC: | anubix, boris, evg, lakostis, lav, led, mike, sr, zerg |
Version: | unstable | Keywords: | patch |
Hardware: | all | ||
OS: | Linux | ||
URL: | http://git.altlinux.org/people/raorn/packages/?p=mesa.git;a=shortlog;h=refs/heads/biarch | ||
Bug Depends on: | |||
Bug Blocks: | 16227, 16228, 16229, 27263 |
Description
Sir Raorn
2008-06-27 15:05:59 MSD
о каком биарче речь? Архитектура 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 Именно так, как написано. |