[devel] Ошибка обновления пакета: симлинк вместо директории

Sergey Y. Afonin asy на altlinux.ru
Вс Ноя 13 21:26:55 MSK 2011


On Wednesday 23 December 2009, Michael A. Kangin wrote:

> При апгрейде устанавливается только LocalSettings.d. index.php не появляется. 
> И никаких сообщений об ошибках нету. Снос предсуществующей директории 
> /var/www/webapps/mediawiki/config в %pre не помогает.
 
Тут какая-то грабля глубже... Тоже возникла нужда сделать такую замену.
Сделал вот так:

%pre
if [ -d %_libdir/%binname/data ] ; then
    if ! [ -L %_libdir/%binname/data ] ; then
        rm -rf %_libdir/%binname/data
        ls -l %_datadir/%binname/data/*
    fi
fi

симлинк - это 

cd %{buildroot}%{_libdir}/%{binname}
ln -s %{_datadir}/%{binname}/data data

Пакет, куда попадает %_datadir/%binname/data, ставится до основного
пакета с симлинком. Этот вот ls (для отладки добавил) выводит нормальное
содержимое каталога, выводит его и ls в %post. То есть, вроде бы, всё
правильно, подмена происходит, данные в %_datadir живые. Но вот после
окончания установки %{_datadir}/%{binname}/data уже пуст. И кто там всё
выносит ?

-- 
С уважением, Сергей Афонин


Подробная информация о списке рассылки Devel