Bug 48055 - Заменить абсолютный симлинк на относительный
Summary: Заменить абсолютный симлинк на относительный
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: kernel-image-un-def (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Vitaly Chikunov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-10-18 12:17 MSK by Anton Farygin
Modified: 2023-10-26 00:01 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Farygin 2023-10-18 12:17:05 MSK
При обработке пакета (распаковкой в какой-то каталог) гораздо удобнее, если симплинк в нём будет не абсолюный а относительный.
Просьба поправить, с точки зрения использования разницы никакой нет.

/lib/devicetree/6.5.7-un-def-alt1 —> /boot/devicetree/6.5.7-un-def-alt1
Comment 1 Vitaly Chikunov 2023-10-21 20:42:04 MSK
@antohami зачем нужна дира /lib/devicetree? Может её не паковать?
Comment 2 Антон Мидюков 2023-10-22 04:50:37 MSK
(Ответ для Vitaly Chikunov на комментарий #1)
> @antohami зачем нужна дира /lib/devicetree? Может её не паковать?

Для обратной совместимости со скриптами, которые ожидают каталог /lib/devicetree/ядро/, а не /boot/devicetree/ядро/. Я думаю, что ничего страшного от замены на относительный симлинк не случится.
Comment 3 Антон Мидюков 2023-10-22 04:59:28 MSK
(Ответ для Антон Мидюков на комментарий #2)
> (Ответ для Vitaly Chikunov на комментарий #1)
> > @antohami зачем нужна дира /lib/devicetree? Может её не паковать?
> 
> Для обратной совместимости со скриптами, которые ожидают каталог
> /lib/devicetree/ядро/, а не /boot/devicetree/ядро/. Я думаю, что ничего
> страшного от замены на относительный симлинк не случится.

Хотя в виду usr-merge это не кажется хорошей идеей. Относительный путь же изменится. В Сизифе можно попробовать убрать, посмотрим, будут ли проблемы.
Comment 4 Vitaly Chikunov 2023-10-22 06:08:14 MSK
Вопрос не о симлинке, а о удалении /lib/devicetree
Comment 5 Антон Мидюков 2023-10-22 07:24:25 MSK
(Ответ для 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 никогда и не паковался.
Comment 6 Vitaly Chikunov 2023-10-22 19:46:05 MSK
Ну я не про паковку "/lib/devicetree", а про "/lib/devicetree/ядро" -- тогда может лучше не делать (не паковать) этот симлинк вообще. "Всегда надо попробовать решить проблему удалением."

> В ядрах un-def и std-def в Сизифе можно не паковать симлинк /lib/devicetree/ядро

👍
Comment 7 Vitaly Chikunov 2023-10-22 20:59:54 MSK
%ifarch aarch64
pushd %buildroot/boot/devicetree/$KernelVer/
find . -mindepth 2 -type f | \
       while read f; do ln -srv "$f" "$(basename $f)"; done
popd
%endif

А зачем эти симлинки - может они тоже не нужны?
Comment 8 Антон Мидюков 2023-10-23 04:33:27 MSK
(Ответ для 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 можно будет точно убрать этот костылик.
Comment 9 Repository Robot 2023-10-26 00:01:01 MSK
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).