From b47897ca161e9e28149b10b05b396173f8c89767 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 11 Dec 2011 18:56:52 +0100 Subject: [PATCH] Convert all files in a source tarball to owner root. Sometimes, when files had crappy owners, there has been an issue in extrating the properly. To overcome that and also to overcome that users can take benefit from weird owners, we will change that to user root. When extracting the source package, we may replace that if we feel so. --- python/pakfire/packages/packager.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/python/pakfire/packages/packager.py b/python/pakfire/packages/packager.py index 282696292..d17f7d38d 100644 --- a/python/pakfire/packages/packager.py +++ b/python/pakfire/packages/packager.py @@ -622,7 +622,17 @@ class SourcePackager(Packager): # Add all files in the package directory. for file in sorted(self.pkg.files): arcname = os.path.relpath(file, self.pkg.path) - datafile.add(file, arcname) + + # Get tarinfo from file that is to be added. + tarinfo = datafile.gettarinfo(file, arcname) + + # Modify owner/group of the file. All source files belong + # to root (at least in this package). + tarinfo.uname = tarinfo.gname = "root" + tarinfo.uid = tarinfo.gid = 0 + + # Add file to tarball. + datafile.addfile(tarinfo) datafile.close() -- 2.39.5