Bug 6570 - /etc/ld.so.conf non-modification may break dist-upgrade
: /etc/ld.so.conf non-modification may break dist-upgrade
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/glibc-core)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
: 9199 14168
  Show dependency tree
 
Reported: 2005-04-19 14:38 by
Modified: 2008-03-13 12:29 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2005-04-19 14:38:35
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).
------- Comment #1 From 2006-11-12 19:28:17 -------
Предлагаю:

%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.
------- Comment #2 From 2006-11-12 19:39:02 -------
В %post какого пакета?
------- Comment #3 From 2006-11-12 21:21:09 -------
Эээ... что-то шевельнулось, но только сейчас дошло.  Мне придумать маленький
статический хелпер или ты сам сразу его перепишешь? :)
------- Comment #4 From 2006-11-12 21:29:05 -------
А зачем статический?
И ведь есть уже /sbin/glibc_post_upgrade, может быть в него встроить?
------- Comment #5 From 2006-11-12 21:32:26 -------
(In reply to comment #4)
> А зачем статический?
Торможу, это ж %post.

> И ведь есть уже /sbin/glibc_post_upgrade, может быть в него встроить?
А давай.
------- Comment #6 From 2007-11-24 14:35:04 -------
(In reply to comment #5)
> > И ведь есть уже /sbin/glibc_post_upgrade, может быть в него встроить?
> А давай.
(где-нить ближе к glibc-2.7+? ;-)
------- Comment #7 From 2008-01-27 03:30:19 -------
(In reply to comment #6)
> (In reply to comment #5)
> > > И ведь есть уже /sbin/glibc_post_upgrade, может быть в него встроить?
> > А давай.
> (где-нить ближе к glibc-2.7+? ;-)

Зачем откладывать в долгий ящик?
В 2.5.1-alt2-4-gda3f153 должно работать.
------- Comment #8 From 2008-01-27 23:31:18 -------
(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
------- Comment #9 From 2008-01-27 23:36:37 -------
(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