From: Ben Crocker <[email protected]> [redhat] Makefile: new dist-buildreq-check target
Add a new dist-buildreq-check target that checks for missing packages via rpmspec -q --buildrequires, and make dist-configs-prep dependent on it. This change is based on suggestions from Josh Poimboeuf, Don Zickus, and Herton Krzesinski. Ultimately this is Herton's version, which generates the list of missing packages from an already-created kernel.spec file. Signed-off-by: Ben Crocker <[email protected]> diff a/redhat/Makefile b/redhat/Makefile --- a/redhat/Makefile +++ b/redhat/Makefile @@ -144,7 +144,7 @@ rh-configs: dist-configs dist-configs-check: dist-configs-prep cd $(REDHAT)/configs; ./process_configs.sh $(PROCESS_CONFIGS_CHECK_OPTS) $(PACKAGE_NAME) -dist-configs-prep: dist-clean-configs +dist-configs-prep: dist-clean-configs dist-buildreq-check cd $(REDHAT)/configs; ./build_configs.sh "$(PACKAGE_NAME)" "$(ARCH_MACH)" "$(FLAVOR)" dist-configs-arch: ARCH_MACH = $(MACH) @@ -210,6 +210,17 @@ dist-git-version-check: exit 1; \ fi +dist-buildreq-check: setup-source + @PKGLIST="rpm-build $(rpmspec -q --buildrequires $(SOURCES)/$(SPECFILE) | cut -d ' ' -f 1)"; \ + MISSING=""; \ + for pkg in $$PKGLIST; do \ + rpm -q --whatprovides $$pkg >/dev/null || MISSING="$$MISSING $$pkg"; \ + done; \ + if [ -n "$$MISSING" ]; then \ + echo "Error: please install $$MISSING"; \ + exit 1; \ + fi + setup-source: dist-git-version-check dist-clean-sources @cp $(REDHAT)/$(SPECFILE).template $(SOURCES)/$(SPECFILE) @if [ ! -e $(REDHAT)/$(CHANGELOG) ]; then \ @@ -265,7 +276,7 @@ sources-rh: $(TARBALL) generate-testpatch-tmp fi @(cd kabi-dwarf && tar cjf $(SOURCES)/$(KABIDW_TARFILE) base run_kabi-dw.sh) -dist-sources: setup-source dist-configs-check dist-kabi dist-kabi-dup sources-rh +dist-sources: dist-configs-check dist-kabi dist-kabi-dup sources-rh dist-test-patch: generate-testpatch-tmp @mv $(TESTPATCH).tmp $(TESTPATCH); @@ -515,6 +526,7 @@ dist-full-help: @echo '' @echo 'Misc targets:' + @echo ' dist-buildreq-check - Checks for presence of packages required for build' @echo ' dist-get-latest - Returns the latest "known good" kernel from brew. This' @echo ' should not be confused with the latest top-of-tree' @echo ' development tag.' -- https://gitlab.com/cki-project/kernel-ark/-/merge_requests/859 _______________________________________________ kernel mailing list -- [email protected] To unsubscribe send an email to [email protected] 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/[email protected]
