Bug 49749 - 032-compress.brp и цепочки символических ссылок
Summary: 032-compress.brp и цепочки символических ссылок
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: rpm-build (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-03-20 14:06 MSK by Ivan A. Melnikov
Modified: 2024-03-20 14:43 MSK (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan A. Melnikov 2024-03-20 14:06:17 MSK
В пакете pari (а точнее, в его подпакете pari-gp) наблюдается следующая картина:

/usr/share/man/man1/gp-2.15.1.xz
/usr/share/man/man1/gp.1.xz -> gp-2.15.1.xz
/usr/share/man/man1/pari.1.xz -> gp.1.xz

Изначально, апстримный make install создаёт цепочку pari.1 -> gp.1 -> gp-2.15.1, затем наш 032-compress.brp это переделывает в пожатое.

Однако при сборке в догоняющем girar'e loongarch64 это не срабатывает:

Compressing files in /usr/src/tmp/pari-buildroot (auto)
032-compress.brp: ERROR: file /usr/src/tmp/pari-buildroot/usr/share/man/man1/pari.1 points to non-existent file gp.1
error: Bad exit status from /usr/src/tmp/rpm-tmp.87422 (%install)

Предположительно, дело в том, что 032-compress.brp обходит симлинки в том порядке, в котором их находит find, однако этот порядок не гарантируется, и может по каким-то причинам оказаться другим.
Comment 1 Ivan A. Melnikov 2024-03-20 14:20:03 MSK
(In reply to Ivan A. Melnikov from comment #0)
> Предположительно, дело в том, что 032-compress.brp обходит симлинки в том
> порядке, в котором их находит find, однако этот порядок не гарантируется, и
> может по каким-то причинам оказаться другим.

Я вот про этот find:

https://git.altlinux.org/gears/r/rpm-build.git?p=rpm-build.git;a=blob;f=scripts/brp-compress.in;h=b13795802d74e59e71da30dd580bbd53fba094fb;hb=eecc36404dea40865c02f2fd091f002fff2675a5#l127
Comment 2 Ivan A. Melnikov 2024-03-20 14:21:42 MSK
Решить это можно по-разному, но главный вопрос у меня сейчас такой:

rpm-build поддерживает цепочки символических ссылок на man'ы?
Comment 3 Anton Farygin 2024-03-20 14:43:41 MSK
Спасибо за репорт. Вчера тоже столкнулся с такой ошибкой на x86.
Вся проблема была в том, что ссылка man страницы из собираемого пакета смотрела в уже собранный. 
Я не нашёл способа решить такую ошибку и просто удалил такую ссылку.