From: Michael Tremer Date: Sun, 11 Dec 2011 17:56:52 +0000 (+0100) Subject: Convert all files in a source tarball to owner root. X-Git-Tag: 0.9.19~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b47897ca161e9e28149b10b05b396173f8c89767;p=pakfire.git 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. --- 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()