[devel] [SCM] packages/mdadm: tags/4.0-alt2

Alexey V. Vissarionov gremlin на altlinux.org
Пт Ноя 3 18:28:30 MSK 2017


On 2017-11-03 03:51:54 +0300, Dmitry V. Levin wrote:

 >>> split to subpackages to avoid parasitic dependencies;
 >> Заменяем паразитные зависимости на паразитные пакеты?
 >> С какими зависимостями боремся-то?

Прошлый ответ был off-list, поэтому продублирую здесь.
В данном случае было желание отвязаться от udev и systemd.

 >> У mdadm и так зависимостей мало.

Да понятно, что самому ему кроме glibc ничего не нужно...

 > Полагаю, что будет полезно подробно разобрать этот случай
 > как модельный, чтобы не повторять ошибок.

Ну, давай разберем...

 >> Ну какие там various tools? init script и cron script.
 >> Зачем отдельный пакет?

Основная идея была в том, чтобы можно было обойтись установкой
%_sbindir/%name и %_man8dir/%name.8

Ну, еще этот пакет может быть и владельцем конфига - который,
впрочем, полностью опционален.

 > Какие файлы были перенесены в этот mdadm-tools?
 > /etc/cron.d/mdadm /etc/rc.d/init.d/mdadm /etc/sysconfig/mdadm
 > /usr/share/mdadm /usr/share/mdadm/checkarray
 > Какие зависимости переехали вслед за файлами?
 > - coreutils - grep - schedutils - service - vixie-cron
 >
 > Кто пострадал бы из-за этого переезда, если бы он случился? -
 > все, у кого обновится пакет mdadm, например, в результате
 > dist-upgrade, молча потеряют содержимое mdadm-tools со всей
 > функциональностью;

Не критично, но соглашусь с тем, что это может быть неприятно.

 >>> +%package udev
 >> Зачем отдельный пакет? Кому могла помешать зависимость на
 >> udev-rules?
 > Какие файлы были перенесены в этот mdadm-udev?
 > /lib/udev/rules.d/63-md-raid-arrays.rules
 > /lib/udev/rules.d/64-md-raid-assembly.rules
 > Какие зависимости переехали вслед за файлами? - только
 > udev-rules - пакет размером 25 килобайт, у которого нет
 > зависимостей на другие пакеты.

Тем не менее, без этого пакета можно обойтись.

 > даже если представить себе гипотетическую операционную систему

По-моему тут вырисовывается вполне обычная серверная система...

 > с монолитным ядром

Вообще-то Linux и есть монолитное ядро - в отличие, соответственно,
от микроядерных систем. Да, оно может быть модульным, но останется
монолитным :-)

 > без udev

CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y

Я, конечно, допускаю, что этой функциональности в каких-то совсем
экзотических случаях может оказаться недостаточно, но это не повод
использовать костыль в userspace вообще всегда. То есть, грамотно
сделанной Linux-системе, пребывающей в добром здравии, костыли не
нужны.

Ну и каждый лишний процесс в userspace - потенциальная дыра.

 > и прочих достижений цивилизации,

Достижения цивилизации бывают очень разными - в том числе и такими,
без которых ты и сам предпочтешь обойтись (например, тяжелая наркота).

 > экономия нескольких десятков килобайт

Лишь бы эти килобайты при очередном обновлении не притащили пачку
зависимостей на сотни мегабайтов...

 > Суммируя всё вышесказанное, следствием обсуждаемого
 > расчленения пакета mdadm стали бы существенные неприятности
 > почти везде, где он сейчас используется, без какого-либо
 > выигрыша, ради которого стоило бы затевать что-либо подобное.

Насколько я вижу, реальная коряква получилась всего одна: нужно
было сделать %name зависящим от всех подпакетов, чтобы ничего
не поломалось даже у слоупоков, которые в 21 веке не знают про
CONFIG_MD_AUTODETECT=y и тип раздела 0xFD - в этом случае они
получат тот же набор файлов. А на хоть немного более продуманных
конфигурациях появится возможность ставить только %_sbindir/%name
и %_man8dir/%name.8 (причем исключительно на случай --grow, ибо
--assemble как минимум лично я запускаю только когда занимаюсь
восстановлением данных - во всех остальных случаях достаточно
просто не мешать ядру работать).


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 801 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20171103/3a5f964f/attachment-0001.bin>


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