[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