Various repoman fixes, plus a weird lockfile tracekback in news.
authorAlec Warner <antarus@gentoo.org>
Sun, 24 Feb 2008 07:52:33 +0000 (07:52 -0000)
committerAlec Warner <antarus@gentoo.org>
Sun, 24 Feb 2008 07:52:33 +0000 (07:52 -0000)
svn path=/main/trunk/; revision=9377

bin/repoman
pym/portage/news.py
pym/repoman/utilities.py

index 0ca127dcbeb71d09032b46fc4a17a8d09044dbde..febaa0002301d5a6ac4da8446a28843a5588a95e 100755 (executable)
@@ -9,6 +9,7 @@
 
 import commands
 import codecs
+import commands
 import errno
 import formatter
 import logging
@@ -21,7 +22,6 @@ import sys
 import tempfile
 import time
 
-from commands import getstatusoutput
 from itertools import izip
 from stat import S_ISDIR, ST_CTIME
 
@@ -984,7 +984,7 @@ for x in scanlist:
                if xmllint_capable:
                        # xmlint can produce garbage output even on success, so only dump
                        # the ouput when it fails.
-                       st, out = getstatusoutput(
+                       st, out = commands.getstatusoutput(
                                "xmllint --nonet --noout --dtdvalid '%s' '%s'" % \
                                 (metadata_dtd, os.path.join(checkdir, "metadata.xml")))
                        if st != os.EX_OK:
@@ -1594,7 +1594,7 @@ else:
        for myfile in myupdates:
                if myfile in bin_blobs:
                        continue
-               myout=getstatusoutput("egrep -q "+headerstring+" "+myfile)
+               myout = commands.getstatusoutput("egrep -q "+headerstring+" "+myfile)
                if myout[0]==0:
                        myheaders.append(myfile)
 
index da7e159af2f593833ece45cf9a92987a196167e9..fe78c6d45aae7375ee0cbd9197daa837474ec65f 100644 (file)
@@ -105,7 +105,8 @@ class NewsManager(object):
                                skiplist.append(item.name)
                        unread_file.close()
                finally:
-                       unlockfile(unread_lock)
+                       if unread_lock:
+                               unlockfile(unread_lock)
                        write_atomic(skipfile, "\n".join(skiplist)+"\n")
                try:
                        apply_permissions(filename=skipfile, 
index 3cefff5ecca7b92482502d8fc08db52cb89330c7..7666ba5d6ff8f12c9ed6f8c191d4db27c69d8e0c 100644 (file)
@@ -123,7 +123,7 @@ def FindPackagesToScan(settings, startdir, reposplit):
                        p = os.path.join(path, d)
 
                        if os.path.isdir(p):
-                               cat_pkg_dir = os.path.join(p.split(os.path.sep)[-2:])
+                               cat_pkg_dir = os.path.join(*p.split(os.path.sep)[-2:])
                                logging.debug('adding %s to scanlist' % cat_pkg_dir)
                                ret.append(cat_pkg_dir)
                return ret
@@ -152,7 +152,9 @@ def FindPackagesToScan(settings, startdir, reposplit):
                        logging.warn('%s is not a valid category according to profiles/categories, ' \
                        'skipping checks in %s' % (catdir, catdir))
                else:
-                       scanlist.append(os.path.join(catdir, pkgdir))
+                       path = os.path.join(catdir, pkgdir)
+                       logging.debug('adding %s to scanlist' % path)
+                       scanlist.append(path)
        return scanlist