diff options
author | Lucas C. Villa Real <lucasvr@gmail.com> | 2017-01-01 20:30:31 -0200 |
---|---|---|
committer | Lucas C. Villa Real <lucasvr@gmail.com> | 2017-01-01 20:30:31 -0200 |
commit | 674fe65facf17062794d91f9b0aa22f5bc962d8e (patch) | |
tree | cb71e88cb02363bcadab702f579baac07fbb8912 | |
parent | 7e2aaa82e0bb460c85012a098f568dbb196a711e (diff) | |
download | ThirdPartyInstallers-674fe65facf17062794d91f9b0aa22f5bc962d8e.tar.xz |
Filter out dependencies on rpmlib from "rpminfo --dependencies".
-rwxr-xr-x | bin/InstallPackage-RPM | 12 | ||||
-rw-r--r-- | 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 <unistd.h> #include <errno.h> +#define _RPMEVR_INTERNAL #include <rpm/rpmio.h> #include <rpm/rpmcli.h> #include <rpm/pkgio.h> @@ -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) |