|
Igor Gnatenko |
53960f |
From 651d9355f6db9f4d1305c25af5a953289dc8ef47 Mon Sep 17 00:00:00 2001
|
|
Igor Gnatenko |
53960f |
From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
|
Igor Gnatenko |
53960f |
Date: Fri, 28 Jul 2017 15:21:00 +0200
|
|
Igor Gnatenko |
53960f |
Subject: [PATCH] exclude respective debug files for files which are excluded
|
|
Igor Gnatenko |
53960f |
|
|
Igor Gnatenko |
53960f |
Closes: https://github.com/rpm-software-management/rpm/issues/284
|
|
Igor Gnatenko |
53960f |
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
|
Igor Gnatenko |
53960f |
---
|
|
Igor Gnatenko |
53960f |
build/files.c | 17 ++++++++++++++++-
|
|
Igor Gnatenko |
53960f |
1 file changed, 16 insertions(+), 1 deletion(-)
|
|
Igor Gnatenko |
53960f |
|
|
Igor Gnatenko |
53960f |
diff --git a/build/files.c b/build/files.c
|
|
Igor Gnatenko |
53960f |
index 988b3b315..a29730998 100644
|
|
Igor Gnatenko |
53960f |
--- a/build/files.c
|
|
Igor Gnatenko |
53960f |
+++ b/build/files.c
|
|
Igor Gnatenko |
53960f |
@@ -1062,7 +1062,7 @@ static void genCpioListAndHeader(FileList fl, Package pkg, int isSrc)
|
|
Igor Gnatenko |
53960f |
/* Skip files that were marked with %exclude. */
|
|
Igor Gnatenko |
53960f |
if (flp->flags & RPMFILE_EXCLUDE)
|
|
Igor Gnatenko |
53960f |
{
|
|
Igor Gnatenko |
53960f |
- argvAdd(&pkg->fileExcludeList, flp->diskPath);
|
|
Igor Gnatenko |
53960f |
+ argvAdd(&pkg->fileExcludeList, flp->cpioPath);
|
|
Igor Gnatenko |
53960f |
continue;
|
|
Igor Gnatenko |
53960f |
}
|
|
Igor Gnatenko |
53960f |
|
|
Igor Gnatenko |
53960f |
@@ -2802,6 +2802,21 @@ static void filterDebuginfoPackage(rpmSpec spec, Package pkg,
|
|
Igor Gnatenko |
53960f |
}
|
|
Igor Gnatenko |
53960f |
path = _free(path);
|
|
Igor Gnatenko |
53960f |
}
|
|
Igor Gnatenko |
53960f |
+ /* Exclude debug files for files which were excluded in respective non-debug package */
|
|
Igor Gnatenko |
53960f |
+ for (ARGV_const_t excl = pkg->fileExcludeList; excl && *excl; excl++) {
|
|
Igor Gnatenko |
53960f |
+ const char *name = *excl;
|
|
Igor Gnatenko |
53960f |
+
|
|
Igor Gnatenko |
53960f |
+ /* generate path */
|
|
Igor Gnatenko |
53960f |
+ rasprintf(&path, "%s%s%s%s.debug", buildroot, DEBUG_LIB_DIR, name, uniquearch);
|
|
Igor Gnatenko |
53960f |
+ /* Exclude only debuginfo files which actually exist */
|
|
Igor Gnatenko |
53960f |
+ if (access(path, F_OK) == 0) {
|
|
Igor Gnatenko |
53960f |
+ char *line = NULL;
|
|
Igor Gnatenko |
53960f |
+ rasprintf(&line, "%%exclude %s", path + buildrootlen);
|
|
Igor Gnatenko |
53960f |
+ argvAdd(&files, line);
|
|
Igor Gnatenko |
53960f |
+ _free(line);
|
|
Igor Gnatenko |
53960f |
+ }
|
|
Igor Gnatenko |
53960f |
+ path = _free(path);
|
|
Igor Gnatenko |
53960f |
+ }
|
|
Igor Gnatenko |
53960f |
|
|
Igor Gnatenko |
53960f |
/* add collected directories to file list */
|
|
Igor Gnatenko |
53960f |
if (dirs) {
|