File attr.patch of Package pesign-obs-integration

From f2d245886ad2e734922b17a8f1a3d24b5075c023 Mon Sep 17 00:00:00 2001
From: Callum Farmer <gmbr3@opensuse.org>
Date: Sat, 9 Jul 2022 16:15:26 +0100
Subject: [PATCH] Fix %attr issues

1) Avoid assigning %attr's to symlinks which causes rpmbuild spam
2) Change perms mask to 07777 to ensure SUID/SGID is copied over
---
 pesign-gen-repackage-spec | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/pesign-gen-repackage-spec b/pesign-gen-repackage-spec
index 688c375..ae7eba8 100755
--- a/pesign-gen-repackage-spec
+++ b/pesign-gen-repackage-spec
@@ -416,8 +416,6 @@ sub print_files {
 			$attrs .= "\%dir ";
 			utime($f->{mtime}, $f->{mtime}, $path);
 		}
-		$attrs .= sprintf('%%attr(%04o, %s, %s) ', ($f->{mode} & 0777),
-			$f->{owner}, $f->{group});
 		if ($f->{flags} & $filetypes{config}) {
 			$attrs .= "%config ";
 			my @cfg_attrs;
@@ -448,6 +446,10 @@ sub print_files {
 				symlink($f->{target}, $path);
 			}
 		}
+		unless (S_ISLNK($f->{mode})) {
+			$attrs .= sprintf('%%attr(%04o, %s, %s) ', ($f->{mode} & 07777),
+				$f->{owner}, $f->{group});
+		}
 		# mtime of symlinks is also not preserved by cpio
 		if (S_ISLNK($f->{mode})) {
 			# perl core does not provide lutimes()/utimensat()
openSUSE Build Service is sponsored by