teknoraver / rpms / rpm

Forked from rpms/rpm 4 months ago
Clone
Blob Blame History Raw
From 5bc9efa303efe933b02cc8679ef3134668839831 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Thu, 9 Mar 2017 15:52:12 +0100
Subject: [PATCH] build/files.c: Unset __debug_package implies missing
 build-ids aren't fatal.

Historically we have only checked build_ids when __debug_package was
defined. So don't terminate the build if __debug_package is unset, even
when _missing_build_ids_terminate_build is. Only warn.

Signed-off-by: Mark Wielaard <mark@klomp.org>
(cherry picked from commit 22260d3580fcdafa5579128401adf1a05d36f316)
---
 build/files.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/build/files.c b/build/files.c
index 274b38c62..b19abf299 100644
--- a/build/files.c
+++ b/build/files.c
@@ -1672,7 +1672,11 @@ static int generateBuildIDs(FileList fl)
     if (build_id_links == BUILD_IDS_NONE || rc != 0)
 	return rc;
 
-    int terminate = rpmExpandNumeric("%{?_missing_build_ids_terminate_build}");
+    /* Historically we have only checked build_ids when __debug_package
+       was defined. So don't terminate the build if __debug_package is
+       unset, even when _missing_build_ids_terminate_build is. */
+    int terminate = (rpmExpandNumeric("%{?_missing_build_ids_terminate_build}")
+		     && rpmExpandNumeric("%{?__debug_package}"));
 
     /* Collect and check all build-ids for ELF files in this package.  */
     int needMain = 0;