[devel] I: systemd-248.3-alt2 и конфликт со startup

Alexey Shabalin a.shabalin на gmail.com
Вс Июл 11 00:09:40 MSK 2021


пт, 9 июл. 2021 г. в 11:02, Alexey Gladkov <legion на altlinux.ru>:
>
> On Fri, Jul 09, 2021 at 12:52:16AM +0300, Dmitry V. Levin wrote:
> > On Fri, Jul 09, 2021 at 12:39:37AM +0300, Alexey Shabalin wrote:
> > > чт, 8 июл. 2021 г. в 00:45, Dmitry V. Levin <ldv на altlinux.org>:
> > [...]
> > > > Прямой конфликт между systemd и sysvinit - это слишком радикальное
> > > > решение, которое, как мы увидели, сейчас слишком много ломает.
> > >
> > > Оно естественно и напрашивается. Ничего в нем радикального нет.
> >
> > Этот конфликт на самом деле искусственный.  Для того, чтобы он не создавал
> > проблем, ни один пакет, который может работать и с systemd, и с sysvinit,
> > не должен зависеть ни от одного, ни от другого.  Сейчас это требование
> > зачастую не выполнено, поэтому конфликт запрещает совместную установку
> > того, что вполне может работать.  Если всё-таки очень хочется внедрить
> > этот конфликт, то надо *сперва* устранить все избыточные зависимости
> > и на systemd, и на sysvinit.
>
> Проблема в многострадальных standalone утилитах. Они имеют отличающиеся
> имена (имеют суффикс .standalone) и запакованы в отдельные пакеты. То есть
> если ты не ставишь явную зависимость и просто используешь эти утилиты, то
> зависимость за тебя поставит rpm.
>
> В startup я специально проверяю наличия утилит как с суффиксом, так и
> без. Пакет startup может работать как с *-standalone утилитами, так и с
> systemd-utils, но так как нет общего провайда, то в пакете приходится
> требовать какой-то вариант явно.
>
> Если честно, я не знаю о чём думал shaba@, когда их так запаковывал. Их
> просто невозможно использовать не ставя явную зависимость.

Запаковал как смог. Последствия не просчитал.
Я не знаю о чем думал legion@ когда ставил на них зависимости :)

>
> $ rpmquery -l systemd-tmpfiles-standalone
> /sbin/systemd-tmpfiles.standalone
>
> $ rpmquery --provides systemd-tmpfiles-standalone
> systemd-tmpfiles-standalone = 1:248.3-alt1:sisyphus+272702.500.6.1
>
> $ rpmquery --provides systemd-utils
> /sbin/systemctl
> /bin/systemctl
> /usr/bin/systemctl
> /bin/journalctl
> /sbin/journalctl
> journalctl = 1:248.3-alt1
> systemd-utils = 1:248.3-alt1:sisyphus+272702.500.6.1
>
> Если не хочется *-standalone утилиты для всех, я не вижу другого варианта,
> кроме как создания альтернатив.

Я предлагал добавить в rpm поддержку
RemovePathPostfixes: .standalone

При любом варианте, если не ошибаюсь, текущая сборочница не позволит
сделать дубликаты Provides.


-- 
Alexey Shabalin


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