Bug 48151 - pve-cluster: cyclic build dependency (blocks perl 5.38 update)
Summary: pve-cluster: cyclic build dependency (blocks perl 5.38 update)
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: pve-cluster (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 blocker
Assignee: Valery Inozemtsev
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 47870
  Show dependency tree
 
Reported: 2023-10-24 21:46 MSK by viy
Modified: 2023-11-03 20:18 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description viy 2023-10-24 21:46:10 MSK
pve-cluster при сборке вытягивает libpve-cluster-perl,
получается циклическая зависимость на самого себя.

Это блокирует обновление perl до 5.38.
Comment 1 Repository Robot 2023-10-26 00:37:34 MSK
pve-doc-generator-7.4.2-alt3 -> sisyphus:

 Wed Oct 25 2023 Andrew A. Vasilyev <andy@altlinux> 7.4.2-alt3
 - remove BR: libpve-cluster-perl (Closes: #48151)
Comment 2 viy 2023-10-28 13:05:08 MSK
надо проверять пересборкой pve-cluster.
pve-cluster при пересборке по-прежнему вытягивает libpve-cluster-perl,
так что проблема не ушла.
Comment 3 Andrew Vasilyev 2023-10-28 15:22:03 MSK
(Ответ для viy на комментарий #2)
> надо проверять пересборкой pve-cluster.
> pve-cluster при пересборке по-прежнему вытягивает libpve-cluster-perl,
> так что проблема не ушла.

  Для сборки pve-cluster нужен пакет pve-doc-generator, которому
  требуется libpve-cluster-perl. Так устроен upstream.
Comment 4 viy 2023-10-28 21:03:43 MSK
(Ответ для Andrew Vasilyev на комментарий #3)
> (Ответ для viy на комментарий #2)
> > надо проверять пересборкой pve-cluster.
> > pve-cluster при пересборке по-прежнему вытягивает libpve-cluster-perl,
> > так что проблема не ушла.
> 
>   Для сборки pve-cluster нужен пакет pve-doc-generator, которому
>   требуется libpve-cluster-perl. Так устроен upstream.

upstream не может не уметь собираться с нуля.
Предполагаю, что pve-doc-generator нужен только для сборки 
документации к pve-cluster.

Поэтому пакет нужно доработать.
Есть такое понятие, bootstrap.
Нужно добавить в пакет переключатель
%def_without bootstrap

обернуть зависимость на pve-doc-generator в
%if_without bootstrap
BuildRequres: pve-doc-generator
%if
и поправить спек, чтобы  %if_with bootstrap
то pve-cluster собирался без документации и соответственно
без зависимости на pve-doc-generator.

хочу обратить внимание на закрытый acl пакета:
pve-cluster     shrek shaba

если внести меня в список доступа пакета, я могу помочь с bootstrap.
Comment 5 Repository Robot 2023-10-30 16:28:56 MSK
pve-cluster-7.3.3-alt4 -> sisyphus:

 Sun Oct 29 2023 Andrew A. Vasilyev <andy@altlinux> 7.3.3-alt4
 - add bootstrap mode (Closes: #48151)
Comment 6 viy 2023-11-03 20:18:03 MSK
Вдогонку. Сразу с новым perl не собралось,
Processing files: libpve-cluster-api-perl-7.3.3-alt4
[...]
Finding Requires (using /usr/lib/rpm/find-requires)
[...]
failed to load library '/usr/lib64/perl5/auto/libpve_rs.so'
Compilation failed in require at /usr/share/perl5/PVE/AccessControl.pm line 25.
[...]
RPM build errors:
    Failed to find Requires

rpm -qf /usr/lib64/perl5/auto/libpve_rs.so
libpve-rs-perl-0.7.3-alt2.x86_64
оказалось, в chroot втягивается не пересобранный libpve-rs-perl,
не пересобранный из-за
https://bugzilla.altlinux.org/show_bug.cgi?id=48330

в эту пересборку я вручную добавлю libpve-rs-perl перед pve-cluster,
но на будущее надо также закрыть #48330, чтобы не наступать на эти грабли
каждое обновление perl.