[newbies] Spec, Rpm, Conflicts-pre (?)

Anton Shevtsov shevtsov.anton на gmail.com
Ср Дек 4 07:02:08 MSK 2019


Доброго дня.

Суть вопроса. Делаю небольшой метапакет, не для апстрима,  для локального
использования. Хотя и достаточного глобального использования.

Смысл такой, что надо установить chromium-gost, при этом удалить chromium,
при этом создать симлинку /usr/bin/chromium -> /usr/bin/chromium-gost

В spec пишу
..
Requires(pre): chromium-gost
...
%post
ln -s /usr/bin/chromium-gost /usr/bin/chromium
%postun
rm -f /usr/bin/chromium
...

при попытке установить мой метапакет, выводится, что обычный хромиум будет
удален, будет поставлен chromium-gost. На этом этапе все хорошо. Пакеты
ставятся, но тут же получаю

ln: не удалось создать символьную ссылку '/usr/bin/chromium': Файл
существует

Что логично ибо логика пакетного менеджера _сначала установить_, а лишь
потом _удалить_. Т.е. симлинка пытается появится, когда еще установлен
обычный chromium.

А Conflicts(pre) нету, чтобы удалить его раньше установки.

Есть ли механим, вмешаться в транзакцию и удалить пакет раньше? Какие пути
решения?
----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.altlinux.org/pipermail/devel-newbies/attachments/20191204/baa3bac4/attachment.html>


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