Hi,

attempting to install softhsm on riscv64 currently results in the
following error:

  # dnf install -y softhsm
  ...
  >>> Running pre-install scriptlet: softhsm-0:2.6.1-11.rvre0.fc42.riscv64
  >>> Error in pre-install scriptlet: softhsm-0:2.6.1-11.rvre0.fc42.riscv64
  >>> Scriptlet output:
  >>> /var/tmp/rpm-tmp.gPQi2A: line 2: fg: no job control
  >>>
  >>> [RPM] %prein(softhsm-2.6.1-11.rvre0.fc42.riscv64) scriptlet
failed, exit status 1
  Transaction failed: Rpm transaction failed

I've spent some time investigating this and ultimately tracked it
down to the fact that apparently the %sysusers_create_package macro
was not expanded when the riscv64 package was built:

  # rpm -q --scripts softhsm-2.6.1-11.rvre0.fc42.riscv64.rpm
  preinstall scriptlet (using /bin/sh):

  %sysusers_create_package softhsm /builddir/build/SOURCES/softhsm-sysusers.conf
  postinstall program: /bin/sh

Compare this to the x86_64 package:

  # rpm -q --scripts softhsm-2.6.1-11.fc42.x86_64.rpm
  preinstall scriptlet (using /bin/sh):

  systemd-sysusers --replace=/usr/lib/sysusers.d/softhsm.conf -
<<SYSTEMD_INLINE_EOF || :
  u ods - "opendnssec daemon account"
  SYSTEMD_INLINE_EOF
  postinstall program: /bin/sh

The macro is defined in /usr/lib/rpm/macros.d/macros.systemd, part of
the systemd-rpm-macros package, and comparing the build logs for the
two packages sheds some light on the difference:

  
http://fedora.riscv.rocks/kojifiles/packages/softhsm/2.6.1/11.rvre0.fc42/data/logs/riscv64/mock_output.log
  
https://kojipkgs.fedoraproject.org/packages/softhsm/2.6.1/11.fc42/data/logs/i686/mock_output.log

For the x86_64 build, systemd-rpm-macros is installed, but for the
riscv64 it isn't. That would explain why the macro could not be
expanded in the latter case.

Now the question is, what has caused the package to be installed in
the x86_64 build environment? AFAICT there is no explicit
BuildRequires for it.

Is it intended that the dependency would be an indirect one? I always
thought it was good practice to explicitly depend on packages that
ship the macros your spec file uses, but maybe this case is
different? Maybe we just need to rebuild some packages in some
specific order on riscv64 to sort things out?

Thank you in advance for any help you might be able to provide :)

-- 
Andrea Bolognani / Red Hat / Virtualization

-- 
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to