#1518 Fedora-Rawhide-20190226.n.0 DOOMED
Opened by dustymabe. Modified

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.
  • No Task ID, look at log statement
[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.
  • No Task ID, look at log statement
[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.
  • No Task ID, look at log statement
[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.
  • No Task ID, look at log statement
[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.
  • No Task ID, look at log statement
[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.
  • No Task ID, look at log statement
[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.
  • No Task ID, look at log statement
[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.
  • No Task ID, look at log statement
[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.
  • No Task ID, look at log statement
[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.
  • No Task ID, look at log statement
[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.
  • Compose run failed because: - No Task ID, look at log statement
[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.

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).

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

Metadata