Germano Massullo wrote:
> # in noarch builds, %%{_libdir} is not defined in cmake, so the default
> # installation would try installing for example
> # file onepinopenscpkcs11.json
> # into /usr/lib/mozilla/pkcs11-modules/onepinopenscpkcs11.json
> # even if the system architecture is 64bit. This will lead to errors because
> # the %%files entry
> # %{_libdir}/mozilla/pkcs11-modules/onepinopenscpkcs11.json
> # would be defined as
> # /usr/lib64/mozilla/pkcs11-modules/onepinopenscpkcs11.json
> # that is different from the previous one is an architecture-dependent file. Its content
is different on different processor architectures, and it's also
installed with different pathnames on different architectures.
Therefore anything that refers to the file by its absolute pathname is
also architecture-dependent.

When you insert the pathname into onepinopenscpkcs11.json, that makes
the JSON file architecture-dependent. It must contain different
pathnames on different architectures. A noarch package cannot contain
such a file. "noarch" means that the package's content is exactly the
same on all architectures.

To make a noarch package you must find a way to have a relative
pathname in onepinopenscpkcs11.json – one that contains neither "lib"
nor "lib64" – and install the file in a directory that doesn't depend
on _libdir, perhaps somewhere under %{_datadir}/mozilla.

If that isn't possible, then you must remove "BuildArch: noarch" from
firefox-pkcs11-loader.spec, allowing the package to differ between
architectures, and use _libdir where applicable.

Björn Persson

Attachment: pgp98uBNMslD_.pgp
Description: OpenPGP digital signatur

devel mailing list --
To unsubscribe send an email to

Reply via email to