Bug 5013

Summary: man-pages & man-pages-ru from ALM2.4beta5 do not replace old packages while installing
Product: Sisyphus Reporter: Denis G. Samsonenko <d.g.samsonenko>
Component: man-pagesAssignee: placeholder <placeholder>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: minor    
Priority: P2 CC: george, glebfm, ldv, placeholder
Version: unstable   
Hardware: all   
OS: Linux   

Description Denis G. Samsonenko 2004-08-18 14:26:47 MSD
Обновление ALC2.3+contrib до ALM2.4beta5.

Пакеты man-pages и man-pages-ru не замещают старые, а ставятся рядом, после чего
apt-get check грязно ругается. Приходится старые пакеты прибивать вручную.

Попутно, при установке обоих пакетов проскакивает сообщение об ошибке выполнения
%post скриптов. Ругается на permition denied чего-то в каталоге с манами к
поставленному отдельно в /opt комерческому компилятору фортрана95.
Comment 1 Denis G. Samsonenko 2004-08-18 17:17:50 MSD
Подробности:

Preparing...                 ################################################ [100%]
1: man-pages                 ################################################ [ 50%]
/usr/sbin/makewhatis: line 378: /opt/lf95/manuals/man/ssl2/whatis: Permission denied
error: execution of %post scriptlet from man-pages-1.67-alt1 failed, exit status 1
2: man-pages-ru              ################################################ [100%]
/usr/sbin/makewhatis: line 378: /opt/lf95/manuals/man/ssl2/whatis: Permission denied
error: execution of %post scriptlet from man-pages-ru-0.96-alt2 failed, exit
status 1

Естественно, что никакого /opt/lf95/manuals/man/ssl2/whatis в указанном каталоге
нет.
Comment 2 Aleksandr Blokhin 2004-08-18 17:51:50 MSD
1) обновляться надо было лиюо посредством apt-get dist-upgrade либо сначала надо
было обновить пакет man, а уж затем man-pages
2) этот мусор со странныси путями - дитя Вашей системы и вылез из "старого" кеша
от man.
Comment 3 Denis G. Samsonenko 2004-08-19 09:24:50 MSD
> 1) обновляться надо было либо посредством apt-get dist-upgrade либо сначала
надо было обновить пакет man, а уж затем man-pages

Как раз при помощи apt-get dist-upgrade это и обновлялось, и именно при apt-get
dist-upgrade старые пакеты не удалились, когда ставились новые.

> 2) этот мусор со странныси путями - дитя Вашей системы и вылез из "старого"
кеша от man.

Я знаю, что это дитя моей системы. Но неужели нельзя в скрипте сделать проверку
на наличие файла whatis в просматриваемом каталоге? На сколько я понимаю, такое
поведение будет при добавлении любого другого каталога с манами от софта не из
дистрибутива (и который не ставится в /usr/local по каким-либо причинам) и в
котором нет файла whatis.
Comment 4 Aleksandr Blokhin 2004-08-19 10:55:30 MSD
По поводу проверки - это к пакету man, а по поводу параллельной установки (как
сказал один известный человек) - не верю :-) Пакеты за период времени,
прошедшего с момента выхода ALC, не переименовывались, поэтому ставиться
параллельно могут только в двух случаях - либо база RPM битая либо предыдущие
пакеты не из наших дистров, т.е. имеют пусть и схожие, но для системы
отличающиеся названия, хотя тогда они вряд ли подлежали бы обновлению. Стало
быть, остаётся вариант с битой базой данных о пакетах.
Comment 5 Denis G. Samsonenko 2004-08-20 18:32:29 MSD
(In reply to comment #4)
> По поводу проверки - это к пакету man, а по поводу параллельной установки (как
> сказал один известный человек) - не верю :-) Пакеты за период времени,
> прошедшего с момента выхода ALC, не переименовывались, поэтому ставиться
> параллельно могут только в двух случаях - либо база RPM битая либо предыдущие
> пакеты не из наших дистров, т.е. имеют пусть и схожие, но для системы
> отличающиеся названия, хотя тогда они вряд ли подлежали бы обновлению. Стало
> быть, остаётся вариант с битой базой данных о пакетах.

Ох уж эти сказочки, ох уж эти сказочники... :) Специально поставил обратно
man-pages & man-pages-ru из ALC2.3 и проапгрейдился:

[denis@ogion denis]$ apt-get remove man-pages man-pages-ru
Password:
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие пакеты будут УДАЛЕНЫ:
  man-pages man-pages-ru
0 будет обновлено, 0 новых установлено, 2 пакетов будет удалено и 0 не будет
обновлено.
Необходимо получить 0B архивов.
После распаковки будет освобождено 2500kB дискового пространства.
Продолжить? [Y/n] Y
Совершаем изменения...
Preparing...                 ################################################ [100%]
Завершено.

[denis@ogion denis]$ sudo rpm --rebuilddb

[denis@ogion denis]$ sudo rpm -ivh man-pages-1.64-alt1.noarch.rpm
man-pages-ru-0.7-alt27.noarch.rpm
Password:
Подготовка...                #######################################################
man-pages                    #######################################################
/usr/sbin/makewhatis: line 378: /opt/lf95/manuals/man/ssl2/whatis: Permission denied
ошибка: ошибка выполнения сценария %post из man-pages-1.64-alt1, код возврата 1
man-pages-ru                 #######################################################
/usr/sbin/makewhatis: line 378: /opt/lf95/manuals/man/ssl2/whatis: Permission denied
ошибка: ошибка выполнения сценария %post из man-pages-ru-0.7-alt27, код возврата 1

[denis@ogion denis]$ sudo rpm --rebuilddb

[denis@ogion denis]$ apt-get dist-upgrade
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Подсчет обновлений... Завершено
Следующие пакеты будут ОБНОВЛЕНЫ:
  man-pages man-pages-ru
2 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 0 не будет
обновлено.
Необходимо получить 0B/2679kB архивов.
После распаковки потребуется дополнительно 289kB дискового пространства.
Продолжить? [Y/n] Y
Совершаем изменения...
Preparing...                 ################################################ [100%]
1: man-pages                 ################################################ [ 50%]
/usr/sbin/makewhatis: line 378: /opt/lf95/manuals/man/ssl2/whatis: Permission denied
error: execution of %post scriptlet from man-pages-1.67-alt1 failed, exit status 1
2: man-pages-ru              ################################################ [100%]
/usr/sbin/makewhatis: line 378: /opt/lf95/manuals/man/ssl2/whatis: Permission denied
error: execution of %post scriptlet from man-pages-ru-0.96-alt2 failed, exit
status 1
W: Произошли ошибки при выполнении транзакции

[denis@ogion denis]$ rpm -qa |grep man-pages
man-pages-ru-0.7-alt27
man-pages-ru-0.96-alt2
man-pages-1.67-alt1
man-pages-1.64-alt1
Comment 6 Aleksandr Blokhin 2004-08-20 22:23:42 MSD
Я еще раз повторяю, что Ваши проблемы вызваны пакетом man, а не man-pages-*,
поэтому просто переставлять эти два пакеты не имеет смысла. Не Вы первый, кто с
этим столкнулся, не Вы и последний. Поэтому я еще раз советую Вам копать в
несколько другом направлении.