On Tue, Aug 8, 2017 at 1:13 PM, Thomas F Herbert therbert@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@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