From johnsonm@rpath.com Wed Aug 19 17:38:25 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcPDA009744
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:25 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcP9o010928
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:25 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcPN8025735
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:25 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcQjp012641
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:26 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcPcs012601
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:25 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcPcs012601@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:25 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: Put the recipe creation code into its own class.
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:25 -0000

changeset:   9e98a6458e22
user:        Xiaowen Xin <https://issues.rpath.com/>
date:        Thu, 16 Nov 2006 11:00:49 +0100

Put the recipe creation code into its own class.

committer: Xiaowen Xin <https://issues.rpath.com/>

diff --git a/rpmimport.py b/rpmimport.py
--- a/rpmimport.py
+++ b/rpmimport.py
@@ -191,6 +191,40 @@
         a('')
         return '\n'.join(l)
 
+class RecipeMaker:
+    def __init__(self, cvc, cfg, rpmSource):
+        self.cvc = cvc
+        self.cfg = cfg
+        self.rpmSource = rpmSource
+
+    def create(self, pkgname, recipeContents):
+        print 'creating initial template for', pkgname
+        try:
+            shutil.rmtree(pkgname)
+        except OSError, e:
+            pass
+        self.cvc.sourceCommand(self.cfg, [ "newpkg", pkgname], {})
+        cwd = os.getcwd()
+        os.chdir(pkgname)
+        try:
+            recipe = pkgname + '.recipe'
+            f = open(recipe, 'w')
+            f.write(recipeContents)
+            f.close()
+            addfiles = [ 'add', recipe ]
+            # copy all the binaries to the cwd
+            for path, fn in self.rpmSource.rpmMap[src].iteritems():
+                shutil.copy(fn, path)
+                addfiles.append(path)
+            self.cvc.sourceCommand(self.cfg, addfiles, {})
+            self.cvc.sourceCommand(self.cfg,
+                              [ 'commit' ],
+                              { 'message':
+                                'Automated initial commit of ' + recipe })
+        finally:
+            os.chdir(cwd)
+
+
 if __name__ == '__main__':
     from conary import conaryclient, conarycfg, versions, errors, cvc
     from conary import deps
@@ -227,41 +261,9 @@
     d = repos.getTroveVersionsByLabel(srccomps)
 
     # Iterate over foo:source.
+    recipeMaker = RecipeMaker(cvc, cfg, rpmSource)
     for srccomp in srccomps.iterkeys():
         if srccomp not in d:
             src = srcmap[srccomp]
             pkgname = srccomp.split(':')[0]
-            print 'creating initial template for', pkgname
-            try:
-                shutil.rmtree(pkgname)
-            except OSError, e:
-                pass
-            cvc.sourceCommand(cfg, [ "newpkg", pkgname], {})
-            cwd = os.getcwd()
-            os.chdir(pkgname)
-            try:
-                template = rpmSource.createTemplate(src)
-                recipe = pkgname + '.recipe'
-                f = open(recipe, 'w')
-                f.write(template)
-                f.close()
-                addfiles = [ 'add', recipe ]
-                # copy all the binaries to the cwd
-                for path, fn in rpmSource.rpmMap[src].iteritems():
-                    shutil.copy(fn, path)
-                    addfiles.append(path)
-                cvc.sourceCommand(cfg, addfiles, {})
-                cvc.sourceCommand(cfg,
-                                  [ 'commit' ],
-                                  { 'message':
-                                    'Automated initial commit of ' + recipe })
-                archs = rpmSource.getArchs(src)
-            finally:
-                os.chdir(cwd)
-##         except 
-##         from conary.lib import epdb
-##         epdb.st()
-##         rpmSource.createTemplate(src)
-    #print rpmSource.rpmMap
-    #print rpmSource.revMap
-    #print rpmSource.srcPath
+            recipeMaker.create(pkgname, rpmSource.createTemplate(src))

From johnsonm@rpath.com Wed Aug 19 17:38:26 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcPB7009747
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:25 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcPEL010931
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:25 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcPVX025738
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:25 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcQNr012631
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:26 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcPXr012583
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:25 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcPXr012583@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:25 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: Added some comments for readability.
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:26 -0000

changeset:   65d7d1adb335
user:        Xiaowen Xin <https://issues.rpath.com/>
date:        Thu, 16 Nov 2006 10:10:08 +0100

Added some comments for readability.

committer: Xiaowen Xin <https://issues.rpath.com/>

diff --git a/rpmimport.py b/rpmimport.py
--- a/rpmimport.py
+++ b/rpmimport.py
@@ -28,9 +28,16 @@
 
 class RpmSource:
     def __init__(self):
+        # {srpm: {rpm: path}
         self.rpmMap = dict()
+
+        # {name: srpm}
         self.revMap = dict()
+
+        # {srpm: path}
         self.srcPath = dict()
+
+        # {rpmfile: header}
         self.headers = dict()
 
     def getHeader(self, f):
@@ -105,12 +112,24 @@
         return srpms
 
     def transformName(self, name):
+        """
+        In name, - => _, + => _plus.
+        """
+
         return name.replace('-', '_').replace('+', '_plus')
 
     def quoteSequence(self, seq):
+        """
+        [a, b] => 'a', 'b'
+        """
+
         return ', '.join("'%s'" % x for x in sorted(seq))
 
     def getArchs(self, src):
+        """
+        @return list that goes into the archs line in the recipe.
+        """
+
         hdrs = [ self.getHeader(x) for x in self.rpmMap[src].itervalues() ]
         archs = set(h[ARCH] for h in hdrs)
         if 'i586' in archs and 'i686' in archs:
@@ -121,17 +140,27 @@
         return archs
 
     def getNames(self, src):
+        """
+        @return list that goes into the rpms line in the recipe.
+        """
+
         hdrs = [ self.getHeader(x) for x in self.rpmMap[src].itervalues() ]
         names = set(h[NAME] for h in hdrs)
         return names
 
     def getExtraArchs(self, src):
+        """
+        For the special case of RPMs that have components optimized for the
+        i686 architecture while other components are at i586, then return
+        ('i686', set(rpms that are i686 only)), otherwise return (None, None).
+        """
+
         hdrs = [ self.getHeader(x) for x in self.rpmMap[src].itervalues() ]
         archMap = {}
         for h in hdrs:
             arch = h[ARCH]
             name = h[NAME]
-            if h[ARCH] in archMap:
+            if arch in archMap:
                 archMap[arch].add(name)
             else:
                 archMap[arch] = set((name,))
@@ -141,6 +170,10 @@
         return None, None
 
     def createTemplate(self, src):
+        """
+        @return the content of the new recipe.
+        """
+
         srchdr = self.getHeader(self.srcPath[src])
         l = []
         a = l.append
@@ -180,7 +213,11 @@
     rpmSource = RpmSource()
     for root in roots:
         rpmSource.walk(root)
+
+    # {foo:source: {cfg.buildLabel: None}}
     srccomps = {}
+
+    # {foo:source: foo-1.0-1.1.src.rpm}
     srcmap = {}
     for src in rpmSource.getSrpms():
         h = rpmSource.getHeader(rpmSource.srcPath[src])
@@ -188,6 +225,8 @@
         srcmap[srccomp] = src
         srccomps[srccomp] = {cfg.buildLabel: None}
     d = repos.getTroveVersionsByLabel(srccomps)
+
+    # Iterate over foo:source.
     for srccomp in srccomps.iterkeys():
         if srccomp not in d:
             src = srcmap[srccomp]

From johnsonm@rpath.com Wed Aug 19 17:38:28 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcSKq009753
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:28 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcRDj010935
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:27 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcRsZ025743
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:27 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcR0O012694
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:27 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcQSo012618
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:26 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcQSo012618@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:26 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: Automatically create info-* packages for all RPMs found.
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:28 -0000

changeset:   e3b6b856d743
user:        Xiaowen Xin <https://issues.rpath.com/>
date:        Thu, 16 Nov 2006 14:53:23 +0100

Automatically create info-* packages for all RPMs found.

committer: Xiaowen Xin <https://issues.rpath.com/>

diff --git a/rpmimport.py b/rpmimport.py
--- a/rpmimport.py
+++ b/rpmimport.py
@@ -15,14 +15,17 @@
 #
 
 
+import grp
 import os
+import pwd
 import sys
 import shutil
 
 from conary import rpmhelper
 
 # make local copies of tags for convenience
-for tag in ('NAME', 'VERSION', 'RELEASE', 'SOURCERPM'):
+for tag in ('NAME', 'VERSION', 'RELEASE', 'SOURCERPM', 'FILEUSERNAME',
+    'FILEGROUPNAME'):
     sys.modules[__name__].__dict__[tag] = getattr(rpmhelper, tag)
 ARCH = 1022
 
@@ -192,12 +195,113 @@
         return '\n'.join(l)
 
 class RecipeMaker:
-    def __init__(self, cvc, cfg, rpmSource):
+    def __init__(self, cvc, cfg, repos, rpmSource):
         self.cvc = cvc
         self.cfg = cfg
+        self.repos = repos
         self.rpmSource = rpmSource
 
-    def create(self, pkgname, recipeContents):
+    def walkUsers(self):
+        # Get all users and groups used in this run.
+        users = set()
+        groups = set()
+        for header in rpmSource.headers.itervalues():
+            users = users.union(header[FILEUSERNAME])
+            groups = groups.union(header[FILEGROUPNAME])
+
+        # Remove the root user and group.
+        users = users.difference(['root'])
+        groups = groups.difference(['root'])
+
+        # If there are groups named the same as the user, then the user must
+        # have this group as its primary group.
+        groups = groups.difference(users)
+
+        # All the packages we might create.
+        srccomps = {}
+        for account in users.union(groups):
+            srccomps['info-%s:source' % (account)] = {cfg.buildLabel: None}
+
+        # Get current repository contents.
+        repoContents = self.repos.getTroveVersionsByLabel(srccomps)
+
+        # Map username to groups it belongs to.
+        ugMap = dict()
+        for (g, a, b, us) in grp.getgrall():
+            for u in us:
+                if u in ugMap:
+                    ugMap[u].add(g)
+                else:
+                    ugMap[u] = set([g])
+
+        # Create groups.
+        for group in groups:
+            # If it already exists, then move on.
+            if group in repoContents:
+                continue
+
+            # If there is a user with this as its primary group, then create
+            # the user instead.
+            try:
+                gprop = grp.getgrnam(group)
+            except KeyError, e:
+                print "The group %s does not exist on the build system." \
+                    "  Please create it first before running this." % (group)
+                continue
+            gid = gprop[2]
+            primaries = gprop[3] + [group]
+            for u in primaries:
+                try:
+                    uprop = pwd.getpwnam(u)
+                    if uprop[3] == gid:
+                        users.add(uprop[0])
+                        groups.remove(gprop[0])
+                except KeyError, e:
+                    # No such user, oh well, ignore.
+                    pass
+
+            # Create the group recipe.
+            self.create('info-%s' % (group),
+                "class info_%(group)s(GroupInfoRecipe):\n"
+                "    name = 'info-%(group)s'\n"
+                "    version = '1'\n"
+                "\n"
+                "    def setup(r):\n"
+                "        r.Group('%(group)s', %(gid)s)\n"
+                % dict(group=group, gid=gid))
+
+        # Create users.
+        for user in users:
+            # If it already exists, then move on.
+            if user in repoContents:
+                continue
+
+            try:
+                uprop = pwd.getpwnam(user)
+            except KeyError, e:
+                print "The user %s does not exist on the build system." \
+                    "  Please create it before running this." % (user)
+                continue
+
+            (uid, gid, comment, homedir, shell) = uprop[2:]
+            gprop = grp.getgrgid(gid)
+            group = gprop[0]
+            supgroups = ugMap.get(user, set()).difference(set([group]))
+
+            self.create('info-%s' % (user),
+                "class info_%(user)s(UserInfoRecipe):\n"
+                "    name = 'info-%(user)s'\n"
+                "    version = '1'\n"
+                "\n"
+                "    def setup(r):\n"
+                "        r.User('%(user)s', %(uid)s, group='%(group)s', groupid=%(gid)s,\n"
+                "            homedir='%(homedir)s', comment='%(comment)s', shell='%(shell)s'\n"
+                "            supplemental=[%(supgroups)s])\n"
+                % dict(user=user, uid=uid, group=group, gid=gid,
+                    homedir=homedir, comment=comment, shell=shell,
+                    supgroups=', '.join(list(supgroups))))
+
+    def create(self, pkgname, recipeContents, srpm = None):
         print 'creating initial template for', pkgname
         try:
             shutil.rmtree(pkgname)
@@ -212,19 +316,20 @@
             f.write(recipeContents)
             f.close()
             addfiles = [ 'add', recipe ]
+
             # copy all the binaries to the cwd
-            for path, fn in self.rpmSource.rpmMap[src].iteritems():
-                shutil.copy(fn, path)
-                addfiles.append(path)
+            if srpm:
+                for path, fn in self.rpmSource.rpmMap[src].iteritems():
+                    shutil.copy(fn, path)
+                    addfiles.append(path)
             self.cvc.sourceCommand(self.cfg, addfiles, {})
-            self.cvc.sourceCommand(self.cfg,
-                              [ 'commit' ],
-                              { 'message':
-                                'Automated initial commit of ' + recipe })
+            #self.cvc.sourceCommand(self.cfg,
+            #                  [ 'commit' ],
+            #                  { 'message':
+            #                    'Automated initial commit of ' + recipe })
         finally:
             os.chdir(cwd)
 
-
 if __name__ == '__main__':
     from conary import conaryclient, conarycfg, versions, errors, cvc
     from conary import deps
@@ -247,6 +352,7 @@
     rpmSource = RpmSource()
     for root in roots:
         rpmSource.walk(root)
+    recipeMaker = RecipeMaker(cvc, cfg, repos, rpmSource)
 
     # {foo:source: {cfg.buildLabel: None}}
     srccomps = {}
@@ -261,9 +367,10 @@
     d = repos.getTroveVersionsByLabel(srccomps)
 
     # Iterate over foo:source.
-    recipeMaker = RecipeMaker(cvc, cfg, rpmSource)
     for srccomp in srccomps.iterkeys():
         if srccomp not in d:
             src = srcmap[srccomp]
             pkgname = srccomp.split(':')[0]
-            recipeMaker.create(pkgname, rpmSource.createTemplate(src))
+            recipeMaker.create(pkgname, rpmSource.createTemplate(src), src)
+
+    recipeMaker.walkUsers()

From johnsonm@rpath.com Wed Aug 19 17:38:29 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcTNX009759
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:29 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcSIZ010944
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:28 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcSxn025749
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:28 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcT6f012799
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:30 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcSqV012733
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:29 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcSqV012733@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:28 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: Added an extra missing parameter to the InfoImport
	constructor.
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:30 -0000

changeset:   ead5b2f85a9c
user:        Xiaowen Xin <https://issues.rpath.com/>
date:        Thu, 16 Nov 2006 17:46:49 +0100

Added an extra missing parameter to the InfoImport constructor.

committer: Xiaowen Xin <https://issues.rpath.com/>

diff --git a/infoimport.py b/infoimport.py
--- a/infoimport.py
+++ b/infoimport.py
@@ -1,5 +1,26 @@
+#!/usr/bin/python
+#
+# Copyright (c) 2006 rPath, Inc.
+#
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+
+import grp
+import pwd
+
 class InfoMaker:
-    def __init__(self, repos, recipeMaker):
+    def __init__(self, cfg, repos, recipeMaker):
+        self.cfg = cfg
         self.repos = repos
         self.recipeMaker = recipeMaker
 
@@ -83,7 +104,7 @@
         # All the packages we might create.
         srccomps = {}
         for account in users.union(groups):
-            srccomps['info-%s:source' % (account)] = {cfg.buildLabel: None}
+            srccomps['info-%s:source' % (account)] = {self.cfg.buildLabel: None}
 
         # Get current repository contents.
         repoContents = self.repos.getTroveVersionsByLabel(srccomps)
@@ -156,4 +177,4 @@
         rpmSource.walk(root)
     recipeMaker = RecipeMaker(cvc, cfg, repos, rpmSource)
 
-    infoMaker = InfoMaker(repos, recipeMaker)
+    infoMaker = InfoMaker(cfg, repos, recipeMaker)
diff --git a/rpmimport.py b/rpmimport.py
--- a/rpmimport.py
+++ b/rpmimport.py
@@ -15,9 +15,7 @@
 #
 
 
-import grp
 import os
-import pwd
 import sys
 import shutil
 
@@ -286,5 +284,5 @@
             groups = groups.union(header[FILEGROUPNAME])
 
     import infoimport
-    infoMaker = infoimport.InfoMaker(repos, recipeMaker)
+    infoMaker = infoimport.InfoMaker(cfg, repos, recipeMaker)
     infoMaker.makeInfo(users, groups)

From johnsonm@rpath.com Wed Aug 19 17:38:30 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcU4s009766
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:30 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcTXv010951
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:29 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcTEQ025753
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:29 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcTTY012795
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:30 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcRYk012674
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:28 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcRYk012674@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:27 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: Do a full closure on dependencies between users and
	groups when creating info-* packages.
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:31 -0000

changeset:   c08977748d2f
user:        Xiaowen Xin <https://issues.rpath.com/>
date:        Thu, 16 Nov 2006 17:01:43 +0100

Do a full closure on dependencies between users and groups when creating info-* packages.

committer: Xiaowen Xin <https://issues.rpath.com/>

diff --git a/rpmimport.py b/rpmimport.py
--- a/rpmimport.py
+++ b/rpmimport.py
@@ -201,7 +201,62 @@
         self.repos = repos
         self.rpmSource = rpmSource
 
+    def closeUser(self, user, users, groups, ustaging, gstaging, ugMap):
+        """
+        If a user has supplemental groups, then create those.
+        """
+        try:
+            uprop = pwd.getpwnam(user)
+        except KeyError, e:
+            print "The user %s does not exist on the build system." \
+                "  Please create it before running this." % (user)
+            return
+
+        (uid, gid, comment, homedir, shell) = uprop[2:]
+        gprop = grp.getgrgid(gid)
+        group = gprop[0]
+        supgroups = ugMap.get(user, set()).difference(set([group]))
+        for g in supgroups:
+            if g not in groups:
+                gstaging.add(g)
+        users.add(user)
+
+    def closeGroup(self, group, users, groups, ustaging, gstaging, ugMap):
+        """
+        If there is a user with this as its primary group, then create the user
+        instead.
+        """
+
+        try:
+            gprop = grp.getgrnam(group)
+        except KeyError, e:
+            print "The group %s does not exist on the build system." \
+                "  Please create it first before running this." % (group)
+            return
+
+        gid = gprop[2]
+        primaries = gprop[3] + [group]
+        for u in primaries:
+            try:
+                uprop = pwd.getpwnam(u)
+                if uprop[3] == gid:
+                    ustaging.add(uprop[0])
+                    return
+            except KeyError, e:
+                # No such user, oh well, ignore.
+                pass
+        groups.add(group)
+
     def walkUsers(self):
+        # Map username to groups it belongs to.
+        ugMap = dict()
+        for (g, a, b, us) in grp.getgrall():
+            for u in us:
+                if u in ugMap:
+                    ugMap[u].add(g)
+                else:
+                    ugMap[u] = set([g])
+
         # Get all users and groups used in this run.
         users = set()
         groups = set()
@@ -211,6 +266,19 @@
                 users = users.union(header[FILEUSERNAME])
                 groups = groups.union(header[FILEGROUPNAME])
 
+        # Groups and users depend on each other, so do their closure.
+        ustaging = users
+        gstaging = groups
+        users = set()
+        groups = set()
+        while ustaging or gstaging:
+            for user in ustaging:
+                self.closeUser(user, users, groups, ustaging, gstaging, ugMap)
+            ustaging = set()
+            for group in gstaging:
+                self.closeGroup(group, users, groups, ustaging, gstaging, ugMap)
+            gstaging = set()
+
         # Remove the root user and group.
         users = users.difference(['root'])
         groups = groups.difference(['root'])
@@ -227,64 +295,13 @@
         # Get current repository contents.
         repoContents = self.repos.getTroveVersionsByLabel(srccomps)
 
-        # Map username to groups it belongs to.
-        ugMap = dict()
-        for (g, a, b, us) in grp.getgrall():
-            for u in us:
-                if u in ugMap:
-                    ugMap[u].add(g)
-                else:
-                    ugMap[u] = set([g])
-
-        # Create groups.
-        for group in groups:
-            # If it already exists, then move on.
-            if group in repoContents:
-                continue
-
-            # If there is a user with this as its primary group, then create
-            # the user instead.
-            try:
-                gprop = grp.getgrnam(group)
-            except KeyError, e:
-                print "The group %s does not exist on the build system." \
-                    "  Please create it first before running this." % (group)
-                continue
-            gid = gprop[2]
-            primaries = gprop[3] + [group]
-            for u in primaries:
-                try:
-                    uprop = pwd.getpwnam(u)
-                    if uprop[3] == gid:
-                        users.add(uprop[0])
-                        groups.remove(gprop[0])
-                except KeyError, e:
-                    # No such user, oh well, ignore.
-                    pass
-
-            # Create the group recipe.
-            self.create('info-%s' % (group),
-                "class info_%(group)s(GroupInfoRecipe):\n"
-                "    name = 'info-%(group)s'\n"
-                "    version = '1'\n"
-                "\n"
-                "    def setup(r):\n"
-                "        r.Group('%(group)s', %(gid)s)\n"
-                % dict(group=group, gid=gid))
-
         # Create users.
         for user in users:
             # If it already exists, then move on.
-            if user in repoContents:
+            if 'info-%s:source' %user in repoContents:
                 continue
 
-            try:
-                uprop = pwd.getpwnam(user)
-            except KeyError, e:
-                print "The user %s does not exist on the build system." \
-                    "  Please create it before running this." % (user)
-                continue
-
+            uprop = pwd.getpwnam(user)
             (uid, gid, comment, homedir, shell) = uprop[2:]
             gprop = grp.getgrgid(gid)
             group = gprop[0]
@@ -303,6 +320,25 @@
                     homedir=homedir, comment=comment, shell=shell,
                     supgroups=', '.join("'%s'" % g for g in supgroups)))
 
+        # Create groups.
+        for group in groups:
+            # If it already exists, then move on.
+            if 'info-%s:source' %group in repoContents:
+                continue
+
+            gprop = grp.getgrnam(group)
+            gid = gprop[2]
+
+            # Create the group recipe.
+            self.create('info-%s' % (group),
+                "class info_%(group)s(GroupInfoRecipe):\n"
+                "    name = 'info-%(group)s'\n"
+                "    version = '1'\n"
+                "\n"
+                "    def setup(r):\n"
+                "        r.Group('%(group)s', %(gid)s)\n"
+                % dict(group=group, gid=gid))
+
     def create(self, pkgname, recipeContents, srpm = None):
         print 'creating initial template for', pkgname
         try:
@@ -330,6 +366,7 @@
                               [ 'commit' ],
                               { 'message':
                                 'Automated initial commit of ' + recipe })
+            self.cvc.sourceCommand(self.cfg, ['cook', pkgname], {})
         finally:
             os.chdir(cwd)
 

From johnsonm@rpath.com Wed Aug 19 17:38:30 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcUZN009767
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:30 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcUF7010956
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:30 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcUdm025756
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:30 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcTYN012794
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:30 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcSaV012714
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:29 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcSaV012714@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:28 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: Broke info-* creation into its own class.
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:31 -0000

changeset:   34d42f4f1ff6
user:        Xiaowen Xin <https://issues.rpath.com/>
date:        Thu, 16 Nov 2006 17:44:59 +0100

Broke info-* creation into its own class.

committer: Xiaowen Xin <https://issues.rpath.com/>

diff --git a/infoimport.py b/infoimport.py
new file mode 100755
--- /dev/null
+++ b/infoimport.py
@@ -0,0 +1,159 @@
+class InfoMaker:
+    def __init__(self, repos, recipeMaker):
+        self.repos = repos
+        self.recipeMaker = recipeMaker
+
+    def closeUser(self, user, users, groups, ustaging, gstaging, ugMap):
+        """
+        If a user has supplemental groups, then create those.
+        """
+        try:
+            uprop = pwd.getpwnam(user)
+        except KeyError, e:
+            print "The user %s does not exist on the build system." \
+                "  Please create it before running this." % (user)
+            return
+
+        (uid, gid, comment, homedir, shell) = uprop[2:]
+        gprop = grp.getgrgid(gid)
+        group = gprop[0]
+        supgroups = ugMap.get(user, set()).difference(set([group]))
+        for g in supgroups:
+            if g not in groups:
+                gstaging.add(g)
+        users.add(user)
+
+    def closeGroup(self, group, users, groups, ustaging, gstaging, ugMap):
+        """
+        If there is a user with this as its primary group, then create the user
+        instead.
+        """
+
+        try:
+            gprop = grp.getgrnam(group)
+        except KeyError, e:
+            print "The group %s does not exist on the build system." \
+                "  Please create it first before running this." % (group)
+            return
+
+        gid = gprop[2]
+        primaries = gprop[3] + [group]
+        for u in primaries:
+            try:
+                uprop = pwd.getpwnam(u)
+                if uprop[3] == gid:
+                    ustaging.add(uprop[0])
+                    return
+            except KeyError, e:
+                # No such user, oh well, ignore.
+                pass
+        groups.add(group)
+
+    def makeInfo(self, users, groups):
+        # Map username to groups it belongs to.
+        ugMap = dict()
+        for (g, a, b, us) in grp.getgrall():
+            for u in us:
+                if u in ugMap:
+                    ugMap[u].add(g)
+                else:
+                    ugMap[u] = set([g])
+
+        # Groups and users depend on each other, so do their closure.
+        ustaging = users
+        gstaging = groups
+        users = set()
+        groups = set()
+        while ustaging or gstaging:
+            for user in ustaging:
+                self.closeUser(user, users, groups, ustaging, gstaging, ugMap)
+            ustaging = set()
+            for group in gstaging:
+                self.closeGroup(group, users, groups, ustaging, gstaging, ugMap)
+            gstaging = set()
+
+        # Remove the root user and group.
+        users = users.difference(['root'])
+        groups = groups.difference(['root'])
+
+        # If there are groups named the same as the user, then the user must
+        # have this group as its primary group.
+        groups = groups.difference(users)
+
+        # All the packages we might create.
+        srccomps = {}
+        for account in users.union(groups):
+            srccomps['info-%s:source' % (account)] = {cfg.buildLabel: None}
+
+        # Get current repository contents.
+        repoContents = self.repos.getTroveVersionsByLabel(srccomps)
+
+        # Create users.
+        for user in users:
+            # If it already exists, then move on.
+            if 'info-%s:source' %user in repoContents:
+                continue
+
+            uprop = pwd.getpwnam(user)
+            (uid, gid, comment, homedir, shell) = uprop[2:]
+            gprop = grp.getgrgid(gid)
+            group = gprop[0]
+            supgroups = ugMap.get(user, set()).difference(set([group]))
+
+            self.recipeMaker.create('info-%s' % (user),
+                "class info_%(user)s(UserInfoRecipe):\n"
+                "    name = 'info-%(user)s'\n"
+                "    version = '1'\n"
+                "\n"
+                "    def setup(r):\n"
+                "        r.User('%(user)s', %(uid)s, group='%(group)s', groupid=%(gid)s,\n"
+                "            homedir='%(homedir)s', comment='%(comment)s', shell='%(shell)s',\n"
+                "            supplemental=[%(supgroups)s])\n"
+                % dict(user=user, uid=uid, group=group, gid=gid,
+                    homedir=homedir, comment=comment, shell=shell,
+                    supgroups=', '.join("'%s'" % g for g in supgroups)))
+
+        # Create groups.
+        for group in groups:
+            # If it already exists, then move on.
+            if 'info-%s:source' %group in repoContents:
+                continue
+
+            gprop = grp.getgrnam(group)
+            gid = gprop[2]
+
+            # Create the group recipe.
+            self.recipeMaker.create('info-%s' % (group),
+                "class info_%(group)s(GroupInfoRecipe):\n"
+                "    name = 'info-%(group)s'\n"
+                "    version = '1'\n"
+                "\n"
+                "    def setup(r):\n"
+                "        r.Group('%(group)s', %(gid)s)\n"
+                % dict(group=group, gid=gid))
+
+if __name__ == '__main__':
+    from conary import conaryclient, conarycfg, versions, errors, cvc
+    from conary import deps
+    from conary.lib import util
+    from conary.build import use
+
+    sys.excepthook = util.genExcepthook(debug=True)
+
+    cfg = conarycfg.ConaryConfiguration(readConfigFiles=True)
+    cfg.initializeFlavors()
+
+    buildFlavor = deps.deps.parseFlavor('is:x86(i586,!i686)')
+    cfg.buildFlavor = deps.deps.overrideFlavor(cfg.buildFlavor,
+                                               buildFlavor)
+    use.setBuildFlagsFromFlavor(None, cfg.buildFlavor, error=False)
+
+    client = conaryclient.ConaryClient(cfg)
+    repos = client.getRepos()
+    roots = sys.argv[1:]
+    rpmSource = RpmSource()
+    for root in roots:
+        rpmSource.walk(root)
+    recipeMaker = RecipeMaker(cvc, cfg, repos, rpmSource)
+
+    infoMaker = InfoMaker(repos, recipeMaker)

From johnsonm@rpath.com Wed Aug 19 17:38:32 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcVUB009777
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:31 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcVMr010965
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:31 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcVw6025766
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:31 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcUW3012818
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:30 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcTKl012787
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:29 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcTKl012787@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:29 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add patch and make
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:33 -0000

changeset:   05d4f9f1140e
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 17 Nov 2006 09:30:53 -0500

add patch and make

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/rpmimport.py b/rpmimport.py
--- a/rpmimport.py
+++ b/rpmimport.py
@@ -95,20 +95,21 @@
                 'gzip', 'insserv', 'iproute2', 'iptables', 'iputils',
                 'kbd', 'klogd', 'krb5', 'ksh', 'libaio', 'libattr',
                 'libelf', 'libgcc', 'libjpeg', 'libnscd', 'libpng',
-                'libstdc++', 'libxcrypt', 'mdadm', 'mingetty',
+                'libstdc++', 'libxcrypt', 'make', 'mdadm', 'mingetty',
                 'mkinitrd', 'mktemp', 'module-init-tools', 'ncurses',
                 'net-tools', 'netcfg', 'openldap2',
                 'openldap2-client', 'openslp', 'openssl', 'pam',
-                'pam-modules', 'pciutils', 'pcre', 'perl', 'perl-Bootloader',
-                'perl-Compress-Zlib', 'perl-DBD-SQLite', 'perl-DBI',
-                'perl-Net-Daemon', 'perl-PlRPC', 'perl-TermReadKey',
-                'perl-URI', 'perl-gettext', 'procps', 'procps',
-                'psmisc', 'pwdutils', 'pwdutils', 'python', 'resmgr',
-                'sed', 'slang', 'sles-release', 'sysconfig',
-                'sysfsutils', 'syslog-ng', 'sysvinit', 'sysvinit',
-                'tar', 'tcl', 'tcsh', 'termcap', 'timezone', 'udev',
-                'unixODBC', 'util-linux', 'vim', 'wget',
-                'wireless-tools', 'xorg-x11', 'zlib']:
+                'pam-modules', 'patch', 'pciutils', 'pcre', 'perl',
+                'perl-Bootloader', 'perl-Compress-Zlib',
+                'perl-DBD-SQLite', 'perl-DBI', 'perl-Net-Daemon',
+                'perl-PlRPC', 'perl-TermReadKey', 'perl-URI',
+                'perl-gettext', 'procps', 'procps', 'psmisc',
+                'pwdutils', 'pwdutils', 'python', 'resmgr', 'sed',
+                'slang', 'sles-release', 'sysconfig', 'sysfsutils',
+                'syslog-ng', 'sysvinit', 'sysvinit', 'tar', 'tcl',
+                'tcsh', 'termcap', 'timezone', 'udev', 'unixODBC',
+                'util-linux', 'vim', 'wget', 'wireless-tools',
+                'xorg-x11', 'zlib']:
 
         srpms = list()
         for b in bins:

From johnsonm@rpath.com Wed Aug 19 17:38:32 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcV79009773
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:31 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcVxX010959
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:31 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcVIZ025760
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:31 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcTZL012811
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:30 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcSmk012751
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:29 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcSmk012751@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:28 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: update the package list
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:33 -0000

changeset:   be3359393f31
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 17 Nov 2006 05:40:24 -0500

update the package list

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/rpmimport.py b/rpmimport.py
--- a/rpmimport.py
+++ b/rpmimport.py
@@ -85,28 +85,31 @@
         Get all sources we think we need now.
         """
 
-        bins = ['acl', 'alsa', 'attr', 'libattr', 'ash', 'bzip2',
-                'insserv', 'coreutils', 'cpio', 'cracklib',
-                'cyrus-sasl', 'dhcpcd', 'diffutils',
-                'sles-release', 'e2fsprogs', 'expat', 'expect',
+        bins = ['aaa_base', 'acl', 'alsa', 'apache2', 'ash', 'attr',
+                'bash', 'bzip2', 'compat-libstdc++', 'coreutils',
+                'cpio', 'cracklib', 'cron', 'cyrus-sasl', 'db',
+                'dhcpcd', 'diffutils', 'e2fsprogs', 'expat', 'expect',
                 'file', 'filesystem', 'findutils', 'findutils-locate',
-                'fontconfig', 'freetype', 'gawk', 'gdbm', 'glib2',
-                'glibc', 'glibc-locale', 'glibc-i18ndata',
-                'glibc-devel', 'gmp', 'gpm', 'grep', 'grub', 'gzip',
-                'aaa_base', 'sysconfig', 'procps', 'iproute2',
-                'iptables', 'iputils', 'kbd', 'krb5', 'libaio',
-                'libelf', 'libgcc', 'compat-libstdc++', 'libstdc++',
-                'mdadm', 'mingetty', 'mkinitrd', 'mktemp',
-                'module-init-tools', 'ncurses', 'net-tools',
-                'openssl', 'pam', 'pam-modules', 'perl-Bootloader',
-                'pwdutils', 'pcre', 'perl', 'perl-DBI', 'procps',
-                'psmisc', 'python', 'sed', 'netcfg', 'pwdutils',
-                'slang', 'sqlite', 'sysfsutils', 'klogd', 'syslog-ng',
-                'sysvinit', 'tar', 'tcl', 'termcap', 'timezone',
-                'udev', 'unixODBC', 'sysvinit', 'util-linux', 'vim',
-                'cron', 'wget', 'wireless-tools', 'xorg-x11', 'zlib',
-                'perl-Bootloader' ]
-        # add rpm, popt, readline, bash, db, apache2
+                'fontconfig', 'freetype', 'freetype2', 'gawk', 'gdbm',
+                'glib2', 'glibc', 'gmp', 'gpm', 'grep', 'grub',
+                'gzip', 'insserv', 'iproute2', 'iptables', 'iputils',
+                'kbd', 'klogd', 'krb5', 'ksh', 'libaio', 'libattr',
+                'libelf', 'libgcc', 'libjpeg', 'libnscd', 'libpng',
+                'libstdc++', 'libxcrypt', 'mdadm', 'mingetty',
+                'mkinitrd', 'mktemp', 'module-init-tools', 'ncurses',
+                'net-tools', 'netcfg', 'openldap2',
+                'openldap2-client', 'openslp', 'openssl', 'pam',
+                'pam-modules', 'pcre', 'perl', 'perl-Bootloader',
+                'perl-Compress-Zlib', 'perl-DBD-SQLite', 'perl-DBI',
+                'perl-Net-Daemon', 'perl-PlRPC', 'perl-TermReadKey',
+                'perl-URI', 'perl-gettext', 'procps', 'procps',
+                'psmisc', 'pwdutils', 'pwdutils', 'python', 'resmgr',
+                'sed', 'slang', 'sles-release', 'sysconfig',
+                'sysfsutils', 'syslog-ng', 'sysvinit', 'sysvinit',
+                'tar', 'tcl', 'tcsh', 'termcap', 'timezone', 'udev',
+                'unixODBC', 'util-linux', 'vim', 'wget',
+                'wireless-tools', 'xorg-x11', 'zlib']:
+
         srpms = list()
         for b in bins:
             srpms.append(self.revMap[b])

From johnsonm@rpath.com Wed Aug 19 17:38:32 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcVAV009774
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:31 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcVIk010962
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:31 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcVfZ025763
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:31 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcTvP012805
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:30 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcQeu012657
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:28 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcQeu012657@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:26 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: Added missing commas and quotes.
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:33 -0000

changeset:   18096cffe465
user:        Xiaowen Xin <https://issues.rpath.com/>
date:        Thu, 16 Nov 2006 15:45:10 +0100

Added missing commas and quotes.

committer: Xiaowen Xin <https://issues.rpath.com/>

diff --git a/rpmimport.py b/rpmimport.py
--- a/rpmimport.py
+++ b/rpmimport.py
@@ -297,11 +297,11 @@
                 "\n"
                 "    def setup(r):\n"
                 "        r.User('%(user)s', %(uid)s, group='%(group)s', groupid=%(gid)s,\n"
-                "            homedir='%(homedir)s', comment='%(comment)s', shell='%(shell)s'\n"
+                "            homedir='%(homedir)s', comment='%(comment)s', shell='%(shell)s',\n"
                 "            supplemental=[%(supgroups)s])\n"
                 % dict(user=user, uid=uid, group=group, gid=gid,
                     homedir=homedir, comment=comment, shell=shell,
-                    supgroups=', '.join(list(supgroups))))
+                    supgroups=', '.join("'%s'" % g for g in supgroups)))
 
     def create(self, pkgname, recipeContents, srpm = None):
         print 'creating initial template for', pkgname
@@ -325,6 +325,7 @@
                     shutil.copy(fn, path)
                     addfiles.append(path)
             self.cvc.sourceCommand(self.cfg, addfiles, {})
+            self.cvc.sourceCommand(self.cfg, ['cook', recipe], {})
             self.cvc.sourceCommand(self.cfg,
                               [ 'commit' ],
                               { 'message':

From johnsonm@rpath.com Wed Aug 19 17:38:33 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcXjV009787
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:33 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcWTI010974
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:32 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcWBc025771
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:32 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcTIr012806
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:30 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcQgx012637
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:28 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcQgx012637@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:26 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: Only get the headers from the RPMs that we actually use.
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:34 -0000

changeset:   9e19cf9caa01
user:        Xiaowen Xin <https://issues.rpath.com/>
date:        Thu, 16 Nov 2006 15:26:15 +0100

Only get the headers from the RPMs that we actually use.

committer: Xiaowen Xin <https://issues.rpath.com/>

diff --git a/rpmimport.py b/rpmimport.py
--- a/rpmimport.py
+++ b/rpmimport.py
@@ -205,9 +205,11 @@
         # Get all users and groups used in this run.
         users = set()
         groups = set()
-        for header in rpmSource.headers.itervalues():
-            users = users.union(header[FILEUSERNAME])
-            groups = groups.union(header[FILEGROUPNAME])
+        for src in self.rpmSource.getSrpms():
+            for rpm in self.rpmSource.rpmMap[src].values():
+                header = self.rpmSource.getHeader(rpm)
+                users = users.union(header[FILEUSERNAME])
+                groups = groups.union(header[FILEGROUPNAME])
 
         # Remove the root user and group.
         users = users.difference(['root'])
@@ -323,10 +325,10 @@
                     shutil.copy(fn, path)
                     addfiles.append(path)
             self.cvc.sourceCommand(self.cfg, addfiles, {})
-            #self.cvc.sourceCommand(self.cfg,
-            #                  [ 'commit' ],
-            #                  { 'message':
-            #                    'Automated initial commit of ' + recipe })
+            self.cvc.sourceCommand(self.cfg,
+                              [ 'commit' ],
+                              { 'message':
+                                'Automated initial commit of ' + recipe })
         finally:
             os.chdir(cwd)
 

From johnsonm@rpath.com Wed Aug 19 17:38:35 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcYli009791
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:34 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcXXU010980
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:34 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcXdp025775
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:33 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcTAo012810
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:30 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcTaB012769
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:29 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcTaB012769@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:29 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: Added pciutils to list of packages we need.
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:35 -0000

changeset:   b4b253e42b86
user:        Xiaowen Xin <https://issues.rpath.com/>
date:        Fri, 17 Nov 2006 11:50:01 +0100

Added pciutils to list of packages we need.

committer: Xiaowen Xin <https://issues.rpath.com/>

diff --git a/rpmimport.py b/rpmimport.py
--- a/rpmimport.py
+++ b/rpmimport.py
@@ -99,7 +99,7 @@
                 'mkinitrd', 'mktemp', 'module-init-tools', 'ncurses',
                 'net-tools', 'netcfg', 'openldap2',
                 'openldap2-client', 'openslp', 'openssl', 'pam',
-                'pam-modules', 'pcre', 'perl', 'perl-Bootloader',
+                'pam-modules', 'pciutils', 'pcre', 'perl', 'perl-Bootloader',
                 'perl-Compress-Zlib', 'perl-DBD-SQLite', 'perl-DBI',
                 'perl-Net-Daemon', 'perl-PlRPC', 'perl-TermReadKey',
                 'perl-URI', 'perl-gettext', 'procps', 'procps',

From johnsonm@rpath.com Wed Aug 19 17:38:36 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcanx009798
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:36 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcZaD010986
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:36 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcZMQ025782
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:35 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcU3k012844
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:30 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcUFt012822
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:30 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcUFt012822@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:30 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: correct syntax
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:36 -0000

changeset:   037cb0cc8ca1
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 17 Nov 2006 09:31:57 -0500

correct syntax

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/rpmimport.py b/rpmimport.py
--- a/rpmimport.py
+++ b/rpmimport.py
@@ -109,7 +109,7 @@
                 'syslog-ng', 'sysvinit', 'sysvinit', 'tar', 'tcl',
                 'tcsh', 'termcap', 'timezone', 'udev', 'unixODBC',
                 'util-linux', 'vim', 'wget', 'wireless-tools',
-                'xorg-x11', 'zlib']:
+                'xorg-x11', 'zlib']
 
         srpms = list()
         for b in bins:

From johnsonm@rpath.com Wed Aug 19 17:38:38 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLccbW009823
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:38 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLccr4011009
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:38 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcbrs025790
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:37 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcTit012809
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:30 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcRNs012695
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:29 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcRNs012695@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:27 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: Broke info-* creation into its own class.
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:39 -0000

changeset:   277d1cb5b770
user:        Xiaowen Xin <https://issues.rpath.com/>
date:        Thu, 16 Nov 2006 17:31:13 +0100

Broke info-* creation into its own class.

committer: Xiaowen Xin <https://issues.rpath.com/>

diff --git a/rpmimport.py b/rpmimport.py
--- a/rpmimport.py
+++ b/rpmimport.py
@@ -201,144 +201,6 @@
         self.repos = repos
         self.rpmSource = rpmSource
 
-    def closeUser(self, user, users, groups, ustaging, gstaging, ugMap):
-        """
-        If a user has supplemental groups, then create those.
-        """
-        try:
-            uprop = pwd.getpwnam(user)
-        except KeyError, e:
-            print "The user %s does not exist on the build system." \
-                "  Please create it before running this." % (user)
-            return
-
-        (uid, gid, comment, homedir, shell) = uprop[2:]
-        gprop = grp.getgrgid(gid)
-        group = gprop[0]
-        supgroups = ugMap.get(user, set()).difference(set([group]))
-        for g in supgroups:
-            if g not in groups:
-                gstaging.add(g)
-        users.add(user)
-
-    def closeGroup(self, group, users, groups, ustaging, gstaging, ugMap):
-        """
-        If there is a user with this as its primary group, then create the user
-        instead.
-        """
-
-        try:
-            gprop = grp.getgrnam(group)
-        except KeyError, e:
-            print "The group %s does not exist on the build system." \
-                "  Please create it first before running this." % (group)
-            return
-
-        gid = gprop[2]
-        primaries = gprop[3] + [group]
-        for u in primaries:
-            try:
-                uprop = pwd.getpwnam(u)
-                if uprop[3] == gid:
-                    ustaging.add(uprop[0])
-                    return
-            except KeyError, e:
-                # No such user, oh well, ignore.
-                pass
-        groups.add(group)
-
-    def walkUsers(self):
-        # Map username to groups it belongs to.
-        ugMap = dict()
-        for (g, a, b, us) in grp.getgrall():
-            for u in us:
-                if u in ugMap:
-                    ugMap[u].add(g)
-                else:
-                    ugMap[u] = set([g])
-
-        # Get all users and groups used in this run.
-        users = set()
-        groups = set()
-        for src in self.rpmSource.getSrpms():
-            for rpm in self.rpmSource.rpmMap[src].values():
-                header = self.rpmSource.getHeader(rpm)
-                users = users.union(header[FILEUSERNAME])
-                groups = groups.union(header[FILEGROUPNAME])
-
-        # Groups and users depend on each other, so do their closure.
-        ustaging = users
-        gstaging = groups
-        users = set()
-        groups = set()
-        while ustaging or gstaging:
-            for user in ustaging:
-                self.closeUser(user, users, groups, ustaging, gstaging, ugMap)
-            ustaging = set()
-            for group in gstaging:
-                self.closeGroup(group, users, groups, ustaging, gstaging, ugMap)
-            gstaging = set()
-
-        # Remove the root user and group.
-        users = users.difference(['root'])
-        groups = groups.difference(['root'])
-
-        # If there are groups named the same as the user, then the user must
-        # have this group as its primary group.
-        groups = groups.difference(users)
-
-        # All the packages we might create.
-        srccomps = {}
-        for account in users.union(groups):
-            srccomps['info-%s:source' % (account)] = {cfg.buildLabel: None}
-
-        # Get current repository contents.
-        repoContents = self.repos.getTroveVersionsByLabel(srccomps)
-
-        # Create users.
-        for user in users:
-            # If it already exists, then move on.
-            if 'info-%s:source' %user in repoContents:
-                continue
-
-            uprop = pwd.getpwnam(user)
-            (uid, gid, comment, homedir, shell) = uprop[2:]
-            gprop = grp.getgrgid(gid)
-            group = gprop[0]
-            supgroups = ugMap.get(user, set()).difference(set([group]))
-
-            self.create('info-%s' % (user),
-                "class info_%(user)s(UserInfoRecipe):\n"
-                "    name = 'info-%(user)s'\n"
-                "    version = '1'\n"
-                "\n"
-                "    def setup(r):\n"
-                "        r.User('%(user)s', %(uid)s, group='%(group)s', groupid=%(gid)s,\n"
-                "            homedir='%(homedir)s', comment='%(comment)s', shell='%(shell)s',\n"
-                "            supplemental=[%(supgroups)s])\n"
-                % dict(user=user, uid=uid, group=group, gid=gid,
-                    homedir=homedir, comment=comment, shell=shell,
-                    supgroups=', '.join("'%s'" % g for g in supgroups)))
-
-        # Create groups.
-        for group in groups:
-            # If it already exists, then move on.
-            if 'info-%s:source' %group in repoContents:
-                continue
-
-            gprop = grp.getgrnam(group)
-            gid = gprop[2]
-
-            # Create the group recipe.
-            self.create('info-%s' % (group),
-                "class info_%(group)s(GroupInfoRecipe):\n"
-                "    name = 'info-%(group)s'\n"
-                "    version = '1'\n"
-                "\n"
-                "    def setup(r):\n"
-                "        r.Group('%(group)s', %(gid)s)\n"
-                % dict(group=group, gid=gid))
-
     def create(self, pkgname, recipeContents, srpm = None):
         print 'creating initial template for', pkgname
         try:
@@ -413,4 +275,16 @@
             pkgname = srccomp.split(':')[0]
             recipeMaker.create(pkgname, rpmSource.createTemplate(src), src)
 
-    recipeMaker.walkUsers()
+
+    # Get all users and groups used in this run.
+    users = set()
+    groups = set()
+    for src in rpmSource.getSrpms():
+        for rpm in rpmSource.rpmMap[src].values():
+            header = rpmSource.getHeader(rpm)
+            users = users.union(header[FILEUSERNAME])
+            groups = groups.union(header[FILEGROUPNAME])
+
+    import infoimport
+    infoMaker = infoimport.InfoMaker(repos, recipeMaker)
+    infoMaker.makeInfo(users, groups)

From johnsonm@rpath.com Wed Aug 19 17:38:45 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcjon009853
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:45 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcjhI011066
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:45 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLciuE025812
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:44 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcdMW013269
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcYaI013021
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:36 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcYaI013021@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:34 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add openssh
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:45 -0000

changeset:   d1a35020843e
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 01 Dec 2006 12:52:04 -0500

add openssh

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -101,7 +101,7 @@
                 'libstdc++', 'libusb', 'libxcrypt', 'make', 'mdadm',
                 'mingetty', 'mkinitrd', 'mktemp', 'module-init-tools',
                 'ncurses', 'net-tools', 'netcfg', 'openldap2',
-                'openldap2-client', 'openslp', 'openssl', 'pam',
+                'openldap2-client', 'openslp', 'openssh', 'openssl', 'pam',
                 'pam-modules', 'patch', 'pciutils', 'pcre', 'perl',
                 'perl-Bootloader', 'perl-Compress-Zlib',
                 'perl-DBD-SQLite', 'perl-DBI', 'perl-Digest-SHA1',

From johnsonm@rpath.com Wed Aug 19 17:38:45 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcjbV009857
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:45 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcj3B011070
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:45 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcjND025824
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:45 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLceWL013301
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcaNP013115
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:38 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcaNP013115@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:36 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove breakpoint
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:46 -0000

changeset:   1d3f42078291
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 01 Dec 2006 13:45:57 -0500

remove breakpoint

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -109,8 +109,6 @@
                 recipeFile.close()
 
                 # Remove the original RPMs and add the new ones.
-                import epdb
-                epdb.st()
                 cwd = os.getcwd()
                 os.chdir(pkgname)
                 from conary.state import ConaryStateFromFile

From johnsonm@rpath.com Wed Aug 19 17:38:45 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcjRY009856
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:45 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcjwN011067
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:45 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcji7025821
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:45 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcddE013248
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcX1B012999
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:35 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcX1B012999@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:33 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: make that php5
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:46 -0000

changeset:   9258f428e606
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 01 Dec 2006 12:51:49 -0500

make that php5

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -106,7 +106,7 @@
                 'perl-Bootloader', 'perl-Compress-Zlib',
                 'perl-DBD-SQLite', 'perl-DBI', 'perl-Digest-SHA1',
                 'perl-Net-Daemon', 'perl-PlRPC', 'perl-TermReadKey',
-                'perl-URI', 'perl-gettext', 'php', 'procps', 'psmisc',
+                'perl-URI', 'perl-gettext', 'php5', 'procps', 'psmisc',
                 'pwdutils', 'python', 'python-xml', 'resmgr', 'sed',
                 'slang', 'sles-release', 'sysconfig', 'sysfsutils',
                 'syslog-ng', 'sysvinit', 'tar', 'tcl', 'tcsh',

From johnsonm@rpath.com Wed Aug 19 17:38:46 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLckKs009862
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:46 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcjer011075
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:45 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcjER025831
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:45 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLceHL013310
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcZ2J013076
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:37 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcZ2J013076@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:35 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: All on individual lines ...
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:47 -0000

changeset:   e4424b7d73da
user:        Xiaowen Xin <https://issues.rpath.com/>
date:        Sat, 02 Dec 2006 01:58:39 +0800

All on individual lines ...

committer: Xiaowen Xin <https://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -85,34 +85,137 @@
         Get all sources we think we need now.
         """
 
-        bins = ['aaa_base', 'acl', 'alsa', 'apache2', 'ash', 'attr',
-                'bash', 'binutils', 'bzip2', 'compat-libstdc++',
-                'coreutils', 'cpio', 'cpp', 'cracklib', 'cron',
-                'cyrus-sasl', 'db', 'dhcpcd', 'diffutils',
-                'e2fsprogs', 'expat', 'expect', 'file', 'filesystem',
-                'fillup', 'findutils', 'findutils-locate',
-                'fontconfig', 'freetype', 'freetype2', 'gawk', 'gcc',
-                'gdbm', 'glib2', 'glibc', 'gmp', 'gpm', 'grep',
-                'grub', 'gzip', 'insserv', 'iproute2', 'iptables',
-                'iputils', 'jpeg', 'kbd', 'klogd', 'krb5', 'ksh',
-                'less', 'libaio', 'libapr1', 'libapr-util1',
-                'libattr', 'libcom_err', 'libelf', 'libgcc',
-                'libjpeg', 'libnscd', 'libpcap', 'libpng',
-                'libstdc++', 'libusb', 'libxcrypt', 'make', 'mdadm',
-                'mingetty', 'mkinitrd', 'mktemp', 'module-init-tools',
-                'ncurses', 'net-tools', 'netcfg', 'openldap2',
-                'openldap2-client', 'openslp', 'openssh', 'openssl',
-                'pam', 'pam-modules', 'patch', 'pciutils', 'pcre',
-                'perl', 'perl-Bootloader', 'perl-Compress-Zlib',
-                'perl-DBD-SQLite', 'perl-DBI', 'perl-Digest-SHA1',
-                'perl-Net-Daemon', 'perl-PlRPC', 'perl-TermReadKey',
-                'perl-URI', 'perl-gettext', 'php5', 'procps',
-                'psmisc', 'pwdutils', 'python', 'python-xml',
-                'resmgr', 'sed', 'slang', 'sles-release', 'sysconfig',
-                'sysfsutils', 'syslog-ng', 'sysvinit', 'tar', 'tcl',
-                'tcsh', 'tcpdump', 'termcap', 'timezone', 'udev',
-                'unixODBC', 'util-linux', 'vim', 'wget',
-                'wireless-tools', 'xorg-x11', 'zlib']
+        bins = [
+            'aaa_base',
+            'acl',
+            'alsa',
+            'apache2',
+            'ash',
+            'attr',
+            'bash',
+            'binutils',
+            'bzip2',
+            'compat-libstdc++',
+            'coreutils',
+            'cpio',
+            'cpp',
+            'cracklib',
+            'cron',
+            'cyrus-sasl',
+            'db',
+            'dhcpcd',
+            'diffutils',
+            'e2fsprogs',
+            'expat',
+            'expect',
+            'file',
+            'filesystem',
+            'fillup',
+            'findutils',
+            'findutils-locate',
+            'fontconfig',
+            'freetype',
+            'freetype2',
+            'gawk',
+            'gcc',
+            'gdbm',
+            'glib2',
+            'glibc',
+            'gmp',
+            'gpm',
+            'grep',
+            'grub',
+            'gzip',
+            'insserv',
+            'iproute2',
+            'iptables',
+            'iputils',
+            #'java-1_4_2-sun',
+            'jpeg',
+            'kbd',
+            'klogd',
+            'krb5',
+            'ksh',
+            'less',
+            'libaio',
+            'libapr1',
+            'libapr-util1',
+            'libattr',
+            'libcom_err',
+            'libelf',
+            'libgcc',
+            'libjpeg',
+            'libnscd',
+            'libpcap',
+            'libpng',
+            'libstdc++',
+            'libtool',
+            'libusb',
+            'libxcrypt',
+            'libxml2',
+            'make',
+            'mdadm',
+            'mingetty',
+            'mkinitrd',
+            'mktemp',
+            'mm',
+            'module-init-tools',
+            'ncurses',
+            'net-tools',
+            'netcfg',
+            'openct',
+            'openldap2',
+            'openldap2-client',
+            'opensc',
+            'openslp',
+            'openssh',
+            'openssl',
+            'pam',
+            'pam-modules',
+            'patch',
+            'pciutils',
+            'pcre',
+            'perl',
+            'perl-Bootloader',
+            'perl-Compress-Zlib',
+            'perl-DBD-SQLite',
+            'perl-DBI',
+            'perl-Digest-SHA1',
+            'perl-Net-Daemon',
+            'perl-PlRPC',
+            'perl-TermReadKey',
+            'perl-URI',
+            'perl-gettext',
+            'php5',
+            'procps',
+            'psmisc',
+            'pwdutils',
+            'python',
+            'python-xml',
+            'resmgr',
+            'sed',
+            'slang',
+            'sles-release',
+            'sysconfig',
+            'sysfsutils',
+            'syslog-ng',
+            'sysvinit',
+            'tar',
+            'tcl',
+            'tcpd',
+            'tcsh',
+            'tcpdump',
+            'termcap',
+            'timezone',
+            'udev',
+            'unixODBC',
+            'util-linux',
+            'vim',
+            'wget',
+            'wireless-tools',
+            'xorg-x11',
+            'zlib'
+        ]
 
         srpms = list()
         for b in bins:

From johnsonm@rpath.com Wed Aug 19 17:38:46 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLckQH009863
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:46 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcjDX011076
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:45 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcjht025832
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:45 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcdWX013245
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcX2A012982
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:35 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcX2A012982@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:33 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add php
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:47 -0000

changeset:   30bc51c083a8
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 01 Dec 2006 12:51:13 -0500

add php

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -106,7 +106,7 @@
                 'perl-Bootloader', 'perl-Compress-Zlib',
                 'perl-DBD-SQLite', 'perl-DBI', 'perl-Digest-SHA1',
                 'perl-Net-Daemon', 'perl-PlRPC', 'perl-TermReadKey',
-                'perl-URI', 'perl-gettext', 'procps', 'psmisc',
+                'perl-URI', 'perl-gettext', 'php', 'procps', 'psmisc',
                 'pwdutils', 'python', 'python-xml', 'resmgr', 'sed',
                 'slang', 'sles-release', 'sysconfig', 'sysfsutils',
                 'syslog-ng', 'sysvinit', 'tar', 'tcl', 'tcsh',

From johnsonm@rpath.com Wed Aug 19 17:38:46 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLckW1009869
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:46 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLckZq011081
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:46 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLck9Z025844
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:46 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLchbH013441
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:46 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcgSH013411
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:42 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcgSH013411@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:42 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: don't cook when creating initial :source component,
	set up buildreqs for rapa, add packages
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:47 -0000

changeset:   a617517d394b
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 11 Apr 2008 14:57:56 -0400

don't cook when creating initial :source component, set up buildreqs for rapa, add packages

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -92,25 +92,30 @@
     'krb5',
     'ksh',
     'less',
-    'lvm2',
     'libaio',
+    'libapr-util1',
     'libapr1',
-    'libapr-util1',
     'libattr',
     'libcap',
     'libcom_err',
     'libelf',
+    'libevent',
     'libgcc',
     'libgssapi',
+    'libiniparser',
     'libjpeg',
     'libnscd',
     'libpcap',
     'libpng',
+    'librpcsecgss',
     'libstdc++',
     'libtool',
     'libusb',
     'libxcrypt',
     'libxml2',
+    'libxml2-python',
+    'logrotate',
+    'lvm2',
     'make',
     'mdadm',
     'mingetty',
@@ -121,6 +126,8 @@
     'ncurses',
     'net-tools',
     'netcfg',
+    'nfs-utils',
+    'nfsidmap',
     'openct',
     'openldap2',
     'openldap2-client',
@@ -147,15 +154,18 @@
     'php5',
     'pkgconfig',
     'popt',
+    'portmap',
     'procps',
     'psmisc',
     'pwdutils',
     'python',
     'python-xml',
     'resmgr',
+    'samba',
     'sed',
     'slang',
     'sles-release',
+    'strace',
     'sysconfig',
     'sysfsutils',
     'syslog-ng',
diff --git a/rpmimport/recipemaker.py b/rpmimport/recipemaker.py
--- a/rpmimport/recipemaker.py
+++ b/rpmimport/recipemaker.py
@@ -60,12 +60,12 @@
                              [ 'commit' ],
                              { 'message':
                                'Automated initial commit of %s:source' %pkgname})
-            cvc.sourceCommand(self.cfg, ['cook', pkgname], {'no-deps': None})
-            cfg = copy.copy(self.cfg)
-            buildFlavor = deps.deps.parseFlavor('is:x86_64')
-            cfg.buildFlavor = deps.deps.overrideFlavor(
-                cfg.buildFlavor, buildFlavor)
-            cvc.sourceCommand(cfg, ['cook', pkgname], {'no-deps': None})
+            #cvc.sourceCommand(self.cfg, ['cook', pkgname], {'no-deps': None})
+            #cfg = copy.copy(self.cfg)
+            #buildFlavor = deps.deps.parseFlavor('is:x86_64')
+            #cfg.buildFlavor = deps.deps.overrideFlavor(
+            #    cfg.buildFlavor, buildFlavor)
+            #cvc.sourceCommand(cfg, ['cook', pkgname], {'no-deps': None})
         finally:
             os.chdir(cwd)
 

From johnsonm@rpath.com Wed Aug 19 17:38:47 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLckU2009874
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:46 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLckEN011084
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:46 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLckak025845
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:46 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcdc0013243
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcWjU012944
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:34 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcWjU012944@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:32 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: Merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:48 -0000

changeset:   74dbcfea5d39
user:        Xiaowen Xin <https://issues.rpath.com/>
date:        Wed, 29 Nov 2006 02:06:01 +0800

Merge

committer: Xiaowen Xin <https://issues.rpath.com/>

diff --git a/rpmimport.recipe b/rpmimport.recipe
new file mode 100644
--- /dev/null
+++ b/rpmimport.recipe
@@ -0,0 +1,225 @@
+#!/usr/bin/python
+#
+# Copyright (c) 2006 rPath, Inc.
+#
+#
+
+from conary import rpmhelper
+
+class RPMImportRecipe(PackageRecipe):
+    name = 'rpmimport'
+    version = '1.0_1'
+    rpms = None
+    archs = [ 'noarch' ]
+    extraArch = {}
+
+    def __init__(r, *args, **kw):
+        r.usedrpms = []
+        r.headers = []
+        PackageRecipe.__init__(r, *args, **kw)
+
+    def unpack(r):
+        if not r.rpms:
+            r.rpms = [ '%(name)s' ]
+        for rpm in r.rpms:
+            # if we have a tuple, it's name, version
+            if isinstance(rpm, tuple):
+                rpmname, verrel = rpm
+                rpm = rpmname + '-%s' %verrel
+            else:
+                rpmname = rpm
+                rpm += '-%(version)s-%(release)s'
+            for rpmarch in r.archs:
+                pkgarch = rpmarch
+                if rpmarch == 'noarch':
+                    arch = True
+                elif rpmarch.startswith('i') and rpmarch.endswith('86'):
+                    # this is i586, i686 - most likely
+                    primaryArch = Arch.x86
+                    arch = primaryArch[rpmarch]
+                    if (rpmarch in r.extraArch
+                        and rpmname not in r.extraArch[rpmarch]
+                        and rpmarch == 'i686'):
+                        # handle cases like glibc, glibc-devel=i686,
+                        # but the rest are i586
+                        pkgarch = 'i586'
+                elif rpmarch == 'x86_64':
+                    arch = Arch[rpmarch]
+                else:
+                    raise RPMImportError('unsupported arch: %s' %rpmarch)
+                rpmfile = rpm + '.%s.rpm' %pkgarch
+                if arch:
+                    r.usedrpms.append(rpmfile %r.macros)
+                # follow the packaging splitting from the RPMs we're importing
+                packagename = rpmname
+                # collapse libfoo -> foo when the main package name is foo
+                # but don't collapse libbar -> bar when it's produced by the
+                # foo src rpm
+                if (not r.name.startswith('lib')
+                    and packagename.startswith('lib')
+                    and packagename[3:].startswith(r.name)):
+                    packagename = packagename[3:]
+                # collapse suffixes
+                for suffix in ('-devel', '-docs', '-doc', '-info',
+                               '-lib', '-libs', '-locale', '-man',
+                               '-i18ndata', '-html'):
+                # collapse foo-devel -> foo
+                    if rpmname.endswith(suffix):
+                        packagename = packagename[:-len(suffix)]
+                        break
+                r.addArchive(rpmfile, dir='/', use=arch, package=packagename)
+
+    def disableBuildRequirementsPolicy(r):
+        r.EnforceSonameBuildRequirements(exceptions='.*')
+        r.EnforceJavaBuildRequirements(exceptions='.*')
+        r.EnforceCILBuildRequirements(exceptions='.*')
+        r.EnforceConfigLogBuildRequirements(exceptions='.*')
+        # Note that perl and python runtime requirement CANNOT
+        # be discovered without listing them as runtime requirements,
+        # so it is important not to disable
+        # r.Enforce{Perl,Python}BuildRequirements
+
+    def disablePolicy(r):
+        r.BadInterpreterPaths(exceptions='.*')
+        r.CheckDesktopFiles(exceptions='.*')
+        r.CheckDestDir(exceptions='.*')
+        r.CheckSonames(exceptions='.*')
+        r.DanglingSymlinks(exceptions='.*')
+        r.ExecutableLibraries(exceptions='.*')
+        r.FilesForDirectories(exceptions='.*')
+        r.FilesInMandir(exceptions='.*')
+        r.FixDirModes(exceptions='.*')
+        r.FixupMultilibPaths(exceptions='.*')
+        r.LinkCount(exceptions='.*')
+        r.IgnoredSetuid(exceptions='.*')
+        r.ImproperlyShared(exceptions='.*')
+        r.NonBinariesInBindirs(exceptions='.*')
+        r.NonMultilibComponent(exceptions='.*')
+        r.NonMultilibDirectories(exceptions='.*')
+        r.NormalizeCompression(exceptions='.*')
+        r.NormalizeInterpreterPaths(exceptions='.*')
+        r.RemoveNonPackageFiles(exceptions='.*')
+        r.WarnWriteable(exceptions='.*')
+        r.WorldWriteableExecutables(exceptions='.*')
+        # ObsoletePaths does not honor exceptions
+        del r.ObsoletePaths
+
+    def disableStrip(r):
+        """
+        Default to not stripping; allow override in subclasses with:
+
+        def disableStrip(r): pass
+        """
+        r.Strip(exceptions='.*')
+
+    def policy(r):
+        """
+        hook for adding additional policy in subclasses.
+        """
+        pass
+
+    def preprocess(r):
+        "hook for adding sources/policy calls before anything else"
+        pass
+
+    def postprocess(r):
+        "hook for adding sources/policy calls after anything else"
+        pass
+
+    def readHeaders(r):
+        sourceList = r.fetchAllSources()
+        for rpmname in r.usedrpms:
+            rpmfiles = [ x for x in sourceList if os.path.basename(x) == rpmname ]
+            if len(rpmfiles) != 1:
+                raise RPMImportError('more than one source object matches '
+                                      'the "%s" rpm filename' %rpmname)
+            rpmfile = rpmfiles[0]
+            r.headers.append(rpmhelper.readHeader(file(rpmfile)))
+
+    def processFiles(r):
+        # given the set of RPM headers used, set permissions, config
+        # flags, etc appropriately
+        for header in r.headers:
+            for path, mode, rdev, flags, username, groupname in zip(
+                header.paths(),
+                header[rpmhelper.FILEMODES],
+                header[rpmhelper.FILERDEVS],
+                header[rpmhelper.FILEFLAGS],
+                header[rpmhelper.FILEUSERNAME],
+                header[rpmhelper.FILEGROUPNAME]):
+                path = util.normpath(path)
+                escaped_path = util.literalRegex(path)
+                escaped_path = escaped_path.replace('\\/', '/')
+                # handle non-root ownership
+                if username != 'root' or groupname != 'root':
+                    r.Ownership(username, groupname, escaped_path)
+                if stat.S_ISDIR(mode):
+                    # hande directories with permissions other than
+                    # root:root 755 (new conary should handle this for
+                    # us automatically)
+                    r.MakeDirs(path)
+                    if (mode & 07777 != 0755 or username != 'root'
+                        or groupname != 'root'):
+                        r.ExcludeDirectories(exceptions=escaped_path)
+                elif stat.S_ISCHR(mode) or stat.S_ISBLK(mode):
+                    if stat.S_ISCHR(mode):
+                        type='c'
+                    else:
+                        type='b'
+                    # this is correct for 32-bit device number
+                    # RPM does not provide 64-bit device number
+                    minor = rdev & 0xff | (rdev >> 12) & 0xffffff00
+                    major = (rdev >> 8) & 0xfff
+                    r.MakeDevices(escaped_path, type, major, minor,
+                                  username, groupname, mode&0777)
+                    continue
+
+                if flags & (1 << 0):
+                    # CONFIG
+                    r.Config(escaped_path)
+                if (flags & (1 << 1) or
+                      flags & (1 << 7) or
+                      flags & (1 << 8)):
+                    # DOC, LICENSE, README
+                    r.ComponentSpec('doc', escaped_path)
+                if flags & (1 << 4):
+                    # NOREPLACE
+                    r.InitialContents(escaped_path)
+                if flags & (1 << 6):
+                    # GHOST.  We only handle ghost files, not ghost dirs
+                    if stat.S_ISREG(mode):
+                        r.Create(path)
+                        r.InitialContents(escaped_path)
+                    elif stat.S_ISDIR(mode):
+                        r.ExcludeDirectories(exceptions=escaped_path)
+
+                # handle "special" permissions (although un-cpio'ing
+                # the payload should have set them all correctly, payload
+                # doesn't include things like %gost)
+                if not stat.S_ISLNK(mode):
+                    r.SetModes(path, mode & 07777)
+
+    def processRequires(r):
+        # FIXME: implement
+        pass
+
+    def processProvides(r):
+        # FIXME: implement
+        pass
+
+    def setup(r):
+        if r.__class__.__name__ == 'RPMImportRecipe':
+            return
+        r.macros.version, r.macros.release = r.version.rsplit('_', 1)
+        r.preprocess()
+        r.unpack()
+        r.policy()
+        r.readHeaders()
+        r.processFiles()
+        r.disableBuildRequirementsPolicy()
+        r.disableStrip()
+        r.disablePolicy()
+        r.postprocess()
+
+class RPMImportError(Exception):
+    pass
diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -104,7 +104,7 @@
                 'perl-Bootloader', 'perl-Compress-Zlib',
                 'perl-DBD-SQLite', 'perl-DBI', 'perl-Digest-SHA1', 'perl-Net-Daemon',
                 'perl-PlRPC', 'perl-TermReadKey', 'perl-URI',
-                'perl-gettext', 'procps', 'procps', 'psmisc',
+                'perl-gettext', 'procps', 'psmisc',
                 'pwdutils', 'python', 'python-xml', 'resmgr', 'sed',
                 'slang', 'sles-release', 'sysconfig', 'sysfsutils',
                 'syslog-ng', 'sysvinit', 'tar', 'tcl',

From johnsonm@rpath.com Wed Aug 19 17:38:48 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLclvQ009875
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:47 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLckC6011090
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:47 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLckp9025853
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:46 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcZQ7013061
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:39 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcUow012845
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:31 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcUow012845@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:30 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add more packages, skip cooking
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:48 -0000

changeset:   adf826a59fc7
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 17 Nov 2006 10:04:18 -0500

add more packages, skip cooking

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/rpmimport.py b/rpmimport.py
--- a/rpmimport.py
+++ b/rpmimport.py
@@ -86,15 +86,16 @@
         """
 
         bins = ['aaa_base', 'acl', 'alsa', 'apache2', 'ash', 'attr',
-                'bash', 'bzip2', 'compat-libstdc++', 'coreutils',
-                'cpio', 'cracklib', 'cron', 'cyrus-sasl', 'db',
-                'dhcpcd', 'diffutils', 'e2fsprogs', 'expat', 'expect',
-                'file', 'filesystem', 'findutils', 'findutils-locate',
-                'fontconfig', 'freetype', 'freetype2', 'gawk', 'gdbm',
-                'glib2', 'glibc', 'gmp', 'gpm', 'grep', 'grub',
-                'gzip', 'insserv', 'iproute2', 'iptables', 'iputils',
-                'kbd', 'klogd', 'krb5', 'ksh', 'libaio', 'libattr',
-                'libelf', 'libgcc', 'libjpeg', 'libnscd', 'libpng',
+                'bash', 'binutils', 'bzip2', 'compat-libstdc++',
+                'coreutils', 'cpio', 'cracklib', 'cron', 'cyrus-sasl',
+                'db', 'dhcpcd', 'diffutils', 'e2fsprogs', 'expat',
+                'expect', 'file', 'filesystem', 'findutils',
+                'findutils-locate', 'fontconfig', 'freetype',
+                'freetype2', 'gawk', 'gdbm', 'glib2', 'glibc', 'gmp',
+                'gpm', 'grep', 'grub', 'gzip', 'insserv', 'iproute2',
+                'iptables', 'iputils', 'kbd', 'klogd', 'krb5', 'ksh',
+                'less', 'libaio', 'libattr', 'libelf', 'libgcc',
+                'libjpeg', 'libnscd', 'libpcap', 'libpng',
                 'libstdc++', 'libxcrypt', 'make', 'mdadm', 'mingetty',
                 'mkinitrd', 'mktemp', 'module-init-tools', 'ncurses',
                 'net-tools', 'netcfg', 'openldap2',
@@ -107,9 +108,9 @@
                 'pwdutils', 'pwdutils', 'python', 'resmgr', 'sed',
                 'slang', 'sles-release', 'sysconfig', 'sysfsutils',
                 'syslog-ng', 'sysvinit', 'sysvinit', 'tar', 'tcl',
-                'tcsh', 'termcap', 'timezone', 'udev', 'unixODBC',
-                'util-linux', 'vim', 'wget', 'wireless-tools',
-                'xorg-x11', 'zlib']
+                'tcsh', 'tcpdump', 'termcap', 'timezone', 'udev',
+                'unixODBC', 'util-linux', 'vim', 'wget',
+                'wireless-tools', 'xorg-x11', 'zlib']
 
         srpms = list()
         for b in bins:
@@ -225,12 +226,12 @@
                     shutil.copy(fn, path)
                     addfiles.append(path)
             self.cvc.sourceCommand(self.cfg, addfiles, {})
-            self.cvc.sourceCommand(self.cfg, ['cook', recipe], {})
+            #self.cvc.sourceCommand(self.cfg, ['cook', recipe], {})
             self.cvc.sourceCommand(self.cfg,
                               [ 'commit' ],
                               { 'message':
                                 'Automated initial commit of ' + recipe })
-            self.cvc.sourceCommand(self.cfg, ['cook', pkgname], {})
+            #self.cvc.sourceCommand(self.cfg, ['cook', pkgname], {})
         finally:
             os.chdir(cwd)
 

From johnsonm@rpath.com Wed Aug 19 17:38:49 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcnmC009892
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:49 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcn1T011104
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:49 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcmAv025873
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:49 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLceHD013299
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcY53013040
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:36 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcY53013040@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:34 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: re-wrap pkg list
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:49 -0000

changeset:   2627b9a91242
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 01 Dec 2006 12:52:13 -0500

re-wrap pkg list

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -101,18 +101,18 @@
                 'libstdc++', 'libusb', 'libxcrypt', 'make', 'mdadm',
                 'mingetty', 'mkinitrd', 'mktemp', 'module-init-tools',
                 'ncurses', 'net-tools', 'netcfg', 'openldap2',
-                'openldap2-client', 'openslp', 'openssh', 'openssl', 'pam',
-                'pam-modules', 'patch', 'pciutils', 'pcre', 'perl',
-                'perl-Bootloader', 'perl-Compress-Zlib',
+                'openldap2-client', 'openslp', 'openssh', 'openssl',
+                'pam', 'pam-modules', 'patch', 'pciutils', 'pcre',
+                'perl', 'perl-Bootloader', 'perl-Compress-Zlib',
                 'perl-DBD-SQLite', 'perl-DBI', 'perl-Digest-SHA1',
                 'perl-Net-Daemon', 'perl-PlRPC', 'perl-TermReadKey',
-                'perl-URI', 'perl-gettext', 'php5', 'procps', 'psmisc',
-                'pwdutils', 'python', 'python-xml', 'resmgr', 'sed',
-                'slang', 'sles-release', 'sysconfig', 'sysfsutils',
-                'syslog-ng', 'sysvinit', 'tar', 'tcl', 'tcsh',
-                'tcpdump', 'termcap', 'timezone', 'udev', 'unixODBC',
-                'util-linux', 'vim', 'wget', 'wireless-tools',
-                'xorg-x11', 'zlib']
+                'perl-URI', 'perl-gettext', 'php5', 'procps',
+                'psmisc', 'pwdutils', 'python', 'python-xml',
+                'resmgr', 'sed', 'slang', 'sles-release', 'sysconfig',
+                'sysfsutils', 'syslog-ng', 'sysvinit', 'tar', 'tcl',
+                'tcsh', 'tcpdump', 'termcap', 'timezone', 'udev',
+                'unixODBC', 'util-linux', 'vim', 'wget',
+                'wireless-tools', 'xorg-x11', 'zlib']
 
         srpms = list()
         for b in bins:

From johnsonm@rpath.com Wed Aug 19 17:38:49 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcnEb009893
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:49 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcn4n011103
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:49 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcmmc025871
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:48 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcfDh013366
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:44 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLceJB013331
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:40 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLceJB013331@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:40 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add sync-repos script and hardlink.py helper
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:49 -0000

changeset:   0126c753add1
user:        Matt Wilson <https://issues.rpath.com/>
date:        Tue, 18 Mar 2008 20:52:09 -0400

add sync-repos script and hardlink.py helper

hardlink.py is from http://hardlinkpy.googlecode.com/svn/trunk/hardlink.py

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/hardlink.py b/hardlink.py
new file mode 100755
--- /dev/null
+++ b/hardlink.py
@@ -0,0 +1,497 @@
+#!/usr/bin/python
+
+# hardlink - Goes through a directory structure and creates hardlinks for
+# files which are identical.
+#
+# Copyright (C) 2003 - 2007  John L. Villalovos, Hillsboro, Oregon
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+# more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc., 59
+# Temple Place, Suite 330, Boston, MA  02111-1307, USA.
+#
+#
+# ------------------------------------------------------------------------
+# John Villalovos
+# email: john@sodarock.com
+# http://www.sodarock.com/
+#
+# Inspiration for this program came from the hardlink.c code. I liked what it
+# did but did not like the code itself, to me it was very unmaintainable.  So I
+# rewrote in C++ and then I rewrote it in python.  In reality this code is
+# nothing like the original hardlink.c, since I do things quite differently.
+# Even though this code is written in python the performance of the python
+# version is much faster than the hardlink.c code, in my limited testing.  This
+# is mainly due to use of different algorithms.
+#
+# Original inspirational hardlink.c code was written by:  Jakub Jelinek
+# <jakub@redhat.com>
+#
+# ------------------------------------------------------------------------
+#
+# TODO:
+#   *   Thinking it might make sense to walk the entire tree first and collect
+#       up all the file information before starting to do comparisons.  Thought
+#       here is we could find all the files which are hardlinked to each other
+#       and then do a comparison.  If they are identical then hardlink
+#       everything at once.
+
+import getopt
+import os
+import re
+import stat
+import sys
+import time
+
+from optparse import OptionParser
+
+# Hash functions
+# Create a hash from a file's size and time values
+def hash_size_time(size, time):
+    return (size ^ time) & (MAX_HASHES - 1);
+
+def hash_size(size):
+    return (size) & (MAX_HASHES - 1);
+
+def hash_value(size, time, notimestamp):
+    if notimestamp:
+        return hash_size(size)
+    else:
+        return hash_size_time(size,time)
+
+# If two files have the same inode and are on the same device then they are
+# already hardlinked.
+def isAlreadyHardlinked(
+    st1,     # first file's status
+    st2 ):    # second file's status
+    result = (
+                      (st1[stat.ST_INO] == st2[stat.ST_INO]) and # Inodes equal
+                      (st1[stat.ST_DEV] == st2[stat.ST_DEV])     # Devices equal
+                  );
+    return result
+
+# if a file is eligibile for hardlinking.  Files will only be considered for
+# hardlinking if this function returns true.
+def eligibleForHardlink(
+    st1,        # first file's status
+    st2,        # second file's status
+    options):
+
+    result = (
+            # Must meet the following
+            # criteria:
+            (not isAlreadyHardlinked(st1, st2)) and         # NOT already hard linked
+            (st1[stat.ST_SIZE] == st2[stat.ST_SIZE]) and    # size is the same
+            (st1[stat.ST_SIZE] != 0 ) and                   # size is not zero
+            (st1[stat.ST_MODE] == st2[stat.ST_MODE]) and    # file mode is the same
+            (st1[stat.ST_UID] == st2[stat.ST_UID]) and      # owner user id is the same
+            (st1[stat.ST_GID] == st2[stat.ST_GID]) and      # owner group id is the same
+            ((st1[stat.ST_MTIME] == st2[stat.ST_MTIME]) or  # modified time is the same
+              (options.notimestamp)) and                    # OR date hashing is off
+            (st1[stat.ST_DEV] == st2[stat.ST_DEV])          # device is the same
+        )
+    if None:
+    # if not result:
+        print "\n***\n", st1
+        print st2
+        print "Already hardlinked: %s" % (not isAlreadyHardlinked(st1, st2))
+        print "Modes:", st1[stat.ST_MODE], st2[stat.ST_MODE]
+        print "UIDs:", st1[stat.ST_UID], st2[stat.ST_UID]
+        print "GIDs:", st1[stat.ST_GID], st2[stat.ST_GID]
+        print "SIZE:", st1[stat.ST_SIZE], st2[stat.ST_SIZE]
+        print "MTIME:", st1[stat.ST_MTIME], st2[stat.ST_MTIME]
+        print "Ignore date:", options.notimestamp
+        print "Device:", st1[stat.ST_DEV], st2[stat.ST_DEV]
+    return result
+
+
+def areFileContentsEqual(filename1, filename2, options):
+    """Determine if the contents of two files are equal.
+    **!! This function assumes that the file sizes of the two files are
+    equal."""
+    # Open our two files
+    file1 = open(filename1,'rb')
+    file2 = open(filename2,'rb')
+    # Make sure open succeeded
+    if not (file1 and file2):
+        print "Error opening file in areFileContentsEqual"
+        print "Was attempting to open:"
+        print "file1: %s" % filename1
+        print "file2: %s" % filename2
+        result = False
+    else:
+        if options.verbose >= 1:
+            print "Comparing: %s" % filename1
+            print "     to  : %s" % filename2
+        buffer_size = 1024*1024
+        while 1:
+            buffer1 = file1.read(buffer_size)
+            buffer2 = file2.read(buffer_size)
+            if buffer1 != buffer2:
+                result = False
+                break
+            if not buffer1:
+                result = True
+                break
+        gStats.didComparison()
+    return result
+
+# Determines if two files should be hard linked together.
+def areFilesHardlinkable(file_info_1, file_info_2, options):
+    filename1 = file_info_1[0]
+    stat_info_1 = file_info_1[1]
+    filename2 = file_info_2[0]
+    stat_info_2 = file_info_2[1]
+    # See if the files are eligible for hardlinking
+    if eligibleForHardlink(stat_info_1, stat_info_2, options):
+        # Now see if the contents of the file are the same.  If they are then
+        # these two files should be hardlinked.
+        if not options.samename:
+            # By default we don't care if the filenames are equal
+            result = areFileContentsEqual(filename1, filename2, options)
+        else:
+            # Make sure the filenames are the same, if so then compare content
+            basename1 = os.path.basename(filename1)
+            basename2 = os.path.basename(filename2)
+            if basename1 == basename2:
+                result = areFileContentsEqual(filename1, filename2, options)
+            else:
+                result = False
+    else:
+        result = False
+    return result
+
+# Hardlink two files together
+def hardlinkfiles(sourcefile, destfile, stat_info, options):
+    # rename the destination file to save it
+    temp_name = destfile + ".$$$___cleanit___$$$"
+    try:
+        if not options.dryrun:
+            os.rename(destfile, temp_name)
+    except OSError, error:
+        print "Failed to rename: %s to %s" % (destfile, temp_name)
+        print error
+        result = False
+    else:
+        # Now link the sourcefile to the destination file
+        try:
+            if not options.dryrun:
+                os.link(sourcefile, destfile)
+        except:
+            print "Failed to hardlink: %s to %s" % (sourcefile, destfile)
+            # Try to recover
+            try:
+                os.rename(temp_name, destfile)
+            except:
+                print "BAD BAD - failed to rename back %s to %s" (temp_name, destfile)
+            result = False
+        else:
+            # hard link succeeded
+            # Delete the renamed version since we don't need it.
+            if not options.dryrun:
+                os.unlink ( temp_name)
+            # update our stats
+            gStats.didHardlink(sourcefile, destfile, stat_info)
+            if options.verbose >= 1:
+                if options.dryrun:
+                    print "Did NOT link.  Dry run"
+                size = stat_info[stat.ST_SIZE]
+                print "Linked: %s" % sourcefile
+                print"     to: %s, saved %s" % (destfile, size)
+            result = True
+    return result
+
+def hardlink_identical_files(directories, filename, options):
+    """
+    The purpose of this function is to hardlink files together if the files are
+    the same.  To be considered the same they must be equal in the following
+    criteria:
+          * file mode
+          * owner user id
+          * owner group id
+          * file size
+          * modified time (optional)
+          * file contents
+
+    Also, files will only be hardlinked if they are on the same device.  This
+    is because hardlink does not allow you to hardlink across file systems.
+
+    The basic idea on how this is done is as follows:
+
+        Walk the directory tree building up a list of the files.
+
+     For each file, generate a simple hash based on the size and modified time.
+
+     For any other files which share this hash make sure that they are not
+     identical to this file.  If they are identical then hardlink the files.
+
+     Add the file info to the list of files that have the same hash value."""
+
+    for exclude in options.excludes:
+        if re.search(exclude, filename):
+            return
+    try:
+        stat_info = os.stat(filename)
+    except OSError:
+        # Python 1.5.2 doesn't handle 2GB+ files well :(
+        print "Unable to get stat info for: %s" % filename
+        print "If running Python 1.5 this could be because the file is greater than 2 Gibibytes"
+        return
+    if not stat_info:
+        # We didn't get the file status info :(
+        return
+
+    # Is it a directory?
+    if stat.S_ISDIR(stat_info[stat.ST_MODE]):
+        # If it is a directory then add it to the list of directories.
+        directories.append(filename)
+    # Is it a regular file?
+    elif stat.S_ISREG(stat_info[stat.ST_MODE]):
+        # Create the hash for the file.
+        file_hash = hash_value(stat_info[stat.ST_SIZE], stat_info[stat.ST_MTIME],
+            options.notimestamp)
+        # Bump statistics count of regular files found.
+        gStats.foundRegularFile()
+        if options.verbose >= 2:
+            print "File: %s" % filename
+        work_file_info = (filename, stat_info)
+        if file_hashes.has_key(file_hash):
+            # We have file(s) that have the same hash as our current file.
+            # Let's go through the list of files with the same hash and see if
+            # we are already hardlinked to any of them.
+            for (temp_filename,temp_stat_info) in file_hashes[file_hash]:
+                if isAlreadyHardlinked(stat_info,temp_stat_info):
+                    gStats.foundHardlink(temp_filename,filename,
+                        temp_stat_info)
+                    break
+            else:
+                # We did not find this file as hardlinked to any other file
+                # yet.  So now lets see if our file should be hardlinked to any
+                # of the other files with the same hash.
+                for (temp_filename,temp_stat_info) in file_hashes[file_hash]:
+                    if areFilesHardlinkable(work_file_info, (temp_filename, temp_stat_info),
+                            options):
+                        hardlinkfiles(temp_filename, filename, temp_stat_info, options)
+                        break
+                else:
+                    # The file should NOT be hardlinked to any of the other
+                    # files with the same hash.  So we will add it to the list
+                    # of files.
+                    file_hashes[file_hash].append(work_file_info)
+        else:
+            # There weren't any other files with the same hash value so we will
+            # create a new entry and store our file.
+            file_hashes[file_hash] = [work_file_info]
+
+
+class cStatistics:
+    def __init__(self):
+        self.dircount = 0L                  # how many directories we find
+        self.regularfiles = 0L              # how many regular files we find
+        self.comparisons = 0L               # how many file content comparisons
+        self.hardlinked_thisrun = 0L        # hardlinks done this run
+        self.hardlinked_previously = 0L;    # hardlinks that are already existing
+        self.bytes_saved_thisrun = 0L       # bytes saved by hardlinking this run
+        self.bytes_saved_previously = 0L    # bytes saved by previous hardlinks
+        self.hardlinkstats = []             # list of files hardlinked this run
+        self.starttime = time.time()        # track how long it takes
+        self.previouslyhardlinked = {}      # list of files hardlinked previously
+
+    def foundDirectory(self):
+        self.dircount = self.dircount + 1
+    def foundRegularFile(self):
+        self.regularfiles = self.regularfiles + 1
+    def didComparison(self):
+        self.comparisons = self.comparisons + 1
+    def foundHardlink(self,sourcefile, destfile, stat_info):
+        filesize = stat_info[stat.ST_SIZE]
+        self.hardlinked_previously = self.hardlinked_previously + 1
+        self.bytes_saved_previously = self.bytes_saved_previously + filesize
+        if not self.previouslyhardlinked.has_key(sourcefile):
+            self.previouslyhardlinked[sourcefile] = (stat_info,[destfile])
+        else:
+            self.previouslyhardlinked[sourcefile][1].append(destfile)
+    def didHardlink(self,sourcefile,destfile,stat_info):
+        filesize = stat_info[stat.ST_SIZE]
+        self.hardlinked_thisrun = self.hardlinked_thisrun + 1
+        self.bytes_saved_thisrun = self.bytes_saved_thisrun + filesize
+        self.hardlinkstats.append((sourcefile, destfile))
+    def printStats(self, options):
+        print "\n"
+        print "Hard linking Statistics:"
+        # Print out the stats for the files we hardlinked, if any
+        if self.previouslyhardlinked and options.printprevious:
+            keys = self.previouslyhardlinked.keys()
+            keys.sort()
+            print "Files Previously Hardlinked:"
+            for key in keys:
+                stat_info, file_list = self.previouslyhardlinked[key]
+                size = stat_info[stat.ST_SIZE]
+                print "Hardlinked together: %s" % key
+                for filename in file_list:
+                    print "                   : %s" % filename
+                print "Size per file: %s  Total saved: %s" % (size,
+                                    size * len(file_list))
+            print
+        if self.hardlinkstats:
+            if options.dryrun:
+                print "Statistics reflect what would have happened if not a dry run"
+            print "Files Hardlinked this run:"
+            for (source,dest) in self.hardlinkstats:
+                print"Hardlinked: %s" % source
+                print"        to: %s" % dest
+            print
+        print "Directories           : %s" % self.dircount
+        print "Regular files         : %s" % self.regularfiles
+        print "Comparisons           : %s" % self.comparisons
+        print "Hardlinked this run   : %s" % self.hardlinked_thisrun
+        print "Total hardlinks       : %s" % (self.hardlinked_previously + self.hardlinked_thisrun)
+        print "Bytes saved this run  : %s (%s)" % (self.bytes_saved_thisrun, humanize_number(self.bytes_saved_thisrun))
+        totalbytes = self.bytes_saved_thisrun + self.bytes_saved_previously;
+        print "Total bytes saved     : %s (%s)" % (totalbytes, humanize_number(totalbytes))
+        print "Total run time        : %s seconds" % (time.time() - self.starttime)
+
+
+
+def humanize_number( number ):
+    if number  > 1024 * 1024 * 1024:
+        return ("%.3f gibibytes" % (number / (1024.0 * 1024 * 1024)))
+    if number  > 1024 * 1024:
+        return ("%.3f mibibytes" % (number / (1024.0 * 1024)))
+    if number  > 1024:
+        return ("%.3f kibibytes" % (number / 1024.0))
+    return ("%d bytes" % number)
+
+
+
+def printversion(self):
+    print "hardlink.py, Version %s" % VERSION
+    print "Copyright (C) 2003 - 2006 John L. Villalovos."
+    print "email: software@sodarock.com"
+    print "web: http://www.sodarock.com/"
+    print """
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; version 2 of the License.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA  02111-1307, USA.
+"""
+
+
+def parseCommandLine():
+    usage = "usage: %prog [options] directory [ directory ... ]"
+    version = "%prog: " + VERSION
+    parser = OptionParser(usage=usage, version=version)
+    parser.add_option("-f", "--filenames-equal", help="Filenames have to be identical",
+        action="store_true", dest="samename", default=False,)
+
+    parser.add_option("-n", "--dry-run", help="Do NOT actually hardlink files",
+        action="store_true", dest="dryrun", default=False,)
+
+    parser.add_option("-p", "--print-previous", help="Print previously created hardlinks",
+        action="store_true", dest="printprevious", default=False,)
+
+    parser.add_option("-q", "--no-stats", help="Do not print the statistics",
+        action="store_false", dest="printstats", default=True,)
+
+    parser.add_option("-t", "--timestamp-ignore",
+        help="File modification times do NOT have to be identical",
+        action="store_true", dest="notimestamp", default=False,)
+
+    parser.add_option("-v", "--verbose",
+        help="Verbosity level (default: %default)", metavar="LEVEL",
+        action="store", dest="verbose", default=1,)
+
+    parser.add_option("-x", "--exclude",
+        help="Regular expression used to exclude files/dirs (may specify multiple times)", metavar="REGEX",
+        action="append", dest="excludes", default=[],)
+
+    (options, args) = parser.parse_args()
+    if not args:
+        parser.print_help()
+        print
+        print "Error: Must supply one or more directories"
+        sys.exit(1)
+    args = [os.path.abspath(os.path.expanduser(dirname)) for dirname in args]
+    for dirname in args:
+        if not os.path.isdir(dirname):
+            parser.print_help()
+            print
+            print "Error: %s is NOT a directory" % dirname
+            sys.exit(1)
+    return options, args
+
+
+# Start of global declarations
+debug = None
+debug1 = None
+
+MAX_HASHES = 128 * 1024
+
+gStats = cStatistics()
+
+file_hashes = {}
+
+VERSION = "0.04 - 2007-11-14 (14-Nov-2007)"
+
+def main():
+    # Parse our argument list and get our list of directories
+    options, directories = parseCommandLine()
+    # Compile up our regexes ahead of time
+    MIRROR_PL_REGEX = re.compile(r'^\.in\.')
+    RSYNC_TEMP_REGEX = re.compile((r'^\..*\.\?{6,6}$'))
+    # Now go through all the directories that have been added.
+    # NOTE: hardlink_identical_files() will add more directories to the
+    #       directories list as it finds them.
+    while directories:
+        # Get the last directory in the list
+        directory = directories[-1] + '/'
+        del directories[-1]
+        if not os.path.isdir(directory):
+            print "%s is NOT a directory!" % directory
+        else:
+            gStats.foundDirectory()
+            # Loop through all the files in the directory
+            try:
+                dir_entries = os.listdir(directory)
+            except OSError:
+                print "Error: Unable to do an os.listdir on: %s  Skipping..." % directory
+                continue
+            for entry in dir_entries:
+                pathname = os.path.normpath(os.path.join(directory,entry))
+                # Look at files/dirs beginning with "."
+                if entry[0] == ".":
+                    # Ignore any mirror.pl files.  These are the files that
+                    # start with ".in."
+                    if MIRROR_PL_REGEX.match(entry):
+                        continue
+                    # Ignore any RSYNC files.  These are files that have the
+                    # format .FILENAME.??????
+                    if RSYNC_TEMP_REGEX.match(entry):
+                        continue
+                if os.path.islink(pathname):
+                    if debug1: print "%s: is a symbolic link, ignoring" % pathname
+                    continue
+                if debug1 and os.path.isdir(pathname):
+                    print "%s is a directory!" % pathname
+                hardlink_identical_files(directories, pathname, options)
+    if options.printstats:
+        gStats.printStats(options)
+
+if __name__ == '__main__':
+    main()

From johnsonm@rpath.com Wed Aug 19 17:38:50 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcofD009899
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:50 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcnta011114
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:49 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcnk0025889
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:49 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcdRn013268
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcaJ8013097
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:36 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcaJ8013097@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:35 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add #!/usr/bin/python/
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:51 -0000

changeset:   703d1a72028b
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 01 Dec 2006 13:35:54 -0500

add #!/usr/bin/python/

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
old mode 100644
new mode 100755
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -1,3 +1,4 @@
+#!/usr/bin/python
 from conary import cvc, rpmhelper
 import conary.lib.util
 import os

From johnsonm@rpath.com Wed Aug 19 17:38:50 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcoB0009900
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:50 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcneP011115
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:49 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcnXM025891
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:49 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLceXm013319
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:43 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcd1W013232
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:39 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcd1W013232@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:39 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: correct name of dbus
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:51 -0000

changeset:   c0b7db7298c8
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 01 Dec 2006 15:13:09 -0500

correct name of dbus

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -103,7 +103,7 @@
             'cron',
             'cyrus-sasl',
             'db',
-            'dbus',
+            'dbus-1',
             'dhcpcd',
             'diffutils',
             'e2fsprogs',

From johnsonm@rpath.com Wed Aug 19 17:38:50 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcotP009901
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:50 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcnCM011116
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:50 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcnxI025893
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:49 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLceH9013321
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:43 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcchI013215
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:39 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcchI013215@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:38 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:52 -0000

changeset:   1f2465693f1e
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 01 Dec 2006 15:11:59 -0500

branch merge

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -111,8 +111,6 @@
                 recipeFile.close()
 
                 # Remove the original RPMs and add the new ones.
-                import epdb
-                epdb.st()
                 cwd = os.getcwd()
                 os.chdir(pkgname)
                 from conary.state import ConaryStateFromFile

From johnsonm@rpath.com Wed Aug 19 17:38:52 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcqWN009924
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:52 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcpsJ011135
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:51 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcpLd025911
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:51 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcgSD013404
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:45 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcf9C013370
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:41 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcf9C013370@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:41 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add packages to import
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:53 -0000

changeset:   0993e24c7175
user:        Matt Wilson <https://issues.rpath.com/>
date:        Wed, 02 Apr 2008 11:41:39 -0400

add packages to import

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -43,8 +43,10 @@
     'audit',
     'bash',
     'binutils',
+    'busybox',
     'bzip2',
     'compat-libstdc++',
+    'compat-openssl097g',
     'coreutils',
     'cpio',
     'cpp',
@@ -95,6 +97,7 @@
     'libapr1',
     'libapr-util1',
     'libattr',
+    'libcap',
     'libcom_err',
     'libelf',
     'libgcc',
@@ -170,7 +173,7 @@
     'vim',
     'wget',
     'wireless-tools',
-    'xorg-x11',
+    #'xorg-x11',
     'zlib'
     )
 

From johnsonm@rpath.com Wed Aug 19 17:38:51 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcp1D009915
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:51 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcpgM011132
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:51 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcorB025906
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:50 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLciCp013486
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:46 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLch6w013428
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:43 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLch6w013428@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:42 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add some more packages
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:53 -0000

changeset:   49556b9027c8
user:        Matt Wilson <https://issues.rpath.com/>
date:        Tue, 13 May 2008 10:10:15 -0400

add some more packages

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -38,6 +38,8 @@
     'aaa_base',
     'acl',
     'apache2',
+    'apache2-mod_php',
+    'apache2-mod_python',
     'ash',
     'attr',
     'audit',
@@ -169,6 +171,7 @@
     'sysconfig',
     'sysfsutils',
     'syslog-ng',
+    'sysstat',
     'sysvinit',
     'tar',
     'tcl',
@@ -184,6 +187,7 @@
     'vim',
     'wget',
     'wireless-tools',
+    'xntp',
     #'xorg-x11',
     'zlib',
     'zip',

From johnsonm@rpath.com Wed Aug 19 17:38:51 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLco2R009907
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:50 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcog6011123
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:50 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcoCa025900
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:50 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcesL013323
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:43 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcdwK013256
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:39 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcdwK013256@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:39 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add popt to list
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:53 -0000

changeset:   3b211a40d8dc
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 01 Dec 2006 15:41:10 -0500

add popt to list

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -190,6 +190,7 @@
             'perl-URI',
             'perl-gettext',
             'php5',
+            'popt',
             'procps',
             'psmisc',
             'pwdutils',

From johnsonm@rpath.com Wed Aug 19 17:38:51 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcogN009910
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:50 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcoYx011129
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:50 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcopg025903
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:50 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLckk6013569
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:47 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcjeI013546
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:45 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcjeI013546@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:45 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add initial pylint integration (SLE-87)
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:53 -0000

changeset:   290ddc393f12
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 27 May 2008 17:38:41 -0400

add initial pylint integration (SLE-87)

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/pylint/Makefile b/pylint/Makefile
new file mode 100644
--- /dev/null
+++ b/pylint/Makefile
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+dist_files = init_pylint.py  Makefile  pylintrc  run_pylint
+
+all: pylint
+install:
+
+dist: default-dist
+
+pylint:
+	@echo running pylint...
+	@./run_pylint
+	@echo Done.  Error output is in the reports/ directory.
+
+clean:
+	rm -rf reports *,cover
+
+include ../Make.rules
+include ../Make.defs
diff --git a/pylint/init_pylint.py b/pylint/init_pylint.py
new file mode 100644
--- /dev/null
+++ b/pylint/init_pylint.py
@@ -0,0 +1,45 @@
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+import os
+import sys
+
+import epdb
+epdb.st()
+
+# set default SLEESTACK_PATH, if it was not set.
+parDir = '/'.join(os.path.realpath(__file__).split('/')[:-2])
+parDir = os.path.dirname(parDir)
+mirrorballPath = os.getenv('SLEESTACK_PATH', parDir)
+os.environ['SLEESTACK_PATH'] = mirrorballPath
+
+def setPathFromEnv(variable, directory):
+    parDir = '/'.join(os.path.realpath(__file__).split('/')[:-3])
+    parDir = os.path.dirname(parDir) + '/' + directory
+    thisPath = os.getenv(variable, parDir)
+    os.environ[variable] = thisPath
+    if thisPath not in sys.path:
+        sys.path.insert(0, thisPath)
+    return thisPath
+
+# set default CONARY_PATH, if it was not set.
+conaryPath = setPathFromEnv('CONARY_PATH', 'conary')
+
+# set default RMAKE_PATH, if it was not set.
+rmakePath = setPathFromEnv('RMAKE_PATH', 'rmake')
+
+for path in rmakePath, conaryPath, mirrorballPath:
+    if path in sys.path:
+        sys.path.remove(path)
+    sys.path.insert(0, path)
diff --git a/pylint/pylint_commit b/pylint/pylint_commit
new file mode 100755
--- /dev/null
+++ b/pylint/pylint_commit
@@ -0,0 +1,30 @@
+#!/bin/sh
+curdir=`pwd`
+files=`hg diff | diffstat -l -p1 | grep -v pylint | sed s,^,${curdir}/,g`
+if [ -z "$files" ] ; then
+    exit 0;
+fi
+echo "Running pylint...."
+cd pylint;
+./run_pylint $files --files-output=n | tee pylint_errors.txt
+if [ -s pylint_errors.txt ]; then
+    while true; do
+        echo "Pylint errors were found."
+        echo -n "Commit anyway? [y/N] "
+        read yn
+        if [ -z "$yn" ]; then
+            echo "Not committing."
+            exit 1
+        fi
+        case $yn in 
+            y | Y ) echo "Committing"
+                    exit 0 ;;
+            [nN] ) echo "Errors for your files stored in `pwd`/pylint_errors.txt"
+                  exit 1 ;;
+            * ) echo "Answer y or n"
+        esac
+    done
+else
+    echo "Pylint passed."
+    exit 1
+fi
diff --git a/pylint/pylintrc b/pylint/pylintrc
new file mode 100644
--- /dev/null
+++ b/pylint/pylintrc
@@ -0,0 +1,35 @@
+[BASIC]
+# Regular expression which should only match correct class names
+class-rgx=[A-Z][a-zA-Z0-9]+$
+
+# Regular expression which should only match correct function names
+function-rgx=[a-z_][a-zA-Z0-9]*$
+
+# Regular expression which should only match correct function names
+name-rgx=[a-z_][a-zA-Z0-9]*$
+
+# Regular expression which should only match correct method names
+method-rgx=([a-z_][a-zA-Z0-9]*)|(__[a-z][a-zA-Z0-9]+__)$
+
+# Regular expression which should only match correct argument names
+argument-rgx=[a-z][a-zA-Z0-9]*$
+
+# Regular expression which should only match correct variable names
+variable-rgx=[a-z][a-zA-Z0-9]*$
+
+# Attributes can be camel case too
+attr-rgx=[a-z_][a-zA-Z0-9_]{2,30}$
+
+# Good variable names which should always be accepted, separated by a comma
+good-names=i,j,k,n,v,f,ex,Run,_,db,cu,__
+
+
+
+
+[REPORTS]
+files-output=yes
+reports=yes
+include-ids=yes
+
+[MESSAGES CONTROL]
+disable-msg=W0142,I0011
diff --git a/pylint/run_pylint b/pylint/run_pylint
new file mode 100755
--- /dev/null
+++ b/pylint/run_pylint
@@ -0,0 +1,37 @@
+#!/bin/sh
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+if [ -x reports ]; then
+   rm -rf reports;
+fi
+mkdir reports
+cp init_pylint.py reports
+cd reports
+
+if [ -z "$*" ]; then
+    files="updateBot repomd rpmimport"
+else
+    files=$@
+fi
+
+pylint --init-hook='import sys; sys.path.append("."); import init_pylint' --rcfile='../pylintrc' $files
+rc=$?
+rm init_pylint*;
+for file in `ls`; do
+   if [ ! -s $file ]; then
+      rm $file;
+   fi
+done
+exit $rc

From johnsonm@rpath.com Wed Aug 19 17:38:52 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcq2J009929
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:52 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcqEf011140
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:52 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcqcR025914
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:52 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcaZM013147
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:41 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcVEB012882
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:32 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcVEB012882@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:31 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: Reorg.
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:53 -0000

changeset:   c994dad9d44e
user:        Xiaowen Xin <https://issues.rpath.com/>
date:        Fri, 24 Nov 2006 18:30:48 -0500

Reorg.

committer: Xiaowen Xin <https://issues.rpath.com/>

diff --git a/cook.py b/cook.py
new file mode 100644
--- /dev/null
+++ b/cook.py
@@ -0,0 +1,32 @@
+    def cook(self, group):
+        """
+        Go through all the packages in a group that's on the current label and cook them.
+        """
+
+        self.repo()
+        from conary import display, queryrep, trove
+
+        troveTups = queryrep.getTrovesToDisplay(
+            self.repos, [group], [],
+            versionFilter=queryrep.VERSION_FILTER_LATEST,
+            flavorFilter=queryrep.FLAVOR_FILTER_BEST,
+            labelPath=self.cfg.buildLabel, defaultFlavor=self.cfg.flavor,
+            affinityDb=None)
+
+        dcfg = display.DisplayConfig(self.repos, None)
+        troveSource = dcfg.getTroveSource()
+        troves = troveSource.getTroves(troveTups, withFiles=False)
+        childTups = list(troves[0].iterTroveList(strongRefs=True))
+
+        import epdb
+        epdb.st()
+
+        troveSpecs = [(group, None, None)]
+        self.repos.findTroves(self.cfg.buildLabel, troveSpecs)
+
+        troveTups = [(group, None, None)]
+
+        #t = troveSource.getTroves(troveTups)
+        ttup = self.repos.findTroves(self.cfg.buildLabel, troveTups)[troveTups[0]]
+
+
diff --git a/infoimport.py b/infoimport.py
deleted file mode 100755
--- a/infoimport.py
+++ /dev/null
@@ -1,180 +0,0 @@
-#!/usr/bin/python
-#
-# Copyright (c) 2006 rPath, Inc.
-#
-#
-# This program is distributed under the terms of the Common Public License,
-# version 1.0. A copy of this license should have been distributed with this
-# source file in a file called LICENSE. If it is not present, the license
-# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
-#
-# This program is distributed in the hope that it will be useful, but
-# without any warranty; without even the implied warranty of merchantability
-# or fitness for a particular purpose. See the Common Public License for
-# full details.
-#
-
-
-import grp
-import pwd
-
-class InfoMaker:
-    def __init__(self, cfg, repos, recipeMaker):
-        self.cfg = cfg
-        self.repos = repos
-        self.recipeMaker = recipeMaker
-
-    def closeUser(self, user, users, groups, ustaging, gstaging, ugMap):
-        """
-        If a user has supplemental groups, then create those.
-        """
-        try:
-            uprop = pwd.getpwnam(user)
-        except KeyError, e:
-            print "The user %s does not exist on the build system." \
-                "  Please create it before running this." % (user)
-            return
-
-        (uid, gid, comment, homedir, shell) = uprop[2:]
-        gprop = grp.getgrgid(gid)
-        group = gprop[0]
-        supgroups = ugMap.get(user, set()).difference(set([group]))
-        for g in supgroups:
-            if g not in groups:
-                gstaging.add(g)
-        users.add(user)
-
-    def closeGroup(self, group, users, groups, ustaging, gstaging, ugMap):
-        """
-        If there is a user with this as its primary group, then create the user
-        instead.
-        """
-
-        try:
-            gprop = grp.getgrnam(group)
-        except KeyError, e:
-            print "The group %s does not exist on the build system." \
-                "  Please create it first before running this." % (group)
-            return
-
-        gid = gprop[2]
-        primaries = gprop[3] + [group]
-        for u in primaries:
-            try:
-                uprop = pwd.getpwnam(u)
-                if uprop[3] == gid:
-                    ustaging.add(uprop[0])
-                    return
-            except KeyError, e:
-                # No such user, oh well, ignore.
-                pass
-        groups.add(group)
-
-    def makeInfo(self, users, groups):
-        # Map username to groups it belongs to.
-        ugMap = dict()
-        for (g, a, b, us) in grp.getgrall():
-            for u in us:
-                if u in ugMap:
-                    ugMap[u].add(g)
-                else:
-                    ugMap[u] = set([g])
-
-        # Groups and users depend on each other, so do their closure.
-        ustaging = users
-        gstaging = groups
-        users = set()
-        groups = set()
-        while ustaging or gstaging:
-            for user in ustaging:
-                self.closeUser(user, users, groups, ustaging, gstaging, ugMap)
-            ustaging = set()
-            for group in gstaging:
-                self.closeGroup(group, users, groups, ustaging, gstaging, ugMap)
-            gstaging = set()
-
-        # Remove the root user and group.
-        users = users.difference(['root'])
-        groups = groups.difference(['root'])
-
-        # If there are groups named the same as the user, then the user must
-        # have this group as its primary group.
-        groups = groups.difference(users)
-
-        # All the packages we might create.
-        srccomps = {}
-        for account in users.union(groups):
-            srccomps['info-%s:source' % (account)] = {self.cfg.buildLabel: None}
-
-        # Get current repository contents.
-        repoContents = self.repos.getTroveVersionsByLabel(srccomps)
-
-        # Create users.
-        for user in users:
-            # If it already exists, then move on.
-            if 'info-%s:source' %user in repoContents:
-                continue
-
-            uprop = pwd.getpwnam(user)
-            (uid, gid, comment, homedir, shell) = uprop[2:]
-            gprop = grp.getgrgid(gid)
-            group = gprop[0]
-            supgroups = ugMap.get(user, set()).difference(set([group]))
-
-            self.recipeMaker.create('info-%s' % (user),
-                "class info_%(user)s(UserInfoRecipe):\n"
-                "    name = 'info-%(user)s'\n"
-                "    version = '1'\n"
-                "\n"
-                "    def setup(r):\n"
-                "        r.User('%(user)s', %(uid)s, group='%(group)s', groupid=%(gid)s,\n"
-                "            homedir='%(homedir)s', comment='%(comment)s', shell='%(shell)s',\n"
-                "            supplemental=[%(supgroups)s])\n"
-                % dict(user=user, uid=uid, group=group, gid=gid,
-                    homedir=homedir, comment=comment, shell=shell,
-                    supgroups=', '.join("'%s'" % g for g in supgroups)))
-
-        # Create groups.
-        for group in groups:
-            # If it already exists, then move on.
-            if 'info-%s:source' %group in repoContents:
-                continue
-
-            gprop = grp.getgrnam(group)
-            gid = gprop[2]
-
-            # Create the group recipe.
-            self.recipeMaker.create('info-%s' % (group),
-                "class info_%(group)s(GroupInfoRecipe):\n"
-                "    name = 'info-%(group)s'\n"
-                "    version = '1'\n"
-                "\n"
-                "    def setup(r):\n"
-                "        r.Group('%(group)s', %(gid)s)\n"
-                % dict(group=group, gid=gid))
-
-if __name__ == '__main__':
-    from conary import conaryclient, conarycfg, versions, errors, cvc
-    from conary import deps
-    from conary.lib import util
-    from conary.build import use
-
-    sys.excepthook = util.genExcepthook(debug=True)
-
-    cfg = conarycfg.ConaryConfiguration(readConfigFiles=True)
-    cfg.initializeFlavors()
-
-    buildFlavor = deps.deps.parseFlavor('is:x86(i586,!i686)')
-    cfg.buildFlavor = deps.deps.overrideFlavor(cfg.buildFlavor,
-                                               buildFlavor)
-    use.setBuildFlagsFromFlavor(None, cfg.buildFlavor, error=False)
-
-    client = conaryclient.ConaryClient(cfg)
-    repos = client.getRepos()
-    roots = sys.argv[1:]
-    rpmSource = RpmSource()
-    for root in roots:
-        rpmSource.walk(root)
-    recipeMaker = RecipeMaker(cvc, cfg, repos, rpmSource)
-
-    infoMaker = InfoMaker(cfg, repos, recipeMaker)
diff --git a/pkgwiz.py b/pkgwiz.py
new file mode 100644
--- /dev/null
+++ b/pkgwiz.py
@@ -0,0 +1,172 @@
+import conary.lib.util
+import infoimport
+import os
+import rpmimport
+import shutil
+import sys
+
+HELP_TEXT = """
+pkgs <dir>|<pkg> [<dir>|<pkg> ...]
+accounts <user>|<group> [<user>|<group> ...]
+
+pkgs can be given individual RPMs or the root of a directory tree to walk.
+
+When packages are imported, they will be checked against what's in the repository.  If newer, then check new one in.
+
+accounts will create user and/or group info- packages, using information from the build system.
+"""
+
+class PkgWiz:
+    def __init__(self):
+        self.cfg = None
+        self.client = None
+        self.repos = None
+        self.rpmSource = rpmimport.RpmSource()
+        self.recipeMaker = None
+
+    def help(self):
+        print HELP_TEXT
+
+    def repo(self):
+        from conary import conaryclient, conarycfg, versions, errors
+        from conary import deps
+        from conary.build import use
+
+        self.cfg = conarycfg.ConaryConfiguration(readConfigFiles=True)
+        self.cfg.initializeFlavors()
+
+        buildFlavor = deps.deps.parseFlavor('is:x86(i586,!i686)')
+        self.cfg.buildFlavor = deps.deps.overrideFlavor(
+            self.cfg.buildFlavor, buildFlavor)
+        use.setBuildFlagsFromFlavor(None, self.cfg.buildFlavor, error=False)
+
+        self.client = conaryclient.ConaryClient(self.cfg)
+        self.repos = self.client.getRepos()
+        self.recipeMaker = rpmimport.RecipeMaker(self.cfg, self.repos, self.rpmSource)
+
+    def createPkgs(self, dirs):
+        for dir in dirs:
+            self.rpmSource.walk(dir)
+
+        # {foo:source: {cfg.buildLabel: None}}
+        srccomps = {}
+
+        # {foo:source: foo-1.0-1.1.src.rpm}
+        srcmap = {}
+        for src in self.rpmSource.getSrpms():
+            h = self.rpmSource.getHeader(self.rpmSource.srcPath[src])
+            srccomp = h[NAME] + ':source'
+            srcmap[srccomp] = src
+            srccomps[srccomp] = {cfg.buildLabel: None}
+        d = self.repos.getTroveVersionsByLabel(srccomps)
+
+        # Iterate over foo:source.
+        for srccomp in srccomps.iterkeys():
+            src = srcmap[srccomp]
+            pkgname = srccomp.split(':')[0]
+            if srccomp not in d:
+                self.recipeMaker.create(pkgname, self.rpmSource.createTemplate(src), src)
+            else:
+                # The package already exists in the repository, so query its
+                # version.
+                oldVersion = 1# FIXME
+                # Get the version
+                srchdr = self.rpmSource.getHeader(self.rpmSource.srcPath(src))
+                newVersion = '%s_%s' % (srchdr[VERSION], srchdr[RELEASE])
+                if newVersion == oldVersion:
+                    continue
+
+                # Check it out.
+                from conary import cvc
+                cvc.sourceCommand(self.cfg, ['checkout', pkgname])
+
+                # Look for the version string and replace it with the new.
+                import re
+                pattern = re.compile("""(?P<lead>\\s+)version\\s*=\\s*['"]([^'"\\s]+_[^'"\\s]+)['"]\\s*$""")
+                filename = os.path.join(pkgname, pkgname + ".recipe")
+                recipeFile = open(filename)
+                lines = recipeFile.readlines()
+                recipeFile.close()
+                spot = None
+                for (index, line) in lines:
+                    match = pattern.match(line)
+                    if match:
+                        spot = index
+                        break
+                if not spot:
+                    raise Exception(
+                        "The version string was not found in the %s recipe."
+                        "  Is this correct?" %pkgname)
+                lines = lines[:spot] + [match.group('lead')
+                    + "version = '%s'\n" %newVersion] + lines[spot+1:]
+                recipeFile = open(filename, 'w')
+                recipeFile.write(''.join(lines))
+                recipeFile.close()
+
+                # Remove the original RPMs and add the new ones.
+                import epdb
+                epdb.st()
+                cwd = os.getcwd()
+                os.chdir(pkgname)
+                from conary.state import ConaryStateFromFile
+                conaryState = ConaryStateFromFile("CONARY", repos)
+                state = conaryState.getSourceState()
+                rpms = []
+                for (theId, path, fileId, version) in state.iterFileList():
+                    if path.endswith('rpm'):
+                        rpms.append(path)
+                for rpm in rpms:
+                    cvc.sourceCommand(self.cfg, ['remove', rpm])
+                addfiles = ['add']
+                for path, fn in self.rpmSource.rpmMap[src].iteritems():
+                    shutil.copy(fn, path)
+                    addfiles.append(path)
+                cvc.sourceCommand(self.cfg, addfiles, {})
+                cvc.sourceCommand(self.cfg,
+                    [ 'commit' ], {'message': 'Automated update of ' + pkgname})
+
+    def test(self):
+        import epdb
+        epdb.st()
+        from conary.state import ConaryStateFromFile
+        conaryState = ConaryStateFromFile("/home/xiaowen/nuernberg/pwdutils/CONARY", self.repos)
+
+    def createUsers(self, users):
+        # Get all users and groups used in this run.
+        users = set()
+        groups = set()
+        for src in self.rpmSource.getSrpms():
+            for rpm in self.rpmSource.rpmMap[src].values():
+                header = self.rpmSource.getHeader(rpm)
+                users = users.union(header[FILEUSERNAME])
+                groups = groups.union(header[FILEGROUPNAME])
+
+        import infoimport
+        infoMaker = infoimport.InfoMaker(cfg, repos, self.recipeMaker)
+        infoMaker.makeInfo(users, groups)
+
+    def main(self, argv):
+        if '--debug' in argv:
+            argv.remove('--debug')
+            sys.excepthook = conary.lib.util.genExcepthook(debug=True)
+
+        if len(argv) < 2:
+            self.help()
+            return
+        category = argv[1]
+        if 'pkgs' == category:
+            dirs = argv[2:]
+            if not dirs:
+                dirs = ['.']
+            self.test()
+            self.createPkgs(dirs)
+        elif 'accounts' == category:
+            users = argv[2:]
+            self.createUsers(users)
+        else:
+            self.help()
+            return
+
+if __name__ == '__main__':
+    pkgWiz = PkgWiz()
+    pkgWiz.main(sys.argv)
diff --git a/rpmimport.py b/rpmimport.py
deleted file mode 100755
--- a/rpmimport.py
+++ /dev/null
@@ -1,293 +0,0 @@
-#!/usr/bin/python
-#
-# Copyright (c) 2006 rPath, Inc.
-#
-#
-# This program is distributed under the terms of the Common Public License,
-# version 1.0. A copy of this license should have been distributed with this
-# source file in a file called LICENSE. If it is not present, the license
-# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
-#
-# This program is distributed in the hope that it will be useful, but
-# without any warranty; without even the implied warranty of merchantability
-# or fitness for a particular purpose. See the Common Public License for
-# full details.
-#
-
-
-import os
-import sys
-import shutil
-
-from conary import rpmhelper
-
-# make local copies of tags for convenience
-for tag in ('NAME', 'VERSION', 'RELEASE', 'SOURCERPM', 'FILEUSERNAME',
-    'FILEGROUPNAME'):
-    sys.modules[__name__].__dict__[tag] = getattr(rpmhelper, tag)
-ARCH = 1022
-
-class RpmSource:
-    def __init__(self):
-        # {srpm: {rpm: path}
-        self.rpmMap = dict()
-
-        # {name: srpm}
-        self.revMap = dict()
-
-        # {srpm: path}
-        self.srcPath = dict()
-
-        # {rpmfile: header}
-        self.headers = dict()
-
-    def getHeader(self, f):
-        if f in self.headers:
-            return self.headers[f]
-        header = rpmhelper.readHeader(file(f))
-        self.headers[f] = header
-        return header
-
-    def procBin(self, f, rpm):
-        header = self.getHeader(f)
-        self.headers[f] = header
-        if SOURCERPM in header:
-            srpm = header[SOURCERPM]
-        if self.rpmMap.has_key(srpm):
-            self.rpmMap[srpm][rpm] = f
-        else:
-            self.rpmMap[srpm] = {rpm: f}
-        self.revMap[header[NAME]] = srpm
-
-    def procSrc(self, f, rpm):
-        self.srcPath[rpm] = f
-
-    def walk(self, root):
-        """
-        Walk the tree rooted at root and collect information about rpms found.
-        """
-
-        for dirpath, dirnames, filenames in os.walk(root):
-            for f in filenames:
-                # ignore the 32-bit compatibility libs - we will
-                # simply use the 32-bit components from the repository
-                if '32bit' in f:
-                    continue
-                if f.endswith(".rpm"):
-                    fullpath = os.path.join(dirpath, f)
-                    if f.endswith(".src.rpm") or f.endswith('.nosrc.rpm'):
-                        self.procSrc(fullpath, f)
-                    else:
-                        self.procBin(fullpath, f)
-
-    def getSrpms(self):
-        """
-        Get all sources we think we need now.
-        """
-
-        bins = ['aaa_base', 'acl', 'alsa', 'apache2', 'ash', 'attr',
-                'bash', 'binutils', 'bzip2', 'compat-libstdc++',
-                'coreutils', 'cpio', 'cracklib', 'cron', 'cyrus-sasl',
-                'db', 'dhcpcd', 'diffutils', 'e2fsprogs', 'expat',
-                'expect', 'file', 'filesystem', 'findutils',
-                'findutils-locate', 'fontconfig', 'freetype',
-                'freetype2', 'gawk', 'gdbm', 'glib2', 'glibc', 'gmp',
-                'gpm', 'grep', 'grub', 'gzip', 'insserv', 'iproute2',
-                'iptables', 'iputils', 'kbd', 'klogd', 'krb5', 'ksh',
-                'less', 'libaio', 'libattr', 'libelf', 'libgcc',
-                'libjpeg', 'libnscd', 'libpcap', 'libpng',
-                'libstdc++', 'libxcrypt', 'make', 'mdadm', 'mingetty',
-                'mkinitrd', 'mktemp', 'module-init-tools', 'ncurses',
-                'net-tools', 'netcfg', 'openldap2',
-                'openldap2-client', 'openslp', 'openssl', 'pam',
-                'pam-modules', 'patch', 'pciutils', 'pcre', 'perl',
-                'perl-Bootloader', 'perl-Compress-Zlib',
-                'perl-DBD-SQLite', 'perl-DBI', 'perl-Net-Daemon',
-                'perl-PlRPC', 'perl-TermReadKey', 'perl-URI',
-                'perl-gettext', 'procps', 'procps', 'psmisc',
-                'pwdutils', 'pwdutils', 'python', 'resmgr', 'sed',
-                'slang', 'sles-release', 'sysconfig', 'sysfsutils',
-                'syslog-ng', 'sysvinit', 'sysvinit', 'tar', 'tcl',
-                'tcsh', 'tcpdump', 'termcap', 'timezone', 'udev',
-                'unixODBC', 'util-linux', 'vim', 'wget',
-                'wireless-tools', 'xorg-x11', 'zlib']
-
-        srpms = list()
-        for b in bins:
-            srpms.append(self.revMap[b])
-        return srpms
-
-    def transformName(self, name):
-        """
-        In name, - => _, + => _plus.
-        """
-
-        return name.replace('-', '_').replace('+', '_plus')
-
-    def quoteSequence(self, seq):
-        """
-        [a, b] => 'a', 'b'
-        """
-
-        return ', '.join("'%s'" % x for x in sorted(seq))
-
-    def getArchs(self, src):
-        """
-        @return list that goes into the archs line in the recipe.
-        """
-
-        hdrs = [ self.getHeader(x) for x in self.rpmMap[src].itervalues() ]
-        archs = set(h[ARCH] for h in hdrs)
-        if 'i586' in archs and 'i686' in archs:
-            # remove the base arch if we have an extra arch
-            arch, extra = self.getExtraArchs(src)
-            if arch == 'i686':
-                archs.remove('i586')
-        return archs
-
-    def getNames(self, src):
-        """
-        @return list that goes into the rpms line in the recipe.
-        """
-
-        hdrs = [ self.getHeader(x) for x in self.rpmMap[src].itervalues() ]
-        names = set(h[NAME] for h in hdrs)
-        return names
-
-    def getExtraArchs(self, src):
-        """
-        For the special case of RPMs that have components optimized for the
-        i686 architecture while other components are at i586, then return
-        ('i686', set(rpms that are i686 only)), otherwise return (None, None).
-        """
-
-        hdrs = [ self.getHeader(x) for x in self.rpmMap[src].itervalues() ]
-        archMap = {}
-        for h in hdrs:
-            arch = h[ARCH]
-            name = h[NAME]
-            if arch in archMap:
-                archMap[arch].add(name)
-            else:
-                archMap[arch] = set((name,))
-        if 'i586' in archMap and 'i686' in archMap:
-            if archMap['i586'] != archMap['i686']:
-                return 'i686', archMap['i686']
-        return None, None
-
-    def createTemplate(self, src):
-        """
-        @return the content of the new recipe.
-        """
-
-        srchdr = self.getHeader(self.srcPath[src])
-        l = []
-        a = l.append
-        a("loadSuperClass('rpmimport.recipe')")
-        a('class %s(RPMImportRecipe):' %(self.transformName(srchdr[NAME])))
-        a("    name = '%s'" %(srchdr[NAME]))
-        a("    version = '%s_%s'" %(srchdr[VERSION], srchdr[RELEASE]))
-        archs = self.getArchs(src)
-        names = self.getNames(src)
-        extras = self.getExtraArchs(src)[1]
-        a('    rpms = [ %s ]' % self.quoteSequence(names))
-        a('    archs = [ %s ]' % self.quoteSequence(archs))
-        if extras:
-            a("    extraArch = { 'i686': [ %s ] }" %self.quoteSequence(extras))
-        a('')
-        return '\n'.join(l)
-
-class RecipeMaker:
-    def __init__(self, cvc, cfg, repos, rpmSource):
-        self.cvc = cvc
-        self.cfg = cfg
-        self.repos = repos
-        self.rpmSource = rpmSource
-
-    def create(self, pkgname, recipeContents, srpm = None):
-        print 'creating initial template for', pkgname
-        try:
-            shutil.rmtree(pkgname)
-        except OSError, e:
-            pass
-        self.cvc.sourceCommand(self.cfg, [ "newpkg", pkgname], {})
-        cwd = os.getcwd()
-        os.chdir(pkgname)
-        try:
-            recipe = pkgname + '.recipe'
-            f = open(recipe, 'w')
-            f.write(recipeContents)
-            f.close()
-            addfiles = [ 'add', recipe ]
-
-            # copy all the binaries to the cwd
-            if srpm:
-                for path, fn in self.rpmSource.rpmMap[src].iteritems():
-                    shutil.copy(fn, path)
-                    addfiles.append(path)
-            self.cvc.sourceCommand(self.cfg, addfiles, {})
-            #self.cvc.sourceCommand(self.cfg, ['cook', recipe], {})
-            self.cvc.sourceCommand(self.cfg,
-                              [ 'commit' ],
-                              { 'message':
-                                'Automated initial commit of ' + recipe })
-            #self.cvc.sourceCommand(self.cfg, ['cook', pkgname], {})
-        finally:
-            os.chdir(cwd)
-
-if __name__ == '__main__':
-    from conary import conaryclient, conarycfg, versions, errors, cvc
-    from conary import deps
-    from conary.lib import util
-    from conary.build import use
-
-    sys.excepthook = util.genExcepthook(debug=True)
-
-    cfg = conarycfg.ConaryConfiguration(readConfigFiles=True)
-    cfg.initializeFlavors()
-
-    buildFlavor = deps.deps.parseFlavor('is:x86(i586,!i686)')
-    cfg.buildFlavor = deps.deps.overrideFlavor(cfg.buildFlavor,
-                                               buildFlavor)
-    use.setBuildFlagsFromFlavor(None, cfg.buildFlavor, error=False)
-
-    client = conaryclient.ConaryClient(cfg)
-    repos = client.getRepos()
-    roots = sys.argv[1:]
-    rpmSource = RpmSource()
-    for root in roots:
-        rpmSource.walk(root)
-    recipeMaker = RecipeMaker(cvc, cfg, repos, rpmSource)
-
-    # {foo:source: {cfg.buildLabel: None}}
-    srccomps = {}
-
-    # {foo:source: foo-1.0-1.1.src.rpm}
-    srcmap = {}
-    for src in rpmSource.getSrpms():
-        h = rpmSource.getHeader(rpmSource.srcPath[src])
-        srccomp = h[NAME] + ':source'
-        srcmap[srccomp] = src
-        srccomps[srccomp] = {cfg.buildLabel: None}
-    d = repos.getTroveVersionsByLabel(srccomps)
-
-    # Iterate over foo:source.
-    for srccomp in srccomps.iterkeys():
-        if srccomp not in d:
-            src = srcmap[srccomp]
-            pkgname = srccomp.split(':')[0]
-            recipeMaker.create(pkgname, rpmSource.createTemplate(src), src)
-
-
-    # Get all users and groups used in this run.
-    users = set()
-    groups = set()
-    for src in rpmSource.getSrpms():
-        for rpm in rpmSource.rpmMap[src].values():
-            header = rpmSource.getHeader(rpm)
-            users = users.union(header[FILEUSERNAME])
-            groups = groups.union(header[FILEGROUPNAME])
-
-    import infoimport
-    infoMaker = infoimport.InfoMaker(cfg, repos, recipeMaker)
-    infoMaker.makeInfo(users, groups)
diff --git a/rpmimport/infomaker.py b/rpmimport/infomaker.py
new file mode 100755
--- /dev/null
+++ b/rpmimport/infomaker.py
@@ -0,0 +1,183 @@
+#!/usr/bin/python
+#
+# Copyright (c) 2006 rPath, Inc.
+#
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+
+import grp
+import pwd
+import sys
+
+class InfoMaker:
+    def __init__(self, cfg, repos, recipeMaker):
+        self.cfg = cfg
+        self.repos = repos
+        self.recipeMaker = recipeMaker
+
+    def closeUser(self, user, users, groups, ustaging, gstaging, ugMap):
+        """
+        If a user has supplemental groups, then create those.
+        """
+        try:
+            uprop = pwd.getpwnam(user)
+        except KeyError, e:
+            print "The user %s does not exist on the build system." \
+                "  Please create it before running this." % (user)
+            return
+
+        (uid, gid, comment, homedir, shell) = uprop[2:]
+        gprop = grp.getgrgid(gid)
+        group = gprop[0]
+        supgroups = ugMap.get(user, set()).difference(set([group]))
+        for g in supgroups:
+            if g not in groups:
+                gstaging.add(g)
+        users.add(user)
+
+    def closeGroup(self, group, users, groups, ustaging, gstaging, ugMap):
+        """
+        If there is a user with this as its primary group, then create the user
+        instead.
+        """
+
+        try:
+            gprop = grp.getgrnam(group)
+        except KeyError, e:
+            print "The group %s does not exist on the build system." \
+                "  Please create it first before running this." % (group)
+            return
+
+        gid = gprop[2]
+        primaries = gprop[3] + [group]
+        for u in primaries:
+            try:
+                uprop = pwd.getpwnam(u)
+                if uprop[3] == gid:
+                    ustaging.add(uprop[0])
+                    return
+            except KeyError, e:
+                # No such user, oh well, ignore.
+                pass
+        groups.add(group)
+
+    def makeInfo(self, users, groups):
+        # Map username to groups it belongs to.
+        ugMap = dict()
+        for (g, a, b, us) in grp.getgrall():
+            for u in us:
+                if u in ugMap:
+                    ugMap[u].add(g)
+                else:
+                    ugMap[u] = set([g])
+
+        # Groups and users depend on each other, so do their closure.
+        ustaging = users
+        gstaging = groups
+        users = set()
+        groups = set()
+        while ustaging or gstaging:
+            for user in ustaging:
+                self.closeUser(user, users, groups, ustaging, gstaging, ugMap)
+            ustaging = set()
+            for group in gstaging:
+                self.closeGroup(group, users, groups, ustaging, gstaging, ugMap)
+            gstaging = set()
+
+        # Remove the root user and group.
+        users = users.difference(['root'])
+        groups = groups.difference(['root'])
+
+        # If there are groups named the same as the user, then the user must
+        # have this group as its primary group.
+        groups = groups.difference(users)
+
+        # All the packages we might create.
+        srccomps = {}
+        for account in users.union(groups):
+            srccomps['info-%s:source' % (account)] = {self.cfg.buildLabel: None}
+
+        # Get current repository contents.
+        repoContents = self.repos.getTroveVersionsByLabel(srccomps)
+
+        # Create users.
+        for user in users:
+            # If it already exists, then move on.
+            if 'info-%s:source' %user in repoContents:
+                continue
+
+            uprop = pwd.getpwnam(user)
+            (uid, gid, comment, homedir, shell) = uprop[2:]
+            gprop = grp.getgrgid(gid)
+            group = gprop[0]
+            supgroups = ugMap.get(user, set()).difference(set([group]))
+
+            self.recipeMaker.create('info-%s' % (user),
+                "class info_%(user)s(UserInfoRecipe):\n"
+                "    name = 'info-%(user)s'\n"
+                "    version = '1'\n"
+                "\n"
+                "    def setup(r):\n"
+                "        r.User('%(user)s', %(uid)s, group='%(group)s', groupid=%(gid)s,\n"
+                "            homedir='%(homedir)s', comment='%(comment)s', shell='%(shell)s',\n"
+                "            supplemental=[%(supgroups)s])\n"
+                % dict(user=user, uid=uid, group=group, gid=gid,
+                    homedir=homedir, comment=comment, shell=shell,
+                    supgroups=', '.join("'%s'" % g for g in supgroups)))
+
+        # Create groups.
+        for group in groups:
+            # If it already exists, then move on.
+            if 'info-%s:source' %group in repoContents:
+                continue
+
+            gprop = grp.getgrnam(group)
+            gid = gprop[2]
+
+            # Create the group recipe.
+            self.recipeMaker.create('info-%s' % (group),
+                "class info_%(group)s(GroupInfoRecipe):\n"
+                "    name = 'info-%(group)s'\n"
+                "    version = '1'\n"
+                "\n"
+                "    def setup(r):\n"
+                "        r.Group('%(group)s', %(gid)s)\n"
+                % dict(group=group, gid=gid))
+
+if __name__ == '__main__':
+    from conary import conaryclient, conarycfg, versions, errors, cvc
+    from conary import deps
+    from conary.lib import util
+    from conary.build import use
+    from rpmimport import RecipeMaker, RpmSource
+
+    sys.excepthook = util.genExcepthook(debug=True)
+
+    cfg = conarycfg.ConaryConfiguration(readConfigFiles=True)
+    cfg.initializeFlavors()
+
+    buildFlavor = deps.deps.parseFlavor('is:x86(i586,!i686)')
+    cfg.buildFlavor = deps.deps.overrideFlavor(cfg.buildFlavor,
+                                               buildFlavor)
+    use.setBuildFlagsFromFlavor(None, cfg.buildFlavor, error=False)
+
+    client = conaryclient.ConaryClient(cfg)
+    repos = client.getRepos()
+    roots = sys.argv[1:]
+    rpmSource = RpmSource()
+    for root in roots:
+        rpmSource.walk(root)
+    recipeMaker = RecipeMaker(cvc, cfg, repos, rpmSource)
+
+    infoMaker = InfoMaker(cfg, repos, recipeMaker)
+    infoMaker.makeInfo(set(['video']), set())
diff --git a/rpmimport/recipemaker.py b/rpmimport/recipemaker.py
new file mode 100644
--- /dev/null
+++ b/rpmimport/recipemaker.py
@@ -0,0 +1,38 @@
+class RecipeMaker:
+    def __init__(self, cfg, repos, rpmSource):
+        self.cfg = cfg
+        self.repos = repos
+        self.rpmSource = rpmSource
+
+    def create(self, pkgname, recipeContents, srpm = None):
+        from conary import cvc
+
+        print 'creating initial template for', pkgname
+        try:
+            shutil.rmtree(pkgname)
+        except OSError, e:
+            pass
+        cvc.sourceCommand(self.cfg, [ "newpkg", pkgname], {})
+        cwd = os.getcwd()
+        os.chdir(pkgname)
+        try:
+            recipe = pkgname + '.recipe'
+            f = open(recipe, 'w')
+            f.write(recipeContents)
+            f.close()
+            addfiles = [ 'add', recipe ]
+
+            # copy all the binaries to the cwd
+            if srpm:
+                for path, fn in self.rpmSource.rpmMap[src].iteritems():
+                    shutil.copy(fn, path)
+                    addfiles.append(path)
+            cvc.sourceCommand(self.cfg, addfiles, {})
+            cvc.sourceCommand(self.cfg, ['cook', recipe], {'no-deps': None})
+            cvc.sourceCommand(self.cfg,
+                              [ 'commit' ],
+                              { 'message':
+                                'Automated initial commit of ' + recipe })
+            cvc.sourceCommand(self.cfg, ['cook', pkgname], {'no-deps': None})
+        finally:
+            os.chdir(cwd)
diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
new file mode 100755
--- /dev/null
+++ b/rpmimport/rpmsource.py
@@ -0,0 +1,198 @@
+#!/usr/bin/python
+#
+# Copyright (c) 2006 rPath, Inc.
+#
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+
+import os
+import sys
+import shutil
+
+from conary import rpmhelper
+
+# make local copies of tags for convenience
+for tag in ('NAME', 'VERSION', 'RELEASE', 'SOURCERPM', 'FILEUSERNAME',
+    'FILEGROUPNAME'):
+    sys.modules[__name__].__dict__[tag] = getattr(rpmhelper, tag)
+ARCH = 1022
+
+class RpmSource:
+    def __init__(self):
+        # {srpm: {rpm: path}
+        self.rpmMap = dict()
+
+        # {name: srpm}
+        self.revMap = dict()
+
+        # {srpm: path}
+        self.srcPath = dict()
+
+        # {rpmfile: header}
+        self.headers = dict()
+
+    def getHeader(self, f):
+        if f in self.headers:
+            return self.headers[f]
+        header = rpmhelper.readHeader(file(f))
+        self.headers[f] = header
+        return header
+
+    def procBin(self, f, rpm):
+        header = self.getHeader(f)
+        self.headers[f] = header
+        if SOURCERPM in header:
+            srpm = header[SOURCERPM]
+        if self.rpmMap.has_key(srpm):
+            self.rpmMap[srpm][rpm] = f
+        else:
+            self.rpmMap[srpm] = {rpm: f}
+        self.revMap[header[NAME]] = srpm
+
+    def procSrc(self, f, rpm):
+        self.srcPath[rpm] = f
+
+    def walk(self, root):
+        """
+        Walk the tree rooted at root and collect information about rpms found.
+        """
+
+        for dirpath, dirnames, filenames in os.walk(root):
+            for f in filenames:
+                # ignore the 32-bit compatibility libs - we will
+                # simply use the 32-bit components from the repository
+                if '32bit' in f:
+                    continue
+                if f.endswith(".rpm"):
+                    fullpath = os.path.join(dirpath, f)
+                    if f.endswith(".src.rpm") or f.endswith('.nosrc.rpm'):
+                        self.procSrc(fullpath, f)
+                    else:
+                        self.procBin(fullpath, f)
+
+    def getSrpms(self):
+        """
+        Get all sources we think we need now.
+        """
+
+        bins = ['aaa_base', 'acl', 'alsa', 'apache2', 'ash', 'attr',
+                'bash', 'binutils', 'bzip2', 'compat-libstdc++',
+                'coreutils', 'cpio', 'cracklib', 'cron', 'cyrus-sasl',
+                'db', 'dhcpcd', 'diffutils', 'e2fsprogs', 'expat',
+                'expect', 'file', 'filesystem', 'findutils',
+                'findutils-locate', 'fontconfig', 'freetype',
+                'freetype2', 'gawk', 'gdbm', 'glib2', 'glibc', 'gmp',
+                'gpm', 'grep', 'grub', 'gzip', 'insserv', 'iproute2',
+                'iptables', 'iputils', 'kbd', 'klogd', 'krb5', 'ksh',
+                'less', 'libaio', 'libattr', 'libelf', 'libgcc',
+                'libjpeg', 'libnscd', 'libpcap', 'libpng',
+                'libstdc++', 'libxcrypt', 'make', 'mdadm', 'mingetty',
+                'mkinitrd', 'mktemp', 'module-init-tools', 'ncurses',
+                'net-tools', 'netcfg', 'openldap2',
+                'openldap2-client', 'openslp', 'openssl', 'pam',
+                'pam-modules', 'patch', 'pciutils', 'pcre', 'perl',
+                'perl-Bootloader', 'perl-Compress-Zlib',
+                'perl-DBD-SQLite', 'perl-DBI', 'perl-Net-Daemon',
+                'perl-PlRPC', 'perl-TermReadKey', 'perl-URI',
+                'perl-gettext', 'procps', 'procps', 'psmisc',
+                'pwdutils', 'pwdutils', 'python', 'resmgr', 'sed',
+                'slang', 'sles-release', 'sysconfig', 'sysfsutils',
+                'syslog-ng', 'sysvinit', 'sysvinit', 'tar', 'tcl',
+                'tcsh', 'tcpdump', 'termcap', 'timezone', 'udev',
+                'unixODBC', 'util-linux', 'vim', 'wget',
+                'wireless-tools', 'xorg-x11', 'zlib']
+
+        srpms = list()
+        for b in bins:
+            srpms.append(self.revMap[b])
+        return srpms
+
+    def transformName(self, name):
+        """
+        In name, - => _, + => _plus.
+        """
+
+        return name.replace('-', '_').replace('+', '_plus')
+
+    def quoteSequence(self, seq):
+        """
+        [a, b] => 'a', 'b'
+        """
+
+        return ', '.join("'%s'" % x for x in sorted(seq))
+
+    def getArchs(self, src):
+        """
+        @return list that goes into the archs line in the recipe.
+        """
+
+        hdrs = [ self.getHeader(x) for x in self.rpmMap[src].itervalues() ]
+        archs = set(h[ARCH] for h in hdrs)
+        if 'i586' in archs and 'i686' in archs:
+            # remove the base arch if we have an extra arch
+            arch, extra = self.getExtraArchs(src)
+            if arch == 'i686':
+                archs.remove('i586')
+        return archs
+
+    def getNames(self, src):
+        """
+        @return list that goes into the rpms line in the recipe.
+        """
+
+        hdrs = [ self.getHeader(x) for x in self.rpmMap[src].itervalues() ]
+        names = set(h[NAME] for h in hdrs)
+        return names
+
+    def getExtraArchs(self, src):
+        """
+        For the special case of RPMs that have components optimized for the
+        i686 architecture while other components are at i586, then return
+        ('i686', set(rpms that are i686 only)), otherwise return (None, None).
+        """
+
+        hdrs = [ self.getHeader(x) for x in self.rpmMap[src].itervalues() ]
+        archMap = {}
+        for h in hdrs:
+            arch = h[ARCH]
+            name = h[NAME]
+            if arch in archMap:
+                archMap[arch].add(name)
+            else:
+                archMap[arch] = set((name,))
+        if 'i586' in archMap and 'i686' in archMap:
+            if archMap['i586'] != archMap['i686']:
+                return 'i686', archMap['i686']
+        return None, None
+
+    def createTemplate(self, src):
+        """
+        @return the content of the new recipe.
+        """
+
+        srchdr = self.getHeader(self.srcPath[src])
+        l = []
+        a = l.append
+        a("loadSuperClass('rpmimport.recipe')")
+        a('class %s(RPMImportRecipe):' %(self.transformName(srchdr[NAME])))
+        a("    name = '%s'" %(srchdr[NAME]))
+        a("    version = '%s_%s'" %(srchdr[VERSION], srchdr[RELEASE]))
+        archs = self.getArchs(src)
+        names = self.getNames(src)
+        extras = self.getExtraArchs(src)[1]
+        a('    rpms = [ %s ]' % self.quoteSequence(names))
+        a('    archs = [ %s ]' % self.quoteSequence(archs))
+        if extras:
+            a("    extraArch = { 'i686': [ %s ] }" %self.quoteSequence(extras))
+        a('')
+        return '\n'.join(l)

From johnsonm@rpath.com Wed Aug 19 17:38:53 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcqij009931
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:52 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcqSk011147
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:52 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcqQ6025917
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:52 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcc4o013210
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcWNB012924
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:34 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcWNB012924@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:32 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: Fixed some imports after the split.
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:53 -0000

changeset:   913f93bbec15
user:        Xiaowen Xin <https://issues.rpath.com/>
date:        Tue, 28 Nov 2006 08:40:04 +0800

Fixed some imports after the split.

committer: Xiaowen Xin <https://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -1,7 +1,7 @@
+from conary import cvc, rpmhelper
 import conary.lib.util
-import infoimport
 import os
-import rpmimport
+from rpmimport import infomaker, recipemaker, rpmsource
 import shutil
 import sys
 
@@ -21,7 +21,7 @@
         self.cfg = None
         self.client = None
         self.repos = None
-        self.rpmSource = rpmimport.RpmSource()
+        self.rpmSource = rpmsource.RpmSource()
         self.recipeMaker = None
 
     def help(self):
@@ -34,6 +34,10 @@
 
         self.cfg = conarycfg.ConaryConfiguration(readConfigFiles=True)
         self.cfg.initializeFlavors()
+        cvcCommand = cvc.CvcCommand()
+        cvcCommand.setContext(self.cfg, dict())
+        if not self.cfg.buildLabel and self.cfg.installLabelPath:
+            self.cfg.buildLabel = self.cfg.installLabelPath[0]
 
         buildFlavor = deps.deps.parseFlavor('is:x86(i586,!i686)')
         self.cfg.buildFlavor = deps.deps.overrideFlavor(
@@ -42,7 +46,7 @@
 
         self.client = conaryclient.ConaryClient(self.cfg)
         self.repos = self.client.getRepos()
-        self.recipeMaker = rpmimport.RecipeMaker(self.cfg, self.repos, self.rpmSource)
+        self.recipeMaker = recipemaker.RecipeMaker(self.cfg, self.repos, self.rpmSource)
 
     def createPkgs(self, dirs):
         for dir in dirs:
@@ -55,9 +59,9 @@
         srcmap = {}
         for src in self.rpmSource.getSrpms():
             h = self.rpmSource.getHeader(self.rpmSource.srcPath[src])
-            srccomp = h[NAME] + ':source'
+            srccomp = h[rpmhelper.NAME] + ':source'
             srcmap[srccomp] = src
-            srccomps[srccomp] = {cfg.buildLabel: None}
+            srccomps[srccomp] = {self.cfg.buildLabel: None}
         d = self.repos.getTroveVersionsByLabel(srccomps)
 
         # Iterate over foo:source.
@@ -69,10 +73,10 @@
             else:
                 # The package already exists in the repository, so query its
                 # version.
-                oldVersion = 1# FIXME
+                oldVersion = d[srccomp].keys()[0].trailingRevision().getVersion()
                 # Get the version
-                srchdr = self.rpmSource.getHeader(self.rpmSource.srcPath(src))
-                newVersion = '%s_%s' % (srchdr[VERSION], srchdr[RELEASE])
+                srchdr = self.rpmSource.getHeader(self.rpmSource.srcPath[src])
+                newVersion = '%s_%s' % (srchdr[rpmhelper.VERSION], srchdr[rpmhelper.RELEASE])
                 if newVersion == oldVersion:
                     continue
 
@@ -125,12 +129,6 @@
                 cvc.sourceCommand(self.cfg,
                     [ 'commit' ], {'message': 'Automated update of ' + pkgname})
 
-    def test(self):
-        import epdb
-        epdb.st()
-        from conary.state import ConaryStateFromFile
-        conaryState = ConaryStateFromFile("/home/xiaowen/nuernberg/pwdutils/CONARY", self.repos)
-
     def createUsers(self, users):
         # Get all users and groups used in this run.
         users = set()
@@ -141,8 +139,7 @@
                 users = users.union(header[FILEUSERNAME])
                 groups = groups.union(header[FILEGROUPNAME])
 
-        import infoimport
-        infoMaker = infoimport.InfoMaker(cfg, repos, self.recipeMaker)
+        infoMaker = infomaker.InfoMaker(cfg, repos, self.recipeMaker)
         infoMaker.makeInfo(users, groups)
 
     def main(self, argv):
@@ -158,7 +155,7 @@
             dirs = argv[2:]
             if not dirs:
                 dirs = ['.']
-            self.test()
+            self.repo()
             self.createPkgs(dirs)
         elif 'accounts' == category:
             users = argv[2:]
diff --git a/rpmimport/recipemaker.py b/rpmimport/recipemaker.py
--- a/rpmimport/recipemaker.py
+++ b/rpmimport/recipemaker.py
@@ -1,3 +1,7 @@
+import os
+import shutil
+
+
 class RecipeMaker:
     def __init__(self, cfg, repos, rpmSource):
         self.cfg = cfg
@@ -24,7 +28,7 @@
 
             # copy all the binaries to the cwd
             if srpm:
-                for path, fn in self.rpmSource.rpmMap[src].iteritems():
+                for path, fn in self.rpmSource.rpmMap[srpm].iteritems():
                     shutil.copy(fn, path)
                     addfiles.append(path)
             cvc.sourceCommand(self.cfg, addfiles, {})
@@ -33,6 +37,6 @@
                               [ 'commit' ],
                               { 'message':
                                 'Automated initial commit of ' + recipe })
-            cvc.sourceCommand(self.cfg, ['cook', pkgname], {'no-deps': None})
+            #cvc.sourceCommand(self.cfg, ['cook', pkgname], {'no-deps': None})
         finally:
             os.chdir(cwd)
diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -87,27 +87,27 @@
 
         bins = ['aaa_base', 'acl', 'alsa', 'apache2', 'ash', 'attr',
                 'bash', 'binutils', 'bzip2', 'compat-libstdc++',
-                'coreutils', 'cpio', 'cracklib', 'cron', 'cyrus-sasl',
+                'coreutils', 'cpio', 'cpp', 'cracklib', 'cron', 'cyrus-sasl',
                 'db', 'dhcpcd', 'diffutils', 'e2fsprogs', 'expat',
-                'expect', 'file', 'filesystem', 'findutils',
+                'expect', 'file', 'filesystem', 'fillup', 'findutils',
                 'findutils-locate', 'fontconfig', 'freetype',
-                'freetype2', 'gawk', 'gdbm', 'glib2', 'glibc', 'gmp',
+                'freetype2', 'gawk', 'gcc', 'gdbm', 'glib2', 'glibc', 'gmp',
                 'gpm', 'grep', 'grub', 'gzip', 'insserv', 'iproute2',
-                'iptables', 'iputils', 'kbd', 'klogd', 'krb5', 'ksh',
-                'less', 'libaio', 'libattr', 'libelf', 'libgcc',
+                'iptables', 'iputils', 'jpeg', 'kbd', 'klogd', 'krb5', 'ksh',
+                'less', 'libaio', 'libapr1', 'libapr-util1', 'libattr', 'libcom_err', 'libelf', 'libgcc',
                 'libjpeg', 'libnscd', 'libpcap', 'libpng',
-                'libstdc++', 'libxcrypt', 'make', 'mdadm', 'mingetty',
+                'libstdc++', 'libusb', 'libxcrypt', 'make', 'mdadm', 'mingetty',
                 'mkinitrd', 'mktemp', 'module-init-tools', 'ncurses',
                 'net-tools', 'netcfg', 'openldap2',
                 'openldap2-client', 'openslp', 'openssl', 'pam',
                 'pam-modules', 'patch', 'pciutils', 'pcre', 'perl',
                 'perl-Bootloader', 'perl-Compress-Zlib',
-                'perl-DBD-SQLite', 'perl-DBI', 'perl-Net-Daemon',
+                'perl-DBD-SQLite', 'perl-DBI', 'perl-Digest-SHA1', 'perl-Net-Daemon',
                 'perl-PlRPC', 'perl-TermReadKey', 'perl-URI',
                 'perl-gettext', 'procps', 'procps', 'psmisc',
-                'pwdutils', 'pwdutils', 'python', 'resmgr', 'sed',
+                'pwdutils', 'python', 'python-xml', 'resmgr', 'sed',
                 'slang', 'sles-release', 'sysconfig', 'sysfsutils',
-                'syslog-ng', 'sysvinit', 'sysvinit', 'tar', 'tcl',
+                'syslog-ng', 'sysvinit', 'tar', 'tcl',
                 'tcsh', 'tcpdump', 'termcap', 'timezone', 'udev',
                 'unixODBC', 'util-linux', 'vim', 'wget',
                 'wireless-tools', 'xorg-x11', 'zlib']

From johnsonm@rpath.com Wed Aug 19 17:38:54 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcsPh009943
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:54 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcr92011159
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:54 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcr57025926
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:53 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcapZ013149
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcVJS012903
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:32 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcVJS012903@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:31 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: Add __init__.py
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:55 -0000

changeset:   5bdc3f042e8b
user:        Xiaowen Xin <https://issues.rpath.com/>
date:        Fri, 24 Nov 2006 18:32:24 -0500

Add __init__.py

committer: Xiaowen Xin <https://issues.rpath.com/>

diff --git a/rpmimport/__init__.py b/rpmimport/__init__.py
new file mode 100644

From johnsonm@rpath.com Wed Aug 19 17:38:55 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcsHA009949
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:54 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcsZl011166
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:54 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcsxi025930
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:54 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcd3Y013244
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcXcQ012964
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:35 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcXcQ012964@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:33 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: word wrap package list
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:56 -0000

changeset:   39c3d71d8197
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 01 Dec 2006 12:43:22 -0500

word wrap package list

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -87,30 +87,32 @@
 
         bins = ['aaa_base', 'acl', 'alsa', 'apache2', 'ash', 'attr',
                 'bash', 'binutils', 'bzip2', 'compat-libstdc++',
-                'coreutils', 'cpio', 'cpp', 'cracklib', 'cron', 'cyrus-sasl',
-                'db', 'dhcpcd', 'diffutils', 'e2fsprogs', 'expat',
-                'expect', 'file', 'filesystem', 'fillup', 'findutils',
-                'findutils-locate', 'fontconfig', 'freetype',
-                'freetype2', 'gawk', 'gcc', 'gdbm', 'glib2', 'glibc', 'gmp',
-                'gpm', 'grep', 'grub', 'gzip', 'insserv', 'iproute2',
-                'iptables', 'iputils', 'jpeg', 'kbd', 'klogd', 'krb5', 'ksh',
-                'less', 'libaio', 'libapr1', 'libapr-util1', 'libattr', 'libcom_err', 'libelf', 'libgcc',
+                'coreutils', 'cpio', 'cpp', 'cracklib', 'cron',
+                'cyrus-sasl', 'db', 'dhcpcd', 'diffutils',
+                'e2fsprogs', 'expat', 'expect', 'file', 'filesystem',
+                'fillup', 'findutils', 'findutils-locate',
+                'fontconfig', 'freetype', 'freetype2', 'gawk', 'gcc',
+                'gdbm', 'glib2', 'glibc', 'gmp', 'gpm', 'grep',
+                'grub', 'gzip', 'insserv', 'iproute2', 'iptables',
+                'iputils', 'jpeg', 'kbd', 'klogd', 'krb5', 'ksh',
+                'less', 'libaio', 'libapr1', 'libapr-util1',
+                'libattr', 'libcom_err', 'libelf', 'libgcc',
                 'libjpeg', 'libnscd', 'libpcap', 'libpng',
-                'libstdc++', 'libusb', 'libxcrypt', 'make', 'mdadm', 'mingetty',
-                'mkinitrd', 'mktemp', 'module-init-tools', 'ncurses',
-                'net-tools', 'netcfg', 'openldap2',
+                'libstdc++', 'libusb', 'libxcrypt', 'make', 'mdadm',
+                'mingetty', 'mkinitrd', 'mktemp', 'module-init-tools',
+                'ncurses', 'net-tools', 'netcfg', 'openldap2',
                 'openldap2-client', 'openslp', 'openssl', 'pam',
                 'pam-modules', 'patch', 'pciutils', 'pcre', 'perl',
                 'perl-Bootloader', 'perl-Compress-Zlib',
-                'perl-DBD-SQLite', 'perl-DBI', 'perl-Digest-SHA1', 'perl-Net-Daemon',
-                'perl-PlRPC', 'perl-TermReadKey', 'perl-URI',
-                'perl-gettext', 'procps', 'psmisc',
+                'perl-DBD-SQLite', 'perl-DBI', 'perl-Digest-SHA1',
+                'perl-Net-Daemon', 'perl-PlRPC', 'perl-TermReadKey',
+                'perl-URI', 'perl-gettext', 'procps', 'psmisc',
                 'pwdutils', 'python', 'python-xml', 'resmgr', 'sed',
                 'slang', 'sles-release', 'sysconfig', 'sysfsutils',
-                'syslog-ng', 'sysvinit', 'tar', 'tcl',
-                'tcsh', 'tcpdump', 'termcap', 'timezone', 'udev',
-                'unixODBC', 'util-linux', 'vim', 'wget',
-                'wireless-tools', 'xorg-x11', 'zlib']
+                'syslog-ng', 'sysvinit', 'tar', 'tcl', 'tcsh',
+                'tcpdump', 'termcap', 'timezone', 'udev', 'unixODBC',
+                'util-linux', 'vim', 'wget', 'wireless-tools',
+                'xorg-x11', 'zlib']
 
         srpms = list()
         for b in bins:

From johnsonm@rpath.com Wed Aug 19 17:38:55 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLctOa009953
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:55 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLctXp011171
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:55 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcshM025934
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:54 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcgu2013408
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:45 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcgrd013389
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:42 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcgrd013389@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:42 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add zip and unzip
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:56 -0000

changeset:   4609d13dbba7
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 04 Apr 2008 14:58:53 -0400

add zip and unzip

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -169,12 +169,14 @@
     'timezone',
     'udev',
     'unixODBC',
+    'unzip',
     'util-linux',
     'vim',
     'wget',
     'wireless-tools',
     #'xorg-x11',
-    'zlib'
+    'zlib',
+    'zip',
     )
 
 class PkgWiz:

From johnsonm@rpath.com Wed Aug 19 17:38:56 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcurp009962
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:56 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcuNZ011178
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:56 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLctxs025939
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:55 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLceNm013333
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:43 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcepW013295
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:40 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcepW013295@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:40 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add pkgconfig
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:57 -0000

changeset:   d8cff544d4ab
user:        Matt Wilson <https://issues.rpath.com/>
date:        Mon, 04 Dec 2006 23:01:44 -0500

add pkgconfig

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -192,6 +192,7 @@
             'perl-URI',
             'perl-gettext',
             'php5',
+            'pkgconfig',
             'popt',
             'procps',
             'psmisc',

From johnsonm@rpath.com Wed Aug 19 17:38:57 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcum1009964
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:56 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcuYf011180
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:56 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcuw5025941
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:56 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLce6X013328
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:43 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLce8N013277
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:40 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLce8N013277@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:39 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add device-mapper and lvm2
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:58 -0000

changeset:   a718db148ec6
user:        Matt Wilson <https://issues.rpath.com/>
date:        Mon, 04 Dec 2006 14:33:57 -0500

add device-mapper and lvm2

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -102,6 +102,7 @@
             'cracklib',
             'cron',
             'cyrus-sasl',
+            'device-mapper',
             'db',
             'dbus-1',
             'dhcpcd',
@@ -140,6 +141,7 @@
             'krb5',
             'ksh',
             'less',
+            'lvm2',
             'libaio',
             'libapr1',
             'libapr-util1',

From johnsonm@rpath.com Wed Aug 19 17:38:56 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLcuqA009963
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:56 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcuU1011182
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:56 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcud4025942
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:56 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLceib013298
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcZ4u013057
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:36 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcZ4u013057@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:35 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: Put it all on the same line and added a few sources.
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:38:58 -0000

changeset:   1a3617784a03
user:        Xiaowen Xin <https://issues.rpath.com/>
date:        Sat, 02 Dec 2006 01:53:25 +0800

Put it all on the same line and added a few sources.

committer: Xiaowen Xin <https://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -85,34 +85,137 @@
         Get all sources we think we need now.
         """
 
-        bins = ['aaa_base', 'acl', 'alsa', 'apache2', 'ash', 'attr',
-                'bash', 'binutils', 'bzip2', 'compat-libstdc++',
-                'coreutils', 'cpio', 'cpp', 'cracklib', 'cron',
-                'cyrus-sasl', 'db', 'dhcpcd', 'diffutils',
-                'e2fsprogs', 'expat', 'expect', 'file', 'filesystem',
-                'fillup', 'findutils', 'findutils-locate',
-                'fontconfig', 'freetype', 'freetype2', 'gawk', 'gcc',
-                'gdbm', 'glib2', 'glibc', 'gmp', 'gpm', 'grep',
-                'grub', 'gzip', 'insserv', 'iproute2', 'iptables',
-                'iputils', 'jpeg', 'kbd', 'klogd', 'krb5', 'ksh',
-                'less', 'libaio', 'libapr1', 'libapr-util1',
-                'libattr', 'libcom_err', 'libelf', 'libgcc',
-                'libjpeg', 'libnscd', 'libpcap', 'libpng',
-                'libstdc++', 'libusb', 'libxcrypt', 'make', 'mdadm',
-                'mingetty', 'mkinitrd', 'mktemp', 'module-init-tools',
-                'ncurses', 'net-tools', 'netcfg', 'openldap2',
-                'openldap2-client', 'openslp', 'openssl', 'pam',
-                'pam-modules', 'patch', 'pciutils', 'pcre', 'perl',
-                'perl-Bootloader', 'perl-Compress-Zlib',
-                'perl-DBD-SQLite', 'perl-DBI', 'perl-Digest-SHA1',
-                'perl-Net-Daemon', 'perl-PlRPC', 'perl-TermReadKey',
-                'perl-URI', 'perl-gettext', 'procps', 'psmisc',
-                'pwdutils', 'python', 'python-xml', 'resmgr', 'sed',
-                'slang', 'sles-release', 'sysconfig', 'sysfsutils',
-                'syslog-ng', 'sysvinit', 'tar', 'tcl', 'tcsh',
-                'tcpdump', 'termcap', 'timezone', 'udev', 'unixODBC',
-                'util-linux', 'vim', 'wget', 'wireless-tools',
-                'xorg-x11', 'zlib']
+        bins = [
+            'aaa_base',
+            'acl',
+            'alsa',
+            'apache2',
+            'ash',
+            'attr',
+            'bash',
+            'binutils',
+            'bzip2',
+            'compat-libstdc++',
+            'coreutils',
+            'cpio',
+            'cpp',
+            'cracklib',
+            'cron',
+            'cyrus-sasl',
+            'db',
+            'dhcpcd',
+            'diffutils',
+            'e2fsprogs',
+            'expat',
+            'expect',
+            'file',
+            'filesystem',
+            'fillup',
+            'findutils',
+            'findutils-locate',
+            'fontconfig',
+            'freetype',
+            'freetype2',
+            'gawk',
+            'gcc',
+            'gdbm',
+            'glib2',
+            'glibc',
+            'gmp',
+            'gpm',
+            'grep',
+            'grub',
+            'gzip',
+            'insserv',
+            'iproute2',
+            'iptables',
+            'iputils',
+            #'java-1_4_2-sun',
+            'jpeg',
+            'kbd',
+            'klogd',
+            'krb5',
+            'ksh',
+            'less',
+            'libaio',
+            'libapr1',
+            'libapr-util1',
+            'libattr',
+            'libcom_err',
+            'libelf',
+            'libgcc',
+            'libjpeg',
+            'libnscd',
+            'libpcap',
+            'libpng',
+            'libstdc++',
+            'libtool',
+            'libusb',
+            'libxcrypt',
+            'libxml2',
+            'make',
+            'mdadm',
+            'mingetty',
+            'mkinitrd',
+            'mktemp',
+            'mm',
+            'module-init-tools',
+            'ncurses',
+            'net-tools',
+            'netcfg',
+            'openct',
+            'openldap2',
+            'openldap2-client',
+            'opensc',
+            'openslp',
+            'openssh',
+            'openssl',
+            'pam',
+            'pam-modules',
+            'patch',
+            'pciutils',
+            'pcre',
+            'perl',
+            'perl-Bootloader',
+            'perl-Compress-Zlib',
+            'perl-DBD-SQLite',
+            'perl-DBI',
+            'perl-Digest-SHA1',
+            'perl-Net-Daemon',
+            'perl-PlRPC',
+            'perl-TermReadKey',
+            'perl-URI',
+            'perl-gettext',
+            'php5',
+            'procps',
+            'psmisc',
+            'pwdutils',
+            'python',
+            'python-xml',
+            'resmgr',
+            'sed',
+            'slang',
+            'sles-release',
+            'sysconfig',
+            'sysfsutils',
+            'syslog-ng',
+            'sysvinit',
+            'tar',
+            'tcl',
+            'tcpd',
+            'tcsh',
+            'tcpdump',
+            'termcap',
+            'timezone',
+            'udev',
+            'unixODBC',
+            'util-linux',
+            'vim',
+            'wget',
+            'wireless-tools',
+            'xorg-x11',
+            'zlib'
+        ]
 
         srpms = list()
         for b in bins:

From johnsonm@rpath.com Wed Aug 19 17:39:00 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLd0M1009996
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:39:00 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLcxNW011221
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:59 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcxCd025957
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:38:59 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcej1013327
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:43 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcbPN013156
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:38 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcbPN013156@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:37 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add hwinfo
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:39:00 -0000

changeset:   c68e596e1b74
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 01 Dec 2006 14:50:42 -0500

add hwinfo

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -126,6 +126,7 @@
             'grep',
             'grub',
             'gzip',
+            'hwinfo',
             'insserv',
             'iproute2',
             'iptables',

From johnsonm@rpath.com Wed Aug 19 17:39:00 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLd0vj009997
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:39:00 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLd0go011227
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:00 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcxWd025965
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:00 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLce2p013329
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:43 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcbSC013175
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:39 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcbSC013175@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:37 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add dbus and hal
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:39:01 -0000

changeset:   811c053be975
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 01 Dec 2006 15:11:43 -0500

add dbus and hal

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -103,6 +103,7 @@
             'cron',
             'cyrus-sasl',
             'db',
+            'dbus',
             'dhcpcd',
             'diffutils',
             'e2fsprogs',
@@ -126,6 +127,7 @@
             'grep',
             'grub',
             'gzip',
+            'hal',
             'hwinfo',
             'insserv',
             'iproute2',

From johnsonm@rpath.com Wed Aug 19 17:39:01 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLd1u5010004
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:39:01 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLd0vS011232
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:00 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLd0v6025970
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:00 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLchA9013463
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:46 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcaCD013135
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:38 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcaCD013135@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:36 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: wordwrap, use a tuple instead of a list
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:39:02 -0000

changeset:   753f75357f5b
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 01 Dec 2006 13:41:57 -0500

wordwrap, use a tuple instead of a list

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -12,9 +12,11 @@
 
 pkgs can be given individual RPMs or the root of a directory tree to walk.
 
-When packages are imported, they will be checked against what's in the repository.  If newer, then check new one in.
+When packages are imported, they will be checked against what's in the
+repository.  If newer, then check new one in.
 
-accounts will create user and/or group info- packages, using information from the build system.
+accounts will create user and/or group info- packages, using
+information from the build system.
 """
 
 class PkgWiz:
diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -85,7 +85,7 @@
         Get all sources we think we need now.
         """
 
-        bins = [
+        bins = (
             'aaa_base',
             'acl',
             'alsa',
@@ -215,7 +215,7 @@
             'wireless-tools',
             'xorg-x11',
             'zlib'
-        ]
+        )
 
         srpms = list()
         for b in bins:

From johnsonm@rpath.com Wed Aug 19 17:39:01 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLd1wE010005
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:39:01 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLd0MD011235
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:00 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLd0AC025971
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:00 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcicN013500
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:46 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLchE6013468
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:43 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLchE6013468@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:43 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add more packages
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:39:02 -0000

changeset:   43eb98ac6e9d
user:        Matt Wilson <https://issues.rpath.com/>
date:        Tue, 27 May 2008 16:49:35 -0400

add more packages

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -53,6 +53,7 @@
     'cpp',
     'cracklib',
     'cron',
+    'curl',
     'cyrus-sasl',
     'device-mapper',
     'db',
@@ -76,6 +77,7 @@
     'glib2',
     'glibc',
     'gmp',
+    'gnutls',
     'gpm',
     'grep',
     'grub',
@@ -102,10 +104,14 @@
     'libelf',
     'libevent',
     'libgcc',
+    'libgpg-error',
+    'libgcrypt',
     'libgssapi',
+    'libidn',
     'libiniparser',
     'libjpeg',
     'libnscd',
+    'libopencdk',
     'libpcap',
     'libpng',
     'librpcsecgss',
@@ -115,8 +121,10 @@
     'libxcrypt',
     'libxml2',
     'libxml2-python',
+    'libxslt',
     'logrotate',
     'lvm2',
+    'lzo',
     'make',
     'mdadm',
     'mingetty',

From johnsonm@rpath.com Wed Aug 19 17:39:03 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLd3t6010021
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:39:03 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLd273011251
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:02 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLd2Vp025980
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:02 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcjVn013522
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:47 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLci2w013490
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:44 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLci2w013490@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:44 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add initial repomd parsing implementation
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:39:04 -0000

changeset:   0dd4a2b2bdb2
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 21 May 2008 16:11:41 -0400

add initial repomd parsing implementation

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/repomd/__init__.py b/repomd/__init__.py
new file mode 100644
--- /dev/null
+++ b/repomd/__init__.py
@@ -0,0 +1,39 @@
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+
+from repomdxml import RepoMdXml
+from repository import Repository
+from errors import *
+
+__all__ = ('Client', ) + public_errors
+
+class Client(object):
+    def __init__(self, repoUrl):
+        self._repoUrl = repoUrl
+
+        self._baseMdPath = '/repodata/repomd.xml'
+        self._repo = Repository(self._repoUrl)
+        self._repomd = RepoMdXml(self._repo, self._baseMdPath).parse()
+
+    def getRepos(self):
+        return self._repo
+
+    def getPatchDetail(self):
+        node = self._repomd.getRepoData('patches')
+        return [ x.parseChildren() for x in node.parseChildren().getPatches() ]
+
+    def getPackageDetail(self):
+        node = self._repomd.getRepoData('primary')
+        return node.parseChildren().getPackages()
diff --git a/repomd/errors.py b/repomd/errors.py
new file mode 100644
--- /dev/null
+++ b/repomd/errors.py
@@ -0,0 +1,37 @@
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+public_errors = ('RepoMdError', 'ParseError', 'UnknownElementError')
+
+__all__ = public_errors + ('public_errors', )
+
+class RepoMdError(Exception):
+    pass
+
+class ParseError(RepoMdError):
+    pass
+
+class UnknownElementError(ParseError):
+    def __init__(self, element):
+        self._element = element
+        self._error = 'Element %s is not supported by this parser.'
+
+    def __str__(self):
+        return self._error % (self._element.getAbsoluteName(), )
+
+class UnknownAttributeError(UnknownElementError):
+    def __init__(self, element, attribute):
+        UnknownElementError.__init__(self, element)
+        self._attribute = attribute
+        self._error = 'Attribute %s of %%s is not supported by this parser.' % (attribute, )
diff --git a/repomd/packagexml.py b/repomd/packagexml.py
new file mode 100644
--- /dev/null
+++ b/repomd/packagexml.py
@@ -0,0 +1,179 @@
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+__all__ = ('PackageXmlMixIn', )
+
+from rpath_common.xmllib import api1 as xmllib
+
+from errors import UnknownElementError, UnknownAttributeError
+
+class _Package(xmllib.BaseNode):
+    name = None
+    arch = None
+    epoch = None
+    version = None
+    release = None
+    checksum = None
+    checksumType = None
+    summary = None
+    description = None
+    packager = None
+    url = None
+    fileTimestamp = None
+    buildTimestamp = None
+    packageSize = None
+    installedSize = None
+    archiveSize = None
+    location = None
+    license = None
+    vendor = None
+    group = None
+    buildhost = None
+    sourcerpm = None
+    headerStart = None
+    headerEnd = None
+
+    def addChild(self, child):
+        if child.getName() == 'name':
+            self.name = child.finalize()
+        elif child.getName() == 'arch':
+            self.arch = child.finalize()
+        elif child.getName() == 'version':
+            self.epoch = child.getAttribute('epoch')
+            self.version = child.getAttribute('ver')
+            self.release = child.getAttribute('rel')
+        elif child.getName() == 'checksum':
+            self.checksum = child.finalize()
+            self.checksumType = child.getAttribute('type')
+        elif child.getName() == 'summary':
+            self.summary = child.finalize()
+        elif child.getName() == 'description':
+            self.description = child.finalize()
+        elif child.getName() == 'packager':
+            self.packager = child.finalize()
+        elif child.getName() == 'url':
+            self.url = child.finalize()
+        elif child.getName() == 'time':
+            self.fileTimestamp = child.getAttribute('file')
+            self.buildTimestamp = child.getAttribute('build')
+        elif child.getName() == 'size':
+            self.packageSize = child.getAttribute('package')
+            self.installedSize = child.getAttribute('installed')
+            self.archiveSize = child.getAttribute('archive')
+        elif child.getName() == 'location':
+            self.location = child.getAttribute('href')
+        elif child.getName() == 'format':
+            self.format = []
+            for node in child.iterChildren():
+                if node.getName() == 'rpm:license':
+                    self.license = node.getText()
+                elif node.getName() == 'rpm:vendor':
+                    self.vendor = node.getText()
+                elif node.getName() == 'rpm:group':
+                    self.group = node.getText()
+                elif node.getName() == 'rpm:buildhost':
+                    self.buildhost = node.getText()
+                elif node.getName() == 'rpm:sourcerpm':
+                    self.sourcerpm = node.getText()
+                elif node.getName() == 'rpm:header-range':
+                    self.headerStart = node.getAttribute('start')
+                    self.headerEnd = node.getAttribute('end')
+                elif node.getName() in ('rpm:provides', 'rpm:requires',
+                                        'rpm:obsoletes', 'rpm:recommends',
+                                        'rpm:conflicts', 'suse:freshens'):
+                    self.format.append(node)
+                elif node.getName() == 'file':
+                    pass
+                else:
+                    raise UnknownElementError(node)
+        elif child.getName() == 'pkgfiles':
+            pass
+        else:
+            raise UnknownElementError(child)
+
+
+class _RpmRequires(xmllib.BaseNode):
+    def addChild(self, child):
+        if child.getName() in ('rpm:entry', 'suse:entry'):
+            for attr, value in child.iterAttributes():
+                child.kind = None
+                child.name = None
+                child.epoch = None
+                child.version = None
+                child.release = None
+                child.flags = None
+                child.pre = None
+
+                if attr == 'kind':
+                    child.kind = value
+                elif attr == 'name':
+                    child.name = value
+                elif attr == 'epoch':
+                    child.epoch = value
+                elif attr == 'ver':
+                    child.version = value
+                elif attr == 'rel':
+                    child.release = value
+                elif attr == 'flags':
+                    child.flags = value
+                elif attr == 'pre':
+                    child.pre = value
+                else:
+                    raise UnknownAttributeError(child, attr)
+            xmllib.BaseNode.addChild(self, child)
+        else:
+            raise UnknownElementError(child)
+
+
+class _RpmRecommends(_RpmRequires):
+    pass
+
+
+class _RpmProvides(_RpmRequires):
+    pass
+
+
+class _RpmObsoletes(_RpmRequires):
+    pass
+
+
+class _RpmConflicts(_RpmRequires):
+    pass
+
+
+class _SuseFreshens(_RpmRequires):
+    pass
+
+
+class PackageXmlMixIn(object):
+    def _registerTypes(self):
+        self._databinder.registerType(_Package, name='package')
+        self._databinder.registerType(xmllib.StringNode, name='name')
+        self._databinder.registerType(xmllib.StringNode, name='arch')
+        self._databinder.registerType(xmllib.StringNode, name='checksum')
+        self._databinder.registerType(xmllib.StringNode, name='summary')
+        self._databinder.registerType(xmllib.StringNode, name='description')
+        self._databinder.registerType(xmllib.StringNode, name='url')
+        # FIXME: really shouldn't need to comment these out
+        #self._databinder.registerType(xmllib.StringNode, name='license', namespace='rpm')
+        #self._databinder.registerType(xmllib.StringNode, name='vendor', namespace='rpm')
+        #self._databinder.registerType(xmllib.StringNode, name='group', namespace='rpm')
+        #self._databinder.registerType(xmllib.StringNode, name='buildhost', namespace='rpm')
+        #self._databinder.registerType(xmllib.StringNode, name='sourcerpm', namespace='rpm')
+        self._databinder.registerType(_RpmRequires, name='requires', namespace='rpm')
+        self._databinder.registerType(_RpmRecommends, name='recommends', namespace='rpm')
+        self._databinder.registerType(_RpmProvides, name='provides', namespace='rpm')
+        self._databinder.registerType(_RpmObsoletes, name='obsoletes', namespace='rpm')
+        self._databinder.registerType(_RpmConflicts, name='conflicts', namespace='rpm')
+        self._databinder.registerType(_SuseFreshens, name='freshens', namespace='suse')
diff --git a/repomd/patchesxml.py b/repomd/patchesxml.py
new file mode 100644
--- /dev/null
+++ b/repomd/patchesxml.py
@@ -0,0 +1,58 @@
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+__all__ = ('PatchesXml', )
+
+# import stable api
+from rpath_common.xmllib import api1 as xmllib
+
+from patchxml import PatchXml
+from xmlcommon import XmlFileParser
+from errors import UnknownElementError
+
+class _Patches(xmllib.BaseNode):
+    def addChild(self, child):
+        if child.getName() == 'patch':
+            child.id = child.getAttribute('id')
+            child._parser = PatchXml(None, child.location)
+            child.parseChildren = child._parser.parse
+            xmllib.BaseNode.addChild(self, child)
+        else:
+            raise UnknownElementError(child)
+
+    def getPatches(self):
+        return self.getChildren('patch')
+
+
+class _PatchElement(xmllib.BaseNode):
+    id = None
+    checksum = ''
+    checksumType = 'sha'
+    location = ''
+
+    def addChild(self, child):
+        if child.getName() == 'checksum':
+            self.checksum = child.finalize()
+            self.checksumType = child.getAttribute('type')
+        elif child.getName() == 'location':
+            self.location = child.getAttribute('href')
+        else:
+            raise UnkownElementError(child)
+
+
+class PatchesXml(XmlFileParser):
+    def _registerTypes(self):
+        self._databinder.registerType(_Patches, name='patches')
+        self._databinder.registerType(_PatchElement, name='patch')
+        self._databinder.registerType(xmllib.StringNode, name='checksum')
diff --git a/repomd/patchxml.py b/repomd/patchxml.py
new file mode 100644
--- /dev/null
+++ b/repomd/patchxml.py
@@ -0,0 +1,88 @@
+#
+# Copryright (c) 2008 rPath, Inc.
+#
+
+__all__ = ('PatchXml', )
+
+from rpath_common.xmllib import api1 as xmllib
+
+from packagexml import *
+from xmlcommon import XmlFileParser
+from errors import UnknownElementError
+
+class _Patch(xmllib.BaseNode):
+    name = None
+    summary = None
+    description = None
+    version = None
+    release = None
+    requires = None
+    recommends = None
+    rebootNeeded = False
+    licenseToConfirm = None
+    packageManager = False
+    category = None
+
+    def addChild(self, child):
+        if child.getName() == 'yum:name':
+            self.name = child.finalize()
+        elif child.getName() == 'summary':
+            if child.getAttribute('lang') == 'en':
+                self.summary = child.finalize()
+        elif child.getName() == 'description':
+            if child.getAttribute('lang') == 'en':
+                self.description = child.finalize()
+        elif child.getName() == 'yum:version':
+            self.version = child.getAttribute('ver')
+            self.release = child.getAttribute('rel')
+        elif child.getName() == 'rpm:requires':
+            self.requires = child.getChildren('entry', namespace='rpm')
+        elif child.getName() == 'rpm:recommends':
+            self.recommneds = child.getChildren('entry', namespace='rpm')
+        elif child.getName() == 'reboot-needed':
+            self.rebootNeeded = True
+        elif child.getName() == 'license-to-confirm':
+            self.licenseToConfirm = child.finalize()
+        elif child.getName() == 'package-manager':
+            self.packageManager = True
+        elif child.getName() == 'category':
+            self.category = child.finalize()
+        elif child.getName() == 'atoms':
+            self.packages = child.getChildren('package')
+        else:
+            raise UnknownElementError(child)
+
+    def __cmp__(self, other):
+        if self.version > other.version:
+            return 1
+        elif self.version < other.version:
+            return -1
+        elif self.release > other.release:
+            return 1
+        elif self.release < other.release:
+            return -1
+        else:
+            return 0
+
+
+class _Atoms(xmllib.BaseNode):
+    def addChild(self, child):
+        if child.getName() == 'package':
+            child.type = child.getAttribute('type')
+            xmllib.BaseNode.addChild(self, child)
+        elif child.getName() == 'message':
+            pass
+        elif child.getName() == 'script':
+            pass
+        else:
+            raise UnknownElementError(child)
+
+
+class PatchXml(XmlFileParser, PackageXmlMixIn):
+    def _registerTypes(self):
+        PackageXmlMixIn._registerTypes(self)
+        self._databinder.registerType(_Patch, name='patch')
+        self._databinder.registerType(xmllib.StringNode, name='name', namespace='yum')
+        self._databinder.registerType(xmllib.StringNode, name='category')
+        self._databinder.registerType(_Atoms, name='atoms')
+        self._databinder.registerType(xmllib.StringNode, name='license-to-confirm')
diff --git a/repomd/primaryxml.py b/repomd/primaryxml.py
new file mode 100644
--- /dev/null
+++ b/repomd/primaryxml.py
@@ -0,0 +1,28 @@
+#
+# Copryright (c) 2008 rPath, Inc.
+#
+
+__all__ = ('PrimaryXml', )
+
+from rpath_common.xmllib import api1 as xmllib
+
+from packagexml import *
+from xmlcommon import XmlFileParser
+from errors import UnknownElementError
+
+class _Metadata(xmllib.BaseNode):
+    def addChild(self, child):
+        if child.getName() == 'package':
+            child.type = child.getAttribute('type')
+            xmllib.BaseNode.addChild(self, child)
+        else:
+            raise UnknownElementError(child)
+
+    def getPackages(self):
+        return self.getChildren('package')
+
+
+class PrimaryXml(XmlFileParser, PackageXmlMixIn):
+    def _registerTypes(self):
+        PackageXmlMixIn._registerTypes(self)
+        self._databinder.registerType(_Metadata, name='metadata')
diff --git a/repomd/repomdxml.py b/repomd/repomdxml.py
new file mode 100644
--- /dev/null
+++ b/repomd/repomdxml.py
@@ -0,0 +1,79 @@
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+__all__ = ('RepoMdXml', )
+
+# use stable api
+from rpath_common.xmllib import api1 as xmllib
+
+from primaryxml import PrimaryXml
+from patchesxml import PatchesXml
+from xmlcommon import XmlFileParser
+from errors import UnknownElementError
+
+class _RepoMd(xmllib.BaseNode):
+    def addChild(self, child):
+        if child.getName() == 'data':
+            child.type = child.getAttribute('type')
+            if child.type == 'patches':
+                child._parser = PatchesXml(None, child.location)
+                child.parseChildren = child._parser.parse
+            elif child.type == 'primary':
+                child._parser = PrimaryXml(None, child.location)
+                child.parseChildren = child._parser.parse
+            xmllib.BaseNode.addChild(self, child)
+        else:
+            raise UnknownElementError(child)
+
+    def getRepoData(self, name=None):
+        if not name:
+            return self.getChildren('data')
+
+        for node in self.getChildren('data'):
+            if node.type == name:
+                return node
+
+        return None
+
+
+class _RepoMdDataElement(xmllib.BaseNode):
+    location = ''
+    checksum = ''
+    checksumType = 'sha'
+    timestamp = ''
+    openChecksum = ''
+    openChecksumType = 'sha'
+
+    def addChild(self, child):
+        if child.getName() == 'location':
+            self.location = child.getAttribute('href')
+        elif child.getName() == 'checksum':
+            self.checksum = child.finalize()
+            self.checksumType = child.getAttribute('type')
+        elif child.getName() == 'timestamp':
+            self.timestamp = child.finalize()
+        elif child.getName() == 'open-checksum':
+            self.openChecksum = child.finalize()
+            self.openChecksumType = child.getAttribute('type')
+        else:
+            raise UnknownElementError(child)
+
+
+class RepoMdXml(XmlFileParser):
+    def _registerTypes(self):
+        self._databinder.registerType(_RepoMd, name='repomd')
+        self._databinder.registerType(_RepoMdDataElement, name='data')
+        self._databinder.registerType(xmllib.StringNode, name='checksum')
+        self._databinder.registerType(xmllib.IntegerNode, name='timestamp')
+        self._databinder.registerType(xmllib.StringNode, name='open-checksum')
diff --git a/repomd/repository.py b/repomd/repository.py
new file mode 100644
--- /dev/null
+++ b/repomd/repository.py
@@ -0,0 +1,40 @@
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+__all__ = ('Repository', )
+
+import os
+import gzip
+import tempfile
+import urlgrabber
+
+class Repository(object):
+    def __init__(self, repoUrl):
+        self._repoUrl = repoUrl
+
+    def get(self, fileName):
+        fn = self._getTempFile()
+        realUrl = self._getRealUrl(fileName)
+        dlFile = urlgrabber.urlgrab(realUrl, filename=fn)
+
+        if os.path.basename(fileName).endswith('.gz'):
+            return gzip.open(dlFile)
+        else:
+            return open(dlFile)
+
+    def _getTempFile(self):
+        return tempfile.mktemp(prefix='mdparse')
+
+    def _getRealUrl(self, path):
+        return self._repoUrl + '/' + path
diff --git a/repomd/xmlcommon.py b/repomd/xmlcommon.py
new file mode 100644
--- /dev/null
+++ b/repomd/xmlcommon.py
@@ -0,0 +1,41 @@
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+__all__ = ('XmlFileParser', )
+
+from rpath_common.xmllib import api1 as xmllib
+
+class XmlFileParser(object):
+    def __init__(self, repository, path):
+        self._repository = repository
+        self._path = path
+
+        self._databinder = xmllib.DataBinder()
+        self._registerTypes()
+
+        self._data = None
+
+    def _registerTypes(self):
+        pass
+
+    def parse(self, refresh=False):
+        if not self._data or refresh:
+            fn = self._repository.get(self._path)
+            self._data = self._databinder.parseFile(fn)
+
+            for child in self._data.iterChildren():
+                if hasattr(child, '_parser'):
+                    child._parser._repository = self._repository
+
+        return self._data

From johnsonm@rpath.com Wed Aug 19 17:39:07 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLd7QM010066
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:39:07 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLd6Zg011300
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:07 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLd6Xg026001
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:06 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLciMN013488
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:46 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLchYq013447
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:43 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLchYq013447@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:43 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: already packaged
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:39:07 -0000

changeset:   ce1bfbb02e67
user:        Matt Wilson <https://issues.rpath.com/>
date:        Tue, 13 May 2008 10:15:57 -0400

already packaged

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -38,7 +38,6 @@
     'aaa_base',
     'acl',
     'apache2',
-    'apache2-mod_php',
     'apache2-mod_python',
     'ash',
     'attr',

From johnsonm@rpath.com Wed Aug 19 17:39:07 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLd72f010067
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:39:07 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLd64P011301
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:07 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLd6W8026003
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:06 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLckTo013561
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:47 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcjxe013529
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:45 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcjxe013529@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:45 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: initial ignore file
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:39:08 -0000

changeset:   15d615966c20
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 27 May 2008 16:09:31 -0400

initial ignore file

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/.hgignore b/.hgignore
new file mode 100644
--- /dev/null
+++ b/.hgignore
@@ -0,0 +1,3 @@
+(^|/)\.hg($|/)
+.*\.pyc$
+.*\~$

From johnsonm@rpath.com Wed Aug 19 17:39:13 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLdDtc010109
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:39:13 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLdC2e011360
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:12 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLdCbZ026032
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:12 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLciLI013509
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:47 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLccxk013193
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:39 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLccxk013193@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:38 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:39:13 -0000

changeset:   eac03fbab8db
user:        Matt Wilson <https://issues.rpath.com/>
date:        Fri, 01 Dec 2006 14:48:13 -0500

branch merge

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -111,8 +111,6 @@
                 recipeFile.close()
 
                 # Remove the original RPMs and add the new ones.
-                import epdb
-                epdb.st()
                 cwd = os.getcwd()
                 os.chdir(pkgname)
                 from conary.state import ConaryStateFromFile

From johnsonm@rpath.com Wed Aug 19 17:39:16 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLdGKD010118
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:39:16 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLdGlI011372
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:16 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLdFJm026039
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:15 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcaoP013118
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:41 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcVCI012864
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:32 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcVCI012864@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:31 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add rpmimport.recipe for safekeeping
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:39:16 -0000

changeset:   c99db35b1b6f
user:        Matt Wilson <https://issues.rpath.com/>
date:        Tue, 21 Nov 2006 04:21:10 -0500

add rpmimport.recipe for safekeeping

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/rpmimport.py b/rpmimport.py
--- a/rpmimport.py
+++ b/rpmimport.py
@@ -94,23 +94,24 @@
                 'freetype2', 'gawk', 'gdbm', 'glib2', 'glibc', 'gmp',
                 'gpm', 'grep', 'grub', 'gzip', 'insserv', 'iproute2',
                 'iptables', 'iputils', 'kbd', 'klogd', 'krb5', 'ksh',
-                'less', 'libaio', 'libattr', 'libelf', 'libgcc',
-                'libjpeg', 'libnscd', 'libpcap', 'libpng',
-                'libstdc++', 'libxcrypt', 'make', 'mdadm', 'mingetty',
-                'mkinitrd', 'mktemp', 'module-init-tools', 'ncurses',
-                'net-tools', 'netcfg', 'openldap2',
-                'openldap2-client', 'openslp', 'openssl', 'pam',
-                'pam-modules', 'patch', 'pciutils', 'pcre', 'perl',
-                'perl-Bootloader', 'perl-Compress-Zlib',
-                'perl-DBD-SQLite', 'perl-DBI', 'perl-Net-Daemon',
-                'perl-PlRPC', 'perl-TermReadKey', 'perl-URI',
-                'perl-gettext', 'procps', 'procps', 'psmisc',
-                'pwdutils', 'pwdutils', 'python', 'resmgr', 'sed',
-                'slang', 'sles-release', 'sysconfig', 'sysfsutils',
-                'syslog-ng', 'sysvinit', 'sysvinit', 'tar', 'tcl',
-                'tcsh', 'tcpdump', 'termcap', 'timezone', 'udev',
-                'unixODBC', 'util-linux', 'vim', 'wget',
-                'wireless-tools', 'xorg-x11', 'zlib']
+                'less', 'libaio', 'libapr-util1', 'libapr1',
+                'libattr', 'libelf', 'libgcc', 'libjpeg', 'libnscd',
+                'libpcap', 'libpng', 'libstdc++', 'libusb',
+                'libxcrypt', 'make', 'mdadm', 'mingetty', 'mkinitrd',
+                'mktemp', 'module-init-tools', 'ncurses', 'net-tools',
+                'netcfg', 'openldap2', 'openldap2-client', 'openslp',
+                'openssl', 'pam', 'pam-modules', 'patch', 'pciutils',
+                'pcre', 'perl', 'perl-Bootloader',
+                'perl-Compress-Zlib', 'perl-DBD-SQLite', 'perl-DBI',
+                'perl-Digest-SHA1', 'perl-Net-Daemon', 'perl-PlRPC',
+                'perl-TermReadKey', 'perl-URI', 'perl-gettext',
+                'procps', 'procps', 'psmisc', 'pwdutils', 'pwdutils',
+                'python', 'resmgr', 'sed', 'slang', 'sles-release',
+                'sysconfig', 'sysfsutils', 'syslog-ng', 'sysvinit',
+                'sysvinit', 'tar', 'tcl', 'tcsh', 'tcpdump',
+                'termcap', 'timezone', 'udev', 'unixODBC',
+                'util-linux', 'vim', 'wget', 'wireless-tools',
+                'xorg-x11', 'zlib']
 
         srpms = list()
         for b in bins:
diff --git a/rpmimport.recipe b/rpmimport.recipe
new file mode 100644
--- /dev/null
+++ b/rpmimport.recipe
@@ -0,0 +1,225 @@
+#!/usr/bin/python
+#
+# Copyright (c) 2006 rPath, Inc.
+#
+#
+
+from conary import rpmhelper
+
+class RPMImportRecipe(PackageRecipe):
+    name = 'rpmimport'
+    version = '1.0_1'
+    rpms = None
+    archs = [ 'noarch' ]
+    extraArch = {}
+
+    def __init__(r, *args, **kw):
+        r.usedrpms = []
+        r.headers = []
+        PackageRecipe.__init__(r, *args, **kw)
+
+    def unpack(r):
+        if not r.rpms:
+            r.rpms = [ '%(name)s' ]
+        for rpm in r.rpms:
+            # if we have a tuple, it's name, version
+            if isinstance(rpm, tuple):
+                rpmname, verrel = rpm
+                rpm = rpmname + '-%s' %verrel
+            else:
+                rpmname = rpm
+                rpm += '-%(version)s-%(release)s'
+            for rpmarch in r.archs:
+                pkgarch = rpmarch
+                if rpmarch == 'noarch':
+                    arch = True
+                elif rpmarch.startswith('i') and rpmarch.endswith('86'):
+                    # this is i586, i686 - most likely
+                    primaryArch = Arch.x86
+                    arch = primaryArch[rpmarch]
+                    if (rpmarch in r.extraArch
+                        and rpmname not in r.extraArch[rpmarch]
+                        and rpmarch == 'i686'):
+                        # handle cases like glibc, glibc-devel=i686,
+                        # but the rest are i586
+                        pkgarch = 'i586'
+                elif rpmarch == 'x86_64':
+                    arch = Arch[rpmarch]
+                else:
+                    raise RPMImportError('unsupported arch: %s' %rpmarch)
+                rpmfile = rpm + '.%s.rpm' %pkgarch
+                if arch:
+                    r.usedrpms.append(rpmfile %r.macros)
+                # follow the packaging splitting from the RPMs we're importing
+                packagename = rpmname
+                # collapse libfoo -> foo when the main package name is foo
+                # but don't collapse libbar -> bar when it's produced by the
+                # foo src rpm
+                if (not r.name.startswith('lib')
+                    and packagename.startswith('lib')
+                    and packagename[3:].startswith(r.name)):
+                    packagename = packagename[3:]
+                # collapse suffixes
+                for suffix in ('-devel', '-docs', '-doc', '-info',
+                               '-lib', '-libs', '-locale', '-man',
+                               '-i18ndata', '-html'):
+                # collapse foo-devel -> foo
+                    if rpmname.endswith(suffix):
+                        packagename = packagename[:-len(suffix)]
+                        break
+                r.addArchive(rpmfile, dir='/', use=arch, package=packagename)
+
+    def disableBuildRequirementsPolicy(r):
+        r.EnforceSonameBuildRequirements(exceptions='.*')
+        r.EnforceJavaBuildRequirements(exceptions='.*')
+        r.EnforceCILBuildRequirements(exceptions='.*')
+        r.EnforceConfigLogBuildRequirements(exceptions='.*')
+        # Note that perl and python runtime requirement CANNOT
+        # be discovered without listing them as runtime requirements,
+        # so it is important not to disable
+        # r.Enforce{Perl,Python}BuildRequirements
+
+    def disablePolicy(r):
+        r.BadInterpreterPaths(exceptions='.*')
+        r.CheckDesktopFiles(exceptions='.*')
+        r.CheckDestDir(exceptions='.*')
+        r.CheckSonames(exceptions='.*')
+        r.DanglingSymlinks(exceptions='.*')
+        r.ExecutableLibraries(exceptions='.*')
+        r.FilesForDirectories(exceptions='.*')
+        r.FilesInMandir(exceptions='.*')
+        r.FixDirModes(exceptions='.*')
+        r.FixupMultilibPaths(exceptions='.*')
+        r.LinkCount(exceptions='.*')
+        r.IgnoredSetuid(exceptions='.*')
+        r.ImproperlyShared(exceptions='.*')
+        r.NonBinariesInBindirs(exceptions='.*')
+        r.NonMultilibComponent(exceptions='.*')
+        r.NonMultilibDirectories(exceptions='.*')
+        r.NormalizeCompression(exceptions='.*')
+        r.NormalizeInterpreterPaths(exceptions='.*')
+        r.RemoveNonPackageFiles(exceptions='.*')
+        r.WarnWriteable(exceptions='.*')
+        r.WorldWriteableExecutables(exceptions='.*')
+        # ObsoletePaths does not honor exceptions
+        del r.ObsoletePaths
+
+    def disableStrip(r):
+        """
+        Default to not stripping; allow override in subclasses with:
+
+        def disableStrip(r): pass
+        """
+        r.Strip(exceptions='.*')
+
+    def policy(r):
+        """
+        hook for adding additional policy in subclasses.
+        """
+        pass
+
+    def preprocess(r):
+        "hook for adding sources/policy calls before anything else"
+        pass
+
+    def postprocess(r):
+        "hook for adding sources/policy calls after anything else"
+        pass
+
+    def readHeaders(r):
+        sourceList = r.fetchAllSources()
+        for rpmname in r.usedrpms:
+            rpmfiles = [ x for x in sourceList if os.path.basename(x) == rpmname ]
+            if len(rpmfiles) != 1:
+                raise RPMImportError('more than one source object matches '
+                                      'the "%s" rpm filename' %rpmname)
+            rpmfile = rpmfiles[0]
+            r.headers.append(rpmhelper.readHeader(file(rpmfile)))
+
+    def processFiles(r):
+        # given the set of RPM headers used, set permissions, config
+        # flags, etc appropriately
+        for header in r.headers:
+            for path, mode, rdev, flags, username, groupname in zip(
+                header.paths(),
+                header[rpmhelper.FILEMODES],
+                header[rpmhelper.FILERDEVS],
+                header[rpmhelper.FILEFLAGS],
+                header[rpmhelper.FILEUSERNAME],
+                header[rpmhelper.FILEGROUPNAME]):
+                path = util.normpath(path)
+                escaped_path = util.literalRegex(path)
+                escaped_path = escaped_path.replace('\\/', '/')
+                # handle non-root ownership
+                if username != 'root' or groupname != 'root':
+                    r.Ownership(username, groupname, escaped_path)
+                if stat.S_ISDIR(mode):
+                    # hande directories with permissions other than
+                    # root:root 755 (new conary should handle this for
+                    # us automatically)
+                    r.MakeDirs(path)
+                    if (mode & 07777 != 0755 or username != 'root'
+                        or groupname != 'root'):
+                        r.ExcludeDirectories(exceptions=escaped_path)
+                elif stat.S_ISCHR(mode) or stat.S_ISBLK(mode):
+                    if stat.S_ISCHR(mode):
+                        type='c'
+                    else:
+                        type='b'
+                    # this is correct for 32-bit device number
+                    # RPM does not provide 64-bit device number
+                    minor = rdev & 0xff | (rdev >> 12) & 0xffffff00
+                    major = (rdev >> 8) & 0xfff
+                    r.MakeDevices(escaped_path, type, major, minor,
+                                  username, groupname, mode&0777)
+                    continue
+
+                if flags & (1 << 0):
+                    # CONFIG
+                    r.Config(escaped_path)
+                if (flags & (1 << 1) or
+                      flags & (1 << 7) or
+                      flags & (1 << 8)):
+                    # DOC, LICENSE, README
+                    r.ComponentSpec('doc', escaped_path)
+                if flags & (1 << 4):
+                    # NOREPLACE
+                    r.InitialContents(escaped_path)
+                if flags & (1 << 6):
+                    # GHOST.  We only handle ghost files, not ghost dirs
+                    if stat.S_ISREG(mode):
+                        r.Create(path)
+                        r.InitialContents(escaped_path)
+                    elif stat.S_ISDIR(mode):
+                        r.ExcludeDirectories(exceptions=escaped_path)
+
+                # handle "special" permissions (although un-cpio'ing
+                # the payload should have set them all correctly, payload
+                # doesn't include things like %gost)
+                if not stat.S_ISLNK(mode):
+                    r.SetModes(path, mode & 07777)
+
+    def processRequires(r):
+        # FIXME: implement
+        pass
+
+    def processProvides(r):
+        # FIXME: implement
+        pass
+
+    def setup(r):
+        if r.__class__.__name__ == 'RPMImportRecipe':
+            return
+        r.macros.version, r.macros.release = r.version.rsplit('_', 1)
+        r.preprocess()
+        r.unpack()
+        r.policy()
+        r.readHeaders()
+        r.processFiles()
+        r.disableBuildRequirementsPolicy()
+        r.disableStrip()
+        r.disablePolicy()
+        r.postprocess()
+
+class RPMImportError(Exception):
+    pass

From johnsonm@rpath.com Wed Aug 19 17:39:16 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLdGlj010117
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:39:16 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLdGMe011373
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:16 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLdFJp026040
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:39:15 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcf7A013377
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:45 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcfXK013351
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:41 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcfXK013351@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:41 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: reorganize code, use factories
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:39:16 -0000

changeset:   311d7dd341ea
user:        Matt Wilson <https://issues.rpath.com/>
date:        Tue, 25 Mar 2008 14:00:32 -0400

reorganize code, use factories

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -1,4 +1,19 @@
 #!/usr/bin/python
+#
+# Copyright (c) 2006,2008 rPath, Inc.
+#
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
 from conary import cvc, rpmhelper
 import conary.lib.util
 import os
@@ -18,6 +33,146 @@
 accounts will create user and/or group info- packages, using
 information from the build system.
 """
+sles10sp1prefix = '/srv/www/html/sle/'
+sles10sp1pkgs = (
+    'aaa_base',
+    'acl',
+    'apache2',
+    'ash',
+    'attr',
+    'audit',
+    'bash',
+    'binutils',
+    'bzip2',
+    'compat-libstdc++',
+    'coreutils',
+    'cpio',
+    'cpp',
+    'cracklib',
+    'cron',
+    'cyrus-sasl',
+    'device-mapper',
+    'db',
+    'dbus-1',
+    'dhcpcd',
+    'diffutils',
+    'e2fsprogs',
+    'expat',
+    'expect',
+    'file',
+    'filesystem',
+    'fillup',
+    'findutils',
+    'findutils-locate',
+    'fontconfig',
+    'freetype',
+    'freetype2',
+    'gawk',
+    'gcc',
+    'gdbm',
+    'glib2',
+    'glibc',
+    'gmp',
+    'gpm',
+    'grep',
+    'grub',
+    'gzip',
+    'hal',
+    'hwinfo',
+    'insserv',
+    'iproute2',
+    'iptables',
+    'iputils',
+    #'java-1_4_2-sun',
+    'jpeg',
+    'kbd',
+    'klogd',
+    'krb5',
+    'ksh',
+    'less',
+    'lvm2',
+    'libaio',
+    'libapr1',
+    'libapr-util1',
+    'libattr',
+    'libcom_err',
+    'libelf',
+    'libgcc',
+    'libgssapi',
+    'libjpeg',
+    'libnscd',
+    'libpcap',
+    'libpng',
+    'libstdc++',
+    'libtool',
+    'libusb',
+    'libxcrypt',
+    'libxml2',
+    'make',
+    'mdadm',
+    'mingetty',
+    'mkinitrd',
+    'mktemp',
+    'mm',
+    'module-init-tools',
+    'ncurses',
+    'net-tools',
+    'netcfg',
+    'openct',
+    'openldap2',
+    'openldap2-client',
+    'opensc',
+    'openslp',
+    'openssh',
+    'openssl',
+    'pam',
+    'pam-modules',
+    'patch',
+    'pciutils',
+    'pcre',
+    'perl',
+    'perl-Bootloader',
+    'perl-Compress-Zlib',
+    'perl-DBD-SQLite',
+    'perl-DBI',
+    'perl-Digest-SHA1',
+    'perl-Net-Daemon',
+    'perl-PlRPC',
+    'perl-TermReadKey',
+    'perl-URI',
+    'perl-gettext',
+    'php5',
+    'pkgconfig',
+    'popt',
+    'procps',
+    'psmisc',
+    'pwdutils',
+    'python',
+    'python-xml',
+    'resmgr',
+    'sed',
+    'slang',
+    'sles-release',
+    'sysconfig',
+    'sysfsutils',
+    'syslog-ng',
+    'sysvinit',
+    'tar',
+    'tcl',
+    'tcpd',
+    'tcsh',
+    'tcpdump',
+    'termcap',
+    'timezone',
+    'udev',
+    'unixODBC',
+    'util-linux',
+    'vim',
+    'wget',
+    'wireless-tools',
+    'xorg-x11',
+    'zlib'
+    )
 
 class PkgWiz:
     def __init__(self):
@@ -30,12 +185,15 @@
     def help(self):
         print HELP_TEXT
 
-    def repo(self):
+    def _setupRepo(self):
+        if self.cfg:
+            return
         from conary import conaryclient, conarycfg, versions, errors
         from conary import deps
         from conary.build import use
 
         self.cfg = conarycfg.ConaryConfiguration(readConfigFiles=True)
+        self.cfg.read(os.path.dirname(__file__) + '/conaryrc')
         self.cfg.initializeFlavors()
         cvcCommand = cvc.CvcCommand()
         cvcCommand.setContext(self.cfg, dict())
@@ -52,6 +210,7 @@
         self.recipeMaker = recipemaker.RecipeMaker(self.cfg, self.repos, self.rpmSource)
 
     def createPkgs(self, dirs):
+        self._setupRepo()
         for dir in dirs:
             self.rpmSource.walk(dir)
 
@@ -60,7 +219,7 @@
 
         # {foo:source: foo-1.0-1.1.src.rpm}
         srcmap = {}
-        for src in self.rpmSource.getSrpms():
+        for src in set(self.rpmSource.getSrpms(sles10sp1pkgs)):
             h = self.rpmSource.getHeader(self.rpmSource.srcPath[src])
             srccomp = h[rpmhelper.NAME] + ':source'
             srcmap[srccomp] = src
@@ -68,73 +227,21 @@
         d = self.repos.getTroveVersionsByLabel(srccomps)
 
         # Iterate over foo:source.
-        for srccomp in srccomps.iterkeys():
-            src = srcmap[srccomp]
+        for srccomp in set(srccomps.iterkeys()):
+            srpm = srcmap[srccomp]
             pkgname = srccomp.split(':')[0]
             if srccomp not in d:
-                self.recipeMaker.create(pkgname, self.rpmSource.createTemplate(src), src)
+                self.recipeMaker.createManifest(pkgname, srpm, sles10sp1prefix)
             else:
-                # The package already exists in the repository, so query its
-                # version.
-                oldVersion = d[srccomp].keys()[0].trailingRevision().getVersion()
-                # Get the version
-                srchdr = self.rpmSource.getHeader(self.rpmSource.srcPath[src])
-                newVersion = '%s_%s' % (srchdr[rpmhelper.VERSION], srchdr[rpmhelper.RELEASE])
-                if newVersion == oldVersion:
-                    continue
-
-                # Check it out.
-                from conary import cvc
-                cvc.sourceCommand(self.cfg, ['checkout', pkgname])
-
-                # Look for the version string and replace it with the new.
-                import re
-                pattern = re.compile("""(?P<lead>\\s+)version\\s*=\\s*['"]([^'"\\s]+_[^'"\\s]+)['"]\\s*$""")
-                filename = os.path.join(pkgname, pkgname + ".recipe")
-                recipeFile = open(filename)
-                lines = recipeFile.readlines()
-                recipeFile.close()
-                spot = None
-                for (index, line) in lines:
-                    match = pattern.match(line)
-                    if match:
-                        spot = index
-                        break
-                if not spot:
-                    raise Exception(
-                        "The version string was not found in the %s recipe."
-                        "  Is this correct?" %pkgname)
-                lines = lines[:spot] + [match.group('lead')
-                    + "version = '%s'\n" %newVersion] + lines[spot+1:]
-                recipeFile = open(filename, 'w')
-                recipeFile.write(''.join(lines))
-                recipeFile.close()
-
-                # Remove the original RPMs and add the new ones.
-                cwd = os.getcwd()
-                os.chdir(pkgname)
-                from conary.state import ConaryStateFromFile
-                conaryState = ConaryStateFromFile("CONARY", repos)
-                state = conaryState.getSourceState()
-                rpms = []
-                for (theId, path, fileId, version) in state.iterFileList():
-                    if path.endswith('rpm'):
-                        rpms.append(path)
-                for rpm in rpms:
-                    cvc.sourceCommand(self.cfg, ['remove', rpm])
-                addfiles = ['add']
-                for path, fn in self.rpmSource.rpmMap[src].iteritems():
-                    shutil.copy(fn, path)
-                    addfiles.append(path)
-                cvc.sourceCommand(self.cfg, addfiles, {})
-                cvc.sourceCommand(self.cfg,
-                    [ 'commit' ], {'message': 'Automated update of ' + pkgname})
+                continue
+                self.recipeMaker.updateManifest(pkgname, srpm, sles10sp1prefix)
 
     def createUsers(self, users):
+        self._setupRepo()
         # Get all users and groups used in this run.
         users = set()
         groups = set()
-        for src in self.rpmSource.getSrpms():
+        for src in self.rpmSource.getSrpms(slessp1pkgs):
             for rpm in self.rpmSource.rpmMap[src].values():
                 header = self.rpmSource.getHeader(rpm)
                 users = users.union(header[FILEUSERNAME])
@@ -156,7 +263,6 @@
             dirs = argv[2:]
             if not dirs:
                 dirs = ['.']
-            self.repo()
             self.createPkgs(dirs)
         elif 'accounts' == category:
             users = argv[2:]
diff --git a/rpmimport/recipemaker.py b/rpmimport/recipemaker.py
--- a/rpmimport/recipemaker.py
+++ b/rpmimport/recipemaker.py
@@ -1,6 +1,23 @@
+#!/usr/bin/python
+#
+# Copyright (c) 2006,2008 rPath, Inc.
+#
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+import copy
 import os
 import shutil
-
+from conary import cvc, deps
 
 class RecipeMaker:
     def __init__(self, cfg, repos, rpmSource):
@@ -8,35 +25,71 @@
         self.repos = repos
         self.rpmSource = rpmSource
 
-    def create(self, pkgname, recipeContents, srpm = None):
-        from conary import cvc
-
+    def _createSourceComponent(self, pkgname, recipeContents=None,
+                               manifestContents=None, newPkgArgs={}):
         print 'creating initial template for', pkgname
         try:
             shutil.rmtree(pkgname)
         except OSError, e:
             pass
-        cvc.sourceCommand(self.cfg, [ "newpkg", pkgname], {})
+        cvc.sourceCommand(self.cfg, [ "newpkg", pkgname ], newPkgArgs)
         cwd = os.getcwd()
         os.chdir(pkgname)
         try:
-            recipe = pkgname + '.recipe'
-            f = open(recipe, 'w')
-            f.write(recipeContents)
-            f.close()
-            addfiles = [ 'add', recipe ]
+            addfiles = [ 'add' ]
+            if recipeContents:
+                recipe = pkgname + '.recipe'
+                f = open(recipe, 'w')
+                f.write(recipeContents)
+                f.close()
+                addfiles.append(recipe)
+            if manifestContents:
+                manifest = 'manifest'
+                f = open(manifest, 'w')
+                f.write(manifestContents)
+                f.close()
+                addfiles.append(manifest)
 
-            # copy all the binaries to the cwd
-            if srpm:
-                for path, fn in self.rpmSource.rpmMap[srpm].iteritems():
-                    shutil.copy(fn, path)
-                    addfiles.append(path)
-            cvc.sourceCommand(self.cfg, addfiles, {})
-            cvc.sourceCommand(self.cfg, ['cook', recipe], {'no-deps': None})
+            cvc.sourceCommand(self.cfg, addfiles, {'text':True})
+            try:
+                cvc.sourceCommand(self.cfg, ['cook'], {'no-deps': None})
+            except Exception, e:
+                print '++++++ error building', pkgname, str(e)
+                return
             cvc.sourceCommand(self.cfg,
-                              [ 'commit' ],
-                              { 'message':
-                                'Automated initial commit of ' + recipe })
-            #cvc.sourceCommand(self.cfg, ['cook', pkgname], {'no-deps': None})
+                             [ 'commit' ],
+                             { 'message':
+                               'Automated initial commit of %s:source' %pkgname})
+            cvc.sourceCommand(self.cfg, ['cook', pkgname], {'no-deps': None})
+            cfg = copy.copy(self.cfg)
+            buildFlavor = deps.deps.parseFlavor('is:x86_64')
+            cfg.buildFlavor = deps.deps.overrideFlavor(
+                cfg.buildFlavor, buildFlavor)
+            cvc.sourceCommand(cfg, ['cook', pkgname], {'no-deps': None})
         finally:
             os.chdir(cwd)
+
+    def _updateSourceComponent(self):
+        raise NotImplemented
+
+    def _createOrUpdateManifest(self, pkgname, srpm, prefix,
+                                create=False, update=False):
+        assert(create or update)
+        manifest = self.rpmSource.createManifest(srpm, prefix)
+
+        if create:
+            fn = self._createSourceComponent
+        else:
+            fn = self._updateSourceComponent
+
+        fn(pkgname, manifestContents=manifest,
+           newPkgArgs={'factory':'sle-rpm'})
+
+    def createManifest(self, pkgname, srpm, prefix):
+        self._createOrUpdateManifest(pkgname, srpm, prefix, create=True)
+
+    def updateManifest(self, pkgname, srpm, prefix):
+        self._createOrUpdateManifest(pkgname, srpm, prefix, update=True)
+
+    def createRecipe(self, pkgname, recipeContents):
+        self._createSourceComponent(pkgname, recipeContents=recipeContents)
diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -1,6 +1,5 @@
-#!/usr/bin/python
 #
-# Copyright (c) 2006 rPath, Inc.
+# Copyright (c) 2006,2008 rPath, Inc.
 #
 #
 # This program is distributed under the terms of the Common Public License,
@@ -23,7 +22,7 @@
 
 # make local copies of tags for convenience
 for tag in ('NAME', 'VERSION', 'RELEASE', 'SOURCERPM', 'FILEUSERNAME',
-    'FILEGROUPNAME'):
+            'FILEGROUPNAME'):
     sys.modules[__name__].__dict__[tag] = getattr(rpmhelper, tag)
 ARCH = 1022
 
@@ -62,171 +61,56 @@
     def procSrc(self, f, rpm):
         self.srcPath[rpm] = f
 
+    def getRPMS(self, src):
+        """
+        @return list of binary RPMS built from this source.
+        """
+        return [ x for x in self.rpmMap[src].itervalues() ]
+
     def walk(self, root):
         """
         Walk the tree rooted at root and collect information about rpms found.
         """
-
+        ignored = ('patch.rpm', 'delta.rpm')
         for dirpath, dirnames, filenames in os.walk(root):
             for f in filenames:
                 # ignore the 32-bit compatibility libs - we will
                 # simply use the 32-bit components from the repository
+                skip = False
                 if '32bit' in f:
+                    skip = True
+                for suffix in ignored:
+                    if f.endswith(suffix):
+                        skip = True
+                        break
+                        continue
+                if not f.endswith(".rpm"):
+                    skip = True
+                if skip:
                     continue
-                if f.endswith(".rpm"):
-                    fullpath = os.path.join(dirpath, f)
-                    if f.endswith(".src.rpm") or f.endswith('.nosrc.rpm'):
-                        self.procSrc(fullpath, f)
-                    else:
-                        self.procBin(fullpath, f)
+                fullpath = os.path.join(dirpath, f)
+                try:
+                    h = self.getHeader(fullpath)
+                except IOError:
+                    print 'bad rpm:', fullpath
+                    os.unlink(fullpath)
+                    continue
+                if h[VERSION] not in f:
+                    # ignore files like aaa_base.rpm.  We only want
+                    # one version, like aaa_base-10-0.8.x86_64.rpm
+                    continue
+                if f.endswith(".src.rpm") or f.endswith('.nosrc.rpm'):
+                    self.procSrc(fullpath, f)
+                else:
+                    self.procBin(fullpath, f)
 
-    def getSrpms(self):
+    def getSrpms(self, pkglist):
         """
-        Get all sources we think we need now.
+        Get source RPMS for a given list of binary RPM package names
         """
-
-        bins = (
-            'aaa_base',
-            'acl',
-            'alsa',
-            'apache2',
-            'ash',
-            'attr',
-            'bash',
-            'binutils',
-            'bzip2',
-            'compat-libstdc++',
-            'coreutils',
-            'cpio',
-            'cpp',
-            'cracklib',
-            'cron',
-            'cyrus-sasl',
-            'device-mapper',
-            'db',
-            'dbus-1',
-            'dhcpcd',
-            'diffutils',
-            'e2fsprogs',
-            'expat',
-            'expect',
-            'file',
-            'filesystem',
-            'fillup',
-            'findutils',
-            'findutils-locate',
-            'fontconfig',
-            'freetype',
-            'freetype2',
-            'gawk',
-            'gcc',
-            'gdbm',
-            'glib2',
-            'glibc',
-            'gmp',
-            'gpm',
-            'grep',
-            'grub',
-            'gzip',
-            'hal',
-            'hwinfo',
-            'insserv',
-            'iproute2',
-            'iptables',
-            'iputils',
-            #'java-1_4_2-sun',
-            'jpeg',
-            'kbd',
-            'klogd',
-            'krb5',
-            'ksh',
-            'less',
-            'lvm2',
-            'libaio',
-            'libapr1',
-            'libapr-util1',
-            'libattr',
-            'libcom_err',
-            'libelf',
-            'libgcc',
-            'libjpeg',
-            'libnscd',
-            'libpcap',
-            'libpng',
-            'libstdc++',
-            'libtool',
-            'libusb',
-            'libxcrypt',
-            'libxml2',
-            'make',
-            'mdadm',
-            'mingetty',
-            'mkinitrd',
-            'mktemp',
-            'mm',
-            'module-init-tools',
-            'ncurses',
-            'net-tools',
-            'netcfg',
-            'openct',
-            'openldap2',
-            'openldap2-client',
-            'opensc',
-            'openslp',
-            'openssh',
-            'openssl',
-            'pam',
-            'pam-modules',
-            'patch',
-            'pciutils',
-            'pcre',
-            'perl',
-            'perl-Bootloader',
-            'perl-Compress-Zlib',
-            'perl-DBD-SQLite',
-            'perl-DBI',
-            'perl-Digest-SHA1',
-            'perl-Net-Daemon',
-            'perl-PlRPC',
-            'perl-TermReadKey',
-            'perl-URI',
-            'perl-gettext',
-            'php5',
-            'pkgconfig',
-            'popt',
-            'procps',
-            'psmisc',
-            'pwdutils',
-            'python',
-            'python-xml',
-            'resmgr',
-            'sed',
-            'slang',
-            'sles-release',
-            'sysconfig',
-            'sysfsutils',
-            'syslog-ng',
-            'sysvinit',
-            'tar',
-            'tcl',
-            'tcpd',
-            'tcsh',
-            'tcpdump',
-            'termcap',
-            'timezone',
-            'udev',
-            'unixODBC',
-            'util-linux',
-            'vim',
-            'wget',
-            'wireless-tools',
-            'xorg-x11',
-            'zlib'
-        )
-
         srpms = list()
-        for b in bins:
-            srpms.append(self.revMap[b])
+        for p in pkglist:
+            srpms.append(self.revMap[p])
         return srpms
 
     def transformName(self, name):
@@ -306,5 +190,18 @@
         a('    archs = [ %s ]' % self.quoteSequence(archs))
         if extras:
             a("    extraArch = { 'i686': [ %s ] }" %self.quoteSequence(extras))
+        # add a trailing newline
         a('')
         return '\n'.join(l)
+
+    def createManifest(self, srpm, prefix):
+        """
+        @return the text for the manifest file.
+        """
+        l = []
+        l.append(self.srcPath[srpm])
+        l.extend([x for x in self.getRPMS(srpm)])
+        if prefix:
+            l = [ x[len(prefix):] for x in l]
+        # add a trailing newline
+        return '\n'.join(sorted(l) + [''])

From johnsonm@rpath.com Wed Aug 19 17:43:10 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLhAS6010143
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:43:10 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLh9PY011487
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:43:09 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLh9jZ026262
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:43:09 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLhBc0024327
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:43:11 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLh9BA024260
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:10 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLh9BA024260@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:09 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove CVE handling, CVEs are now part of the description
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:43:10 -0000

changeset:   93fd53d9db49
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 30 Jul 2009 15:28:43 -0400

remove CVE handling, CVEs are now part of the description

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/pmap/scientific.py b/pmap/scientific.py
--- a/pmap/scientific.py
+++ b/pmap/scientific.py
@@ -24,7 +24,7 @@
     Container class for Scientific Linux advisories.
     """
 
-    _slots = ('cve', 'pkgs', )
+    _slots = ('pkgs', )
 
     def finalize(self):
         """
@@ -46,8 +46,6 @@
         self._states.update({
             'synopsis'  : self._synopsis,
             'Issue'     : None,
-            'CVE'       : self._cveNames,
-            'MultiCVE'  : self._cveMultiLine,
             'SLVersion' : self._slVersion,
             'Arch'      : self._arch,
             'End'       : self._end,
@@ -56,8 +54,6 @@
         self._supportedArch = ('SRPM', 'SRPMS', 'i386', 'x86_64', )
 
         self._filterLine('^Issue date:.*', 'Issue')
-        self._filterLine('^CVE Names:.*', 'CVE')
-        self._filter('^cve-[0-9]{4}-[0-9]{4}', 'MultiCVE')
         self._filter('^sl[0-9]\.x', 'SLVersion')
         self._filterLine('^SL [0-9]\.x', 'SLVersion')
         self._filterLine('^\s*(%s).*' % '|'.join(self._supportedArch), 'Arch')
@@ -131,38 +127,6 @@
 
         self._curObj.summary = self._getLine()
 
-    def _addCVE(self, cve):
-        """
-        Add a cve to curObj.
-        """
-
-        if self._curObj.cve is None:
-            self._curObj.cve = {}
-
-        splt = cve.split()
-        cve = splt[0].strip(',')
-        desc = ''
-        if len(splt) > 1:
-            desc = ' '.join(splt[1:])
-        if cve not in self._curObj.cve:
-            self._curObj.cve[cve] = desc
-
-    def _cveNames(self):
-        """
-        Parse CVE Names line.
-        """
-
-        for cve in self._getLine().split():
-            if cve.startswith('CVE-'):
-                self._addCVE(cve)
-
-    def _cveMultiLine(self):
-        """
-        Parse multiline CVEs.
-        """
-
-        self._addCVE(self._getFullLine())
-
     def _slVersion(self):
         """
         Parse SL Version.

From johnsonm@rpath.com Wed Aug 19 17:43:10 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLhAmE010146
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:43:10 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLhAEL011490
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:43:10 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLh9pN026265
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:43:09 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLhBa8024334
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:43:11 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLh9cN024277
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:10 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLh9cN024277@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:09 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add scripts for testing advisories
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:43:10 -0000

changeset:   5b4a83496c5c
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 30 Jul 2009 15:31:41 -0400

add scripts for testing advisories

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/advise b/scripts/advise
new file mode 100755
--- /dev/null
+++ b/scripts/advise
@@ -0,0 +1,50 @@
+#!/usr/bin/python
+#
+# Copyright (c) 2009 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+"""
+Send out a single advisory if available for a given package on a
+given platform.
+"""
+
+import os
+import sys
+
+from conary.lib import util
+sys.excepthook = util.genExcepthook()
+
+platform = sys.argv[1]
+mirrorballPath = os.environ['HOME'] + '/hg/mirrorball'
+
+sys.path.insert(0, mirrorballPath)
+
+from updatebot import log
+from updatebot import bot
+from updatebot import config
+
+log.addRootLogger()
+
+cfg = config.UpdateBotConfig()
+cfg.read(mirrorballPath + '/config/%s/updatebotrc' % platform)
+
+obj = bot.Bot(cfg)
+
+obj._pkgSource.load()
+
+advisor = obj._advisor
+updater = obj._updater
+
+advisor.load()
+
+import epdb ; epdb.st()
diff --git a/scripts/pmapload b/scripts/pmapload
new file mode 100755
--- /dev/null
+++ b/scripts/pmapload
@@ -0,0 +1,45 @@
+#!/usr/bin/python
+#
+# Copyright (c) 2009 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+"""
+Load a single mail archive.
+"""
+
+import os
+import sys
+
+from conary.lib import util
+sys.excepthook = util.genExcepthook()
+
+platform = sys.argv[1]
+archivePath = sys.argv[2]
+mirrorballPath = os.environ['HOME'] + '/hg/mirrorball'
+
+sys.path.insert(0, mirrorballPath)
+
+from updatebot import log
+from updatebot import config
+
+import pmap
+
+log.addRootLogger()
+
+cfg = config.UpdateBotConfig()
+cfg.read(mirrorballPath + '/config/%s/updatebotrc' % platform)
+
+
+data = pmap.parse(archivePath, backend=cfg.platformName, productVersion=cfg.upstreamProductVersion)
+
+import epdb; epdb.st()

From johnsonm@rpath.com Wed Aug 19 17:43:13 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLhDkT010159
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:43:13 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLhC9e011497
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:43:12 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLhCmR026269
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:43:12 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLhCRX024371
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:43:12 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLhAHe024294
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:10 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLhAHe024294@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:10 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: allow for a space between SL and the version
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:43:13 -0000

changeset:   53c8937be7d9
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 31 Jul 2009 10:56:27 -0400

allow for a space between SL and the version

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/pmap/scientific.py b/pmap/scientific.py
--- a/pmap/scientific.py
+++ b/pmap/scientific.py
@@ -62,7 +62,7 @@
         self._productVersion = productVersion
         if productVersion:
             self._checkSubject = True
-            self._subjectVersionRE = re.compile('.*SL%s\.x.*' % productVersion)
+            self._subjectVersionRE = re.compile('.*SL[ ]{0,1}%s\.x.*' % productVersion)
         else:
             self._checkSubject = False
 

From johnsonm@rpath.com Wed Aug 19 17:43:14 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLhE0n010162
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:43:14 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLhDsG011510
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:43:13 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLhDX4026275
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:43:13 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLhDa0024401
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:43:14 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLhBqR024349
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:11 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLhBqR024349@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:11 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add profiling info
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:43:14 -0000

changeset:   1f528c8e2666
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 05 Aug 2009 14:03:49 -0400

add profiling info

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/promote b/scripts/promote
--- a/scripts/promote
+++ b/scripts/promote
@@ -15,6 +15,8 @@
 
 from header import *
 
+import tempfile
+
 from updatebot import conaryhelper
 helper = conaryhelper.ConaryHelper(cfg)
 
@@ -24,9 +26,14 @@
 import logging
 slog = logging.getLogger('script')
 
+#import cProfile
+#prof = cProfile.Profile()
+#prof.enable()
+
 trvLst = helper._repos.findTrove(helper._ccfg.buildLabel, cfg.topGroup)
 trvLst = helper._findLatest(trvLst)
 
+slog.info('creating changeset')
 cs, packages = helper.promote(
     trvLst,
     [],
@@ -36,6 +43,11 @@
     extraPromoteTroves=cfg.extraPromoteTroves,
     commit=False
 )
+slog.info('changeset created')
+
+#prof.disable()
+#prof.dump_stats('promote.lsprof')
+#prof.print_stats()
 
 newPkgs = set([ (x[0].split(':')[0], x[1].getSourceVersion(), x[2]) for x in packages])
 
@@ -56,6 +68,10 @@
             continue
         slog.info('promoting %s=%s[%s]' % (pkg[0], pkg[1], flv))
 
+#csFileName = tempfile.mktemp()
+#slog.info('writing changeset to %s' % csFileName)
+#cs.writeToFile(csFileName)
+
 slog.info('committing')
 
 helper._repos.commitChangeSet(cs)

From johnsonm@rpath.com Wed Aug 19 17:43:14 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLhE1U010165
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:43:14 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLhDC9011511
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:43:14 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLhD8D026279
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:43:13 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLhDQS024406
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:43:14 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLhCRx024389
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:13 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLhCRx024389@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:12 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: handle comparing against strings or unicode objects
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:43:15 -0000

changeset:   1c270ae4dbfd
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 05 Aug 2009 14:05:34 -0400

handle comparing against strings or unicode objects

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/lib/xobjects.py b/updatebot/lib/xobjects.py
--- a/updatebot/lib/xobjects.py
+++ b/updatebot/lib/xobjects.py
@@ -83,7 +83,10 @@
         return hash(self.key)
 
     def __cmp__(self, other):
-        return cmp(self.key, other.key)
+        if type(other) in (str, unicode):
+            return cmp(self.key, other)
+        else:
+            return cmp(self.key, other.key)
 
 
 class XDict(object):

From johnsonm@rpath.com Wed Aug 19 17:43:14 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLhEfZ010167
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:43:14 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLhEGb011516
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:43:14 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLhDiq026280
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:43:14 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLhDPP024403
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:43:14 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLhC2k024367
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:13 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLhC2k024367@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:12 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add script for generating the package name map for
	factory-comps-group based
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:43:15 -0000

changeset:   261fb3e4de48
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 05 Aug 2009 14:04:23 -0400

add script for generating the package name map for factory-comps-group based
groups

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/genPackageNameMap b/scripts/genPackageNameMap
new file mode 100755
--- /dev/null
+++ b/scripts/genPackageNameMap
@@ -0,0 +1,38 @@
+#!/usr/bin/python
+#
+# Copyright (c) 2009 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+from header import *
+
+from xobj import xobj
+
+from updatebot.bot import Bot
+from updatebot.lib.xobjects import XDict
+
+pkgSource = Bot(cfg)._pkgSource
+pkgSource.load()
+
+def getLatestBin(binPkgs):
+    lst = list(binPkgs)
+    lst.sort()
+    return lst[-1]
+
+d = XDict()
+for binName, binPkgs in pkgSource.binNameMap.iteritems():
+    latest = getLatestBin(binPkgs)
+    srcName = pkgSource.binPkgMap[latest].name
+    if binName not in d:
+        d[binName] = srcName
+
+print xobj.toxml(d, 'pkgNameMap')

From johnsonm@rpath.com Wed Aug 19 17:43:15 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLhFR9010172
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:43:15 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLhF9u011519
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:43:15 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLhFaI026285
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:43:15 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLhD6k024397
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:43:14 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLhBgk024330
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:11 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLhBgk024330@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:11 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add a basic freezable string dictionary
 implementation
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:43:16 -0000

changeset:   fcdc8e9b9cd8
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 04 Aug 2009 15:53:57 -0400

add a basic freezable string dictionary implementation

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/lib/xobjects.py b/updatebot/lib/xobjects.py
--- a/updatebot/lib/xobjects.py
+++ b/updatebot/lib/xobjects.py
@@ -65,3 +65,50 @@
                     self.data.sourcePackage = pkg
                 else:
                     self.data.binaryPackages.append(pkg)
+
+
+class XDictItem(object):
+    """
+    Object to represent key/value pairs.
+    """
+
+    key = str
+    value = str
+
+    def __init__(self, key=None, value=None):
+        self.key = key
+        self.value = value
+
+    def __hash__(self):
+        return hash(self.key)
+
+    def __cmp__(self, other):
+        return cmp(self.key, other.key)
+
+
+class XDict(object):
+    """
+    String based xobj dict implementation.
+    """
+
+    items = [ XDictItem ]
+
+    def __init__(self):
+        self.items = []
+
+    def __setitem__(self, key, value):
+        item = XDictItem(key, value)
+        if item in self.items:
+            idx = self.items.index(item)
+            self.items[idx] = item
+        else:
+            self.items.append(item)
+
+    def __getitem__(self, key):
+        if key in self.items:
+            idx = self.items.index(key)
+            return self.items[idx].value
+        raise KeyError, key
+
+    def __contains__(self, key):
+        return key in self.items

From johnsonm@rpath.com Wed Aug 19 17:43:16 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JLhG4v010177
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:43:16 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JLhF4b011525
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:43:15 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLhFEN026288
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 17:43:15 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLhCKe024387
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:43:12 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLhA8S024311
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:11 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLhA8S024311@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:10 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add promote callback
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 21:43:17 -0000

changeset:   ae2668b7577c
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 03 Aug 2009 17:08:31 -0400

add promote callback

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -41,6 +41,8 @@
 from updatebot.errors import PromoteMismatchError
 from updatebot.errors import MirrorFailedError
 
+from updatebot.lib.conarycallbacks import UpdateBotCloneCallback
+
 log = logging.getLogger('updatebot.conaryhelper')
 
 class ConaryHelper(object):
@@ -599,10 +601,13 @@
                 if version == latestVer:
                     trvLst.append((name, version, flavor))
 
+        callback = UpdateBotCloneCallback(self._ccfg, 'test', log=log)
+
         success, cs = self._client.createSiblingCloneChangeSet(
                             labelMap,
                             trvLst,
-                            cloneSources=True)
+                            cloneSources=True,
+                            callback=callback)
 
         log.info('changeset created in %s' % (time.time() - start, ))
 
@@ -634,7 +639,7 @@
 
         log.info('committing changeset')
 
-        self._repos.commitChangeSet(cs)
+        self._repos.commitChangeSet(cs, callback=callback)
 
         log.info('changeset committed')
         log.info('promote complete, elapsed time %s' % (time.time() - start, ))
diff --git a/updatebot/lib/conarycallbacks.py b/updatebot/lib/conarycallbacks.py
new file mode 100644
--- /dev/null
+++ b/updatebot/lib/conarycallbacks.py
@@ -0,0 +1,81 @@
+#
+# Copyright (c) 2009 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+"""
+Conary callbacks that have been wrapped to be more friendly with the
+logging module.
+"""
+
+import logging
+log = logging.getLogger('updatebot.lib.conarycallbacks')
+
+from conary.conaryclient.callbacks import CloneCallback
+
+def callonce(func):
+    def wrapper(self, *args, **kwargs):
+        if self._last != func.__name__:
+            self._last = func.__name__
+            return func(self, *args, **kwargs)
+    return wrapper
+
+class UpdateBotCloneCallback(CloneCallback):
+    def __init__(self, *args, **kwargs):
+        self._log = kwargs.pop('log', log)
+        CloneCallback.__init__(self, *args, **kwargs)
+
+        self._last = None
+
+    def _message(self, message):
+        self._log.info(message)
+
+    @callonce
+    def determiningCloneTroves(self, current=0, total=0):
+        CloneCallback.determiningCloneTroves(self, current=0, total=0)
+
+    @callonce
+    def determiningTargets(self):
+        CloneCallback.determiningTargets(self)
+
+    @callonce
+    def targetSources(self, current=0, total=0):
+        CloneCallback.targetSources(self, current=0, total=0)
+
+    @callonce
+    def targetBinaries(self, current=0, total=0):
+        CloneCallback.targetBinaries(self, current=0, total=0)
+
+    @callonce
+    def checkNeedsFulfilled(self, current=0, total=0):
+        CloneCallback.checkNeedsFulfilled(self, current=0, total=0)
+
+    @callonce
+    def rewriteTrove(self, current=0, total=0):
+        CloneCallback.rewriteTrove(self, current=0, total=0)
+
+    @callonce
+    def buildingChangeset(self, current=0, total=0):
+        CloneCallback.buildingChangeset(self, current=0, total=0)
+
+    @callonce
+    def requestingFiles(self, number):
+        CloneCallback.requestingFiles(self, number)
+
+    @callonce
+    def requestingFileContentsWithCount(self, count):
+        CloneCallback.requestingFileContentsWithCount(self, count)
+
+    @callonce
+    def gettingCloneData(self):
+        CloneCallback.gettingCloneData(self)
+

From johnsonm@rpath.com Wed Aug 19 18:12:08 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMC8QS010286
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:12:08 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMC7uZ012391
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:12:07 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMC62S027623
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:12:06 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JLcj2g013559
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 21:38:47 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcjc9013510
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:45 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcjc9013510@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:45 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add test framework
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:12:09 -0000

changeset:   24d911c85d90
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 27 May 2008 15:36:22 -0400

add test framework

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/test/Makefile b/test/Makefile
new file mode 100644
--- /dev/null
+++ b/test/Makefile
@@ -0,0 +1,10 @@
+all:
+	for dir in `find . -type d -name '*test'`; do \
+relativelink=`echo "$$dir" | sed s,/[^/]*,/..,g | sed 's,./,,'`; \
+ln -fs $${relativelink}/testsetup.py $$dir; \
+done
+
+clean:
+	for dir in `find . -type d -name '*test'`; do \
+            rm -f $${dir}/testsetup.py*;\
+        done
diff --git a/test/__init__.py b/test/__init__.py
new file mode 100644
diff --git a/test/archive/Makefile b/test/archive/Makefile
new file mode 100644
--- /dev/null
+++ b/test/archive/Makefile
@@ -0,0 +1,43 @@
+#
+# Copyright (c) 2006-2007 rPath, Inc.  All Rights Reserved.
+#
+# All Rights Reserved
+#
+arch_files = arch/ppc arch/x86 arch/x86_64
+
+use_files =	use/bootstrap\
+		use/builddocs\
+		use/buildtests\
+		use/desktop\
+		use/dietlibc\
+		use/emacs\
+		use/gcj\
+		use/gdbm\
+		use/gnome\
+		use/gtk\
+		use/ipv6\
+		use/kde\
+		use/krb\
+		use/ldap\
+		use/pam\
+		use/pcre\
+		use/perl\
+		use/python\
+		use/qt\
+		use/readline\
+		use/sasl\
+		use/ssl\
+		use/tcl\
+		use/tk\
+		use/X
+
+dist_files = $(arch_files) $(use_files) Makefile
+
+all: default-all
+
+dist: default-dist
+
+clean: default-clean
+
+include ../../Make.rules
+# vim: set sts=8 sw=8 noexpandtab :
diff --git a/test/archive/arch/ppc b/test/archive/arch/ppc
new file mode 100644
--- /dev/null
+++ b/test/archive/arch/ppc
@@ -0,0 +1,10 @@
+Name ppc
+archProp LE True
+archProp BE False
+archProp bits32 False
+archProp bits64 True
+macro unamearch ppc
+macro targetarch powerpc
+
+[ppc64]
+
diff --git a/test/archive/arch/x86 b/test/archive/arch/x86
new file mode 100644
--- /dev/null
+++ b/test/archive/arch/x86
@@ -0,0 +1,46 @@
+Name x86
+archProp LE True
+archProp BE False
+archProp bits32 True
+archProp bits64 False
+macro targetarch i386
+macro unamearch i386
+macro optflags -O2
+
+[i486]
+macro targetarch i486
+macro unamearch i486
+
+[i586]
+macro targetarch i586
+macro unamearch i586
+subsumes i486
+
+[i686]
+macro targetarch i686
+macro unamearch i686
+subsumes i586, i486
+
+[cmov]
+
+[sse]
+
+[sse2]
+subsumes sse
+
+[sse3]
+subsumes sse2,sse
+
+[mmx]
+
+[mmxext]
+subsumes mmx
+
+[3dnow]
+buildName threednow
+
+[3dnowext]
+buildName threednowext
+subsumes 3dnow
+
+[nx]
diff --git a/test/archive/arch/x86_64 b/test/archive/arch/x86_64
new file mode 100644
--- /dev/null
+++ b/test/archive/arch/x86_64
@@ -0,0 +1,17 @@
+archProp LE True
+archProp BE False
+archProp bits32 False
+archProp bits64 True
+macro lib lib64
+
+[nx]
+
+[sse3]
+
+[3dnow]
+buildName threednow
+
+[3dnowext]
+buildName threednowext
+subsumes 3dnow
+
diff --git a/test/archive/authdb b/test/archive/authdb
new file mode 100644
index 0000000000000000000000000000000000000000..1636f3d45eccdb69b9d1ee30813973adb76f44a1
GIT binary patch
literal 96256
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

diff --git a/test/archive/distcache-1.4.5-2.src.rpm b/test/archive/distcache-1.4.5-2.src.rpm
new file mode 100644
index 0000000000000000000000000000000000000000..8e78a9e0c3366e6b555fadc1265fa858102f2f92
GIT binary patch
literal 379067
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

diff --git a/test/archive/key.asc b/test/archive/key.asc
new file mode 100644
--- /dev/null
+++ b/test/archive/key.asc
@@ -0,0 +1,13 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.1 (GNU/Linux)
+
+mIsEQwCyngEEAJ3MC9HwzDve2JzvEdhS/eWfjLjtE1Hco/BxZEri4oz4XTScjmbm
+gPGrk84F2Pxb3sqNP3pESjKZO8yNYj5pF9ToVO3uzWKIRk3XGuu1MwheKO0ruOKS
+6wUJo1x2scrAHY5YoOFAQ1SGHWdX8qAHoupDEIO/35bHMeoD1BQeDmGVAAYptC1S
+U0EgMTAyNCB3aXRoIEl0ZXJhdGVkIFMySyBTSEEgQ2hlY2tzdW0gQ0FTVDWItAQT
+AQIAHgUCQwCyngIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRDHwy/B+U5AXijK
+A/0UbwMU5Dg2EMekqgUp4mirm+fFjV+S5fRZnY4Ngj8wXN7BbEiVl9RTBt6O+abA
+EXWYNw85Nlkq77W49qz/XewymaiF9Q6ELJ1XQBKM7bwKRmmwO2dQS6eCQaRfOQ9X
+DeG01oWQDg+ISriSc9WlTdf+aP2VieB2wK55bUw4NWijtg==
+=OcwF
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/test/archive/macros b/test/archive/macros
new file mode 100644
--- /dev/null
+++ b/test/archive/macros
@@ -0,0 +1,120 @@
+# These are the default macro definitions used when cooking packages using
+# cvc.  You can override these values in individual recipes, as well as on
+# the command line.
+
+lib                 = 'lib'
+# NOTE: lib is an architecture-specific macro, 
+# and is defined in /etc/conary/arch for some architectures, specifically 
+# 64bit systems.
+
+prefix		    = '/usr'
+sysconfdir	    = '/etc'
+initdir		    = '%(sysconfdir)s/init.d'
+exec_prefix	    = '%(prefix)s'
+bindir		    = '%(exec_prefix)s/bin'
+
+essentialbindir	    = '/bin'
+sbindir		    = '%(exec_prefix)s/sbin'
+essentialsbindir    = '/sbin'
+libdir		    = '%(exec_prefix)s/%(lib)s'
+essentiallibdir	    = '/%(lib)s'
+libexecdir	    = '%(exec_prefix)s/libexec'
+localstatedir	    = '/var'
+servicedir          = '/srv'
+cachedir	    = '%(localstatedir)s/cache'
+sharedstatedir	    = '%(prefix)s/com'
+includedir	    = '%(prefix)s/include'
+datadir		    = '%(prefix)s/share'
+mandir		    = '%(datadir)s/man'
+infodir		    = '%(datadir)s/info'
+docdir		    = '%(datadir)s/doc'
+thisdocdir          = '%(docdir)s/%(name)s-%(version)s'
+tagdescriptiondir   = '%(sysconfdir)s/conary/tags'
+taghandlerdir       = '%(libexecdir)s/conary/tags'
+tagdatadir          = '%(datadir)s/conary/tags'
+testdir	            = '%(localstatedir)s/conary/tests'
+thistestdir	    = '%(testdir)s/%(name)s-%(version)s'
+debuglibdir         = '/usr/lib/debug' # no %(prefix)s or %(lib)s!
+debugsrcdir         = '/usr/src/debug' # no %(prefix)s!
+userinfodir         = '%(sysconfdir)s/conary/userinfo'
+groupinfodir        = '%(sysconfdir)s/conary/groupinfo'
+buildlogpath        = '%(debugsrcdir)s/buildlogs/%(name)s-%(version)s-log.bz2'
+buildxmlpath        = '%(debugsrcdir)s/buildlogs/%(name)s-%(version)s-xml.bz2'
+## Java Macros
+# Root directory where all Java VMs/SDK/JREs are installed.
+jvmdir              = '%(libdir)s/jvm'
+# Directory where arch and version independent jars are installed.
+javadir             = '%(datadir)s/java'
+# Root directory where all javadoc is installed. Also already in RH macros.
+javadocdir          = '%(datadir)s/javadoc'
+thisjavadocdir      = '%(javadocdir)s/%(name)s-%(version)s'
+# special component prefixes that the whole system needs to share
+krbprefix	    = '%(exec_prefix)s/kerberos'
+x11prefix	    = '%(exec_prefix)s/X11R6'
+# programs/options (empty ones are for documentation)
+cc		    = 'gcc'
+cxx		    = 'g++'
+cxxflags            = ''    # cxx specific flags
+optflags            = '-O2'
+dbgflags            = '-g' # for debuginfo
+cflags              = '%(optflags)s %(dbgflags)s' 
+cppflags	    = '' 
+ldflags		    = '%(dbgflags)s'
+mflags		    = '' # make flags
+parallelmflags      = ''
+classpath           = ''
+os		    = 'linux'
+debugedit           = 'debugedit'
+strip               = 'eu-strip' # eu-strip for debuginfo, "strip -g" else
+strip_archive       = 'strip -g' # eu-strip segfaults on ar
+monodis             = '%(bindir)s/monodis' # tool to determine mono dependencies
+ruby                = '%(bindir)s/ruby'
+
+# reference macros filled in from the recipe
+archive_name       = '%(name)s'
+archive_version    = '%(version)s'
+# overridden in conary
+major_version      = '%(version)s'
+
+# filled in at cook time
+buildbranch         = ''
+buildlabel          = ''
+
+# cross compiling macros
+# most of the macros beyond this point will only be of interest if you
+# are cross compiling.
+
+# targetarch, buildarch, and hostarch are determined internally by 
+# conary (although you can override them using command line options)
+
+targetvendor        = 'unknown'
+targetos            = 'linux'
+target		    = '%(targetarch)s-%(targetvendor)s-%(targetos)s'
+
+# the platform on which the created binaries should be run
+# (different from host only when the resulting binary is a cross-compiler)
+hostvendor          = 'unknown'
+hostos              = 'linux'
+host		    = '%(hostarch)s-%(hostvendor)s-%(hostos)s'
+
+# build is the system on which the binaries are being run
+buildvendor         = 'unknown'
+buildos             = 'linux'
+build		    = '%(buildarch)s-%(buildvendor)s-%(buildos)s'
+
+# in a default non-cross-compiling build, the build system cc is just the 
+# regular cc.  These will be overridden by conary when cross-compiling
+
+buildcc             = '%(cc)s'
+buildcxx            = '%(cxx)s'
+
+# The following macros will be set when cross-compiling unless they are set
+# here.
+#crossdir       = 'cross-target-%(target)s'
+#crossprefix	= '/opt/%(crossdir)s'
+#sysroot        = '%(crossprefix)s/sys-root'
+#headerpath     = '%(sysroot)s/%(includedir)s'
+#hostmajorarch  = 
+
+# the following dummy value is for testing macro overrides
+dummyMacro      = 'wrong'
diff --git a/test/archive/policy/fake.py b/test/archive/policy/fake.py
new file mode 100644
--- /dev/null
+++ b/test/archive/policy/fake.py
@@ -0,0 +1,35 @@
+#
+# Copyright (c) 2006-2007 rPath, Inc.  All Rights Reserved.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.opensource.org/licenses/cpl.php.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+import errno
+import os
+import shutil
+import stat
+
+from conary.lib import util
+from conary.build import macros, policy
+from conary.build.use import Use
+
+
+class Foo(policy.DestdirPolicy):
+    """
+        Fake policy
+    """
+    invariantinclusions = [ '.*' ]
+
+    def __init__(self, *args, **keywords):
+        policy.DestdirPolicy.__init__(self, *args, **keywords)
+
+    def doFile(self, path):
+        raise RuntimeError('This fake policy always breaks.')
diff --git a/test/archive/pubring.gpg b/test/archive/pubring.gpg
new file mode 100644
index 0000000000000000000000000000000000000000..935857a288c3542095714cf1ed61f2c15570dae8
GIT binary patch
literal 4304
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

diff --git a/test/archive/recipeTemplates/default b/test/archive/recipeTemplates/default
new file mode 100644
--- /dev/null
+++ b/test/archive/recipeTemplates/default
@@ -0,0 +1,10 @@
+#
+# Copyright (c) 2006-2007 rPath, Inc.  All Rights Reserved.
+#
+
+class %(upperName)s(PackageRecipe):
+    name = '%(name)s'
+    version = ''
+
+    def setup(r):
+        pass
diff --git a/test/archive/recipeTemplates/rpath b/test/archive/recipeTemplates/rpath
new file mode 100644
--- /dev/null
+++ b/test/archive/recipeTemplates/rpath
@@ -0,0 +1,12 @@
+#
+# Copyright (c) 2006-2007 rPath, Inc.  All Rights Reserved.
+# This file is distributed under the terms of the MIT License.
+# A copy is available at http://www.rpath.com/permanent/mit-license.html
+#
+
+class %(upperName)s(PackageRecipe):
+    name = '%(name)s'
+    version = ''
+
+    def setup(r):
+        pass
diff --git a/test/archive/recipeTemplates/test b/test/archive/recipeTemplates/test
new file mode 100644
--- /dev/null
+++ b/test/archive/recipeTemplates/test
@@ -0,0 +1,12 @@
+# %(contactName)s
+# %(contact)s
+# %(year)s
+# %(name)s
+# %(upperName)s
+
+class %(upperName)s(PackageRecipe):
+    name = '%(name)s'
+    version = '0'
+
+    def setup(r):
+        r.Create('%%(prefix)s/%(name)s')
diff --git a/test/archive/secring.gpg b/test/archive/secring.gpg
new file mode 100644
index 0000000000000000000000000000000000000000..2145a103a389e687b9943dc9407bfe28f041869b
GIT binary patch
literal 7907
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
KeJ$I65c@y+K7P6Y

diff --git a/test/archive/tmpwatch-2.9.0-2.src.rpm b/test/archive/tmpwatch-2.9.0-2.src.rpm
new file mode 100644
index 0000000000000000000000000000000000000000..03aba39468edb7a5418b68d646717e1e1b033064
GIT binary patch
literal 20943
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
TkB<-fThjjn|4qb2z(fE5ka8uR

diff --git a/test/archive/use/X b/test/archive/use/X
new file mode 100644
diff --git a/test/archive/use/bootstrap b/test/archive/use/bootstrap
new file mode 100644
--- /dev/null
+++ b/test/archive/use/bootstrap
@@ -0,0 +1,2 @@
+sense disallowed
+buildRequired False
diff --git a/test/archive/use/builddocs b/test/archive/use/builddocs
new file mode 100644
--- /dev/null
+++ b/test/archive/use/builddocs
@@ -0,0 +1,2 @@
+sense preferred
+buildRequired False
diff --git a/test/archive/use/buildtests b/test/archive/use/buildtests
new file mode 100644
--- /dev/null
+++ b/test/archive/use/buildtests
@@ -0,0 +1,3 @@
+name buildtests
+sense Preferred
+buildRequired False
diff --git a/test/archive/use/cross b/test/archive/use/cross
new file mode 100644
--- /dev/null
+++ b/test/archive/use/cross
@@ -0,0 +1,2 @@
+sense disallowed
+buildRequired True
diff --git a/test/archive/use/desktop b/test/archive/use/desktop
new file mode 100644
diff --git a/test/archive/use/dietlibc b/test/archive/use/dietlibc
new file mode 100644
diff --git a/test/archive/use/emacs b/test/archive/use/emacs
new file mode 100644
diff --git a/test/archive/use/gcj b/test/archive/use/gcj
new file mode 100644
diff --git a/test/archive/use/gnome b/test/archive/use/gnome
new file mode 100644
diff --git a/test/archive/use/gtk b/test/archive/use/gtk
new file mode 100644
diff --git a/test/archive/use/ipv6 b/test/archive/use/ipv6
new file mode 100644
diff --git a/test/archive/use/kde b/test/archive/use/kde
new file mode 100644
diff --git a/test/archive/use/krb b/test/archive/use/krb
new file mode 100644
diff --git a/test/archive/use/ldap b/test/archive/use/ldap
new file mode 100644
diff --git a/test/archive/use/nptl b/test/archive/use/nptl
new file mode 100644
diff --git a/test/archive/use/pam b/test/archive/use/pam
new file mode 100644
--- /dev/null
+++ b/test/archive/use/pam
@@ -0,0 +1,1 @@
+sense required
diff --git a/test/archive/use/pcre b/test/archive/use/pcre
new file mode 100644
diff --git a/test/archive/use/perl b/test/archive/use/perl
new file mode 100644
diff --git a/test/archive/use/python b/test/archive/use/python
new file mode 100644
diff --git a/test/archive/use/qt b/test/archive/use/qt
new file mode 100644
diff --git a/test/archive/use/readline b/test/archive/use/readline
new file mode 100644
diff --git a/test/archive/use/sasl b/test/archive/use/sasl
new file mode 100644
diff --git a/test/archive/use/ssl b/test/archive/use/ssl
new file mode 100644
--- /dev/null
+++ b/test/archive/use/ssl
@@ -0,0 +1,3 @@
+name ssl
+sense required
+buildRequired True
diff --git a/test/archive/use/tcl b/test/archive/use/tcl
new file mode 100644
diff --git a/test/archive/use/tk b/test/archive/use/tk
new file mode 100644
diff --git a/test/functionaltest/Makefile b/test/functionaltest/Makefile
new file mode 100644
--- /dev/null
+++ b/test/functionaltest/Makefile
@@ -0,0 +1,13 @@
+MYDIR=$(shell basename `pwd`)
+
+test:
+	cd .. && ./testsuite.py $(MYDIR)
+
+debug:
+	cd .. && ./testsuite.py $(MYDIR) --debug
+
+coverage:
+	rm -rf annotate;
+	cd .. && ./testsuite.py $(MYDIR) --coverage
+	mv ../annotate .
+
diff --git a/test/functionaltest/__init__.py b/test/functionaltest/__init__.py
new file mode 100644
diff --git a/test/mock.py b/test/mock.py
new file mode 100644
--- /dev/null
+++ b/test/mock.py
@@ -0,0 +1,361 @@
+#!/usr/bin/python2.4
+# -*- mode: python -*-
+#
+# Copyright (c) 2006-2007 rPath, Inc.  All Rights Reserved.
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+"""
+Mock object implementation.
+
+This mock object implementation is meant to be very forgiving - it returns a
+new child Mock Object for every attribute accessed, and a mock object is
+returned from every method call.
+
+It is the tester's job to enabled the calls that they are interested in
+testing, all calls where the return value of the call and side effects are not
+recorded (logging, for example) are likely to succeed w/o effort.
+
+If you wish to call the actual implementation of a function on a MockObject,
+you have to enable it using enableMethod.  If you wish to use an actual variable setting, you need to set it.
+
+All enabling/checking methods for a MockObject are done through the _mock attribute.  Example:
+
+class Foo(object):
+    def __init__(self):
+        # NOTE: this initialization is not called by default with the mock
+        # object.
+        self.one = 'a'
+        self.two = 'b'
+
+    def method(self, param):
+        # this method is enabled by calling _mock.enableMethod
+        param.bar('print some data')
+        self.printMe('some other data', self.one)
+        return self.two
+
+    def printMe(self, otherParam):
+        # this method is not enabled and so is stubbed out in the MockInstance.
+        print otherParam
+
+def test():
+    m = MockInstance(Foo)
+    m._mock.set(two=123)
+    m._mock.enableMethod('method')
+    param = MockObject()
+    rv = m.method(param)
+    assert(rv == 123) #m.two is returned
+    # note that param.bar is created on the fly as it is accessed, and 
+    # stores how it was called.
+    assert(param.bar._mock.assertCalled('print some data')
+    # m.one and m.printMe were created on the fly as well
+    # m.printMe remembers how it was called.
+    m.printMe._mock.assertCalled('some other data', m.one)
+    # attribute values are generated on the fly but are retained between
+    # accesses.
+    assert(m.foo is m.foo)
+
+TODO: set the return values for particular function calls w/ particular
+parameters.
+"""
+import new
+
+_mocked = []
+
+class MockObject(object):
+    """
+        Base mock object.
+
+        Creates attributes on the fly, affect attribute values by using
+        the _mock attribute, which is a MockManager.
+
+        Initial attributes can be assigned by key/value pairs passed in.
+    """
+
+    def __init__(self, **kw):
+        stableReturnValues = kw.pop('stableReturnValues', False)
+        self._mock = MockManager(self, stableReturnValues=stableReturnValues)
+        self.__dict__.update(kw)
+        self._mock._dict = {}
+
+    def __getattribute__(self, key):
+        if key == '_mock' or self._mock.enabled(key):
+            return object.__getattribute__(self, key)
+        if key in self.__dict__:
+            return self.__dict__[key]
+        m = self._mock.getCalled(key)
+        self.__dict__[key] = m
+        return m
+
+    def __setattr__(self, key, value):
+        if key == '_mock' or self._mock.enabled(key):
+            object.__setattr__(self, key, value)
+        else:
+            m = self._mock.setCalled(key, value)
+            if not hasattr(self, key):
+                object.__setattr__(self, key, m)
+
+    def __setitem__(self, key, value):
+        m = self._mock.setItemCalled(key, value)
+        self._mock._dict[key] = m
+
+    def __len__(self):
+        return self._mock.length
+
+    def __deepcopy__(self, memo):
+        return self
+
+    def __iter__(self):
+        for i in range(len(self)):
+            yield self[i]
+
+    def __getitem__(self, key):
+        if key in self._mock._dict:
+            return self._mock._dict[key]
+        else:
+            m = self._mock.getItemCalled(key)
+            self._mock._dict[key] = m
+            return m
+
+    def __hasattr__(self, key):
+        if key == '_mock' or self._mock.enabled(key):
+            return object.__hasattr__(self, key)
+        return True
+
+    def __call__(self, *args, **kw):
+        return self._mock.called(args, kw)
+
+class MockManager(object):
+    noReturnValue = object()
+
+    def __init__(self, obj, stableReturnValues=False):
+        self._enabledByDefault = False
+        self._enabled = set(['__dict__', '__methods__', '__class__',
+                             '__members__', '__deepcopy__'])
+        self._disabled = set([])
+        self._errorToRaise = None
+        self.calls = []
+        self.callReturns = []
+        self.getCalls = []
+        self.setCalls = []
+        self.getItemCalls = []
+        self.setItemCalls = []
+        self.hasCalls = []
+        self.eqCalls = []
+        self.obj = obj
+        self.superClass = object
+        self.length = 1
+        self.stableReturnValues = stableReturnValues
+        self.returnValue = self.noReturnValue
+
+    def enableByDefault(self):
+        self._enabledByDefault = True
+
+    def disableByDefault(self):
+        self._enabledByDefault = False
+
+    def setDefaultReturn(self, returnValue):
+        self.returnValue = returnValue
+
+    def setReturn(self, returnValue, *args, **kw):
+        self.callReturns.append((args, tuple(sorted(kw.items())), returnValue))
+
+    def enableMethod(self, name):
+        """
+            Enables a method to be called from the given superclass.
+
+            The function underlying the method is slurped up and assigned to 
+            this class.
+        """
+        self.enable(name)
+        func = getattr(self.superClass, name).im_func
+        method = new.instancemethod(func, self.obj, self.obj.__class__)
+        object.__setattr__(self.obj, name, method)
+
+    def enable(self, *names):
+        self._enabled.update(names)
+        self._disabled.difference_update(names)
+
+    def disable(self, *names):
+        self._enabled.difference_update(names)
+        self._disabled.update(names)
+        for name in names:
+            object.__setattr__(self.obj, name, MockObject())
+
+    def enabled(self, name):
+        if self._enabledByDefault:
+            return name not in self._disabled
+        else:
+            return name in self._enabled
+
+    def set(self, **kw):
+        for key, value in kw.iteritems():
+            self._enabled.add(key)
+            setattr(self.obj, key, value)
+
+    def raiseErrorOnAccess(self, error):
+        self._errorToRaise = error
+
+    def assertCalled(self, *args, **kw):
+        kw = tuple(sorted(kw.items()))
+        assert((args, kw) in self.calls)
+        self.calls.remove((args, kw))
+
+    def assertNotCalled(self, *args, **kw):
+        assert(not self.calls)
+
+    def setCalled(self, key, value):
+        if self._errorToRaise:
+            self._raiseError()
+        m = MockObject()
+        self.setCalls.append((key, value, m))
+        return m
+
+    def setItemCalled(self, key, value):
+        if self._errorToRaise:
+            self._raiseError()
+        m = MockObject()
+        self.setItemCalls.append((key, value, m))
+        return m
+
+
+    def _raiseError(self):
+        err = self._errorToRaise
+        self._errorToRaise = None
+        raise err
+
+    def getCalled(self, key):
+        if self._errorToRaise:
+            self._raiseError()
+        m = MockObject(stableReturnValues=self.stableReturnValues)
+        self.getCalls.append((key, m))
+        return m
+
+    def getItemCalled(self, key):
+        if self._errorToRaise:
+            self._raiseError()
+        m = MockObject(stableReturnValues=self.stableReturnValues)
+        self.getItemCalls.append((key, m))
+        return m
+
+
+    def called(self, args, kw):
+        kw = tuple(sorted(kw.items()))
+        self.calls.append((args, kw))
+        if self._errorToRaise:
+            self._raiseError()
+        else:
+            rv = [x[2] for x in self.callReturns if (x[0], x[1]) == (args, kw)]
+            if rv:
+                return rv[-1]
+            rv = [x[2] for x in self.callReturns 
+                  if not x[0] and x[1] == (('_mockAll', True),)]
+            if rv:
+                return rv[-1]
+            else:
+                if self.returnValue is not self.noReturnValue:
+                    return self.returnValue
+                if self.stableReturnValues:
+                    self.returnValue = MockObject(stableReturnValues=True)
+                    return self.returnValue
+                return MockObject()
+
+    def getCalls(self):
+        return self.calls
+
+    def popCall(self):
+        call =  self.calls[0]
+        self.calls = self.calls[1:]
+        return call
+
+class MockInstance(MockObject):
+
+    def __init__(self, superClass, **kw):
+        MockObject.__init__(self, **kw)
+        self._mock.superClass = superClass
+
+def attach(obj):
+    if hasattr(obj, '__setattr__'):
+        oldsetattr = obj.__setattr__
+    if hasattr(obj, '__getattribute__'):
+        oldgetattr = obj.__getattribute__
+
+    def __setattr__(self, key, value):
+        if not isinstance(getattr(self, key), mock.MockObject()):
+            oldsetattr(key, value)
+
+    def __getattribute__(self, key):
+        if not hasattr(self, key):
+            oldsetattr(key, mock.MockObject())
+        return oldgetattr(key)
+    oldsetattr('__setattr__', new.instancemethod(__setattr__, obj,
+                                                 obj.__class__))
+    oldsetattr('__getattribute__', new.instancemethod(__getattribute__, obj, obj.__class__))
+
+def mockMethod(method):
+    self = method.im_self
+    name = method.__name__
+    origMethod = getattr(self, name)
+    setattr(self, name, MockObject())
+    getattr(self, name)._mock.method = origMethod
+    getattr(self, name)._mock.origValue = origMethod
+    _mocked.append((self, name))
+    return getattr(self, name)
+
+def mock(obj, attr):
+    m = MockObject()
+    if hasattr(obj, attr):
+        m._mock.origValue = getattr(obj, attr)
+    setattr(obj, attr, m)
+    _mocked.append((obj, attr))
+
+def unmockAll():
+    for obj, attr in _mocked:
+        if not hasattr(getattr(obj, attr), '_mock'):
+            continue
+        setattr(obj, attr, getattr(obj, attr)._mock.origValue)
+    _mocked[:] = []
+
+def mockClass(class_, *args, **kw):
+    commands = []
+    runInit = kw.pop('mock_runInit', False)
+    for k, v in kw.items():
+        if k.startswith('mock_'):
+            if not isinstance(v, (list, tuple)):
+                v = [v]
+            commands.append((k[5:], v))
+            kw.pop(k)
+    class _MockClass(MockInstance, class_):
+        def __init__(self, *a, **k):
+            MockInstance.__init__(self, class_, *args, **kw)
+            if runInit:
+                self._mock.enableByDefault()
+                class_.__init__(self, *a, **k)
+            self._mock.called(a, k)
+            for command, params in commands:
+                getattr(self._mock, command)(*params)
+
+    return _MockClass
+
+def mockFunctionOnce(obj, attr, returnValue):
+    newFn = lambda *args, **kw: returnValue
+    return replaceFunctionOnce(obj, attr, newFn)
+
+def replaceFunctionOnce(obj, attr, newFn):
+    curValue = getattr(obj, attr)
+    def restore():
+        setattr(obj, attr, curValue)
+
+    def fun(*args, **kw):
+        restore()
+        return newFn(*args, **kw)
+    setattr(obj, attr, fun)
+    fun.func_name = attr
+    fun.restore = restore
diff --git a/test/slehelp.py b/test/slehelp.py
new file mode 100644
--- /dev/null
+++ b/test/slehelp.py
@@ -0,0 +1,33 @@
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+import testsuite
+testsuite.setup()
+
+import rmakehelp
+
+from updateBot import config
+
+class Helper(rmakehelp.RmakeHelper):
+    def setUp(self):
+        rmakehelp.RmakeHelper.setUp(self)
+        self.updateBotCfg = config.UpdateBotConfig(False)
+        self.cfg.user = ('test', 'test')
+        self.writeFile(self.cfg.root + '/conaryrc', '')
+
+    def initializeFlavor(self):
+        pass
+
+    def prepopulateKeyCache(self, keyCache):
+        pass
diff --git a/test/smoketest/Makefile b/test/smoketest/Makefile
new file mode 100644
--- /dev/null
+++ b/test/smoketest/Makefile
@@ -0,0 +1,13 @@
+MYDIR=$(shell basename `pwd`)
+
+test:
+	cd .. && ./testsuite.py $(MYDIR)
+
+debug:
+	cd .. && ./testsuite.py $(MYDIR) --debug
+
+coverage:
+	rm -rf annotate;
+	cd .. && ./testsuite.py $(MYDIR) --coverage
+	mv ../annotate .
+
diff --git a/test/smoketest/__init__.py b/test/smoketest/__init__.py
new file mode 100644
diff --git a/test/testsetup.py b/test/testsetup.py
new file mode 100644
--- /dev/null
+++ b/test/testsetup.py
@@ -0,0 +1,20 @@
+import os
+import sys
+dirlevel = 0;
+curDir = os.path.dirname(__file__)
+testsuitePath = os.path.realpath(curDir + '/..' * dirlevel)
+while (not os.path.exists(testsuitePath + '/testsuite.py') and dirlevel < 10):
+    dirlevel+=1
+    testsuitePath = os.path.realpath(curDir + '/..' * dirlevel)
+
+if dirlevel == 10:
+    raise RuntimeError('Could not find testsuite.py!')
+if not testsuitePath in sys.path:
+    sys.path.insert(0, testsuitePath)
+
+import testsuite
+testsuite.setup()
+
+def main():
+    if sys._getframe(1).f_globals['__name__'] == '__main__':
+        testsuite.main()
diff --git a/test/testsuite.py b/test/testsuite.py
new file mode 100755
--- /dev/null
+++ b/test/testsuite.py
@@ -0,0 +1,185 @@
+#!/usr/bin/python
+# -*- mode: python -*-
+#
+# Copyright (c) 2006-2007 rPath, Inc.  All Rights Reserved.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+import sys
+import os
+import pwd
+
+archivePath = None
+testPath = None
+pluginPath = None
+nodePath = None
+
+conaryDir = None
+_setupPath = None
+_individual = False
+
+def isIndividual():
+    global _individual
+    return _individual
+
+def setup():
+    global _setupPath
+    if _setupPath:
+        return _setupPath
+    global testPath
+    global archivePath
+    global pluginPath
+    global nodePath
+    global rmakePath
+
+    # set default SLEESTACK_PATH, if it was not set.
+    parDir = '/'.join(os.path.realpath(__file__).split('/')[:-1])
+    parDir = os.path.dirname(parDir)
+    mirrorballPath = os.getenv('SLEESTACK_PATH', parDir)
+    os.environ['SLEESTACK_PATH'] = mirrorballPath
+
+    def setPathFromEnv(variable, directory):
+        parDir = '/'.join(os.path.realpath(__file__).split('/')[:-2])
+        parDir = os.path.dirname(parDir) + '/' + directory
+        thisPath = os.getenv(variable, parDir)
+        os.environ[variable] = thisPath
+        if thisPath not in sys.path:
+            sys.path.insert(0, thisPath)
+        return thisPath
+
+    # set default CONARY_PATH, if it was not set.
+    conaryPath = setPathFromEnv('CONARY_PATH', 'conary')
+
+    # set default CONARY_TEST_PATH, if it was not set.
+    conaryTestPath = setPathFromEnv('CONARY_TEST_PATH', 'conary-test')
+
+    # set default RMAKE_PATH, if it was not set.
+    rmakePath = setPathFromEnv('RMAKE_PATH', 'rmake')
+
+    # set default RMAKE_TEST_PATH, if it was not set.
+    rmakeTestPath = setPathFromEnv('RMAKE_TEST_PATH', 'rmake-private/test')
+
+    testDir = os.path.dirname(os.path.realpath(__file__))
+
+    # Insert the following paths into the python path and sys path in
+    # listed order.
+    paths = (mirrorballPath, rmakePath, testDir, conaryPath, conaryTestPath,
+             rmakeTestPath)
+    pythonPath = os.environ.get('PYTHONPATH', "")
+    for p in reversed(paths):
+        if p in sys.path:
+            sys.path.remove(p)
+        sys.path.insert(0, p)
+    for p in paths:
+        if p not in pythonPath:
+            pythonPath = os.pathsep.join((pythonPath, p))
+    os.environ['PYTHONPATH'] = pythonPath
+
+    if isIndividual():
+        serverDir = '/tmp/conary-server'
+        if os.path.exists(serverDir) and not os.path.access(serverDir, os.W_OK):
+            serverDir = serverDir + '-' + pwd.getpwuid(os.getuid())[0]
+        os.environ['SERVER_FILE_PATH'] = serverDir
+
+    invokedAs = sys.argv[0]
+    if invokedAs.find("/") != -1:
+        if invokedAs[0] != "/":
+            invokedAs = os.getcwd() + "/" + invokedAs
+        path = os.path.dirname(invokedAs)
+    else:
+        path = os.getcwd()
+
+    import testhelp
+    from conary_test import resources
+    testPath = testhelp.getTestPath()
+    archivePath = testPath + '/' + "archive"
+    resources.archivePath = archivePath
+
+    pluginPath = os.path.realpath(testPath + '/../../rmake-private/rmake_plugins')
+    nodePath = os.path.realpath(pluginPath + '/..')
+    if nodePath not in sys.path:
+        sys.path.insert(0, nodePath)
+
+    global conaryDir
+    conaryDir = os.environ['CONARY_PATH']
+
+    from conary.lib import util
+    sys.excepthook = util.genExcepthook(True)
+
+    # import tools normally expected in testsuite.
+    from testhelp import context, TestCase, findPorts, SkipTestException
+    sys.modules[__name__].context = context
+    sys.modules[__name__].TestCase = TestCase
+    sys.modules[__name__].findPorts = findPorts
+    sys.modules[__name__].SkipTestException = SkipTestException
+
+    _setupPath = testPath
+    return testPath
+
+_individual = False
+
+def isIndividual():
+    global _individual
+    return _individual
+
+def getCoverageDirs(handler, environ):
+    basePath = os.environ['SLEESTACK_PATH']
+    coverageDirs = [ 'updateBot', 'rpmimport', 'repomd', ]
+
+    coveragePath = []
+    for path in coverageDirs:
+        covaregePath.append(os.path.normpath(os.path.join(basePath, path)))
+
+    return coveragePath
+
+def getCoverageExclusions(self, environ):
+    return ['test/.*']
+
+def sortTests(tests):
+    order = {'smoketest': 0, 
+             'unit_test' :1,
+             'functionaltest':2}
+    maxNum = len(order)
+    tests = [ (test,test.index('test')) for test in tests]
+    tests = sorted((order.get(test[:index+4], maxNum), test)
+                   for (test, index) in tests)
+    tests = [ x[1] for x in tests ]
+    return tests
+
+def main(argv=None, individual=True):
+    import testhelp
+    handlerClass = testhelp.getHandlerClass(testhelp.ConaryTestSuite,
+                                            getCoverageDirs,
+                                            getCoverageExclusions,
+                                            sortTests)
+    global _individual
+    _individual = individual
+    if argv is None:
+        argv = list(sys.argv)
+    topdir = testhelp.getTestPath()
+    cwd = os.getcwd()
+    if cwd != topdir and cwd not in sys.path:
+        sys.path.insert(0, cwd)
+
+    handler = handlerClass(individual=individual, topdir=topdir,
+                           testPath=testPath, conaryDir=conaryDir)
+    results = handler.main(argv)
+    if results is None:
+        sys.exit(0)
+    sys.exit(not results.wasSuccessful())
+
+if __name__ == '__main__':
+    setup()
+    from conary.lib import util
+    from conary.lib import coveragehook
+    sys.excepthook = util.genExcepthook(True)
+    main(sys.argv, individual=False)
diff --git a/test/unit_test/Makefile b/test/unit_test/Makefile
new file mode 100644
--- /dev/null
+++ b/test/unit_test/Makefile
@@ -0,0 +1,13 @@
+MYDIR=$(shell basename `pwd`)
+
+test:
+	cd .. && ./testsuite.py $(MYDIR)
+
+debug:
+	cd .. && ./testsuite.py $(MYDIR) --debug
+
+coverage:
+	rm -rf annotate;
+	cd .. && ./testsuite.py $(MYDIR) --coverage
+	mv ../annotate .
+
diff --git a/test/unit_test/__init__.py b/test/unit_test/__init__.py
new file mode 100644

From johnsonm@rpath.com Wed Aug 19 18:20:31 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKVOB010330
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:31 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKVYg012638
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:31 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKVk2028007
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:31 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAws024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:33 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLctpD013970
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:05 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLctpD013970@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:55 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:32 -0000

changeset:   3f3ccc0601d3
user:        Matt Wilson <https://issues.rpath.com/>
date:        Wed, 28 May 2008 19:05:26 -0400

branch merge

committer: Matt Wilson <https://issues.rpath.com/>


From johnsonm@rpath.com Wed Aug 19 18:20:32 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKWI4010333
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:32 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKW9k012641
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:32 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKVIt028011
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:31 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAwu024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:34 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeqVG018753
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:53 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeqVG018753@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:52 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:32 -0000

changeset:   c693a611a02e
user:        Jeff Uphoff <https://issues.rpath.com/>
date:        Tue, 23 Sep 2008 16:35:52 -0400

branch merge

committer: Jeff Uphoff <https://issues.rpath.com/>


From johnsonm@rpath.com Wed Aug 19 18:20:34 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKY3W010344
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:34 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKYJo012647
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:34 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKYhx028015
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:34 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAww024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:36 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLerTG018804
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:56 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLerTG018804@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:53 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:35 -0000

changeset:   3ce442ff97ac
user:        Jeff Uphoff <https://issues.rpath.com/>
date:        Wed, 24 Sep 2008 13:21:56 -0400

branch merge

committer: Jeff Uphoff <https://issues.rpath.com/>


From johnsonm@rpath.com Wed Aug 19 18:20:36 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKZOV010349
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:35 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKZWw012659
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:35 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKZ1f028023
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:35 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAx0024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:37 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeZxl018039
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:38 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeZxl018039@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:35 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:36 -0000

changeset:   d5af50aa7296
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 02 Sep 2008 23:13:37 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>


From johnsonm@rpath.com Wed Aug 19 18:20:36 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKafX010352
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:36 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKaf0012662
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:36 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKZq8028026
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:36 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAx2024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:38 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeXES017971
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:36 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeXES017971@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:33 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:36 -0000

changeset:   f486d9a96ba2
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 28 Aug 2008 19:08:40 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>


From johnsonm@rpath.com Wed Aug 19 18:20:37 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKaw8010356
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:37 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKaRn012665
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:36 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKaSC028032
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:36 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAx4024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:38 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLebQ1018124
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:40 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLebQ1018124@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:37 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:37 -0000

changeset:   effdb12654aa
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 05 Sep 2008 11:44:22 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>


From johnsonm@rpath.com Wed Aug 19 18:20:38 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKc66010369
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:38 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKbga012677
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:38 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKbDf028040
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:37 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAx6024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:39 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLegxR018328
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:43 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLegxR018328@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:41 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:39 -0000

changeset:   8c7a15eda13b
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 08 Sep 2008 22:06:34 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>


From johnsonm@rpath.com Wed Aug 19 18:20:39 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKd05010381
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:39 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKdFi012693
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:39 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKcOZ028046
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:38 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAx8024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:40 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeilh018447
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:47 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeilh018447@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:44 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:40 -0000

changeset:   5c714570a46c
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 10 Sep 2008 20:17:06 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>


From johnsonm@rpath.com Wed Aug 19 18:20:41 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKfWQ010390
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:41 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKf2T012707
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:41 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKfw6028055
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:41 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxA024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:41 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLekvh018515
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:46 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLekvh018515@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:46 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:41 -0000

changeset:   f6951a0e5501
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 11 Sep 2008 15:52:44 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>


From johnsonm@rpath.com Wed Aug 19 18:20:43 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKgSg010397
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:42 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKgD3012716
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:42 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKg5M028059
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:42 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxC024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:44 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLepAU018719
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:52 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLepAU018719@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:51 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:43 -0000

changeset:   8edd4d7a4603
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 23 Sep 2008 16:31:26 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>


From johnsonm@rpath.com Wed Aug 19 18:20:43 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKhxr010403
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:43 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKhd5012719
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:43 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKh9n028063
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:43 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxE024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:45 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfD1I019573
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:13 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfD1I019573@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:13 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:43 -0000

changeset:   e6e2db8bc3f5
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 30 Oct 2008 13:10:05 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>


From johnsonm@rpath.com Wed Aug 19 18:20:44 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKieJ010409
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:44 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKiZk012729
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:44 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKhAD028071
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:44 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxG024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:46 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgYZB022830
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:34 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgYZB022830@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:34 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:45 -0000

changeset:   9f3228960939
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 16 Mar 2009 11:26:59 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>


From johnsonm@rpath.com Wed Aug 19 18:20:45 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKioh010414
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:45 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKidJ012730
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:44 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKiBn028073
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:44 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxI024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:46 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgoqR023494
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:51 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgoqR023494@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:50 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:46 -0000

changeset:   f47d4f09d3c5
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 01 May 2009 13:16:07 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>


From johnsonm@rpath.com Wed Aug 19 18:20:46 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKkKC010422
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:46 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKjwE012739
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:45 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKjhh028094
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:45 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxK024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:48 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLh7UL024192
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:08 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLh7UL024192@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:07 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:48 -0000

changeset:   3d722e13c18c
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 27 Jul 2009 15:36:01 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>


From johnsonm@rpath.com Wed Aug 19 18:20:46 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKkN9010423
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:46 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKk85012744
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:46 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKkgC028100
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:46 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxM024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:48 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgduS023034
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:39 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgduS023034@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:39 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: set a rate limit
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:48 -0000

changeset:   fe9baa287dab
user:        Matt Wilson <https://issues.rpath.com/>
date:        Tue, 31 Mar 2009 14:17:37 -0400

set a rate limit

committer: Matt Wilson <https://issues.rpath.com/>


From johnsonm@rpath.com Wed Aug 19 18:20:47 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKlF8010433
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:47 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKkgf012753
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:46 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKkgc028110
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:46 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxO024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:49 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLe961016966
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:12 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLe961016966@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:08 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix perms
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:48 -0000

changeset:   f9eb73a3f6b1
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Wed, 13 Aug 2008 14:23:50 -0400

fix perms

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/scripts/sync-ubuntu.sh b/scripts/sync-ubuntu.sh
old mode 100644
new mode 100755

From johnsonm@rpath.com Wed Aug 19 18:20:48 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKlLw010435
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:48 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKlXB012757
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:47 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKlQA028116
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:47 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxQ024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:49 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLf3Dd019196
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:03 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLf3Dd019196@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:03 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: make excutable
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:49 -0000

changeset:   6d9d60f123a2
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 22 Oct 2008 15:55:24 -0400

make excutable

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/findbinaries.py b/scripts/findbinaries.py
old mode 100644
new mode 100755

From johnsonm@rpath.com Wed Aug 19 18:20:49 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKmop010441
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:48 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKmsA012763
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:48 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKmIX028131
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:48 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxS024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:50 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLen2A018651
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:49 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLen2A018651@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:49 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add init
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:50 -0000

changeset:   f9402bc0d6bf
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 15 Sep 2008 16:11:07 -0400

add init

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/test/unit_test/aptmdtest/__init__.py b/test/unit_test/aptmdtest/__init__.py
new file mode 100644

From johnsonm@rpath.com Wed Aug 19 18:20:50 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKo8c010452
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:50 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKn7N012775
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:50 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKnox028150
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:49 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxW024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:52 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLd4Bc014377
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:11 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLd4Bc014377@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:04 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add missing __init__.py file
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:51 -0000

changeset:   733b04669420
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 02 Jun 2008 21:27:32 -0400

add missing __init__.py file

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/test/unit_test/updatebottest/__init__.py b/test/unit_test/updatebottest/__init__.py
new file mode 100644

From johnsonm@rpath.com Wed Aug 19 18:20:49 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKnW1010447
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:49 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKnY8012772
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:49 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKntD028141
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:49 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxU024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:51 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdsYS016368
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:57 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdsYS016368@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:54 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: this doesn't need to be executable
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:51 -0000

changeset:   9c08fced6801
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 10 Jul 2008 10:31:34 -0400

this doesn't need to be executable

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/rpmsource.py b/updatebot/rpmsource.py
old mode 100755
new mode 100644

From johnsonm@rpath.com Wed Aug 19 18:20:51 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKpHv010458
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:51 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKpVI012785
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:51 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKpwG028155
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:51 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxY024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:52 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcrMW013909
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:03 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLcrMW013909@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:53 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add m4
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:51 -0000

changeset:   e482df1665b1
user:        Matt Wilson <https://issues.rpath.com/>
date:        Wed, 28 May 2008 14:17:38 -0400

add m4

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -125,6 +125,7 @@
     'logrotate',
     'lvm2',
     'lzo',
+    'm4',
     'make',
     'mdadm',
     'mingetty',

From johnsonm@rpath.com Wed Aug 19 18:20:52 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKqJO010474
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:52 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKqXm012792
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:52 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKqx9028160
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:52 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxa024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:54 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfgGx020753
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:42 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfgGx020753@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:42 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove syntax error
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:53 -0000

changeset:   6419a4c9d369
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 19 Nov 2008 21:14:32 -0500

remove syntax error

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/pmap/ubuntu.py b/pmap/ubuntu.py
--- a/pmap/ubuntu.py
+++ b/pmap/ubuntu.py
@@ -27,5 +27,3 @@
         self._states.update({
 
         })
-
-    def 

From johnsonm@rpath.com Wed Aug 19 18:20:54 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKsVE010489
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:54 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKsjd012813
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:54 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKr4T028168
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:54 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxc024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:55 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfBxX019488
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:12 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfBxX019488@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:11 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix typo
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:55 -0000

changeset:   2e6b128b5e81
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 29 Oct 2008 16:40:45 -0400

fix typo

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/buildgroups b/scripts/buildgroups
--- a/scripts/buildgroups
+++ b/scripts/buildgroups
@@ -16,4 +16,4 @@
 
 print "built:\n"
 
-display(groupTrvMap)
+display(grpTrvMap)

From johnsonm@rpath.com Wed Aug 19 18:20:55 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKtKT010497
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:55 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKs4C012825
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:54 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKsHP028172
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:54 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxe024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:56 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcxwB014159
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:07 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLcxwB014159@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:59 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:55 -0000

changeset:   594e2b887f9a
user:        Elliot Peele <http://issues.rpath.com/>
date:        Fri, 30 May 2008 15:51:38 -0400

branch merge

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -135,6 +135,7 @@
     'libxml2-python',
     'libxslt',
     'logrotate',
+    'lsof',
     'lvm2',
     'lzo',
     'm4',

From johnsonm@rpath.com Wed Aug 19 18:20:56 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKu0J010505
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:56 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKtks012834
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:55 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKt8N028182
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:55 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxg024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:57 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLg0uT021468
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:01 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLg0uT021468@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:00 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:56 -0000

changeset:   20934770f9dc
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 16 Dec 2008 18:10:17 -0500

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/mirror.py b/scripts/mirror.py
--- a/scripts/mirror.py
+++ b/scripts/mirror.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2.6
+#!/usr/bin/python
 #
 # Copyright (c) 2008 rPath, Inc.
 #

From johnsonm@rpath.com Wed Aug 19 18:20:56 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKunb010513
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:56 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKuEr012840
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:56 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKt4R028188
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:55 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxi024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:58 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLg0J7021485
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:01 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLg0J7021485@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:00 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:57 -0000

changeset:   666c2003c8a5
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 16 Dec 2008 18:43:00 -0500

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/mirror.py b/scripts/mirror.py
--- a/scripts/mirror.py
+++ b/scripts/mirror.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2.6
+#!/usr/bin/python
 #
 # Copyright (c) 2008 rPath, Inc.
 #

From johnsonm@rpath.com Wed Aug 19 18:20:57 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKvEs010518
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:57 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKuVJ012850
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:56 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKuq5028194
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:56 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxk024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:59 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLg1n1021502
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:02 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLg1n1021502@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:01 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:57 -0000

changeset:   6a7d2b029f1b
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 16 Dec 2008 18:45:26 -0500

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/mirror.py b/scripts/mirror.py
--- a/scripts/mirror.py
+++ b/scripts/mirror.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2.6
+#!/usr/bin/python
 #
 # Copyright (c) 2008 rPath, Inc.
 #

From johnsonm@rpath.com Wed Aug 19 18:20:58 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKwoa010527
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:58 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKwVk012856
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:58 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKvED028199
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:57 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxm024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:00 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLg27l021570
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:03 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLg27l021570@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:02 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:20:59 -0000

changeset:   d9c2c5d09f9b
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 12 Jan 2009 16:57:04 -0500

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/mirror.py b/scripts/mirror.py
--- a/scripts/mirror.py
+++ b/scripts/mirror.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2.6
+#!/usr/bin/python
 #
 # Copyright (c) 2008 rPath, Inc.
 #

From johnsonm@rpath.com Wed Aug 19 18:21:00 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMKxal010540
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:20:59 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMKxhb012871
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:59 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMKweN028204
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:20:59 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxo024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:00 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcwV0014119
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:07 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLcwV0014119@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:58 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add lsof (SLE-93)
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:00 -0000

changeset:   e9c24a0eb964
user:        Matt Wilson <https://issues.rpath.com/>
date:        Thu, 29 May 2008 10:09:42 -0400

add lsof (SLE-93)

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -123,6 +123,7 @@
     'libxml2-python',
     'libxslt',
     'logrotate',
+    'lsof',
     'lvm2',
     'lzo',
     'm4',

From johnsonm@rpath.com Wed Aug 19 18:21:01 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JML1Ha010547
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:01 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JML0Tq012888
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:00 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JML0il028212
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:00 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxq024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:01 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfKIX019916
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:21 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfKIX019916@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:20 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: revert 2.6 commit
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:01 -0000

changeset:   94dda597a250
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 14 Nov 2008 16:32:37 -0500

revert 2.6 commit

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/pkgsource.py b/scripts/pkgsource.py
--- a/scripts/pkgsource.py
+++ b/scripts/pkgsource.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2.6
+#!/usr/bin/python
 
 import os
 import sys

From johnsonm@rpath.com Wed Aug 19 18:21:01 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JML1Z7010550
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:01 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JML1Xb012891
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:01 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JML1eS028217
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:01 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxs024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:03 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgN8Z022387
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:23 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgN8Z022387@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:23 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: build script now exits on error
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:02 -0000

changeset:   1e5bb324a9b2
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 09 Feb 2009 10:51:41 -0500

build script now exits on error

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/build b/scripts/build
--- a/scripts/build
+++ b/scripts/build
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -e
 #
 # Copyright (c) 2009 rPath, Inc.
 #

From johnsonm@rpath.com Wed Aug 19 18:21:02 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JML2v6010555
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:02 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JML2aC012897
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:02 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JML2HI028222
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:02 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxw024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:04 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdQtH015328
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:35 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdQtH015328@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:26 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: ignore pylint reports in status messages
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:03 -0000

changeset:   5fd973eae61f
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 17 Jun 2008 11:01:41 -0400

ignore pylint reports in status messages

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -7,3 +7,4 @@
 .*\/testsetup\.py$
 .*\/\.times$
 .*\/\.coverage\/.*
+^pylint\/reports

From johnsonm@rpath.com Wed Aug 19 18:21:02 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JML2Wi010554
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:02 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JML2A6012896
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:02 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JML1lc028220
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:01 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAxu024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:04 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdRZv015345
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:36 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdRZv015345@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:27 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: import rmtree
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:03 -0000

changeset:   568408ad3828
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 17 Jun 2008 11:29:34 -0400

import rmtree

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/util.py b/updatebot/util.py
--- a/updatebot/util.py
+++ b/updatebot/util.py
@@ -17,6 +17,7 @@
 """
 
 import os
+from conary.lib.util import rmtree
 
 from rpmvercmp import rpmvercmp
 

From johnsonm@rpath.com Wed Aug 19 18:21:04 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JML39R010567
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:03 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JML3gs012905
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:03 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JML3Qe028229
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:03 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA00024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:05 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLg0bx021451
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:01 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLg0bx021451@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:00 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: don't use python2.6
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:06 -0000

changeset:   dec2b3a9d29e
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 15 Dec 2008 14:34:54 -0500

don't use python2.6

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/mirror.py b/scripts/mirror.py
--- a/scripts/mirror.py
+++ b/scripts/mirror.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2.6
+#!/usr/bin/python
 #
 # Copyright (c) 2008 rPath, Inc.
 #

From johnsonm@rpath.com Wed Aug 19 18:21:05 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JML405010575
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:04 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JML4bU012917
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:04 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JML3ZL028235
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:04 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA02024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:06 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLctuZ013946
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:04 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLctuZ013946@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:54 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add sendmail (SLE-90)
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:06 -0000

changeset:   30ff6d5e8a66
user:        Matt Wilson <https://issues.rpath.com/>
date:        Wed, 28 May 2008 19:05:11 -0400

add sendmail (SLE-90)

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -173,6 +173,7 @@
     'resmgr',
     'samba',
     'sed',
+    'sendmail',
     'slang',
     'sles-release',
     'strace',

From johnsonm@rpath.com Wed Aug 19 18:21:05 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JML5Wu010579
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:05 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JML4NE012918
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:04 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JML4gE028237
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:04 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA04024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:06 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfAX9019471
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:11 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfAX9019471@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:10 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: cleanup after bad merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:06 -0000

changeset:   0065b7441510
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 29 Oct 2008 16:05:33 -0400

cleanup after bad merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/buildgroups b/scripts/buildgroups
--- a/scripts/buildgroups
+++ b/scripts/buildgroups
@@ -16,4 +16,4 @@
 
 print "built:\n"
 
-def displayTrove(nvf):
+display(groupTrvMap)

From johnsonm@rpath.com Wed Aug 19 18:21:06 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JML6w7010585
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:06 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JML5Y4012933
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:05 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JML5dn028243
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:05 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA06024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:07 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdP4f015276
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:35 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdP4f015276@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:25 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add more files to ignore
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:07 -0000

changeset:   aa6f020f7462
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 16 Jun 2008 18:23:04 -0400

add more files to ignore

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -1,3 +1,9 @@
 (^|/)\.hg($|/)
 .*\.pyc$
 .*\~$
+.*\,cover$
+.*\.swp$
+.*\.orig$
+.*\/testsetup\.py$
+.*\/\.times$
+.*\/\.coverage\/.*

From johnsonm@rpath.com Wed Aug 19 18:21:07 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JML6tR010588
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:06 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JML6du012936
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:06 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JML6bS028249
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:06 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA08024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:08 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeLqJ017477
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:26 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeLqJ017477@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:21 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove epdb
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:07 -0000

changeset:   7089cbcc94dc
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Mon, 18 Aug 2008 22:03:47 -0400

remove epdb

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/scripts/update.py b/scripts/update.py
--- a/scripts/update.py
+++ b/scripts/update.py
@@ -17,5 +17,3 @@
 cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/sles/updatebotrc')
 obj = bot.Bot(cfg)
 obj.update()
-
-import epdb ; epdb.st()

From johnsonm@rpath.com Wed Aug 19 18:21:08 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JML8HV010597
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:08 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JML7HQ012946
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:07 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JML7nc028252
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:07 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0A024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:09 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLge9l023068
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:40 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLge9l023068@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:40 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:10 -0000

changeset:   f9aaff972e1f
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 31 Mar 2009 14:21:20 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/build b/scripts/build
--- a/scripts/build
+++ b/scripts/build
@@ -21,5 +21,5 @@
 
 ./buildpackages $platform $pkgs
 ./buildgroups $platform
-./promote.py $platform
-./mirror.py $platform
+./promote $platform
+./mirror $platform

From johnsonm@rpath.com Wed Aug 19 18:21:10 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JML9TP010614
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:10 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JML988012965
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:09 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JML9dm028262
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:09 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0G024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:11 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfIpc019812
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:19 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfIpc019812@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:18 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add missing import
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:14 -0000

changeset:   add34f58002b
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 07 Nov 2008 13:25:15 -0500

add missing import

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/auto_update b/scripts/auto_update
--- a/scripts/auto_update
+++ b/scripts/auto_update
@@ -13,6 +13,7 @@
 # full details.
 #
 
+import os
 from updatebot import bot, config
 
 def validatePlatform(platform, configDir):

From johnsonm@rpath.com Wed Aug 19 18:21:10 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLAQG010620
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:10 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JML9Gr012970
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:10 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JML9bR028268
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:09 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0I024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:12 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgckc023017
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:39 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgckc023017@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:38 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix script names
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:14 -0000

changeset:   4aef7e72f84d
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 26 Mar 2009 12:07:29 -0400

fix script names

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/build b/scripts/build
--- a/scripts/build
+++ b/scripts/build
@@ -21,5 +21,5 @@
 
 ./buildpackages $platform $pkgs
 ./buildgroups $platform
-./promote.py $platform
-./mirror.py $platform
+./promote $platform
+./mirror $platform

From johnsonm@rpath.com Wed Aug 19 18:21:10 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JML9e5010613
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:09 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JML96D012964
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:09 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JML8PL028261
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:09 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0E024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:11 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgAF5021860
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:11 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgAF5021860@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:10 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix typo
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:14 -0000

changeset:   3a7112c7bb89
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 23 Jan 2009 14:15:09 -0500

fix typo

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/pcheck.py b/scripts/pcheck.py
--- a/scripts/pcheck.py
+++ b/scripts/pcheck.py
@@ -98,4 +98,4 @@
 
 # Commit changeset.
 if okay:
-    client.repos.commitChangeSet(cs, callback=callback)
+    client.repos.commitChangeSet(cs, callback=cb)

From johnsonm@rpath.com Wed Aug 19 18:21:09 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JML8mk010608
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:08 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JML894012957
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:08 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JML89m028256
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:08 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0C024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:10 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgg6g023136
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:42 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgg6g023136@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:42 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:14 -0000

changeset:   1f06d7f32d01
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 09 Apr 2009 13:56:44 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/build b/scripts/build
--- a/scripts/build
+++ b/scripts/build
@@ -21,5 +21,5 @@
 
 ./buildpackages $platform $pkgs
 ./buildgroups $platform
-./promote.py $platform
-./mirror.py $platform
+./promote $platform
+./mirror $platform

From johnsonm@rpath.com Wed Aug 19 18:21:12 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLCWl010635
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:12 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLBpk012987
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:11 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLB1s028280
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:11 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0O024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:13 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgNBb022404
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:24 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgNBb022404@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:23 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: default to no full trove sync
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:15 -0000

changeset:   eb8d44d02495
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 09 Feb 2009 10:51:58 -0500

default to no full trove sync

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/mirror.py b/scripts/mirror.py
--- a/scripts/mirror.py
+++ b/scripts/mirror.py
@@ -17,4 +17,4 @@
 
 from updatebot import conaryhelper
 helper = conaryhelper.ConaryHelper(cfg)
-helper.mirror()
+helper.mirror(fullTroveSync=False)

From johnsonm@rpath.com Wed Aug 19 18:21:11 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLBlR010626
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:11 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLAQx012977
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:10 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLAHQ028272
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:10 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0K024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:12 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeG0q017239
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:20 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeG0q017239@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:16 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: disable too few public methods warning
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:15 -0000

changeset:   2faa9e1eaff9
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 14 Aug 2008 18:15:42 -0400

disable too few public methods warning

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/pylint/pylintrc b/pylint/pylintrc
--- a/pylint/pylintrc
+++ b/pylint/pylintrc
@@ -30,4 +30,4 @@
 include-ids=yes
 
 [MESSAGES CONTROL]
-disable-msg=W0102,W0142,I0011
+disable-msg=W0102,W0142,I0011,R0903

From johnsonm@rpath.com Wed Aug 19 18:21:11 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLBfR010627
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:11 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLAtj012980
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:10 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLArU028275
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:10 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0M024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:13 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeJhB017392
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:24 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeJhB017392@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:19 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: make jobs bigger
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:15 -0000

changeset:   9a9b4e6eca3d
user:        Elliot Peele <http://issues.rpath.com/>
date:        Fri, 15 Aug 2008 18:44:17 -0400

make jobs bigger

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -94,7 +94,7 @@
 
             jobs[id].append(trv)
 
-            if i % 10 == 0:
+            if i % 20 == 0:
                 id += 1
 
         failed = set()

From johnsonm@rpath.com Wed Aug 19 18:21:13 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLDHd010646
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:13 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLDg6012998
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:13 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLC3j028285
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:13 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0Q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:14 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdcM6015772
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:43 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdcM6015772@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:38 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix argument list error
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:16 -0000

changeset:   d4f518ef20f3
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 24 Jun 2008 14:57:10 -0400

fix argument list error

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/errors.py b/updatebot/errors.py
--- a/updatebot/errors.py
+++ b/updatebot/errors.py
@@ -141,6 +141,7 @@
     in the config.
     """
 
+    _params = []
     _template = 'Product name not defined'
 
 class NoSenderFoundError(AdvisoryError):

From johnsonm@rpath.com Wed Aug 19 18:21:16 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLFSm010652
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:15 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLEQJ013011
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:14 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLDmW028290
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:13 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0S024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:15 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLg8Op021775
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:09 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLg8Op021775@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:08 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: skip buildinfio
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:17 -0000

changeset:   c10c1188b206
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 20 Jan 2009 02:35:04 +0000

skip buildinfio

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/pcheck.py b/scripts/pcheck.py
--- a/scripts/pcheck.py
+++ b/scripts/pcheck.py
@@ -34,7 +34,8 @@
         labelMap,
         trvs,
         cloneSources=True,
-        callback=cb)
+        callback=cb,
+        updateBuildInfo=False)
 
 import epdb
 epdb.st()

From johnsonm@rpath.com Wed Aug 19 18:21:16 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLG3t010657
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:16 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLFMn013023
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:15 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLFM1028301
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:15 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0Y024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:17 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeUXl017852
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:32 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeUXl017852@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:30 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add stub
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:17 -0000

changeset:   1066f3576041
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 28 Aug 2008 10:27:53 -0400

add stub

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/cmdline/command.py b/updatebot/cmdline/command.py
--- a/updatebot/cmdline/command.py
+++ b/updatebot/cmdline/command.py
@@ -56,4 +56,5 @@
         d["verbose"] = NO_PARAM
         argDef[self.defaultGroup] = d
 
-    
+    def processConfigOptions(self, cfg, cfgMap, argSet):
+        pass

From johnsonm@rpath.com Wed Aug 19 18:21:16 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLFsQ010653
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:15 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLEX3013012
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:14 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLEDB028291
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:14 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0U024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:16 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeZsx018073
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:39 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeZsx018073@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:35 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: make sure _commands is a global
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:17 -0000

changeset:   f6494e95171a
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 03 Sep 2008 00:58:19 -0400

make sure _commands is a global

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/cmdline/command.py b/updatebot/cmdline/command.py
--- a/updatebot/cmdline/command.py
+++ b/updatebot/cmdline/command.py
@@ -23,6 +23,7 @@
 
 _commands = []
 def register(cmd):
+    global _commands
     _commands.append(cmd)
 
 

From johnsonm@rpath.com Wed Aug 19 18:21:16 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLFXc010654
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:16 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLFcZ013015
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:15 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLElG028294
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:14 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0W024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:17 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdEnr014785
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:17 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdEnr014785@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:14 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add option for telling the bot what packages to
 ignore
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:18 -0000

changeset:   810b5bcb0546
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 10 Jun 2008 16:29:39 -0400

add option for telling the bot what packages to ignore

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -37,3 +37,4 @@
 
     topGroup            = CfgTroveSpec
 
+    excludePackages     = CfgList(CfgString)

From johnsonm@rpath.com Wed Aug 19 18:21:17 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLGtI010658
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:16 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLGer013029
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:16 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLGfa028304
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:16 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0a024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:18 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgsEE023630
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:54 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgsEE023630@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:54 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: recreate all packages if none are specified
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:18 -0000

changeset:   1b181d72903f
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 05 May 2009 14:00:59 -0400

recreate all packages if none are specified

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/recreate b/scripts/recreate
--- a/scripts/recreate
+++ b/scripts/recreate
@@ -31,4 +31,8 @@
 
 pkgs = sys.argv[2:]
 
+# Recreate everything if no packages are specified.
+if not pkgs:
+    pkgs = True
+
 obj.create(recreate=pkgs)

From johnsonm@rpath.com Wed Aug 19 18:21:17 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLH6N010665
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:17 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLGSG013032
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:16 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLGff028308
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:16 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0c024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:18 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcoUf013746
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:56 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcoUf013746@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:49 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add common variable exceptions
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:19 -0000

changeset:   312766965c76
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 28 May 2008 00:35:12 -0400

add common variable exceptions

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/pylint/pylintrc b/pylint/pylintrc
--- a/pylint/pylintrc
+++ b/pylint/pylintrc
@@ -21,7 +21,7 @@
 attr-rgx=[a-z_][a-zA-Z0-9_]{2,30}$
 
 # Good variable names which should always be accepted, separated by a comma
-good-names=XmlObj,Elem
+good-names=log,_
 
 
 [REPORTS]

From johnsonm@rpath.com Wed Aug 19 18:21:18 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLIkj010679
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:18 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLIHK013037
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:18 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLHs7028312
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:17 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0e024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:20 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgwEI023800
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:58 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgwEI023800@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:58 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix typo
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:19 -0000

changeset:   982da6c553d3
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 12 May 2009 10:19:43 -0400

fix typo

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/header.py b/scripts/header.py
--- a/scripts/header.py
+++ b/scripts/header.py
@@ -16,7 +16,7 @@
 import sys
 
 mirrorballDir = os.environ['HOME'] + '/hg/mirrorball'
-sys.path.insert(0, sleestckDir)
+sys.path.insert(0, mirrorballDir)
 
 from conary.lib import util
 sys.excepthook = util.genExcepthook()

From johnsonm@rpath.com Wed Aug 19 18:21:19 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLJ1r010685
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:19 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLJr7013053
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:19 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLIkM028316
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:18 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0g024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:20 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdf8e015875
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:45 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdf8e015875@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:41 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix double slash return
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:20 -0000

changeset:   578889cc1637
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 24 Jun 2008 17:29:35 -0400

fix double slash return

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/util.py b/updatebot/util.py
--- a/updatebot/util.py
+++ b/updatebot/util.py
@@ -34,7 +34,7 @@
         root = ''
     for path in b:
         root += os.sep + os.path.normpath(path)
-    return root
+    return os.path.abspath(root)
 
 def srpmToConaryVersion(srcPkg):
     """

From johnsonm@rpath.com Wed Aug 19 18:21:20 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLJko010686
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:19 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLJqi013054
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:19 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLJTS028318
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:19 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0i024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:21 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeSIQ017784
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:32 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeSIQ017784@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:28 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: return the root logger in case it is needed
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:20 -0000

changeset:   66b71b9e19d3
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 25 Aug 2008 21:44:46 -0400

return the root logger in case it is needed

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/log.py b/updatebot/log.py
--- a/updatebot/log.py
+++ b/updatebot/log.py
@@ -37,3 +37,5 @@
     conaryLog = logging.getLogger('conary')
     for handler in conaryLog.handlers:
         conaryLog.removeHandler(handler)
+
+    return rootLog

From johnsonm@rpath.com Wed Aug 19 18:21:21 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLKKf010693
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:20 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLKFN013062
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:20 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLKKX028325
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:20 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0k024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:22 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdAO0014629
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:15 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdAO0014629@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:10 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove infomaker import
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:21 -0000

changeset:   dfa98b1beaae
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 05 Jun 2008 16:27:55 -0400

remove infomaker import

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -18,7 +18,7 @@
 import conary.lib.util
 import os
 import tempfile
-from rpmimport import infomaker, recipemaker, rpmsource, rpmhelper
+from rpmimport import recipemaker, rpmsource, rpmhelper
 import rpmvercmp
 import shutil
 import sys

From johnsonm@rpath.com Wed Aug 19 18:21:21 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLLiv010699
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:21 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLKgW013069
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:21 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLK9G028328
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:20 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0m024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:23 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLe6g5016864
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:11 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLe6g5016864@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:06 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: update sles
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:21 -0000

changeset:   2bd3f799e464
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Mon, 11 Aug 2008 16:45:54 -0400

update sles

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/scripts/update.py b/scripts/update.py
--- a/scripts/update.py
+++ b/scripts/update.py
@@ -14,7 +14,7 @@
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/sles/updatebotrc')
 obj = bot.Bot(cfg)
 obj.update()
 

From johnsonm@rpath.com Wed Aug 19 18:21:22 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLLOq010707
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:22 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLLeo013073
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:21 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLLw0028333
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:21 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0o024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:23 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdHL1014927
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:21 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdHL1014927@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:17 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: import exceptions
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:22 -0000

changeset:   a66a552d6f8f
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 11 Jun 2008 15:23:48 -0400

import exceptions

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -23,6 +23,7 @@
 from conary import conaryclient, conarycfg, trove
 
 from updatebot import util
+from updatebot.errors import TooManyFlavorsFoundError
 
 log = logging.getLogger('updatebot.conaryhelper')
 

From johnsonm@rpath.com Wed Aug 19 18:21:22 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLMW5010717
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:22 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLMFA013084
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:22 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLM1v028337
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:22 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:24 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLg5WA021656
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:05 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLg5WA021656@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:05 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: ids must be strs to join them
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:25 -0000

changeset:   cc41ae5ea31d
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 15 Jan 2009 10:39:03 -0500

ids must be strs to join them

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -322,7 +322,7 @@
         else:
             jobIds = jobId
 
-        jobIdsStr = ','.join(jobIds)
+        jobIdsStr = ','.join(map(str, jobIds))
 
         # Do the commit
         startTime = time.time()

From johnsonm@rpath.com Wed Aug 19 18:21:23 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLNb7010723
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:23 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLNVV013094
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:23 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLMa3028343
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:22 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0s024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:25 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLh2En023953
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:02 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLh2En023953@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:02 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add advisory loading
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:26 -0000

changeset:   46bf945083b1
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 08 Jun 2009 22:07:35 -0400

add advisory loading

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/pkgsource b/scripts/pkgsource
--- a/scripts/pkgsource
+++ b/scripts/pkgsource
@@ -37,3 +37,10 @@
 pkgSource.load()
 
 import epdb; epdb.st()
+
+updates = []
+for path, client in pkgSource._clients.iteritems():
+    if 'Updates' in path:
+        updates.extend(client.getUpdateInfo())
+
+import epdb; epdb.st()

From johnsonm@rpath.com Wed Aug 19 18:21:25 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLOw2010725
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:24 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLOXs013100
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:24 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLNRH028346
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:24 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0u024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:25 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeHp9017273
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:21 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeHp9017273@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:16 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: arch is amd64 on ubuntu
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:30 -0000

changeset:   cf38dcbecbbd
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 14 Aug 2008 21:03:26 -0400

arch is amd64 on ubuntu

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/aptmd/common.py b/aptmd/common.py
--- a/aptmd/common.py
+++ b/aptmd/common.py
@@ -66,7 +66,7 @@
 
     def _architecture(self):
         arch = self._getLine()
-        assert arch in ('all', 'i386', 'x86_64')
+        assert arch in ('all', 'i386', 'amd64')
         self._curObj.arch = arch
 
     def _version(self):

From johnsonm@rpath.com Wed Aug 19 18:21:26 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLOn6010726
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:25 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLOsw013103
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:24 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLOUY028351
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:24 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA0w024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:26 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgLMC022302
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:21 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgLMC022302@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:21 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix typo
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:31 -0000

changeset:   791f92045b75
user:        Elliot Peele <https://issues.rpath.com/>
date:        Sun, 08 Feb 2009 05:10:55 +0000

fix typo

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -441,7 +441,7 @@
         self.type = type
 
     def __str__(self):
-        msg = '$(name)s: %(trv)s [%(jobId)s] - '
+        msg = '%(name)s: %(trv)s [%(jobId)s] - '
         if self.type == MESSAGE_TYPES['results']:
             msg += 'done'
         else:

From johnsonm@rpath.com Wed Aug 19 18:21:26 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLQSu010729
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:26 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLPZp013108
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:26 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLPap028356
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:25 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA10024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:28 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeHuP017290
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:21 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeHuP017290@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:17 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: update logger name
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:32 -0000

changeset:   e0e3e95a9bd2
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 14 Aug 2008 21:04:43 -0400

update logger name

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/pkgsource/rpmsource.py b/updatebot/pkgsource/rpmsource.py
--- a/updatebot/pkgsource/rpmsource.py
+++ b/updatebot/pkgsource/rpmsource.py
@@ -22,7 +22,7 @@
 import repomd
 from updatebot import util
 
-log = logging.getLogger('rpmimport.rpmsource')
+log = logging.getLogger('updatebot.pkgsource')
 
 class RpmSource(object):
     """

From johnsonm@rpath.com Wed Aug 19 18:21:28 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLRaX010738
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:28 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLRXb013112
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:27 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLRIK028359
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:27 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA12024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:28 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfBr4019505
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:12 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfBr4019505@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:11 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:32 -0000

changeset:   82764c75438c
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 29 Oct 2008 16:43:27 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/header.py b/scripts/header.py
--- a/scripts/header.py
+++ b/scripts/header.py
@@ -32,7 +32,7 @@
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/%s/updatebotrc' % sys.argv[1])
 
 builder = build.Builder(cfg)
 

From johnsonm@rpath.com Wed Aug 19 18:21:29 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLSAN010743
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:28 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLSSQ013116
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:28 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLRYJ028362
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:28 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA14024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:30 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfYmG020429
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:34 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfYmG020429@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:34 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove extra print
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:33 -0000

changeset:   d075ddacc0e0
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 18 Nov 2008 12:18:38 -0500

remove extra print

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/aptmd/container.py b/aptmd/container.py
--- a/aptmd/container.py
+++ b/aptmd/container.py
@@ -19,7 +19,6 @@
         for cls in self.__class__.__mro__:
             if hasattr(cls, '__slots__'):
                 for item in cls.__slots__:
-                    print item
                     setattr(self, item, None)
 
         self._data = {}

From johnsonm@rpath.com Wed Aug 19 18:21:30 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLUD5010754
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:30 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLUTT013129
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:30 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLUf7028370
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:30 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA18024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:32 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeSIJ017750
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:32 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeSIJ017750@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:28 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add compare function for sorting by package name
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:33 -0000

changeset:   ff2e9e40bc80
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Mon, 25 Aug 2008 13:02:29 -0400

add compare function for sorting by package name

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/updatebot/util.py b/updatebot/util.py
--- a/updatebot/util.py
+++ b/updatebot/util.py
@@ -82,3 +82,10 @@
         return archcmp
 
     return 0
+
+def packageCompareByName(a, b):
+    nameCmp = cmp(a.name, b.name)
+    if nameCmp != 0:
+        return nameCmp
+
+    return packagevercmp(a, b)

From johnsonm@rpath.com Wed Aug 19 18:21:30 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLTtC010751
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:29 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLTMM013126
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:29 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLTXW028367
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:29 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA16024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:31 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdmkG016130
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:54 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdmkG016130@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:48 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add new module rpmutils
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:33 -0000

changeset:   e1d9014cad31
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 09 Jul 2008 12:00:37 -0400

add new module rpmutils

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/pylint/run_pylint b/pylint/run_pylint
--- a/pylint/run_pylint
+++ b/pylint/run_pylint
@@ -35,7 +35,7 @@
 done
 
 if [ -z "$files" ] ; then
-    files="updatebot repomd rpmimport"
+    files="updatebot repomd rpmutils"
 fi
 
 pylint --init-hook='import sys; sys.path.append("."); import init_pylint' --rcfile='../pylintrc' $pylintArgs $files

From johnsonm@rpath.com Wed Aug 19 18:21:31 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLVBE010760
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:31 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLU0w013135
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:31 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLUEx028373
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:30 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1A024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:32 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfFFW019658
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:16 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfFFW019658@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:15 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add pmap module
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:33 -0000

changeset:   f8d8d8a6bd0a
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 06 Nov 2008 20:35:35 -0500

add pmap module

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/pylint/run_pylint b/pylint/run_pylint
--- a/pylint/run_pylint
+++ b/pylint/run_pylint
@@ -35,7 +35,7 @@
 done
 
 if [ -z "$files" ] ; then
-    files="updatebot repomd rpmutils aptmd"
+    files="updatebot repomd rpmutils aptmd pmap"
 fi
 
 pylint --init-hook='import sys; sys.path.append("."); import init_pylint' --rcfile='../pylintrc' $pylintArgs $files

From johnsonm@rpath.com Wed Aug 19 18:21:32 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLVRj010764
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:32 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLVHW013138
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:31 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLVWZ028376
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:31 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1C024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:33 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLf6Qi019299
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:07 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLf6Qi019299@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:06 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: build centos groups
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:33 -0000

changeset:   9db3cbaf5af1
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 29 Oct 2008 16:02:56 -0400

build centos groups

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/buildgroups b/scripts/buildgroups
--- a/scripts/buildgroups
+++ b/scripts/buildgroups
@@ -20,7 +20,7 @@
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/centos/updatebotrc')
 
 builder = build.Builder(cfg)
 

From johnsonm@rpath.com Wed Aug 19 18:21:34 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLXnI010768
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:34 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLXZU013153
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:33 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLWMp028380
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:33 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1E024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:35 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeEqR017188
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:17 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeEqR017188@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:14 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add aptmd to pylint runs
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:35 -0000

changeset:   f0eb787f03a6
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 14 Aug 2008 18:11:06 -0400

add aptmd to pylint runs

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/pylint/run_pylint b/pylint/run_pylint
--- a/pylint/run_pylint
+++ b/pylint/run_pylint
@@ -35,7 +35,7 @@
 done
 
 if [ -z "$files" ] ; then
-    files="updatebot repomd rpmutils"
+    files="updatebot repomd rpmutils aptmd"
 fi
 
 pylint --init-hook='import sys; sys.path.append("."); import init_pylint' --rcfile='../pylintrc' $pylintArgs $files

From johnsonm@rpath.com Wed Aug 19 18:21:35 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLYHX010773
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:34 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLYP7013159
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:34 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLYoU028386
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:34 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1G024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:35 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLf4NB019231
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:04 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLf4NB019231@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:04 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove breakpoint
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:35 -0000

changeset:   6d364874c123
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 22 Oct 2008 15:22:01 -0400

remove breakpoint

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -119,7 +119,7 @@
         # Build all newly imported packages.
         trvMap, failed = self._builder.buildmany(toBuild)
 
-        import epdb; epdb.st()
+#        import epdb; epdb.st()
 
 ##        trvMap = self._builder.build(toBuild)
         #import epdb; epdb.st()

From johnsonm@rpath.com Wed Aug 19 18:21:35 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLZpG010781
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:35 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLZOC013165
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:35 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLZ4W028389
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:35 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1I024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:37 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfgB7020719
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:42 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfgB7020719@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:42 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix comment
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:35 -0000

changeset:   22884f40f0a5
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 19 Nov 2008 13:41:48 -0500

fix comment

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -137,7 +137,7 @@
             log.info('no updates available')
             return
 
-        # Populate patch source not that we know that there are updates
+        # Populate patch source now that we know that there are updates
         # available.
         self._advisor.load()
 

From johnsonm@rpath.com Wed Aug 19 18:21:36 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLaVL010792
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:36 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLasL013175
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:36 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLa8V028394
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:36 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1K024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:38 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgr3j023579
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:53 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgr3j023579@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:53 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: set threads to daemon mode
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:37 -0000

changeset:   9a5834eff44c
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 04 May 2009 15:56:34 -0400

set threads to daemon mode

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -518,6 +518,8 @@
     def __init__(self, cfg, toBuild, status, name=None, offset=0):
         Thread.__init__(self, name=name)
 
+        self.setDaemon(True)
+
         self.name = name
         self.offset = offset
         self.toBuild = toBuild

From johnsonm@rpath.com Wed Aug 19 18:21:37 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLbIB010805
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:37 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLbMu013186
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:37 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLb8k028401
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:37 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1M024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:39 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcvJZ014061
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:05 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLcvJZ014061@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:57 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add string representation of packages
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:39 -0000

changeset:   f3f5a0f64d81
user:        Elliot Peele <http://issues.rpath.com/>
date:        Fri, 30 May 2008 12:57:05 -0400

add string representation of packages

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/repomd/packagexml.py b/repomd/packagexml.py
--- a/repomd/packagexml.py
+++ b/repomd/packagexml.py
@@ -126,6 +126,9 @@
         else:
             raise UnknownElementError(child)
 
+    def __str__(self):
+        return '%(name)s-%(version)s-%(release)s' % self.__dict__
+
 
 class _RpmRequires(xmllib.BaseNode):
     '''

From johnsonm@rpath.com Wed Aug 19 18:21:39 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLcCr010811
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:38 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLcCJ013198
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:38 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLbIh028406
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:38 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1O024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:40 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdAOB014648
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:10 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdAOB014648@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:10 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: pass through base path
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:40 -0000

changeset:   b884cec984c7
user:        Elliot Peele <http://issues.rpath.com/>
date:        Sun, 08 Jun 2008 16:46:07 -0400

pass through base path

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -107,7 +107,7 @@
         """
 
         client = repomd.Client(url + '/' + basePath)
-        self.loadFromClient(client)
+        self.loadFromClient(client, basePath=basePath)
 
     def loadFromClient(self, client, basePath=''):
         """

From johnsonm@rpath.com Wed Aug 19 18:21:40 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLeI7010821
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:40 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLdlH013211
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:39 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLcf8028411
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:38 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1Q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:40 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeLAn017460
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:26 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeLAn017460@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:21 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove epdb from update code
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:40 -0000

changeset:   5657e64f809a
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Mon, 18 Aug 2008 22:03:10 -0400

remove epdb from update code

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -214,8 +214,6 @@
         newTroves = self._updater.publish(toPublish, expected,
                                           self._cfg.targetLabel)
 
-        import epdb; epdb.st()
-
         # Send advisories.
         self._advisor.send(toAdvise, newTroves)
 

From johnsonm@rpath.com Wed Aug 19 18:21:40 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLea4010827
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:40 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLep0013215
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:40 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLdPM028415
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:39 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1U024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgnVH023442
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:50 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgnVH023442@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:49 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: sort output
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:41 -0000

changeset:   e49f81ac77ce
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 27 Apr 2009 11:00:53 -0400

sort output

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/import b/scripts/import
--- a/scripts/import
+++ b/scripts/import
@@ -32,6 +32,7 @@
 import epdb ; epdb.st()
 
 for job in trvMap:
-    for source in job:
-        for bin in trvMap[source]:
-            print '%s=%s[%s]' % bin
+    for source in sorted(job):
+        for bin in job[source]:
+            if ':' not in bin[0]:
+                print '%s=%s[%s]' % bin

From johnsonm@rpath.com Wed Aug 19 18:21:40 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLebM010826
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:40 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLd7G013214
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:40 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLdNS028413
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:39 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1S024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:41 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeCnm017086
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:14 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeCnm017086@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:12 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: make sure to reset state on every line
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:41 -0000

changeset:   e7305911f0d4
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 14 Aug 2008 17:11:19 -0400

make sure to reset state on every line

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/aptmd/parser.py b/aptmd/parser.py
--- a/aptmd/parser.py
+++ b/aptmd/parser.py
@@ -25,6 +25,9 @@
                        }
 
     def tokenize(self, line):
+        self._singleQuotedString = False
+        self._doubleQuotedString = False
+
         self._list = ['']
         for char in line:
             self._cur = char

From johnsonm@rpath.com Wed Aug 19 18:21:40 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLevQ010829
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:40 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLeY8013216
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:40 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLddu028419
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:40 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1W024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcmvM013698
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:52 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcmvM013698@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:48 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: disable reporting information for tests that have
	been disabled
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:41 -0000

changeset:   dc45669e20e4
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 27 May 2008 19:44:59 -0400

disable reporting information for tests that have been disabled

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/pylint/pylintrc b/pylint/pylintrc
--- a/pylint/pylintrc
+++ b/pylint/pylintrc
@@ -24,13 +24,10 @@
 good-names=XmlObj,Elem
 
 
-
-
 [REPORTS]
 files-output=yes
 reports=yes
 include-ids=yes
 
 [MESSAGES CONTROL]
-disable-msg=W0102,W0142
-#,I0011
+disable-msg=W0102,W0142,I0011

From johnsonm@rpath.com Wed Aug 19 18:21:41 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLf0L010838
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:41 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLf9S013231
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:41 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLf7A028429
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:41 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1Y024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:43 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeisU018430
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:46 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeisU018430@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:44 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:43 -0000

changeset:   95e5e9462fa2
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 10 Sep 2008 18:37:09 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/pkgsource.py b/scripts/pkgsource.py
--- a/scripts/pkgsource.py
+++ b/scripts/pkgsource.py
@@ -21,7 +21,7 @@
 from updatebot import pkgsource
 
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/sles/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
 
 pkgSource = pkgsource.PackageSource(cfg)
 

From johnsonm@rpath.com Wed Aug 19 18:21:43 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLhTH010850
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:43 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLgYv013244
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:42 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLgCr028438
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:42 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1c024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:45 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeJow017375
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:24 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeJow017375@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:19 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: switch to importing ubuntu
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:45 -0000

changeset:   3cdeeb7d64f1
user:        Elliot Peele <http://issues.rpath.com/>
date:        Fri, 15 Aug 2008 18:43:45 -0400

switch to importing ubuntu

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/scripts/import.py b/scripts/import.py
--- a/scripts/import.py
+++ b/scripts/import.py
@@ -27,7 +27,7 @@
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/opensuse/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
 obj = bot.Bot(cfg)
 trvMap = obj.create()
 

From johnsonm@rpath.com Wed Aug 19 18:21:42 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLgWO010846
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:42 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLgHc013240
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:42 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLg1W028434
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:42 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1a024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:44 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfQdB020137
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:26 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfQdB020137@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:26 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: correct comment
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:45 -0000

changeset:   30fdf9bb80bc
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 14 Nov 2008 19:06:17 -0500

correct comment

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/common.py b/updatebot/advisories/common.py
--- a/updatebot/advisories/common.py
+++ b/updatebot/advisories/common.py
@@ -198,7 +198,7 @@
         self._cfg = cfg
         self._pkgSource = pkgSource
 
-        # { binPkg: patchObj }
+        # { binPkg: set([patchObj, ...]) }
         self._pkgMap = dict()
 
         # { patchObj: set([srcPkg, ...] }

From johnsonm@rpath.com Wed Aug 19 18:21:44 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLi8v010859
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:44 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLih7013250
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:44 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLhiq028443
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:43 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1e024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:45 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcvZd014042
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:05 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLcvZd014042@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:57 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: run pylint on rpmimport as well
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:47 -0000

changeset:   5703c6f3e06a
user:        Elliot Peele <http://issues.rpath.com/>
date:        Fri, 30 May 2008 00:58:42 -0400

run pylint on rpmimport as well

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/pylint/run_pylint b/pylint/run_pylint
--- a/pylint/run_pylint
+++ b/pylint/run_pylint
@@ -35,7 +35,7 @@
 done
 
 if [ -z "$files" ] ; then
-    files="updatebot repomd " # "rpmimport"
+    files="updatebot repomd rpmimport"
 fi
 
 pylint --init-hook='import sys; sys.path.append("."); import init_pylint' --rcfile='../pylintrc' $pylintArgs $files

From johnsonm@rpath.com Wed Aug 19 18:21:46 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLkOU010871
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:46 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLjxZ013260
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:45 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLjHQ028452
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:45 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1k024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:48 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdam7015721
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:43 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdam7015721@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:36 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: write out an rmakerc
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:49 -0000

changeset:   36214ef19a55
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 23 Jun 2008 19:38:14 -0400

write out an rmakerc

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/test/slehelp.py b/test/slehelp.py
--- a/test/slehelp.py
+++ b/test/slehelp.py
@@ -27,6 +27,7 @@
         self.updateBotCfg.configPath = self.cfg.root
         self.cfg.user = ('test', 'test')
         self.writeFile(self.cfg.root + '/conaryrc', '')
+        self.writeFile(self.cfg.root + '/rmakerc', '')
         os.chdir(self.workDir)
 
     def initializeFlavor(self):

From johnsonm@rpath.com Wed Aug 19 18:21:48 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLm5d010880
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:48 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLlBs013281
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:48 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLlBZ028466
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:47 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:50 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdq9i016317
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:57 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdq9i016317@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:52 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add script to sync a mirror of opensuse
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:50 -0000

changeset:   04e8a5ffdc9d
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 09 Jul 2008 16:42:52 -0400

add script to sync a mirror of opensuse

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/scripts/sync-opensuse.sh b/scripts/sync-opensuse.sh
new file mode 100644
--- /dev/null
+++ b/scripts/sync-opensuse.sh
@@ -0,0 +1,5 @@
+#!/bin/bash -xe
+
+rsync -arv --progress --exclude iso --exclude 10.* --exclude ppc --exclude ppc64 rsync://rsync.opensuse.org/opensuse-full /mnt/rpath/linux/
+
+./hardlink.py /mnt/rpath/linux/opensuse

From johnsonm@rpath.com Wed Aug 19 18:21:45 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLjPX010861
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:45 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLi1V013253
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:44 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLidp028446
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:44 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1g024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:46 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLetRL018890
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:56 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLetRL018890@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:55 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:50 -0000

changeset:   640cac864ee1
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 24 Sep 2008 18:35:45 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/sync-centos.sh b/scripts/sync-centos.sh
--- a/scripts/sync-centos.sh
+++ b/scripts/sync-centos.sh
@@ -16,6 +16,6 @@
 SOURCE=rsync://mirrors.us.kernel.org/CentOS-nodvd
 DEST=/l/CentOS/
 
-rsync -arv --progress --exclude 2* --exclude 3* --exclude 4* $SOURCE $DEST
+rsync -arv --progress --bwlimit=1024 --exclude 2* --exclude 3* --exclude 4* $SOURCE $DEST
 
 ./hardlink.py $DEST

From johnsonm@rpath.com Wed Aug 19 18:21:45 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLjLT010863
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:45 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLion013256
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:45 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLigv028449
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:44 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1i024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:47 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLf8a3019385
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:08 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLf8a3019385@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:08 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: getState is no longer a staticmethod
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:50 -0000

changeset:   3f2ef85d8caa
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 28 Oct 2008 15:27:56 -0400

getState is no longer a staticmethod

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/aptmd/parser.py b/aptmd/parser.py
--- a/aptmd/parser.py
+++ b/aptmd/parser.py
@@ -118,7 +118,7 @@
     def _filter(self, filter, state):
         self._stateFilters[re.compile(filter)] = state
 
-    def _getState(key):
+    def _getState(self, key):
         key = key.strip()
         key = key.lower()
         if key.endswith(':'):

From johnsonm@rpath.com Wed Aug 19 18:21:47 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLkGL010874
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:47 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLkhl013266
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:46 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLk5m028456
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:46 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1m024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:48 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdwFO016555
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:03 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLdwFO016555@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:58 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: more verbose
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:50 -0000

changeset:   bae199eed1c3
user:        Elliot Peele <http://issues.rpath.com/>
date:        Fri, 25 Jul 2008 15:34:39 -0400

more verbose

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/scripts/import.py b/scripts/import.py
--- a/scripts/import.py
+++ b/scripts/import.py
@@ -29,6 +29,10 @@
 cfg = config.UpdateBotConfig()
 cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/opensuse/updatebotrc')
 obj = bot.Bot(cfg)
-obj.create()
+trvMap = obj.create()
 
 import epdb ; epdb.st()
+
+for source in trvMap:
+    for bin in trvMap[source]:
+        print '%s=%s[%s]' % bin

From johnsonm@rpath.com Wed Aug 19 18:21:48 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLl1F010878
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:47 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLlqZ013275
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:47 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLluB028461
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:47 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1o024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:49 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLge10023085
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:40 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLge10023085@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:40 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: turn down bw limit for centos
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:51 -0000

changeset:   903ffa7e8b3d
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 02 Apr 2009 16:15:57 -0400

turn down bw limit for centos

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/sync-centos.sh b/scripts/sync-centos.sh
--- a/scripts/sync-centos.sh
+++ b/scripts/sync-centos.sh
@@ -17,6 +17,6 @@
 DEST=/l/CentOS/
 
 date
-rsync -arv --progress --bwlimit=1024 --exclude 2* --exclude 3* --exclude 4* $SOURCE $DEST
+rsync -arv --progress --bwlimit=700 --exclude 2* --exclude 3* --exclude 4* $SOURCE $DEST
 
 ./hardlink.py $DEST

From johnsonm@rpath.com Wed Aug 19 18:21:50 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLn9n010890
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:49 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLmZ0013284
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:48 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLmcu028469
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:48 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1s024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:50 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgjXZ023272
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:45 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgjXZ023272@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:45 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: set default value of trvmap
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:51 -0000

changeset:   e599da24addf
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 21 Apr 2009 13:45:58 -0400

set default value of trvmap

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -101,6 +101,7 @@
         log.info('failed to create %s packages' % len(fail))
         log.info('found %s packages to build' % len(toBuild))
 
+        trvMap = []
         if len(toBuild):
             if not rebuild:
                 # Build all newly imported packages.

From johnsonm@rpath.com Wed Aug 19 18:21:51 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLoa8010892
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:50 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLooC013290
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:50 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLolf028474
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:50 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1u024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:51 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLesvm018872
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:56 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLesvm018872@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:54 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: throttle centos
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:52 -0000

changeset:   343f814cff4d
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 24 Sep 2008 17:03:46 -0400

throttle centos

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/sync-centos.sh b/scripts/sync-centos.sh
--- a/scripts/sync-centos.sh
+++ b/scripts/sync-centos.sh
@@ -16,6 +16,6 @@
 SOURCE=rsync://mirrors.us.kernel.org/CentOS-nodvd
 DEST=/l/CentOS/
 
-rsync -arv --progress --exclude 2* --exclude 3* --exclude 4* $SOURCE $DEST
+rsync -arv --progress --bwlimit=1024 --exclude 2* --exclude 3* --exclude 4* $SOURCE $DEST
 
 ./hardlink.py $DEST

From johnsonm@rpath.com Wed Aug 19 18:21:51 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLpNG010896
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:51 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLpMQ013299
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:51 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLoG3028477
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:50 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA1w024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:53 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfk09020906
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:47 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfk09020906@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:46 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix typo
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:52 -0000

changeset:   b3ed6fd752b6
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 20 Nov 2008 10:20:32 -0500

fix typo

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -22,7 +22,7 @@
 from conary import versions
 from conary.conarycfg import CfgFlavor, CfgLabel
 from conary.lib.cfgtypes import CfgString, CfgList, CfgRegExp, CfgBool
-from coanry.lib.cfgtypes import ParseError
+from conary.lib.cfgtypes import ParseError
 
 from rmake.build.buildcfg import CfgTroveSpec
 

From johnsonm@rpath.com Wed Aug 19 18:21:52 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLq7T010905
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:52 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLpxI013306
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:51 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLpT2028485
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:51 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA20024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:53 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfp1o021127
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:51 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfp1o021127@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:51 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add back in new lines
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:53 -0000

changeset:   d519f85eed47
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 17 Dec 2008 18:28:18 -0500

add back in new lines

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/aptmd/parser.py b/aptmd/parser.py
--- a/aptmd/parser.py
+++ b/aptmd/parser.py
@@ -135,7 +135,9 @@
                 func()
                 self._text = ''
             else:
-                self._text += ' '.join(self._line)
+                self._text += '\n' + ' '.join(self._line)
+        else:
+            self._text += '\n'
 
     def _getState(self, key):
         """

From johnsonm@rpath.com Wed Aug 19 18:21:53 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLrqJ010913
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:53 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLrf5013319
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:53 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLqnW028490
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:52 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA22024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:55 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdB9r014682
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:15 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdB9r014682@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:11 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: default to debug level
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:53 -0000

changeset:   57f0f278303a
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 10 Jun 2008 00:29:14 -0400

default to debug level

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/log.py b/updatebot/log.py
--- a/updatebot/log.py
+++ b/updatebot/log.py
@@ -30,7 +30,7 @@
         '%(name)s %(message)s')
     handler.setFormatter(formatter)
     rootLog.addHandler(handler)
-    rootLog.setLevel(logging.INFO)
+    rootLog.setLevel(logging.DEBUG)
 
     # Delete conary's log handler since it puts things on stderr and without
     # any timestamps.

From johnsonm@rpath.com Wed Aug 19 18:21:54 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLs5C010928
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:54 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLsWf013334
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:54 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLr9F028495
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:53 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA24024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:55 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdpmD016266
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:56 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdpmD016266@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:51 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add rpmutils, drop rpmimport
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:55 -0000

changeset:   b035cbde06c7
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 09 Jul 2008 14:29:02 -0400

add rpmutils, drop rpmimport

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/test/testsuite.py b/test/testsuite.py
--- a/test/testsuite.py
+++ b/test/testsuite.py
@@ -139,7 +139,7 @@
 
 def getCoverageDirs(handler, environ):
     basePath = os.environ['SLEESTACK_PATH']
-    coverageDirs = [ 'updatebot', 'rpmimport', 'repomd', ]
+    coverageDirs = [ 'updatebot', 'rpmutils', 'repomd', ]
 
     coveragePath = []
     for path in coverageDirs:

From johnsonm@rpath.com Wed Aug 19 18:21:54 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLs0Y010929
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:54 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLsHx013338
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:54 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLs4u028497
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:54 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA26024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:56 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdHsV014910
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:21 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdHsV014910@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:17 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add a prefix to tmp dirs
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:56 -0000

changeset:   e9e864723394
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 11 Jun 2008 11:10:33 -0400

add a prefix to tmp dirs

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/rpmimport/recipemaker.py b/rpmimport/recipemaker.py
--- a/rpmimport/recipemaker.py
+++ b/rpmimport/recipemaker.py
@@ -149,7 +149,7 @@
         """
 
         cwd = os.getcwd()
-        tmpdir = tempfile.mkdtemp()
+        tmpdir = tempfile.mkdtemp(prefix='rpmimport-')
         os.chdir(tmpdir)
         self._checkout(pkgname)
         manifest = open('manifest').readlines()

From johnsonm@rpath.com Wed Aug 19 18:21:57 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLv47010947
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:57 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLuPb013362
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:56 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLu6k028512
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:56 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2A024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:59 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfC3V019539
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:13 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfC3V019539@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:12 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:59 -0000

changeset:   0cbfa9fc85bd
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 30 Oct 2008 12:56:14 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/header.py b/scripts/header.py
--- a/scripts/header.py
+++ b/scripts/header.py
@@ -24,7 +24,7 @@
 from updatebot import config
 
 def usage():
-    print 'usage: buildpackages <platform> [pkg1, pkg2, ...]'
+    print 'usage: %s <platform> [pkg1, pkg2, ...]' % sys.argv[0]
     sys.exit(1)
 
 if len(sys.argv) < 2 or sys.argv[1] not in os.listdir(os.environ['HOME'] + '/hg/mirrorball/config'):

From johnsonm@rpath.com Wed Aug 19 18:21:56 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLuNm010942
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:56 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLuX2013353
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:56 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLt6S028507
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:55 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA28024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:57 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgKtv022251
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:21 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgKtv022251@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:20 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: except all exceptions
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:21:59 -0000

changeset:   372e0070e71b
user:        Elliot Peele <https://issues.rpath.com/>
date:        Sun, 08 Feb 2009 04:14:59 +0000

except all exceptions

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -503,6 +503,8 @@
                 job = self.builder._helper.getJob(self.jobId)
         except xml.parsers.expat.ExpatError, e:
             return False, None
+        except Exception, e:
+            return False, None
         return True, job
 
     def _status(self, msg, type=0):

From johnsonm@rpath.com Wed Aug 19 18:21:57 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLvO9010955
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:57 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLvU5013366
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:57 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLvwR028516
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:57 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2C024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:59 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeX8B017954
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:35 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeX8B017954@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:33 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: build ubuntu groups & build from group
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:00 -0000

changeset:   b84c8510f2a2
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 28 Aug 2008 19:07:55 -0400

build ubuntu groups & build from group

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/buildgroups b/scripts/buildgroups
--- a/scripts/buildgroups
+++ b/scripts/buildgroups
@@ -20,7 +20,7 @@
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/sles/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
 
 builder = build.Builder(cfg)
 

From johnsonm@rpath.com Wed Aug 19 18:21:58 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLwiV010960
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:58 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLwKI013375
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:58 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLwn7028521
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:58 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2E024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:00 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfJuM019863
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:21 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfJuM019863@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:19 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: don't try to build factories
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:01 -0000

changeset:   5a943dd7ecac
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 13 Nov 2008 18:17:22 -0500

don't try to build factories

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -88,6 +88,7 @@
             # skip special packages
             if (name.startswith('info-') or
                 name.startswith('group-') or
+                name.startswith('factory-') or
                 name in self._cfg.excludePackages):
                 continue
 

From johnsonm@rpath.com Wed Aug 19 18:21:59 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMLxrQ010965
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:21:59 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLwWH013378
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:58 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLwFr028525
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:58 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2G024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:00 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfbPA020515
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:37 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfbPA020515@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:37 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add extraPromoteTroves
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:02 -0000

changeset:   a16b8a1d5892
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 18 Nov 2008 12:31:00 -0500

add extraPromoteTroves

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -99,6 +99,9 @@
     # Label to promote to
     targetLabel         = CfgBranch
 
+    # Packages other than the topGroup that need to be promoted.
+    extraPromoteTroves  = (CfgList(CfgTroveSpec), [])
+
     # Packages to import
     package             = (CfgList(CfgString), [])
 

From johnsonm@rpath.com Wed Aug 19 18:22:00 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMM0rS010971
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:00 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMLxIG013388
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:59 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMLxCO028528
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:21:59 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2I024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:01 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgrlU023613
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:54 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgrlU023613@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:53 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: recreate all packages if recreate is not a list
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:02 -0000

changeset:   a74be4aaa114
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 05 May 2009 13:42:35 -0400

recreate all packages if recreate is not a list

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -69,7 +69,7 @@
         self._pkgSource.load()
 
         # Build list of packages
-        if recreate:
+        if type(recreate) == list:
             toPackage = set(recreate)
         elif self._cfg.packageAll:
             toPackage = set()

From johnsonm@rpath.com Wed Aug 19 18:22:04 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMM4Hu010997
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:04 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMM3vK013417
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:03 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMM3Lj028542
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:03 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2M024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:04 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgjSV023289
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:45 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgjSV023289@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:45 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: update import script output for new buildmany output
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:05 -0000

changeset:   71b01e559abe
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 21 Apr 2009 14:18:07 -0400

update import script output for new buildmany output

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/import b/scripts/import
--- a/scripts/import
+++ b/scripts/import
@@ -31,6 +31,7 @@
 
 import epdb ; epdb.st()
 
-for source in trvMap:
-    for bin in trvMap[source]:
-        print '%s=%s[%s]' % bin
+for job in trvMap:
+    for source in job:
+        for bin in trvMap[source]:
+            print '%s=%s[%s]' % bin

From johnsonm@rpath.com Wed Aug 19 18:22:05 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMM5Na011008
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:05 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMM5hV013430
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:05 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMM4tH028548
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:04 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2O024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:06 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdBcd014665
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:15 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdBcd014665@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:11 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: make packages hashable
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:06 -0000

changeset:   cfbc0fc83648
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 09 Jun 2008 11:44:17 -0400

make packages hashable

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/repomd/packagexml.py b/repomd/packagexml.py
--- a/repomd/packagexml.py
+++ b/repomd/packagexml.py
@@ -122,6 +122,10 @@
     def __str__(self):
         return '%(name)s-%(version)s-%(release)s' % self.__dict__
 
+    def __hash__(self):
+        return hash((self.name, self.epoch, self.version, self.release,
+                     self.arch))
+
 
 class _RpmRequires(xmllib.BaseNode):
     """

From johnsonm@rpath.com Wed Aug 19 18:22:06 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMM5Gj011012
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:05 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMM5dR013436
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:05 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMM5VS028553
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:05 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2Q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:07 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfLYQ019933
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:21 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfLYQ019933@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:21 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add platformName option
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:07 -0000

changeset:   1660b2c40ef7
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 14 Nov 2008 16:38:15 -0500

add platformName option

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -52,6 +52,9 @@
     # name of the product to use in advisories
     productName         = CfgString
 
+    # platform short name
+    platformName        = CfgString
+
     # path to configuration files relative to updatebotrc (conaryrc, rmakerc)
     configPath          = (CfgString, './')
 

From johnsonm@rpath.com Wed Aug 19 18:22:06 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMM6HJ011017
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:06 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMM6tA013440
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:06 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMM50U028559
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:05 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2S024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:08 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLh3is024021
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:03 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLh3is024021@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:03 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: compare packages by name as well
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:07 -0000

changeset:   e524fa76c6dd
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 09 Jun 2009 15:25:21 -0400

compare packages by name as well

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/repomd/packagexml.py b/repomd/packagexml.py
--- a/repomd/packagexml.py
+++ b/repomd/packagexml.py
@@ -39,7 +39,7 @@
         return hash((self.name, self.version, self.release, self.arch))
 
     def __cmp__(self, other):
-        return util.packageCompare(self, other)
+        return util.packageCompareByName(self, other)
 
 
 class _Package(SlotNode, PackageCompare):

From johnsonm@rpath.com Wed Aug 19 18:22:07 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMM6e2011024
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:06 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMM6ou013445
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:06 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMM6U9028563
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:06 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2U024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:08 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgWX6022762
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:32 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgWX6022762@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:32 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: jobId can be a list of ints, just cast them to a
 string
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:07 -0000

changeset:   747b9efb9bb2
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 16 Mar 2009 11:24:31 -0400

jobId can be a list of ints, just cast them to a string

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/errors.py b/updatebot/errors.py
--- a/updatebot/errors.py
+++ b/updatebot/errors.py
@@ -47,7 +47,7 @@
     """
 
     _params = ['jobId', 'why']
-    _template = 'rMake job %(jobId)d failed to commit: %(why)s'
+    _template = 'rMake job %(jobId)s failed to commit: %(why)s'
 
 
 class JobFailedError(UpdateBotError):

From johnsonm@rpath.com Wed Aug 19 18:22:08 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMM7r5011032
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:07 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMM7DD013455
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:07 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMM7jS028569
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:07 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2W024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:09 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfddg020600
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:39 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfddg020600@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:39 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: always set strictMode true
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:08 -0000

changeset:   610ea5281da4
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 19 Nov 2008 11:27:38 -0500

always set strictMode true

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -62,6 +62,7 @@
         self._rmakeCfg.read(util.join(self._cfg.configPath, 'rmakerc'))
         self._rmakeCfg.useConaryConfig(self._ccfg)
         self._rmakeCfg.copyInConfig = False
+        self._rmakeCfg.strictMode = True
 
         self._helper = helper.rMakeHelper(buildConfig=self._rmakeCfg)
 

From johnsonm@rpath.com Wed Aug 19 18:22:08 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMM8fT011039
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:08 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMM7sx013464
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:08 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMM7je028573
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:07 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2Y024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:10 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeROP017699
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:31 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeROP017699@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:26 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: sort troves to be built
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:09 -0000

changeset:   30359bc1cf6b
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Mon, 25 Aug 2008 12:58:07 -0400

sort troves to be built

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -88,6 +88,11 @@
         @return troveMap: dictionary of troveSpecs to built troves
         """
 
+        troveSpecs = list(troveSpecs)
+        def trvSort(a, b):
+            return cmp(a[0], b[0])
+        troveSpecs.sort(trvSort)
+
         id = 0
         jobs = {}
         for i, trv in enumerate(troveSpecs):

From johnsonm@rpath.com Wed Aug 19 18:22:10 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMM9kf011051
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:09 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMM9oQ013478
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:09 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMM8dL028578
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:08 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2a024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:10 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfCnE019522
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:12 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfCnE019522@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:11 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: slightly better usage info
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:10 -0000

changeset:   0c9ca6b7f009
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 29 Oct 2008 16:45:15 -0400

slightly better usage info

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/header.py b/scripts/header.py
--- a/scripts/header.py
+++ b/scripts/header.py
@@ -24,7 +24,7 @@
 from updatebot import config
 
 def usage():
-    print 'usage: buildpackages <platform> [pkg1, pkg2, ...]'
+    print 'usage: %s <platform> [pkg1, pkg2, ...]' % sys.argv[0]
     sys.exit(1)
 
 if len(sys.argv) < 2 or sys.argv[1] not in os.listdir(os.environ['HOME'] + '/hg/mirrorball/config'):

From johnsonm@rpath.com Wed Aug 19 18:22:10 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMM9au011054
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:09 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMM9tT013481
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:09 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMM9Jl028580
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:09 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2c024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:11 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgtP3023647
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:55 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgtP3023647@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:55 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: always try to create the package if recreate is set
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:10 -0000

changeset:   6e45347f4978
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 05 May 2009 14:34:11 -0400

always try to create the package if recreate is set

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -241,7 +241,7 @@
 
             srcPkg = self._getPackagesToImport(pkg)
 
-            if srcPkg.name not in pkgs:
+            if srcPkg.name not in pkgs or recreate:
                 toUpdate.add(srcPkg)
 
         # Update all of the unique sources.

From johnsonm@rpath.com Wed Aug 19 18:22:11 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMA1N011062
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:10 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMAvl013494
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:10 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMA46028589
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:10 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2e024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:12 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLflqs020957
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:47 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLflqs020957@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:47 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove inacurate comment
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:11 -0000

changeset:   de1b89b2e30f
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 09 Dec 2008 14:07:46 -0500

remove inacurate comment

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -93,8 +93,6 @@
 
         latest = self._findLatest(trvlst)
 
-        # Magic number should probably be a config option.
-        # 2 here is the number of flavors expected.
         if len(latest) != self._groupFlavorCount:
             raise TooManyFlavorsFoundError(why=latest)
 

From johnsonm@rpath.com Wed Aug 19 18:22:11 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMBtx011070
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:11 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMBe0013504
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:11 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMAoI028593
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:11 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2g024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:13 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgvO3023749
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:57 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgvO3023749@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:57 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: don't assume that patches has length
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:11 -0000

changeset:   2f799dee47ae
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 11 May 2009 16:04:22 -0400

don't assume that patches has length

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/centos.py b/updatebot/advisories/centos.py
--- a/updatebot/advisories/centos.py
+++ b/updatebot/advisories/centos.py
@@ -137,6 +137,9 @@
         return True, otherwise return False.
         """
 
+        if not len(patchSet):
+            return False
+
         primary = list(patchSet)[0]
         for patch in patchSet:
             if patch is primary:

From johnsonm@rpath.com Wed Aug 19 18:22:12 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMCAj011078
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:12 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMBr7013514
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:11 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMBJw028597
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:11 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2i024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:13 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfYnc020395
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:34 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfYnc020395@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:34 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: make sure to include the last message in the mailbox
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:15 -0000

changeset:   9646e4c1837f
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 18 Nov 2008 11:19:12 -0500

make sure to include the last message in the mailbox

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/pmap/common.py b/pmap/common.py
--- a/pmap/common.py
+++ b/pmap/common.py
@@ -65,3 +65,7 @@
 
         for line in msg.get_payload().split('\n'):
             self._parseLine(line)
+
+        # Make sure last object gets added to self._objects while allowing
+        # subclasses to have special handling in newContainer.
+        self._newContainer()

From johnsonm@rpath.com Wed Aug 19 18:22:13 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMDw2011088
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:13 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMCFh013522
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:12 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMCS7028603
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:12 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2k024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:14 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdKhh015052
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:29 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdKhh015052@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:20 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: if there isn't a patches.xml in the repo return empty list
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:16 -0000

changeset:   80098ca3eaf1
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 12 Jun 2008 22:20:45 -0400

if there isn't a patches.xml in the repo return empty list

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/repomd/__init__.py b/repomd/__init__.py
--- a/repomd/__init__.py
+++ b/repomd/__init__.py
@@ -65,6 +65,10 @@
         """
 
         node = self._repomd.getRepoData('patches')
+
+        if node is None:
+            return []
+
         return [ x.parseChildren() for x in node.parseChildren().getPatches() ]
 
     def getPackageDetail(self):

From johnsonm@rpath.com Wed Aug 19 18:22:13 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMDEH011096
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:13 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMD2G013531
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:13 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMD52028608
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:13 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2m024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:15 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgkJZ023306
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:46 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgkJZ023306@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:46 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: use system libs
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:17 -0000

changeset:   422df087eded
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 21 Apr 2009 14:20:18 -0400

use system libs

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/pkgsource b/scripts/pkgsource
--- a/scripts/pkgsource
+++ b/scripts/pkgsource
@@ -16,10 +16,7 @@
 import os
 import sys
 
-sys.path.insert(0, os.environ['HOME'] + '/hg/rpath-xmllib')
-sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
 sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
-sys.path.insert(0, os.environ['HOME'] + '/hg/rmake')
 
 from conary.lib import util
 sys.excepthook = util.genExcepthook()

From johnsonm@rpath.com Wed Aug 19 18:22:15 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMEst011102
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:15 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMESG013546
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:14 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMEkZ028617
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:14 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:16 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdICh014983
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:26 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdICh014983@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:18 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove unused variable
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:20 -0000

changeset:   f58309f4b253
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 11 Jun 2008 20:50:38 -0400

remove unused variable

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -130,7 +130,6 @@
         """
 
         needsUpdate = False
-        newLocations = [ x.location for x in self._rpmSource.srcPkgMap[srpm] ]
         newNames = [ x.name for x in self._rpmSource.srcPkgMap[srpm] ]
         manifest = [ x.strip() for x in self._recipeMaker.getManifest(nvf[0]) ]
         for line in manifest:

From johnsonm@rpath.com Wed Aug 19 18:22:15 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMFKq011107
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:15 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMFXA013552
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:15 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMEK7028621
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:14 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2s024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:17 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgqRP023528
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:52 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgqRP023528@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:52 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:20 -0000

changeset:   3c91f54d7b2c
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 01 May 2009 13:17:16 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -246,7 +246,7 @@
         fail = set()
         toBuild = set()
         verCache = self._conaryhelper.getLatestVersions()
-        for pkg in toUpdate:
+        for pkg in sorted(toUpdate):
             try:
                 # Only import packages that haven't been imported before
                 version = verCache.get('%s:source' % pkg.name)

From johnsonm@rpath.com Wed Aug 19 18:22:17 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMFA9011108
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:15 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMFF5013553
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:15 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMFiA028623
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:15 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2u024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:17 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeWcH017937
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:35 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeWcH017937@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:32 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: disable copyInConfig
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:22 -0000

changeset:   0035d7ddfad5
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 28 Aug 2008 15:37:42 -0400

disable copyInConfig

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -61,6 +61,7 @@
         self._rmakeCfg = buildcfg.BuildConfiguration(readConfigFiles=False)
         self._rmakeCfg.read(util.join(self._cfg.configPath, 'rmakerc'))
         self._rmakeCfg.useConaryConfig(self._ccfg)
+        self._rmakeCfg.copyInConfig = False
 
         self._helper = helper.rMakeHelper(buildConfig=self._rmakeCfg)
 

From johnsonm@rpath.com Wed Aug 19 18:22:15 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMEpU011100
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:14 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMElH013541
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:14 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMDcw028613
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:14 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2o024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:15 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgJaJ022217
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:20 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgJaJ022217@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:19 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: in the False case job may not be defined
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:22 -0000

changeset:   ac38362179d8
user:        Elliot Peele <https://issues.rpath.com/>
date:        Sat, 07 Feb 2009 22:39:08 +0000

in the False case job may not be defined

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -486,7 +486,7 @@
                 time.sleep(5)
                 job = self.builder._helper.getJob(self.jobId)
         except xml.parsers.expat.ExpatError, e:
-            return False, job
+            return False, None
         return True, job
 
     def _status(self, msg, type=0):

From johnsonm@rpath.com Wed Aug 19 18:22:18 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMGlv011112
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:17 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMGtT013558
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:16 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMGX5028628
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:16 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2w024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:18 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLf9oA019436
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:10 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLf9oA019436@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:09 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: actualy honor the platform name when loading configeration
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:23 -0000

changeset:   9b251d0ae680
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 28 Oct 2008 16:29:57 -0400

actualy honor the platform name when loading configeration

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/header.py b/scripts/header.py
--- a/scripts/header.py
+++ b/scripts/header.py
@@ -32,7 +32,7 @@
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/%s/updatebotrc' % sys.argv[1])
 
 builder = build.Builder(cfg)
 

From johnsonm@rpath.com Wed Aug 19 18:22:17 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMGpT011115
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:16 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMGIg013561
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:16 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMGAR028631
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:16 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA30024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:18 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLg4fm021621
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:04 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLg4fm021621@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:04 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: reformat text
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:24 -0000

changeset:   d11aa39cfb51
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 14 Jan 2009 12:57:22 -0500

reformat text

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -182,7 +182,7 @@
         for ctx, job in jobs.iteritems():
             jobIds[ctx] = self._startJob(job)
 
-        fmtstr = ','.join([ '%s:%s' % (x, y) for x, y in jobIds.iteritems()])
+        fmtstr = ', '.join([ '%s:%s' % (x, y) for x, y in jobIds.iteritems()])
         log.info('Started %s' % fmtstr)
 
         # Wait for the jobs to finish.

From johnsonm@rpath.com Wed Aug 19 18:22:21 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMHHd011118
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:17 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMHkD013564
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:17 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMGOl028634
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:16 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA32024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:19 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLegom018362
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:44 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLegom018362@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:42 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: ubuntu/updatebotrc: add python-setuptools & swig
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:24 -0000

changeset:   b219c10773e7
user:        Jeff Uphoff <https://issues.rpath.com/>
date:        Tue, 09 Sep 2008 23:43:27 -0400

ubuntu/updatebotrc: add python-setuptools & swig

committer: Jeff Uphoff <https://issues.rpath.com/>

diff --git a/scripts/pkgsource.py b/scripts/pkgsource.py
--- a/scripts/pkgsource.py
+++ b/scripts/pkgsource.py
@@ -21,7 +21,7 @@
 from updatebot import pkgsource
 
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/sles/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
 
 pkgSource = pkgsource.PackageSource(cfg)
 

From johnsonm@rpath.com Wed Aug 19 18:22:22 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMJKo011125
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:21 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMJQL013574
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:19 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMJC6028646
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:19 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA38024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:21 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLd2LA014286
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:08 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLd2LA014286@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:02 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: print usage message if the url does not start with
 http
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:25 -0000

changeset:   7e4e7eb4dd30
user:        Matt Wilson <https://issues.rpath.com/>
date:        Mon, 02 Jun 2008 15:46:27 -0400

print usage message if the url does not start with http

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -291,6 +291,11 @@
             url = DEFAULT_URL
         if not basePaths:
             basePaths = DEFAULT_BASE_PATHS
+
+        if not url.startswith('http'):
+            self.help()
+            return 1
+
         cwd = os.getcwd()
         tmpdir = tempfile.mkdtemp()
         print 'workdir is', tmpdir

From johnsonm@rpath.com Wed Aug 19 18:22:22 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMLO9011131
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:21 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMLft013584
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:21 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMML9d028656
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:21 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3E024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:23 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfr03021196
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:53 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfr03021196@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:53 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: configure ubuntu for updates
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:25 -0000

changeset:   d6ce71862c60
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 19 Dec 2008 14:32:30 -0500

configure ubuntu for updates

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -74,6 +74,9 @@
     # platform short name
     platformName        = CfgString
 
+    # upstream product version
+    upstreamProductVersion = CfgString
+
     # disables checks for update completeness, this should only be enabled if
     # you know what you are doing and have a good reason.
     disableUpdateSanity = CfgBool

From johnsonm@rpath.com Wed Aug 19 18:22:21 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMHvP011119
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:17 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMHVl013565
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:17 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMHXY028635
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:17 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA34024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:19 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLewdh019026
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:59 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLewdh019026@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:58 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: centos tweaks
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:25 -0000

changeset:   45c10b72b93d
user:        Jeff Uphoff <https://issues.rpath.com/>
date:        Fri, 03 Oct 2008 16:45:34 -0400

centos tweaks

committer: Jeff Uphoff <https://issues.rpath.com/>

diff --git a/scripts/findbinaries.py b/scripts/findbinaries.py
--- a/scripts/findbinaries.py
+++ b/scripts/findbinaries.py
@@ -40,7 +40,7 @@
 updater = bot._updater
 helper = updater._conaryhelper
 
-sources, failed = updater.create(cfg.package, buildAll=True)
+sources, failed = updater.create(cfg.package, buildAll=False)
 
 pkgs = helper._repos.getTroveLeavesByLabel({None: {helper._ccfg.buildLabel: None}})
 pkgSet = set([ x.split(':')[0] for x in pkgs ])

From johnsonm@rpath.com Wed Aug 19 18:22:22 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMKh1011126
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:21 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMJ18013577
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:19 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMJjn028649
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:19 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3A024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:22 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdOBb015225
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:33 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdOBb015225@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:24 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add config option for repositories that should be
	ignored during advisory
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:25 -0000

changeset:   ca4c49360b4d
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 16 Jun 2008 17:30:35 -0400

add config option for repositories that should be ignored during advisory
check, ie. advisories that we generated metadata for that don't have
advisories

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -38,3 +38,4 @@
     topGroup            = CfgTroveSpec
 
     excludePackages     = CfgList(CfgString)
+    advisoryException   = CfgList(CfgList(CfgString))

From johnsonm@rpath.com Wed Aug 19 18:22:24 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMMGH011140
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:22 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMMug013590
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:22 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMMnC028660
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:22 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3G024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:24 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdVw9015533
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:40 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdVw9015533@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:31 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix keyerror
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:25 -0000

changeset:   02fbc06fa060
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 19 Jun 2008 21:46:20 -0400

fix keyerror

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -90,7 +90,7 @@
             n = sn.split(':')[0]
             if (n, sv, None) not in ret:
                 ret[(n, sv, None)] = set()
-            for name, version, flavor in trvMap[(sn, sv, sf)]:
+            for name, version, flavor in trvMap[(sn, sv, sf, c)]:
                 if name == n:
                     ret[(n, v, None)].add((name, version, flavor))
 

From johnsonm@rpath.com Wed Aug 19 18:22:24 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMJ8E011124
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:21 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMIo5013571
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:18 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMINE028643
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:18 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA36024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:20 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLg49s021639
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:05 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLg49s021639@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:04 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix typo
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:25 -0000

changeset:   a993bb41585d
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 14 Jan 2009 15:59:34 -0500

fix typo

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -353,7 +353,7 @@
             metadata = self._getMetadataFromPkgSource(srcPkg)
             self._conaryhelper.setMetadata(nvf[0], metadata)
 
-        newVersion = self._conarhelper.commit(nvf[0],
+        newVersion = self._conaryhelper.commit(nvf[0],
                                     commitMessage=self._cfg.commitMessage)
         return newVersion
 

From johnsonm@rpath.com Wed Aug 19 18:22:24 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMLY8011128
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:22 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMKA0013581
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:20 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMKTP028652
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:20 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3C024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:22 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfSHb020223
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:28 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfSHb020223@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:28 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: replace newlines with spaces
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:26 -0000

changeset:   357f9537862d
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 17 Nov 2008 16:43:38 -0500

replace newlines with spaces

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/pmap/common.py b/pmap/common.py
--- a/pmap/common.py
+++ b/pmap/common.py
@@ -62,6 +62,7 @@
         self._curObj.fromName = fromLine[fromLine.find('('):].strip('()')
         self._curObj.timestamp = ' '.join(msg.get_from().split()[4:])
         self._curObj.subject = msg['Subject']
+        self._curObj.subject.replace('\n\t', ' ')
 
         for line in msg.get_payload().split('\n'):
             self._parseLine(line)

From johnsonm@rpath.com Wed Aug 19 18:22:26 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMPCT011153
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:26 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMPek013601
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:25 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMPxX028667
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:25 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3K024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:27 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeOd9017580
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:27 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeOd9017580@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:24 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: try to silence more build output
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:26 -0000

changeset:   996f48e145b9
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 19 Aug 2008 11:43:06 -0400

try to silence more build output

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -323,3 +323,13 @@
         """
         Don't care about resolving/installing chroot
         """
+
+    def _tailBuildLog(self, jobId, troveTuple):
+        """
+        Don't care about the build log
+        """
+
+    def _stopTailing(self, jobId, troveTuple):
+        """
+        Don't care about the build log
+        """

From johnsonm@rpath.com Wed Aug 19 18:22:26 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMP5c011152
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:25 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMPcq013600
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:25 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMN7s028665
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:24 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3I024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:26 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLe42B016796
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:09 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLe42B016796@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:04 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: set for building one a time
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:27 -0000

changeset:   4e31ddf84e93
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 29 Jul 2008 22:08:32 -0400

set for building one a time

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -114,8 +114,8 @@
 #        import epdb; epdb.st()
 
         # Build all newly imported packages.
-        #trvMap, failed = self._builder.buildmany(toBuild)
-        trvMap = self._builder.build(toBuild)
+        trvMap, failed = self._builder.buildmany(toBuild)
+        #trvMap = self._builder.build(toBuild)
 
         import epdb; epdb.st()
 

From johnsonm@rpath.com Wed Aug 19 18:22:26 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMQsE011155
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:26 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMQs9013606
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:26 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMPx6028679
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:25 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3M024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:28 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdcpN015789
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:43 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdcpN015789@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:38 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: return all built groups
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:27 -0000

changeset:   751aae8b1e3c
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 24 Jun 2008 15:57:15 -0400

return all built groups

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -97,7 +97,7 @@
             if (n, sv, None) not in ret:
                 ret[(n, sv, None)] = set()
             for name, version, flavor in trvMap[(sn, sv, sf, c)]:
-                if name == n:
+                if name == n or name.startswith('group-'):
                     ret[(n, sv, None)].add((name, version, flavor))
 
         return ret

From johnsonm@rpath.com Wed Aug 19 18:22:26 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMQZH011163
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:26 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMQsZ013609
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:26 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMQm6028683
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:26 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3O024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:28 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcubl014025
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:05 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLcubl014025@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:56 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: insert default coverage path into environment
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:27 -0000

changeset:   0998ac3c5db6
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 28 May 2008 21:13:19 -0400

insert default coverage path into environment

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/test/testsuite.py b/test/testsuite.py
--- a/test/testsuite.py
+++ b/test/testsuite.py
@@ -56,6 +56,9 @@
             sys.path.insert(0, thisPath)
         return thisPath
 
+    # set default COVERAGE_PATH, if it was not set.
+    coveragePath = setPathFromEnv('COVERAGE_PATH', 'utils')
+
     # set default CONARY_PATH, if it was not set.
     conaryPath = setPathFromEnv('CONARY_PATH', 'conary')
 

From johnsonm@rpath.com Wed Aug 19 18:22:27 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMRk6011170
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:27 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMQnO013615
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:27 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMQ9E028686
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:26 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3Q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:29 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdJhY015018
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:26 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdJhY015018@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:19 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: actually unlink the file
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:27 -0000

changeset:   89807b6657bd
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 12 Jun 2008 22:19:42 -0400

actually unlink the file

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/repomd/repository.py b/repomd/repository.py
--- a/repomd/repository.py
+++ b/repomd/repository.py
@@ -51,10 +51,11 @@
         shutil.copyfileobj(inf, outf)
 
         if os.path.basename(fileName).endswith('.gz'):
-            return gzip.open(fn)
+            fh = gzip.open(fn)
         else:
-            return open(fn)
+            fh = open(fn)
         os.unlink(fn)
+        return fh
 
     @classmethod
     def _getTempFile(cls):

From johnsonm@rpath.com Wed Aug 19 18:22:28 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMRa2011180
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:28 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMR1L013621
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:27 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMRO5028689
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:27 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3S024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:29 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeRNw017716
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:31 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeRNw017716@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:27 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: don't build everything
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:28 -0000

changeset:   cdc5ea7ed11a
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Mon, 25 Aug 2008 12:59:29 -0400

don't build everything

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -114,7 +114,7 @@
         self._populatePkgSource()
 
         # Import sources into repository.
-        toBuild, fail = self._updater.create(self._cfg.package, buildAll=True)
+        toBuild, fail = self._updater.create(self._cfg.package, buildAll=False)
 
         # Build all newly imported packages.
         trvMap, failed = self._builder.buildmany(toBuild)

From johnsonm@rpath.com Wed Aug 19 18:22:28 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMSr5011186
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:28 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMSaE013633
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:28 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMR08028694
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:27 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3U024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:30 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgpPe023511
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:52 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgpPe023511@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:51 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: sort packages to update
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:29 -0000

changeset:   9f9ecc75ce91
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 29 Apr 2009 18:10:57 -0400

sort packages to update

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -246,7 +246,7 @@
         fail = set()
         toBuild = set()
         verCache = self._conaryhelper.getLatestVersions()
-        for pkg in toUpdate:
+        for pkg in sorted(toUpdate):
             try:
                 # Only import packages that haven't been imported before
                 version = verCache.get('%s:source' % pkg.name)

From johnsonm@rpath.com Wed Aug 19 18:22:30 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMU2J011204
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:30 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMTQQ013655
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:29 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMT4N028702
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:29 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3Y024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:31 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLffT3020702
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:42 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLffT3020702@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:41 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: mirror changes once the update is complete
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:33 -0000

changeset:   19530f6fc6c3
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 19 Nov 2008 13:29:48 -0500

mirror changes once the update is complete

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -173,6 +173,9 @@
         # Send advisories.
         self._advisor.send(toAdvise, newTroves)
 
+        # Mirror out content
+        self._update.mirror()
+
         log.info('update completed successfully')
         log.info('updated %s packages and sent %s advisories'
                  % (len(toUpdate), len(toAdvise)))

From johnsonm@rpath.com Wed Aug 19 18:22:31 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMVHd011210
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:31 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMUkG013667
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:30 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMUDu028713
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:30 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3c024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:32 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgF9h022064
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:15 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgF9h022064@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:15 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add support for handling new repomd
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:34 -0000

changeset:   8f55af3fac01
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 05 Feb 2009 23:53:45 -0500

add support for handling new repomd

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/pkgsource/rpmsource.py b/updatebot/pkgsource/rpmsource.py
--- a/updatebot/pkgsource/rpmsource.py
+++ b/updatebot/pkgsource/rpmsource.py
@@ -98,7 +98,7 @@
                 'x86_64' in pkg.location):
                 continue
 
-            if pkg.sourcerpm == '':
+            if pkg.sourcerpm == '' or pkg.sourcerpm is None:
                 self._procSrc(pkg)
             else:
                 self._procBin(pkg)

From johnsonm@rpath.com Wed Aug 19 18:22:32 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMVZE011215
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:31 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMVtL013671
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:31 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMVE5028721
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:31 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3g024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:33 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgbCh022949
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:37 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgbCh022949@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:37 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: reference correct class
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:36 -0000

changeset:   65f6933a300d
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 19 Mar 2009 17:07:24 -0400

reference correct class

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -99,7 +99,7 @@
 
         # Use default tmpDir when building with rMake since the specified
         # tmpDir may not exist in the build root.
-        self._rmakeCfg.tmpDir = conarycfg.ConaryConfiguration.tmpDir[1]
+        self._rmakeCfg.tmpDir = conarycfg.ConaryContext.tmpDir[1]
 
         self._helper = helper.rMakeHelper(buildConfig=self._rmakeCfg)
 

From johnsonm@rpath.com Wed Aug 19 18:22:32 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMVWJ011213
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:31 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMVFn013670
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:31 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMUJv028719
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:30 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3e024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:33 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgmeu023425
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:50 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgmeu023425@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:48 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: don't fail if there are no groups
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:36 -0000

changeset:   c90bc48ac71e
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 22 Apr 2009 17:35:21 -0400

don't fail if there are no groups

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/findbinaries b/scripts/findbinaries
--- a/scripts/findbinaries
+++ b/scripts/findbinaries
@@ -66,7 +66,11 @@
 
 
 pkgs = helper._repos.getTroveLeavesByLabel({None: {helper._ccfg.buildLabel: None}})
-groupPkgs = helper.getSourceTroves(cfg.topGroup)
+
+try:
+    groupPkgs = helper.getSourceTroves(cfg.topGroup)
+except errors.GroupNotFound:
+    groupPkgs = {}
 
 pkgs = filterPkgs(pkgs)
 groupPkgs = filterPkgs(groupPkgs)

From johnsonm@rpath.com Wed Aug 19 18:22:30 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMTap011202
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:29 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMTCF013646
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:29 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMSkg028699
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:29 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3W024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:30 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfnth021059
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:50 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfnth021059@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:49 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove break point
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:30 -0000

changeset:   494635f071ec
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 16 Dec 2008 18:45:06 -0500

remove break point

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/centos.py b/updatebot/advisories/centos.py
--- a/updatebot/advisories/centos.py
+++ b/updatebot/advisories/centos.py
@@ -98,8 +98,6 @@
         msg.summary = msg.summary.replace('[CentOS-announce]', '')
         msg.summary = msg.summary.strip()
 
-        import epdb; epdb.st()
-
         for pkgName in msg.pkgs:
             # Toss out any arches that we don't know how to handle.
             if not self._supportedArch(pkgName):

From johnsonm@rpath.com Wed Aug 19 18:22:34 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMX68011225
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:33 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMXCV013679
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:33 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMWYL028728
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:32 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3i024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:34 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeduE018243
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:41 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeduE018243@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:39 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix typo
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:38 -0000

changeset:   b2272a33add4
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 08 Sep 2008 02:34:10 -0400

fix typo

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/extra/logparse.py b/extra/logparse.py
--- a/extra/logparse.py
+++ b/extra/logparse.py
@@ -479,7 +479,7 @@
         recipeDir = self._helper._checkout(pkgName)
         control = self.getControl()
         if not control and os.path.exists(os.path.join(recipeDir, 'control')):
-            self._helper.removeFile('control')
+            self._helper._removeFile('control')
         if control:
             fd = open(os.path.join(recipeDir, 'control'), 'w')
             fd.write(control)

From johnsonm@rpath.com Wed Aug 19 18:22:31 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMUEM011209
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:31 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMUDV013660
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:30 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMU0f028710
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:30 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3a024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:32 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLea56018090
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:40 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLea56018090@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:36 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: don't built everything
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:39 -0000

changeset:   e6dc310024bb
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 03 Sep 2008 11:27:56 -0400

don't built everything

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -114,7 +114,7 @@
         self._populatePkgSource()
 
         # Import sources into repository.
-        toBuild, fail = self._updater.create(self._cfg.package, buildAll=True)
+        toBuild, fail = self._updater.create(self._cfg.package, buildAll=False)
 
         # Build all newly imported packages.
 #        trvMap, failed = self._builder.buildmany(toBuild)

From johnsonm@rpath.com Wed Aug 19 18:22:36 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMZjS011236
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:35 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMYgh013690
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:35 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMYwR028732
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:34 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3k024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:36 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLglsH023374
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:47 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLglsH023374@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:47 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: use system libs
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:39 -0000

changeset:   aa4c0d17c1c7
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 22 Apr 2009 14:35:22 -0400

use system libs

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/rebuild b/scripts/rebuild
--- a/scripts/rebuild
+++ b/scripts/rebuild
@@ -16,11 +16,7 @@
 import os
 import sys
 
-sys.path.insert(0, os.environ['HOME'] + '/hg/rpath-xmllib')
-sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
 sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
-sys.path.insert(0, os.environ['HOME'] + '/hg/rmake')
-sys.path.insert(0, os.environ['HOME'] + '/hg/xobj/py')
 
 from conary.lib import util
 sys.excepthook = util.genExcepthook()

From johnsonm@rpath.com Wed Aug 19 18:22:36 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMZnP011237
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:35 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMYgM013691
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:35 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMYtN028734
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:34 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3m024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:37 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLd1JZ014266
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:08 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLd1JZ014266@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:01 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove "return" short circuit preventing commits (it
	was for testing)
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:40 -0000

changeset:   f3cfdc89d014
user:        Matt Wilson <https://issues.rpath.com/>
date:        Mon, 02 Jun 2008 15:44:55 -0400

remove "return" short circuit preventing commits (it was for testing)

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/rpmimport/recipemaker.py b/rpmimport/recipemaker.py
--- a/rpmimport/recipemaker.py
+++ b/rpmimport/recipemaker.py
@@ -47,7 +47,6 @@
         except Exception, e:
             print '++++++ error building', pkgname, str(e)
             return
-        return
         cvc.sourceCommand(self.cfg,
                          [ 'commit' ],
                          { 'message':

From johnsonm@rpath.com Wed Aug 19 18:22:36 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMa6I011242
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:36 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMaVl013700
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:36 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMZKq028741
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:36 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3o024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:37 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgTds022592
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:29 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgTds022592@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:28 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add new config options
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:41 -0000

changeset:   554d833b72e1
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 24 Feb 2009 16:42:35 -0500

add new config options

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -180,7 +180,11 @@
     satisUrl            = CfgString
 
     # Try to build from source rpms
-    buildFromSource = (CfgBool, False)
+    buildFromSource     = (CfgBool, False)
+
+    # Write package metadata to the source trove no matter the source
+    # package format.
+    writePackageMetadata = (CfgBool, False)
 
 
 class UpdateBotConfig(cfg.SectionedConfigFile):

From johnsonm@rpath.com Wed Aug 19 18:22:39 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMbeo011249
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:39 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMbdj013709
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:37 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMbCc028748
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:37 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3s024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:39 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfPq8020103
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:25 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfPq8020103@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:25 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: don't load advisories in __init__
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:46 -0000

changeset:   59149e560484
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 14 Nov 2008 18:46:50 -0500

don't load advisories in __init__

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/__init__.py b/updatebot/advisories/__init__.py
--- a/updatebot/advisories/__init__.py
+++ b/updatebot/advisories/__init__.py
@@ -42,6 +42,6 @@
                                   % (backend, e))
 
 def Advisor(cfg, pkgSource, backend):
-    klass = __getBackend(backend)
-    obj = klass.Advisor(cfg, pkgSource)
-    return obj.load()
+    module = __getBackend(backend)
+    obj = module.Advisor(cfg, pkgSource)
+    return obj

From johnsonm@rpath.com Wed Aug 19 18:22:41 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMf7o011261
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:41 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMe7J013725
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:41 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMedT028760
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:40 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA40024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeeZu018260
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:41 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeeZu018260@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:40 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix syntax
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:47 -0000

changeset:   c17f8015ac03
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 08 Sep 2008 02:36:39 -0400

fix syntax

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/extra/logparse.py b/extra/logparse.py
--- a/extra/logparse.py
+++ b/extra/logparse.py
@@ -479,7 +479,7 @@
         recipeDir = self._helper._checkout(pkgName)
         control = self.getControl()
         if not control and os.path.exists(os.path.join(recipeDir, 'control')):
-            self._helper._removeFile('control')
+            self._helper._removeFile(recipeDir, 'control')
         if control:
             fd = open(os.path.join(recipeDir, 'control'), 'w')
             fd.write(control)

From johnsonm@rpath.com Wed Aug 19 18:22:39 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMbII011246
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:37 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMa1I013704
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:36 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMan9028745
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:36 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:39 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgkZ6023323
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:47 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgkZ6023323@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:46 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: use local libs
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:47 -0000

changeset:   0a55801f03cb
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 21 Apr 2009 14:23:49 -0400

use local libs

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/header.py b/scripts/header.py
--- a/scripts/header.py
+++ b/scripts/header.py
@@ -15,11 +15,7 @@
 import os
 import sys
 
-sys.path.insert(0, os.environ['HOME'] + '/hg/rpath-xmllib')
-sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
 sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
-sys.path.insert(0, os.environ['HOME'] + '/hg/rmake')
-sys.path.insert(0, os.environ['HOME'] + '/hg/xobj/py')
 
 from conary.lib import util
 sys.excepthook = util.genExcepthook()

From johnsonm@rpath.com Wed Aug 19 18:22:44 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMh9C011283
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:43 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMhdl013738
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:43 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMhta028771
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:43 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA46024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:45 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeYtp018022
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:37 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeYtp018022@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:34 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: updatebot/bot.py: restore buildAll=True
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:50 -0000

changeset:   1a740c0850b0
user:        Jeff Uphoff <https://issues.rpath.com/>
date:        Tue, 02 Sep 2008 22:13:52 -0400

updatebot/bot.py: restore buildAll=True

committer: Jeff Uphoff <https://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -114,7 +114,7 @@
         self._populatePkgSource()
 
         # Import sources into repository.
-        toBuild, fail = self._updater.create(self._cfg.package, buildAll=False)
+        toBuild, fail = self._updater.create(self._cfg.package, buildAll=True)
 
         # Build all newly imported packages.
 #        trvMap, failed = self._builder.buildmany(toBuild)

From johnsonm@rpath.com Wed Aug 19 18:22:40 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMdGJ011250
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:39 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMdLf013713
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:39 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMc6G028751
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:38 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3u024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:40 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfo8G021076
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:50 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfo8G021076@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:50 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix typo
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:50 -0000

changeset:   cdd5cee4ec38
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 17 Dec 2008 12:47:47 -0500

fix typo

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/pkgsource/debsource.py b/updatebot/pkgsource/debsource.py
--- a/updatebot/pkgsource/debsource.py
+++ b/updatebot/pkgsource/debsource.py
@@ -49,7 +49,7 @@
         Load repository metadata from a config object.
         """
 
-        client = repomd.Client(self._cfg.repositoryUrl)
+        client = aptmd.Client(self._cfg.repositoryUrl)
         for repo in self._cfg.repositoryPaths:
             log.info('loading repository data %s' % repo)
             self.loadFromClient(client, repo)

From johnsonm@rpath.com Wed Aug 19 18:22:42 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMgOU011268
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:42 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMfRT013729
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:42 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMfZl028763
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:41 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA42024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:44 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLf1h2019128
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:03 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLf1h2019128@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:01 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add newContainer method
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:52 -0000

changeset:   6753f26869df
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 22 Oct 2008 15:53:48 -0400

add newContainer method

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/aptmd/parser.py b/aptmd/parser.py
--- a/aptmd/parser.py
+++ b/aptmd/parser.py
@@ -133,6 +133,13 @@
 
         return key
 
+    def _newContainer(self):
+        if self._curObj is not None:
+            if hasattr(self._curObj, 'finalize'):
+                self._curObj.finalize()
+            self._objects.append(self._curObj)
+        self._curObj = self._containerClass()
+
     def parse(self, fileObj):
         self._objects = []
         Parser.parse(self, fileObj)

From johnsonm@rpath.com Wed Aug 19 18:22:43 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMhk2011275
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:43 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMgQ1013735
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:42 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMgda028767
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:42 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA44024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:44 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfN1i020001
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:23 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfN1i020001@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:23 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: backend should not be optional
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:52 -0000

changeset:   3cb15bb55727
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 14 Nov 2008 17:47:22 -0500

backend should not be optional

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/__init__.py b/updatebot/advisories/__init__.py
--- a/updatebot/advisories/__init__.py
+++ b/updatebot/advisories/__init__.py
@@ -34,7 +34,7 @@
         raise InvalidBackendError('Could not load %s backend: %s'
                                   % (backend, e))
 
-def Advisor(cfg, pkgSource, backend='centos'):
+def Advisor(cfg, pkgSource, backend):
     klass = __getBackend(backend)
     obj = klass(cfg, pkgSource)
     return obj.load()

From johnsonm@rpath.com Wed Aug 19 18:22:41 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMegx011257
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:40 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMeOj013719
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:40 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMdBh028755
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:39 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA3w024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:41 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdSwR015379
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:37 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdSwR015379@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:28 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: change to workDir before running test
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:52 -0000

changeset:   d9d97d2d8618
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 17 Jun 2008 15:18:35 -0400

change to workDir before running test

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/test/slehelp.py b/test/slehelp.py
--- a/test/slehelp.py
+++ b/test/slehelp.py
@@ -15,6 +15,7 @@
 import testsuite
 testsuite.setup()
 
+import os
 import rmakehelp
 
 from updatebot import config
@@ -26,6 +27,7 @@
         self.updateBotCfg.configPath = self.cfg.root
         self.cfg.user = ('test', 'test')
         self.writeFile(self.cfg.root + '/conaryrc', '')
+        os.chdir(self.workDir)
 
     def initializeFlavor(self):
         pass

From johnsonm@rpath.com Wed Aug 19 18:22:48 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMmRQ011307
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:48 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMmYw013768
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:48 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMlOU028824
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:47 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4I024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:50 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLe77C016915
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:12 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLe77C016915@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:07 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: make it so that the first package found is used
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:53 -0000

changeset:   e9f455a92079
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Mon, 11 Aug 2008 18:59:02 -0400

make it so that the first package found is used

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -186,8 +186,8 @@
                 pkgMap[key] = pkg
                 continue
 
-            # check if newer, last wins
-            if util.packagevercmp(pkg, pkgMap[key]) in (0, 1):
+            # check if newer, first wins
+            if util.packagevercmp(pkg, pkgMap[key]) in (1, ):
                 pkgMap[key] = pkg
 
         ret = pkgMap.values()

From johnsonm@rpath.com Wed Aug 19 18:22:46 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMkbA011296
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:46 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMjKJ013756
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:45 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMjh1028793
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:45 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4C024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:47 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfapP020480
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:36 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfapP020480@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:36 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: make sure msg.packages is set
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:53 -0000

changeset:   4827e2e7c4f2
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 18 Nov 2008 12:29:52 -0500

make sure msg.packages is set

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/centos.py b/updatebot/advisories/centos.py
--- a/updatebot/advisories/centos.py
+++ b/updatebot/advisories/centos.py
@@ -102,6 +102,9 @@
                 if binPkg not in self._pkgMap:
                     self._pkgMap[binPkg] = set()
                 self._pkgMap[binPkg].add(msg)
+
+                if msg.packages is None:
+                    msg.packages = set()
                 msg.packages.add(binPkg)
 
             # Strip arch out of the subject

From johnsonm@rpath.com Wed Aug 19 18:22:45 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMjBT011290
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:45 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMid5013747
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:44 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMiQI028775
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:44 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA48024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:46 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgDjI021979
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:13 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgDjI021979@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:13 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: allow packages to be included in an update that are
	not mentioned in the
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:53 -0000

changeset:   b16b668a3ba8
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 05 Feb 2009 18:15:18 -0500

allow packages to be included in an update that are not mentioned in the
advisory for ubuntu

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/ubuntu.py b/updatebot/advisories/ubuntu.py
--- a/updatebot/advisories/ubuntu.py
+++ b/updatebot/advisories/ubuntu.py
@@ -29,6 +29,8 @@
     Class for processing Ubuntu advisory information.
     """
 
+    allowExtraPackages = True
+
     def load(self):
         """
         Parse the required data to generate a mapping of binary package

From johnsonm@rpath.com Wed Aug 19 18:22:47 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMksL011301
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:46 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMkX1013761
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:46 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMkvN028807
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:46 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4E024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:48 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfxpn021417
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:59 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfxpn021417@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:59 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add more paths
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:54 -0000

changeset:   6030b4bd0798
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 12 Jan 2009 16:56:10 -0500

add more paths

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/validatemanifests.py b/scripts/validatemanifests.py
--- a/scripts/validatemanifests.py
+++ b/scripts/validatemanifests.py
@@ -19,6 +19,9 @@
 
 sys.path.insert(0, os.environ['HOME'] + '/hg/26/xobj/py')
 sys.path.insert(0, os.environ['HOME'] + '/hg/26/mirrorball')
+sys.path.insert(0, os.environ['HOME'] + '/hg/26/conary')
+sys.path.insert(0, os.environ['HOME'] + '/hg/26/rmake')
+sys.path.insert(0, os.environ['HOME'] + '/hg/26/epdb')
 
 from conary.lib import util
 sys.excepthook = util.genExcepthook()

From johnsonm@rpath.com Wed Aug 19 18:22:47 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMlPB011303
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:47 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMl4I013765
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:47 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMlmw028816
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:47 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4G024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:49 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgagm022915
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:36 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgagm022915@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:36 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add scientific linux to the list of available modules
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:54 -0000

changeset:   2f5af5a15cd0
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 16 Mar 2009 17:33:06 -0400

add scientific linux to the list of available modules

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/__init__.py b/updatebot/advisories/__init__.py
--- a/updatebot/advisories/__init__.py
+++ b/updatebot/advisories/__init__.py
@@ -26,7 +26,7 @@
     Raised when an unsupported backend is used.
     """
 
-__supportedBackends = ('sles', 'centos', 'ubuntu', 'fedora')
+__supportedBackends = ('sles', 'centos', 'ubuntu', 'fedora', 'scientific')
 
 def __getBackend(backend):
     if backend not in __supportedBackends:

From johnsonm@rpath.com Wed Aug 19 18:22:45 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMjLf011291
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:45 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMiGO013748
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:45 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMiH1028778
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:44 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4A024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:46 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfZnp020446
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:35 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfZnp020446@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:35 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: walk entire set of slots
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:54 -0000

changeset:   c0f39dec0abc
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 18 Nov 2008 12:20:21 -0500

walk entire set of slots

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/repomd/xmlcommon.py b/repomd/xmlcommon.py
--- a/repomd/xmlcommon.py
+++ b/repomd/xmlcommon.py
@@ -66,6 +66,8 @@
     __slots__ = ()
 
     def __init__(self, *args, **kw):
-        for attr in self.__slots__:
-            setattr(self, attr, None)
+        for cls in self.__class__.__mro__:
+            if hasattr(cls, '__slots__'):
+                for attr in self.__slots__:
+                    setattr(self, attr, None)
         xmllib.BaseNode.__init__(self, *args, **kw)

From johnsonm@rpath.com Wed Aug 19 18:22:50 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMnRU011312
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:50 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMnmM013780
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:49 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMnkj028841
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:49 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4M024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:51 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeMXt017494
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:26 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeMXt017494@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:22 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add an excepthook
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:55 -0000

changeset:   cc35d8efa5f3
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Mon, 18 Aug 2008 22:04:06 -0400

add an excepthook

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/scripts/buildpackages b/scripts/buildpackages
--- a/scripts/buildpackages
+++ b/scripts/buildpackages
@@ -14,6 +14,9 @@
 sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
 sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
 
+from conary.lib import util
+sys.excepthook = util.genExcepthook()
+
 from updatebot import log
 from updatebot import build
 from updatebot import config
@@ -24,7 +27,6 @@
 
 builder = build.Builder(cfg)
 
-
 trvs = set()
 label = cfg.topSourceGroup[1]
 for pkg in sys.argv[1:]:

From johnsonm@rpath.com Wed Aug 19 18:22:50 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMnH4011310
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:49 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMn3X013773
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:49 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMmvB028835
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:48 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4K024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:50 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgMsr022336
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:22 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgMsr022336@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:22 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: don't poke at the rmake server so much
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:55 -0000

changeset:   d8b23c6a3398
user:        Elliot Peele <https://issues.rpath.com/>
date:        Sun, 08 Feb 2009 06:35:19 +0000

don't poke at the rmake server so much

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -506,7 +506,7 @@
         try:
             job = self.builder._helper.getJob(self.jobId)
             while not job.isFinished() and not job.isFailed():
-                time.sleep(5)
+                time.sleep(20 + self.offset)
                 job = self.builder._helper.getJob(self.jobId)
         except xml.parsers.expat.ExpatError, e:
             return False, None

From johnsonm@rpath.com Wed Aug 19 18:22:52 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMofm011315
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:50 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMo3U013784
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:50 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMoBF028846
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:50 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4O024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:52 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLe7f4016898
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:12 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLe7f4016898@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:07 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: don't print progress
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:55 -0000

changeset:   7a0ac308929e
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Mon, 11 Aug 2008 18:18:39 -0400

don't print progress

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/scripts/sync-opensuse.sh b/scripts/sync-opensuse.sh
old mode 100644
new mode 100755
--- a/scripts/sync-opensuse.sh
+++ b/scripts/sync-opensuse.sh
@@ -1,5 +1,5 @@
 #!/bin/bash -xe
 
-rsync -arv --progress --exclude iso --exclude 10.* --exclude ppc --exclude ppc64 rsync://rsync.opensuse.org/opensuse-full /mnt/rpath/linux/
+rsync -arv --exclude iso --exclude 10.* --exclude ppc --exclude ppc64 rsync://rsync.opensuse.org/opensuse-full/opensuse/ /mnt/rpath/linux/opensuse
 
 ./hardlink.py /mnt/rpath/linux/opensuse

From johnsonm@rpath.com Wed Aug 19 18:22:52 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMpjg011320
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:52 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMoK9013789
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:50 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMobu028849
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:50 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4Q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:53 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeY5O018005
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:36 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeY5O018005@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:34 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: updatebotrc: add apache2.2-common and introduced deps
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:55 -0000

changeset:   d49589fa55b2
user:        Jeff Uphoff <https://issues.rpath.com/>
date:        Tue, 02 Sep 2008 22:12:29 -0400

updatebotrc: add apache2.2-common and introduced deps

committer: Jeff Uphoff <https://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -114,7 +114,7 @@
         self._populatePkgSource()
 
         # Import sources into repository.
-        toBuild, fail = self._updater.create(self._cfg.package, buildAll=True)
+        toBuild, fail = self._updater.create(self._cfg.package, buildAll=False)
 
         # Build all newly imported packages.
 #        trvMap, failed = self._builder.buildmany(toBuild)

From johnsonm@rpath.com Wed Aug 19 18:22:52 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMp2s011321
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:52 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMpoe013795
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:51 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMp6v028852
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:51 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4S024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:53 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfFbY019675
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:16 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfFbY019675@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:15 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: use conary-test-2.0
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:55 -0000

changeset:   55308947a311
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 06 Nov 2008 20:35:56 -0500

use conary-test-2.0

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/test/testsuite.py b/test/testsuite.py
--- a/test/testsuite.py
+++ b/test/testsuite.py
@@ -56,7 +56,7 @@
 
     testutilsPath = setPathFromEnv('TESTUTILS_PATH', '../testutils')
     conaryDir = setPathFromEnv('CONARY_PATH', '../conary')
-    conaryTestPath = setPathFromEnv('CONARY_TEST_PATH', '../conary-test')
+    conaryTestPath = setPathFromEnv('CONARY_TEST_PATH', '../conary-test-2.0')
     setPathFromEnv('CONARY_POLICY_PATH', '/usr/lib/conary/policy')
     mirrorballPath = setPathFromEnv('SLEESTACK_PATH', '')
 

From johnsonm@rpath.com Wed Aug 19 18:22:53 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMqmO011323
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:52 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMqjk013798
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:52 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMpgq028855
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:51 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4U024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:54 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfbFW020532
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:37 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfbFW020532@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:37 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove breakpoint
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:56 -0000

changeset:   f4f34f7b9393
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 18 Nov 2008 12:34:34 -0500

remove breakpoint

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/common.py b/updatebot/advisories/common.py
--- a/updatebot/advisories/common.py
+++ b/updatebot/advisories/common.py
@@ -241,7 +241,6 @@
                     log.info('package not in updates repository %s' % binPkg)
                     log.debug(binPkg.location)
                 elif len(patches) > 0:
-                    import epdb; epdb.st()
                     log.info('found package not mentioned in advisory %s'
                              % binPkg)
                     log.debug(binPkg.location)

From johnsonm@rpath.com Wed Aug 19 18:22:56 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMsbg011330
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:55 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMrIR013801
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:53 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMqaM028858
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:52 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4W024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:55 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfnaQ021025
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:49 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfnaQ021025@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:49 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: filter out older versions
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:57 -0000

changeset:   94abdd2827c3
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 11 Dec 2008 17:47:14 -0500

filter out older versions

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/promote.py b/scripts/promote.py
--- a/scripts/promote.py
+++ b/scripts/promote.py
@@ -25,6 +25,7 @@
 slog = logging.getLogger('script')
 
 trvLst = helper._repos.findTrove(helper._ccfg.buildLabel, cfg.topGroup)
+trvLst = helper._findLatest(trvLst)
 
 cs, packages = helper.promote(
     trvLst,
@@ -48,6 +49,8 @@
 pkgs.sort()
 
 for pkg in pkgs:
+    if pkg[0].startswith('group-'):
+        continue
     for flv in pkgMap[pkg]:
         if len(pkgMap[pkg]) > 1 and flv == deps.Flavor():
             continue

From johnsonm@rpath.com Wed Aug 19 18:22:56 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMtXq011334
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:55 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMsRZ013811
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:54 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMsO6028864
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:54 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4a024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:57 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfYmI020412
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:34 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfYmI020412@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:34 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: walk all of the __slots__ to set them to None
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:57 -0000

changeset:   bbc7efab7b1c
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 18 Nov 2008 12:16:32 -0500

walk all of the __slots__ to set them to None

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/aptmd/container.py b/aptmd/container.py
--- a/aptmd/container.py
+++ b/aptmd/container.py
@@ -16,8 +16,11 @@
     __slots__ = ('_data', )
 
     def __init__(self):
-        for item in self.__slots__:
-            setattr(self, item, None)
+        for cls in self.__class__.__mro__:
+            if hasattr(cls, '__slots__'):
+                for item in cls.__slots__:
+                    print item
+                    setattr(self, item, None)
 
         self._data = {}
 

From johnsonm@rpath.com Wed Aug 19 18:22:57 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMsFT011331
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:55 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMsCL013804
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:54 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMs4Q028861
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:54 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4Y024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:55 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLecna018158
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:40 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLecna018158@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:37 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: honor excluded packages when rebuilding
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:57 -0000

changeset:   c10c5fa755a4
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 05 Sep 2008 18:43:54 -0400

honor excluded packages when rebuilding

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -250,7 +250,8 @@
         if buildAll and pkgs:
             toBuild.update(
                 [ (x, self._conaryhelper.getLatestSourceVersion(x), None)
-                  for x in pkgs if not x.startswith('info-') ]
+                  for x in pkgs if not x.startswith('info-')
+                            and x not in self._cfg.excludePackages ]
             )
 
         return toBuild, fail

From johnsonm@rpath.com Wed Aug 19 18:22:57 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMtD0011337
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:56 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMtsv013814
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:55 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMtPH028869
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:55 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4c024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:57 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeor3018685
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:52 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeor3018685@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:50 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: actually return the parsed value
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:58 -0000

changeset:   fec9ecdac05d
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 23 Sep 2008 13:36:42 -0400

actually return the parsed value

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/aptmd/packages.py b/aptmd/packages.py
--- a/aptmd/packages.py
+++ b/aptmd/packages.py
@@ -44,12 +44,14 @@
         })
 
     def parse(self, fn):
-        BaseParser.parse(self, fn)
+        ret = BaseParser.parse(self, fn)
         # If there is any text left, collect it in the description
         if self._text:
             self._curObj.description = self._text
             self._text = ''
 
+        return ret
+
     def _source(self):
         source = self._getLine()
         assert source != ''

From johnsonm@rpath.com Wed Aug 19 18:22:57 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMvQ2011344
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:57 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMuBY013819
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:56 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMuMS028873
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:56 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4e024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:58 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfNYI020035
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:23 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfNYI020035@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:23 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add doc strings
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:58 -0000

changeset:   fb7c45856491
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 14 Nov 2008 18:13:24 -0500

add doc strings

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/__init__.py b/updatebot/advisories/__init__.py
--- a/updatebot/advisories/__init__.py
+++ b/updatebot/advisories/__init__.py
@@ -12,6 +12,10 @@
 # full details.
 #
 
+"""
+Top level advisories module.
+"""
+
 import logging
 from imputil import imp
 
diff --git a/updatebot/advisories/common.py b/updatebot/advisories/common.py
--- a/updatebot/advisories/common.py
+++ b/updatebot/advisories/common.py
@@ -12,6 +12,10 @@
 # full details.
 #
 
+"""
+Base modules for dealing
+"""
+
 import time
 import smtplib
 import logging

From johnsonm@rpath.com Wed Aug 19 18:22:58 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMwVI011354
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:58 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMv6Z013825
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:58 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMvVX028876
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:57 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4g024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:59 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgvm8023766
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:57 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgvm8023766@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:57 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: don't raise an exception, let empty patch list to
	pass through
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:22:58 -0000

changeset:   4541979bc80a
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 11 May 2009 16:04:43 -0400

don't raise an exception, let empty patch list to pass through

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/common.py b/updatebot/advisories/common.py
--- a/updatebot/advisories/common.py
+++ b/updatebot/advisories/common.py
@@ -225,9 +225,6 @@
                 if binPkg in self._pkgMap:
                     patches.update(self._pkgMap[binPkg])
 
-            if len(patches) == 0:
-                raise NoAdvisoryFoundError(why=srcPkg)
-
             if self._checkForDuplicates(patches):
                 patches = set([patches.pop()])
 

From johnsonm@rpath.com Wed Aug 19 18:22:59 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMxHi011366
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:59 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMxWo013838
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:59 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMxBj028881
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:59 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4k024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:01 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeEK5017205
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:17 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeEK5017205@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:14 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add config option for selectiong repository backend
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:00 -0000

changeset:   2951fd6cf9b0
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 14 Aug 2008 18:12:34 -0400

add config option for selectiong repository backend

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -53,6 +53,9 @@
     # path to configuration files (conaryrc, rmakerc)
     configPath          = CfgString
 
+    # type of upstream repostory to pull packages from, supported are apt and yum.
+    repositoryFormat    = (CfgString, 'yum')
+
     # Default commit message to use when committing to the repository.
     commitMessage       = (CfgString, 'Automated commit by updateBot')
 

From johnsonm@rpath.com Wed Aug 19 18:22:59 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMMxhJ011365
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:59 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMMxw6013837
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:59 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMMwK2028880
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:58 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4i024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:00 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLef8v018311
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:42 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLef8v018311@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:41 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: don't default to distructive means
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:00 -0000

changeset:   a20c9e46a2e2
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 08 Sep 2008 22:06:16 -0400

don't default to distructive means

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/extra/logparse.py b/extra/logparse.py
--- a/extra/logparse.py
+++ b/extra/logparse.py
@@ -579,10 +579,10 @@
     obj.makeBuckets()
 #    obj.findPathConflicts()
 
-    for logObj in obj._logFiles:
-        print 80 * '='
-        print 'Package:', logObj
-        print logObj.getControl()
-        logObj.writeControl()
+    #for logObj in obj._logFiles:
+    #    print 80 * '='
+    #    print 'Package:', logObj
+    #    print logObj.getControl()
+    #    logObj.writeControl()
 
     import epdb; epdb.st()

From johnsonm@rpath.com Wed Aug 19 18:23:02 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMN2Zs011392
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:02 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMN1JF013870
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:02 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMN1tJ028899
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:01 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:04 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdlWK016113
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:54 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdlWK016113@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:47 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: pull rpmvercmp from rpmutils module
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:04 -0000

changeset:   2e03b4c26118
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 09 Jul 2008 11:58:53 -0400

pull rpmvercmp from rpmutils module

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -18,7 +18,7 @@
 
 import logging
 
-from rpmvercmp import rpmvercmp
+from rpmutils import rpmvercmp
 
 from updatebot import util
 from updatebot import conaryhelper
diff --git a/updatebot/util.py b/updatebot/util.py
--- a/updatebot/util.py
+++ b/updatebot/util.py
@@ -22,7 +22,7 @@
 import os
 from conary.lib.util import rmtree
 
-from rpmvercmp import rpmvercmp
+from rpmutils import rpmvercmp
 
 def join(a, *b):
     """

From johnsonm@rpath.com Wed Aug 19 18:23:01 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMN07n011376
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:00 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMN0pv013853
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:00 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMN0BO028890
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:00 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4m024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:02 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfN5X020018
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:23 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfN5X020018@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:23 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: backend is no longer a keyword arg
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:01 -0000

changeset:   be68160e3258
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 14 Nov 2008 17:47:54 -0500

backend is no longer a keyword arg

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -43,7 +43,7 @@
         self._pkgSource = pkgsource.PackageSource(self._cfg)
         self._updater = update.Updater(self._cfg, self._pkgSource)
         self._advisor = advisories.Advisor(self._cfg, self._pkgSource,
-                                           backend=self._cfg.platformName)
+                                           self._cfg.platformName)
         self._builder = build.Builder(self._cfg)
 
     @staticmethod

From johnsonm@rpath.com Wed Aug 19 18:23:01 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMN17w011383
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:01 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMN0Oq013856
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:00 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMM0gn028534
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:22:00 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA2K024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:22:02 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLesfj018838
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:56 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLesfj018838@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:54 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: make init compatable to conarycfg object
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:04 -0000

changeset:   f7249ff57755
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 24 Sep 2008 22:53:22 -0400

make init compatable to conarycfg object

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -111,3 +111,6 @@
     emailTo             = (CfgList(CfgString), [])
     emailBcc            = (CfgList(CfgString), [])
     smtpServer          = CfgString
+
+    def __init__(self, *args, **kwargs):
+        cfg.SectionedConfigFile.__init__(self)

From johnsonm@rpath.com Wed Aug 19 18:23:01 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMN1rT011385
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:01 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMN1DE013863
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:01 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMN12X028894
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:01 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4o024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:03 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLej50018464
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:47 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLej50018464@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:45 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: avoid the universe
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:04 -0000

changeset:   9d31a44dd8ab
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 10 Sep 2008 23:53:13 -0400

avoid the universe

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/sync-ubuntu.sh b/scripts/sync-ubuntu.sh
--- a/scripts/sync-ubuntu.sh
+++ b/scripts/sync-ubuntu.sh
@@ -16,6 +16,6 @@
 SOURCE=rsync://mirrors.us.kernel.org/ubuntu/
 DEST=/l/ubuntu/
 
-rsync -arv --progress --exclude dapper* --exclude feisty* --exclude gustsy* --delete  --exclude pool/restricted/* --exclude pool/multiverse/* $SOURCE $DEST
+rsync -arv --progress --exclude dapper* --exclude feisty* --exclude gustsy* --delete --exclude pool/universe/* --exclude pool/restricted/* --exclude pool/multiverse/* $SOURCE $DEST
 
 ./hardlink.py $DEST

From johnsonm@rpath.com Wed Aug 19 18:23:02 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMN2FA011397
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:02 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMN2VS013875
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:02 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMN2Q0028903
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:02 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4s024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:04 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLd6Jf014486
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:12 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLd6Jf014486@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:06 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: cleanup from quote replacement
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:06 -0000

changeset:   0c0e5c3cb2e2
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 02 Jun 2008 22:29:00 -0400

cleanup from quote replacement

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -147,7 +147,11 @@
     # pylint: disable-msg=R0901
 
     def _troveLogUpdated(self, (jobId, troveTuple), state, status):
-        """Don't care about trove logs'''
+        """
+        Don't care about trove logs
+        """
 
     def _trovePreparingChroot(self, (jobId, troveTuple), host, path):
-        """Don't care about resolving/installing chroot'''
+        """
+        Don't care about resolving/installing chroot
+        """

From johnsonm@rpath.com Wed Aug 19 18:23:04 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMN4O8011412
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:04 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMN4lZ013893
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:04 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMN3NM028914
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:03 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4w024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:06 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLehX8018396
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:46 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLehX8018396@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:43 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: pull in the universe
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:06 -0000

changeset:   56fad72b777a
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 10 Sep 2008 18:35:00 -0400

pull in the universe

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/sync-ubuntu.sh b/scripts/sync-ubuntu.sh
--- a/scripts/sync-ubuntu.sh
+++ b/scripts/sync-ubuntu.sh
@@ -16,6 +16,6 @@
 SOURCE=rsync://mirrors.us.kernel.org/ubuntu/
 DEST=/l/ubuntu/
 
-rsync -arv --progress --exclude dapper* --exclude feisty* --exclude gustsy* --delete  --exclude pool/universe/* --exclude pool/restricted/* --exclude pool/multiverse/* $SOURCE $DEST
+rsync -arv --progress --exclude dapper* --exclude feisty* --exclude gustsy* --delete  --exclude pool/restricted/* --exclude pool/multiverse/* $SOURCE $DEST
 
 ./hardlink.py $DEST

From johnsonm@rpath.com Wed Aug 19 18:23:05 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMN4tj011408
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:04 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMN3lD013890
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:03 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMN3vg028912
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:03 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA4u024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:05 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeOZF017597
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:27 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeOZF017597@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:24 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: build all troves
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:08 -0000

changeset:   45380a37b97e
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 19 Aug 2008 11:43:27 -0400

build all troves

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -113,12 +113,8 @@
         # Populate rpm source object from yum metadata.
         self._populatePkgSource()
 
-        #import epdb; epdb.st()
-
         # Import sources into repository.
-        toBuild, fail = self._updater.create(self._cfg.package)
-
-#        import epdb; epdb.st()
+        toBuild, fail = self._updater.create(self._cfg.package, buildAll=True)
 
         # Build all newly imported packages.
         trvMap, failed = self._builder.buildmany(toBuild)

From johnsonm@rpath.com Wed Aug 19 18:23:07 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMN7pc011425
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:07 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMN6ep013911
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:06 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMN6Hd028931
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:06 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA54024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:08 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLff00020685
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:42 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLff00020685@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:41 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add some log messages
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:10 -0000

changeset:   84a8bead41c4
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 19 Nov 2008 13:29:36 -0500

add some log messages

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -480,6 +480,8 @@
             log.info('mirroring disabled, no mirror.conf found for this platform')
             return
 
+        log.info('starting mirror')
+
         # Always use DEBUG logging when mirroring
         curLevel = clog.fmtLogger.level
         clog.setVerbosity(clog.DEBUG)
@@ -493,4 +495,6 @@
         # Reset loglevel
         clog.setVerbosity(curLevel)
 
+        log.info('mirror complete')
+
         return rc

From johnsonm@rpath.com Wed Aug 19 18:23:06 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMN5NB011416
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:05 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMN4x9013898
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:04 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMN44H028919
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:04 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA50024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:07 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgLnW022285
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:21 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgLnW022285@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:21 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: better build loop
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:10 -0000

changeset:   ce811d60ff71
user:        Elliot Peele <https://issues.rpath.com/>
date:        Sun, 08 Feb 2009 04:18:33 +0000

better build loop

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -470,12 +470,16 @@
             retries = 10
             built = False
             while not built and retries:
+                retries -= 1
                 try:
                     self._doBuild()
                 except Exception, e:
                     built = False
+                    continue
                 built = True
-                retries -= 1
+
+        if not built:
+            self.error('job failed')
 
         self.toBuild.task_done()
 

From johnsonm@rpath.com Wed Aug 19 18:23:06 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMN6CS011418
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:06 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMN5Kb013908
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:05 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMN5x3028925
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:05 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA52024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:07 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfxx4021400
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:59 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfxx4021400@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:59 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add support for local mirror configs
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:10 -0000

changeset:   027a6e3a9869
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 12 Jan 2009 16:28:13 -0500

add support for local mirror configs

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -57,6 +57,10 @@
         # Have to initialize flavors to commit to the repository.
         self._ccfg.initializeFlavors()
 
+        mirrorDir = util.join(cfg.configPath, 'mirrors')
+        if os.path.exists(mirrorDir):
+            self._ccfg.mirrorDirs.insert(0, mirrorDir)
+
         self._mcfg = None
         mcfgfn = util.join(cfg.configPath, 'mirror.conf')
         if os.path.exists(mcfgfn):

From johnsonm@rpath.com Wed Aug 19 18:23:08 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMN8lB011433
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:08 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMN7qA013915
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:07 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMN7Mo028934
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:07 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA56024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:09 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLh5IU024107
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:05 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLh5IU024107@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:05 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add script for building a list of packages split arch
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:11 -0000

changeset:   280bab8feb96
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 22 Jun 2009 10:24:45 -0400

add script for building a list of packages split arch

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/buildsplit b/scripts/buildsplit
new file mode 100755
--- /dev/null
+++ b/scripts/buildsplit
@@ -0,0 +1,23 @@
+#!/usr/bin/python
+#
+# Copryright (c) 2008-2009 rPath, Inc.
+#
+
+"""
+Script for cooking groups defined in the updatebot config.
+"""
+
+from header import *
+
+if len(sys.argv) < 3:
+    usage()
+
+trvs = set()
+label = cfg.topSourceGroup[1]
+for pkg in sys.argv[2:]:
+    trvs.add((pkg, label, None))
+trvMap = builder.buildsplitarch(trvs)
+
+print "built:\n"
+
+display(trvMap)

From johnsonm@rpath.com Wed Aug 19 18:23:08 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMN8NC011434
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:08 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMN7fm013919
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:08 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMN7lZ028937
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:07 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA58024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:10 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLh4XG024073
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:05 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLh4XG024073@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:04 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix typo
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:11 -0000

changeset:   f64a387fb3c2
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 15 Jun 2009 22:16:49 -0400

fix typo

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -311,7 +311,7 @@
                         # is only for kernels.
                         if flavor.stronglySatisfies(deps.parseFlavor('kernel.debug')):
                             continue
-                        flavor = deps.parseFlavor(str(flavor).replace('kernel', name)
+                        flavor = deps.parseFlavor(str(flavor).replace('kernel', name))
                     troves.append((name, version, flavor, context))
 
             # Handle special package flavors when specified.

From johnsonm@rpath.com Wed Aug 19 18:23:11 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMN9ZZ011440
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:10 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMN9gU013928
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:09 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMN9j3028942
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:09 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5A024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:11 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdL0I015106
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:30 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdL0I015106@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:21 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix typo
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:12 -0000

changeset:   cfb56767487c
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 16 Jun 2008 11:37:56 -0400

fix typo

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -154,7 +154,7 @@
                 pkgs.sort(util.packagevercmp)
 
                 # Raise an exception if the versions of the packages aren't equal.
-                if rpmvercmp(pkg[-1].version, binPkg.version) != 0:
+                if rpmvercmp(pkgs[-1].version, binPkg.version) != 0:
                     raise UpdateRemovesPackageError(why='all rpms in the '
                             'manifest should have the same version, trying '
                             'to add %s' % (pkgs[-1], ))

From johnsonm@rpath.com Wed Aug 19 18:23:11 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNA0t011441
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:10 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNAQ5013931
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:10 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMN9q0028945
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:10 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5C024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:12 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfgpw020736
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:42 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfgpw020736@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:42 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix typo
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:14 -0000

changeset:   73fd1898d188
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 19 Nov 2008 21:11:16 -0500

fix typo

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/common.py b/updatebot/advisories/common.py
--- a/updatebot/advisories/common.py
+++ b/updatebot/advisories/common.py
@@ -243,7 +243,7 @@
                     log.info('found package not mentioned in advisory %s'
                              % binPkg)
                     log.debug(binPkg.location)
-                    if not self.allowExtraPacakges:
+                    if not self.allowExtraPackages:
                         raise ExtraPackagesFoundInUpdateError(pkg=binPkg,
                                 src=srcPkg, advisory=list(patches)[0])
                 else:

From johnsonm@rpath.com Wed Aug 19 18:23:12 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNBtJ011448
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:11 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNB4L013945
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:11 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNBej028951
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:11 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5G024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:13 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdda2015807
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:43 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdda2015807@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:39 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: include all components and subpackages in return set
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:14 -0000

changeset:   be12e5e181e2
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 24 Jun 2008 16:03:50 -0400

include all components and subpackages in return set

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -96,9 +96,7 @@
             n = sn.split(':')[0]
             if (n, sv, None) not in ret:
                 ret[(n, sv, None)] = set()
-            for name, version, flavor in trvMap[(sn, sv, sf, c)]:
-                if name == n or name.startswith('group-'):
-                    ret[(n, sv, None)].add((name, version, flavor))
+            ret[(n, sv, None)].update(set(trvMap[(sn, sv, sf, c)]))
 
         return ret
 

From johnsonm@rpath.com Wed Aug 19 18:23:11 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNB9E011443
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:11 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNArE013937
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:10 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNAAR028948
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:10 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5E024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:13 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcpZu013827
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:00 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLcpZu013827@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:51 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix some typos in coverage setup
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:14 -0000

changeset:   030e63ddc449
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 28 May 2008 21:00:03 -0400

fix some typos in coverage setup

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/test/testsuite.py b/test/testsuite.py
--- a/test/testsuite.py
+++ b/test/testsuite.py
@@ -136,11 +136,11 @@
 
 def getCoverageDirs(handler, environ):
     basePath = os.environ['SLEESTACK_PATH']
-    coverageDirs = [ 'updateBot', 'rpmimport', 'repomd', ]
+    coverageDirs = [ 'updatebot', 'rpmimport', 'repomd', ]
 
     coveragePath = []
     for path in coverageDirs:
-        covaregePath.append(os.path.normpath(os.path.join(basePath, path)))
+        coveragePath.append(os.path.normpath(os.path.join(basePath, path)))
 
     return coveragePath
 

From johnsonm@rpath.com Wed Aug 19 18:23:13 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNCHH011457
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:12 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNCVh013948
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:12 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNCn4028957
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:12 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5I024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:14 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgrmI023596
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:53 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgrmI023596@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:53 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add buildmany script that builds each package in
	separate jobs
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:14 -0000

changeset:   3e6c1c482d28
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 05 May 2009 13:13:59 -0400

add buildmany script that builds each package in separate jobs

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/buildmany b/scripts/buildmany
new file mode 100755
--- /dev/null
+++ b/scripts/buildmany
@@ -0,0 +1,23 @@
+#!/usr/bin/python
+#
+# Copryright (c) 2008-2009 rPath, Inc.
+#
+
+"""
+Script for cooking groups defined in the updatebot config.
+"""
+
+from header import *
+
+if len(sys.argv) < 3:
+    usage()
+
+trvs = set()
+label = cfg.topSourceGroup[1]
+for pkg in sys.argv[2:]:
+    trvs.add((pkg, label, None))
+trvMap = builder.buildmany2(trvs)
+
+print "built:\n"
+
+display(trvMap)

From johnsonm@rpath.com Wed Aug 19 18:23:14 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNDGv011466
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:14 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMND2S013958
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:13 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNDkP028965
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:13 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5M024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:15 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdKe6015035
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:26 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdKe6015035@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:20 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add handling for obsoletes
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:16 -0000

changeset:   fb0b9ecb8c50
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 12 Jun 2008 22:20:14 -0400

add handling for obsoletes

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/repomd/patchxml.py b/repomd/patchxml.py
--- a/repomd/patchxml.py
+++ b/repomd/patchxml.py
@@ -56,6 +56,8 @@
             self.requires = child.getChildren('entry', namespace='rpm')
         elif child.getName() == 'rpm:recommends':
             self.recommends = child.getChildren('entry', namespace='rpm')
+        elif child.getName() == 'rpm:obsoletes':
+            self.obsoletes = child.getChildren('entry', namespace='rpm')
         elif child.getName() == 'reboot-needed':
             self.rebootNeeded = True
         elif child.getName() == 'license-to-confirm':

From johnsonm@rpath.com Wed Aug 19 18:23:13 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMND7E011460
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:13 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNCZn013954
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:13 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNC79028961
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:12 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5K024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:15 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcqHd013848
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:01 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLcqHd013848@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:52 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix syntax error and set configPath
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:17 -0000

changeset:   2a72fe4855f1
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 28 May 2008 21:00:33 -0400

fix syntax error and set configPath

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/test/slehelp.py b/test/slehelp.py
--- a/test/slehelp.py
+++ b/test/slehelp.py
@@ -17,12 +17,13 @@
 
 import rmakehelp
 
-from updateBot import config
+from updatebot import config
 
 class Helper(rmakehelp.RmakeHelper):
     def setUp(self):
         rmakehelp.RmakeHelper.setUp(self)
-        self.updateBotCfg = config.UpdateBotConfig(False)
+        self.updateBotCfg = config.UpdateBotConfig()
+        self.updateBotCfg.configPath = self.cfg.root
         self.cfg.user = ('test', 'test')
         self.writeFile(self.cfg.root + '/conaryrc', '')
 

From johnsonm@rpath.com Wed Aug 19 18:23:15 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNFZS011472
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:15 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNEBb013963
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:14 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNEvn028971
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:14 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5O024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:16 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgke4023340
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:47 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgke4023340@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:46 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: log build failures
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:18 -0000

changeset:   8a1d2dab59ff
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 21 Apr 2009 16:52:21 -0400

log build failures

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -106,6 +106,10 @@
             if not rebuild:
                 # Build all newly imported packages.
                 trvMap, failed = self._builder.buildmany2(sorted(toBuild))
+                log.info('failed to import %s packages' % len(failed))
+                if len(failed):
+                    for pkg in failed:
+                        log.warn('%s' % (pkg, ))
             else:
                 # ReBuild all packages.
                 trvMap = self._builder.buildsplitarch(sorted(toBuild))

From johnsonm@rpath.com Wed Aug 19 18:23:15 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNF0H011474
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:15 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNFCk013966
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:15 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNEWd028974
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:14 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5Q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:17 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeFcL017222
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:18 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeFcL017222@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:15 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix typo
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:19 -0000

changeset:   bf42e5b3fef9
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 14 Aug 2008 18:13:01 -0400

fix typo

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/pkgsource/debsource.py b/updatebot/pkgsource/debsource.py
--- a/updatebot/pkgsource/debsource.py
+++ b/updatebot/pkgsource/debsource.py
@@ -67,7 +67,7 @@
             self.srcPkgMap[srcPkg] = set()
             for binPkgName in srcPkg.binaries:
                 for binPkg in self.binNameMap[binPkgName]:
-                    if binPkg.version == srcPkg.version and binPkg.release = srcPkg.release:
+                    if binPkg.version == srcPkg.version and binPkg.release == srcPkg.release:
                         self.srcPkgMap[srcPkg].add(binPkg)
             self.srcPkgMap[srcPkg].add(srcPkg)
 

From johnsonm@rpath.com Wed Aug 19 18:23:17 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNHaR011490
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:17 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNHE1013980
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:17 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNHXC028983
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:17 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5W024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:19 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfTAn020274
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:30 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfTAn020274@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:29 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: strip newlines from subjects
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:21 -0000

changeset:   dca481c459e4
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 17 Nov 2008 18:35:48 -0500

strip newlines from subjects

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/pmap/common.py b/pmap/common.py
--- a/pmap/common.py
+++ b/pmap/common.py
@@ -61,8 +61,7 @@
         self._curObj.fromAddr = fromLine[:fromLine.find('(')].replace(' at ', '@')
         self._curObj.fromName = fromLine[fromLine.find('('):].strip('()')
         self._curObj.timestamp = ' '.join(msg.get_from().split()[4:])
-        self._curObj.subject = msg['Subject']
-        self._curObj.subject.replace('\n\t', ' ')
+        self._curObj.subject = msg['Subject'].replace('\n\t', ' ')
 
         for line in msg.get_payload().split('\n'):
             self._parseLine(line)

From johnsonm@rpath.com Wed Aug 19 18:23:16 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNG9j011479
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:16 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNFSY013974
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:15 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNFxh028977
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:15 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5S024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:17 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLh6Dd024141
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:06 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLh6Dd024141@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:06 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix typo
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:21 -0000

changeset:   150d7b6d1ea5
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 06 Jul 2009 14:41:21 -0400

fix typo

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -77,10 +77,10 @@
         Return True if this is a package that should be filtered out.
         """
 
-        if (name.startswith('info-') or
-            name.startswith('group-') or
-            name.startswith('factory-') or
-            name in self._cfg.excludePackages):
+        if (pkgname.startswith('info-') or
+            pkgname.startswith('group-') or
+            pkgname.startswith('factory-') or
+            pkgname in self._cfg.excludePackages):
             return True
 
         return False

From johnsonm@rpath.com Wed Aug 19 18:23:17 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNHBW011483
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:17 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNGsX013977
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:16 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNGcx028980
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:16 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5U024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:18 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfGB1019727
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:16 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfGB1019727@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:16 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add missing import and add new method getFullLine
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:21 -0000

changeset:   7d4b83b6429d
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 07 Nov 2008 16:17:22 -0500

add missing import and add new method getFullLine

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/aptmd/parser.py b/aptmd/parser.py
--- a/aptmd/parser.py
+++ b/aptmd/parser.py
@@ -12,6 +12,8 @@
 # full details.
 #
 
+import re
+
 class _QuotedLineTokenizer(object):
     def __init__(self):
         self._cur = None
@@ -96,6 +98,9 @@
     def _getLine(self):
         return ' '.join(self._line[1:]).strip()
 
+    def _getFullLine(self):
+        return ' '.join(self._line).strip()
+
     def _checkLength(self, length, gt=False):
         if gt: assert(len(self._line) > length)
         else: assert(len(self._line) == length)

From johnsonm@rpath.com Wed Aug 19 18:23:18 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNIlR011498
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:18 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNI09013986
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:18 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNIBY028986
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:18 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5Y024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:20 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgbZC022983
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:37 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgbZC022983@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:37 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: can't hash dicts, use a list
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:21 -0000

changeset:   7575cd602ea6
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 24 Mar 2009 13:11:57 -0400

can't hash dicts, use a list

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -648,13 +648,13 @@
 
     def _getResultsAndErrors(self):
         errors = set()
-        results = set()
+        results = []
         for trv, msgs in self._trvs.iteritems():
             msg = msgs[-1]
             if msg.type == MESSAGE_TYPES['error']:
                 errors.add((trv, msg.jobId))
             elif msg.type == MESSAGE_TYPES['results']:
-                results.add(msg.message)
+                results.append(msg.message)
         return results, errors
 
 

From johnsonm@rpath.com Wed Aug 19 18:23:20 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNJwE011502
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:19 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNJ54013995
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:19 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNIUs028990
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:18 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5a024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:21 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdh8d015943
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:47 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdh8d015943@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:43 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: don't override built-in filter function
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:24 -0000

changeset:   8f46201a9c95
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 26 Jun 2008 10:49:53 -0400

don't override built-in filter function

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/patchsource.py b/updatebot/patchsource.py
--- a/updatebot/patchsource.py
+++ b/updatebot/patchsource.py
@@ -71,10 +71,10 @@
         @type patch: repomd.patchxml._Patch
         """
 
-        for _, filter in self._cfg.patchFilter:
-            if filter.match(patch.summary):
+        for _, regex in self._cfg.patchFilter:
+            if regex.match(patch.summary):
                 return True
-            if filter.match(patch.description):
+            if regex.match(patch.description):
                 return True
 
         return False

From johnsonm@rpath.com Wed Aug 19 18:23:20 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNJOn011504
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:19 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNJSg014002
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:19 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNJCh028994
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:19 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5c024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:21 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLf9fY019402
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:09 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLf9fY019402@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:09 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: more work on pmap
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:26 -0000

changeset:   aa3e01dbf7c2
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 28 Oct 2008 15:28:21 -0400

more work on pmap

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/pmap/common.py b/pmap/common.py
--- a/pmap/common.py
+++ b/pmap/common.py
@@ -14,7 +14,7 @@
 
 import tempfile
 
-from upstream import mailbox
+from vendor import mailbox
 
 from aptmd.container import Container
 from aptmd.parser import ContainerizedParser as Parser
@@ -48,4 +48,4 @@
 
     def _parseMsg(self, msg):
         self._newContainer()
-
+        
diff --git a/pmap/ubuntu.py b/pmap/ubuntu.py
--- a/pmap/ubuntu.py
+++ b/pmap/ubuntu.py
@@ -23,3 +23,9 @@
         BaseParser.__init__(self)
 
         self._containerClass = Container
+
+        self._states.update({
+
+        })
+
+    def 

From johnsonm@rpath.com Wed Aug 19 18:23:24 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNN7A011515
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:23 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNNoJ014020
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:23 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNNUf029010
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:23 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5k024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:25 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeIOI017341
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:23 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeIOI017341@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:18 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: populate binPkgMap in the correct scope
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:26 -0000

changeset:   20bf809fda2c
user:        Elliot Peele <http://issues.rpath.com/>
date:        Fri, 15 Aug 2008 11:24:47 -0400

populate binPkgMap in the correct scope

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/pkgsource/debsource.py b/updatebot/pkgsource/debsource.py
--- a/updatebot/pkgsource/debsource.py
+++ b/updatebot/pkgsource/debsource.py
@@ -77,7 +77,8 @@
                     if (binPkg.version == srcPkg.version and
                         binPkg.release == srcPkg.release):
                         self.srcPkgMap[srcPkg].add(binPkg)
+
             self.srcPkgMap[srcPkg].add(srcPkg)
 
-        for pkg in self.srcPkgMap[srcPkg]:
-            self.binPkgMap[pkg] = srcPkg
+            for pkg in self.srcPkgMap[srcPkg]:
+                self.binPkgMap[pkg] = srcPkg

From johnsonm@rpath.com Wed Aug 19 18:23:20 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNKvA011510
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:20 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNKIf014008
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:20 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNJRB029001
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:20 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5e024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:22 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLe9hs017000
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:09 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLe9hs017000@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:09 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix CfgBranch so that it works
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:28 -0000

changeset:   606183c5a1d9
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Wed, 13 Aug 2008 15:54:12 -0400

fix CfgBranch so that it works
targetLabel should be a branch

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -34,7 +34,7 @@
         """
 
         try:
-            versions.Branch(val)
+            return versions.VersionFromString(val)
         except versions.ParseError, e:
             raise ParseError, e
 
@@ -73,7 +73,7 @@
     sourceLabel         = (CfgList(CfgBranch), [])
 
     # Label to promote to
-    targetLabel         = CfgLabel
+    targetLabel         = CfgBranch
 
     # Packages to import
     package             = (CfgList(CfgString), [])

From johnsonm@rpath.com Wed Aug 19 18:23:27 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNPif011527
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:25 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNPK4014032
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:25 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNPDH029021
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:25 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:27 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgmeW023408
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:48 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgmeW023408@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:48 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: don't look at the group, just checkout everything on
	the label
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:29 -0000

changeset:   49760ddea3a2
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 22 Apr 2009 17:35:03 -0400

don't look at the group, just checkout everything on the label

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/checkoutall b/scripts/checkoutall
--- a/scripts/checkoutall
+++ b/scripts/checkoutall
@@ -23,6 +23,6 @@
 cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/%s/updatebotrc' % sys.argv[1])
 helper = conaryhelper.ConaryHelper(cfg)
 
-pkgs = [ name for name, version, flavor in helper.getSourceTroves(cfg.topGroup)
-         if version.trailingLabel().asString() == cfg.topGroup[1] ]
+pkgs = [ x.split(':')[0] for x in helper.getLatestVersions() if x.endswith(':source') ]
+
 checkin.checkout(helper._repos, helper._ccfg, None, pkgs)

From johnsonm@rpath.com Wed Aug 19 18:23:25 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNLKY011512
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:24 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNLv5014011
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:21 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNLvb029004
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:21 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5g024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:23 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdOqB015242
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:34 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdOqB015242@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:24 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add advisory related errors
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:31 -0000

changeset:   3f3d8eedfb67
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 16 Jun 2008 17:30:49 -0400

add advisory related errors

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/errors.py b/updatebot/errors.py
--- a/updatebot/errors.py
+++ b/updatebot/errors.py
@@ -92,3 +92,16 @@
     TooManFlavorsFoundError, raised when the bot finds more flavors of the top
     level group trove than expected.
     """
+
+class AdvisoryError(UnhandledUpdateError):
+    """
+    Base error for other advisory errors to inherit from.
+    """
+
+    _template = 'An advisory error has occured: %(why)s'
+
+class NoAdvisoryFoundError(AdvisoryError):
+    """
+    NoAdvisoryFoundError, raised when the bot can not find an advisory for an
+    updated package.
+    """

From johnsonm@rpath.com Wed Aug 19 18:23:25 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNOTc011520
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:25 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNOFh014023
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:24 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNOLH029014
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:24 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5m024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:26 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdCQk014734
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:16 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdCQk014734@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:12 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix up manifest get
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:31 -0000

changeset:   f1d8e741a313
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 10 Jun 2008 16:26:03 -0400

fix up manifest get

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/rpmimport/recipemaker.py b/rpmimport/recipemaker.py
--- a/rpmimport/recipemaker.py
+++ b/rpmimport/recipemaker.py
@@ -20,6 +20,7 @@
 
 import os
 import shutil
+import tempfile
 from conary import cvc
 
 class RecipeMaker(object):
@@ -148,8 +149,15 @@
         """
 
         cwd = os.getcwd()
-        os.chdir(tempfile.mkdtemp())
+        tmpdir = tempfile.mkdtemp()
+        os.chdir(tmpdir)
         self._checkout(pkgname)
         manifest = open('manifest').readlines()
         os.chdir(cwd)
+
+        try:
+            shutil.rmtree(tmpdir)
+        except OSError:
+            pass
+
         return manifest

From johnsonm@rpath.com Wed Aug 19 18:23:31 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNUW4011557
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:30 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNUfZ014055
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:30 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNU9D029043
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:30 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA64024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:32 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgfCa023102
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:41 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgfCa023102@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:41 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: use multi stage sync for rawhide
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:32 -0000

changeset:   ed4836bd0c4c
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 02 Apr 2009 16:16:28 -0400

use multi stage sync for rawhide

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/sync-fedora-devel.sh b/scripts/sync-fedora-devel.sh
--- a/scripts/sync-fedora-devel.sh
+++ b/scripts/sync-fedora-devel.sh
@@ -13,10 +13,14 @@
 # full details.
 #
 
-SOURCE=rsync://mirrors.kernel.org/fedora/development
-DEST=/l/fedora/
+SOURCE=rsync://mirror.linux.ncsu.edu/fedora-linux-development
+DEST=/l/fedora/development/
 
 date
-rsync -arv --progress --bwlimit=800 --exclude ppc --export ppc64 $SOURCE $DEST
+CMD="rsync -arv --progress --bwlimit=800 --exclude ppc --exclude ppc64"
+
+$CMD --exclude repodata $SOURCE $DEST
+$CMD $SOURCE $DEST 
+$CMD --delete $SOURCE $DEST 
 
 ./hardlink.py $DEST

From johnsonm@rpath.com Wed Aug 19 18:23:28 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNQKT011529
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:27 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNQgk014035
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:26 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNPRS029025
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:25 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5s024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:28 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfWtX020344
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:32 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfWtX020344@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:32 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: reverse test to be correct
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:33 -0000

changeset:   0d9c62db1ee0
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 12 Nov 2008 17:02:56 -0500

reverse test to be correct

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -438,7 +438,7 @@
         grpTrvs = set([ (x[0], x[2]) for x in trvLst if not x[0].endswith(':source') ])
         grpDiff = set([ x[0] for x in trvDiff.difference(grpTrvs) ])
         extraTroves = set([ x[0] for x in extraPromoteTroves ])
-        if checkPackageList and not grpDiff.difference(extraTroves):
+        if checkPackageList and grpDiff.difference(extraTroves):
             raise PromoteMismatchError(expected=oldPkgs, actual=newPkgs)
 
         log.info('committing changeset')

From johnsonm@rpath.com Wed Aug 19 18:23:28 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNRTP011532
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:28 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNRfj014039
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:27 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNRGP029029
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:27 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5u024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:28 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgcat023000
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:39 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgcat023000@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:38 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove commented out code
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:35 -0000

changeset:   cf85ca85df79
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 24 Mar 2009 13:12:18 -0400

remove commented out code

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -247,11 +247,8 @@
         toBuild = set()
         verCache = self._conaryhelper.getLatestVersions()
         for pkg in toUpdate:
-            #log.info('attempting to import %s' % pkg)
-
             try:
                 # Only import packages that haven't been imported before
-                #version = self._conaryhelper.getLatestSourceVersion(pkg.name)
                 version = verCache.get('%s:source' % pkg.name)
                 if not version:
                     log.info('attempting to import %s' % pkg)

From johnsonm@rpath.com Wed Aug 19 18:23:25 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNNhr011514
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:23 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNN8f014016
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:23 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNMXh029007
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:22 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5i024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:24 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcoWP013765
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:57 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcoWP013765@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:50 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add xmllib path to pythonpath
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:36 -0000

changeset:   908f77a32608
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 28 May 2008 00:35:25 -0400

add xmllib path to pythonpath

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/pylint/init_pylint.py b/pylint/init_pylint.py
--- a/pylint/init_pylint.py
+++ b/pylint/init_pylint.py
@@ -36,7 +36,11 @@
 # set default RMAKE_PATH, if it was not set.
 rmakePath = setPathFromEnv('RMAKE_PATH', 'rmake')
 
-for path in rmakePath, conaryPath, mirrorballPath:
+# set default XMLLIB_PATH, if it was not set.
+xmllibPath = setPathFromEnv('XMLLIB_PATH', 'rpath-xmllib')
+
+# paths end up in the opposite order than they are listed.
+for path in xmllibPath, rmakePath, conaryPath, mirrorballPath:
     if path in sys.path:
         sys.path.remove(path)
     sys.path.insert(0, path)

From johnsonm@rpath.com Wed Aug 19 18:23:32 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNVsR011562
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:31 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNVM0014062
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:31 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNVcV029047
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:31 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA66024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:33 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeXFH017988
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:36 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeXFH017988@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:33 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: handle building all troves if configured to do so,
	even if the sources are
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:37 -0000

changeset:   8d59fb1719ca
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 29 Aug 2008 13:31:14 -0400

handle building all troves if configured to do so, even if the sources are
from a binary group

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -247,6 +247,12 @@
                 log.error('failed to import %s: %s' % (pkg, e))
                 fail.add((pkg, e))
 
+        if buildAll and pkgs:
+            toBuild.update(
+                [ (x, self._conaryhelper.getLatestSourceVersion(x), None)
+                  for x in pkgs if not x.startswith('info-') ]
+            )
+
         return toBuild, fail
 
     def _getExistingPackageNames(self):

From johnsonm@rpath.com Wed Aug 19 18:23:29 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNSEF011542
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:28 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNSrM014046
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:28 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNSb0029032
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:28 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5w024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:30 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdSDH015362
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:36 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdSDH015362@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:27 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add exception for no manifest in source component
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:37 -0000

changeset:   4b50bc0b76c1
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 17 Jun 2008 11:30:01 -0400

add exception for no manifest in source component

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/errors.py b/updatebot/errors.py
--- a/updatebot/errors.py
+++ b/updatebot/errors.py
@@ -93,6 +93,15 @@
     level group trove than expected.
     """
 
+class NoManifestFoundError(UnhandledUpdateError):
+    """
+    NoManifestFoundError, raised when the bot checks out a source component
+    and doesn't find a manifest file.
+    """
+
+    _params = ['pkgname', 'dir']
+    _template = 'No manifest was found for %(pkgname)s in directory %(dir)s'
+
 class AdvisoryError(UnhandledUpdateError):
     """
     Base error for other advisory errors to inherit from.

From johnsonm@rpath.com Wed Aug 19 18:23:29 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNToq011545
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:29 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNTYW014049
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:29 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNSL7029035
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:28 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA60024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:31 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdnNh016198
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:56 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdnNh016198@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:49 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add script for running bot
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:38 -0000

changeset:   045b571d2dd0
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 09 Jul 2008 14:25:04 -0400

add script for running bot

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/scripts/test.py b/scripts/test.py
new file mode 100755
--- /dev/null
+++ b/scripts/test.py
@@ -0,0 +1,21 @@
+#!/usr/bin/python
+
+import os
+import sys
+
+sys.path.insert(0, os.environ['HOME'] + '/hg/rpath-xmllib')
+sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
+sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
+
+from conary.lib import util
+sys.excepthook = util.genExcepthook()
+
+from updatebot import bot, config, log
+
+log.addRootLogger()
+cfg = config.UpdateBotConfig()
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/updatebotrc')
+obj = bot.Bot(cfg)
+obj.run()
+
+import epdb ; epdb.st()

From johnsonm@rpath.com Wed Aug 19 18:23:25 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNPuL011524
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:25 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNOB2014025
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:24 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNOH2029017
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:24 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA5o024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:27 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeiVu018413
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:46 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeiVu018413@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:44 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add jobid to failed jobs
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:38 -0000

changeset:   1781fcc510d1
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 10 Sep 2008 18:35:29 -0400

add jobid to failed jobs

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -141,13 +141,13 @@
         for trv, jobId in jobs.iteritems():
             job = self._helper.getJob(jobId)
             if job.isFailed():
-                failed.add(trv)
+                failed.add((trv, jobId))
             elif job.isFinished():
                 try:
                     res = self.commit(jobId)
                     results.update(res)
                 except JobFailedError:
-                    failed.add(trv)
+                    failed.add((trv, jobId))
 
         return results, failed
 

From johnsonm@rpath.com Wed Aug 19 18:23:36 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNZvY011584
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:35 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNYfm014088
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:34 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNY5u029058
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:34 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6C024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:36 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgbta022966
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:37 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgbta022966@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:37 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: use buildmany2 and sort packages
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:39 -0000

changeset:   c1b463b280dc
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 24 Mar 2009 13:11:27 -0400

use buildmany2 and sort packages

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -102,10 +102,10 @@
 
         if not rebuild:
             # Build all newly imported packages.
-            trvMap, failed = self._builder.buildmany(toBuild)
+            trvMap, failed = self._builder.buildmany2(sorted(toBuild))
         else:
             # ReBuild all packages.
-            trvMap = self._builder.buildsplitarch(toBuild)
+            trvMap = self._builder.buildsplitarch(sorted(toBuild))
 
         log.info('import completed successfully')
         log.info('imported %s source packages' % (len(toBuild), ))

From johnsonm@rpath.com Wed Aug 19 18:23:33 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNXBP011574
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:33 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNWYP014068
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:32 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNW71029050
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:32 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA68024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:34 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfE8S019641
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:15 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfE8S019641@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:14 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add anaconda-templates
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:39 -0000

changeset:   3ac8b222bdd1
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 04 Nov 2008 15:59:52 -0500

add anaconda-templates

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/promote-centos.sh b/scripts/promote-centos.sh
--- a/scripts/promote-centos.sh
+++ b/scripts/promote-centos.sh
@@ -20,6 +20,7 @@
     group-appliance:source=centos.rpath.com@rpath:centos-5-devel \
     platform-definition:source=centos.rpath.com@rpath:centos-5-devel \
     kernel=centos.rpath.com@rpath:centos-5-devel \
+    anaconda-templates=centos.rpath.com@rpath:centos-5-devel \
     group-os=centos.rpath.com@rpath:centos-5-devel \
     /centos.rpath.com@rpath:centos-5-devel--/centos.rpath.com@rpath:centos-5 \
     /centos.rpath.com@rpath:centos-devel//centos-5-devel--/centos.rpath.com@rpath:centos-devel//centos-5 \

From johnsonm@rpath.com Wed Aug 19 18:23:30 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNUse011550
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:30 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNT9R014052
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:29 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNTi9029039
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:29 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA62024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:31 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgxYd023834
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:59 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgxYd023834@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:59 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add filters for advisory exceptions
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:39 -0000

changeset:   b41a266d2878
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 13 May 2009 11:44:45 -0400

add filters for advisory exceptions

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/centos.py b/updatebot/advisories/centos.py
--- a/updatebot/advisories/centos.py
+++ b/updatebot/advisories/centos.py
@@ -16,6 +16,7 @@
 Advisory module for CentOS.
 """
 
+import re
 import os
 import pmap
 import logging
@@ -115,6 +116,11 @@
         # W0613 - Unused argument binPkg
         # pylint: disable-msg=W0613
 
+        for fltr in self._cfg.advisoryException:
+            path, exp = fltr[0].split()
+            if path in binPkg.location and re.match(exp, binPkg.name):
+                return True
+
         return False
 
     def _isUpdatesRepo(self, binPkg):

From johnsonm@rpath.com Wed Aug 19 18:23:34 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNX4W011579
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:34 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNXM9014072
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:33 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNXWi029053
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:33 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6A024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:36 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLd4LY014395
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:11 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLd4LY014395@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:04 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: switch to the correct list type
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:39 -0000

changeset:   453b44dc6166
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 02 Jun 2008 21:28:20 -0400

switch to the correct list type
add config option for topGroup

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -18,6 +18,7 @@
 
 from conary.lib import cfg
 from conary.lib.cfgtypes import CfgString, CfgList
+from rmake.build.buildcfg import CfgTroveSpec
 
 class UpdateBotConfig(cfg.SectionedConfigFile):
     '''
@@ -32,4 +33,7 @@
     commitMessage       = (CfgString, 'Automated commit by updateBot')
 
     repositoryUrl       = CfgString
-    repositoryPaths     = CfgList(CfgLineList(CfgString))
+    repositoryPaths     = (CfgList(CfgString), ['/'])
+
+    topGroup            = CfgTroveSpec
+

From johnsonm@rpath.com Wed Aug 19 18:23:36 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNZ09011585
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:35 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNZ7n014089
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:35 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNYZc029063
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:34 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6E024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:37 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfwq0021383
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:58 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfwq0021383@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:58 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix bugs in checkout cache handling
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:39 -0000

changeset:   e3ee4305ca90
user:        Elliot Peele <https://issues.rpath.com/>
date:        Sun, 11 Jan 2009 23:15:16 -0500

fix bugs in checkout cache handling

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -302,6 +302,7 @@
                                     error=False)
 
         # Commit to repository.
+        recipeDir = self._checkoutCache[pkgname]
         self._commit(recipeDir, commitMessage)
 
         # Get new version of the source trove.
@@ -389,7 +390,7 @@
                 del self._checkoutCache[pkgDir]
         finally:
             os.chdir(cwd)
-            util.rmtree(recipeDir)
+            util.rmtree(pkgDir)
 
     @staticmethod
     def _addFile(pkgDir, fileName):

From johnsonm@rpath.com Wed Aug 19 18:23:38 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNaQI011587
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:36 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNZOj014097
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:35 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNZMf029067
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:35 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6G024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:37 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLh1VY023936
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:01 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLh1VY023936@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:01 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: ignore epoch if it is not set
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:40 -0000

changeset:   58582e8d86df
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 08 Jun 2009 22:06:48 -0400

ignore epoch if it is not set

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/lib/util.py b/updatebot/lib/util.py
--- a/updatebot/lib/util.py
+++ b/updatebot/lib/util.py
@@ -58,9 +58,12 @@
     @type b: repomd.packagexml._Package
     """
 
-    epochcmp = rpmvercmp(a.epoch, b.epoch)
-    if epochcmp != 0:
-        return epochcmp
+    # Not all "packages" have epoch set. If comparing between two packages, at
+    # least one without an epoch specified, ignore epoch.
+    if a.epoch is not None and b.epoch is not None:
+        epochcmp = rpmvercmp(a.epoch, b.epoch)
+        if epochcmp != 0:
+            return epochcmp
 
     vercmp = rpmvercmp(a.version, b.version)
     if vercmp != 0:

From johnsonm@rpath.com Wed Aug 19 18:23:39 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNbpW011592
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:38 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNa2M014100
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:36 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNauO029070
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:36 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6I024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:38 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLekX3018498
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:47 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLekX3018498@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:45 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: hack to workaround ubuntu branching structure
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:40 -0000

changeset:   e06c847b4557
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 11 Sep 2008 15:52:11 -0400

hack to workaround ubuntu branching structure

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -356,6 +356,13 @@
         """
 
         versions = self._getVersionsByName('%s:source' % pkgname)
+
+        # FIXME: This is a hack to work around the fact that ubuntu has some
+        #        shadows and packages that overlap on the label,
+        #        _getVersionsByName needs to be smarter.
+        if len(versions) > 1:
+            versions = [ x for x in versions if not x.isShadow() ]
+
         assert len(versions) in (0, 1)
 
         if len(versions) == 1:

From johnsonm@rpath.com Wed Aug 19 18:23:40 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNdOq011599
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:39 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNdVN014119
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:39 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNcZI029082
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:38 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6M024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:40 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLduqE016453
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:00 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLduqE016453@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:55 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: switch to four spaces instead of tabs
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:41 -0000

changeset:   7e329008315b
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 14 Jul 2008 12:56:10 -0400

switch to four spaces instead of tabs

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/scripts/buildgroups b/scripts/buildgroups
--- a/scripts/buildgroups
+++ b/scripts/buildgroups
@@ -41,4 +41,4 @@
 for srcTrv in grpTrvMap.iterkeys():
     print displayTrove(srcTrv)
     for binTrv in grpTrvMap[srcTrv]:
-        print "\t", displayTrove(binTrv)
+        print " " * 4, displayTrove(binTrv)
diff --git a/scripts/buildpackages b/scripts/buildpackages
--- a/scripts/buildpackages
+++ b/scripts/buildpackages
@@ -43,4 +43,4 @@
 for srcTrv in trvMap.iterkeys():
     print displayTrove(srcTrv)
     for binTrv in trvMap[srcTrv]:
-        print "\t", displayTrove(binTrv)
+        print " " * 4, displayTrove(binTrv)

From johnsonm@rpath.com Wed Aug 19 18:23:39 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNbMT011594
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:38 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNb0v014106
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:37 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNbcq029073
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:37 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6K024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:39 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgu69023698
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:56 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgu69023698@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:56 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: do not load default config
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:41 -0000

changeset:   1df5091769b8
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 06 May 2009 16:38:19 -0400

do not load default config

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/buildautoloadrecipes b/scripts/buildautoloadrecipes
--- a/scripts/buildautoloadrecipes
+++ b/scripts/buildautoloadrecipes
@@ -30,7 +30,10 @@
     exit 1
 fi
 
-buildLabel=$(conary config --config-file $platformConfig | grep buildLabel | awk '{print $2}')
+buildLabel=$(conary config \
+    --skip-default-config \
+    --config-file $platformConfig \
+    | grep buildLabel | awk '{print $2}')
 
 autoLoad=""
 autoLoadPackages="
@@ -49,6 +52,7 @@
 
 for pkg in $autoLoadPackages ; do
     eval cvc cook \
+        --skip-default-config \
         --config-file $platformConfig \
         --context $context \
         --no-deps \

From johnsonm@rpath.com Wed Aug 19 18:23:41 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNeKh011609
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:41 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNepd014125
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:40 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNegk029087
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:40 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6O024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdQ5H015310
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:35 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdQ5H015310@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:26 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add arch when sorting
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:41 -0000

changeset:   401a56da1b15
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 16 Jun 2008 20:22:06 -0400

add arch when sorting

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/repomd/packagexml.py b/repomd/packagexml.py
--- a/repomd/packagexml.py
+++ b/repomd/packagexml.py
@@ -124,7 +124,7 @@
             raise UnknownElementError(child)
 
     def __str__(self):
-        return '-'.join([self.name, self.epoch, self.version, self.release])
+        return '-'.join([self.name, self.epoch, self.version, self.release, self.arch])
 
     def __repr__(self):
         return os.path.basename(self.location)
@@ -138,6 +138,10 @@
         if pkgvercmp != 0:
             return pkgvercmp
 
+        archcmp = cmp(self.arch, other.arch)
+        if archcmp != 0:
+            return archcmp
+
         return cmp(self.location, other.location)
 
 

From johnsonm@rpath.com Wed Aug 19 18:23:41 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNfDM011616
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:41 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNfd1014128
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:41 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNfgR029090
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:41 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6Q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:43 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgTD7022626
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:29 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgTD7022626@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:29 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: write buildrequires correctly
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:42 -0000

changeset:   04006dc80950
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 24 Feb 2009 16:43:10 -0500

write buildrequires correctly
add initial support for generating metadata for packages other than apt

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -350,7 +350,8 @@
         # FIXME: This is apt specific for now. Once repomd has been rewritten
         #        to use something other than rpath-xmllib we should be able to
         #        convert this to xobj.
-        if self._cfg.repositoryFormat == 'apt':
+        if (self._cfg.repositoryFormat == 'apt' or
+            self._cfg.writePackageMetadata):
             metadata = self._getMetadataFromPkgSource(srcPkg)
             self._conaryhelper.setMetadata(nvf[0], metadata)
 

From johnsonm@rpath.com Wed Aug 19 18:23:42 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNgml011624
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:42 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNfDX014135
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:41 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNfv7029093
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:41 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6S024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:44 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLds1O016385
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:57 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLds1O016385@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:54 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: use sles
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:42 -0000

changeset:   0d3cb91a4e12
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 10 Jul 2008 18:09:13 -0400

use sles

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/scripts/buildgroups b/scripts/buildgroups
--- a/scripts/buildgroups
+++ b/scripts/buildgroups
@@ -20,7 +20,7 @@
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/sles/updatebotrc')
 
 builder = build.Builder(cfg)
 
diff --git a/scripts/buildpackages b/scripts/buildpackages
--- a/scripts/buildpackages
+++ b/scripts/buildpackages
@@ -20,7 +20,7 @@
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/sles/updatebotrc')
 
 builder = build.Builder(cfg)
 

From johnsonm@rpath.com Wed Aug 19 18:23:44 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNiIP011642
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:44 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNhe5014166
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:43 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNh69029100
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:43 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6U024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:44 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfEvd019624
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:14 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfEvd019624@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:14 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: now that kernels are flavored, make sure to promote
	all flavors
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:44 -0000

changeset:   8e9e2ebc39b0
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 03 Nov 2008 16:02:20 -0500

now that kernels are flavored, make sure to promote all flavors

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/promote-centos.sh b/scripts/promote-centos.sh
--- a/scripts/promote-centos.sh
+++ b/scripts/promote-centos.sh
@@ -19,6 +19,7 @@
 time cvc promote $cfg \
     group-appliance:source=centos.rpath.com@rpath:centos-5-devel \
     platform-definition:source=centos.rpath.com@rpath:centos-5-devel \
+    kernel=centos.rpath.com@rpath:centos-5-devel \
     group-os=centos.rpath.com@rpath:centos-5-devel \
     /centos.rpath.com@rpath:centos-5-devel--/centos.rpath.com@rpath:centos-5 \
     /centos.rpath.com@rpath:centos-devel//centos-5-devel--/centos.rpath.com@rpath:centos-devel//centos-5 \

From johnsonm@rpath.com Wed Aug 19 18:23:45 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNjtb011652
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:45 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNi6h014184
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:45 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNiD8029107
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:44 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6W024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:46 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdXEe015601
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:33 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdXEe015601@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:33 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fixup version query
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:45 -0000

changeset:   ea5bd172ca76
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 23 Jun 2008 17:07:09 -0400

fixup version query

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -286,7 +286,8 @@
         @type targetLabel: conary Label object
         """
 
-        fromLabel = trvLst[0][1].getTrailingRevision().label
+        # Assume that all troves are on the same label.
+        fromLabel = trvLst[0][1].trailingLabel()
         success, cs = client.createSiblingCloneChangeSet({fromLabel:targetLabel},
                                                          trvLst,
                                                          cloneSources=True)
@@ -306,4 +307,3 @@
         self._repos.commitChangeSet(cs)
 
         return packageList
-

From johnsonm@rpath.com Wed Aug 19 18:23:46 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNksk011658
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:46 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNjk7014190
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:45 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNjF2029113
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:45 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6Y024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:47 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdMLN015140
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:33 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdMLN015140@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:22 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: clean up bin import method
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:46 -0000

changeset:   ba1614e19f0c
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 16 Jun 2008 13:35:45 -0400

clean up bin import method

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -88,11 +88,10 @@
         srpm = package.sourcerpm
         longLoc = basePath + '/' + package.location
         package.location = longLoc
-        if self.rpmMap.has_key(srpm):
-            shortLoc = os.path.basename(package.location)
-            self.rpmMap[srpm][longLoc] = package
-        else:
-            self.rpmMap[srpm] = {longLoc: package}
+
+        if srpm not in self.rpmMap:
+            self.rpmMap[srpm] = {}
+        self.rpmMap[srpm][longLoc] = package
         self.revMap[package.name] = srpm
 
         if package.name not in self.binNameMap:

From johnsonm@rpath.com Wed Aug 19 18:23:47 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNkd2011666
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:46 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNk2A014203
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:46 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNkFp029117
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:46 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6a024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:48 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgKNS022268
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:21 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgKNS022268@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:20 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: only try to build 10 times before giving up
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:47 -0000

changeset:   db76baee0719
user:        Elliot Peele <https://issues.rpath.com/>
date:        Sun, 08 Feb 2009 04:16:21 +0000

only try to build 10 times before giving up

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -463,18 +463,19 @@
         self.jobId = None
 
     def run(self):
-        done = False
         while True:
             self.trv = self.toBuild.get()
             self.log('received trv')
 
+            retries = 10
             built = False
-            while not built:
+            while not built and retries:
                 try:
                     self._doBuild()
                 except Exception, e:
                     built = False
                 built = True
+                retries -= 1
 
         self.toBuild.task_done()
 

From johnsonm@rpath.com Wed Aug 19 18:23:47 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNli3011674
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:47 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNl37014210
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:47 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNkrW029122
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:47 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6c024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:49 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgtJU023681
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:55 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgtJU023681@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:55 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: make script work
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:48 -0000

changeset:   c20abca30465
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 06 May 2009 16:07:35 -0400

make script work

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/buildautoloadrecipes b/scripts/buildautoloadrecipes
--- a/scripts/buildautoloadrecipes
+++ b/scripts/buildautoloadrecipes
@@ -30,6 +30,8 @@
     exit 1
 fi
 
+buildLabel=$(conary config --config-file $platformConfig | grep buildLabel | awk '{print $2}')
+
 autoLoad=""
 autoLoadPackages="
     baserequires
@@ -46,11 +48,11 @@
 "
 
 for pkg in $autoLoadPackages ; do
-    cvc cook \
+    eval cvc cook \
         --config-file $platformConfig \
         --context $context \
         --no-deps \
         $autoLoad \
-        $pkg
-    autoLoad="$autoLoad --config 'autoLoadRecipes $pkg'"
+        $pkg --debug-all
+    autoLoad="$autoLoad --config \"autoLoadRecipes $pkg=$buildLabel\""
 done

From johnsonm@rpath.com Wed Aug 19 18:23:53 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNp9m011718
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:51 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNpBb014264
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:51 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNoUk029149
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:51 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6o024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:53 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdhSH015960
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:49 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdhSH015960@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:43 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add some white space for readability
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:54 -0000

changeset:   c11ebcea631f
user:        Elliot Peele <http://issues.rpath.com/>
date:        Fri, 27 Jun 2008 13:39:35 -0400

add some white space for readability

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -158,11 +158,13 @@
         startTime = time.time()
         job = self._helper.getJob(jobId)
         log.info('Starting commit of job %d', jobId)
+
         self._helper.client.startCommit([jobId, ])
         succeeded, data = commit.commitJobs(self._client,
                                             [job, ],
                                             self._rmakeCfg.reposName,
                                             self._cfg.commitMessage)
+
         if not succeeded:
             self._helper.client.commitFailed([jobId, ], data)
             raise CommitFailedError(jobId=job.jobId, why=data)

From johnsonm@rpath.com Wed Aug 19 18:23:53 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNrAk011719
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:53 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNqvi014271
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:52 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNqIv029159
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:52 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:54 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeTAq017801
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:32 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeTAq017801@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:29 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add a version constant
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:55 -0000

changeset:   50f998c974f1
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 25 Aug 2008 21:45:10 -0400

add a version constant

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/constants.py b/updatebot/constants.py
new file mode 100644
--- /dev/null
+++ b/updatebot/constants.py
@@ -0,0 +1,15 @@
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+version = '0.1'

From johnsonm@rpath.com Wed Aug 19 18:23:55 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNsZc011731
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:55 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNs96014284
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:54 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNs7w029165
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:54 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6u024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:56 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeVF2017903
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:34 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeVF2017903@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:31 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: load from $HOME
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:56 -0000

changeset:   0d791ec05254
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Thu, 28 Aug 2008 10:30:22 -0400

load from $HOME

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/scripts/pkgsource.py b/scripts/pkgsource.py
--- a/scripts/pkgsource.py
+++ b/scripts/pkgsource.py
@@ -1,9 +1,14 @@
 #!/usr/bin/python
 
+import os
 import sys
 from conary.lib import util
 sys.excepthook = util.genExcepthook()
 
+sys.path.insert(0, os.environ['HOME'] + '/hg/rpath-xmllib')
+sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
+sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
+
 import logging
 import updatebot.log
 
@@ -15,7 +20,7 @@
 from updatebot import pkgsource
 
 cfg = config.UpdateBotConfig()
-cfg.read('/data/hg/mirrorball/config/ubuntu/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
 
 client = Client('http://i.rdu.rpath.com/ubuntu')
 pkgSource = pkgsource.PackageSource(cfg)

From johnsonm@rpath.com Wed Aug 19 18:23:48 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNm3Y011684
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:48 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNmWa014219
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:48 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNl4N029127
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:48 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6e024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:50 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgAVD021826
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:10 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgAVD021826@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:09 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add an extra check
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:48 -0000

changeset:   c1d226bef623
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 23 Jan 2009 14:06:04 -0500

add an extra check

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/pcheck.py b/scripts/pcheck.py
--- a/scripts/pcheck.py
+++ b/scripts/pcheck.py
@@ -67,6 +67,11 @@
             log.warning('not promoting %s=%s[%s]' % (name, version, flavor)) 
 
 
+# Ask before moving on.
+okay = conaryclient.cmdline.askYn('continue with clone? [y/N]', default=False)
+if not okay:
+    sys.exit(0)
+
 # Make the promote changeset.
 log.info('Creating promote changeset')
 cb = conaryclient.callbacks.CloneCallback(cfg, 'automated commit')
@@ -83,7 +88,7 @@
     sys.exit(1)
 
 # Ask before committing.
-okay = conaryclient.cmdline.askYn('continue with clone? [y/N]', default=False)
+okay = conaryclient.cmdline.askYn('commit changset? [y/N]', default=False)
 
 # Commit changeset.
 if okay:

From johnsonm@rpath.com Wed Aug 19 18:23:49 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNmF2011690
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:48 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNmlf014229
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:48 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNmsh029132
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:48 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6g024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:50 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdCsm014717
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:16 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdCsm014717@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:12 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add a repr method
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:49 -0000

changeset:   5f8919137eb0
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 10 Jun 2008 16:25:29 -0400

add a repr method
addapt str method to slots

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/repomd/packagexml.py b/repomd/packagexml.py
--- a/repomd/packagexml.py
+++ b/repomd/packagexml.py
@@ -18,6 +18,8 @@
 
 __all__ = ('PackageXmlMixIn', )
 
+import os
+
 from rpath_common.xmllib import api1 as xmllib
 
 from repomd.errors import UnknownElementError, UnknownAttributeError
@@ -120,7 +122,10 @@
             raise UnknownElementError(child)
 
     def __str__(self):
-        return '%(name)s-%(version)s-%(release)s' % self.__dict__
+        return '-'.join([self.name, self.epoch, self.version, self.release])
+
+    def __repr__(self):
+        return os.path.basename(self.location)
 
     def __hash__(self):
         return hash((self.name, self.epoch, self.version, self.release,

From johnsonm@rpath.com Wed Aug 19 18:23:50 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNoZl011702
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:50 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNnBH014242
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:49 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNnKq029138
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:49 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6i024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:51 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgOu0022438
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:25 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgOu0022438@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:24 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: log number of failed packages
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:52 -0000

changeset:   faf3f391ee49
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 12 Feb 2009 16:03:40 -0500

log number of failed packages
switch back to non threaded builds

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -80,9 +80,12 @@
         toBuild, fail = self._updater.create(toPackage,
                                              buildAll=rebuild)
 
+        log.info('failed to create %s packages' % len(fail))
+        log.info('found %s packages to build' % len(toBuild))
+
         if not rebuild:
             # Build all newly imported packages.
-            trvMap, failed = self._builder.buildmany2(toBuild)
+            trvMap, failed = self._builder.buildmany(toBuild)
         else:
             # ReBuild all packages.
             trvMap = self._builder.buildsplitarch(toBuild)

From johnsonm@rpath.com Wed Aug 19 18:23:51 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNovc011708
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:50 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNoMg014249
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:50 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNo4g029142
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:50 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6k024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:52 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLesMZ018855
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:56 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLesMZ018855@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:54 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: the beginings of a buildpackages command
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:52 -0000

changeset:   b78ad20a402f
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 26 Sep 2008 14:44:32 -0400

the beginings of a buildpackages command

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/cmdline/command.py b/updatebot/cmdline/command.py
--- a/updatebot/cmdline/command.py
+++ b/updatebot/cmdline/command.py
@@ -27,7 +27,7 @@
     _commands.append(cmd)
 
 
-class BotCommand(options.AbstractCommand):
+class _BotCommand(options.AbstractCommand):
     defaultGroup = 'Common Options'
 
     docs = {'config'             : (VERBOSE_HELP,
@@ -58,3 +58,15 @@
 
     def processConfigOptions(self, cfg, cfgMap, argSet):
         pass
+
+
+class BuildPackageCommand(_BotCommand):
+    """
+    Build a list of packages.
+    """
+
+    commands = [ 'buildpackages', ]
+    help = 'build packages'
+
+    def runCommand(self, client, cfg, argSet, args):
+        pass

From johnsonm@rpath.com Wed Aug 19 18:23:51 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNp5Z011713
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:51 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNom2014259
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:51 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNoxh029147
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:50 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6m024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:53 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdXeH015618
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:33 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdXeH015618@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:33 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add config options for advisories
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:54 -0000

changeset:   f3a48d45e3c0
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 23 Jun 2008 17:07:22 -0400

add config options for advisories

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -30,6 +30,9 @@
     # R0904 - to many public methods
     # pylint: disable-msg=R0904
 
+    # name of the product to use in advisories
+    productName         = CfgString
+
     # path to configuration files (conaryrc, rmakerc)
     configPath          = CfgString
 
@@ -65,3 +68,9 @@
 
     # flavors to build the source group.
     groupFlavors        = (CfgList(CfgFlavor), [])
+
+    # email information for sending advisories
+    emailFrom           = CfgString
+    emailTo             = (CfgList(CfgString), [])
+    emailBcc            = (CfgList(CfgString), [])
+    smtpServer          = CfgString

From johnsonm@rpath.com Wed Aug 19 18:23:56 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNuYd011734
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:56 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNuQw014288
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:56 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNtIO029171
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:55 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6w024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:57 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLerUm018787
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:54 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLerUm018787@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:53 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: Backed out changeset d8a628d10787
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:57 -0000

changeset:   8c5e586df087
user:        Jeff Uphoff <https://issues.rpath.com/>
date:        Wed, 24 Sep 2008 10:39:47 -0400

Backed out changeset d8a628d10787

committer: Jeff Uphoff <https://issues.rpath.com/>

diff --git a/scripts/buildgroups b/scripts/buildgroups
--- a/scripts/buildgroups
+++ b/scripts/buildgroups
@@ -20,7 +20,7 @@
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/sles/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
 
 builder = build.Builder(cfg)
 
diff --git a/scripts/buildpackages b/scripts/buildpackages
--- a/scripts/buildpackages
+++ b/scripts/buildpackages
@@ -23,7 +23,7 @@
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/sles/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
 
 builder = build.Builder(cfg)
 

From johnsonm@rpath.com Wed Aug 19 18:23:58 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNwYq011740
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:58 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNvUg014296
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:57 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNv71029177
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:57 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA72024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:59 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdcDD015755
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:43 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdcDD015755@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:38 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add config option for patch filters
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:59 -0000

changeset:   f95e88803de5
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 24 Jun 2008 14:51:24 -0400

add config option for patch filters

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -18,7 +18,7 @@
 
 from conary.lib import cfg
 from conary.conarycfg import CfgFlavor, CfgLabel
-from conary.lib.cfgtypes import CfgString, CfgList
+from conary.lib.cfgtypes import CfgString, CfgList, CfgRegExp
 
 from rmake.build.buildcfg import CfgTroveSpec
 
@@ -63,6 +63,9 @@
     # default advisory message to send with these packages.
     advisoryException   = (CfgList(CfgList(CfgString)), [])
 
+    # Filter out patches with matching descriptions or summaries.
+    patchFilter         = (CfgList(CfgRegExp), [])
+
     # list of contexts that all packages are built in.
     archContexts        = CfgList(CfgString)
 

From johnsonm@rpath.com Wed Aug 19 18:23:57 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNv9f011737
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:57 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNuM6014293
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:56 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNuj2029174
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:56 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA70024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:58 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLd9HS014590
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:14 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLd9HS014590@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:09 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove main, it was only for initial testing
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:23:59 -0000

changeset:   fbac457976dd
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 03 Jun 2008 11:33:49 -0400

remove main, it was only for initial testing

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -127,20 +127,3 @@
         troveCs = cs.getNewTroveVersion(name, version, flavor)
         trv = trove.Trove(troveCs, skipIntegrityChecks=True)
         return trv
-
-
-if __name__ == '__main__':
-    import sys
-    from conary.lib import util as cnyutil
-    sys.excepthook = cnyutil.genExcepthook()
-
-    from updatebot import config
-    Cfg = config.UpdateBotConfig()
-    Cfg.topGroup = ('group-dist', 'sle.rpath.com@rpath:sle-devel', None)
-    Cfg.configPath = '../'
-
-    Obj = ConaryHelper(Cfg)
-    SrcTrvs = Obj.getSourceTroves()
-
-    import epdb
-    epdb.st()

From johnsonm@rpath.com Wed Aug 19 18:23:59 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNsRK011727
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:59 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNrL4014277
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:53 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNrtj029162
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:53 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA6s024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:55 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLclM8013628
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:48 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLclM8013628@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:47 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: switch to using pylintrc from product-definition
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:01 -0000

changeset:   1e4a7fb34503
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 27 May 2008 18:16:36 -0400

switch to using pylintrc from product-definition

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/pylint/pylintrc b/pylint/pylintrc
--- a/pylint/pylintrc
+++ b/pylint/pylintrc
@@ -1,6 +1,6 @@
 [BASIC]
 # Regular expression which should only match correct class names
-class-rgx=[A-Z][a-zA-Z0-9]+$
+class-rgx=[A-Z_][a-zA-Z0-9]+$
 
 # Regular expression which should only match correct function names
 function-rgx=[a-z_][a-zA-Z0-9]*$
@@ -21,7 +21,10 @@
 attr-rgx=[a-z_][a-zA-Z0-9_]{2,30}$
 
 # Good variable names which should always be accepted, separated by a comma
-good-names=i,j,k,n,v,f,ex,Run,_,db,cu,__
+good-names=XmlObj,Elem
+
+
+
 
 [REPORTS]
 files-output=yes
@@ -29,4 +32,5 @@
 include-ids=yes
 
 [MESSAGES CONTROL]
-disable-msg=W0142,I0011
+disable-msg=W0102,W0142
+#,I0011

From johnsonm@rpath.com Wed Aug 19 18:23:59 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNwOH011743
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:58 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNw2k014300
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:58 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNwpg029180
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:58 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA74024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:00 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLe5mJ016813
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:09 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLe5mJ016813@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:04 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: only build new packages
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:01 -0000

changeset:   5fe3951c9ee2
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 29 Jul 2008 22:08:45 -0400

only build new packages

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -233,10 +233,10 @@
                 else:
                     version = version[0]
 
-#                if not self._conaryhelper._getVersionsByName(pkg.name):
-                toBuild.add((pkg.name, version, None))
-#                else:
-#                    log.info('not building %s' % pkg.name)
+                if not self._conaryhelper._getVersionsByName(pkg.name):
+                    toBuild.add((pkg.name, version, None))
+                else:
+                    log.info('not building %s' % pkg.name)
             except Exception, e:
                 log.error('failed to import %s: %s' % (pkg, e))
                 fail.add((pkg, e))

From johnsonm@rpath.com Wed Aug 19 18:24:00 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMNxwT011745
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:23:59 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNxid014303
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:59 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNwi1029183
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:59 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA76024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:01 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdqOm016283
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:56 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdqOm016283@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:52 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove breakpoint, update comment
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:02 -0000

changeset:   a84c3cb85c08
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 09 Jul 2008 15:03:19 -0400

remove breakpoint, update comment

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -100,8 +100,8 @@
             log.info('no updates available')
             return
 
-        # Don't populate the patch source until we know that there are
-        # updates.
+        # Populate patch source not that we know that there are updates
+        # available.
         self._populatePatchSource()
 
         # Check to see if advisories exist for all required packages.
@@ -133,7 +133,6 @@
         newTroves = self._updater.publish(toPublish, expected,
                                           self._cfg.targetLabel)
 
-        import epdb; epdb.st()
         # Send advisories.
         self._advisor.send(toAdvise, newTroves)
 

From johnsonm@rpath.com Wed Aug 19 18:24:01 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMO0ZD011751
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:00 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMNxLJ014306
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:59 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMNxDd029187
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:23:59 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA78024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:01 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLguXc023715
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:56 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLguXc023715@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:56 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: use system libs, take platform as arg
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:03 -0000

changeset:   ae0e3e50c4b2
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 11 May 2009 15:09:16 -0400

use system libs, take platform as arg

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/update b/scripts/update
--- a/scripts/update
+++ b/scripts/update
@@ -3,11 +3,7 @@
 import os
 import sys
 
-sys.path.insert(0, os.environ['HOME'] + '/hg/rpath-xmllib')
-sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
 sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
-sys.path.insert(0, os.environ['HOME'] + '/hg/rmake')
-sys.path.insert(0, os.environ['HOME'] + '/hg/xobj/py')
 
 from updatebot import log
 log.addRootLogger()
@@ -18,6 +14,6 @@
 from updatebot import bot, config
 
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/%s/updatebotrc' % sys.argv[1])
 obj = bot.Bot(cfg)
 obj.update()

From johnsonm@rpath.com Wed Aug 19 18:24:02 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMO1Gs011758
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:02 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMO1af014312
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:01 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMO0it029191
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:01 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7A024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:02 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgNJZ022370
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:23 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgNJZ022370@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:23 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add some logging
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:04 -0000

changeset:   96ef86599c98
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 09 Feb 2009 10:51:30 -0500

add some logging

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -477,6 +477,7 @@
                     self._doBuild()
                 except Exception, e:
                     built = False
+                    self.log('traceback while building %s, retrying' % e)
                     continue
                 built = True
 
@@ -509,8 +510,10 @@
                 time.sleep(20 + self.offset)
                 job = self.builder._helper.getJob(self.jobId)
         except xml.parsers.expat.ExpatError, e:
+            self.log('bad xml from server, retrying')
             return False, None
         except Exception, e:
+            self.log('unknown error querying server: %s' % e)
             return False, None
         return True, job
 

From johnsonm@rpath.com Wed Aug 19 18:24:03 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMO2hK011759
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:02 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMO2DG014318
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:02 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMO2cQ029196
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:02 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7C024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:04 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLh5qV024090
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:05 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLh5qV024090@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:05 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add handling for new key
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:05 -0000

changeset:   4efcab30b645
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 15 Jun 2009 22:26:23 -0400

add handling for new key

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/repomd/updateinfoxml.py b/repomd/updateinfoxml.py
--- a/repomd/updateinfoxml.py
+++ b/repomd/updateinfoxml.py
@@ -174,7 +174,7 @@
 
     __slots__ = ('filename', 'name', 'arch', 'version', 'release',
         'reboot_suggested', 'restart_suggested',  'epoch', 'location',
-        'summary')
+        'summary', 'relogin_suggested')
 
     # All attributes are defined in __init__ by iterating over __slots__,
     # this confuses pylint.
@@ -193,6 +193,8 @@
             self.reboot_suggested = child.finalize()
         elif n == 'restart_suggested':
             self.restart_suggested = child.finalize()
+        elif n == 'relogin_suggested':
+            self.relogin_suggested = child.finalize()
         else:
             raise UnknownElementError(child)
 

From johnsonm@rpath.com Wed Aug 19 18:24:05 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMO5Nw011773
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:05 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMO4um014324
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:04 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMO4cD029202
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:04 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7E024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:05 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLf3pb019213
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:04 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLf3pb019213@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:03 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add platform argument
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:07 -0000

changeset:   d7c18cc86825
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 22 Oct 2008 15:21:23 -0400

add platform argument

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/buildpackages b/scripts/buildpackages
--- a/scripts/buildpackages
+++ b/scripts/buildpackages
@@ -21,15 +21,19 @@
 from updatebot import build
 from updatebot import config
 
+if len(sys.argv) < 3 or sys.argv[1] not in os.listdir(os.environ['HOME'] + '/hg/mirrorball/config'):
+    print 'usage: buildpackages <platform> [pkg1, pkg2, ...]'
+    sys.exit(1)
+
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/%s/updatebotrc' % sys.argv[1])
 
 builder = build.Builder(cfg)
 
 trvs = set()
 label = cfg.topSourceGroup[1]
-for pkg in sys.argv[1:]:
+for pkg in sys.argv[2:]:
     trvs.add((pkg, label, None))
 trvMap = builder.build(trvs)
 

From johnsonm@rpath.com Wed Aug 19 18:24:07 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMO6tT011786
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:06 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMO6M7014338
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:06 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMO6Il029208
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:06 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7G024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:07 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcnxe013721
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:53 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcnxe013721@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:49 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add xmllib path to environment
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:08 -0000

changeset:   295192696335
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 27 May 2008 22:09:37 -0400

add xmllib path to environment

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/test/testsuite.py b/test/testsuite.py
--- a/test/testsuite.py
+++ b/test/testsuite.py
@@ -68,12 +68,15 @@
     # set default RMAKE_TEST_PATH, if it was not set.
     rmakeTestPath = setPathFromEnv('RMAKE_TEST_PATH', 'rmake-private/test')
 
+    # set default XMLLIB_PATH, if it was not set.
+    xmllibPath = setPathFromEnv('XMLLIB_PATH', 'rpath-xmllib')
+
     testDir = os.path.dirname(os.path.realpath(__file__))
 
     # Insert the following paths into the python path and sys path in
     # listed order.
     paths = (mirrorballPath, rmakePath, testDir, conaryPath, conaryTestPath,
-             rmakeTestPath)
+             rmakeTestPath, xmllibPath)
     pythonPath = os.environ.get('PYTHONPATH', "")
     for p in reversed(paths):
         if p in sys.path:

From johnsonm@rpath.com Wed Aug 19 18:24:07 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMO797011794
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:07 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMO7c6014352
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:07 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMO76o029214
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:07 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7I024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:09 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgT3X022609
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:29 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgT3X022609@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:29 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: handle errors a bit better
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:08 -0000

changeset:   e6201fcbdf08
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 24 Feb 2009 16:42:46 -0500

handle errors a bit better

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -44,8 +44,10 @@
                 ret = func(self, *args, **kwargs)
                 return ret
             except xml.parsers.expat.ExpatError, e:
-                exception = e
+                exception = None
             except Exception, e:
+                if retry is True:
+                    raise
                 exception = e
 
             if type(retry) == int:
@@ -107,7 +109,7 @@
 
         troves = self._formatInput(troveSpecs)
         jobId = self._startJob(troves)
-        self._monitorJob(jobId)
+        self._monitorJob(jobId, retry=2)
         self._sanityCheckJob(jobId)
         trvMap = self._commitJob(jobId)
         ret = self._formatOutput(trvMap)

From johnsonm@rpath.com Wed Aug 19 18:24:09 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMO9A1011807
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:09 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMO8Lm014363
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:08 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMO8O1029226
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:08 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7K024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:11 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLd3Zx014322
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:09 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLd3Zx014322@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:03 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add config options for yum repository url and base paths
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:09 -0000

changeset:   d4dcb86fa16c
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 02 Jun 2008 13:14:39 -0400

add config options for yum repository url and base paths

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -17,7 +17,7 @@
 '''
 
 from conary.lib import cfg
-from conary.lib.cfgtypes import CfgString
+from conary.lib.cfgtypes import CfgString, CfgList
 
 class UpdateBotConfig(cfg.SectionedConfigFile):
     '''
@@ -28,5 +28,8 @@
     # pylint: disable-msg=R0904
 
     # path to configuration files (conaryrc, rmakerc)
-    configPath      = CfgString
-    commitMessage   = (CfgString, 'Automated commit by updateBot')
+    configPath          = CfgString
+    commitMessage       = (CfgString, 'Automated commit by updateBot')
+
+    repositoryUrl       = CfgString
+    repositoryPaths     = CfgList(CfgLineList(CfgString))

From johnsonm@rpath.com Wed Aug 19 18:24:10 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOARm011812
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:10 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMO9ig014377
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:09 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMO9FV029233
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:09 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7M024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:11 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdNsH015191
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:33 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdNsH015191@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:23 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add __cmp__ method to packagexml so that it can
	properly be used in
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:11 -0000

changeset:   cdfcdc422fce
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 16 Jun 2008 17:28:28 -0400

add __cmp__ method to packagexml so that it can properly be used in
dictionaries

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/repomd/packagexml.py b/repomd/packagexml.py
--- a/repomd/packagexml.py
+++ b/repomd/packagexml.py
@@ -22,6 +22,8 @@
 
 from rpath_common.xmllib import api1 as xmllib
 
+from updatebot import util
+
 from repomd.errors import UnknownElementError, UnknownAttributeError
 from repomd.xmlcommon import SlotNode
 
@@ -131,6 +133,13 @@
         return hash((self.name, self.epoch, self.version, self.release,
                      self.arch))
 
+    def __cmp__(self, other):
+        pkgvercmp = util.packagevercmp(self, other)
+        if pkgvercmp != 0:
+            return pkgvercmp
+
+        return cmp(self.location, other.location)
+
 
 class _RpmRequires(xmllib.BaseNode):
     """

From johnsonm@rpath.com Wed Aug 19 18:24:11 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOBBI011823
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:11 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOBIK014386
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:11 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOAKJ029239
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:10 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7O024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:12 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeVGr017886
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:33 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeVGr017886@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:31 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: update for import
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:12 -0000

changeset:   fc7dd54834ca
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Thu, 28 Aug 2008 10:29:59 -0400

update for import

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -114,14 +114,15 @@
         self._populatePkgSource()
 
         # Import sources into repository.
-        toBuild, fail = self._updater.create(self._cfg.package, buildAll=False)
+        toBuild, fail = self._updater.create(self._cfg.package, buildAll=True)
 
         # Build all newly imported packages.
-        trvMap, failed = self._builder.buildmany(toBuild)
+#        trvMap, failed = self._builder.buildmany(toBuild)
 
-        import epdb; epdb.st()
+#        import epdb; epdb.st()
 
-        #trvMap = self._builder.build(toBuild)
+#        trvMap = self._builder.build(toBuild)
+#        import epdb; epdb.st()
         trvs = self._builder._formatInput(toBuild)
         jobs = {}
         for trv in trvs:

From johnsonm@rpath.com Wed Aug 19 18:24:12 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOBfF011824
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:11 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOBL8014390
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:11 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOBnS029244
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:11 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7Q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:13 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfe5i020634
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:40 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfe5i020634@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:40 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix up tu
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:13 -0000

changeset:   3df221af132f
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 19 Nov 2008 13:24:27 -0500

fix up tu

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/promote-centos.sh b/scripts/promote-centos.sh
--- a/scripts/promote-centos.sh
+++ b/scripts/promote-centos.sh
@@ -23,7 +23,7 @@
     anaconda-templates=centos.rpath.com@rpath:centos-5-devel \
     group-os=centos.rpath.com@rpath:centos-5-devel \
     /centos.rpath.com@rpath:centos-5-devel--/centos.rpath.com@rpath:centos-5 \
-    /centos.rpath.com@rpath:centos-devel//centos-5-devel--/centos.rpath.com@rpath:centos-devel//centos-5 \
+    /centos.rpath.com@rpath:centos-devel//centos-5-devel--/centos.rpath.com@rpath:centos-5 \
     /conary.rpath.com@rpl:devel//2--/centos.rpath.com@rpath:centos-5 \
     /conary.rpath.com@rpl:devel//2//centos.rpath.com@rpath:centos-5-devel--/centos.rpath.com@rpath:centos-5 \
     /conary.rpath.com@rpl:devel//centos.rpath.com@rpath:centos-5-devel--/centos.rpath.com@rpath:centos-5

From johnsonm@rpath.com Wed Aug 19 18:24:14 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOC6s011830
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:13 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOCDj014396
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:12 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOCxC029247
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:12 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7S024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:14 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcpXx013806
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:38:58 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192138.n7JLcpXx013806@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:51 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove some unneeded pylint exceptions
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:15 -0000

changeset:   f75207e86dcd
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 28 May 2008 11:43:33 -0400

remove some unneeded pylint exceptions

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/repomd/patchxml.py b/repomd/patchxml.py
--- a/repomd/patchxml.py
+++ b/repomd/patchxml.py
@@ -22,12 +22,6 @@
     # R0902 - Too many instance attributes
     # pylint: disable-msg=R0902
 
-    # W0232 - Class has no __init__ method (Yes, really it does)
-    # pylint: disable-msg=W0232
-
-    # R0903 - Too few public methods
-    # pylint: disable-msg=R0903
-
     name = None
     summary = None
     description = None
@@ -96,12 +90,6 @@
     Parser for the atoms element of a path-*.xml file.
     '''
 
-    # W0232 - Class has no __init__ method (Yes, really it does)
-    # pylint: disable-msg=W0232
-
-    # R0903 - Too few public methods
-    # pylint: disable-msg=R0903
-
     def addChild(self, child):
         '''
         Parse children of atoms element.

From johnsonm@rpath.com Wed Aug 19 18:24:14 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOE6x011832
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:14 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMODR1014403
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:13 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMODri029251
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:13 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7U024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:15 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLepuC018736
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:52 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLepuC018736@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:51 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:18 -0000

changeset:   99034c9e7cf7
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 23 Sep 2008 16:32:49 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/promote-ubuntu.sh b/scripts/promote-ubuntu.sh
--- a/scripts/promote-ubuntu.sh
+++ b/scripts/promote-ubuntu.sh
@@ -30,6 +30,7 @@
     platform-definition:source=ubuntu.rpath.org@rpath:ubuntu-hardy-devel \
     group-os=ubuntu.rpath.org@rpath:ubuntu-hardy-devel \
     /ubuntu.rpath.org@rpath:ubuntu-hardy-devel--/ubuntu.rpath.org@rpath:ubuntu-hardy \
+    /ubuntu.rpath.org@rpath:ubuntu-devel//ubuntu-hardy-devel--/ubuntu.rpath.org@rpath:ubuntu-devel//ubuntu-hardy \
     /conary.rpath.com@rpl:devel//conary.rpath.com@rpl:2--/ubuntu.rpath.org@rpath:ubuntu-hardy \
     /conary.rpath.com@rpl:devel//conary.rpath.com@rpl:2//ubuntu.rpath.org@rpath:ubuntu-hardy-devel--/ubuntu.rpath.org@rpath:ubuntu-hardy \
     /conary.rpath.com@rpl:devel//ubuntu.rpath.org@rpath:ubuntu-hardy-devel--/ubuntu.rpath.org@rpath:ubuntu-hardy

From johnsonm@rpath.com Wed Aug 19 18:24:15 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOEq1011836
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:14 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOEVd014406
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:14 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOEU5029255
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:14 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7W024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:16 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLePPX017631
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:28 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLePPX017631@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:25 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add script for just opening a package source
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:18 -0000

changeset:   77ba6ded5920
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 25 Aug 2008 14:47:58 -0400

add script for just opening a package source

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/scripts/pkgsource.py b/scripts/pkgsource.py
new file mode 100755
--- /dev/null
+++ b/scripts/pkgsource.py
@@ -0,0 +1,29 @@
+#!/usr/bin/python
+
+import sys
+from conary.lib import util
+sys.excepthook = util.genExcepthook()
+
+import logging
+import updatebot.log
+
+updatebot.log.addRootLogger()
+log = logging.getLogger('test')
+
+from aptmd import Client
+from updatebot import config
+from updatebot import pkgsource
+
+cfg = config.UpdateBotConfig()
+cfg.read('/data/hg/mirrorball/config/ubuntu/updatebotrc')
+
+client = Client('http://i.rdu.rpath.com/ubuntu')
+pkgSource = pkgsource.PackageSource(cfg)
+
+for path in cfg.repositoryPaths:
+    log.info('loading %s' % path)
+    pkgSource.loadFromClient(client, path)
+
+pkgSource.finalize()
+
+import epdb; epdb.st()

From johnsonm@rpath.com Wed Aug 19 18:24:16 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOGYJ011842
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:16 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOFot014412
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:15 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOF3F029258
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:15 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7Y024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:17 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeqEd018770
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:54 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeqEd018770@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:52 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: sles/updatebotrc add emailBcc to juphoff,
	stub use of juphoff config dir
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:19 -0000

changeset:   e44604b5fd2b
user:        Jeff Uphoff <https://issues.rpath.com/>
date:        Wed, 24 Sep 2008 10:36:31 -0400

sles/updatebotrc add emailBcc to juphoff, stub use of juphoff config dir

committer: Jeff Uphoff <https://issues.rpath.com/>

diff --git a/scripts/buildgroups b/scripts/buildgroups
--- a/scripts/buildgroups
+++ b/scripts/buildgroups
@@ -20,7 +20,7 @@
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/sles/updatebotrc')
 
 builder = build.Builder(cfg)
 
diff --git a/scripts/buildpackages b/scripts/buildpackages
--- a/scripts/buildpackages
+++ b/scripts/buildpackages
@@ -23,7 +23,7 @@
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/sles/updatebotrc')
 
 builder = build.Builder(cfg)
 

From johnsonm@rpath.com Wed Aug 19 18:24:18 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOHDV011846
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:17 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOG82014418
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:16 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOGjP029261
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:16 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7a024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:18 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdKBe015071
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:30 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdKBe015071@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:20 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add a map for binary package names -> package objects
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:21 -0000

changeset:   ea667f99fd02
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 12 Jun 2008 22:21:38 -0400

add a map for binary package names -> package objects

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -54,6 +54,9 @@
         # {srcName: [srcPkg, ... ] }
         self.srcNameMap = dict()
 
+        # {binName: [binPkg, ... ] }
+        self.binNameMap = dict()
+
     def _procSrc(self, basePath, package):
         """
         Process source rpms.
@@ -92,6 +95,10 @@
             self.rpmMap[srpm] = {longLoc: package}
         self.revMap[package.name] = srpm
 
+        if package.name not in self.binNameMap:
+            self.binNameMap[package.name] = []
+        self.binNameMap[package.name].append(package)
+
     def load(self, url, basePath=''):
         """
         Walk the yum repository rooted at url/basePath and collect information

From johnsonm@rpath.com Wed Aug 19 18:24:19 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOHi1011851
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:18 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOHXn014421
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:17 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOH2j029266
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:17 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7c024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:19 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLemrQ018583
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:49 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLemrQ018583@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:48 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add missing frumptuu
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:22 -0000

changeset:   b05b3c37a916
user:        Elliot Peele <https://issues.rpath.com/>
date:        Sat, 13 Sep 2008 20:06:43 -0400

add missing frumptuu

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/promote-ubuntu.sh b/scripts/promote-ubuntu.sh
--- a/scripts/promote-ubuntu.sh
+++ b/scripts/promote-ubuntu.sh
@@ -30,6 +30,7 @@
     platform-definition:source=ubuntu.rpath.org@rpath:ubuntu-hardy-devel \
     group-os=ubuntu.rpath.org@rpath:ubuntu-hardy-devel \
     /ubuntu.rpath.org@rpath:ubuntu-hardy-devel--/ubuntu.rpath.org@rpath:ubuntu-hardy \
+    /ubuntu.rpath.org@rpath:ubuntu-devel//ubuntu-hardy-devel--/ubuntu.rpath.org@rpath:ubuntu-devel//ubuntu-hardy \
     /conary.rpath.com@rpl:devel//conary.rpath.com@rpl:2--/ubuntu.rpath.org@rpath:ubuntu-hardy \
     /conary.rpath.com@rpl:devel//conary.rpath.com@rpl:2//ubuntu.rpath.org@rpath:ubuntu-hardy-devel--/ubuntu.rpath.org@rpath:ubuntu-hardy \
     /conary.rpath.com@rpl:devel//ubuntu.rpath.org@rpath:ubuntu-hardy-devel--/ubuntu.rpath.org@rpath:ubuntu-hardy

From johnsonm@rpath.com Wed Aug 19 18:24:19 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOImN011852
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:18 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOHru014424
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:17 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOH8d029269
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:17 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7e024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:20 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeEtj017171
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:17 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeEtj017171@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:14 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: generically look for locations, deb sources don't
	have a .location
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:24 -0000

changeset:   f1cbe66149dc
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 14 Aug 2008 18:05:21 -0400

generically look for locations, deb sources don't have a .location

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -317,9 +317,14 @@
         @type srcPkg: repomd.packagexml._Package
         """
 
+        manifest = []
         manifestPkgs = list(self._pkgSource.srcPkgMap[srcPkg])
-        pkgs = self._getLatestOfAvailableArches(manifestPkgs)
-        return [ x.location for x in pkgs ]
+        for pkg in self._getLatestOfAvailableArches(manifestPkgs):
+            if hasattr(pkg, 'location'):
+                manifest.append(pkg.location)
+            elif hasattr(pkg, 'files'):
+                manifest.extend(pkg.files)
+        return manifest
 
     def publish(self, trvLst, expected, targetLabel, checkPackageList=True):
         """

From johnsonm@rpath.com Wed Aug 19 18:24:20 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOJ5d011855
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:19 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOJNq014433
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:19 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOII6029277
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:18 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7i024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:21 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdvUe016521
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:02 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLdvUe016521@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:57 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: update docs
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:25 -0000

changeset:   bb8370fd985c
user:        Elliot Peele <http://issues.rpath.com/>
date:        Fri, 25 Jul 2008 15:28:54 -0400

update docs

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -66,7 +66,7 @@
         the top level group config option.
         @param group: group to query
         @type group: None or troveTuple (name, versionStr, flavorStr)
-        @return set of source trove specs
+        @return dict of source trove specs to list of binary trove specs
         """
 
         # E1101 - Instance of 'ConaryConfiguration' has no 'buildLabel' member
@@ -124,7 +124,7 @@
         refrenced by that trove.
         @param troveSpec: trove to walk.
         @type troveSpec: (name, versionObj, flavorObj)
-        @return set([(trvSpec, trvSpec, ...])
+        @return {srcTrvSpec: [binTrvSpec, binTrvSpec, ...]}
         """
 
         # W0212 - Access to a protected member _TROVEINFO_TAG_SOURCENAME of a

From johnsonm@rpath.com Wed Aug 19 18:24:21 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOKgU011860
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:20 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOJZt014436
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:19 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOJnP029280
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:19 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7k024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:21 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLedxl018209
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:40 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLedxl018209@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:39 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add method for removing files
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:25 -0000

changeset:   bde617631917
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 08 Sep 2008 02:24:38 -0400

add method for removing files

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -312,6 +312,25 @@
         finally:
             os.chdir(cwd)
 
+    @staticmethod
+    def _removeFile(pkgDir, fileName):
+        """
+        Remove a file from a source component.
+        @param pkgDir: directory where package is checked out to.
+        @type pkgDir: string
+        @param fileName: file name to add.
+        @type fileName: string
+        """
+
+        log.info('removing file: %s' % fileName)
+
+        cwd = os.getcwd()
+        try:
+            os.chdir(pkgDir)
+            checkin.removeFile(fileName)
+        finally:
+            os.chdir(cwd)
+
     def _getVersionsByName(self, pkgname):
         """
         Figure out if a trove exists in the repository.

From johnsonm@rpath.com Wed Aug 19 18:24:21 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOKqE011863
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:21 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOKqI014439
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:20 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOK99029283
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:20 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7m024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:22 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLglDa023357
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:47 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLglDa023357@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:47 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: use system libs, take platform name as arg
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:26 -0000

changeset:   8ad0c3b96471
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 22 Apr 2009 13:32:23 -0400

use system libs, take platform name as arg

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/findbinaries b/scripts/findbinaries
--- a/scripts/findbinaries
+++ b/scripts/findbinaries
@@ -16,11 +16,7 @@
 import os
 import sys
 
-sys.path.insert(0, os.environ['HOME'] + '/hg/rpath-xmllib')
-sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
 sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
-sys.path.insert(0, os.environ['HOME'] + '/hg/xobj/py')
-sys.path.insert(0, os.environ['HOME'] + '/hg/rmake')
 
 from conary.lib import util
 sys.excepthook = util.genExcepthook()
@@ -39,7 +35,7 @@
 slog = logging.getLogger('findbinaries')
 
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/sles/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/%s/updatebotrc' % sys.argv[1])
 
 bot = bot.Bot(cfg)
 updater = bot._updater

From johnsonm@rpath.com Wed Aug 19 18:24:22 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOMQi011869
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:22 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOIU9014427
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:18 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOIiq029274
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:18 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7g024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:20 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdV63015516
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:40 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdV63015516@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:31 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: setup flavor objects on a per package basis
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:27 -0000

changeset:   edd334f487bd
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 19 Jun 2008 21:45:54 -0400

setup flavor objects on a per package basis

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -43,9 +43,6 @@
         # Have to initialize flavors to commit to the repository.
         self._ccfg.initializeFlavors()
 
-        # Setup flavor objects
-        use.setBuildFlagsFromFlavor(pkgname, self._ccfg.buildFlavor, error=False)
-
         self._client = conaryclient.ConaryClient(self._ccfg)
         self._repos = self._client.getRepos()
 
@@ -200,6 +197,9 @@
         manifestfh.write('\n')
         manifestfh.close()
 
+        # Setup flavor objects
+        use.setBuildFlagsFromFlavor(pkgname, self._ccfg.buildFlavor, error=False)
+
         # Commit to repository.
         self._commit(recipeDir, commitMessage)
         util.rmtree(recipeDir)

From johnsonm@rpath.com Wed Aug 19 18:24:22 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOMjG011870
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:22 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOLYT014448
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:21 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOLuI029286
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:21 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7o024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:23 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfdx0020617
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:39 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfdx0020617@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:39 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add mirror script
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:28 -0000

changeset:   f0f5f8f2d7d1
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 19 Nov 2008 13:23:59 -0500

add mirror script

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/mirror.py b/scripts/mirror.py
new file mode 100755
--- /dev/null
+++ b/scripts/mirror.py
@@ -0,0 +1,20 @@
+#!/usr/bin/python2.6
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+from header import *
+
+from updatebot import conaryhelper
+helper = conaryhelper.ConaryHelper(cfg)
+helper.mirror()

From johnsonm@rpath.com Wed Aug 19 18:24:25 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMONjP011882
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:23 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMON7j014463
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:23 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMONlY029296
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:23 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7u024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:25 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfDcP019607
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:13 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfDcP019607@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:13 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add mirroring for centos
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:28 -0000

changeset:   b0e3adc9c65b
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 31 Oct 2008 15:15:15 -0400

add mirroring for centos

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/mirror-centos.sh b/scripts/mirror-centos.sh
new file mode 100755
--- /dev/null
+++ b/scripts/mirror-centos.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+~/hg/conary/scripts/mirror --config-file=/home/elliot/hg/mirrorball/config/centos/mirror.conf -v

From johnsonm@rpath.com Wed Aug 19 18:24:23 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOMhQ011875
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:22 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOMdf014451
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:22 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOMYX029289
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:22 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:24 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLh7PD024175
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:07 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLh7PD024175@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:07 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: normalize paths in manifest files, some manifests
	were created with double
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:28 -0000

changeset:   74ceac37b464
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 27 Jul 2009 15:35:33 -0400

normalize paths in manifest files, some manifests were created with double
slashes

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -16,6 +16,7 @@
 Module for finding packages to update and updating them.
 """
 
+import os
 import logging
 
 from rpmutils import rpmvercmp
@@ -153,6 +154,9 @@
         metadata = None
         manifest = self._conaryhelper.getManifest(nvf[0])
         for line in manifest:
+            # Some manifests were created with double slashes, need to
+            # normalize the path to work around this problem.
+            line = os.path.normpath(line)
             if line in self._pkgSource.locationMap:
                 binPkg = self._pkgSource.locationMap[line]
                 srcPkg = self._pkgSource.binPkgMap[binPkg]

From johnsonm@rpath.com Wed Aug 19 18:24:28 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOOXX011886
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:26 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOOHM014470
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:24 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOOeX029303
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:24 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA80024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:26 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLewnF019009
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:59 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLewnF019009@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:58 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add script to mirror ubuntu
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:30 -0000

changeset:   3aba0c4852ea
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 29 Sep 2008 15:36:21 -0400

add script to mirror ubuntu

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/mirror-ubuntu.sh b/scripts/mirror-ubuntu.sh
new file mode 100755
--- /dev/null
+++ b/scripts/mirror-ubuntu.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+~/hg/conary/scripts/mirror --config-file=/home/elliot/hg/mirrorball/config/ubuntu/mirror.conf -v

From johnsonm@rpath.com Wed Aug 19 18:24:26 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMONQw011879
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:23 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOMuH014457
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:22 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOMas029292
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:22 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7s024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:24 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLcu9B014004
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:05 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLcu9B014004@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:56 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove cruft
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:30 -0000

changeset:   afc81c56d690
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 28 May 2008 21:05:10 -0400

remove cruft

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/test/unit_test/updatebottest/buildtest.py b/test/unit_test/updatebottest/buildtest.py
--- a/test/unit_test/updatebottest/buildtest.py
+++ b/test/unit_test/updatebottest/buildtest.py
@@ -24,18 +24,6 @@
 from updatebot import errors
 
 class BuilderTest(slehelp.Helper):
-    def _getBuilder(self):
-        mockJob = mock.MockObject(stableReturnValues=True)
-        mockJob.isFailed._mock.setReturn(False)
-        mockJob.isFinished._mock.setReturn(False)
-        mockJob.iterBuiltTroves._mock.setReturn([])
-        mockHelper = mock.MockObject(stableReturnValues=True)
-        mockHelper.createBuildJob._mock.setReturn(mockJob)
-        mockHelper.buildJob._mock.setReturn(1)
-        mockHelper.getJob._mock.setReturn(mockJob)
-        builder = build.Builder(self.updateBotCfg)
-
-
     def testStartJob(self):
         trvSpecs = (('foo', '', ''), )
 

From johnsonm@rpath.com Wed Aug 19 18:24:28 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOOZN011885
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:25 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMON24014466
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:23 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMONhi029300
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:23 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA7w024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:26 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfeN1020668
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:40 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfeN1020668@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:40 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: return the return code
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:32 -0000

changeset:   89a7f82f4b98
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 19 Nov 2008 13:28:06 -0500

return the return code

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -28,8 +28,10 @@
 from conary.build import use
 from conary import conarycfg
 from conary import conaryclient
+from conary.lib import log as clog
 from conary.conaryclient import mirror
 
+
 from updatebot import util
 from updatebot.errors import GroupNotFound
 from updatebot.errors import TooManyFlavorsFoundError
@@ -478,8 +480,6 @@
             log.info('mirroring disabled, no mirror.conf found for this platform')
             return
 
-        from conary.lib import log as clog
-
         # Always use DEBUG logging when mirroring
         curLevel = clog.fmtLogger.level
         clog.setVerbosity(clog.DEBUG)
@@ -492,3 +492,5 @@
 
         # Reset loglevel
         clog.setVerbosity(curLevel)
+
+        return rc

From johnsonm@rpath.com Wed Aug 19 18:24:28 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOPvE011890
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:26 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOPLY014477
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:25 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOPvj029309
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:25 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA84024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:27 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgipr023238
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:44 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgipr023238@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:44 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:32 -0000

changeset:   096b908da97a
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 20 Apr 2009 15:49:50 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/import b/scripts/import
--- a/scripts/import
+++ b/scripts/import
@@ -16,11 +16,7 @@
 import os
 import sys
 
-sys.path.insert(0, os.environ['HOME'] + '/hg/xobj/py')
-sys.path.insert(0, os.environ['HOME'] + '/hg/rpath-xmllib')
-sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
 sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
-sys.path.insert(0, os.environ['HOME'] + '/hg/rmake')
 
 from conary.lib import util
 sys.excepthook = util.genExcepthook()
diff --git a/scripts/sync-scientific.sh b/scripts/sync-scientific.sh
--- a/scripts/sync-scientific.sh
+++ b/scripts/sync-scientific.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# Copyright (c) 2008 rPath, Inc.
+# Copyright (c) 2008-2009 rPath, Inc.
 #
 # This program is distributed under the terms of the Common Public License,
 # version 1.0. A copy of this license should have been distributed with this

From johnsonm@rpath.com Wed Aug 19 18:24:28 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOPQk011887
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:26 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOOOY014473
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:24 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOO5H029306
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:24 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA82024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:27 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLelmF018566
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:49 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLelmF018566@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:47 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove two flavor contraint now that we have a
	platform with more than two
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:35 -0000

changeset:   5ca09ae41a36
user:        Elliot Peele <https://issues.rpath.com/>
date:        Sat, 13 Sep 2008 19:41:12 -0400

remove two flavor contraint now that we have a platform with more than two
flavors, instead use current flavor count

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -41,6 +41,8 @@
     """
 
     def __init__(self, cfg):
+        self._groupFlavorCount = len(cfg.groupFlavors)
+
         self._ccfg = conarycfg.ConaryConfiguration(readConfigFiles=False)
         self._ccfg.read(util.join(cfg.configPath, 'conaryrc'))
         self._ccfg.dbPath = ':memory:'
@@ -81,7 +83,7 @@
 
         # Magic number should probably be a config option.
         # 2 here is the number of flavors expected.
-        if len(latest) != 2:
+        if len(latest) != self._groupFlavorCount:
             raise TooManyFlavorsFoundError(why=latest)
 
         d = {}

From johnsonm@rpath.com Wed Aug 19 18:24:32 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOSva011902
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:28 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOShl014487
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:28 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOSLF029317
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:28 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA88024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:29 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfFC3019692
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:16 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfFC3019692@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:15 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:36 -0000

changeset:   6bb6d8f7532e
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 06 Nov 2008 20:36:25 -0500

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/pylint/run_pylint b/pylint/run_pylint
--- a/pylint/run_pylint
+++ b/pylint/run_pylint
@@ -35,7 +35,7 @@
 done
 
 if [ -z "$files" ] ; then
-    files="updatebot repomd rpmutils aptmd"
+    files="updatebot repomd rpmutils aptmd pmap"
 fi
 
 pylint --init-hook='import sys; sys.path.append("."); import init_pylint' --rcfile='../pylintrc' $pylintArgs $files
diff --git a/test/testsuite.py b/test/testsuite.py
--- a/test/testsuite.py
+++ b/test/testsuite.py
@@ -56,7 +56,7 @@
 
     testutilsPath = setPathFromEnv('TESTUTILS_PATH', '../testutils')
     conaryDir = setPathFromEnv('CONARY_PATH', '../conary')
-    conaryTestPath = setPathFromEnv('CONARY_TEST_PATH', '../conary-test')
+    conaryTestPath = setPathFromEnv('CONARY_TEST_PATH', '../conary-test-2.0')
     setPathFromEnv('CONARY_POLICY_PATH', '/usr/lib/conary/policy')
     mirrorballPath = setPathFromEnv('SLEESTACK_PATH', '')
 

From johnsonm@rpath.com Wed Aug 19 18:24:32 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOUPM011907
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:30 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOUue014496
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:30 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOUdd029326
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:30 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8C024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:31 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgfD7023119
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:42 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgfD7023119@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:41 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: sync entire 5.x tree for scientific linux
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:37 -0000

changeset:   1dbf5d2e3083
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 02 Apr 2009 16:17:31 -0400

sync entire 5.x tree for scientific linux

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/sync-scientific.sh b/scripts/sync-scientific.sh
--- a/scripts/sync-scientific.sh
+++ b/scripts/sync-scientific.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# Copyright (c) 2009 rPath, Inc.
+# Copyright (c) 2008 rPath, Inc.
 #
 # This program is distributed under the terms of the Common Public License,
 # version 1.0. A copy of this license should have been distributed with this
@@ -13,10 +13,10 @@
 # full details.
 #
 
-SOURCE=rsync://rsync.scientificlinux.org/scientific/53
+SOURCE=rsync://rsync.scientificlinux.org/scientific/
 DEST=/l/scientific/
 
 date
-rsync -arv --progress --bwlimit=1024 --exclude iso $SOURCE $DEST
+rsync -arv --progress --bwlimit=600 --exclude iso --exclude 3* --exclude 4* --exclude RHAPS* --exclude livecd --exclude mirrorlist --exclude obsolete --exclude virtual-images $SOURCE $DEST
 
 ./hardlink.py $DEST

From johnsonm@rpath.com Wed Aug 19 18:24:33 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOV5U011909
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:32 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOV0s014499
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:31 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOVRc029329
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:31 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8E024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:33 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfquS021161
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:53 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfquS021161@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:52 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add line filters
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:37 -0000

changeset:   b1f4b8ca17d8
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 19 Dec 2008 14:31:41 -0500

add line filters

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/aptmd/parser.py b/aptmd/parser.py
--- a/aptmd/parser.py
+++ b/aptmd/parser.py
@@ -197,6 +197,8 @@
         self._containerClass = None
         self._stateFilters = {
         }
+        self._stateLineFilters = {
+        }
 
     def _filter(self, fltr, state):
         """
@@ -205,6 +207,13 @@
 
         self._stateFilters[re.compile(fltr)] = state
 
+    def _filterLine(self, fltr, state):
+        """
+        Build a state based on line filter.
+        """
+
+        self._stateLineFilters[re.compile(fltr)] = state
+
     def _getState(self, key):
         """
         Filter states based on filter map.
@@ -222,6 +231,10 @@
             if fltr.match(key):
                 return state
 
+        for fltr, state in self._stateLineFilters.iteritems():
+            if fltr.match(self._getFullLine()):
+                return state
+
         return key
 
     def _newContainer(self):

From johnsonm@rpath.com Wed Aug 19 18:24:35 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOZTV011937
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:35 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOY7H014514
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:34 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOYOw029343
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:34 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8M024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:36 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfJl5019846
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:19 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfJl5019846@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:19 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: use repository short name
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:39 -0000

changeset:   f90cc5b5d134
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 13 Nov 2008 10:53:19 -0500

use repository short name

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -61,8 +61,7 @@
             client = aptmd.Client(self._cfg.repositoryUrl)
 
         for repo in self._cfg.repositoryPaths:
-            log.info('loading repository data %s/%s'
-                     % (self._cfg.repositoryUrl, repo))
+            log.info('loading repository data %s' % repo)
 
             if self._cfg.repositoryFormat == 'yum':
                 client = repomd.Client(self._cfg.repositoryUrl + '/' + repo)
@@ -82,8 +81,7 @@
             return
 
         for path, client in self._clients.iteritems():
-            log.info('loading patch information %s/%s'
-                     % (self._cfg.repositoryUrl, path))
+            log.info('loading patch information %s' % path)
             self._patchSource.loadFromClient(client, path)
 
         self._patchSourcePopulated = True

From johnsonm@rpath.com Wed Aug 19 18:24:34 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOWs0011914
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:33 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOWi4014502
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:32 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOVQa029332
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:32 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8G024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:34 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLf7cB019334
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:08 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLf7cB019334@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:07 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: vendorize email
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:39 -0000

changeset:   6d61c398c89a
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 22 Oct 2008 18:38:38 -0400

vendorize email

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/vendor/email/__init__.py b/vendor/email/__init__.py
--- a/vendor/email/__init__.py
+++ b/vendor/email/__init__.py
@@ -121,13 +121,13 @@
 
 for _name in _LOWERNAMES:
     importer = LazyImporter(_name.lower())
-    sys.modules['email.' + _name] = importer
-    setattr(sys.modules['email'], _name, importer)
+    sys.modules['vendor.email.' + _name] = importer
+    setattr(sys.modules['vendor.email'], _name, importer)
 
 
-import email.mime
+import vendor.email.mime
 for _name in _MIMENAMES:
     importer = LazyImporter('mime.' + _name.lower())
-    sys.modules['email.MIME' + _name] = importer
-    setattr(sys.modules['email'], 'MIME' + _name, importer)
-    setattr(sys.modules['email.mime'], _name, importer)
+    sys.modules['vendor.email.MIME' + _name] = importer
+    setattr(sys.modules['vendor.email'], 'MIME' + _name, importer)
+    setattr(sys.modules['vendor.email.mime'], _name, importer)

From johnsonm@rpath.com Wed Aug 19 18:24:32 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMORge011894
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:28 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMORU1014480
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:27 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOQJr029312
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:26 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA86024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:28 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfcKM020549
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:38 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfcKM020549@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:38 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: actually send email to the bcc addresses
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:39 -0000

changeset:   d7563d8f1476
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 18 Nov 2008 13:17:20 -0500

actually send email to the bcc addresses

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/common.py b/updatebot/advisories/common.py
--- a/updatebot/advisories/common.py
+++ b/updatebot/advisories/common.py
@@ -89,7 +89,7 @@
         smtp = self._smtpConnect()
 
         try:
-            results = smtp.sendmail(self._from, self._to, message.as_string())
+            results = smtp.sendmail(self._from, self._to + self._bcc, message.as_string())
         except (SMTPRecipientsRefused, SMTPHeloError, SMTPSenderRefused,
                 SMTPDataError), e:
             raise FailedToSendAdvisoryError(error=e)
@@ -111,7 +111,6 @@
         email['Subject'] = self._subject
         email['From'] = '%s <%s>' % (self._fromName, self._from)
         email['To'] = self._formatList(self._to)
-        email['Bcc'] = self._formatList(self._bcc)
         return email
 
     @staticmethod

From johnsonm@rpath.com Wed Aug 19 18:24:33 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOTcX011905
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:30 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOShN014492
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:28 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOScA029322
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:28 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8A024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:31 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgS6c022558
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:28 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgS6c022558@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:28 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix logic error in requires parsing
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:40 -0000

changeset:   d5ed050b22c1
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 16 Feb 2009 02:35:27 -0500

fix logic error in requires parsing

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/repomd/packagexml.py b/repomd/packagexml.py
--- a/repomd/packagexml.py
+++ b/repomd/packagexml.py
@@ -166,15 +166,15 @@
         """
 
         if child.getName() in ('rpm:entry', 'suse:entry'):
+            child.kind = None
+            child.name = None
+            child.epoch = None
+            child.version = None
+            child.release = None
+            child.flags = None
+            child.pre = None
+
             for attr, value in child.iterAttributes():
-                child.kind = None
-                child.name = None
-                child.epoch = None
-                child.version = None
-                child.release = None
-                child.flags = None
-                child.pre = None
-
                 if attr == 'kind':
                     child.kind = value
                 elif attr == 'name':

From johnsonm@rpath.com Wed Aug 19 18:24:33 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOXMW011920
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:33 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOXla014505
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:33 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOXLi029335
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:33 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8I024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:35 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLed0T018226
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:41 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLed0T018226@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:39 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove empty control files
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:40 -0000

changeset:   9c335a49a752
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 08 Sep 2008 02:27:15 -0400

remove empty control files

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/extra/logparse.py b/extra/logparse.py
--- a/extra/logparse.py
+++ b/extra/logparse.py
@@ -477,10 +477,14 @@
         log.info('writing control file for %s' % pkgName)
 
         recipeDir = self._helper._checkout(pkgName)
-        fd = open(os.path.join(recipeDir, 'control'), 'w')
-        fd.write(self.getControl())
-        fd.close()
-        self._helper._addFile(recipeDir, 'control')
+        control = self.getControl()
+        if not control and os.path.exists(os.path.join(recipeDir, 'control')):
+            self._helper.removeFile('control')
+        if control:
+            fd = open(os.path.join(recipeDir, 'control'), 'w')
+            fd.write(control)
+            fd.close()
+            self._helper._addFile(recipeDir, 'control')
 
         use.setBuildFlagsFromFlavor(pkgName, self._helper._ccfg.buildFlavor,
                                     error=False)

From johnsonm@rpath.com Wed Aug 19 18:24:34 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOYkj011926
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:34 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOYq6014511
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:34 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOXgW029339
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:33 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8K024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:36 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfP0x020086
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:25 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfP0x020086@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:25 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix typos
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:40 -0000

changeset:   1be908848b11
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 14 Nov 2008 18:46:38 -0500

fix typos

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/sles.py b/updatebot/advisories/sles.py
--- a/updatebot/advisories/sles.py
+++ b/updatebot/advisories/sles.py
@@ -24,7 +24,7 @@
         for path, client in self._pkgSource.getClients().iteritems():
             log.info('loading patch information %s' % path)
             for patch in client.getPatchDetail():
-                self._lineOne(patch, path)
+                self._loadOne(patch, path)
 
     def _loadOne(self, patch, path):
         """
@@ -40,9 +40,9 @@
 
         for package in patch.packages:
             package.location = path + '/' + package.location
-            if package not in self.pkgMap:
-                self.pkgMap[package] = set()
-            self.pkgMap[package].add(patch)
+            if package not in self._pkgMap:
+                self._pkgMap[package] = set()
+            self._pkgMap[package].add(patch)
 
     def _filterPatch(self, patch):
         """

From johnsonm@rpath.com Wed Aug 19 18:24:43 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOhMR011980
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:43 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOgVX014579
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:42 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOg95029386
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:42 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8e024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:45 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgw5E023783
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:58 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgw5E023783@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:58 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: make it easier to run in a different directory
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:47 -0000

changeset:   28b3fbaeac55
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 12 May 2009 10:18:42 -0400

make it easier to run in a different directory

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/header.py b/scripts/header.py
--- a/scripts/header.py
+++ b/scripts/header.py
@@ -15,7 +15,8 @@
 import os
 import sys
 
-sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
+mirrorballDir = os.environ['HOME'] + '/hg/mirrorball'
+sys.path.insert(0, sleestckDir)
 
 from conary.lib import util
 sys.excepthook = util.genExcepthook()
@@ -28,12 +29,12 @@
     print 'usage: %s <platform> [pkg1, pkg2, ...]' % sys.argv[0]
     sys.exit(1)
 
-if len(sys.argv) < 2 or sys.argv[1] not in os.listdir(os.environ['HOME'] + '/hg/mirrorball/config'):
+if len(sys.argv) < 2 or sys.argv[1] not in os.listdir(mirrorballDir + '/config'):
     usage()
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/%s/updatebotrc' % sys.argv[1])
+cfg.read(mirrorballDir + '/config/%s/updatebotrc' % sys.argv[1])
 
 builder = build.Builder(cfg)
 

From johnsonm@rpath.com Wed Aug 19 18:24:46 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOhPd011991
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:44 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOh51014584
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:43 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOhBT029392
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:43 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8i024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:46 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLggWE023170
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:43 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLggWE023170@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:42 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add code for printing out missing srpms
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:49 -0000

changeset:   8a7fca76a5ac
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 09 Apr 2009 15:47:51 -0400

add code for printing out missing srpms

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/pkgsource/rpmsource.py b/updatebot/pkgsource/rpmsource.py
--- a/updatebot/pkgsource/rpmsource.py
+++ b/updatebot/pkgsource/rpmsource.py
@@ -206,6 +206,20 @@
             count = sum([ len(x) for x in self._rpmMap.itervalues() ])
             log.warn('found %s binary rpms without matching srpms' % count)
 
+            #srcs = {}
+            #for x in self._rpmMap.itervalues():
+            #    for y in x:
+            #        if y.sourcerpm not in srcs:
+            #            srcs[y.sourcerpm] = set()
+            #        srcs[y.sourcerpm].add(y.location)
+
+            #for src, locs in srcs.iteritems():
+            #    log.warn('missing srpm: %s' % src)
+            #    log.warn('for rpm(s):')
+            #    for loc in sorted(locs):
+            #        log.warn('\t%s' % loc)
+
+
     def loadFileLists(self, client, basePath):
         """
         Parse file information.

From johnsonm@rpath.com Wed Aug 19 18:24:47 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOjqP011998
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:45 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOjCI014595
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:45 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOjp7029412
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:45 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8m024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:47 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLf22I019162
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:03 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLf22I019162@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:02 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: stub for ubuntu parser
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:50 -0000

changeset:   3e9bbee0b322
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 22 Oct 2008 15:54:44 -0400

stub for ubuntu parser

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/pmap/ubuntu.py b/pmap/ubuntu.py
new file mode 100644
--- /dev/null
+++ b/pmap/ubuntu.py
@@ -0,0 +1,25 @@
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+from pmap.common import BaseParser
+from pmap.common import BaseContainer
+
+class Container(BaseContainer):
+    pass
+
+class Parser(BaseParser):
+    def __init__(self):
+        BaseParser.__init__(self)
+
+        self._containerClass = Container

From johnsonm@rpath.com Wed Aug 19 18:24:38 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMObYq011955
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:37 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOaPB014537
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:37 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOaRK029354
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:36 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8Q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:38 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLe13o016657
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:06 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLe13o016657@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:01 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add the ability to parse filelists.xml; optimize
	packagexml parser
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:41 -0000

changeset:   97dc5eb2ba02
user:        Matt Wilson <https://issues.rpath.com/>
date:        Sat, 21 Jun 2008 15:29:13 -0400

add the ability to parse filelists.xml; optimize packagexml parser

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/repomd/repomdxml.py b/repomd/repomdxml.py
--- a/repomd/repomdxml.py
+++ b/repomd/repomdxml.py
@@ -23,6 +23,7 @@
 
 from repomd.primaryxml import PrimaryXml
 from repomd.patchesxml import PatchesXml
+from repomd.filelistsxml import FileListsXml
 from repomd.xmlcommon import XmlFileParser, SlotNode
 from repomd.errors import UnknownElementError
 
@@ -47,6 +48,9 @@
             elif child.type == 'primary':
                 child._parser = PrimaryXml(None, child.location)
                 child.parseChildren = child._parser.parse
+            elif child.type == 'filelists':
+                child._parser = FileListsXml(None, child.location)
+                child.parseChildren = child._parser.parse
             xmllib.BaseNode.addChild(self, child)
         else:
             raise UnknownElementError(child)

From johnsonm@rpath.com Wed Aug 19 18:24:36 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOarU011945
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:36 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOZxc014526
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:36 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOZDZ029349
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:35 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8O024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:37 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLd0ew014176
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:07 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLd0ew014176@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:59 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: use standard python modules to retrieve the metadata;
	remove the tmp file
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:41 -0000

changeset:   0520c9ce415f
user:        Matt Wilson <https://issues.rpath.com/>
date:        Mon, 02 Jun 2008 15:31:16 -0400

use standard python modules to retrieve the metadata; remove the tmp file

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/repomd/repository.py b/repomd/repository.py
--- a/repomd/repository.py
+++ b/repomd/repository.py
@@ -20,8 +20,9 @@
 
 import os
 import gzip
+import shutil
 import tempfile
-import urlgrabber
+import urllib2
 
 class Repository(object):
     '''
@@ -44,12 +45,16 @@
 
         fn = self._getTempFile()
         realUrl = self._getRealUrl(fileName)
-        dlFile = urlgrabber.urlgrab(realUrl, filename=fn)
+
+        inf = urllib2.urlopen(realUrl)
+        outf = open(fn, 'w')
+        shutil.copyfileobj(inf, outf)
 
         if os.path.basename(fileName).endswith('.gz'):
-            return gzip.open(dlFile)
+            return gzip.open(fn)
         else:
-            return open(dlFile)
+            return open(fn)
+        os.unlink(fn)
 
     @classmethod
     def _getTempFile(cls):

From johnsonm@rpath.com Wed Aug 19 18:24:40 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOe26011972
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:40 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOdRA014557
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:39 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOdwb029370
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:39 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8W024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:41 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfPix020120
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:26 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfPix020120@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:25 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix typos
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:42 -0000

changeset:   036c2667c3dc
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 14 Nov 2008 18:48:38 -0500

fix typos

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -69,7 +69,7 @@
         log.info('starting import')
 
         # Populate rpm source object from yum metadata.
-        self.pkgSource.load()
+        self._pkgSource.load()
 
         # Import sources into repository.
         toBuild, fail = self._updater.create(self._cfg.package, buildAll=False)
@@ -128,7 +128,7 @@
         log.info('starting update')
 
         # Populate rpm source object from yum metadata.
-        self.pkgSource.load()
+        self._pkgSource.load()
 
         # Get troves to update and send advisories.
         toAdvise, toUpdate = self._updater.getUpdates()
@@ -144,8 +144,6 @@
         # Check to see if advisories exist for all required packages.
         self._advisor.check(toAdvise)
 
-        import epdb; epdb.st()
-
         # Update source
         for nvf, srcPkg in toUpdate:
             toAdvise.remove((nvf, srcPkg))

From johnsonm@rpath.com Wed Aug 19 18:24:40 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOdQO011970
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:39 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOc2j014548
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:38 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOcB3029364
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:38 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8U024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:40 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeg9H018345
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:43 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeg9H018345@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:42 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:43 -0000

changeset:   926f54c73add
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 08 Sep 2008 22:08:18 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -102,7 +102,7 @@
 
             jobs[id].append(trv)
 
-            if i % 20 == 0:
+            if i % 40 == 0:
                 id += 1
 
         failed = set()
@@ -123,13 +123,18 @@
         """
 
         jobs = {}
+        jobkeys = []
         for trv in troveSpecs:
+            jobkeys.append(trv)
             jobs[trv] = self.start([trv, ])
 
-        for trv, jobId in jobs.iteritems():
+        for trv in jobkeys:
+            jobId = jobs[trv]
             job = self._helper.getJob(jobId)
-            if not job.isFinished() and not job.isFailed():
-                self.watch(jobId)
+            while not job.isFinished() and not job.isFailed():
+                log.info('waiting for %s' % jobId)
+                time.sleep(1)
+                job = self._helper.getJob(jobId)
 
         failed = set()
         results = {}

From johnsonm@rpath.com Wed Aug 19 18:24:38 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOcXi011957
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:38 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMObEn014541
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:37 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMObod029359
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:37 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8S024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:39 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeo1L018702
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:52 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeo1L018702@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:50 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add centos mirror script
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:43 -0000

changeset:   329f5c2146b6
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 23 Sep 2008 16:31:00 -0400

add centos mirror script

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/sync-centos.sh b/scripts/sync-centos.sh
new file mode 100755
--- /dev/null
+++ b/scripts/sync-centos.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+SOURCE=rsync://mirrors.us.kernel.org/CentOS-nodvd
+DEST=/l/CentOS/
+
+rsync -arv --progress --exclude 2* --exclude 3* --exclude 4* $SOURCE $DEST
+
+./hardlink.py $DEST

From johnsonm@rpath.com Wed Aug 19 18:24:43 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOfr8011975
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:41 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOeal014560
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:40 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOefA029375
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:40 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8Y024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeeGa018277
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:42 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeeGa018277@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:40 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: make jobs bigger
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:45 -0000

changeset:   ab742ee08edb
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 08 Sep 2008 22:07:32 -0400

make jobs bigger

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -102,7 +102,7 @@
 
             jobs[id].append(trv)
 
-            if i % 20 == 0:
+            if i % 40 == 0:
                 id += 1
 
         failed = set()
@@ -123,13 +123,18 @@
         """
 
         jobs = {}
+        jobkeys = []
         for trv in troveSpecs:
+            jobkeys.append(trv)
             jobs[trv] = self.start([trv, ])
 
-        for trv, jobId in jobs.iteritems():
+        for trv in jobkeys:
+            jobId = jobs[trv]
             job = self._helper.getJob(jobId)
-            if not job.isFinished() and not job.isFailed():
-                self.watch(jobId)
+            while not job.isFinished() and not job.isFailed():
+                log.info('waiting for %s' % jobId)
+                time.sleep(1)
+                job = self._helper.getJob(jobId)
 
         failed = set()
         results = {}

From johnsonm@rpath.com Wed Aug 19 18:24:43 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOflM011977
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:42 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOfNr014567
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:41 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOf12029380
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:41 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8a024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:43 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgasK022932
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:36 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgasK022932@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:36 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: use the default tmpdir when building with rmake since the
	rmake chroot will
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:45 -0000

changeset:   38187a56217e
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 19 Mar 2009 17:05:20 -0400

use the default tmpdir when building with rmake since the rmake chroot will
most likely not contain the custom tmpdir

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -97,6 +97,10 @@
         self._rmakeCfg.copyInConfig = False
         self._rmakeCfg.strictMode = True
 
+        # Use default tmpDir when building with rMake since the specified
+        # tmpDir may not exist in the build root.
+        self._rmakeCfg.tmpDir = conarycfg.ConaryConfiguration.tmpDir[1]
+
         self._helper = helper.rMakeHelper(buildConfig=self._rmakeCfg)
 
     def build(self, troveSpecs):
@@ -187,7 +191,7 @@
         return results, failed
 
     def buildmany2(self, troveSpecs):
-        dispatcher = Dispatcher(self._cfg, 100)
+        dispatcher = Dispatcher(self._cfg, 30)
         return dispatcher.buildmany(troveSpecs)
 
     def buildmany3(self, troveSpecs):

From johnsonm@rpath.com Wed Aug 19 18:24:43 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOgeD011979
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:43 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOgu6014575
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:42 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOfJ2029383
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:42 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8c024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:44 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeQFg017665
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:30 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeQFg017665@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:26 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add sourceVersion for packages with odd source
 packages
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:45 -0000
X-List-Received-Date: Wed, 19 Aug 2009 22:24:45 -0000

changeset:   ead2ecf4d00a
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Sat, 23 Aug 2008 16:35:39 -0400

add sourceVersion for packages with odd source packages

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/aptmd/packages.py b/aptmd/packages.py
--- a/aptmd/packages.py
+++ b/aptmd/packages.py
@@ -15,7 +15,8 @@
 from aptmd.common import BaseContainer, BaseParser
 
 class _Package(BaseContainer):
-    __slots__ = ('source', 'location', 'summary', 'description')
+    __slots__ = ('source', 'sourceVersion', 'location', 'summary',
+                 'description')
 
 
 class PackagesParser(BaseParser):
@@ -45,6 +46,17 @@
     def _source(self):
         source = self._getLine()
         assert source != ''
+
+        # source in the form "Source: srcName (srcVer)"
+        if len(self._line) == 3:
+            source = self._line[1]
+
+            srcVer = self._line[2].strip()
+            srcVer = srcVer.strip('(')
+            srcVer = srcVer.strip(')')
+
+            self._curObj.sourceVersion = srcVer
+
         self._curObj.source = source
 
     def _filename(self):

From johnsonm@rpath.com Wed Aug 19 18:24:44 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOh0C011987
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:44 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOhgr014582
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:43 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOh88029389
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:43 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8g024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:45 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdx1m016572
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:03 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLdx1m016572@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:58 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add script for checking out all sources
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:46 -0000
X-List-Received-Date: Wed, 19 Aug 2009 22:24:46 -0000

changeset:   0e2713e83731
user:        Elliot Peele <http://issues.rpath.com/>
date:        Fri, 25 Jul 2008 15:34:57 -0400

add script for checking out all sources

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/scripts/checkoutall.py b/scripts/checkoutall.py
new file mode 100755
--- /dev/null
+++ b/scripts/checkoutall.py
@@ -0,0 +1,25 @@
+#!/usr/bin/python
+#
+# Copryright (c) 2008 rPath, Inc.
+#
+
+import os
+import sys
+
+sys.path.insert(0, os.environ['HOME'] + '/hg/rpath-xmllib')
+sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
+sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
+
+from conary.lib import util
+sys.excepthook = util.genExcepthook()
+
+from conary import checkin
+from updatebot import conaryhelper, config, log
+
+log.addRootLogger()
+cfg = config.UpdateBotConfig()
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/sles/updatebotrc')
+helper = conaryhelper.ConaryHelper(cfg)
+
+pkgs = [ name for name, version, flavor in helper.getSourceTroves(cfg.topGroup) if version.trailingLabel().asString() == cfg.topGroup[1] ]
+checkin.checkout(helper._repos, helper._ccfg, None, pkgs)

From johnsonm@rpath.com Wed Aug 19 18:24:47 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOjJc011997
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:45 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOihh014591
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:44 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOiZW029399
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:44 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8k024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:46 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLf32f019179
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:03 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLf32f019179@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:03 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: stub for centos parser
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:51 -0000

changeset:   4d9775618b16
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 22 Oct 2008 15:55:05 -0400

stub for centos parser

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/pmap/centos.py b/pmap/centos.py
new file mode 100644
--- /dev/null
+++ b/pmap/centos.py
@@ -0,0 +1,25 @@
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+from pmap.common import BaseParser
+from pmap.common import BaseContainer
+
+class Container(BaseContainer):
+    pass
+
+class Parser(BaseParser):
+    def __init__(self):
+        BaseParser.__init__(self)
+
+        self._containerClass = Container

From johnsonm@rpath.com Wed Aug 19 18:24:50 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOmcX012016
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:49 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOl59014611
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:47 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOlNe029450
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:47 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8s024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:49 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgqxo023545
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:52 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgqxo023545@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:52 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: take platform as an argument
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:52 -0000

changeset:   9a4c4830c5e9
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 04 May 2009 11:10:42 -0400

take platform as an argument
use system libs

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/genmanifest b/scripts/genmanifest
--- a/scripts/genmanifest
+++ b/scripts/genmanifest
@@ -16,11 +16,7 @@
 import os
 import sys
 
-sys.path.insert(0, os.environ['HOME'] + '/hg/rpath-xmllib')
-sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
 sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
-sys.path.insert(0, os.environ['HOME'] + '/hg/rmake')
-sys.path.insert(0, os.environ['HOME'] + '/hg/epdb')
 
 from conary.lib import util
 sys.excepthook = util.genExcepthook()
@@ -29,12 +25,12 @@
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/%s/updatebotrc' % sys.argv[1])
 obj = bot.Bot(cfg)
 
 obj._pkgSource.load()
 
-pkgName = sys.argv[1]
+pkgName = sys.argv[2]
 
 srcPkg = obj._updater._getPackagesToImport(pkgName)
 manifest = obj._updater._getManifestFromPkgSource(srcPkg)

From johnsonm@rpath.com Wed Aug 19 18:24:47 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOkeu012001
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:46 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOjcT014600
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:45 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOjlx029420
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:45 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8o024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:48 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLh89b024243
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:08 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLh89b024243@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:08 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: pass in productVersion for centos as well
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:53 -0000

changeset:   f94b61a845a1
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 30 Jul 2009 15:28:30 -0400

pass in productVersion for centos as well

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/pmap/__init__.py b/pmap/__init__.py
--- a/pmap/__init__.py
+++ b/pmap/__init__.py
@@ -83,12 +83,14 @@
         raise InvalidBackendError('Could not load %s backend: %s'
                                   % (backend, e))
 
-def parse(url, backend='centos', productVersion=None):
+def parse(url, **kwargs):
     """
     Parse a mbox archive pointed to by url.
     """
 
+    backend = kwargs.pop('backend')
+
     fh = _getFileObjFromUrl(url)
     backend = _getBackend(backend)
-    parser = backend.Parser(productVersion=productVersion)
+    parser = backend.Parser(**kwargs)
     return parser.parse(fh)
diff --git a/pmap/centos.py b/pmap/centos.py
--- a/pmap/centos.py
+++ b/pmap/centos.py
@@ -54,7 +54,7 @@
     Parse for CentOS mail archives.
     """
 
-    def __init__(self):
+    def __init__(self, productVersion=None):
         BaseParser.__init__(self)
 
         self._containerClass = CentOSAdvisory

From johnsonm@rpath.com Wed Aug 19 18:24:47 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOl2I012006
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:47 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOkWR014603
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:46 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOk7u029429
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:46 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:48 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfn5H021042
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:49 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfn5H021042@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:49 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: manipulate the summary, which gets used as the
	subject of the advisory email
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:54 -0000

changeset:   2a852aa82825
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 16 Dec 2008 18:42:28 -0500

manipulate the summary, which gets used as the subject of the advisory email

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/centos.py b/updatebot/advisories/centos.py
--- a/updatebot/advisories/centos.py
+++ b/updatebot/advisories/centos.py
@@ -91,12 +91,14 @@
 
         # Strip arch out of the subject
         for arch in self.supportedArches:
-            if arch in msg.subject:
-                msg.subject = msg.subject.replace('%s ' % arch, '')
+            if arch in msg.summary:
+                msg.summary = msg.summary.replace('%s ' % arch, '')
 
         # Strip subject.
-        msg.subject = msg.subject.replace('[CentOS-announce]', '')
-        msg.subject = msg.subject.strip()
+        msg.summary = msg.summary.replace('[CentOS-announce]', '')
+        msg.summary = msg.summary.strip()
+
+        import epdb; epdb.st()
 
         for pkgName in msg.pkgs:
             # Toss out any arches that we don't know how to handle.

From johnsonm@rpath.com Wed Aug 19 18:24:49 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOmeq012018
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:48 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOmKr014615
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:48 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOmEe029462
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:48 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8u024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:50 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgAJP021843
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:11 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgAJP021843@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:10 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add more checks
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:54 -0000

changeset:   31733af14a5f
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 23 Jan 2009 14:09:42 -0500

add more checks

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/pcheck.py b/scripts/pcheck.py
--- a/scripts/pcheck.py
+++ b/scripts/pcheck.py
@@ -11,6 +11,8 @@
 from conary import conarycfg
 from conary import conaryclient
 
+log.setVerbosity(log.INFO)
+
 cfg = conarycfg.ConaryConfiguration(True)
 cfg.setContext('1-binary')
 
@@ -57,6 +59,7 @@
 # Find troves that have labels that are not in the label map.
 log.info('Searching for troves that will not be promoted')
 branches = labelMap.keys()
+found = False
 for name, version, flavor in sorted(oldTrvSpecs):
     if version.branch() not in branches:
         match = False
@@ -64,8 +67,11 @@
              if label in version.versions:
                 match = True
         if not match:
+            found = True
             log.warning('not promoting %s=%s[%s]' % (name, version, flavor)) 
 
+if not found:
+    log.info('No troves found that will not be promoted')
 
 # Ask before moving on.
 okay = conaryclient.cmdline.askYn('continue with clone? [y/N]', default=False)

From johnsonm@rpath.com Wed Aug 19 18:24:49 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOn1D012020
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:49 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOnUK014618
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:49 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOnCx029473
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:49 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA8w024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:51 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgCZc021928
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:13 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgCZc021928@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:12 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add exception for a 404
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:54 -0000

changeset:   4234be298757
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 05 Feb 2009 16:37:44 -0500

add exception for a 404

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/pmap/__init__.py b/pmap/__init__.py
--- a/pmap/__init__.py
+++ b/pmap/__init__.py
@@ -26,7 +26,7 @@
 
 from imputil import imp
 
-__all__ = ('InvalidBackendError', 'parse')
+__all__ = ('InvalidBackendError', 'ArchiveNotFoundError', 'parse')
 __supportedBackends = ('ubuntu', 'centos')
 
 class InvalidBackendError(Exception):
@@ -34,6 +34,11 @@
     Raised when requested backend is not available.
     """
 
+class ArchiveNotFoundError(Exception):
+    """
+    Raised when an archive could not be retrieved.
+    """
+
 def _getFileObjFromUrl(url):
     """
     Given a URL download the file, gunzip if needed, and return an open
@@ -43,7 +48,11 @@
     fn = tempfile.mktemp(prefix='pmap')
 
     # download file
-    inf = urllib2.urlopen(url)
+    try:
+        inf = urllib2.urlopen(url)
+    except urllib2.HTTPError, e:
+        if e.getcode() == 404:
+            raise ArchiveNotFoundError, e
     outf = open(fn, 'w')
     shutil.copyfileobj(inf, outf)
 

From johnsonm@rpath.com Wed Aug 19 18:24:52 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOoKi012026
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:51 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOogJ014627
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:50 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOoFs029479
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:50 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA92024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:52 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdN3S015174
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:33 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdN3S015174@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:23 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: don't cache parser objects, this just uses more
 memory
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:54 -0000

changeset:   6ada75b670b1
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 16 Jun 2008 17:27:51 -0400

don't cache parser objects, this just uses more memory

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/repomd/xmlcommon.py b/repomd/xmlcommon.py
--- a/repomd/xmlcommon.py
+++ b/repomd/xmlcommon.py
@@ -53,15 +53,15 @@
         # W0212 - Access to a protected member _parser of a client class
         # pylint: disable-msg=W0212
 
-        if not self._data or refresh:
-            fn = self._repository.get(self._path)
-            self._data = self._databinder.parseFile(fn)
+        #if not self._data or refresh:
+        fn = self._repository.get(self._path)
+        data = self._databinder.parseFile(fn)
 
-            for child in self._data.iterChildren():
-                if hasattr(child, '_parser'):
-                    child._parser._repository = self._repository
+        for child in data.iterChildren():
+            if hasattr(child, '_parser'):
+                child._parser._repository = self._repository
 
-        return self._data
+        return data
 
 
 class SlotNode(xmllib.BaseNode):

From johnsonm@rpath.com Wed Aug 19 18:24:52 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOoTt012024
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:51 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOnLY014622
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:50 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOnN6029476
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:49 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA90024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:52 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdJdH015000
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:19 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdJdH015000@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:19 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: iterate over both strong and weak refs
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:55 -0000

changeset:   43def59b07fa
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 11 Jun 2008 20:51:31 -0400

iterate over both strong and weak refs

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -116,10 +116,14 @@
 
         topTrove = self._getTrove(cs, name, version, flavor)
 
+        # Iterate over both strong and weak refs because msw said it was a
+        # good idea.
         srcTrvs = set()
         sources = self._repos.getTroveInfo(trove._TROVEINFO_TAG_SOURCENAME,
-                        list(topTrove.iterTroveList(weakRefs=True)))
-        for i, (n, v, f) in enumerate(topTrove.iterTroveList(weakRefs=True)):
+                    list(topTrove.iterTroveList(weakRefs=True,
+                                                strongRefs=True)))
+        for i, (n, v, f) in enumerate(topTrove.iterTroveList(weakRefs=True,
+                                                            strongRefs=True)):
             srcTrvs.add((sources[i](), v.getSourceVersion(), None))
 
         return srcTrvs

From johnsonm@rpath.com Wed Aug 19 18:24:54 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOqGe012034
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:53 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOqnk014642
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:52 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOpYM029488
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:52 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA96024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:54 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgVGX022694
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:31 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgVGX022694@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:31 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: cleanups
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:57 -0000

changeset:   0aeffea0a607
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 16 Mar 2009 11:21:26 -0400

cleanups

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/import.py b/scripts/import.py
--- a/scripts/import.py
+++ b/scripts/import.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2.6
+#!/usr/bin/python
 #
 # Copyright (c) 2008 rPath, Inc.
 #
@@ -16,12 +16,14 @@
 import os
 import sys
 
-sys.path.insert(0, os.environ['HOME'] + '/hg/26/rpath-xmllib')
-sys.path.insert(0, os.environ['HOME'] + '/hg/26/conary')
+sys.path.insert(0, os.environ['HOME'] + '/hg/xobj/py')
+
+#sys.path.insert(0, os.environ['HOME'] + '/hg/26/rpath-xmllib')
+#sys.path.insert(0, os.environ['HOME'] + '/hg/26/conary')
 sys.path.insert(0, os.environ['HOME'] + '/hg/26/mirrorball')
-sys.path.insert(0, os.environ['HOME'] + '/hg/26/rmake')
-sys.path.insert(0, os.environ['HOME'] + '/hg/26/epdb')
-sys.path.insert(0, os.environ['HOME'] + '/hg/26/xobj/py')
+#sys.path.insert(0, os.environ['HOME'] + '/hg/26/rmake')
+#sys.path.insert(0, os.environ['HOME'] + '/hg/26/epdb')
+#sys.path.insert(0, os.environ['HOME'] + '/hg/26/xobj/py')
 
 from conary.lib import util
 sys.excepthook = util.genExcepthook()

From johnsonm@rpath.com Wed Aug 19 18:24:54 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOrd9012040
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:53 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOrKC014646
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:53 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOrsQ029491
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:53 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA98024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:55 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLd3ep014360
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:11 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLd3ep014360@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:03 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add util module
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:58 -0000

changeset:   7c12cbcc9694
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 02 Jun 2008 21:26:58 -0400

add util module

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/util.py b/updatebot/util.py
new file mode 100644
--- /dev/null
+++ b/updatebot/util.py
@@ -0,0 +1,29 @@
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+"""
+Module for common utility functions.
+"""
+
+import os
+
+def join(a, *b):
+    """
+    Version of os.path.join that doesn't reroot when it finds a leading /.
+    """
+
+    root = os.path.normpath(a)
+    for path in b:
+        root += os.sep + os.path.normpath(path)
+    return root

From johnsonm@rpath.com Wed Aug 19 18:24:55 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOtkr012049
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:55 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOt0J014657
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:55 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOtlt029499
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:55 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9C024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:57 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeBHJ017069
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:14 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeBHJ017069@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:11 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: use common repr
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:24:59 -0000

changeset:   d22dac0e529d
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 14 Aug 2008 16:52:29 -0400

use common repr

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/aptmd/common.py b/aptmd/common.py
--- a/aptmd/common.py
+++ b/aptmd/common.py
@@ -18,6 +18,11 @@
 class BaseContainer(Container):
     __slots__ = ('name', 'arch', 'version', 'release')
 
+    def __repr__(self):
+        klass = self.__class__.__name__.strip('_')
+        return '<%s(%s, %s, %s, %s)>' % (klass, self.name, self.version,
+                                         self.release, self.arch)
+
     def __hash__(self):
         return hash((self.name, self.arch, self.version, self.release))
 
@@ -46,6 +51,7 @@
 
     @staticmethod
     def _getState(key):
+        key = key.strip()
         if key.endswith(':'):
             key = key[:-1]
         return key.lower()
diff --git a/aptmd/packages.py b/aptmd/packages.py
--- a/aptmd/packages.py
+++ b/aptmd/packages.py
@@ -17,9 +17,6 @@
 class _Package(BaseContainer):
     __slots__ = ('source', 'location', 'summary', 'description')
 
-    def __repr__(self):
-        return '<Package(%s)>' % self.location
-
 
 class PackagesParser(BaseParser):
 

From johnsonm@rpath.com Wed Aug 19 18:24:52 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOpNk012030
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:52 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOpvW014639
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:51 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOpqP029484
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:51 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA94024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:53 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdC2r014699
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:15 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdC2r014699@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:12 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add get manifest method
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:02 -0000

changeset:   a4cd5cc9bc33
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 10 Jun 2008 00:29:47 -0400

add get manifest method

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/rpmimport/recipemaker.py b/rpmimport/recipemaker.py
--- a/rpmimport/recipemaker.py
+++ b/rpmimport/recipemaker.py
@@ -27,9 +27,8 @@
     Class for creating and managing rpm factory based source components.
     """
 
-    def __init__(self, cfg, repos, rpmSource):
+    def __init__(self, cfg, rpmSource):
         self.cfg = cfg
-        self.repos = repos
         self.rpmSource = rpmSource
 
     def _updateSourceComponent(self, pkgname, manifestContents,
@@ -139,3 +138,18 @@
         """
 
         self._createOrUpdate(pkgname, srpm, update=True)
+
+    def getManifest(self, pkgname):
+        """
+        Get the contents of the manifest file.
+        @param pkgname: name of the package
+        @type pkgname: string
+        @return manifest contents
+        """
+
+        cwd = os.getcwd()
+        os.chdir(tempfile.mkdtemp())
+        self._checkout(pkgname)
+        manifest = open('manifest').readlines()
+        os.chdir(cwd)
+        return manifest

From johnsonm@rpath.com Wed Aug 19 18:24:56 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOsfI012044
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:55 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOsi5014651
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:54 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOst3029496
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:54 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9A024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:56 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdTrM015447
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:37 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdTrM015447@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:29 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add some needed errors
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:03 -0000

changeset:   6ea7498f4d15
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 19 Jun 2008 21:26:58 -0400

add some needed errors

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/errors.py b/updatebot/errors.py
--- a/updatebot/errors.py
+++ b/updatebot/errors.py
@@ -102,6 +102,26 @@
     _params = ['pkgname', 'dir']
     _template = 'No manifest was found for %(pkgname)s in directory %(dir)s'
 
+class PromoteFailedError(UnhandledUpdateError):
+    """
+    PromoteFailedError, raised when the bot fails to promote the binary group
+    to the target release label.
+    """
+
+    _params = ['what']
+    _template = 'Failed to promote %(what)s'
+
+class PromoteMismatchError(PromoteFailedError):
+    """
+    PromoteMismatchError, raised when the promote to the production label
+    either tries to promote packages that are unexpected or does not
+    promote all expected pacakges.
+    """
+
+    _parms = ['expected', 'actual']
+    _template = ('Expected to promote %(expected)s, actually tried to promote'
+                 ' %(actual)s.')
+
 class AdvisoryError(UnhandledUpdateError):
     """
     Base error for other advisory errors to inherit from.

From johnsonm@rpath.com Wed Aug 19 18:24:59 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOvJR012056
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:58 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOvT4014666
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:57 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOube029506
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:56 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9G024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:59 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLduXY016470
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:00 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLduXY016470@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:56 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: switch to using an in memory sqlite db so that no
	longer have contention for
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:03 -0000

changeset:   b4429cd6df98
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 14 Jul 2008 20:32:49 -0400

switch to using an in memory sqlite db so that no longer have contention for
the system db that we don't use

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -46,6 +46,7 @@
 
         self._ccfg = conarycfg.ConaryConfiguration(readConfigFiles=False)
         self._ccfg.read(util.join(self._cfg.configPath, 'conaryrc'))
+        self._ccfg.dbPath = ':memory:'
         self._ccfg.initializeFlavors()
 
         self._client = conaryclient.ConaryClient(self._ccfg)
diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -43,6 +43,7 @@
     def __init__(self, cfg):
         self._ccfg = conarycfg.ConaryConfiguration(readConfigFiles=False)
         self._ccfg.read(util.join(cfg.configPath, 'conaryrc'))
+        self._ccfg.dbPath = ':memory:'
         # Have to initialize flavors to commit to the repository.
         self._ccfg.initializeFlavors()
 

From johnsonm@rpath.com Wed Aug 19 18:24:56 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOuSq012052
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:56 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOt3w014660
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:56 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOtmG029502
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:55 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9E024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:58 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdlIx016079
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:54 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdlIx016079@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:47 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: the rpmsource now provides sets, cast them to lists
	for sorting
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:03 -0000

changeset:   c83d196b70d3
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 09 Jul 2008 11:55:15 -0400

the rpmsource now provides sets, cast them to lists for sorting

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -146,7 +146,7 @@
                 # Novell releases updates to only the binary rpms of a package
                 # that have chnaged. We have to use binaries from the old srpm.
                 # Get the last version of the pkg and add it to the srcPkgMap.
-                pkgs = self._rpmSource.binNameMap[binPkg.name]
+                pkgs = list(self._rpmSource.binNameMap[binPkg.name])
 
                 # get the correct arch
                 pkg = [ x for x in self._getLatestOfAvailableArches(pkgs)
@@ -214,7 +214,7 @@
         @type srcPkg: repomd.packagexml._Package
         """
 
-        manifestPkgs = self._rpmSource.srcPkgMap[srcPkg]
+        manifestPkgs = list(self._rpmSource.srcPkgMap[srcPkg])
         pkgs = self._getLatestOfAvailableArches(manifestPkgs)
         return [ x.location for x in pkgs ]
 

From johnsonm@rpath.com Wed Aug 19 18:24:59 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOxVp012065
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:59 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOx6Q014672
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:59 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOxN5029513
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:59 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9K024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:01 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeKGL017409
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:25 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeKGL017409@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:20 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: switch to buildmany for initial import
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:05 -0000

changeset:   2c2b77bd5a49
user:        Elliot Peele <http://issues.rpath.com/>
date:        Fri, 15 Aug 2008 18:44:42 -0400

switch to buildmany for initial import

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/scripts/buildpackages b/scripts/buildpackages
--- a/scripts/buildpackages
+++ b/scripts/buildpackages
@@ -20,7 +20,7 @@
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/sles/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
 
 builder = build.Builder(cfg)
 
diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -118,10 +118,13 @@
         # Import sources into repository.
         toBuild, fail = self._updater.create(self._cfg.package)
 
+#        import epdb; epdb.st()
+
+        # Build all newly imported packages.
+        trvMap, failed = self._builder.buildmany(toBuild)
+
         import epdb; epdb.st()
 
-        # Build all newly imported packages.
-        #trvMap, failed = self._builder.buildmany(toBuild)
         #trvMap = self._builder.build(toBuild)
         trvs = self._builder._formatInput(toBuild)
         jobs = {}

From johnsonm@rpath.com Wed Aug 19 18:24:59 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMOwLk012058
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:58 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMOw7t014669
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:58 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMOw0f029510
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:24:58 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9I024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:24:59 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgHg6022132
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:17 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgHg6022132@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:17 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add a simple script to walk a set of packages through the
	release process
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:05 -0000

changeset:   52fd014484b6
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 06 Feb 2009 15:47:54 -0500

add a simple script to walk a set of packages through the release process

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/build b/scripts/build
new file mode 100755
--- /dev/null
+++ b/scripts/build
@@ -0,0 +1,25 @@
+#!/bin/bash
+#
+# Copyright (c) 2009 rPath, Inc.
+#
+# Script for moving a package through the release cycle.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+platform=$1
+shift
+pkgs=$@
+
+./buildpackages $platform $pkgs
+./buildgroups $platform
+./promote.py $platform
+./mirror.py $platform

From johnsonm@rpath.com Wed Aug 19 18:25:01 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMP0mA012072
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:00 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMP0Cl014675
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:00 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMP0tc029517
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:00 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9M024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:02 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLe8WQ016932
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:12 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLe8WQ016932@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:08 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add script for mirroring ubuntu
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:05 -0000

changeset:   935cf43bb458
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Wed, 13 Aug 2008 14:20:44 -0400

add script for mirroring ubuntu

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/scripts/sync-ubunutu.sh b/scripts/sync-ubunutu.sh
new file mode 100644
--- /dev/null
+++ b/scripts/sync-ubunutu.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+SOURCE=rsync://mirrors.us.kernel.org/ubuntu/
+DEST=/l/ubuntu/
+
+rsync -arv --progress --exclude dapper* --exclude feisty* --exclude gustsy* --delete  --exclude pool/universe/* --exclude pool/restricted/* --exclude pool/multiverse/* $SOURCE $DEST
+
+./hardlink.py $DEST

From johnsonm@rpath.com Wed Aug 19 18:25:02 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMP2RA012085
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:02 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMP1pG014682
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:01 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMP1s1029521
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:01 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9O024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:03 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLet1t018907
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:56 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLet1t018907@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:55 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:05 -0000

changeset:   ffa17e083b3b
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 26 Sep 2008 14:45:12 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/cmdline/command.py b/updatebot/cmdline/command.py
--- a/updatebot/cmdline/command.py
+++ b/updatebot/cmdline/command.py
@@ -27,7 +27,7 @@
     _commands.append(cmd)
 
 
-class BotCommand(options.AbstractCommand):
+class _BotCommand(options.AbstractCommand):
     defaultGroup = 'Common Options'
 
     docs = {'config'             : (VERBOSE_HELP,
@@ -58,3 +58,15 @@
 
     def processConfigOptions(self, cfg, cfgMap, argSet):
         pass
+
+
+class BuildPackageCommand(_BotCommand):
+    """
+    Build a list of packages.
+    """
+
+    commands = [ 'buildpackages', ]
+    help = 'build packages'
+
+    def runCommand(self, client, cfg, argSet, args):
+        pass
diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -111,3 +111,6 @@
     emailTo             = (CfgList(CfgString), [])
     emailBcc            = (CfgList(CfgString), [])
     smtpServer          = CfgString
+
+    def __init__(self, *args, **kwargs):
+        cfg.SectionedConfigFile.__init__(self)

From johnsonm@rpath.com Wed Aug 19 18:25:03 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMP2Nn012088
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:02 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMP2OE014688
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:02 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMP1Si029527
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:02 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9Q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:04 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgU6H022643
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:30 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgU6H022643@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:30 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: write buildrequires corretly
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:06 -0000

changeset:   cee94eb247c7
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 24 Feb 2009 16:44:03 -0500

write buildrequires corretly

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -309,8 +309,8 @@
         Set the contents of the build requires file in the repository.
         @param pkgname: name of hte package to edit
         @type pkgname: string
-        @param buildrequires: list of build requires
-        @type buildrequires: list
+        @param buildrequires: list of build requires, source names tuples
+        @type buildrequires: list of two tuples
         """
 
         log.info('setting buildrequires for %s' % pkgname)
@@ -320,8 +320,9 @@
 
         # generate buildrequires file
         buildRequiresfh = open(buildRequiresFileName, 'w')
-        buildRequiresfh.write('\n'.join(buildrequires))
-        buildRequiresfh.write('\n')
+        for buildreq in buildrequires:
+            buildRequiresfh.write(' '.join(buildreq))
+            buildRequiresfh.write('\n')
         buildRequiresfh.close()
 
         # add file to the source compoent

From johnsonm@rpath.com Wed Aug 19 18:25:06 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMP59r012096
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:05 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMP5xi014704
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:05 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMP4eX029537
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:04 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9U024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:07 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgI5w022200
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:19 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgI5w022200@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:18 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: increase number of workers
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:07 -0000

changeset:   a81d5608239e
user:        Elliot Peele <https://issues.rpath.com/>
date:        Sat, 07 Feb 2009 22:15:57 +0000

increase number of workers
fix typo

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -162,7 +162,7 @@
         return results, failed
 
     def buildmany2(self, troveSpecs):
-        dispatcher = Dispatcher(self._cfg, 10)
+        dispatcher = Dispatcher(self._cfg, 20)
         return dispatcher.buildmany(troveSpecs)
 
     def buildsplitarch(self, troveSpecs):
@@ -500,7 +500,7 @@
         self._status(msg, type=MESSAGE_TYPES['log'])
 
     def results(self, res):
-        self._status(res, type=MESSAGE_TYPES['result'])
+        self._status(res, type=MESSAGE_TYPES['results'])
 
 class Dispatcher(object):
     workerClass = BuildWorker
@@ -519,7 +519,7 @@
 
     def provisionWorkers(self):
         for i in range(self._workerCount):
-            worker = BuildWorker(self._cfg, self._toBuild, self._status,
+            worker = self.workerClass(self._cfg, self._toBuild, self._status,
                                  name='Build Worker %s' % i)
             self._workers.append(worker)
 

From johnsonm@rpath.com Wed Aug 19 18:25:06 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMP4nb012094
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:05 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMP4xe014701
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:04 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMP3TR029534
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:03 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9S024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:04 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLePAp017648
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:29 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLePAp017648@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:25 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add a new case to callpse foo1[a-z]* -> foo
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:07 -0000

changeset:   e206ba29f4f7
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Sat, 23 Aug 2008 16:35:05 -0400

add a new case to callpse foo1[a-z]* -> foo

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/extra/pkgrename.py b/extra/pkgrename.py
--- a/extra/pkgrename.py
+++ b/extra/pkgrename.py
@@ -58,6 +58,14 @@
 
                 n = r.name
 
+            # collapse foo1[a-z]* when foo is the base package
+            elif (n.startswith(r.name)
+                  and len(n) > len(r.name)
+                  and n[len(r.name):len(r.name)+1].isdigit()
+                  and n[len(r.name)+1:].isalpha()):
+
+                n = r.name
+
             # collapse foo1 -> foo if foo exists
             elif n[-1].isdigit():
                 # find all package names with suffixes trimmed
@@ -194,3 +202,8 @@
          'lib32bz2-dev', 'libbz2-dev', 'libbz2-1.0', 'bzip2', 'lib64bz2-1.0',
          'lib64bz2-dev'],
         set(['bzip2', 'libbz2', 'lib32bz2', 'lib64bz2']))
+
+    test('zlib',
+         ['zlib1g-dev', 'lib32z1-dev', 'lib32z1', 'zlib1g-dbg', 'zlib1g',
+          'lib64z1-dev', 'zlib1g-dbg', 'zlib1g', 'zlib1g-dev', 'lib64z1'],
+         set(['zlib', 'lib32z1', 'lib64z1']))

From johnsonm@rpath.com Wed Aug 19 18:25:07 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMP6gM012098
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:06 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMP5LE014710
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:05 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMP5Te029540
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:05 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9W024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:07 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdGiA014876
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:20 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdGiA014876@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:16 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add start of advisory module
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:07 -0000

changeset:   92271d6bdb1b
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 10 Jun 2008 16:34:36 -0400

add start of advisory module

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/advise.py b/updatebot/advise.py
new file mode 100644
--- /dev/null
+++ b/updatebot/advise.py
@@ -0,0 +1,28 @@
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+"""
+Module for managing/manipulating advisories.
+"""
+
+from updatebot.errors import *
+
+class Advisor(object):
+    """
+    Class for managing, manipulating, and distributing advisories.
+    """
+
+    def __init__(self, cfg, rpmSource):
+        self._cfg = cfg
+        self._rpmSource = rpmSource

From johnsonm@rpath.com Wed Aug 19 18:25:07 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMP7XJ012106
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:07 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMP7VP014717
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:07 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMP6B2029544
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:06 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9Y024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:08 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgW9f022745
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:32 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgW9f022745@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:32 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add getLatestVersions method that finds all of the
	latest versions on the
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:07 -0000

changeset:   292c83254165
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 16 Mar 2009 11:24:05 -0400

add getLatestVersions method that finds all of the latest versions on the
build label

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -514,6 +514,28 @@
 
         return None
 
+    def getLatestVersions(self):
+        """
+        Find all of the versions on the buildLabel.
+        @return {trvName: trvVersion}
+        """
+
+        label = self._ccfg.buildLabel
+
+        trvMap = self._repos.getTroveLeavesByLabel({None: {label: None}})
+
+        verMap = {}
+        for name, verDict in trvMap.iteritems():
+            if len(verDict) > 1:
+                vers = verDict.keys()
+                vers.sort()
+                ver = vers[-1]
+            else:
+                ver = verDict.keys()[0]
+            verMap[name] = ver
+
+        return verMap
+
     def promote(self, trvLst, expected, sourceLabels, targetLabel,
                 checkPackageList=True, extraPromoteTroves=None,
                 commit=True):

From johnsonm@rpath.com Wed Aug 19 18:25:08 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMP808012118
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:08 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMP7Ms014726
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:08 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMP79q029550
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:07 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9a024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:09 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdehE015841
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:43 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdehE015841@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:40 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add errors test
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:08 -0000

changeset:   b13fc8eb10d6
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 24 Jun 2008 16:15:00 -0400

add errors test

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/test/unit_test/updatebottest/errortest.py b/test/unit_test/updatebottest/errortest.py
new file mode 100644
--- /dev/null
+++ b/test/unit_test/updatebottest/errortest.py
@@ -0,0 +1,28 @@
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+import testsetup
+
+import mock
+import slehelp
+
+from updatebot import errors
+
+class ErrorTest(slehelp.Helper):
+    def testRepr(self):
+        error = errors.UpdateBotError()
+        self.failUnlessEqual(repr(error), 'updatebot.errors.UpdateBotError()')
+
+
+testsetup.main()

From johnsonm@rpath.com Wed Aug 19 18:25:09 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMP8uV012128
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:08 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMP81T014738
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:08 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMP8dc029554
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:08 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9c024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:10 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeNXQ017546
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:26 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeNXQ017546@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:23 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add keyword arg for building all troves found rather
	than just new troves
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:09 -0000

changeset:   42b7e370133c
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 18 Aug 2008 22:07:13 -0400

add keyword arg for building all troves found rather than just new troves

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -195,11 +195,13 @@
 
         return ret
 
-    def create(self, pkgNames):
+    def create(self, pkgNames, buildAll=False):
         """
         Import a new package into the repository.
         @param pkgNames: list of packages to import
         @type pkgNames: list
+        @param buildAll: return a list of all troves found rather than just the new ones.
+        @type buildAll: boolean
         @return new source [(name, version, flavor), ... ]
         """
 
@@ -233,7 +235,7 @@
                 else:
                     version = version[0]
 
-                if not self._conaryhelper._getVersionsByName(pkg.name):
+                if not self._conaryhelper._getVersionsByName(pkg.name) or buildAll:
                     toBuild.add((pkg.name, version, None))
                 else:
                     log.info('not building %s' % pkg.name)

From johnsonm@rpath.com Wed Aug 19 18:25:09 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMP9wY012134
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:09 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMP8x9014744
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:09 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMP8Sj029559
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:08 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9e024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:11 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdO7h015208
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:33 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdO7h015208@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:24 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: move generation of locationmap so that all paths are
	cached in the map
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:10 -0000

changeset:   20051c2d5394
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 16 Jun 2008 17:29:29 -0400

move generation of locationmap so that all paths are cached in the map

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -76,6 +76,7 @@
         if package.name not in self.srcNameMap:
             self.srcNameMap[package.name] = []
         self.srcNameMap[package.name].append(package)
+        self.locationMap[package.location] = package
 
     def _procBin(self, basePath, package):
         """
@@ -97,6 +98,7 @@
         if package.name not in self.binNameMap:
             self.binNameMap[package.name] = []
         self.binNameMap[package.name].append(package)
+        self.locationMap[package.location] = package
 
     def load(self, url, basePath=''):
         """
@@ -151,7 +153,6 @@
             self.srcPkgMap[pkg].append(pkg)
 
             for binPkg in self.srcPkgMap[pkg]:
-                self.locationMap[binPkg.location] = binPkg
                 self.binPkgMap[binPkg] = pkg
 
         log.warn('found %s source rpms without matching binary rpms' % count)

From johnsonm@rpath.com Wed Aug 19 18:25:10 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPAsS012142
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:10 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMP9SD014755
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:09 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMP9uF029565
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:09 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9g024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:11 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgu4D023732
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:56 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgu4D023732@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:56 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix some typoes
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:11 -0000

changeset:   eee147a145b3
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 11 May 2009 16:01:19 -0400

fix some typoes
raise an exception if no advisories were found

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/common.py b/updatebot/advisories/common.py
--- a/updatebot/advisories/common.py
+++ b/updatebot/advisories/common.py
@@ -225,6 +225,9 @@
                 if binPkg in self._pkgMap:
                     patches.update(self._pkgMap[binPkg])
 
+            if len(patches) == 0:
+                raise NoAdvisoryFoundError(why=srcPkg)
+
             if self._checkForDuplicates(patches):
                 patches = set([patches.pop()])
 
@@ -307,7 +310,7 @@
         """
 
         log.error('The %s backend does not implement %s'
-            % (self.__class__.__name__, '_isUpdateRepo'))
+            % (self.__class__.__name__, '_isUpdatesRepo'))
         raise NotImplementedError
 
     def _checkForDuplicates(self, patchSet):
@@ -321,7 +324,7 @@
         """
 
         log.error('The %s backend does not implement %s'
-            % (self.__class__.__name__, '_isUpdateRepo'))
+            % (self.__class__.__name__, '_checkForDuplicates'))
         raise NotImplementedError
 
     def _filterPatch(self, patch):

From johnsonm@rpath.com Wed Aug 19 18:25:11 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPB7M012150
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:11 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPAf0014764
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:10 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPA44029572
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:10 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9i024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:12 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfh3O020787
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:43 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfh3O020787@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:43 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add script for doing a forced update
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:11 -0000

changeset:   7bce3883eba7
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 19 Nov 2008 22:46:53 -0500

add script for doing a forced update

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/forceupdate.py b/scripts/forceupdate.py
new file mode 100755
--- /dev/null
+++ b/scripts/forceupdate.py
@@ -0,0 +1,29 @@
+#!/usr/bin/python2.6
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+"""
+This script is for pushing updates with advisories even if some packages have
+gone away. Mostly useful when something has been obsoleted upstream.
+"""
+
+from header import *
+
+assert len(sys.argv) > 2
+pkgs = sys.argv[2:]
+
+from updatebot import bot
+
+b = bot.Bot(cfg)
+b.update(force=pkgs)

From johnsonm@rpath.com Wed Aug 19 18:25:11 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPBiQ012158
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:11 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPBdc014774
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:11 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPBno029577
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:11 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9k024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:13 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdxWA016606
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:04 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLdxWA016606@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:59 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: yes, i'm committing break points
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:12 -0000

changeset:   5024da8cb101
user:        Elliot Peele <http://issues.rpath.com/>
date:        Fri, 25 Jul 2008 16:02:57 -0400

yes, i'm committing break points

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -106,23 +106,30 @@
         # Populate rpm source object from yum metadata.
         self._populateRpmSource()
 
-        import epdb; epdb.st()
+#        import epdb; epdb.st()
 
         # Import sources into repository.
         toBuild, fail = self._updater.create(self._cfg.package)
 
-        import epdb; epdb.st()
+#        import epdb; epdb.st()
 
         # Build all newly imported packages.
+        #trvMap, failed = self._builder.buildmany(toBuild)
         trvMap = self._builder.build(toBuild)
 
+        import epdb; epdb.st()
+
         for trv in self._flattenSetDict(trvMap):
             log.info('built: %s' % trv)
 
+        import epdb; epdb.st()
+
         log.info('import completed successfully')
         log.info('imported %s source packages' % (len(toBuild), ))
         log.info('elapsed time %s' % (time.time() - start, ))
 
+        return trvMap
+
     def update(self):
         """
         Update the conary repository from the yum repositories.

From johnsonm@rpath.com Wed Aug 19 18:25:12 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPCqQ012166
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:12 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPCIP014783
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:12 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPBIc029581
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:11 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9m024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:14 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgat8022898
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:36 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgat8022898@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:36 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add adivsory stub for scientific linux
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:12 -0000

changeset:   98d584b98d27
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 16 Mar 2009 17:31:25 -0400

add adivsory stub for scientific linux

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/scientific.py b/updatebot/advisories/scientific.py
new file mode 100644
--- /dev/null
+++ b/updatebot/advisories/scientific.py
@@ -0,0 +1,30 @@
+#
+# Copyright (c) 2008-2009 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+"""
+Advisory module for Scientific Linux.
+"""
+
+import os
+import pmap
+import logging
+
+from updatebot.advisories.common import BaseAdvisor
+
+log = logging.getLogger('updatebot.advisories')
+
+class Advisor(BaseAdvisor):
+    """
+    Class for processing Scientific Linux advisory information.
+    """

From johnsonm@rpath.com Wed Aug 19 18:25:13 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPDvj012181
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:13 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPD6i014800
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:13 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPDk7029590
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:13 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9o024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:15 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdvsP016504
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:01 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLdvsP016504@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:57 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add branch config type
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:14 -0000

changeset:   0bb61d842cc0
user:        Elliot Peele <http://issues.rpath.com/>
date:        Fri, 25 Jul 2008 15:28:18 -0400

add branch config type

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -17,11 +17,28 @@
 """
 
 from conary.lib import cfg
+from conary import versions
 from conary.conarycfg import CfgFlavor, CfgLabel
-from conary.lib.cfgtypes import CfgString, CfgList, CfgRegExp
+from conary.lib.cfgtypes import CfgString, CfgList, CfgRegExp, ParseError
 
 from rmake.build.buildcfg import CfgTroveSpec
 
+class CfgBranch(CfgLabel):
+    """
+    Class for representing conary branches.
+    """
+
+    def parseString(self, val):
+        """
+        Parse config string.
+        """
+
+        try:
+            versions.Branch(val)
+        except versions.ParseError, e:
+            raise ParseError, e
+
+
 class UpdateBotConfig(cfg.SectionedConfigFile):
     """
     Config class for updatebot.
@@ -53,7 +70,7 @@
 
     # Other labels that are referenced in the group that need to be flattend
     # onto the targetLabel.
-    sourceLabel         = (CfgList(CfgLabel), [])
+    sourceLabel         = (CfgList(CfgBranch), [])
 
     # Label to promote to
     targetLabel         = CfgLabel

From johnsonm@rpath.com Wed Aug 19 18:25:15 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPFTa012194
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:15 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPEZS014816
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:15 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPEwm029598
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:14 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9q024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:16 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLec34018192
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:40 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLec34018192@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:38 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: load required use flags
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:15 -0000

changeset:   fc998b1e521d
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 08 Sep 2008 01:37:30 -0400

load required use flags

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/extra/logparse.py b/extra/logparse.py
--- a/extra/logparse.py
+++ b/extra/logparse.py
@@ -22,6 +22,7 @@
 sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
 sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
 
+from conary.build import use
 from conary.conaryclient.cmdline import askYn
 
 from rpath_common.xmllib import api1 as xmllib
@@ -475,12 +476,16 @@
         pkgName = self._getPkgName()
         log.info('writing control file for %s' % pkgName)
 
-        recipeDir = self.helper._checkout(pkgName)
+        recipeDir = self._helper._checkout(pkgName)
         fd = open(os.path.join(recipeDir, 'control'), 'w')
         fd.write(self.getControl())
         fd.close()
-        self.helper._addFile(recipeDir, 'control')
-        self.helper._commit(recipeDir, 'add/update control file')
+        self._helper._addFile(recipeDir, 'control')
+
+        use.setBuildFlagsFromFlavor(pkgName, self._helper._ccfg.buildFlavor,
+                                    error=False)
+
+        self._helper._commit(recipeDir, 'add/update control file')
 
     def __repr__(self):
         return self._name

From johnsonm@rpath.com Wed Aug 19 18:25:15 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPFQB012200
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:15 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPFaw014825
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:15 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPFvq029602
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:15 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9s024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:17 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfcRl020566
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:38 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfcRl020566@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:38 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:16 -0000

changeset:   cbe9d120c5cc
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 18 Nov 2008 13:33:31 -0500

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/pkgsource/rpmsource.py b/updatebot/pkgsource/rpmsource.py
--- a/updatebot/pkgsource/rpmsource.py
+++ b/updatebot/pkgsource/rpmsource.py
@@ -181,6 +181,7 @@
         # Now that we have processed all of the rpms, build some more data
         # structures.
         count = 0
+        toDelete = set()
         for pkg in self._srcPkgs:
             key = (pkg.name, pkg.epoch, pkg.version, pkg.release, pkg.arch)
             if pkg in self.srcPkgMap:
@@ -198,7 +199,7 @@
 
             self.srcPkgMap[pkg] = self._rpmMap[key]
             self.srcPkgMap[pkg].add(pkg)
-            del self._rpmMap[key]
+            toDelete.add(key)
 
             for binPkg in self.srcPkgMap[pkg]:
                 self.binPkgMap[binPkg] = pkg
@@ -206,6 +207,10 @@
         if count > 0:
             log.warn('found %s source rpms without matching binary rpms' % count)
 
+        # Defer deletes, contents of rpmMap are used more than once.
+        for key in toDelete:
+            del self._rpmMap[key]
+
         # Attempt to match up remaining binaries with srpms.
         for srcTup in self._rpmMap.keys():
             srcKey = list(srcTup)

From johnsonm@rpath.com Wed Aug 19 18:25:16 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPGeA012208
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:16 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPGnE014833
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:16 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPFdK029607
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:15 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9u024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:18 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdWwL015550
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:40 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdWwL015550@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:32 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: special case groups
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:17 -0000

changeset:   775700482814
user:        Elliot Peele <http://issues.rpath.com/>
date:        Fri, 20 Jun 2008 00:45:53 -0400

special case groups

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -75,8 +75,14 @@
         # Build all troves in defined contexts.
         troves = []
         for name, version, flavor in troveSpecs:
-            for context in self._cfg.archContexts:
-                troves.append((name, version, flavor, context))
+            # Don't set context for groups, they will already have the
+            # correct flavors.
+            if name.startswith('group-'):
+                troves.append((name, version, flavor))
+            else:
+                # Build all packages as x86 and x86_64.
+                for context in self._cfg.archContexts:
+                    troves.append((name, version, flavor, context))
 
         jobId = self._startJob(troves)
         self._monitorJob(jobId)
@@ -92,7 +98,7 @@
                 ret[(n, sv, None)] = set()
             for name, version, flavor in trvMap[(sn, sv, sf, c)]:
                 if name == n:
-                    ret[(n, v, None)].add((name, version, flavor))
+                    ret[(n, sv, None)].add((name, version, flavor))
 
         return ret
 

From johnsonm@rpath.com Wed Aug 19 18:25:17 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPHo0012213
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:17 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPGwS014839
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:16 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPGaE029610
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:16 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCA9w024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:18 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdEcu014803
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:17 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdEcu014803@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:14 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add more errors
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:17 -0000

changeset:   fd8f03677073
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 10 Jun 2008 16:30:02 -0400

add more errors

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/errors.py b/updatebot/errors.py
--- a/updatebot/errors.py
+++ b/updatebot/errors.py
@@ -57,3 +57,38 @@
 
     _params = ['jobId', 'why']
     _templates = 'rMake job %(jobId)s failed: %(why)s'
+
+
+class UnhandledUpdateError(UpdateBotError):
+    """
+    UnhandledUpdateError, raised when the bot finds a state that it does not
+    know how to handle.
+    """
+
+    _params = ['why']
+    _template = 'An unhandled update case has occured: %(why)s'
+
+
+class TooManySrpmsError(UnhandledUpdateError):
+    """
+    TooManySrpmsError, raised when the bot finds multiple srpms of the same
+    version.
+    """
+
+class UpdateGoesBackwardsError(UnhandledUpdateError):
+    """
+    UpdateGoesBackwardsError, raised when the bot tries to update to an older
+    version.
+    """
+
+class UpdateRemovesPackageError(UnhandledUpdateError):
+    """
+    UpdateRemovesPackageError, raised when the bot tries to remove an rpm from
+    the manifest.
+    """
+
+class TooManyFlavorsFoundError(UnhandledUpdateError):
+    """
+    TooManFlavorsFoundError, raised when the bot finds more flavors of the top
+    level group trove than expected.
+    """

From johnsonm@rpath.com Wed Aug 19 18:25:18 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPHTl012221
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:17 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPHLh014848
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:17 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPHk5029618
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:17 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAA0024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:19 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfk9r020923
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:47 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfk9r020923@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:46 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: print the date to the log before starting a mirror
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:19 -0000

changeset:   61aa41c769f5
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 01 Dec 2008 11:13:29 -0500

print the date to the log before starting a mirror

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/sync-centos.sh b/scripts/sync-centos.sh
--- a/scripts/sync-centos.sh
+++ b/scripts/sync-centos.sh
@@ -16,6 +16,7 @@
 SOURCE=rsync://mirrors.us.kernel.org/CentOS-nodvd
 DEST=/l/CentOS/
 
+date
 rsync -arv --progress --bwlimit=1024 --exclude 2* --exclude 3* --exclude 4* $SOURCE $DEST
 
 ./hardlink.py $DEST
diff --git a/scripts/sync-opensuse.sh b/scripts/sync-opensuse.sh
--- a/scripts/sync-opensuse.sh
+++ b/scripts/sync-opensuse.sh
@@ -1,5 +1,6 @@
 #!/bin/bash -xe
 
+date
 rsync -arv --exclude iso --exclude 10.* --exclude ppc --exclude ppc64 rsync://rsync.opensuse.org/opensuse-full/opensuse/ /mnt/rpath/linux/opensuse
 
 ./hardlink.py /mnt/rpath/linux/opensuse
diff --git a/scripts/sync-ubuntu.sh b/scripts/sync-ubuntu.sh
--- a/scripts/sync-ubuntu.sh
+++ b/scripts/sync-ubuntu.sh
@@ -16,6 +16,8 @@
 SOURCE=rsync://mirrors.us.kernel.org/ubuntu/
 DEST=/l/ubuntu/
 
+date
+
 rsync -arv --progress --exclude dapper* --exclude feisty* --exclude gustsy* --delete --exclude pool/universe/* --exclude pool/restricted/* --exclude pool/multiverse/* $SOURCE $DEST
 
 ./hardlink.py $DEST

From johnsonm@rpath.com Wed Aug 19 18:25:18 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPI5A012227
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:18 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPI2T014856
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:18 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPIeg029622
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:18 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAA2024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:20 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLd5SM014414
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:12 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLd5SM014414@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:05 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add loadFromClient so that we can cache client
	objects in updatebot
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:20 -0000

changeset:   08d1241ff7ef
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 02 Jun 2008 21:29:17 -0400

add loadFromClient so that we can cache client objects in updatebot

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -106,7 +106,7 @@
             self.rpmMap[srpm] = {longLoc: package}
         self.revMap[package.name] = srpm
 
-    def load(self, url, basePath):
+    def load(self, url, basePath=''):
         """
         Walk the yum repository rooted at url/basePath and collect information
         about rpms found.
@@ -117,6 +117,17 @@
         """
 
         client = repomd.Client(url + '/' + basePath)
+        self.loadFromClient(client)
+
+    def loadFromClient(self, client, basePath=''):
+        '''
+        Walk the yum repository rooted at url/basePath and collect information
+        about rpms found.
+        @param client: client object for extracting data from the repo metadata
+        @type client: repomd.Client
+        @param basePath: path to prefix location metadata with
+        @type basePath: string
+        '''
 
         for pkg in client.getPackageDetail():
             # ignore the 32-bit compatibility libs - we will

From johnsonm@rpath.com Wed Aug 19 18:25:20 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPKFH012234
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:20 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPJ6b014869
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:20 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPJSi029632
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:19 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAA6024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:22 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeMGZ017529
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:26 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeMGZ017529@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:22 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: disable all plugins
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:23 -0000

changeset:   7104dee06c2a
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 18 Aug 2008 22:05:00 -0400

disable all plugins

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -52,7 +52,9 @@
         # manager, then create a new rmake config object so that rmakeUser
         # will be parsed correctly.
         rmakeCfg = buildcfg.BuildConfiguration(readConfigFiles=False)
-        pluginMgr = plugins.PluginManager(rmakeCfg.pluginDirs)
+        disabledPlugins = [ x[0] for x in rmakeCfg.usePlugin.items() if not x[1] ]
+        disabledPlugins.append('monitor')
+        pluginMgr = plugins.PluginManager(rmakeCfg.pluginDirs, disabledPlugins)
         pluginMgr.loadPlugins()
         pluginMgr.callClientHook('client_preInit', self, [])
 
@@ -255,7 +257,7 @@
         log.info('Starting commit of job %d', jobId)
 
         self._helper.client.startCommit([jobId, ])
-        succeeded, data = commit.commitJobs(self._helper.getConaryClient(),  #self._client,
+        succeeded, data = commit.commitJobs(self._helper.getConaryClient(),
                                             [job, ],
                                             self._rmakeCfg.reposName,
                                             self._cfg.commitMessage)

From johnsonm@rpath.com Wed Aug 19 18:25:20 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPJmx012232
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:19 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPJej014865
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:19 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPJ7w029627
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:19 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAA4024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:21 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdiMN015977
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:49 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdiMN015977@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:44 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: filter out sources
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:23 -0000

changeset:   592a351ee1cf
user:        Elliot Peele <http://issues.rpath.com/>
date:        Fri, 27 Jun 2008 13:40:02 -0400

filter out sources

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -328,15 +328,16 @@
         packageList = [ x.getNewNameVersionFlavor()
                         for x in cs.iterNewTroveList() ]
 
-        oldPkgs = set([ (x[0], x[2]) for x in expected ])
-        newPkgs = set([ (x[0], x[2]) for x in packageList ])
+        oldPkgs = set([ (x[0], x[2]) for x in expected if not x[0].endswith(':source') ])
+        newPkgs = set([ (x[0], x[2]) for x in packageList if not x[0].endswith(':source') ])
 
         # Make sure that all packages being promoted are in the set of packages
         # that we think should be available to promote. Note that all packages
         # in expected will not be promoted because not all packages are
         # included in the groups.
         difference = newPkgs.difference(oldPkgs)
-        if difference != set():
+        grpTrvs = set([ (x[0], x[2]) for x in trvLst if not x[0].endswith(':source') ])
+        if difference != grpTrvs:
             raise PromoteMismatchError(expected=oldPkgs, actual=newPkgs)
 
         log.info('committing changeset')

From johnsonm@rpath.com Wed Aug 19 18:25:22 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPL8D012245
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:21 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPLBj014879
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:21 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPL5k029642
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:21 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAC024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:23 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgmoo023391
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:48 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgmoo023391@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:48 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: use system libs
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:23 -0000

changeset:   1587fdfce598
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 22 Apr 2009 16:59:58 -0400

use system libs
allow for specifying platform

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/checkoutall b/scripts/checkoutall
--- a/scripts/checkoutall
+++ b/scripts/checkoutall
@@ -1,13 +1,15 @@
 #!/usr/bin/python
 #
-# Copryright (c) 2008 rPath, Inc.
+# Copryright (c) 2008-2009 rPath, Inc.
 #
 
+"""
+Checkout all sources for a given platform to the current working directory.
+"""
+
 import os
 import sys
 
-sys.path.insert(0, os.environ['HOME'] + '/hg/rpath-xmllib')
-sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
 sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
 
 from conary.lib import util
@@ -18,8 +20,9 @@
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/sles/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/%s/updatebotrc' % sys.argv[1])
 helper = conaryhelper.ConaryHelper(cfg)
 
-pkgs = [ name for name, version, flavor in helper.getSourceTroves(cfg.topGroup) if version.trailingLabel().asString() == cfg.topGroup[1] ]
+pkgs = [ name for name, version, flavor in helper.getSourceTroves(cfg.topGroup)
+         if version.trailingLabel().asString() == cfg.topGroup[1] ]
 checkin.checkout(helper._repos, helper._ccfg, None, pkgs)

From johnsonm@rpath.com Wed Aug 19 18:25:21 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPLn7012240
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:21 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPKjQ014876
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:20 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPKZu029639
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:20 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAA024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:23 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdXEh015584
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:40 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdXEh015584@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:33 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: convert classmethods to staticmethods
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:24 -0000

changeset:   7f9da7edb365
user:        Elliot Peele <http://issues.rpath.com/>
date:        Fri, 20 Jun 2008 11:01:33 -0400

convert classmethods to staticmethods

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/advise.py b/updatebot/advise.py
--- a/updatebot/advise.py
+++ b/updatebot/advise.py
@@ -85,8 +85,8 @@
                 return True
         return False
 
-    @classmethod
-    def _isSecurity(self, binPkg):
+    @staticmethod
+    def _isSecurity(binPkg):
         """
         Check the repository name. If this package didn't come from a updates
         repository it is probably not security related.
diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -79,8 +79,8 @@
 
         return srcTrvs
 
-    @classmethod
-    def _findLatest(cls, trvlst):
+    @staticmethod
+    def _findLatest(trvlst):
         """
         Given a list of trove specs, find the most recent versions.
         @param trvlst: list of trove specs
@@ -130,8 +130,8 @@
 
         return srcTrvs
 
-    @classmethod
-    def _getTrove(cls, cs, name, version, flavor):
+    @staticmethod
+    def _getTrove(cs, name, version, flavor):
         """
         Get a trove object for a given name, version, flavor from a changeset.
         @param cs: conary changeset object

From johnsonm@rpath.com Wed Aug 19 18:25:21 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPKBg012239
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:20 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPK4U014873
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:20 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPK4D029635
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:20 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAA8024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:22 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfX2u020361
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:33 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfX2u020361@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:33 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: defer deleting rpmMap contents
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:25 -0000

changeset:   f014d25c47ff
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 18 Nov 2008 11:10:58 -0500

defer deleting rpmMap contents

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/pkgsource/rpmsource.py b/updatebot/pkgsource/rpmsource.py
--- a/updatebot/pkgsource/rpmsource.py
+++ b/updatebot/pkgsource/rpmsource.py
@@ -150,6 +150,7 @@
         # Now that we have processed all of the rpms, build some more data
         # structures.
         count = 0
+        toDelete = set()
         for pkg in self._srcPkgs:
             key = (pkg.name, pkg.epoch, pkg.version, pkg.release, pkg.arch)
             if pkg in self.srcPkgMap:
@@ -167,7 +168,7 @@
 
             self.srcPkgMap[pkg] = self._rpmMap[key]
             self.srcPkgMap[pkg].add(pkg)
-            del self._rpmMap[key]
+            toDelete.add(key)
 
             for binPkg in self.srcPkgMap[pkg]:
                 self.binPkgMap[binPkg] = pkg
@@ -175,6 +176,10 @@
         if count > 0:
             log.warn('found %s source rpms without matching binary rpms' % count)
 
+        # Defer deletes, contents of rpmMap are used more than once.
+        for key in toDelete:
+            del self._rpmMap[key]
+
         # Attempt to match up remaining binaries with srpms.
         for srcTup in self._rpmMap.keys():
             srcKey = list(srcTup)

From johnsonm@rpath.com Wed Aug 19 18:25:22 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPMDe012252
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:22 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPLFY014882
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:22 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPLsF029645
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:21 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAE024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:24 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLh1s4023919
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:43:01 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192143.n7JLh1s4023919@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:43:01 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: don't synthesize sources for packages that should be
	matched up to another
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:28 -0000

changeset:   4997dc8d72b7
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 08 Jun 2009 14:06:50 -0400

don't synthesize sources for packages that should be matched up to another
source through epoch fuzzing

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/pkgsource/rpmsource.py b/updatebot/pkgsource/rpmsource.py
--- a/updatebot/pkgsource/rpmsource.py
+++ b/updatebot/pkgsource/rpmsource.py
@@ -270,6 +270,17 @@
             # of the file. The factory will take care of the rest.
             srcPkg.location = pkg.sourcerpm
 
+            # Handle sub packages with different epochs that should be taken
+            # care of with the epoch fuzzing that happens in finalize. This
+            # should only happen with differently named packages.
+            if name not in [ x.name for x in bins ]:
+                # Find sources that match on all cases except epoch.
+                sources = [ x for x in self._srcMap.iterkeys()
+                    if (name, version, release, arch) == (x[0], x[2], x[3], x[4]) ]
+
+                # leave it up to fuzzing
+                if sources: continue
+
             # add source to structures
             if (name, epoch, version, release, arch) not in self._srcMap:
                 log.warn('synthesizing source package %s' % srcPkg)

From johnsonm@rpath.com Wed Aug 19 18:25:24 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPN88012262
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:24 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPNu7014894
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:23 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPNKL029653
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:23 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAI024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:25 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdGLE014893
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:21 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdGLE014893@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:16 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: list all instances of an rpm in the rpmMap dict
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:28 -0000

changeset:   30607f8ff1cd
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 10 Jun 2008 16:39:34 -0400

list all instances of an rpm in the rpmMap dict
update createManifest to handle this

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/rpmimport/rpmsource.py b/rpmimport/rpmsource.py
--- a/rpmimport/rpmsource.py
+++ b/rpmimport/rpmsource.py
@@ -87,11 +87,6 @@
         package.location = longLoc
         if self.rpmMap.has_key(srpm):
             shortLoc = os.path.basename(package.location)
-            # remove duplicates of this binary RPM - last one wins
-            #existing = [ x for x in self.rpmMap[srpm].iterkeys()
-            #             if os.path.basename(x) == shortLoc ]
-            #for key in existing:
-            #    del self.rpmMap[srpm][key]
             self.rpmMap[srpm][longLoc] = package
         else:
             self.rpmMap[srpm] = {longLoc: package}
@@ -216,6 +211,13 @@
         """
         l = []
         l.append(self.srcPath[srpm].location)
-        l.extend([x.location for x in self.getRPMS(srpm)])
+
+        locs = []
+        for loc in self.getRPMS(srpm):
+            baseLoc = os.path.basename(loc)
+            if baseLoc not in locs:
+                locs.append(baseLoc)
+                l.append(loc)
+
         # add a trailing newline
         return '\n'.join(sorted(l) + [''])

From johnsonm@rpath.com Wed Aug 19 18:25:23 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPMpn012257
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:22 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPMhs014891
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:22 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPMV3029648
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:22 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAG024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:24 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfmmX020991
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:48 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfmmX020991@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:48 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: make commit optional
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:28 -0000

changeset:   e948616cfd8c
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 10 Dec 2008 18:17:18 -0500

make commit optional

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -383,7 +383,8 @@
         return None
 
     def promote(self, trvLst, expected, sourceLabels, targetLabel,
-                checkPackageList=True, extraPromoteTroves=None):
+                checkPackageList=True, extraPromoteTroves=None,
+                commit=True):
         """
         Promote a group and its contents to a target label.
         @param trvLst: list of troves to publish
@@ -401,6 +402,8 @@
         @param extraPromoteTroves: troves to promote in addition to the troves
                                    that have been built.
         @type extraPromoteTroves: list of trove specs.
+        @param commit: commit the promote changeset or just return it.
+        @type commit: boolean
         """
 
         start = time.time()
@@ -461,6 +464,9 @@
         if checkPackageList and grpDiff.difference(extraTroves):
             raise PromoteMismatchError(expected=oldPkgs, actual=newPkgs)
 
+        if not commit:
+            return cs, packageList
+
         log.info('committing changeset')
 
         self._repos.commitChangeSet(cs)

From johnsonm@rpath.com Wed Aug 19 18:25:24 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPOxC012268
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:24 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPOL1014900
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:24 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPOne029656
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:24 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAK024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:26 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeaRO018107
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:40 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeaRO018107@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:36 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: update to handle different pacakge stores
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:29 -0000

changeset:   f9280085991d
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 05 Sep 2008 11:39:49 -0400

update to handle different pacakge stores

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/pkgsource.py b/scripts/pkgsource.py
--- a/scripts/pkgsource.py
+++ b/scripts/pkgsource.py
@@ -15,20 +15,27 @@
 updatebot.log.addRootLogger()
 log = logging.getLogger('test')
 
-from aptmd import Client
+import aptmd
+import repomd
 from updatebot import config
 from updatebot import pkgsource
 
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/sles/updatebotrc')
 
-client = Client('http://i.rdu.rpath.com/ubuntu')
 pkgSource = pkgsource.PackageSource(cfg)
 
-for path in cfg.repositoryPaths:
-    log.info('loading %s' % path)
-    pkgSource.loadFromClient(client, path)
-
+if cfg.repositoryFormat == 'apt':
+    client = aptmd.Client(cfg.repositoryUrl)
+    for path in cfg.repositoryPaths:
+        log.info('loading %s' % path)
+        pkgSource.loadFromClient(client, path)
+else:
+    for path in cfg.repositoryPaths:
+        client = repomd.Client(cfg.repositoryUrl + '/' + path)
+        log.info('loading %s' % path)
+        pkgSource.loadFromClient(client, path)
+        
 pkgSource.finalize()
 
 import epdb; epdb.st()

From johnsonm@rpath.com Wed Aug 19 18:25:26 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPQ72012274
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:26 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPPLx014920
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:25 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPPag029663
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:25 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAO024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:27 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLd7RF014539
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:14 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLd7RF014539@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:07 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: cleanup more pylint errors
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:30 -0000

changeset:   337ac74ee244
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 02 Jun 2008 23:08:19 -0400

cleanup more pylint errors

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/repomd/packagexml.py b/repomd/packagexml.py
--- a/repomd/packagexml.py
+++ b/repomd/packagexml.py
@@ -28,6 +28,10 @@
     Python representation of package section of xml files from the repository
     metadata.
     """
+
+    # R0902 - Too many instance attributes
+    # pylint: disable-msg=R0902
+
     __slots__ = ('name', 'arch', 'epoch', 'version', 'release',
                  'checksum', 'checksumType', 'summary', 'description',
                  'fileTimestamp', 'buildTimestamp', 'packageSize',
@@ -41,6 +45,7 @@
     # W0201 - Attribute $foo defined outside __init__
     # pylint: disable-msg=W0201
 
+
     def addChild(self, child):
         """
         Parse children of package element.
diff --git a/repomd/patchxml.py b/repomd/patchxml.py
--- a/repomd/patchxml.py
+++ b/repomd/patchxml.py
@@ -18,6 +18,10 @@
     """
     Python representation of patch-*.xml from the repository metadata.
     """
+
+    # R0902 - Too many instance attributes
+    # pylint: disable-msg=R0902
+
     __slots__ = ('name', 'summary', 'description', 'version',
                  'release', 'requires', 'recommends', 'rebootNeeded',
                  'licenseToConfirm', 'packageManager', 'category',

From johnsonm@rpath.com Wed Aug 19 18:25:27 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPQhQ012278
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:27 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPQXr014924
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:26 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPQWr029671
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:26 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAS024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:29 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdt9E016436
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:59 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdt9E016436@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:55 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add import script
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:31 -0000

changeset:   14f484dee1f5
user:        Elliot Peele <http://issues.rpath.com/>
date:        Fri, 11 Jul 2008 23:40:50 -0400

add import script

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/scripts/import.py b/scripts/import.py
new file mode 100755
--- /dev/null
+++ b/scripts/import.py
@@ -0,0 +1,34 @@
+#!/usr/bin/python
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+import os
+import sys
+
+sys.path.insert(0, os.environ['HOME'] + '/hg/rpath-xmllib')
+sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
+sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
+
+from conary.lib import util
+sys.excepthook = util.genExcepthook()
+
+from updatebot import bot, config, log
+
+log.addRootLogger()
+cfg = config.UpdateBotConfig()
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/opensuse/updatebotrc')
+obj = bot.Bot(cfg)
+obj.create()
+
+import epdb ; epdb.st()

From johnsonm@rpath.com Wed Aug 19 18:25:27 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPQHS012277
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:26 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPQgF014923
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:26 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPQ1b029669
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:26 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAQ024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:28 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgHBN022149
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:18 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgHBN022149@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:17 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add support for running a full trove sync
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:32 -0000

changeset:   8c0b3121cb6a
user:        Elliot Peele <https://issues.rpath.com/>
date:        Sat, 07 Feb 2009 12:33:29 -0500

add support for running a full trove sync

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -567,7 +567,7 @@
 
         return packageList
 
-    def mirror(self):
+    def mirror(self, fullTroveSync=False):
         """
         Mirror the current platform to the external repository if a
         mirror.conf exists.
@@ -585,7 +585,7 @@
         clog.setVerbosity(clog.DEBUG)
 
         callback = mirror.ChangesetCallback()
-        rc = mirror.mainWorkflow(cfg=self._mcfg, callback=callback)
+        rc = mirror.mainWorkflow(cfg=self._mcfg, callback=callback, sync=fullTroveSync)
 
         if rc is not None and rc != 0:
             raise MirrorFailedError(rc=rc)
diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -415,9 +415,9 @@
             extraPromoteTroves=self._cfg.extraPromoteTroves
         )
 
-    def mirror(self):
+    def mirror(self, fullTroveSync=False):
         """
         If a mirror is configured, mirror out any changes.
         """
 
-        return self._conaryhelper.mirror()
+        return self._conaryhelper.mirror(fullTroveSync=fullTroveSync)

From johnsonm@rpath.com Wed Aug 19 18:25:25 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPP58012273
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:25 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPOMl014906
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:24 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPOk5029659
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:24 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAM024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:27 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeK6F017443
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:25 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeK6F017443@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:20 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: get new versions for sources that are only going to
	be built, otherwise we end
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:32 -0000

changeset:   9b7844030761
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Mon, 18 Aug 2008 22:02:29 -0400

get new versions for sources that are only going to be built, otherwise we end
up rebuilding the old version.

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -55,10 +55,17 @@
             # Will raise exception if any errors are found, halting execution.
             if self._sanitizeTrove(nvf, srpm):
                 toUpdate.append((nvf, srpm))
+                toAdvise.append((nvf, srpm))
 
-            # Make sure to send advisories for any packages that didn't get
-            # sent out last time.
-            toAdvise.append((nvf, srpm))
+
+            # Update versions for things that are already in the repository.
+            # The binary version from the group will not be the latest.
+            else:
+                # Make sure to send advisories for any packages that didn't get
+                # sent out last time.
+                version = self._conaryhelper.getLatestSourceVersion(nvf[0])
+                toAdvise.append(((nvf[0], version, nvf[2]), srpm))
+
 
         log.info('found %s troves to update, and %s troves to send advisories'
                  % (len(toUpdate), len(toAdvise)))

From johnsonm@rpath.com Wed Aug 19 18:25:29 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPT3B012296
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:29 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPTZO014943
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:29 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPTmq029682
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:29 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAY024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:31 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgVCP022711
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:31 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgVCP022711@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:31 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: better sanity checking for all imports
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:33 -0000

changeset:   71269f9cbc3d
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 16 Mar 2009 11:22:53 -0400

better sanity checking for all imports

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -70,9 +70,26 @@
 
         # Build list of packages
         if self._cfg.packageAll:
-            toPackage = set([ x.name for x in
-                self._pkgSource.binPkgMap.iterkeys() if x.arch != 'src' ])
-            toPackage = toPackage.difference(set(self._cfg.package))
+            toPackage = set()
+            for srcName, srcSet in self._pkgSource.srcNameMap.iteritems():
+                if len(srcSet) == 0:
+                    continue
+
+                srcList = list(srcSet)
+                srcList.sort()
+                latestSrc = srcList[-1]
+
+                if latestSrc not in self._pkgSource.srcPkgMap:
+                    log.warn('not packaging %s, not found in srcPkgMap' % latestSrc.name)
+                    continue
+
+                if latestSrc.name in self._cfg.package:
+                    log.warn('ignoring %s due to exclude rule' % latestSrc.name)
+                    continue
+
+                for binPkg in self._pkgSource.srcPkgMap[latestSrc]:
+                    toPackage.add(binPkg.name)
+
         else:
             toPackage = set(self._cfg.package)
 

From johnsonm@rpath.com Wed Aug 19 18:25:29 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPTR3012288
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:29 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPSYp014936
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:28 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPSFZ029679
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:28 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAW024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:31 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLf5CC019265
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:05 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLf5CC019265@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:05 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:34 -0000

changeset:   620111dd2fbb
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 22 Oct 2008 15:55:36 -0400

branch merge

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/buildpackages b/scripts/buildpackages
--- a/scripts/buildpackages
+++ b/scripts/buildpackages
@@ -21,15 +21,19 @@
 from updatebot import build
 from updatebot import config
 
+if len(sys.argv) < 3 or sys.argv[1] not in os.listdir(os.environ['HOME'] + '/hg/mirrorball/config'):
+    print 'usage: buildpackages <platform> [pkg1, pkg2, ...]'
+    sys.exit(1)
+
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/%s/updatebotrc' % sys.argv[1])
 
 builder = build.Builder(cfg)
 
 trvs = set()
 label = cfg.topSourceGroup[1]
-for pkg in sys.argv[1:]:
+for pkg in sys.argv[2:]:
     trvs.add((pkg, label, None))
 trvMap = builder.build(trvs)
 
diff --git a/scripts/findbinaries.py b/scripts/findbinaries.py
old mode 100755
new mode 100644
diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -119,7 +119,7 @@
         # Build all newly imported packages.
         trvMap, failed = self._builder.buildmany(toBuild)
 
-        import epdb; epdb.st()
+#        import epdb; epdb.st()
 
 ##        trvMap = self._builder.build(toBuild)
         #import epdb; epdb.st()

From johnsonm@rpath.com Wed Aug 19 18:25:32 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPWuP012321
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:32 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPWB7014968
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:32 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPWfp029704
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:32 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAi024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:34 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdgix015926
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:46 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdgix015926@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:42 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add better comparisons for patches
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:35 -0000

changeset:   f8f7080a67b8
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 25 Jun 2008 19:24:49 -0400

add better comparisons for patches

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/repomd/patchxml.py b/repomd/patchxml.py
--- a/repomd/patchxml.py
+++ b/repomd/patchxml.py
@@ -71,16 +71,31 @@
             raise UnknownElementError(child)
 
     def __cmp__(self, other):
-        if self.version > other.version:
-            return 1
-        elif self.version < other.version:
-            return -1
-        elif self.release > other.release:
-            return 1
-        elif self.release < other.release:
-            return -1
-        else:
-            return 0
+        vercmp = cmp(self.version, other.version)
+        if vercmp != 0:
+            return vercmp
+
+        relcmp = cmp(self.release, other.release)
+        if relcmp != 0:
+            return relcmp
+
+        sumcmp = cmp(self.summary, other.summary)
+        if sumcmp != 0:
+            return sumcmp
+
+        desccmp = cmp(self.description, other.description)
+        if desccmp != 0:
+            return desccmp
+
+        for pkg in other.packages:
+            if pkg not in self.packages:
+                self.packages.append(pkg)
+
+        return 0
+
+    def __hash__(self):
+        return hash((self.name, self.version, self.release, self.summary,
+                     self.description))
 
 
 class _Atoms(xmllib.BaseNode):

From johnsonm@rpath.com Wed Aug 19 18:25:29 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPSIi012286
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:29 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPSHf014932
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:28 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPSkH029676
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:28 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAU024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:29 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLctMc013987
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:05 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLctMc013987@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:38:55 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: branch merge
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:36 -0000

changeset:   9d4bf0ccc012
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 28 May 2008 21:01:35 -0400

branch merge

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/pkgwiz.py b/pkgwiz.py
--- a/pkgwiz.py
+++ b/pkgwiz.py
@@ -38,6 +38,7 @@
     'aaa_base',
     'acl',
     'apache2',
+    'apache2-mod_python',
     'ash',
     'attr',
     'audit',
@@ -52,6 +53,7 @@
     'cpp',
     'cracklib',
     'cron',
+    'curl',
     'cyrus-sasl',
     'device-mapper',
     'db',
@@ -75,6 +77,7 @@
     'glib2',
     'glibc',
     'gmp',
+    'gnutls',
     'gpm',
     'grep',
     'grub',
@@ -101,10 +104,14 @@
     'libelf',
     'libevent',
     'libgcc',
+    'libgpg-error',
+    'libgcrypt',
     'libgssapi',
+    'libidn',
     'libiniparser',
     'libjpeg',
     'libnscd',
+    'libopencdk',
     'libpcap',
     'libpng',
     'librpcsecgss',
@@ -114,8 +121,11 @@
     'libxcrypt',
     'libxml2',
     'libxml2-python',
+    'libxslt',
     'logrotate',
     'lvm2',
+    'lzo',
+    'm4',
     'make',
     'mdadm',
     'mingetty',
@@ -163,12 +173,14 @@
     'resmgr',
     'samba',
     'sed',
+    'sendmail',
     'slang',
     'sles-release',
     'strace',
     'sysconfig',
     'sysfsutils',
     'syslog-ng',
+    'sysstat',
     'sysvinit',
     'tar',
     'tcl',
@@ -184,6 +196,7 @@
     'vim',
     'wget',
     'wireless-tools',
+    'xntp',
     #'xorg-x11',
     'zlib',
     'zip',

From johnsonm@rpath.com Wed Aug 19 18:25:31 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPUGA012308
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:30 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPU0m014947
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:30 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPUEo029687
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:30 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAa024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:32 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdo2q016215
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:56 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdo2q016215@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:50 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: remove cook.py since it isn't used by anything
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:36 -0000

changeset:   9de16e7fcee2
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 09 Jul 2008 14:26:53 -0400

remove cook.py since it isn't used by anything

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/cook.py b/cook.py
deleted file mode 100644
--- a/cook.py
+++ /dev/null
@@ -1,32 +0,0 @@
-    def cook(self, group):
-        """
-        Go through all the packages in a group that's on the current label and cook them.
-        """
-
-        self.repo()
-        from conary import display, queryrep, trove
-
-        troveTups = queryrep.getTrovesToDisplay(
-            self.repos, [group], [],
-            versionFilter=queryrep.VERSION_FILTER_LATEST,
-            flavorFilter=queryrep.FLAVOR_FILTER_BEST,
-            labelPath=self.cfg.buildLabel, defaultFlavor=self.cfg.flavor,
-            affinityDb=None)
-
-        dcfg = display.DisplayConfig(self.repos, None)
-        troveSource = dcfg.getTroveSource()
-        troves = troveSource.getTroves(troveTups, withFiles=False)
-        childTups = list(troves[0].iterTroveList(strongRefs=True))
-
-        import epdb
-        epdb.st()
-
-        troveSpecs = [(group, None, None)]
-        self.repos.findTroves(self.cfg.buildLabel, troveSpecs)
-
-        troveTups = [(group, None, None)]
-
-        #t = troveSource.getTroves(troveTups)
-        ttup = self.repos.findTroves(self.cfg.buildLabel, troveTups)[troveTups[0]]
-
-

From johnsonm@rpath.com Wed Aug 19 18:25:32 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPWuK012316
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:32 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPV7I014965
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:31 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPVXu029701
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:31 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAg024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:34 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfHVb019744
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:17 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfHVb019744@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:17 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add support for fulling down gzipd files from an url
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:37 -0000

changeset:   90a09c837b23
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 07 Nov 2008 16:17:55 -0500

add support for fulling down gzipd files from an url

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/pmap/__init__.py b/pmap/__init__.py
--- a/pmap/__init__.py
+++ b/pmap/__init__.py
@@ -18,6 +18,12 @@
 Parse advisories from pipermail archives.
 """
 
+import os
+import gzip
+import shutil
+import urllib2
+import tempfile
+
 from imputil import imp
 
 __all__ = ('InvalidBackendError', 'parse')
@@ -26,6 +32,22 @@
 class InvalidBackendError(Exception):
     pass
 
+def __getFileObjFromUrl(url):
+    fn = tempfile.mktemp(prefix='pmap')
+
+    # download file
+    inf = urllib2.urlopen(url)
+    outf = open(fn, 'w')
+    shutil.copyfileobj(inf, outf)
+
+    if url.endswith('.gz'):
+        fh = gzip.open(fn)
+    else:
+        fh = open(fn)
+
+    os.unlink(fn)
+    return fh
+
 def __getBackend(backend):
     if backend not in __supported_backends:
         raise InvalidBackendError('%s is not a supported backend, please '
@@ -39,7 +61,8 @@
     except ImportError, e:
         raise InvalidBackendError('Could not load %s backend: %s' % (backend, e))
 
-def parse(url, backend='ubuntu'):
+def parse(url, backend='centos'):
+    fh = __getFileObjFromUrl(url)
     backend = __getBackend(backend)
     parser = backend.Parser()
-    return parser.parse(url)
+    return parser.parse(fh)

From johnsonm@rpath.com Wed Aug 19 18:25:31 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPV6P012309
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:31 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPUCX014958
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:30 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPU1n029691
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:30 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAc024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:33 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLf0Ow019094
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:02 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLf0Ow019094@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:00 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: make configPath relative to updatebotrc location
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:37 -0000

changeset:   402da312ae94
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 22 Oct 2008 15:50:20 -0400

make configPath relative to updatebotrc location

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -16,6 +16,8 @@
 Configuration module for updatebot.
 """
 
+import os
+
 from conary.lib import cfg
 from conary import versions
 from conary.conarycfg import CfgFlavor, CfgLabel
@@ -50,8 +52,8 @@
     # name of the product to use in advisories
     productName         = CfgString
 
-    # path to configuration files (conaryrc, rmakerc)
-    configPath          = CfgString
+    # path to configuration files relative to updatebotrc (conaryrc, rmakerc)
+    configPath          = (CfgString, './')
 
     # type of upstream repostory to pull packages from, supported are apt and yum.
     repositoryFormat    = (CfgString, 'yum')
@@ -114,3 +116,11 @@
 
     def __init__(self, *args, **kwargs):
         cfg.SectionedConfigFile.__init__(self)
+
+    def read(self, *args, **kwargs):
+        ret = cfg.SectionedConfigFile.read(self, *args, **kwargs)
+        if not self.configPath.startswith(os.sep):
+            # configPath is relative
+            dirname = os.path.dirname(args[0])
+            self.configPath = os.path.normpath(os.path.join(dirname, self.configPath))
+        return ret

From johnsonm@rpath.com Wed Aug 19 18:25:31 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPV2i012310
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:31 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPVfL014961
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:31 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPVxH029697
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:31 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAe024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:33 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdjWA016028
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:52 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdjWA016028@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:45 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add script to cook groups as configured by updatebot
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:38 -0000

changeset:   928a9a12614a
user:        Elliot Peele <http://issues.rpath.com/>
date:        Sat, 28 Jun 2008 00:29:23 -0400

add script to cook groups as configured by updatebot

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/scripts/cookgroups.py b/scripts/cookgroups.py
new file mode 100755
--- /dev/null
+++ b/scripts/cookgroups.py
@@ -0,0 +1,44 @@
+#!/usr/bin/python
+#
+# Copryright (c) 2008 rPath, Inc.
+#
+
+"""
+Script for cooking groups defined in the updatebot config.
+"""
+
+import os
+import sys
+
+sys.path.insert(0, os.environ['HOME'] + '/hg/rpath-xmllib')
+sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
+sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
+
+from updatebot import log
+from updatebot import build
+from updatebot import config
+
+log.addRootLogger()
+cfg = config.UpdateBotConfig()
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/updatebotrc')
+
+builder = build.Builder(cfg)
+
+grpTrvs = set()
+for flavor in cfg.groupFlavors:
+    grpTrvs.add((cfg.topSourceGroup[0], cfg.topSourceGroup[1], flavor))
+grpTrvMap = builder.build(grpTrvs)
+
+print "built:\n"
+
+def displayTrove(nvf):
+    flavor = ''
+    if nvf[2] is not None:
+        flavor = '[%s]' % nvf[2]
+
+    return '%s=%s%s' % (nvf[0], nvf[1], flavor)
+
+for srcTrv in grpTrvMap.iterkeys():
+    print displayTrove(srcTrv)
+    for binTrv in grpTrvMap[srcTrv]:
+        print "\t", displayTrove(binTrv)

From johnsonm@rpath.com Wed Aug 19 18:25:35 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPYgB012329
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:34 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPYW8014979
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:34 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPXuR029709
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:34 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAm024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:36 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdk9P016062
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:54 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdk9P016062@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:46 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add command to cook a list of packages on the devel
	branch of a repository
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:38 -0000

changeset:   bb7219528fb7
user:        Elliot Peele <http://issues.rpath.com/>
date:        Wed, 09 Jul 2008 10:43:20 -0400

add command to cook a list of packages on the devel branch of a repository

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/scripts/cookpackages.py b/scripts/cookpackages.py
new file mode 100755
--- /dev/null
+++ b/scripts/cookpackages.py
@@ -0,0 +1,46 @@
+#!/usr/bin/python
+#
+# Copryright (c) 2008 rPath, Inc.
+#
+
+"""
+Script for cooking groups defined in the updatebot config.
+"""
+
+import os
+import sys
+
+sys.path.insert(0, os.environ['HOME'] + '/hg/rpath-xmllib')
+sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
+sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
+
+from updatebot import log
+from updatebot import build
+from updatebot import config
+
+log.addRootLogger()
+cfg = config.UpdateBotConfig()
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/updatebotrc')
+
+builder = build.Builder(cfg)
+
+
+trvs = set()
+label = cfg.topSourceGroup[1]
+for pkg in sys.argv[1:]:
+    trvs.add((pkg, label, None))
+trvMap = builder.build(trvs)
+
+print "built:\n"
+
+def displayTrove(nvf):
+    flavor = ''
+    if nvf[2] is not None:
+        flavor = '[%s]' % nvf[2]
+
+    return '%s=%s%s' % (nvf[0], nvf[1], flavor)
+
+for srcTrv in trvMap.iterkeys():
+    print displayTrove(srcTrv)
+    for binTrv in trvMap[srcTrv]:
+        print "\t", displayTrove(binTrv)

From johnsonm@rpath.com Wed Aug 19 18:25:34 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPYC0012328
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:34 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPYkE014978
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:34 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPXfh029707
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:33 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAk024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:35 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeQDk017682
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:31 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeQDk017682@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:26 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add support for sources of different versions
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:38 -0000

changeset:   6f1ccf2e317e
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Sat, 23 Aug 2008 16:39:17 -0400

add support for sources of different versions

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/updatebot/pkgsource/debsource.py b/updatebot/pkgsource/debsource.py
--- a/updatebot/pkgsource/debsource.py
+++ b/updatebot/pkgsource/debsource.py
@@ -74,11 +74,22 @@
                     continue
 
                 for binPkg in self.binNameMap[binPkgName]:
-                    if (binPkg.version == srcPkg.version and
-                        binPkg.release == srcPkg.release):
+                    if ((binPkg.version == srcPkg.version and
+                         binPkg.release == srcPkg.release) or
+                        (binPkg.source == srcPkg.name and
+                         binPkg.sourceVersion == srcPkg.version)):
                         self.srcPkgMap[srcPkg].add(binPkg)
 
             self.srcPkgMap[srcPkg].add(srcPkg)
 
             for pkg in self.srcPkgMap[srcPkg]:
                 self.binPkgMap[pkg] = srcPkg
+
+
+        # It seems that some packages have versions that don't match up with
+        # the source that they were built from. We need to handle that case.
+        for binPkgs in self.binNameMap.itervalues():
+            for binPkg in binPkgs:
+                if binPkg not in self.binPkgMap:
+                    pass
+                    #log.warn('no source found for %s' % binPkg)

From johnsonm@rpath.com Wed Aug 19 18:25:36 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPaGZ012335
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:36 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPZT6014988
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:35 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPZVl029715
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:35 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAo024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:37 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLf7Cn019316
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:07 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLf7Cn019316@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:07 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix a couple of bugs
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:39 -0000

changeset:   bdd04d3d0fa6
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 22 Oct 2008 17:14:36 -0400

fix a couple of bugs

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/findbinaries.py b/scripts/findbinaries.py
old mode 100644
new mode 100755
--- a/scripts/findbinaries.py
+++ b/scripts/findbinaries.py
@@ -32,7 +32,7 @@
 slog = logging.getLogger('findbinaries')
 
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/centos/updatebotrc')
 
 bot = bot.Bot(cfg)
 bot._populatePkgSource()
@@ -40,7 +40,7 @@
 updater = bot._updater
 helper = updater._conaryhelper
 
-sources, failed = updater.create(cfg.package, buildAll=False)
+sources, failed = updater.create(cfg.package, buildAll=True)
 
 pkgs = helper._repos.getTroveLeavesByLabel({None: {helper._ccfg.buildLabel: None}})
 pkgSet = set([ x.split(':')[0] for x in pkgs ])
@@ -63,7 +63,7 @@
     for src, binSet in helper._getSourceTroves((pkg, version, flavor)).iteritems():
         src = (src[0].split(':')[0], src[1], src[2])
         if src not in sources:
-            slog.warn('skipping %s, it not in souces' % src[0])
+            slog.warn('skipping %s, it not in sources' % src[0])
             continue
 
         if src not in srcDict:
@@ -91,4 +91,4 @@
 binLst.sort()
 
 for item in binLst:
-    print ' ' * 12, '\'%s\',' % item
+    print ' ' * 11, '\'%s\',' % item

From johnsonm@rpath.com Wed Aug 19 18:25:37 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPavT012341
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:36 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPat3014991
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:36 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPaJO029718
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:36 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAq024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:38 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgG8E022098
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:17 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgG8E022098@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:16 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add support for building everything from a package source
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:40 -0000

changeset:   9e73595ce4c2
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 05 Feb 2009 23:54:22 -0500

add support for building everything from a package source

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -68,8 +68,16 @@
         # Populate rpm source object from yum metadata.
         self._pkgSource.load()
 
+        # Build list of packages
+        if self._cfg.packageAll:
+            toPackage = set([ x.name for x in
+                self._pkgSource.binPkgMap.iterkeys() if x.arch != 'src' ])
+            toPackage = toPackage.difference(set(self._cfg.package))
+        else:
+            toPackage = set(self._cfg.package)
+
         # Import sources into repository.
-        toBuild, fail = self._updater.create(self._cfg.package,
+        toBuild, fail = self._updater.create(toPackage,
                                              buildAll=rebuild)
 
         if not rebuild:
diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -123,6 +123,10 @@
     # Packages to import
     package             = (CfgList(CfgString), [])
 
+    # Include all packages, if this is set to true packages becomes an
+    # exclude list.
+    packageAll          = (CfgBool, False)
+
     # Factory to use for importing
     newPackageFactory   = (CfgString, None)
 

From johnsonm@rpath.com Wed Aug 19 18:25:39 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPbSH012345
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:38 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPbV4014994
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:37 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPbWM029721
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:37 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAs024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:39 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgXmq022779
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:33 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgXmq022779@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:33 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: use version cache instead of prodding the repo constantly
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:41 -0000

changeset:   418f1c874cbe
user:        Elliot Peele <https://issues.rpath.com/>
date:        Mon, 16 Mar 2009 11:25:01 -0400

use version cache instead of prodding the repo constantly

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -245,17 +245,19 @@
         # Update all of the unique sources.
         fail = set()
         toBuild = set()
+        verCache = self._conaryhelper.getLatestVersions()
         for pkg in toUpdate:
-            log.info('attempting to import %s' % pkg)
+            #log.info('attempting to import %s' % pkg)
 
             try:
                 # Only import packages that haven't been imported before
-                version = self._conaryhelper.getLatestSourceVersion(pkg.name)
+                #version = self._conaryhelper.getLatestSourceVersion(pkg.name)
+                version = verCache.get('%s:source' % pkg.name)
                 if not version:
+                    log.info('attempting to import %s' % pkg)
                     version = self.update((pkg.name, None, None), pkg)
 
-                if (not self._conaryhelper._getVersionsByName(pkg.name) or
-                    buildAll):
+                if not verCache.get(pkg.name) or buildAll:
                     toBuild.add((pkg.name, version, None))
                 else:
                     log.info('not building %s' % pkg.name)

From johnsonm@rpath.com Wed Aug 19 18:25:40 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPeUS012352
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:40 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPdvL015007
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:39 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPcxU029725
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:38 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAu024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:40 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgCi8021911
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:12 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgCi8021911@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:11 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add more questions
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:43 -0000

changeset:   7d71b9a6603e
user:        Elliot Peele <https://issues.rpath.com/>
date:        Sun, 25 Jan 2009 21:52:57 -0500

add more questions

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/pcheck.py b/scripts/pcheck.py
--- a/scripts/pcheck.py
+++ b/scripts/pcheck.py
@@ -1,6 +1,8 @@
 #!/usr/bin/python
 
+import os
 import sys
+import time
 from conary.lib import util
 sys.excepthook = util.genExcepthook()
 
@@ -13,6 +15,19 @@
 
 log.setVerbosity(log.INFO)
 
+def ask(prompt, default=None):
+    while True:
+        try:
+            prompt = '%s [%s]' % (prompt, default)
+            resp = raw_input(prompt + ' ')
+        except EOFError:
+            return None
+
+        if not resp:
+            return default
+
+        return resp
+
 cfg = conarycfg.ConaryConfiguration(True)
 cfg.setContext('1-binary')
 
@@ -93,9 +108,12 @@
     log.critical('Failed to create promote changeset')
     sys.exit(1)
 
-# Ask before committing.
-okay = conaryclient.cmdline.askYn('commit changset? [y/N]', default=False)
-
 # Commit changeset.
-if okay:
+if conaryclient.cmdline.askYn('commit changset? [y/N]', default=False):
+    start = time.time()
     client.repos.commitChangeSet(cs, callback=cb)
+    total = time.time() - start
+    log.info('commit time: %s' % total)
+elif conaryclient.cmdline.askYn('save changeset? [Y/n]', default=True):
+    location = ask('where?', default=os.path.join(os.getcwd(), 'promote-changeset.ccs'))
+    cs.writeToFile(location)

From johnsonm@rpath.com Wed Aug 19 18:25:41 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPeLM012360
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:41 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPelx015010
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:40 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPeIx029731
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:40 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAAw024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:42 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfux5021298
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:56 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfux5021298@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:56 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add check for equality
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:43 -0000

changeset:   93353ca5a3db
user:        Elliot Peele <https://issues.rpath.com/>
date:        Sun, 11 Jan 2009 18:11:24 -0500

add check for equality

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/aptmd/common.py b/aptmd/common.py
--- a/aptmd/common.py
+++ b/aptmd/common.py
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2008 rPath, Inc.
+# Copyright (c) 2008-2009 rPath, Inc.
 #
 # This program is distributed under the terms of the Common Public License,
 # version 1.0. A copy of this license should have been distributed with this
@@ -16,7 +16,7 @@
 Common module for apt metadata parsers to inherit from.
 """
 
-from updatebot import util
+from updatebot.lib import util
 
 from aptmd.container import Container
 from aptmd.parser import ContainerizedParser as Parser
diff --git a/aptmd/container.py b/aptmd/container.py
--- a/aptmd/container.py
+++ b/aptmd/container.py
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2008 rPath, Inc.
+# Copyright (c) 2008-2009 rPath, Inc.
 #
 # This program is distributed under the terms of the Common Public License,
 # version 1.0. A copy of this license should have been distributed with this
@@ -31,6 +31,15 @@
 
         self._data = {}
 
+    def __eq__(self, other):
+        """
+        Check for equality.
+        """
+
+        if not isinstance(other, Container):
+            return False
+        return cmp(self, other) == 0
+
     def set(self, key, value):
         """
         Set data in a local dictionary, also used for __setitem__.

From johnsonm@rpath.com Wed Aug 19 18:25:41 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPfEC012369
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:41 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPf0w015022
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:41 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPf5g029734
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:41 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAB0024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:43 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLf8nJ019368
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:08 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLf8nJ019368@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:08 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: vendor changes
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:43 -0000

changeset:   d5ef2212466b
user:        Elliot Peele <https://issues.rpath.com/>
date:        Tue, 28 Oct 2008 15:27:21 -0400

vendor changes

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/vendor/email/__init__.py b/vendor/email/__init__.py
--- a/vendor/email/__init__.py
+++ b/vendor/email/__init__.py
@@ -121,13 +121,13 @@
 
 for _name in _LOWERNAMES:
     importer = LazyImporter(_name.lower())
-    sys.modules['vendor.email.' + _name] = importer
-    setattr(sys.modules['vendor.email'], _name, importer)
+    sys.modules['email.' + _name] = importer
+    setattr(sys.modules['email'], _name, importer)
 
 
-import vendor.email.mime
+import email.mime
 for _name in _MIMENAMES:
     importer = LazyImporter('mime.' + _name.lower())
-    sys.modules['vendor.email.MIME' + _name] = importer
-    setattr(sys.modules['vendor.email'], 'MIME' + _name, importer)
-    setattr(sys.modules['vendor.email.mime'], _name, importer)
+    sys.modules['email.MIME' + _name] = importer
+    setattr(sys.modules['email'], 'MIME' + _name, importer)
+    setattr(sys.modules['email.mime'], _name, importer)
diff --git a/vendor/mailbox.py b/vendor/mailbox.py
--- a/vendor/mailbox.py
+++ b/vendor/mailbox.py
@@ -677,6 +677,7 @@
 
     def get_message(self, key):
         """Return a Message representation or raise a KeyError."""
+        import epdb; epdb.st()
         start, stop = self._lookup(key)
         self._file.seek(start)
         from_line = self._file.readline().replace(os.linesep, '')

From johnsonm@rpath.com Wed Aug 19 18:25:42 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPgFM012374
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:42 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPgMc015028
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:42 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPfTj029740
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:41 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAB2024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:44 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLggcK023153
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:42 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLggcK023153@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:42 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: script for finding missing srpms from the scientific
	linux repositories
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:44 -0000

changeset:   0743f65918fb
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 09 Apr 2009 15:45:35 -0400

script for finding missing srpms from the scientific linux repositories

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/checksl.py b/scripts/checksl.py
new file mode 100755
--- /dev/null
+++ b/scripts/checksl.py
@@ -0,0 +1,35 @@
+#!/usr/bin/python
+#
+# Copyright (c) 2009 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+import sys
+from conary.lib import util
+
+sys.excepthook = util.genExcepthook()
+
+import os
+
+sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
+
+from updatebot import config
+from updatebot import pkgsource
+from updatebot import log as logger
+
+logger.addRootLogger()
+
+cfg = config.UpdateBotConfig()
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/scientific/updatebotrc')
+pkgSource = pkgsource.PackageSource(cfg)
+
+pkgSource.load()

From johnsonm@rpath.com Wed Aug 19 18:25:44 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPhuM012377
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:43 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPhkC015037
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:43 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPh8w029744
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:43 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAB4024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:45 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLg7uq021724
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:07 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLg7uq021724@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:06 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: promote script to check rpl:1-rpl:1-qa promote
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:44 -0000

changeset:   5af03bd28bb9
user:        Elliot Peele <https://issues.rpath.com/>
date:        Sun, 18 Jan 2009 23:07:54 -0500

promote script to check rpl:1-rpl:1-qa promote

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/pcheck.py b/scripts/pcheck.py
new file mode 100755
--- /dev/null
+++ b/scripts/pcheck.py
@@ -0,0 +1,43 @@
+#!/usr/bin/python
+
+import sys
+from conary.lib import util
+sys.excepthook = util.genExcepthook()
+
+from conary import versions
+from conary import callbacks
+from conary import conarycfg
+from conary import conaryclient
+
+cfg = conarycfg.ConaryConfiguration()
+cfg.setContext('1-binary')
+
+client = conaryclient.ConaryClient(cfg)
+
+frmlabel = versions.VersionFromString('/conary.rpath.com@rpl:devel//1')
+groupTrvs = client.repos.findTrove(['conary.rpath.com@rpl:1', ], ('group-os', frmlabel, None))
+
+groupTrvs.sort()
+groupTrvs.reverse()
+
+trvs = [ x for x in groupTrvs if x[1] == groupTrvs[0][1] ]
+
+labelMap = {
+    versions.VersionFromString('/conary.rpath.com@rpl:devel//1'):
+    versions.VersionFromString('/conary.rpath.com@rpl:devel//1-qa'),
+    versions.VersionFromString('/conary.rpath.com@rpl:devel//1-xen'):
+    versions.VersionFromString('/conary.rpath.com@rpl:devel//1-xen-qa'),
+}
+
+cb = conaryclient.callbacks.CloneCallback(cfg)
+success, cs = client.createSiblingCloneChangeSet(
+        labelMap,
+        trvs,
+        cloneSources=True,
+        callback=cb)
+
+import epdb
+epdb.st()
+
+
+

From johnsonm@rpath.com Wed Aug 19 18:25:44 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPiKU012382
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:44 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPiob015040
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:44 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPhRg029753
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:43 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAB6024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:46 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeIUR017324
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:22 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeIUR017324@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:18 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: handle different repository types
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:45 -0000

changeset:   7a23f92844a2
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 14 Aug 2008 22:37:33 -0400

handle different repository types

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -19,6 +19,7 @@
 import time
 import logging
 
+import aptmd
 import repomd
 
 from updatebot import build
@@ -56,14 +57,20 @@
         if self._pkgSourcePopulated:
             return
 
+        if self._cfg.repositoryFormat == 'apt':
+            client = aptmd.Client(self._cfg.repositoryUrl)
+
         for repo in self._cfg.repositoryPaths:
             log.info('loading repository data %s/%s'
                      % (self._cfg.repositoryUrl, repo))
-            client = repomd.Client(self._cfg.repositoryUrl + '/' + repo)
+
+            if self._cfg.repositoryFormat == 'yum':
+                client = repomd.Client(self._cfg.repositoryUrl + '/' + repo)
+
             self._pkgSource.loadFromClient(client, repo)
             self._clients[repo] = client
+
         self._pkgSource.finalize()
-
         self._pkgSourcePopulated = True
 
     def _populatePatchSource(self):
@@ -111,7 +118,7 @@
         # Import sources into repository.
         toBuild, fail = self._updater.create(self._cfg.package)
 
-#        import epdb; epdb.st()
+        import epdb; epdb.st()
 
         # Build all newly imported packages.
         #trvMap, failed = self._builder.buildmany(toBuild)

From johnsonm@rpath.com Wed Aug 19 18:25:45 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPi3O012385
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:45 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPivq015043
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:44 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPiKg029756
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:44 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCAB8024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:46 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdrGH016351
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:57 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdrGH016351@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:53 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: rename file, update to use update method
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:46 -0000

changeset:   9d6c5562efdc
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 10 Jul 2008 10:30:48 -0400

rename file, update to use update method

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/scripts/test.py b/scripts/test.py
deleted file mode 100755
--- a/scripts/test.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/python
-
-import os
-import sys
-
-sys.path.insert(0, os.environ['HOME'] + '/hg/rpath-xmllib')
-sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
-sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
-
-from conary.lib import util
-sys.excepthook = util.genExcepthook()
-
-from updatebot import bot, config, log
-
-log.addRootLogger()
-cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/updatebotrc')
-obj = bot.Bot(cfg)
-obj.run()
-
-import epdb ; epdb.st()
diff --git a/scripts/update.py b/scripts/update.py
new file mode 100755
--- /dev/null
+++ b/scripts/update.py
@@ -0,0 +1,21 @@
+#!/usr/bin/python
+
+import os
+import sys
+
+sys.path.insert(0, os.environ['HOME'] + '/hg/rpath-xmllib')
+sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
+sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
+
+from conary.lib import util
+sys.excepthook = util.genExcepthook()
+
+from updatebot import bot, config, log
+
+log.addRootLogger()
+cfg = config.UpdateBotConfig()
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/updatebotrc')
+obj = bot.Bot(cfg)
+obj.update()
+
+import epdb ; epdb.st()

From johnsonm@rpath.com Wed Aug 19 18:25:47 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPkDT012407
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:46 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPkuL015056
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:46 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPjGX029760
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:45 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCABA024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:47 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeHpe017307
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:21 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeHpe017307@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:17 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: cleanups
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:49 -0000

changeset:   af96cc2f80a7
user:        Elliot Peele <http://issues.rpath.com/>
date:        Thu, 14 Aug 2008 21:04:53 -0400

cleanups

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/pkgsource/debsource.py b/updatebot/pkgsource/debsource.py
--- a/updatebot/pkgsource/debsource.py
+++ b/updatebot/pkgsource/debsource.py
@@ -17,6 +17,8 @@
 import aptmd
 from updatebot import util
 
+log = logging.getLogger('updatebot.pkgsource')
+
 class DebSource(object):
     def __init__(self, cfg):
         self._excludeArch = cfg.excludeArch
@@ -31,7 +33,7 @@
         self.locationMap = dict()
 
     def loadFromClient(self, client, path):
-        for pkg in self.client.parse(path):
+        for pkg in client.parse(path):
             if pkg.arch in self._excludeArch:
                 continue
 
@@ -66,8 +68,14 @@
 
             self.srcPkgMap[srcPkg] = set()
             for binPkgName in srcPkg.binaries:
+                if binPkgName not in self.binNameMap:
+                    # This means that we don't have a binary package that was
+                    # built with srcPkg, but that is ok.
+                    continue
+
                 for binPkg in self.binNameMap[binPkgName]:
-                    if binPkg.version == srcPkg.version and binPkg.release == srcPkg.release:
+                    if (binPkg.version == srcPkg.version and
+                        binPkg.release == srcPkg.release):
                         self.srcPkgMap[srcPkg].add(binPkg)
             self.srcPkgMap[srcPkg].add(srcPkg)
 

From johnsonm@rpath.com Wed Aug 19 18:25:47 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPlLK012415
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:47 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPkgZ015065
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:46 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPkkH029764
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:46 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCABC024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:48 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLg2O9021553
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:02 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLg2O9021553@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:02 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: script changes
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:49 -0000

changeset:   0bcb59eb022e
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 05 Feb 2009 18:17:02 -0500

script changes

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/scripts/import.py b/scripts/import.py
--- a/scripts/import.py
+++ b/scripts/import.py
@@ -27,7 +27,7 @@
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/centos/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/sles/updatebotrc')
 obj = bot.Bot(cfg)
 trvMap = obj.create()
 
diff --git a/scripts/pkgsource.py b/scripts/pkgsource.py
--- a/scripts/pkgsource.py
+++ b/scripts/pkgsource.py
@@ -3,11 +3,11 @@
 import os
 import sys
 
-sys.path.insert(0, os.environ['HOME'] + '/hg/26/rpath-xmllib')
-sys.path.insert(0, os.environ['HOME'] + '/hg/26/conary')
-sys.path.insert(0, os.environ['HOME'] + '/hg/26/mirrorball')
-sys.path.insert(0, os.environ['HOME'] + '/hg/26/rmake')
-sys.path.insert(0, os.environ['HOME'] + '/hg/26/epdb')
+sys.path.insert(0, os.environ['HOME'] + '/hg/rpath-xmllib')
+sys.path.insert(0, os.environ['HOME'] + '/hg/conary')
+sys.path.insert(0, os.environ['HOME'] + '/hg/mirrorball')
+sys.path.insert(0, os.environ['HOME'] + '/hg/rmake')
+sys.path.insert(0, os.environ['HOME'] + '/hg/epdb')
 
 from conary.lib import util
 sys.excepthook = util.genExcepthook()
@@ -18,8 +18,6 @@
 updatebot.log.addRootLogger()
 log = logging.getLogger('test')
 
-import aptmd
-import repomd
 from updatebot import config
 from updatebot import pkgsource
 

From johnsonm@rpath.com Wed Aug 19 18:25:48 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPlGe012425
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:47 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPlNJ015073
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:47 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPlXw029770
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:47 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCABE024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:49 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLe37t016744
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:08 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLe37t016744@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:03 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: uniquify getSourceTroves by using a set; avoid
	stomping on srcTrvs dict
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:49 -0000

changeset:   0b6ed07d3354
user:        Matt Wilson <https://issues.rpath.com/>
date:        Sat, 21 Jun 2008 16:50:09 -0400

uniquify getSourceTroves by using a set; avoid stomping on srcTrvs dict

committer: Matt Wilson <https://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -84,17 +84,18 @@
         if len(latest) != 2:
             raise TooManyFlavorsFoundError(why=latest)
 
-        srcTrvs = {}
+        d = {}
         for trv in latest:
             log.info('querying %s for source troves' % (trv, ))
             srcTrvs = self._getSourceTroves(trv)
             for src, binLst in srcTrvs.iteritems():
-                if src in srcTrvs:
-                    srcTrvs[src].extend(binLst)
+                s = set(binLst)
+                if src in d:
+                    d[src].update(s)
                 else:
-                    srcTrvs[src] = binLst
+                    d[src] = s
 
-        return srcTrvs
+        return d
 
     @staticmethod
     def _findLatest(trvlst):
@@ -149,8 +150,8 @@
                                                             strongRefs=True)):
             src = (sources[i](), v.getSourceVersion(), None)
             if src not in srcTrvs:
-                srcTrvs[src] = []
-            srcTrvs[src].append((n, v, f))
+                srcTrvs[src] = set()
+            srcTrvs[src].add((n, v, f))
 
         return srcTrvs
 

From johnsonm@rpath.com Wed Aug 19 18:25:49 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPnDU012435
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:49 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPm6w015078
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:48 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPmgn029774
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:48 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCABG024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:50 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdLfW015089
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:30 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdLfW015089@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:21 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: Backfill the manifest with older binary rpms to
	ensure that we don't remove
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:50 -0000

changeset:   e9341d2db250
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 16 Jun 2008 11:02:05 -0400

Backfill the manifest with older binary rpms to ensure that we don't remove
functionallity.

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/update.py b/updatebot/update.py
--- a/updatebot/update.py
+++ b/updatebot/update.py
@@ -146,6 +146,19 @@
 
             # make sure we aren't trying to remove a package
             if binPkg.name not in newNames:
-                raise UpdateRemovesPackageError(why='%s not in %s' % (binPkg.name, newNames))
+                # Novell releases updates to only the binary rpms of a package
+                # that have chnaged. We have to use binaries from the old srpm.
+                # Get the last version of the pkg and add it to the srcPkgMap.
+                log.warn('using old version of package %s' % binPkg)
+                pkgs = self._rpmSource.binNameMap[binPkg.name]
+                pkgs.sort(util.packagevercmp)
+
+                # Raise an exception if the versions of the packages aren't equal.
+                if rpmvercmp(pkg[-1].version, binPkg.version) != 0:
+                    raise UpdateRemovesPackageError(why='all rpms in the '
+                            'manifest should have the same version, trying '
+                            'to add %s' % (pkgs[-1], ))
+
+                self._rpmSource.srcPkgMap[srpm].append(pkgs[-1])
 
         return needsUpdate

From johnsonm@rpath.com Wed Aug 19 18:25:50 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPo7x012439
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:50 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPndf015094
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:49 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPn2a029779
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:49 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCABI024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:52 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfcxm020583
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:38 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfcxm020583@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:38 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: strip arch and list header out of centos subjects
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:52 -0000

changeset:   a0e17e8b178d
user:        Elliot Peele <https://issues.rpath.com/>
date:        Wed, 19 Nov 2008 11:27:14 -0500

strip arch and list header out of centos subjects

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/centos.py b/updatebot/advisories/centos.py
--- a/updatebot/advisories/centos.py
+++ b/updatebot/advisories/centos.py
@@ -89,6 +89,15 @@
         if msg.pkgs is None:
             return
 
+        # Strip arch out of the subject
+        for arch in self.supportedArches:
+            if arch in msg.subject:
+                msg.subject = msg.subject.replace('%s ' % arch, '')
+
+        # Strip subject.
+        msg.subject = msg.subject.replace('[CentOS-announce]', '')
+        msg.subject = msg.subject.strip()
+
         for pkgName in msg.pkgs:
             # Toss out any arches that we don't know how to handle.
             if not self._supportedArch(pkgName):
@@ -107,15 +116,6 @@
                     msg.packages = set()
                 msg.packages.add(binPkg)
 
-            # Strip arch out of the subject
-            for arch in self.supportedArches:
-                if arch in msg.subject:
-                    msg.subject = msg.subject.replace('%s ' % arch, '')
-
-            # Strip subject.
-            msg.subject = msg.subject.replace('[CentOS-announce]', '')
-            msg.subject = msg.subject.strip()
-
     def _supportedArch(self, pkgfn):
         """
         Filter out unsupported arches based on rpm filename.

From johnsonm@rpath.com Wed Aug 19 18:25:51 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPo26012444
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:51 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPoJq015097
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:50 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPoHf029786
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:50 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCABK024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:52 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLeVx6017869
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:33 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLeVx6017869@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:31 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: initial module for displaying infomration
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:52 -0000

changeset:   a7bbc2f559e9
user:        Elliot Peele <http://bugs.rpath.com/>
date:        Wed, 27 Aug 2008 17:30:49 -0400

initial module for displaying infomration

committer: Elliot Peele <http://bugs.rpath.com/>

diff --git a/updatebot/display.py b/updatebot/display.py
new file mode 100644
--- /dev/null
+++ b/updatebot/display.py
@@ -0,0 +1,35 @@
+#
+# Copyright (c) 2008 rPath, Inc.
+#
+# This program is distributed under the terms of the Common Public License,
+# version 1.0. A copy of this license should have been distributed with this
+# source file in a file called LICENSE. If it is not present, the license
+# is always available at http://www.rpath.com/permanent/licenses/CPL-1.0.
+#
+# This program is distributed in the hope that it will be useful, but
+# without any warranty; without even the implied warranty of merchantability
+# or fitness for a particular purpose. See the Common Public License for
+# full details.
+#
+
+def displayTrovesForGroupRecipe(trvMap, indent=12):
+    """
+    Formats a troveMap to a list of packages to be included in a group recipe.
+    @param trvMap dictionary of troves from a build
+    @type trvMap: {srcTrvs: set((n, v, f), ..)}
+    @return formatted string
+    """
+
+    names = set()
+    for trvSet in trvMap.itervalues():
+        for trv in trvSet:
+            names.add(trv[0].split(':')[0])
+
+    names = list(names)
+    names.sort()
+
+    ret = []
+    for name in names:
+        ret.append(' ' * indent + '\'%s\',' % name)
+
+    return '\n'.join(ret)

From johnsonm@rpath.com Wed Aug 19 18:25:51 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPpoG012452
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:51 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPp1U015103
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:51 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPp82029789
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:51 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCABM024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:53 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLfj8n020889
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:41:46 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192141.n7JLfj8n020889@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:41:45 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix pylint errors
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:54 -0000

changeset:   2d4cd2398709
user:        Elliot Peele <https://issues.rpath.com/>
date:        Thu, 20 Nov 2008 00:10:00 -0500

fix pylint errors

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/advisories/common.py b/updatebot/advisories/common.py
--- a/updatebot/advisories/common.py
+++ b/updatebot/advisories/common.py
@@ -89,7 +89,8 @@
         smtp = self._smtpConnect()
 
         try:
-            results = smtp.sendmail(self._from, self._to + self._bcc, message.as_string())
+            results = smtp.sendmail(self._from, self._to + self._bcc,
+                                    message.as_string())
         except (SMTPRecipientsRefused, SMTPHeloError, SMTPSenderRefused,
                 SMTPDataError), e:
             raise FailedToSendAdvisoryError(error=e)
@@ -277,7 +278,7 @@
 
         log.error('The %s backend does not implement %s'
             % (self.__class__.__name__, 'load'))
-        raise NotImplemntedError
+        raise NotImplementedError
 
     def _hasException(self, binPkg):
         """
@@ -307,7 +308,7 @@
 
         log.error('The %s backend does not implement %s'
             % (self.__class__.__name__, '_isUpdateRepo'))
-        raise NotImplmentedError
+        raise NotImplementedError
 
     def _checkForDuplicates(self, patchSet):
         """
@@ -321,7 +322,7 @@
 
         log.error('The %s backend does not implement %s'
             % (self.__class__.__name__, '_isUpdateRepo'))
-        raise NotImplmentedError
+        raise NotImplementedError
 
     def _filterPatch(self, patch):
         """

From johnsonm@rpath.com Wed Aug 19 18:25:53 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPrFx012466
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:53 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPr67015122
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:53 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPqTd029803
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:53 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCABS024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:55 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgIUo022183
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:18 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgIUo022183@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:18 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: fix typos
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:55 -0000

changeset:   615f9d69307e
user:        Elliot Peele <https://issues.rpath.com/>
date:        Sat, 07 Feb 2009 16:49:43 -0500

fix typos

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -20,7 +20,7 @@
 import logging
 
 import xml
-from Queue import Queue
+from Queue import Queue, Empty
 from threading import Thread, RLock
 
 from conary import conarycfg, conaryclient
@@ -426,7 +426,7 @@
     0: 'log',
     'log': 0,
     1: 'results',
-    'results': 1
+    'results': 1,
     2: 'error',
     'error': 2,
 }
@@ -459,13 +459,13 @@
 
     def run(self):
         while True:
-            self.trv = toBuild.get()
+            self.trv = self.toBuild.get()
             self.log('received trv')
             self.jobId = self.builder.start([self.trv, ])
 
-            done, job = self._watch():
+            done, job = self._watch()
             while not done:
-                done, job = self._watch():
+                done, job = self._watch()
 
             if job.isFailed():
                 self.error('job failed')
@@ -496,7 +496,7 @@
     def error(self, msg):
         self._status(msg, type=MESSAGE_TYPES['error'])
 
-    def log(self, msg)
+    def log(self, msg):
         self._status(msg, type=MESSAGE_TYPES['log'])
 
     def results(self, res):
@@ -547,7 +547,7 @@
         while not done:
             try:
                 log.debug('checking for status messages')
-                msg = self.status.get(timeout=5)
+                msg = self._status.get(timeout=5)
             except Empty:
                 continue
 

From johnsonm@rpath.com Wed Aug 19 18:25:52 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPqCt012458
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:52 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPqik015116
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:52 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPpMu029793
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:51 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCABO024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:54 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLerMS018821
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:40:56 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192140.n7JLerMS018821@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:40:53 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: checkpoint during initial centos package import
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:57 -0000

changeset:   c48daac2e8d9
user:        Jeff Uphoff <https://issues.rpath.com/>
date:        Wed, 24 Sep 2008 15:27:29 -0400

checkpoint during initial centos package import

committer: Jeff Uphoff <https://issues.rpath.com/>

diff --git a/scripts/import.py b/scripts/import.py
--- a/scripts/import.py
+++ b/scripts/import.py
@@ -27,7 +27,7 @@
 
 log.addRootLogger()
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/centos/updatebotrc')
 obj = bot.Bot(cfg)
 trvMap = obj.create()
 
diff --git a/scripts/pkgsource.py b/scripts/pkgsource.py
--- a/scripts/pkgsource.py
+++ b/scripts/pkgsource.py
@@ -21,7 +21,7 @@
 from updatebot import pkgsource
 
 cfg = config.UpdateBotConfig()
-cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/ubuntu/updatebotrc')
+cfg.read(os.environ['HOME'] + '/hg/mirrorball/config/centos/updatebotrc')
 
 pkgSource = pkgsource.PackageSource(cfg)
 
diff --git a/updatebot/bot.py b/updatebot/bot.py
--- a/updatebot/bot.py
+++ b/updatebot/bot.py
@@ -117,11 +117,11 @@
         toBuild, fail = self._updater.create(self._cfg.package, buildAll=False)
 
         # Build all newly imported packages.
-#        trvMap, failed = self._builder.buildmany(toBuild)
+        trvMap, failed = self._builder.buildmany(toBuild)
 
-#        import epdb; epdb.st()
+        import epdb; epdb.st()
 
-        trvMap = self._builder.build(toBuild)
+##        trvMap = self._builder.build(toBuild)
         #import epdb; epdb.st()
 
         #trvs = self._builder._formatInput(toBuild)

From johnsonm@rpath.com Wed Aug 19 18:25:52 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPqWS012460
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:52 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPqUG015117
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:52 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPqGK029795
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:52 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCABQ024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:54 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLdFu1014820
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:18 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLdFu1014820@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:15 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: convert srpmToConaryVersion to using package objects
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:57 -0000

changeset:   f4be48bdd2d5
user:        Elliot Peele <http://issues.rpath.com/>
date:        Tue, 10 Jun 2008 16:31:23 -0400

convert srpmToConaryVersion to using package objects
add function for comparing package objects

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/util.py b/updatebot/util.py
--- a/updatebot/util.py
+++ b/updatebot/util.py
@@ -18,6 +18,8 @@
 
 import os
 
+from rpmvercmp import rpmvercmp
+
 def join(a, *b):
     """
     Version of os.path.join that doesn't reroot when it finds a leading /.
@@ -27,3 +29,39 @@
     for path in b:
         root += os.sep + os.path.normpath(path)
     return root
+
+def srpmToConaryVersion(srcPkg):
+    """
+    Get the equvialent conary version from a srcPkg object.
+    @param srcPkg: package object for a srpm
+    @type srcPkg: repomd.packagexml._Package
+    @return conary trailing version
+    """
+
+    version = srcPkg.version.replace('-', '_')
+    release = srcPkg.release.replace('-', '_')
+    cnyver = '_'.join([version, release])
+    return cnyver
+
+def packagevercmp(a, b):
+    """
+    Compare two package objects.
+    @param a: package object from repo metadata
+    @type a: repomd.packagexml._Package
+    @param b: package object from repo metadata
+    @type b: repomd.packagexml._Package
+    """
+
+    epochcmp = rpmvercmp(a.epoch, b.epoch)
+    if epochcmp != 0:
+        return epochcmp
+
+    vercmp = rpmvercmp(a.version, b.version)
+    if vercmp != 0:
+        return vercmp
+
+    relcmp = rpmvercmp(a.release, b.release)
+    if relcmp != 0:
+        return relcmp
+
+    return 0

From johnsonm@rpath.com Wed Aug 19 18:25:53 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPrFn012470
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:53 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPrLG015125
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:53 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPrLA029806
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:53 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCABU024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:55 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLd7cR014521
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:39:13 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192139.n7JLd7cR014521@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:39:07 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: cleanup pylint
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:57 -0000

changeset:   76ee73038a9a
user:        Elliot Peele <http://issues.rpath.com/>
date:        Mon, 02 Jun 2008 23:04:14 -0400

cleanup pylint

committer: Elliot Peele <http://issues.rpath.com/>

diff --git a/updatebot/conaryhelper.py b/updatebot/conaryhelper.py
--- a/updatebot/conaryhelper.py
+++ b/updatebot/conaryhelper.py
@@ -63,7 +63,8 @@
 
         return srcTrvs
 
-    def _findLatest(self, trvlst):
+    @classmethod
+    def _findLatest(cls, trvlst):
         """
         Given a list of trove specs, find the most recent versions.
         @param trvlst: list of trove specs
@@ -108,7 +109,8 @@
 
         return srcTrvs
 
-    def _getTrove(self, cs, name, version, flavor):
+    @classmethod
+    def _getTrove(cls, cs, name, version, flavor):
         """
         Get a trove object for a given name, version, flavor from a changeset.
         @param cs: conary changeset object
@@ -126,17 +128,19 @@
         trv = trove.Trove(troveCs, skipIntegrityChecks=True)
         return trv
 
+
 if __name__ == '__main__':
     import sys
     from conary.lib import util as cnyutil
     sys.excepthook = cnyutil.genExcepthook()
 
-    import config
-    cfg = config.UpdateBotConfig()
-    cfg.topGroup = ('group-dist', 'sle.rpath.com@rpath:sle-devel', None)
-    cfg.configPath = '../'
+    from updatebot import config
+    Cfg = config.UpdateBotConfig()
+    Cfg.topGroup = ('group-dist', 'sle.rpath.com@rpath:sle-devel', None)
+    Cfg.configPath = '../'
 
-    obj = ConaryHelper(cfg)
-    srcTrvs = obj.getSourceTrovesInTopLevel()
+    Obj = ConaryHelper(Cfg)
+    SrcTrvs = Obj.getSourceTroves()
 
-    import epdb ; epdb.st()
+    import epdb
+    epdb.st()

From johnsonm@rpath.com Wed Aug 19 18:25:55 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPs7S012477
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:54 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPsrD015135
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:54 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPs8Y029812
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:54 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCABY024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:56 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLg6n6021690
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:07 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLg6n6021690@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:06 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: add global config for common data
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:25:59 -0000

changeset:   f06e688495a7
user:        Elliot Peele <https://issues.rpath.com/>
date:        Fri, 16 Jan 2009 23:54:02 -0500

add global config for common data

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/config.py b/updatebot/config.py
--- a/updatebot/config.py
+++ b/updatebot/config.py
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2008 rPath, Inc.
+# Copyright (c) 2008-2009 rPath, Inc.
 #
 # This program is distributed under the terms of the Common Public License,
 # version 1.0. A copy of this license should have been distributed with this
@@ -26,6 +26,8 @@
 
 from rmake.build.buildcfg import CfgTroveSpec
 
+from updatebot.lib import util
+
 class CfgBranch(CfgLabel):
     """
     Class for representing conary branches.
@@ -156,6 +158,15 @@
     emailBcc            = (CfgList(CfgString), [])
     smtpServer          = CfgString
 
+    # Jira Info
+    jiraUser            = CfgString
+    jiraPassword        = CfgString
+    jiraUrl             = CfgString
+    jiraSecurityGroup   = CfgString
+
+    # Satis Info
+    satisUrl            = CfgString
+
 
 class UpdateBotConfig(cfg.SectionedConfigFile):
     """
@@ -175,6 +186,13 @@
         Read specified file.
         """
 
+        # If there is a global config, load it first.
+        cfgDir = os.path.dirname(args[0])
+        cfgFile = util.join(cfgDir, '../', 'updatebotrc')
+        if os.path.exists(cfgFile):
+            cfg.SectionedConfigFile.read(self, cfgFile, **kwargs)
+
+        # Find configPath.
         ret = cfg.SectionedConfigFile.read(self, *args, **kwargs)
         if not self.configPath.startswith(os.sep):
             # configPath is relative

From johnsonm@rpath.com Wed Aug 19 18:25:54 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPsU8012476
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:54 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPrlC015131
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:54 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPrDw029809
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:53 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCABW024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:56 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgMvQ022319
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:22 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgMvQ022319@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:22 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: more build changes
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <mirrorball-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/mirrorball-commits>
List-Post: <mailto:mirrorball-commits@lists.rpath.com>
List-Help: <mailto:mirrorball-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/mirrorball-commits>, 
	<mailto:mirrorball-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Aug 2009 22:26:00 -0000

changeset:   1ad796745afd
user:        Elliot Peele <https://issues.rpath.com/>
date:        Sun, 08 Feb 2009 06:29:08 +0000

more build changes

committer: Elliot Peele <https://issues.rpath.com/>

diff --git a/updatebot/build.py b/updatebot/build.py
--- a/updatebot/build.py
+++ b/updatebot/build.py
@@ -451,10 +451,11 @@
 class BuildWorker(Thread):
     BuilderClass = Builder
 
-    def __init__(self, cfg, toBuild, status, name=None):
+    def __init__(self, cfg, toBuild, status, name=None, offset=0):
         Thread.__init__(self, name=name)
 
         self.name = name
+        self.offset = offset
         self.toBuild = toBuild
         self.status = status
         self.builder = self.BuilderClass(cfg)
@@ -463,6 +464,7 @@
         self.jobId = None
 
     def run(self):
+        time.sleep(self.offset * 5)
         while True:
             self.trv = self.toBuild.get()
             self.log('received trv')
@@ -478,10 +480,10 @@
                     continue
                 built = True
 
-        if not built:
-            self.error('job failed')
+            if not built:
+                self.error('job failed')
 
-        self.toBuild.task_done()
+            self.toBuild.task_done()
 
     def _doBuild(self):
         self.jobId = self.builder.start([self.trv, ])
@@ -543,7 +545,7 @@
     def provisionWorkers(self):
         for i in range(self._workerCount):
             worker = self.workerClass(self._cfg, self._toBuild, self._status,
-                                 name='Build Worker %s' % i)
+                                 name='Build Worker %s' % i, offset=i)
             self._workers.append(worker)
 
     def start(self):

From johnsonm@rpath.com Wed Aug 19 18:25:58 2009
Received: from mx2.rpath.com (proxy1.eqx-dc2-be.rpath.com [172.16.180.40])
	by lists-app.eqx-dc2-be.rpath.com (8.13.7/8.13.7) with ESMTP id
	n7JMPtW9012480
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:55 GMT
Received: from rdu-nat.rpath.com (rdu-nat.rpath.com [66.192.95.194])
	by mx2.rpath.com (8.13.7/8.13.7) with ESMTP id n7JMPs6e015143
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:55 -0400
Received: from scc.eng.rpath.com (scc.eng.rpath.com [172.16.160.77])
	by rdu-nat.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMPs0t029817
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <mirrorball-commits@lists.rpath.com>;
	Wed, 19 Aug 2009 18:25:54 -0400
Received: from scc.eng.rpath.com (localhost.localdomain [127.0.0.1])
	by scc.eng.rpath.com (8.14.2/8.14.2) with ESMTP id n7JMCABa024639
	for <mirrorball-commits@lists.rpath.com>; Wed, 19 Aug 2009 22:25:57 GMT
Received: (from johnsonm@localhost)
	by scc.eng.rpath.com (8.14.2/8.14.2/Submit) id n7JLgxf6023851
	for mirrorball-commits@lists.rpath.com; Wed, 19 Aug 2009 21:42:59 GMT
From: "Michael K. Johnson" <johnsonm@rpath.com>
Message-Id: <200908192142.n7JLgxf6023851@scc.eng.rpath.com>
Date: Wed, 19 Aug 2009 21:42:59 +0000
To: mirrorball-commits@lists.rpath.com
Subject: mirrorball: for each instance use a different cache dir
User-Agent: Heirloom mailx 12.3 7/15/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-BeenThere: mirrorball-commits@lists.rpath.com
X-Mailman-Version: 2.1.9
Precedence: list
List-Id:
