Overview

Request 1227747 review

No description set
Loading...

Ana Guerrero's avatar

@ailiopoulos

Package libarchive appears in cycle e2fsprogs/libarchive


Anthony Iliopoulos's avatar

@anag+factory

I've added libarchive-devel to e2fsprogs as it is required to enable a specific feature (creating a fs directly from a tarball).

In turn, libarchive relies on libext2fs-devel for certain things (e.g. for extfs-specific flags).

What is the exact problem for OBS, concretely?


Ana Guerrero's avatar

You're creating a cycle between both packages. libarchive pulls libext2fs-devel and libext2fs for building and you're requiring here that e2fsprogs buildrequires libarchive to build.


Anthony Iliopoulos's avatar

How does OBS handle this? Because I haven't seen any build failures. We most likely have many more such cyclic dependencies between other packages, how do we handle those cases?


Jan Engelhardt's avatar

The problem is: you can't build e2fsprogs because you don't have a libarchive RPM yet, but you can't build libarchive either because you don't have a e2fsprogs RPM built yet.


Anthony Iliopoulos's avatar

I understand cyclic dependencies, I am just asking how we are dealing with those in OBS. This can't possibly be the first instance of this problem.


Jan Engelhardt's avatar

Essentially, by using two source packages / two build recipes / two runs of rpmbuild, the first one would be libarchive building just the library and without the use of e2fsprogs, and the second run would do the full set. (we have mechanisms to place the two runs in one .spec file, cf. libuna).


Anthony Iliopoulos's avatar

Right, but I still do not know what exactly needs to be done specifically (if anything) for libarchive or e2fsprogs, as I have no idea how OBS handles multiple build recipes/runs.

Looking at libuna, I see "@BUILD_FLAVOR" but I do not know how OBS handles this with multiple runs and when it sets this and to what value and under what circumstances.

I also notice that libarchive specfile builds with libext2fs-devel conditionally on centos/rhel version, which again I have no idea why this is there, but it seems like it should be already guarding against having libext2fs as a dep (even if this isn't necessarily the right way to encode this in the specfile).


Ana Guerrero's avatar

As you said, you need to use multibuild with a flavour with libarchive and another without. An example would be gettext-runtime, you can see the "gettext-runtime:gettext-runtime-mini" flavour that we use in ring0

https://build.opensuse.org/package/show/openSUSE:Factory:Rings:0-Bootstrap/gettext-runtime

while the users install later the packages provided by "gettext-runtime".

Request History
Jan Kara's avatar

jankara created request


Ana Guerrero's avatar

anag+factory set openSUSE:Factory:Staging:H as a staging project

Being evaluated by staging project "openSUSE:Factory:Staging:H"


Ana Guerrero's avatar

anag+factory accepted review

Picked "openSUSE:Factory:Staging:H"


Factory Auto's avatar

factory-auto added opensuse-review-team as a reviewer

Please review sources


Factory Auto's avatar

factory-auto accepted review

Check script succeeded


Dominique Leuenberger's avatar

dimstar accepted review


Saul Goodman's avatar

licensedigger accepted review

The legal review is accepted preliminary. The package may require actions later on.


Ana Guerrero's avatar

anag+factory added factory-staging as a reviewer

Being evaluated by group "factory-staging"


Ana Guerrero's avatar

anag+factory accepted review

Unstaged from project "openSUSE:Factory:Staging:H"


Ana Guerrero's avatar

anag+factory set openSUSE:Factory:Staging:G as a staging project

Being evaluated by staging project "openSUSE:Factory:Staging:G"


Ana Guerrero's avatar

anag+factory accepted review

Picked "openSUSE:Factory:Staging:G"


Ana Guerrero's avatar

anag+factory added factory-staging as a reviewer

Being evaluated by group "factory-staging"


Ana Guerrero's avatar

anag+factory accepted review

Unstaged from project "openSUSE:Factory:Staging:G"

openSUSE Build Service is sponsored by