pungi.global.log
[ERROR ] [FAIL] Ostree (variant Silverblue, arch x86_64) failed, but going on anyway. [ERROR ] Runroot task failed: 33055064. See /mnt/koji/compose/rawhide/Fedora-Rawhide-20190226.n.0/logs/x86_64/Silverblue/ostree-1/runroot.log for more details.
[ERROR ] [FAIL] Buildinstall (variant Everything, arch i386) failed, but going on anyway. [ERROR ] Runroot task failed: None. See /mnt/koji/compose/rawhide/Fedora-Rawhide-20190226.n.0/logs/i386/buildinstall-Everything.i386.log for more details.
[ERROR ] [FAIL] Buildinstall (variant Server, arch i386) failed, but going on anyway. [ERROR ] Runroot task failed: None. See /mnt/koji/compose/rawhide/Fedora-Rawhide-20190226.n.0/logs/i386/buildinstall-Server.i386.log for more details.
[ERROR ] [FAIL] Buildinstall (variant Workstation, arch i386) failed, but going on anyway. [ERROR ] Runroot task failed: None. See /mnt/koji/compose/rawhide/Fedora-Rawhide-20190226.n.0/logs/i386/buildinstall-Workstation.i386.log for more details.
[ERROR ] [FAIL] Buildinstall (variant Server, arch x86_64) failed, but going on anyway. [ERROR ] Runroot task failed: None. See /mnt/koji/compose/rawhide/Fedora-Rawhide-20190226.n.0/logs/x86_64/buildinstall-Server.x86_64.log for more details.
[ERROR ] [FAIL] Buildinstall (variant Server, arch ppc64le) failed, but going on anyway. [ERROR ] Runroot task failed: None. See /mnt/koji/compose/rawhide/Fedora-Rawhide-20190226.n.0/logs/ppc64le/buildinstall-Server.ppc64le.log for more details.
[ERROR ] [FAIL] Buildinstall (variant Everything, arch ppc64le) failed, but going on anyway. [ERROR ] Runroot task failed: None. See /mnt/koji/compose/rawhide/Fedora-Rawhide-20190226.n.0/logs/ppc64le/buildinstall-Everything.ppc64le.log for more details.
[OSTREE_INSTALLER] [ERROR ] [FAIL] Ostree installer (variant Silverblue, arch x86_64) failed, but going on anyway. [OSTREE_INSTALLER] [ERROR ] Runroot task failed: 33055110. See /mnt/koji/compose/rawhide/Fedora-Rawhide-20190226.n.0/logs/x86_64/Silverblue/ostree_installer-1/runroot.log for more details.
[ERROR ] [FAIL] Buildinstall (variant Server, arch aarch64) failed, but going on anyway. [ERROR ] Runroot task failed: None. See /mnt/koji/compose/rawhide/Fedora-Rawhide-20190226.n.0/logs/aarch64/buildinstall-Server.aarch64.log for more details.
[ERROR ] [FAIL] Buildinstall (variant Server, arch armhfp) failed, but going on anyway. [ERROR ] Runroot task failed: None. See /mnt/koji/compose/rawhide/Fedora-Rawhide-20190226.n.0/logs/armhfp/buildinstall-Server.armhfp.log for more details.
[ERROR ] [FAIL] Buildinstall (variant Everything, arch s390x) failed, but going on anyway. [ERROR ] Runroot task failed: None. See /mnt/koji/compose/rawhide/Fedora-Rawhide-20190226.n.0/logs/s390x/buildinstall-Everything.s390x.log for more details.
[ERROR ] [FAIL] Buildinstall (variant Server, arch s390x) failed, but going on anyway. [ERROR ] Runroot task failed: None. See /mnt/koji/compose/rawhide/Fedora-Rawhide-20190226.n.0/logs/s390x/buildinstall-Server.s390x.log for more details.
[ERROR ] Compose run failed: Runroot task failed: None. See /mnt/koji/compose/rawhide/Fedora-Rawhide-20190226.n.0/logs/x86_64/buildinstall-Everything.x86_64.log for more details.
2019-02-26 06:30:21,359: Preparing transaction from installation source Preparing transaction from installation source 2019-02-26 06:30:22,086: The transaction process has ended abruptly: /bin/sh is needed by selinux-policy-targeted-3.14.4-1.fc31.noarch The transaction process has ended abruptly: /bin/sh is needed by selinux-policy-targeted-3.14.4-1.fc31.noarch 2019-02-26 06:30:22,086: template command error in runtime-install.tmpl: template command error in runtime-install.tmpl: 2019-02-26 06:30:22,086: run_pkg_transaction run_pkg_transaction 2019-02-26 06:30:22,087: dnf.exceptions.TransactionCheckError: /bin/sh is needed by selinux-policy-targeted-3.14.4-1.fc31.noarch dnf.exceptions.TransactionCheckError: /bin/sh is needed by selinux-policy-targeted-3.14.4-1.fc31.noarch Traceback (most recent call last): File "/usr/sbin/lorax", line 208, in <module> main() File "/usr/sbin/lorax", line 202, in main squashfs_only=opts.squashfs_only) File "/usr/lib/python3.7/site-packages/pylorax/__init__.py", line 269, in run rb.install() File "/usr/lib/python3.7/site-packages/pylorax/treebuilder.py", line 121, in install self._runner.run("runtime-install.tmpl") File "/usr/lib/python3.7/site-packages/pylorax/ltmpl.py", line 142, in run self._run(commands) File "/usr/lib/python3.7/site-packages/pylorax/ltmpl.py", line 161, in _run f(*args) File "/usr/lib/python3.7/site-packages/pylorax/ltmpl.py", line 651, in run_pkg_transaction self.dbo.do_transaction(display=display) File "/usr/lib/python3.7/site-packages/dnf/base.py", line 844, in do_transaction raise dnf.exceptions.TransactionCheckError(msg) dnf.exceptions.TransactionCheckError: /bin/sh is needed by selinux-policy-targeted-3.14.4-1.fc31.noarch
So we have about 2939 packages requiring /bin/sh - I guess selinux-policy-targeted does it for scriptlets:
Provides: config(selinux-policy) = 3.14.4-1.fc31 selinux-policy = 3.14.4-1.fc31 Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(pre): policycoreutils >= 2.8 Requires(post): /bin/awk /bin/sh /usr/bin/sha512sum Requires(postun): /bin/sh Processing files: selinux-policy-sandbox-3.14.4-1.fc31.noarch Provides: selinux-policy-sandbox = 3.14.4-1.fc31 Requires(interp): /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(pre): selinux-policy-base = 3.14.4-1.fc31 selinux-policy-targeted = 3.14.4-1.fc31 Requires(post): /bin/sh Requires(preun): /bin/sh Processing files: selinux-policy-devel-3.14.4-1.fc31.noarch Provides: selinux-policy-devel = 3.14.4-1.fc31 Requires(interp): /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(pre): selinux-policy = 3.14.4-1.fc31 Requires(post): /bin/sh policycoreutils-devel >= 2.8 Requires: /usr/bin/bash Processing files: selinux-policy-doc-3.14.4-1.fc31.noarch Provides: selinux-policy-doc = 3.14.4-1.fc31 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(pre): selinux-policy = 3.14.4-1.fc31 Processing files: selinux-policy-targeted-3.14.4-1.fc31.noarch Provides: config(selinux-policy-targeted) = 3.14.4-1.fc31 selinux-policy-base = 3.14.4-1.fc31 selinux-policy-targeted = 3.14.4-1.fc31 Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(pre): /bin/sh coreutils policycoreutils >= 2.8 selinux-policy = 3.14.4-1.fc31 Requires(post): /bin/sh Requires(postun): /bin/sh Requires(pretrans): /bin/sh Requires(posttrans): /bin/sh Conflicts: 389-admin < 1.1.12 389-ds-base < 1.2.7 audispd-plugins <= 1.7.7-1 container-selinux < 2:1.12.1-22 seedit Obsoletes: cachefilesd-selinux <= 0.10-1 mod_fcgid-selinux <= 3.14.4-1.fc31 selinux-policy-targeted-sources < 2 Processing files: selinux-policy-minimum-3.14.4-1.fc31.noarch Provides: config(selinux-policy-minimum) = 3.14.4-1.fc31 selinux-policy-base = 3.14.4-1.fc31 selinux-policy-minimum = 3.14.4-1.fc31 Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(pre): /bin/sh coreutils selinux-policy = 3.14.4-1.fc31 Requires(post): /bin/sh policycoreutils-python-utils >= 2.8 Requires(postun): /bin/sh Requires(pretrans): /bin/sh Requires(posttrans): /bin/sh Conflicts: container-selinux <= 1.9.0-9 seedit Processing files: selinux-policy-mls-3.14.4-1.fc31.noarch BUILDSTDERR: warning: File listed twice: /var/lib/selinux/mls/active/modules/100/unprivuser BUILDSTDERR: warning: File listed twice: /var/lib/selinux/mls/active/modules/100/unprivuser/cil BUILDSTDERR: warning: File listed twice: /var/lib/selinux/mls/active/modules/100/unprivuser/hll BUILDSTDERR: warning: File listed twice: /var/lib/selinux/mls/active/modules/100/unprivuser/lang_ext Provides: config(selinux-policy-mls) = 3.14.4-1.fc31 selinux-policy-base = 3.14.4-1.fc31 selinux-policy-mls = 3.14.4-1.fc31 Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(pre): /bin/sh coreutils policycoreutils >= 2.8 selinux-policy = 3.14.4-1.fc31 Requires(post): /bin/sh Requires(postun): /bin/sh Requires(pretrans): /bin/sh Requires(posttrans): /bin/sh
bash-0:5.0.2-1.fc30 provides it:
$ dnf repoquery --repo=rawhide --provides bash-0:5.0.2-1.fc30.x86_64 | grep /bin/sh /bin/sh
It is tagged to f31. What's wrong?
Also, should we change rpm to require /usr/bin/sh instead?
Could be a transaction ordering issue where there is a cyclic dep in the transaction and rpm breaks the cycle by installing selinux-policy-targeted first and bash later in the transaction.
This is my assumption as well.
Looking into it some more, looks like selinux-policy-targeted grew a "Requires(pretrans): /bin/sh" since last successful compose which would explain why the issue showed up now.
https://paste.fedoraproject.org/paste/C~KX0gpevXmNQKisaOqCRA is the git diff between last two builds.
@lvrabec Any ideas?
Well, this is likely an autogenerated dep produced by the use of shell script in %pretrans (the use of the new backupConfig() macro).
%pretrans
backupConfig()
IIRC, isn't use of bash in %pretrans disallowed for precisely this reason - it's not valid for new installs? At the %pretrans phase of a new install, no shell is installed. Wasn't this the case where you're required to use lua or something?
http://rpm.org/user_doc/lua.html
"The internal interpreter can run when there’s nothing at all installed yet, because it doesn’t need to be forked. Consider the initial install phase: before even /bin/sh is available to execute the simplest shell built-in commands, the shell’s dependencies will have to be installed. What if some of those need scriptlets? Internal Lua is the only thing that can reliably run in %pretrans. On initial system installation, there’s absolutely nothing in the environment where %pretrans scriptlets execute. This is a condition you cannot even detect with any other means: testing for existence of a file or directory would otherwise require a shell, which is not there."
I untagged that selinux-policy and fired a new compose.
Bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1683365