9 p = subprocess.Popen(['rpm-specdump', spec], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
10 (out, err) = p.communicate(None)
14 if len(sys.argv) == 2:
18 spec = "%s.spec" % os.path.basename(os.getcwd())
20 if not os.path.isfile(spec):
21 print >> sys.stderr, "%s: %s doesn't exist!" % (sys.argv[0], spec)
24 dir = os.path.dirname(spec)
28 (out, err) = specdump(spec)
30 print >> sys.stderr, "%s: %s" % (sys.argv[0], err)
35 for l in out.split('\n'):
37 if len(data) != 3 or data[0] != 's':
39 file = os.path.basename(data[2])
45 exclude = ['log.*', '.#*', '*~', '*.orig', '*.sw?', '.bigfiles', 'sources']
47 # read .gitignore, distfiles files are filled there
48 if os.path.isfile('%s/.gitignore' % dir):
49 f = open('%s/.gitignore' % dir , 'r')
50 for l in f.readlines():
51 exclude.append(l.rstrip())
53 def git_entries(file):
54 p = subprocess.Popen(['git', 'ls-files'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
55 (out, err) = p.communicate(None)
58 print >> sys.stderr, "%s: %s" % (sys.argv[0], err)
60 return out.split('\n')
61 gitfiles = git_entries(dir)
63 def blacklisted(file):
64 if file == os.path.basename(spec):
67 if file in [ '.', '..', '.git', 'CVS', 'TODO']:
70 if os.path.isdir(file):
74 if fnmatch.fnmatch(file, pat):
79 for file in os.listdir(dir):
80 file = os.path.basename(file)
84 if not file in gitfiles:
85 print "Not in repo: %s" % file
89 print "Obsolete file: %s" % file
94 print "git rm %s" % " ".join(obsolete)
95 print "git commit -m '- drop obsolete files' %s" % " ".join(obsolete)