wxWidgets/wxPython/distrib/genfilelist.py
2003-03-25 06:35:27 +00:00

52 lines
1.1 KiB
Python

"""
Walk a directory tree and output a filename list suitable for use
in an RPM spec.
Usage: genfilelist.py [-r] build_root filespec(s)
"""
import sys, os, glob, stat
def walktree(names, buildroot, recurse):
for name in names:
isdir = os.path.isdir(name)
printfilename(name, buildroot, isdir)
if isdir and recurse:
walktree([os.path.join(name, x) for x in os.listdir(name)], buildroot, recurse)
def printfilename(name, buildroot, isdir):
s = os.lstat(name)
realname = name[len(buildroot):]
if isdir:
fmt = "%%dir %%attr(%o, root, root) %s"
else:
fmt = "%%attr(%o, root, root) %s"
print fmt % (s[stat.ST_MODE] & 0777, realname)
def main(args):
if args[0] == '-r':
recurse = 1
args = args[1:]
else:
recurse = 0
if len(args) < 2:
print __str__
sys.exit(1)
buildroot = args[0]
for arg in args[1:]:
if arg[0] == '/':
arg = arg[1:]
walktree(glob.glob(os.path.join(buildroot, arg)), buildroot, recurse)
if __name__ == "__main__":
main(sys.argv[1:])