From dee6481652b0fb91fdbb49cafd5bb69d06b5216e Mon Sep 17 00:00:00 2001 From: Alec Warner Date: Sun, 24 Feb 2008 07:52:33 +0000 Subject: Various repoman fixes, plus a weird lockfile tracekback in news. svn path=/main/trunk/; revision=9377 --- bin/repoman | 6 +++--- pym/portage/news.py | 3 ++- pym/repoman/utilities.py | 6 ++++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/bin/repoman b/bin/repoman index 0ca127dcb..febaa0002 100755 --- a/bin/repoman +++ b/bin/repoman @@ -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) diff --git a/pym/portage/news.py b/pym/portage/news.py index da7e159af..fe78c6d45 100644 --- a/pym/portage/news.py +++ b/pym/portage/news.py @@ -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, diff --git a/pym/repoman/utilities.py b/pym/repoman/utilities.py index 3cefff5ec..7666ba5d6 100644 --- a/pym/repoman/utilities.py +++ b/pym/repoman/utilities.py @@ -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 -- cgit v1.2.3-1-g7c22