После обновления make-initrd стал падать при запуске своего скрипта sort-services. В новой версии он перестал принимать каталог init.d в качестве параметра из файла make-initrd.mk (строка 122). Сообщает, что это не файл. Приходится дописывать "/*" после имени каталога сервисов. Стал выдавать ошибку при обнаружении init-сервиса без заголовка LSB, хотя пишет, что проигнорировал. Стал останавливаться с ошибкой на неисполняемых файлах (functions, README), не знает ничего про "$local_fs" из скрипта llvm2. Из-за этого опасно устанавливать новое ядро, файлы ставятся, а initrd не создаётся.
Также ошибка возникает на неправильных заголовках LSB. Каждая ошибка в конечном итоге вызывает fatal. Добавили новые проверки, но не учли последствия?
У вас сломалось что-то совсем другое. Давайте по порядку. Какая версия ? Какие модули стоят ? Какая ошибка появляется ?
> Добавили новые проверки, но не учли последствия? Если говорить о sort-services, то последний раз его модифицировали в 2021.
Вчера полностью обновил систему на текущий Сизиф. После dist-upgrade увидел строчки от запуска make-initrd: init.d is not a regular file make... [.../mk/make-initrd.mk:122] Error 1 make... [.../mk/make-initrd.mk:182] Error 2 В строке 122 make-initrd.mk из пакета стоит вызов sort-services с параметрами "--rcdir=.../etc/rc.d" и ".../etc/init.d". Может быть, что сейчас изменили строку вызова этой функции. До обновления проблемы не было. Точные строки смогу прислать позднее, сейчас пишу по памяти, номера строк точно эти.
(In reply to serpiph from comment #4) > Вчера полностью обновил систему на текущий Сизиф. После dist-upgrade увидел > строчки от запуска make-initrd: > init.d is not a regular file > make... [.../mk/make-initrd.mk:122] Error 1 > make... [.../mk/make-initrd.mk:182] Error 2 > > В строке 122 make-initrd.mk из пакета стоит вызов sort-services с > параметрами "--rcdir=.../etc/rc.d" и ".../etc/init.d". > > Может быть, что сейчас изменили строку вызова этой функции. > > До обновления проблемы не было. > > Точные строки смогу прислать позднее, сейчас пишу по памяти, номера строк > точно эти. Попробуйте вызвать make-initrd от рута в терминале и покажите вывод.
# make-initrd [00:00:00] Config file: /etc/initrd.mk module /lib/modules/6.1.71-std-def-alt1/misc/lkrg.ko WARNING: Unknown features are specified in the config: plymouth systemd [00:00:01] Generating module dependencies on host ... sort-services: Service without LSB header (ignored) make[2]: *** [/usr/share/make-initrd/mk/make-initrd.mk:122: pack] Error 1 make[1]: *** [/usr/share/make-initrd/mk/make-initrd.mk:182: process-config] Error 2 make: *** [/usr/share/make-initrd/mk/make-initrd.mk:172: all] Error 1 # rpm -qa | grep make-initrd make-initrd-mdadm-2.42.0-alt1.noarch make-initrd-devmapper-2.42.0-alt1.noarch make-initrd-luks-2.42.0-alt1.noarch make-initrd-lvm-2.42.0-alt1.noarch make-initrd-2.42.0-alt1.x86_64 # cat /etc/initrd.mk AUTODETECT = all FEATURES += plymouth FEATURES += systemd MODULES_PRELOAD += autofs4 В /etc/initrd.mk.d ничего нет. Решил вывести, что же происходит внутри sort-services. Оказалось, что в образ попал файл /usr/share/make-inird/features/lkrg/data/etc/rc.d/init.d/lkrg из пакета make-initrd с LSB-заголовком в виде # BEGIN INFO # Provides: lkrg # Required-Start: cmdline modules # Should-Start: # Required-Stop: # Should-Stop: # Default-Start: 3 4 5 # Default-Stop: # Short-Description: Linux Kernel Runtime Guard. # Description: Linux Kernel Runtime Guard. # END INFO А sort-services ждёт начало и конец LSB-заголовка в виде ### BEGIN INFO # ... ### END INFO И на этом файле происходит падение программы sort-services. То есть при невозможности найти LSB программа make-initrd пишет "ignored", но при этом спокойно падает, роняя весь процесс сборки ядра.
Ясно.
make-initrd-2.43.0-alt1 -> sisyphus: Wed Feb 07 2024 Alexey Gladkov <legion@altlinux.ru> 2.43.0-alt1 - New version (2.43.0). - Feature overlayfs: + New feature to take lowerdirs into account. - Feature guestfs: + Add gost checksum utilities. - Feature pipeline: + Add dependency on additional utilities. + Register ping= cmdline parameter. - Feature lkrg: + Fix LSM header for service (ALT#49219). - Feature multipath: + Add plugins directory. + Logically separate the multipath and sg3_utils files. - Feature plymouth: + Use the library list to find the plymouth directory.