Michael Schröder
cebe6dd1a8
OBS-URL: https://build.opensuse.org/package/show/Base:System/rpm?expand=0&rev=93
32 lines
1.2 KiB
Diff
32 lines
1.2 KiB
Diff
Allow "magic_and_path" flag to configure that files must
|
|
match both regexpes to be sent to the dependency generator.
|
|
|
|
--- build/rpmfc.c.orig 2011-05-16 10:46:20.000000000 +0000
|
|
+++ build/rpmfc.c 2011-05-16 11:02:56.000000000 +0000
|
|
@@ -613,6 +613,7 @@ static void rpmfcAttributes(rpmfc fc, co
|
|
const char *path = fullpath + fc->brlen;
|
|
int is_executable = 0;
|
|
struct stat st;
|
|
+ int magic_and_path;
|
|
if (stat(fullpath, &st) == 0) {
|
|
is_executable = (S_ISREG(st.st_mode)) &&
|
|
(st.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH));
|
|
@@ -630,10 +631,13 @@ static void rpmfcAttributes(rpmfc fc, co
|
|
continue;
|
|
|
|
/* Add attributes on libmagic type & path pattern matches */
|
|
- if (regMatch((*attr)->magic, ftype))
|
|
- argvAddTokens(&fc->fattrs[fc->ix], (*attr)->name);
|
|
- if (regMatch((*attr)->path, path))
|
|
- argvAddTokens(&fc->fattrs[fc->ix], (*attr)->name);
|
|
+ if ((*attr)->magic && (*attr)->path && hasAttr((*attr)->flags, "magic_and_path")) {
|
|
+ if (regMatch((*attr)->magic, ftype) && regMatch((*attr)->path, path))
|
|
+ argvAddTokens(&fc->fattrs[fc->ix], (*attr)->name);
|
|
+ } else {
|
|
+ if (regMatch((*attr)->magic, ftype) || regMatch((*attr)->path, path))
|
|
+ argvAddTokens(&fc->fattrs[fc->ix], (*attr)->name);
|
|
+ }
|
|
}
|
|
}
|
|
|