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
stijn
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/37012c4fe4f69aa649fdb3e9b...
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/37012c4fe4f69aa649fdb3e9b...
I forgot to say that we have a mock in centos extras for CentOS-7. You can get it with:
yum install mock
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/37012c4fe4f69aa649fdb3e9b...
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@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/37012c4fe4f69aa649fdb3e9b...
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@centos.org https://lists.centos.org/mailman/listinfo/centos
CentOS mailing list CentOS@centos.org https://lists.centos.org/mailman/listinfo/centos
Johnny,
https://git.centos.org/blob/sig-core! bld-seven.git/37012c4fe4f69aa649fdb3e9b1ec002aafd2054f/mock! c7-epel-i686.cfg
needs update to 1611
Sincerely
Andy