diff mbox series

Makefile: only run rpmspec if it exists

Message ID 20220104020643.2957571-1-adrian.ratiu@collabora.com (mailing list archive)
State New
Headers show
Series Makefile: only run rpmspec if it exists | expand

Commit Message

Adrian Ratiu Jan. 4, 2022, 2:06 a.m. UTC
keyutils is built on many distros which do not use rpm like
Gentoo, ChromeOS or Arch. Older versions of bash silently
ignored the fact that rpmspec was missing, but newer bash
like v5.1 issue a new error:

/bin/sh: line 1: rpmspec: command not found

This happens every time the Makefile is parsed, including
for a simple "make" invocation or "make install" even if
a rpm package is not desired.

Arch Linux simply ignores this new error but Gentoo and
ChromeOS fail because portage actively monitors the build
log for errors like this. See bug report [1].

Fix this by calling rpmspec only if it exists.

[1] https://bugs.gentoo.org/760633

Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 599b145..1b39e8a 100644
--- a/Makefile
+++ b/Makefile
@@ -285,7 +285,7 @@  SRCBALL	:= rpmbuild/SOURCES/$(TARBALL)
 ZSRCBALL := rpmbuild/SOURCES/$(ZTARBALL)
 
 BUILDID	:= .local
-rpmver0	:= $(shell rpmspec -q ./keyutils.spec --define "buildid $(BUILDID)")
+rpmver0	:= $(shell if which rpmspec >/dev/null 2>&1; then rpmspec -q ./keyutils.spec --define "buildid $(BUILDID)"; fi)
 rpmver1	:= $(word 1,$(rpmver0))
 rpmver2	:= $(subst ., ,$(rpmver1))
 rpmver3	:= $(lastword $(rpmver2))