(draft) blog post about turbogears 2 packaging
[homepage.git] / blog / posts / 2009 / 05 / kick-starting_turbogears_2_packaging / setup.py
1 #!/usr/bin/python
2 # Multiplexer for invoking multiple setup.py in subdir
3 # Copyright (C) 2009 Stefano Zacchiroli <zack@debian.org>
4 # License: GNU GPL version 3 or above
5 import os, string, sys
6
7 if not os.environ.has_key('SUBDIRS') or not os.environ['SUBDIRS']:
8     print >> sys.stderr, "Can't find subdirs, please set SUBDIRS envvar"
9     sys.exit(3)
10 else:
11     subdirs = os.environ['SUBDIRS'].split()
12 setup_cmd = "python setup.py %s" % string.join(sys.argv[1:])
13
14 topdir = os.getcwd()
15 for d in subdirs:
16     if not os.path.isdir(d):
17         print >> sys.stderr, "WARNING: can't find subdir %s" % d
18         continue
19     os.chdir(d)
20     retcode = os.system(setup_cmd)
21     if retcode:
22         print >> sys.stderr, "ERROR: setup.py in subdir %s failed" % d
23         sys.exit(retcode >> 8)
24     os.chdir(topdir)