X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=scripts%2Fcleanemptydirs.py;h=3ae15bf1ca1349e4ec9371e0bcce834c6551befa;hb=1f97dfa1375118ccd3a9ea29ac76415d62df249c;hp=9ae1e0667b9e8dc9353685f7325b54792840dcef;hpb=ad2a1716f80403428eefdc32403a7db227705556;p=~andy%2Fsunrise diff --git a/scripts/cleanemptydirs.py b/scripts/cleanemptydirs.py index 9ae1e0667..3ae15bf1c 100755 --- a/scripts/cleanemptydirs.py +++ b/scripts/cleanemptydirs.py @@ -1,12 +1,46 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 -"""find empty dirs""" +"""find empty dirs and check for obsolete package.mask entries""" +from os.path import join, getsize, isfile, isdir +from sys import stderr +from portage.versions import pkgsplit +import portage.env.config import os -from os.path import join, getsize + +# find empty directories for root, dirs, files in os.walk('.'): - for ignoredir in ('CVS','.svn','xfce-base','xfce-extra','eclass'): + for ignoredir in ('CVS','.svn','.git','eclass'): if ignoredir in dirs: dirs.remove(ignoredir) if len(dirs)+len(files) == 0: print root, "seems to be empty" + + +# find obsolete package.mask entries +PACKAGE_MASK = join(os.getcwd(), "profiles/package.mask") +TOCHECK = [] + +if not isfile(PACKAGE_MASK): + print >> stderr, "can't find package.mask, you must be in the overlay root!" + exit(1) + +PMASK = portage.env.config.PackageMaskFile(PACKAGE_MASK) +PMASK.load() + +for key in PMASK.keys(): + # remove =, >=, ~ etc. + while not key[0].isalpha(): + key = key[1:] + # remove trailing * or . like in: ...-1.4.* or so + while key[-1] == "*" or key[-1] == ".": + key = key[:-1] + + if pkgsplit(key): + TOCHECK.append(pkgsplit(key)[0]) + else: + TOCHECK.append(key) + +for item in TOCHECK: + if not isdir(item): + print "package.mask entry for '%s' is obsolete!" % str(item)