[devel] systemd vs sysvinit (again)

Alexey Gladkov legion на altlinux.ru
Сб Май 27 12:02:55 MSK 2023


On Sat, May 27, 2023 at 03:25:42AM +0300, Alexey Shabalin wrote:
> > > Но зачем так делать? Сделай чтобы понравилось. От меня вы именно
> > > такого требуете.
> >
> > А может быть ты не будешь делать изменений, которые ломают установки ?
> 
> Ты действительно думаешь, что я слежу что ты используешь и пытаюсь
> поломать тебе установку?
> Делать мне больше нечего.

Не мне конкретно. Если бы только мне, то фиг бы с ним. Ты сломал
обновление для всех пользователей podman на не-systemd.

Ну и видимо действительно нечего.

> > Тогда не потребуется исправлять за тобой. А то твоя деятельность
> > напоминает кронскрипт-с-глазами. Ты-мантейнер делаешь изменение, а потом
> > предлагаешь исправить так чтобы тебе понравилось.
> >
> > Разумеется я не опущусь до твоего уровня
> 
> Конечно, ни в коем случае. Я и не собирался с твоим звездным уровнем мерятся.
> 
> > и не буду ломать пакеты под
> > systemd, хотя порыв оторвать %post-скрипты был.
> 
> А стоило. Если добавил sysvinit скрипт в пакет, то можно просто
> перейти на универсальный макрос.
> 
> > Я нашёл раковую опухоль -
> > rpm-macros-systemd, исправил его и тестирую rebuild с ним. Но лучше было
> > бы изначально сделать нормально.
> >
> > К сожалению просматривая спеки я обнаружил дополнительное "творчество" в
> > %post-скриптах, которое, как я теперь понимаю, тоже нужно вычитывать.
> >
> > > Ты же добавил init скрипт в пакет netavark, ну и отправляй.
> >
> > Конечно я его сделал. Это заняло 1 минуту. Вот только из-за того, что ты
> > так и не рассказал зачем podman'у нужен netavark я не смог протестировать
> > работает ли сервис или нет. Релизить неработающую херную я не хочу.
> 
> Изначально в netavark не было sysvinit скриптов, поэтому был
> использован макрос в %post заведомо использующий systemd сервис. Если
> ты добавил sysvinit скрипт, то логично и в %post заменить на
> универсальный макрос.

Ну а можно исправить "не универсальный" макрос, чтобы его пользователи не
получали зависимость, которая им не нужна и приходит только из %post.

> И все, вопрос исчерпан.
> Зачем в podman переходят на netavark, тебе выяснить проще, ты ближе к апстриму.
> 
> Выдержка из podman Changes :
> CNI is being deprecated from Podman and support will be dropped at a
> future date. Netavark is now advised and is the default network
> backend for Podman.

То есть ты увидел название в changes и просто добавил зависимость.

> >
> > > Зачем технический вопрос превращать в ненужное философское обсуждение.
> >
> > Своим письмом я хотел обратить внимание коллег. Конечно, я могу починить,
> > что сломано себе или же в репозитории, но повторю изначальный тезис: было
> > бы здорово не ломать пакеты и раз уж сломал, то хоть реагировать и чинить.
> 
> Пакет netavark не ломался, В нем не было sysvinit скрипта.
> Как тебе негде тестировать systemd юниты и ты не добавляешь их в
> пакеты, так и мне негде тестировать sysvinit скрипты.

У пакета netavark зависимость на /lib/systemd/systemd-update-helper и
через него на systemd. В этом и поломка. Ты правда этого не понимаешь ?

Этот пакет тянет systemd _только_ из-за того %postinstall так написан.
Если исправить rpm-macros-systemd, то зависимости не будет.

И покажи мне, где я требовал от тебя писать sysvinit скрипт или хотя бы
упоминал это ?

Проблема с зависимостью никак не связана с sysvinit скриптом. Его наличие
позволит запускать netavark на sysvinit, но речь была про другое.

> > Этот вопрос появился естественным образом, когда я обнаружил, что часть
> > системы не обновляется. А когда я начал смотреть почему, то выяснил, что
> > некоторые пакеты (типа ostree) я не могу поставить из репозитория по той
> > же причине.
> 
> Добавь sysvinit скрипт в пакет, и сразу все проблемы уйдут.

Вот только его нужно сначала поставить на машину. Когда пакет ставится, но
в нём нет sysvinit скрипта, то его можно поставить и написать его.

Я обратил внимание, что у тебя какая-то странная логика в этом вопросе. У
нас кривые макросы, через которые приходит паразитная зависимость, делая
невозможной установку/обновление пакета, но решение проблемы - добавь
sysvinit скрипт в пакет и мы не будем использовать другие макросы вместо
кривых.

С моей точки зрения это очень странный подход для мантейнера.

-- 
Rgrds, legion



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