On Mon, Mar 17, 2025 at 9:02 PM Andrea Bolognani <abolo...@redhat.com> wrote:
>
> 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.

The same applies to any other arch (once it gets rebuilt in Koji).
Local (in mock) build produced:

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

%sysusers_create_package softhsm /builddir/build/SOURCES/softhsm-sysusers.conf

Compared to downloaded from the Koji:

% rpm -qp --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

david
-- 
_______________________________________________
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