Доброго дня.

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

Смысл такой, что надо установить 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) нету, чтобы удалить его раньше установки.

Есть ли механим, вмешаться в транзакцию и удалить пакет раньше? Какие пути
решения?
_______________________________________________
devel-newbies mailing list
[email protected]
https://lists.altlinux.org/mailman/listinfo/devel-newbies

Ответить