[pacman-dev] [PATCH 4/5] Add epoch support to pactest

Dan McGee dan at archlinux.org
Fri Oct 8 11:02:47 EDT 2010


This adds epoch support to pactest, while still producing packages and
database entries the same way makepkg and repo-add currently do in a
backward compatible fashion (still including the 'force' option).

Signed-off-by: Dan McGee <dan at archlinux.org>
---
 test/pacman/pmdb.py  |   18 +++++++-----------
 test/pacman/pmpkg.py |    5 +++--
 test/pacman/util.py  |    4 ++++
 3 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/test/pacman/pmdb.py b/test/pacman/pmdb.py
index 41bd738..008ec0d 100755
--- a/test/pacman/pmdb.py
+++ b/test/pacman/pmdb.py
@@ -154,6 +154,8 @@ def db_read(self, name):
                 pkg.md5sum = fd.readline().strip("\n")
             elif line == "%REPLACES%":
                 pkg.replaces = _getsection(fd)
+            elif line == "%EPOCH%":
+                pkg.epoch = int(fd.readline().strip("\n"))
             elif line == "%FORCE%":
                 fd.readline()
                 pkg.force = 1
@@ -202,12 +204,6 @@ def db_read(self, name):
                 pkg.conflicts = _getsection(fd)
             elif line == "%PROVIDES%":
                 pkg.provides = _getsection(fd)
-            # TODO this was going to be changed, but isn't anymore
-            #elif line == "%REPLACES%":
-            #    pkg.replaces = _getsection(fd)
-            #elif line == "%FORCE%":
-            #    fd.readline()
-            #    pkg.force = 1
         fd.close()
         pkg.checksum["depends"] = getmd5sum(filename)
         pkg.mtime["depends"] = getmtime(filename)
@@ -266,6 +262,11 @@ def db_write(self, pkg):
             data.append(_mksection("FILENAME", pkg.filename()))
             if pkg.replaces:
                 data.append(_mksection("REPLACES", pkg.replaces))
+            if pkg.epoch:
+                data.append(_mksection("EPOCH", pkg.epoch))
+                # for backward compatibility
+                if not pkg.force:
+                    data.append(_mksection("FORCE", ""))
             if pkg.force:
                 data.append(_mksection("FORCE", ""))
             if pkg.csize:
@@ -307,11 +308,6 @@ def db_write(self, pkg):
             data.append(_mksection("CONFLICTS", pkg.conflicts))
         if pkg.provides:
             data.append(_mksection("PROVIDES", pkg.provides))
-        #if self.treename != "local":
-        #    if pkg.replaces:
-        #        data.append(_mksection("REPLACES", pkg.replaces))
-        #    if pkg.force:
-        #        data.append(_mksection("FORCE", ""))
         if data:
             data.append("")
         filename = os.path.join(path, "depends")
diff --git a/test/pacman/pmpkg.py b/test/pacman/pmpkg.py
index 1d55175..aaee28b 100755
--- a/test/pacman/pmpkg.py
+++ b/test/pacman/pmpkg.py
@@ -48,8 +48,9 @@ def __init__(self, name, version = "1.0-1"):
         self.csize = 0
         self.reason = 0
         self.md5sum = ""      # sync only
-        self.replaces = []    # sync only (will be moved to depends)
-        self.force = 0        # sync only (will be moved to depends)
+        self.replaces = []
+        self.force = 0
+        self.epoch = 0
         # depends
         self.depends = []
         self.optdepends = []
diff --git a/test/pacman/util.py b/test/pacman/util.py
index 657230e..2e9ffb9 100755
--- a/test/pacman/util.py
+++ b/test/pacman/util.py
@@ -153,6 +153,10 @@ def mkdescfile(filename, pkg):
         data.append("provides = %s" % i)
     for i in pkg.backup:
         data.append("backup = %s" % i)
+    if pkg.epoch:
+        data.append("epoch = %d" % pkg.epoch)
+        if not pkg.force:
+            data.append("force = 1")
     if pkg.force:
         data.append("force = 1")
 
-- 
1.7.3.1



More information about the pacman-dev mailing list