31 lines
1.1 KiB
Diff
31 lines
1.1 KiB
Diff
|
commit 4018bbd08e84fd0cc227dcb8d2dc20693ce2296a
|
||
|
Author: Panu Matilainen <pmatilai@redhat.com>
|
||
|
Date: Tue Sep 15 10:56:58 2009 +0300
|
||
|
|
||
|
Allow absolute paths in file lists again (SuseBug:535594, RhBug:521760)
|
||
|
- patch from OpenSUSE / Michael Schroeder
|
||
|
- build-time generated file lists should be placed in the build directory,
|
||
|
but at least one valid use case for this is things like %files -f %{SOURCE10}
|
||
|
|
||
|
diff --git a/build/files.c b/build/files.c
|
||
|
index b5c5437..061494d 100644
|
||
|
--- a/build/files.c
|
||
|
+++ b/build/files.c
|
||
|
@@ -1755,9 +1755,13 @@ static rpmRC processPackageFiles(rpmSpec spec, Package pkg,
|
||
|
|
||
|
argvSplit(&filelists, getStringBuf(pkg->fileFile), "\n");
|
||
|
for (fp = filelists; *fp != NULL; fp++) {
|
||
|
- ffn = rpmGetPath("%{_builddir}/",
|
||
|
- (spec->buildSubdir ? spec->buildSubdir : "") ,
|
||
|
- "/", *fp, NULL);
|
||
|
+ if (**fp == '/') {
|
||
|
+ ffn = rpmGetPath(*fp, NULL);
|
||
|
+ } else {
|
||
|
+ ffn = rpmGetPath("%{_builddir}/",
|
||
|
+ (spec->buildSubdir ? spec->buildSubdir : "") ,
|
||
|
+ "/", *fp, NULL);
|
||
|
+ }
|
||
|
fd = fopen(ffn, "r");
|
||
|
|
||
|
if (fd == NULL || ferror(fd)) {
|