При обработке пакета (распаковкой в какой-то каталог) гораздо удобнее, если симплинк в нём будет не абсолюный а относительный. Просьба поправить, с точки зрения использования разницы никакой нет. /lib/devicetree/6.5.7-un-def-alt1 —> /boot/devicetree/6.5.7-un-def-alt1
@antohami зачем нужна дира /lib/devicetree? Может её не паковать?
(Ответ для Vitaly Chikunov на комментарий #1) > @antohami зачем нужна дира /lib/devicetree? Может её не паковать? Для обратной совместимости со скриптами, которые ожидают каталог /lib/devicetree/ядро/, а не /boot/devicetree/ядро/. Я думаю, что ничего страшного от замены на относительный симлинк не случится.
(Ответ для Антон Мидюков на комментарий #2) > (Ответ для Vitaly Chikunov на комментарий #1) > > @antohami зачем нужна дира /lib/devicetree? Может её не паковать? > > Для обратной совместимости со скриптами, которые ожидают каталог > /lib/devicetree/ядро/, а не /boot/devicetree/ядро/. Я думаю, что ничего > страшного от замены на относительный симлинк не случится. Хотя в виду usr-merge это не кажется хорошей идеей. Относительный путь же изменится. В Сизифе можно попробовать убрать, посмотрим, будут ли проблемы.
Вопрос не о симлинке, а о удалении /lib/devicetree
(Ответ для Vitaly Chikunov на комментарий #4) > Вопрос не о симлинке, а о удалении /lib/devicetree $ rpm -qf /lib/devicetree файл /lib/devicetree не принадлежит ни одному из пакетов А её кто-то пакует? Пакуется симлинк /lib/devicetree/ядро Раньше это был каталог. У других ядер это каталог до сих пор. bootloader-utils 0.5.4-alt1 поддерживает как /lib/devicetree/ядро, так и /boot/devicetree/ядро. В ядрах un-def и std-def в Сизифе можно не паковать симлинк /lib/devicetree/ядро. Каталог /lib/devicetree никогда и не паковался.
Ну я не про паковку "/lib/devicetree", а про "/lib/devicetree/ядро" -- тогда может лучше не делать (не паковать) этот симлинк вообще. "Всегда надо попробовать решить проблему удалением." > В ядрах un-def и std-def в Сизифе можно не паковать симлинк /lib/devicetree/ядро 👍
%ifarch aarch64 pushd %buildroot/boot/devicetree/$KernelVer/ find . -mindepth 2 -type f | \ while read f; do ln -srv "$f" "$(basename $f)"; done popd %endif А зачем эти симлинки - может они тоже не нужны?
(Ответ для Vitaly Chikunov на комментарий #7) > %ifarch aarch64 > pushd %buildroot/boot/devicetree/$KernelVer/ > find . -mindepth 2 -type f | \ > while read f; do ln -srv "$f" "$(basename $f)"; done > popd > %endif > > А зачем эти симлинки - может они тоже не нужны? Они для старых u-boot, у которых в пути до dtb не указан vendor. Думаю, что в p11 нужно ещё будет, для тех, кто с p10 обновляется со старым u-boot. К сожалению, u-boot мы не обновляем. Т.е. лишь ближе к p12 можно будет точно убрать этот костылик.
kernel-image-un-def-1:6.5.9-alt1 -> sisyphus: Wed Oct 25 2023 Kernel Bot <kernelbot@altlinux> 1:6.5.9-alt1 - v6.5.9 (2023-10-25). - Remove symlinking to /lib/devicetree (ALT#48055).
(Ответ для Антон Мидюков на комментарий #8) > (Ответ для Vitaly Chikunov на комментарий #7) > > %ifarch aarch64 > > pushd %buildroot/boot/devicetree/$KernelVer/ > > find . -mindepth 2 -type f | \ > > while read f; do ln -srv "$f" "$(basename $f)"; done > > popd > > %endif > > > > А зачем эти симлинки - может они тоже не нужны? > > Они для старых u-boot, у которых в пути до dtb не указан vendor. Думаю, что > в p11 нужно ещё будет, для тех, кто с p10 обновляется со старым u-boot. К > сожалению, u-boot мы не обновляем. Т.е. лишь ближе к p12 можно будет точно > убрать этот костылик. Думаю, что уже можно и убрать, как в Сизифе, так и p11. Для p10 только оставить.
(In reply to Антон Мидюков from comment #10) > Думаю, что уже можно и убрать, как в Сизифе, так и p11. Для p10 только > оставить. Что именно можно убрать? Код из цитирования или из коммита "kb/std-def/sisyphus} Remove symlinking to /lib/devicetree"? Было бы неплохо чтоб это отсылалось в виде патча, в devel-kernel.
(Ответ для Vitaly Chikunov на комментарий #11) > (In reply to Антон Мидюков from comment #10) > > Думаю, что уже можно и убрать, как в Сизифе, так и p11. Для p10 только > > оставить. > > Что именно можно убрать? Код из цитирования или из коммита > "kb/std-def/sisyphus} Remove symlinking to /lib/devicetree"? > > Было бы неплохо чтоб это отсылалось в виде патча, в devel-kernel. Код из цитирования для создания симлинков.
Хорошо.
Добавил в 6.10/sisyphus 6.9/sisyphus un-def/sisyphus std-def/sisyphus un-def/p11 std-def/p11