After I removed wrong requirement on vixie-cron, which is long time dead and added new one, I couldn't build this package anymore. The build complained about missing m4, but it was always built fine without BR on m4 in the specfile. So, m4 is needed for work by selinux-policy-devel and this package requires m4, but it's not installed into buildroot. I suspect the new rpm. Investigating.
Ok, it's a bug in rpm. The selinux-policy has in BR m4 and also in Requires. See requires from koji builds: rpm -qp --requires selinux-policy-3.11.1-55.fc18.noarch.rpm /bin/awk /bin/sh /bin/sh /usr/bin/sha512sum config(selinux-policy) = 3.11.1-55.fc18 policycoreutils >= 2.1.13-34 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 rpm -qp --requires selinux-policy-3.10.0-161.fc17.noarch.rpm /bin/awk /bin/sh /bin/sh /usr/bin/sha512sum checkpolicy >= 2.1.9-4 config(selinux-policy) = 3.10.0-161.fc17 libsemanage >= 2.0.46-6 m4 policycoreutils >= 2.1.9-4 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 See? m4 is not in f18 build. I agree that specfile is meesy there are macros and missing commas, but it should work. If there is really a bug in rpm, then it could break many rebuilds and finding the root problem won't be easy. BuildRequires: python gawk checkpolicy >= %{CHECKPOLICYVER} m4 policycoreutils-python >= %{POLICYCOREUTILSVER} bzip2 Requires(pre): policycoreutils >= %{POLICYCOREUTILSVER} libsemanage >= 2.1.8-3 Requires(post): /bin/awk /usr/bin/sha512sum Requires: checkpolicy >= %{CHECKPOLICYVER} m4
Err... how does comparing two entirely different versions of a package make it rpm bug? m4 is listed as a build-require of selinux-policy, and build-requires do not (and must not) automatically become runtime dependencies. [pmatilai@localhost selinux-policy]$ fedpkg switch-branch f18 Switched to branch 'f18' [pmatilai@localhost selinux-policy]$ grep m4 selinux-policy.spec BuildRequires: python gawk checkpolicy >= %{CHECKPOLICYVER} m4 policycoreutils-devel >= %{POLICYCOREUTILSVER} bzip2 [pmatilai@localhost selinux-policy]$ fedpkg switch-branch f17 Switched to branch 'f17' [pmatilai@localhost selinux-policy]$ grep m4 selinux-policy.spec BuildRequires: python gawk checkpolicy >= %{CHECKPOLICYVER} m4 policycoreutils-python >= %{POLICYCOREUTILSVER} bzip2 Requires: checkpolicy >= %{CHECKPOLICYVER} m4 [pmatilai@localhost selinux-policy]$ There's the difference... whether intentional or not I've no idea.
I'm sorry, I look into master and f17 branch, which both contain m4 in BR and Requires. It looked like rpm is incorrectly parsing the specfile. So, m4 is missing in Requires only in f18 branch. Could someone fix it?
Fixed in elinux-policy-3.11.1-57.fc18.noarch
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle. Changing version to '19'. (As we did not run this process for some time, it could affect also pre-Fedora 19 development cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.) More information and reason for this action is here: https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora19
selinux-policy-3.12.1-28.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/FEDORA-2013-5045/selinux-policy-3.12.1-28.fc19
Package selinux-policy-3.12.1-28.fc19: * should fix your issue, * was pushed to the Fedora 19 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing selinux-policy-3.12.1-28.fc19' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2013-5045/selinux-policy-3.12.1-28.fc19 then log in and leave karma (feedback).
selinux-policy-3.12.1-28.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.