Re: rich deps result in packages being uninstalled from buildroot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 16, 2024 at 9:25 AM Zbigniew Jędrzejewski-Szmek
<zbyszek@xxxxxxxxx> wrote:
>
> Hi,
>
> I've been trying to get 'add-determinism' deployed in buildroots. This
> has been unsuccessful because of the following issue.
>
> The dependency chain is:
> redhat-rpm-config has
>   Requires build-reproducibility-srpm-macros
> and build-reproducibility-srpm-macros has
>   Requires:    (add-determinism if python3-libs else add-determinism-nopython)
>   Suggests:    add-determinism-nopython
>
> (The idea is that we install 'add-determinism-nopython' which is self-contained,
> but if python3 is installed into the buildroot, we pull in the heavier version
> which has a dependency on python3-libs.)
>
> This works well enough when installing packages using dnf on a test system.
> But, in koji and mock builds, this results in rpm-build being unistalled (!).
>
> For example, see https://koji.fedoraproject.org/koji/taskinfo?taskID=117684626
> and root.log there: first rpm-build is installed along with a bunch of other
> packages expected in the buildroot, but then cargo-rpm-macros is requested
> (presumably via %generate_buildrequires), which depends on python3 and
> python3-libs.
>
> Dnf5 realizes that to satisfy all bounds, it can either:
> a) install cargo-rpm-macros, python3, python3-libs, add-determinism, and remove add-determinism-nopython
> b) install cargo-rpm-macros, python3, python3-libs, and remove build-reproducibility-srpm-macros,
>    rpm-build, fonts-srpm-macros, redhat-rpm-config, and a few other packages.
> and picks option b).

This looks like you're putting the resolver between a rock and a hard
place. :thinking:
I don't think I've ever seen packages being *removed* when installing
BuildRequires on top of the minimal buildroot ...

Would it be possible to adapt the packages so that add-determinism and
add-determinism-nopython are parallel-installable, and have the macro
fall back to the add-determinism-nopython executable if the
add-determinism executable is not available?
That way BuildRequires are additive and wouldn't force package removal
from the buildroot, and the rich dependency could be simpler - i.e.
`Requires: (add-determinism if python3-libs)`, without Suggests or
else branch.

Fabio
--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux