From 674fe65facf17062794d91f9b0aa22f5bc962d8e Mon Sep 17 00:00:00 2001 From: "Lucas C. Villa Real" Date: Sun, 1 Jan 2017 20:30:31 -0200 Subject: Filter out dependencies on rpmlib from "rpminfo --dependencies". --- bin/InstallPackage-RPM | 12 ------------ src/rpminfo.c | 6 +++++- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/bin/InstallPackage-RPM b/bin/InstallPackage-RPM index 07f0793..989e607 100755 --- a/bin/InstallPackage-RPM +++ b/bin/InstallPackage-RPM @@ -219,9 +219,6 @@ function populate_dependencies() { elif is_basic_symbol "$dependency" then Log_Verbose "Skipping basic symbol: $dependency" - elif is_rpmlib_symbol "$dependency" - then - Log_Verbose "Skipping internal symbol: $dependency" elif is_inputfile "$dependency" then Log_Verbose "Skipping dependency passed as input file: $dependency" @@ -419,15 +416,6 @@ function is_basic_symbol() { return 1 } -function is_rpmlib_symbol() { - local dependency="$1" - echo "$dependency" | grep -q "^VersionedDependencies" && return 0 - echo "$dependency" | grep -q "^PayloadFilesHavePrefix" && return 0 - echo "$dependency" | grep -q "^CompressedFileNames" && return 0 - echo "$dependency" | grep -q "^PayloadIs" && return 0 - return 1 -} - function deduce_program_name() { local rpmfile="$1" local name=$(rpminfo --name "$rpmfile") diff --git a/src/rpminfo.c b/src/rpminfo.c index 591f284..cf39c08 100644 --- a/src/rpminfo.c +++ b/src/rpminfo.c @@ -12,6 +12,7 @@ #include #include +#define _RPMEVR_INTERNAL #include #include #include @@ -52,7 +53,10 @@ void print_dependencies(Header *hdr) const char *name = rpmdsN(depinfo); const char *version= rpmdsEVR(depinfo); evrFlags flags = rpmdsFlags(depinfo); - + if (flags & RPMSENSE_RPMLIB) { + /* ignore dependencies on rpmlib features */ + continue; + } printf("%s", name); if (version && strlen(version)) { if (flags) -- cgit v1.1