diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/pacman/pmdb.py | 29 | ||||
| -rw-r--r-- | test/pacman/pmpkg.py | 38 | ||||
| -rw-r--r-- | test/pacman/util.py | 10 | 
3 files changed, 39 insertions, 38 deletions
| diff --git a/test/pacman/pmdb.py b/test/pacman/pmdb.py index cff3358f..72f6dc45 100644 --- a/test/pacman/pmdb.py +++ b/test/pacman/pmdb.py @@ -22,31 +22,6 @@ import tarfile  import pmpkg  import util -def _mkfilelist(files): -    """Generate a list of files from the list supplied as an argument. -     -    Each path is decomposed to generate the list of all directories leading -    to the file. -     -    Example with 'usr/local/bin/dummy': -    The resulting list will be -        usr/ -        usr/local/ -        usr/local/bin/ -        usr/local/bin/dummy -    """ -    file_set = set() -    for f in files: -        name = util.getfilename(f) -        file_set.add(name) -        while "/" in name: -            name, tmp = name.rsplit("/", 1) -            file_set.add(name + "/") -    return sorted(file_set) - -def _mkbackuplist(backup): -    return ["%s\t%s" % (util.getfilename(i), util.mkmd5sum(i)) for i in backup] -  def _getsection(fd):      i = []      while 1: @@ -244,8 +219,8 @@ class pmdb(object):          # files and install          if self.is_local:              data = [] -            make_section(data, "FILES", _mkfilelist(pkg.files)) -            make_section(data, "BACKUP", _mkbackuplist(pkg.backup)) +            make_section(data, "FILES", pkg.full_filelist()) +            make_section(data, "BACKUP", pkg.local_backup_entries())              filename = os.path.join(path, "files")              util.mkfile(filename, "\n".join(data)) diff --git a/test/pacman/pmpkg.py b/test/pacman/pmpkg.py index 3d2a6cf4..43edd8f0 100644 --- a/test/pacman/pmpkg.py +++ b/test/pacman/pmpkg.py @@ -89,6 +89,17 @@ class pmpkg(object):          """          return "%s%s" % (self.fullname(), util.PM_EXT_PKG) +    @staticmethod +    def parse_filename(name): +        filename = name +        if filename[-1] == "*": +            filename = filename.rstrip("*") +        if filename.find(" -> ") != -1: +            filename, extra = filename.split(" -> ") +        elif filename.find("|") != -1: +            filename, extra = filename.split("|") +        return filename +      def makepkg(self, path):          """Creates an Arch Linux package archive. @@ -104,7 +115,7 @@ class pmpkg(object):          # Generate package file system          for f in self.files:              util.mkfile(f, f) -            self.size += os.lstat(util.getfilename(f))[stat.ST_SIZE] +            self.size += os.lstat(self.parse_filename(f))[stat.ST_SIZE]          # .PKGINFO          data = ["pkgname = %s" % self.name] @@ -150,4 +161,29 @@ class pmpkg(object):          os.chdir(curdir)          shutil.rmtree(tmpdir) +    def full_filelist(self): +        """Generate a list of package files. + +        Each path is decomposed to generate the list of all directories leading +        to the file. + +        Example with 'usr/local/bin/dummy': +        The resulting list will be: +            usr/ +            usr/local/ +            usr/local/bin/ +            usr/local/bin/dummy +        """ +        file_set = set() +        for name in self.files: +            name = self.parse_filename(name) +            file_set.add(name) +            while "/" in name: +                name, tmp = name.rsplit("/", 1) +                file_set.add(name + "/") +        return sorted(file_set) + +    def local_backup_entries(self): +        return ["%s\t%s" % (self.parse_filename(i), util.mkmd5sum(i)) for i in self.backup] +  # vim: set ts=4 sw=4 et: diff --git a/test/pacman/util.py b/test/pacman/util.py index f971afd1..5e8d3dbc 100644 --- a/test/pacman/util.py +++ b/test/pacman/util.py @@ -47,16 +47,6 @@ def vprint(msg):  # Methods to generate files  # -def getfilename(name): -    filename = name -    if filename[-1] == "*": -        filename = filename.rstrip("*") -    if filename.find(" -> ") != -1: -        filename, extra = filename.split(" -> ") -    elif filename.find("|") != -1: -        filename, extra = filename.split("|") -    return filename -  def mkfile(name, data = ""):      isdir = 0      islink = 0 | 
