Bug 7575 - Ошибка в post скриптах
: Ошибка в post скриптах
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/libgphoto2)
: unstable
: all Linux
: P5 blocker
Assigned To:
:
:
:
:
: 7079
  Show dependency tree
 
Reported: 2005-08-05 13:05 by
Modified: 2007-04-06 15:27 (History)


Attachments


Note

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


Description From 2005-08-05 13:05:45
При установке пакета libgphoto2:

libgphoto2                            
####################################################################################################
/usr/lib/libgphoto2/print-usb-usermap: error while loading shared libraries:
libgphoto2.so.2: cannot open shared object file: No such file or directory
error: execution of %post scriptlet from libgphoto2-2.1.5-alt1.1 failed, exit
status 127

Судя по всему print-usb-usermap использует библиотеку из этого же пакета.
Соответственно надо сначала сделать ldconfig, потом уже запускать print-usb-usermap.

Да, выставлена переменная DURING_INSTALL
------- Comment #1 From 2005-08-23 19:04:47 -------
Какой статус у этой ошибки ? когда ждать исправления ?
------- Comment #2 From 2005-08-25 09:32:26 -------
Не подтверждаю багу у себя (Сизиф мартовский)

В секции %post пакета gphoto2-2.25-alt1 сначала идет макрос %post_ldconfig, а
затем запуск print-usb-usermap. Таким образом ldconfig делается. Может это
макрос перестал выполняться? 


%post -n lib%name
%post_ldconfig
# create /etc/hotplug/usb/usbcam.usermap
%_libdir/lib%name/print-usb-usermap > %_sysconfdir/hotplug/usb/usbcam.usermap

%postun -n lib%name
%postun_ldconfig
# remove /etc/hotplug/usb/usbcam.usermap
# if erasing the package not as part of a package update
if [ "$1" = 0 ]; then
    %__rm -f %_sysconfdir/hotplug/usb/usbcam.usermap
fi
------- Comment #3 From 2005-08-25 12:30:35 -------
%postun_ldconfig никогда не выполняется, если выставлена переменная
DURING_INSTALL

Для того, что бы это обойти - делается скрипт в /etc/firsttime.d, который
запускается после установки системы инсталятором.

Скрипт фактически должен содержать все то, что есть в %post, за исключением
ldconifg

И естественно %_libdir/lib%name/print-usb-usermap >
%_sysconfdir/hotplug/usb/usbcam.usermap должно выполняться только в том случае,
если не выставлена переменная DURING_INSTALL
------- Comment #4 From 2005-08-25 12:42:52 -------
Не помню как точно пишется
if $DURING_INSTALL then 
echo -n "%_libdir/lib%name/print-usb-usermap >
%_sysconfdir/hotplug/usb/usbcam.usermap" > /etc/firsttime.d/gphoto2.sh

else %_libdir/lib%name/print-usb-usermap > %_sysconfdir/hotplug/usb/usbcam.usermap
?
------- Comment #5 From 2005-08-25 12:47:12 -------
неправильно.

файло /etc/firsttime.d/gphoto2 должен быть в пакете

Ну и его нужно проверить на работоспособность.

А DURING_INSTALL нужно проверять так как это делается в shell. (-z или -n)
------- Comment #6 From 2005-08-25 12:54:27 -------
Так это же будет хлам в etc! Они хоть оттуда автоматически удаляются?

И с проверкой сложно. Этот INSTALL у меня симпатии и доверия не вызывает, а
сбой
системы на несколько дней сейчас обойдется в круглую сумму.
------- Comment #7 From 2005-08-25 14:22:00 -------
Это будет не хлам, а реально работающее решение.

Фиксить придется, иначе libgphoto2 будет неработоспособным после установки
системы и в livecd версиях. 

А что значит "Не доверяю DURING_INSTALL" ?

DURING_INSTALL - общепринятый метод для обхода таких граблей при установке
пакетов.
------- Comment #8 From 2007-01-18 07:36:11 -------
Давным-давно FIXED