On 02/15/2017 03:41 AM, Johnny Hughes wrote:> On 02/15/2017 02:39 AM, Stijn De Weirdt wrote: >> hi all, >> >> i'm trying to rebuild the current sssd-client.i686 rpm that is part of >> the x86_64 repo, but i fail to do so. rebuilding the sssd.src.rpm on >> x86_64 does not produce this rpm. >> >> i can rebuild sssd.src.rpm with --target=i686, but that sssd-client rpm >> has conflicts and a whole bunch of i686 deps that the rpm from the >> centos repo doesn't have. >> >> tips/help welcome > > I'll assume CentOS-7 as you don't really say which version. This works > for CentOS-6 as well though. > > RHEL-7 does not contain a full i686 tree, only some of that tree in the > form of multilib packages. However to BUILD those i686 packages, you > need a full i686 repo in your build system. > > CentOS-7 does actually have an AltArch i686 SIG that produces a fully > installable i686 arch. You could use this arch and mock to build i686 > packages on an x86_64 CentOS-7 machine. > > You always want to build SRPMs in mock instead of using rpmbuild on a > normal system because when building the configure files look for things > to link against .. if it finds extra things installed on your system > (like desktop files or extra repository packages) it can link against > those files and then require things you don't want. Mock creates a > separate minimal chroot and adds only requirements of the specific SRPM > to that minimal root. The RPMs produced are then only linked against > that very controlled build root. > > There are mock configs for both CentOS-6 i386 and CentOS-7 i386 that > will work to build packages in mock and use the CentOS Base and Updates > repos by default. > > You can also see all the mock configs we use on CentOS-7 here: > > https://git.centos.org/tree/sig-core!bld-seven.git/37012c4fe4f69aa649fdb3e9b1ec002aafd2054f/mockI forgot to say that we have a mock in centos extras for CentOS-7. You can get it with: yum install mock -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: OpenPGP digital signature URL: <http://lists.centos.org/pipermail/centos/attachments/20170215/80d293e4/attachment-0001.sig>
hi johnny, apologies, yes this is centos7 on x86_64. i had to set PKGCONFIG_DIR, but that looked like the only thing. i'll give mock a try and see what comes out. thanks a lot stijn On 02/15/2017 10:44 AM, Johnny Hughes wrote:> On 02/15/2017 03:41 AM, Johnny Hughes wrote: >> On 02/15/2017 02:39 AM, Stijn De Weirdt wrote: >>> hi all, >>> >>> i'm trying to rebuild the current sssd-client.i686 rpm that is part of >>> the x86_64 repo, but i fail to do so. rebuilding the sssd.src.rpm on >>> x86_64 does not produce this rpm. >>> >>> i can rebuild sssd.src.rpm with --target=i686, but that sssd-client rpm >>> has conflicts and a whole bunch of i686 deps that the rpm from the >>> centos repo doesn't have. >>> >>> tips/help welcome >> >> I'll assume CentOS-7 as you don't really say which version. This works >> for CentOS-6 as well though. >> >> RHEL-7 does not contain a full i686 tree, only some of that tree in the >> form of multilib packages. However to BUILD those i686 packages, you >> need a full i686 repo in your build system. >> >> CentOS-7 does actually have an AltArch i686 SIG that produces a fully >> installable i686 arch. You could use this arch and mock to build i686 >> packages on an x86_64 CentOS-7 machine. >> >> You always want to build SRPMs in mock instead of using rpmbuild on a >> normal system because when building the configure files look for things >> to link against .. if it finds extra things installed on your system >> (like desktop files or extra repository packages) it can link against >> those files and then require things you don't want. Mock creates a >> separate minimal chroot and adds only requirements of the specific SRPM >> to that minimal root. The RPMs produced are then only linked against >> that very controlled build root. >> >> There are mock configs for both CentOS-6 i386 and CentOS-7 i386 that >> will work to build packages in mock and use the CentOS Base and Updates >> repos by default. >> >> You can also see all the mock configs we use on CentOS-7 here: >> >> https://git.centos.org/tree/sig-core!bld-seven.git/37012c4fe4f69aa649fdb3e9b1ec002aafd2054f/mock > > I forgot to say that we have a mock in centos extras for CentOS-7. You > can get it with: > > yum install mock > > > > > _______________________________________________ > CentOS mailing list > CentOS at centos.org > https://lists.centos.org/mailman/listinfo/centos >
hi all, building with mock was pretty easy (esp easier then figuring out what build deps were required ;) anyway, for this specific case, following things needed to be taken in account: * do not copy all i686 rpms with the x86_64 ones in a single repo; was a huge mess. i ended up with same rpms that centos has in the x86_64 repo (sssd-client and some of the libsss rpms) * i was unable to mix the x86_64 copr sssd rpms with self build i686 ones. once i also rebuild the x86_64 ones, things worked out (wrt manpage conflicts) anyway, thanks a lot for the explanation! stijn On 02/15/2017 11:10 AM, Stijn De Weirdt wrote:> hi johnny, > > apologies, yes this is centos7 on x86_64. > > i had to set PKGCONFIG_DIR, but that looked like the only thing. > > i'll give mock a try and see what comes out. > > thanks a lot > > stijn > > On 02/15/2017 10:44 AM, Johnny Hughes wrote: >> On 02/15/2017 03:41 AM, Johnny Hughes wrote: >>> On 02/15/2017 02:39 AM, Stijn De Weirdt wrote: >>>> hi all, >>>> >>>> i'm trying to rebuild the current sssd-client.i686 rpm that is part of >>>> the x86_64 repo, but i fail to do so. rebuilding the sssd.src.rpm on >>>> x86_64 does not produce this rpm. >>>> >>>> i can rebuild sssd.src.rpm with --target=i686, but that sssd-client rpm >>>> has conflicts and a whole bunch of i686 deps that the rpm from the >>>> centos repo doesn't have. >>>> >>>> tips/help welcome >>> >>> I'll assume CentOS-7 as you don't really say which version. This works >>> for CentOS-6 as well though. >>> >>> RHEL-7 does not contain a full i686 tree, only some of that tree in the >>> form of multilib packages. However to BUILD those i686 packages, you >>> need a full i686 repo in your build system. >>> >>> CentOS-7 does actually have an AltArch i686 SIG that produces a fully >>> installable i686 arch. You could use this arch and mock to build i686 >>> packages on an x86_64 CentOS-7 machine. >>> >>> You always want to build SRPMs in mock instead of using rpmbuild on a >>> normal system because when building the configure files look for things >>> to link against .. if it finds extra things installed on your system >>> (like desktop files or extra repository packages) it can link against >>> those files and then require things you don't want. Mock creates a >>> separate minimal chroot and adds only requirements of the specific SRPM >>> to that minimal root. The RPMs produced are then only linked against >>> that very controlled build root. >>> >>> There are mock configs for both CentOS-6 i386 and CentOS-7 i386 that >>> will work to build packages in mock and use the CentOS Base and Updates >>> repos by default. >>> >>> You can also see all the mock configs we use on CentOS-7 here: >>> >>> https://git.centos.org/tree/sig-core!bld-seven.git/37012c4fe4f69aa649fdb3e9b1ec002aafd2054f/mock >> >> I forgot to say that we have a mock in centos extras for CentOS-7. You >> can get it with: >> >> yum install mock >> >> >> >> >> _______________________________________________ >> CentOS mailing list >> CentOS at centos.org >> https://lists.centos.org/mailman/listinfo/centos >> > _______________________________________________ > CentOS mailing list > CentOS at centos.org > https://lists.centos.org/mailman/listinfo/centos >