| Summary: | wrong %postun breaks upgrade | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Sergey Vlasov <vsu> |
| Component: | ms-fonts-ttf | Assignee: | Vyacheslav Dikonov <slava> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | major | ||
| Priority: | P2 | ||
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
в vera-fonts-ttf (#3691) сделал так: %post %_bindir/fc-cache %ttfdir %_sbindirchkfontpath -q --add %ttfdir %postun if [ "$1" = "0" ]; then %_sbindirchkfontpath -q --remove %ttfdir ||: fi %triggerpostun -- %name < 1.10-alt2 echo "Fixing faulty fontpath removal in 1.10-alt1" %_bindir/fc-cache %ttfdir %_sbindirchkfontpath -q --add %ttfdir эээ... даже так (thanks vsu):
%post
%_bindir/fc-cache %ttfdir ||:
%_sbindir/chkfontpath -q --add %ttfdir ||:
%postun
if [ "$1" = "0" ]; then
%_sbindir/chkfontpath -q --remove %ttfdir ||:
fi
%triggerpostun -- %name < 1.10-alt2
%_sbindir/chkfontpath -q --add %ttfdir ||:
Исправления внесены. seems to be fixed |
postuninstall scriptlet (through /bin/sh): /usr/sbin/chkfontpath --remove /usr/share/fonts/default/TrueType-ms Так нельзя - %postun вызывается в том числе и при обновлении пакета, причём %postun от старого пакета выполняется после %post от нового пакета. В результате после обновления шрифты оказываются недоступны. Должно быть так: if [ "$1" = "0" ]; then /usr/sbin/chkfontpath -q -r /usr/share/fonts/default/TrueType-ms ||: fi (||: нужно, чтобы возможные ошибки - например, если каталог уже удалён из списка - не останавливали удаление пакетов) Ещё необходимо добавить %triggerpostun на старую версию пакета для устранения последствий ошибки в предыдущих версиях (иначе после первого обновления на исправленную версию каталог со шрифтами всё равно будет удалён из списка).