summaryrefslogtreecommitdiffstats
path: root/pactest/pmpkg.py
diff options
context:
space:
mode:
Diffstat (limited to 'pactest/pmpkg.py')
-rwxr-xr-xpactest/pmpkg.py23
1 files changed, 12 insertions, 11 deletions
diff --git a/pactest/pmpkg.py b/pactest/pmpkg.py
index 3ee58156..48d79a35 100755
--- a/pactest/pmpkg.py
+++ b/pactest/pmpkg.py
@@ -20,6 +20,7 @@ import os
import tempfile
import stat
import shutil
+import tarfile
from util import *
@@ -153,25 +154,25 @@ class pmpkg:
for i in self.backup:
data.append("backup = %s" % i)
mkfile(".PKGINFO", "\n".join(data))
- targets = ".PKGINFO"
# .INSTALL
- empty = 1
if len(self.install.values()) > 0:
- empty = 0
- if not empty:
mkinstallfile(".INSTALL", self.install)
- targets += " .INSTALL"
- # package files
- if self.files:
- targets += " *"
-
- #safely create the dir
+ # safely create the dir
mkdir(os.path.dirname(self.path))
# Generate package archive
- os.system("tar zcf %s %s" % (self.path, targets))
+ tar = tarfile.open(self.path, "w:gz")
+
+ # package files
+ for root, dirs, files in os.walk('.'):
+ for d in dirs:
+ tar.add(os.path.join(root, d), recursive=False)
+ for f in files:
+ tar.add(os.path.join(root, f))
+
+ tar.close()
os.chdir(curdir)
shutil.rmtree(tmpdir)