Bug 35620

Summary: rpm-build should NOT allow to change buildroot in %check section
Product: Sisyphus Reporter: Vladimir D. Seleznev <vseleznv>
Component: rpm-buildAssignee: placeholder <placeholder>
Status: NEW --- QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P3 CC: arseny, evg, glebfm, imz, ldv, placeholder, rider, vt
Version: unstable   
Hardware: all   
OS: Linux   

Description Vladimir D. Seleznev 2018-11-19 21:36:48 MSK
$subj
Comment 1 Anton Farygin 2018-11-20 07:32:55 MSK
А должен ?
Comment 2 Ivan Zakharyaschev 2018-11-20 13:22:26 MSK
Why?
Comment 3 Arseny Maslennikov 2025-01-14 15:17:56 MSK
(In reply to Vladimir D. Seleznev from comment #0)
> rpm-build should NOT allow to change buildroot in %check section
Я бы сказал, нужна инфраструктура, подвергающая тестированию то, что попадёт в %buildroot пакета. подвергается. Это может быть или не быть секция %check. Но, наверное, это другая бага.

В ряде пакетов задача уже решена индивидуально; например, к пакету systemd есть systemd-tests.

Я припоминаю частный разговор, где пришли к мысли, что это тест установки пакета в свежем чруте и работы того, что там упаковано.
Comment 4 Arseny Maslennikov 2025-01-14 15:25:20 MSK
(In reply to Vladimir D. Seleznev from comment #0)
> rpm-build should NOT allow to change buildroot in %check section
Сдаётся мне, что довольно малой кровью можно это обеспечить, применив какой-нибудь landlock. Но для этого может потребоваться изменить путь к buildroot, убрать[1] его из %_tmppath.

[1] https://lore.kernel.org/landlock/20240402.quaQuieyohd9@digikod.net/T/#t
Comment 5 Arseny Maslennikov 2025-01-14 15:45:51 MSK
BTW:

https://github.com/rpm-software-management/rpm/commit/9d35c8df497534e1fbd806a4dc78802bcf35d7cb
> This also moves SPECPARTS and BUILDROOT into the new directory, bringing
> both locations fully under rpm control. Remove the corresponding
> %specpartsdir and %buildroot entries from the main macros file, these
> are not user overridable.
Comment 6 Vitaly Chikunov 2025-01-14 20:19:47 MSK
Если это про Landlock, то и так было ясно, что дыру в Landlock можно обойти убрав %buildroot из TMPDIR.