Stop emailing me Sent from my iPhone
> On Dec 4, 2019, at 8:42 AM, Ivan Zakharyaschev <i...@altlinux.org> wrote: > > Hello! > >> On Wed, 4 Dec 2019, Anton Shevtsov wrote: >> >> Суть вопроса. Делаю небольшой метапакет, не для апстрима, для локального >> использования. Хотя и достаточного глобального использования. >> >> Смысл такой, что надо установить 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) нету, чтобы удалить его раньше установки. > > Раз Conflicts(pre) нету, можно было бы придумать попробовать > > Requires(pre): conflicts-chromium > > а в пакете conflicts-chromium поставить Conflicts: chromium > > Но я так не советую пробовать делать в первую очередь, см. моё предложение > ниже. > >> Есть ли механим, вмешаться в транзакцию и удалить пакет раньше? Какие пути >> решения? > > Вмешаться в порядок действия в транзакцию довольно сложно, там и так в > коде rpm всё очень непросто в этом месте. > > Мне кажется, в Вашем случае этот симлинк можно просто положить в секцию > %files Вашего пакета. > > Раз в результате транзакции старый владелец этого файла (пакет chromium) > удаляется, то rpm это учтёт и без жалоб сразу на этом месте создаст новый > симлинк при выполнении транзакции. > > -- > Best regards, > Ivan > _______________________________________________ > devel-newbies mailing list > devel-newbies@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/devel-newbies _______________________________________________ devel-newbies mailing list devel-newbies@lists.altlinux.org https://lists.altlinux.org/mailman/listinfo/devel-newbies