While updating Compact 2.3 to current Sisyphus it was observed that: - old /etc/ld.so.conf was left intact; - /etc/ld.so.conf.rpmnew contained "include /etc/ld.so.conf.d/*.conf". This behaviour, although compatible with local administrator's changes, may break (and it did) dist-upgrades when subsequent package installs rely on their /etc/ld.so.conf.d/* being processed. Proposal: check (trigger or just a grep in %post) that include is absent in /etc/ld.so.conf and if so, add just that line (maybe also warn on stderr).
Предлагаю: %post grep -q '^include /etc/ld\.so\.conf\.d/\*' /etc/ld.so.conf || echo 'include /etc/ld.so.conf.d/*.conf' >> /etc/ld.so.conf BTW -- дома на M30, который тянется с M22, обнаружился именно такой случай, но при этом не припомню каких-то особых грабель. В /etc/ld.so.conf.d/ присутствуют wine.conf (/usr/lib/wine) и xorg.conf (/usr/X11R6/lib), при этом /usr/X11R6/lib был добавлен чем-то и в имеющийся /etc/ld.so.conf.
В %post какого пакета?
Эээ... что-то шевельнулось, но только сейчас дошло. Мне придумать маленький статический хелпер или ты сам сразу его перепишешь? :)
А зачем статический? И ведь есть уже /sbin/glibc_post_upgrade, может быть в него встроить?
(In reply to comment #4) > А зачем статический? Торможу, это ж %post. > И ведь есть уже /sbin/glibc_post_upgrade, может быть в него встроить? А давай.
(In reply to comment #5) > > И ведь есть уже /sbin/glibc_post_upgrade, может быть в него встроить? > А давай. (где-нить ближе к glibc-2.7+? ;-)
(In reply to comment #6) > (In reply to comment #5) > > > И ведь есть уже /sbin/glibc_post_upgrade, может быть в него встроить? > > А давай. > (где-нить ближе к glibc-2.7+? ;-) Зачем откладывать в долгий ящик? В 2.5.1-alt2-4-gda3f153 должно работать.
(In reply to comment #7) > > (где-нить ближе к glibc-2.7+? ;-) > Зачем откладывать в долгий ящик? (осмотрев номер баги) Ну... мало ли. > В 2.5.1-alt2-4-gda3f153 должно работать. Спасибо, постараюсь дома проверить. Тут сейчас в наличии (на бранче): home:~> head /etc/ld.so.conf{,.rpmnew} ==> /etc/ld.so.conf <== /usr/lib /usr/lib/qt3/lib /usr/lib/krb5 /usr/X11R6/lib ==> /etc/ld.so.conf.rpmnew <== include /etc/ld.so.conf.d/*.conf
(In reply to comment #8) > > В 2.5.1-alt2-4-gda3f153 должно работать. > Спасибо, постараюсь дома проверить. Я уже проверил, сейчас отправил -alt3 в Сизиф. Логика работы workaround'а такая: если в ходе _обновления_ пакета glibc-core в файле /etc/ld.so.conf нет упоминания /etc/ld.so.conf.d/, то в файл /etc/ld.so.conf добавляется строка include /etc/ld.so.conf.d/*.conf