From: Jan Rękorajski Date: Fri, 19 Feb 2021 08:17:44 +0000 (+0100) Subject: - don't treat symlinks as executables when classyfying files for dependency extraction X-Git-Tag: auto/th/rpm-4.16.1.2-1~1 X-Git-Url: https://git.pld-linux.org/?p=packages%2Frpm.git;a=commitdiff_plain;h=d42a01a - don't treat symlinks as executables when classyfying files for dependency extraction If a symlink points to an executable, it would be added as duplicate, if not, then it should not be added. And in case of a symlink pointing to non-existing file (ex. absolute path) the build would break. --- diff --git a/rpm.spec b/rpm.spec index 9296756..98edca3 100644 --- a/rpm.spec +++ b/rpm.spec @@ -81,6 +81,7 @@ Patch30: missing-ghost-terminate-build.patch Patch31: missing-doc-terminate-build.patch Patch32: noexpand.patch Patch33: sqlite-db-backend.patch +Patch34: skip-symlinks.patch URL: https://rpm.org/ BuildRequires: acl-devel BuildRequires: db-devel >= %{db_ver} @@ -579,6 +580,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch31 -p1 %patch32 -p1 %patch33 -p1 +%patch34 -p1 install %{SOURCE15} scripts/perl.prov.in diff --git a/skip-symlinks.patch b/skip-symlinks.patch new file mode 100644 index 0000000..1f3eea5 --- /dev/null +++ b/skip-symlinks.patch @@ -0,0 +1,11 @@ +--- rpm-4.16.1.2/build/rpmfc.c~ 2021-01-24 09:43:15.000000000 +0100 ++++ rpm-4.16.1.2/build/rpmfc.c 2021-02-19 09:14:46.031544586 +0100 +@@ -1231,7 +1231,7 @@ + size_t slen = strlen(s); + int fcolor = RPMFC_BLACK; + rpm_mode_t mode = (fmode ? fmode[ix] : 0); +- int is_executable = (mode & (S_IXUSR|S_IXGRP|S_IXOTH)); ++ int is_executable = ((mode & S_IFREG) && (mode & (S_IXUSR|S_IXGRP|S_IXOTH))); + + switch (mode & S_IFMT) { + case S_IFCHR: ftype = "character special"; break;