[devel] Излишние авто зависимости?

Alexey Shabalin a.shabalin на gmail.com
Пт Авг 4 23:34:29 MSK 2023


Добрый вечер.

Благодаря /usr/lib/rpm/0common-files.req.list у нас появляются
различные зависимости в пакетах.
Например, благодаря такой строчке:
/etc/logrotate.d        logrotate
если пакет содержит что-то в /etc/logrotate.d/* то так же будет
установлен и пакет logrotate.
Хотел бы поднять пару вопросов о содержимом 0common-files.req.list и
возможно пересмотре его.
1) Когда для подсистемы используется одна единственная реализация,
например alternatives или chrooted, то проблем нет.
А вот если в репозитории присутствует несколько реализаций какой либо
подсистемы, то будет прилетать и ненужная тоже.
Если я добавил systemd unit файл, это не означает что должна появится
зависимость на systemd, т.к. возможно используется sysv.
Как пример

/etc/X11/xinit.d        xinitrc (все равно не работает под wayland)

/etc/cron.d     vixie-cron (я использую systemd timer, как мне удалить
vixie-cron? а если вместо умершего vixie-cron приедет новая
реализация?)

/etc/rc.d/init.d        service  (зачем мне service на systemd? на
systemctl нельзя делать зависимости, а на service можно?)

/etc/xinetd.d   xinetd (я давно ничего не запускаю через xinetd, как
мне его удалить? в systemd есть этот функционал)

2) второй вопрос, а должны ли конфигурационные файлы или доп.скрипты
порождать зависимость на эти подсистемы. Пусть установится конфиг и
лежит себе, никого не требуя.

/etc/xinetd.d   xinetd (даже если есть конфиг для xinetd, я давно
ничего не запускаю через xinetd, как мне его удалить?)

/etc/sudoers.d  sudo (да мало ли зачем в пакет упаковали настройки
sudo, не буду я использовать sudo, хочу удалить)

/etc/ppp/ip-up.d        ppp-common
Вот я хочу на сервере удалить все про ppp, он мне не нужен, у меня
ethernet соединение и ничего больше не предвидится. Но оказывается в
пакете sendmail-common есть скрипт /etc/ppp/ip-up.d/sendmail. А
удалить sendmail-common я не могу, он мне нужен для postfix.

/etc/emacs/site-start.d emacs-base
rpm -e emacs-base
ошибка: Неудовлетворенные зависимости:
/etc/emacs/site-start.d нужен для (установлен) gettext-tools-0.21-alt1.x86_64
Да мало ли что в пакет запихнули конфиг для emacs, зачем мне emacs
устанавливать?
Да, я знаю что emacs-base почти пустой пакет, но и в таком виде он мне
тоже не нужен.

Может ли кто-то из core team (rpm-build: @core imz at vt) провести
ревизию содержимого /usr/lib/rpm/0common-files.req.list и привести его
к современным реалиям?
Я не буду спорить, возможно какие-то подсистемы лучше не трогать
(например sudo), но некоторые уже лишние?

-- 
Alexey Shabalin


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