[CentOS-devel] [Centos-devel][NFV] Is libconfuse-devel package missing from cbs?

Tue Aug 8 20:37:18 UTC 2017
Troy Dawson <tdawson at redhat.com>

On Tue, Aug 8, 2017 at 1:13 PM, Thomas F Herbert <therbert at redhat.com> wrote:
> Troy,
>
> Thanks. Please see below.
>
>
> On 08/08/2017 04:06 PM, Troy Dawson wrote:
>
> There is no package libconfuse (or libconfuse-devel) in cbs.
> That is only in epel, it isn't even in centos extras.
> The reason you are able to build the package locally, is because you
> have it installed locally, probrubly from epel.
>
> I understand that it is in epel. How do I install epel in CBS? Please see
> below where I successfully installed the epel-release RPM which in a local
> system installs the epel repo.
>
>
> On Tue, Aug 8, 2017 at 12:31 PM, Thomas F Herbert <therbert at redhat.com>
> wrote:
>
> All:
>
> Am I doing something wrong?
>
> I get this error in a recent build if vpp when encountering a BuildRequires
> pre-requisite in my spec file.
>
> Error: No Package found for libconfuse-devel
>
> I don't get a similar error building the same srpm when doing local builds
> with rpmbuild.
>
>
> ====================snip=========================
>
> cbs build --scratch nfv7-vpp-1710-el7 vpp-17.10-rc0~141_gcb58f95.src.rpm
>
> ,,,from koji logs
>
>  # /usr/bin/yum-builddep --installroot
> /var/lib/mock/nfv7-vpp-1710-el7-build-31560-42704/root/
> /var/lib/mock/nfv7-vpp-1710-el7-build-31560-42704/root//builddir/build/SRPMS/vpp-17.10-rc0~141_gcb58f95.src.rpm
> --setopt=tsflags=nocontexts
> Getting requirements for vpp-17.10-rc0~141_gcb58f95.src
>  --> Already installed : systemd-219-30.el7_3.9.x86_64
>  --> chrpath-0.13-14.el7.x86_64
>  --> epel-release-7-9.noarch
>
> Notice here that I state epel as a BuildRequires pre-req before I try to
> install libconfuse!
>
>  --> libffi-devel-3.0.13-18.el7.x86_64
>  --> 1:openssl-devel-1.0.1e-60.el7_3.1.x86_64
>  --> python-devel-2.7.5-48.el7.x86_64
>  --> python-virtualenv-1.10.1-3.el7.noarch
>  --> glibc-static-2.17-157.el7_3.5.x86_64
>  --> 1:java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64
>  --> 1:java-1.8.0-openjdk-devel-1.8.0.141-1.b16.el7_3.x86_64
>  --> yum-utils-1.1.31-40.el7.noarch
>  --> redhat-lsb-4.1-27.el7.centos.1.x86_64
> Error: No Package found for libconfuse-devel
>
> --Tom

Very interesting.  I didn't notice that.  But it wouldn't work, for two reasons.

1) First, libconfuse-devel is being determined at the same time as
epel-release.  It doesn't matter the order you have them in the spec
file, they all get yum resolved at the same time.  So epel-release
isn't installed when it's trying to determine libconfuse.

2) Everything below is a guess, I'll let one of the centos cbs
maintainers say if it's right.
On a production koji instance, you don't want random repo's being
pulled in during cbs build.  The result can be rather chaotic, because
then users don't know where their packages came from, unless they
trace through every root.log.
Because of this, most production koji instances don't let you pull in
anything outside of what they know and have setup.  In essense, epel,
and copr, and anything outside of centos land, is blocked.

In short, if you need libconfuse for your package to build in cbs,
then it has to be in CentOS or cbs (and properly tagged into the repo
you are using).

Troy