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

Tue Aug 8 20:49:26 UTC 2017
Brian Stinson <brian at bstinson.com>

On Aug 08 13:37, Troy Dawson wrote:
> 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.

^ Confirmed. The builders are not internet connected in any way.
Everything is pulled from a mirror internal to the datacenter, or from
CBS itself.

> 
> 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

The right thing to do here is to take libconfuse and its deps (perhaps
from EPEL SRPMs) and built it into the NFV Tags. 

Cheers!
--Brian