How To Build Nss-util.i686 On CentOS 7 With Mock

Home » CentOS » How To Build Nss-util.i686 On CentOS 7 With Mock
CentOS 5 Comments

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.