При обновлении с p8 до Sisyphus Наблюдается сразу несколько проблем. Сначала не удаляется lua5.1-alt-compat, который нужно удалить вручную, потом в системе оказывается 2 версии данной библиотеки. Если удалить их обе, то установить невозможно из-за ошибки в преинстал-скрипте. # apt-get install liblua5.1 Чтение списков пакетов... Завершено Построение дерева зависимостей... Завершено Следующие НОВЫЕ пакеты будут установлены: liblua5.1 0 будет обновлено, 1 новых установлено, 0 пакетов будет удалено и 1 не будет обновлено. Необходимо получить 0B/87,3kB архивов. После распаковки потребуется дополнительно 195kB дискового пространства. Совершаем изменения... Подготовка... ################################# [100%] remove lua5.1-alt-compat manually! ошибка: %prein(liblua5.1-5.1.5-alt7.x86_64) scriptlet failed, exit status 1 ошибка: liblua5.1-5.1.5-alt7.x86_64: установить failed E: Произошли ошибки при выполнении транзакции [root@simply64 ~]# apt-get -f install Чтение списков пакетов... Завершено Построение дерева зависимостей... Завершено Исправление зависимостей... Завершено Следующие дополнительные пакеты будут установлены: liblua5.1 Следующие НОВЫЕ пакеты будут установлены: liblua5.1 0 будет обновлено, 1 новых установлено, 0 пакетов будет удалено и 1 не будет обновлено. Необходимо получить 0B/87,3kB архивов. После распаковки потребуется дополнительно 195kB дискового пространства. Продолжить? [Y/n] y Совершаем изменения... Подготовка... ################################# [100%] remove lua5.1-alt-compat manually! ошибка: %prein(liblua5.1-5.1.5-alt7.x86_64) scriptlet failed, exit status 1 ошибка: liblua5.1-5.1.5-alt7.x86_64: установить failed E: Произошли ошибки при выполнении транзакции Подробную информацию можно найти на форуме: https://forum.altlinux.org/index.php?topic=38295.0
task #178041: added #100: build tag "5.1.5-alt8" from /people/viy/packages/lua5.1.git
попробуйте, пожалуйста.
Еще не пробовал, но посмотрел новый spec. Есть замечание. %pre -n lib%{name} # ----------- begin update from old lua5 to lua5.1 ---- if [ -L %_libdir/lua/5.1 ]; then echo "removing lua5.1-alt-compat symlink..." rm -f %_libdir/lua/5.1 if [ -d %_libdir/lua5 ] && [ ! -e %_libdir/lua/5.1 ]; then mkdir -p %_libdir/lua mv %_libdir/lua5 %_libdir/lua/5.1 fi fi # ----------- end update from old lua5 to lua5.1 ---- У Вас сначала идет проверка, есть ли ссылка %_libdir/lua/5.1, затем, если есть, ее удаление, и затем во вложенном условии снова проверка, есть ли файл/каталог %_libdir/lua/5.1. В случае, если первое условие не выполнится, то до > if [ -d %_libdir/lua5 ] && [ ! -e %_libdir/lua/5.1 ]; then дело не дойдет. А если > if [ -L %_libdir/lua/5.1 ]; будет истинно, то после > rm -f %_libdir/lua/5.1 второе тоже станет истинно. Предлагаю вынести вложенный if наружу, т.е. записать вот в таком виде: %pre -n lib%{name} # ----------- begin update from old lua5 to lua5.1 ---- if [ -L %_libdir/lua/5.1 ]; then echo "removing lua5.1-alt-compat symlink..." rm -f %_libdir/lua/5.1 fi if [ -d %_libdir/lua5 ] && [ ! -e %_libdir/lua/5.1 ]; then mkdir -p %_libdir/lua mv %_libdir/lua5 %_libdir/lua/5.1 fi # ----------- end update from old lua5 to lua5.1 ----
(In reply to comment #3) > Еще не пробовал, но посмотрел новый spec. Есть замечание. > У Вас сначала идет проверка, > if [ -L %_libdir/lua/5.1 ]; then > if [ -d %_libdir/lua5 ] && [ ! -e %_libdir/lua/5.1 ]; then [...] Да, избыточное. Поправлю, если будет новый релиз. > Предлагаю вынести вложенный if наружу, т.е. записать вот в таком виде: Так не хочу, хочу только когда был найден симлинк. в остальных случаях лучше не трогать.
(In reply to comment #4) > (In reply to comment #3) > > Предлагаю вынести вложенный if наружу, т.е. записать вот в таком виде: > > Так не хочу, хочу только когда был найден симлинк. > в остальных случаях лучше не трогать. Если файлы из lua5 в lua5.1 переносить не обязательно, то Вы правы.
(In reply to comment #5) > (In reply to comment #4) > > (In reply to comment #3) > > > > Предлагаю вынести вложенный if наружу, т.е. записать вот в таком виде: > > > > Так не хочу, хочу только когда был найден симлинк. > > в остальных случаях лучше не трогать. > > Если файлы из lua5 в lua5.1 переносить не обязательно, то Вы правы. да. Все пакеты, которые там держали что-либо, будут пересобраны.
Проверил. Обновление с p8 до Сизифа проходит корректно. Меняю на "FIXED"