[devel] Ошибка обновления пакета: симлинк вместо директории
Michael A. Kangin
prividen на altlinux.org
Ср Дек 23 07:24:11 UTC 2009
В сообщении от Вторник 22 декабря 2009 09:03:25 автор REAL написал:
> > Новый пакет не устанавливается:
> > error: unpacking of archive failed on file /usr/share/mediawiki/config:
> > cpio: rename failed - Is a directory
> >
> > Что с этим делать - непонятно. Obsoletes на mediawiki < %version-%release
> > не помогает.
> > От имени симлинка отказываться очень бы не хотелось - кучу кода захакать
> > придётся.
>
> В спеке можно сделать что-то типа такого:
>
> %pre -n %name-common
> if [ -d %_datadir/mediawiki/config ]; then
> rm -fR %_datadir/mediawiki/config
> fi
> if [ -d %_datadir/mediawiki/images ]; then
> rm -fR %_datadir/mediawiki/images
> fi
Дальше - веселее.
В составе пакета mediawiki-common есть директория
/var/www/webapps/mediawiki/config, в которой лежат два симлинка:
на директорию /usr/share/mediawiki/config1/LocalSettings.d и на файл
/usr/share/mediawiki/config1/index.php.
При установке пакета с нуля устанавливаются оба симлинка, всё ок.
При апгрейде устанавливается только LocalSettings.d. index.php не появляется.
И никаких сообщений об ошибках нету. Снос предсуществующей директории
/var/www/webapps/mediawiki/config в %pre не помогает.
Создавать симлинки из %post? Но они тогда не будут принадлежать пакету...
--
wbr, Michael A. Kangin
Подробная информация о списке рассылки Devel