sysusers scriptlet failed for softhsm on riscv64

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux