#737 src-only lookaside
Opened 6 years ago by pbabinca. Modified 6 years ago

tldr; I'd love to be able to provide lookaside which would be used only for resolving Buildrequires - requires of srpms.

I have a layered product for which I have optional flag for a variant enabled:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE variants PUBLIC "-//Red Hat, Inc.//DTD Variants info//EN" "variants2012.dtd">
<variants>
  <variant id="Server" name="Server" type="variant" has_optional="true">
    <arches>
      <arch>x86_64</arch>
    </arches>
    <groups>
      <group default="false">additional-packages</group>
    </groups>
  </variant>
</variants>

In gather part of pungi configuration file I have following options:

gather_method = "deps"
greedy_method = "build"

I don't want to ship build dependencies though. I have them available in completely different tag/yum repository. When I run pungi it fails on Server-optional variant with this excerpt:

...
Pungi:INFO: Getting sacks for arches ['x86_64', 'athlon', 'i686', 'i586', 'i486', 'i386', 'noarch', 'src']
...
Pungi:INFO: Added source package foo.src (repo: pungi-repo)
...
Pungi:INFO: Checking deps of foo.src
Pungi:INFO: Added python-devel.x86_64 (repo: lookaside-repo-0) for foo.src (Requires: python2-devel)
Pungi:INFO: Added python-sphinx.noarch (repo: lookaside-repo-1) for foo.src (Requires: python-sphinx)
Pungi:INFO: Added python-nose.noarch (repo: lookaside-repo-0) for foo.src (Requires: python-nose)
Pungi:INFO: Added python-coverage.x86_64 (repo: lookaside-repo-0) for foo.src (Requires: python-coverage)
Pungi:WARNING: Unresolvable dependency python-mock in foo.src
Pungi:INFO: Added pytest.noarch (repo: lookaside-repo-1) for foo.src (Requires: pytest)
...
SRPM(input): file:///mnt/redhat/brewroot/packages/foo/2.4.0.0/0.3.rc1.el7f/src/foo-2.4.0.0-0.3.rc1.el7f.src.rpm

This is because pungi enables Selfhosting for optional: https://docs.pagure.org/pungi/gathering.html#variant-types

After discussion with Luboš making Selfhosting configurable may not be a good idea because it would break a contract that defines optional.

I'd love to be able to provide lookaside - pointing to my buildrequires repo - that would be used only for srpms.


Login to comment on this ticket.

Metadata