How To Build Nss-util.i686 On CentOS 7 With Mock
Hello list,
I’m currently trying to build the i686 version of
http://vault.CentOS.org/7.5.1804/os/Source/SPackages/nss-util-3.34.0-2.el7.src.rpm
The x86_86 version works with mock, but I cannot figure out how to build the i686 version.
best regards,
Martin
5 thoughts on - How To Build Nss-util.i686 On CentOS 7 With Mock
Hi Martin,
You need to build a “epel-7-i386” mock profile and use that. Now I call it “epel” so it resembles the default profile, but there is no EPEL 32bit for EL7.
There is a 32bit CentOS 7 tree here http://mirror.CentOS.org/altarch/7/os/i386/
If there are deps required and are not there you’ll need to backport them from Fedora I guess.
So, you have to have a full i386 build root to build i386 arch packages
.. then only a subset of those built packages are actually used as multilib packages for x86_64.
as Nux! said, you have to use the i386 distro to build those.
The mock configs we use to build live here:
https://git.CentOS.org/tree/sig-core!bld-seven.git/master/mock
Obviously, you would need to modify them for your setup.
The file you are looking for is:
c7.1804.u.i686.cfg
>
> So, you have to have a full i386 build root to build i386 arch packages
> .. then only a subset of those built packages are actually used as
> multilib packages for x86_64.
>
> as Nux! said, you have to use the i386 distro to build those.
>
I have the problem, that in mock shell the file
/etc/rpm/macros.dist has a wrong entry in the dist section.
This complicates the process, because yum has trouble with dependency tracking.
You can (and likely should) pass in the %dist either by using this option when starting mock:
-D “dist“
Or by putting this value in your mock config file:
config_opts[‘macros’][‘%dist’] = ““
Either way, when you start mock at that point, the dist should then be whatever you want it to be.
I haven’t tested this.
I did this, then the build nspr rpm’s have the correct release tag, which improved the situation a bit.
But when I build nss-util src.rpm it refers to the nspre version with the old naming scheme and the build stops.
My solution was to build a higher version “1” of:
CentOS-release-7-5.1804.el7.CentOS.1.i686.rpm
which contains the correct /etc/rpm/marcos.dist.
(A rebuild with a higher number was sufficient)
Now it seems to work.