Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=db03aa9c09d1d8939ce4b936f196e3029ec1e589

commit db03aa9c09d1d8939ce4b936f196e3029ec1e589
Author: Miklos Vajna <vmik...@frugalware.org>
Date:   Sun Jun 19 16:47:50 2011 +0200

pactest: fix gensync

Inspired by pacman.git's commit
fa933df65b9e024ec3291fcc1f995be3dc000e0c, by Xavier Chantry
<chantry.xav...@gmail.com>.

diff --git a/pactest/pmdb.py b/pactest/pmdb.py
index 19e3832..0b8b815 100644
--- a/pactest/pmdb.py
+++ b/pactest/pmdb.py
@@ -82,10 +82,12 @@ class pmdb:
"""Database object
"""

-       def __init__(self, treename, dbdir):
+       def __init__(self, treename, root):
self.treename = treename
-               self.dbdir = dbdir
self.pkgs = []
+               self.dbdir = os.path.join(root, PM_DBPATH, treename)
+               if self.treename != "local":
+                       self.dbfile = os.path.join(root, PM_DBPATH, treename + 
".fdb")

def __str__(self):
return "%s" % self.treename
@@ -101,7 +103,7 @@ class pmdb:
"""
"""

-               path = os.path.join(self.dbdir, self.treename)
+               path = self.dbdir
if not os.path.isdir(path):
return None

@@ -223,7 +225,7 @@ class pmdb:
"""
"""

-               path = os.path.join(self.dbdir, self.treename, pkg.dbname())
+               path = os.path.join(self.dbdir, pkg.dbname())
if not os.path.isdir(path):
os.makedirs(path);

@@ -322,24 +324,19 @@ class pmdb:
pkg.checksum["install"] = getsha1sum(filename)
pkg.mtime["install"] = getmtime(filename)

-       def gensync(self, path):
+       def gensync(self):
"""
"""

+               if not self.dbfile:
+                       return
curdir = os.getcwd()
-               tmpdir = tempfile.mkdtemp()
-               os.chdir(tmpdir)
-
-               for pkg in self.pkgs:
-                       mkdescfile(pkg.fullname(), pkg)
+               os.chdir(self.dbdir)

# Generate database archive
-               os.makedirs(path, 0755)
-               archive = os.path.join(path, "%s%s" % (self.treename, 
PM_EXT_DB))
-               os.system("tar zcf %s *" % archive)
+               os.system("tar zcf %s *" % self.dbfile)

os.chdir(curdir)
-               shutil.rmtree(tmpdir)

def ispkgmodified(self, pkg):
"""
diff --git a/pactest/pmtest.py b/pactest/pmtest.py
index a380004..334dbda 100644
--- a/pactest/pmtest.py
+++ b/pactest/pmtest.py
@@ -45,7 +45,7 @@ class pmtest:
"""
"""
if not treename in self.db:
-                       self.db[treename] = pmdb.pmdb(treename, 
os.path.join(self.root, PM_DBPATH))
+                       self.db[treename] = pmdb.pmdb(treename, self.root)
self.db[treename].pkgs.append(pkg)

def addpkg(self, pkg):
@@ -71,7 +71,7 @@ class pmtest:
self.args = ""
self.retcode = 0
self.db = {
-                       "local": pmdb.pmdb("local", os.path.join(self.root, 
PM_DBPATH))
+                       "local": pmdb.pmdb("local", self.root)
}
self.localpkgs = []
self.filesystem = []
@@ -150,9 +150,11 @@ class pmtest:
for key, value in self.db.iteritems():
if key == "local":
continue
-                       archive = value.treename + PM_EXT_DB
-                       vprint("\t" + os.path.join(SYNCREPO, archive))
-                       value.gensync(os.path.join(syncdir, value.treename))
+                       vprint("\t" + value.treename)
+                       value.gensync()
+                       serverpath = os.path.join(syncdir, value.treename)
+                       os.mkdir(serverpath)
+                       shutil.copy(value.dbfile, serverpath)

# Filesystem
vprint("    Populating file system")
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to