4 # A script for turning a generic Ubuntu system into a master for
10 from Command import CommandRunner, Usage
41 # additional packages that Bill Deegan's web page suggests
49 DOCUMENTATION_PACKAGES = [
82 'texlive-latex-extra',
99 short_options = 'hnqy'
100 long_options = ['help', 'no-exec', 'password=', 'quiet', 'username=',
104 Usage: scons_dev_master.py [-hnqy] [--password PASSWORD] [--username USER]
107 ACTIONS (in default order):
108 upgrade Upgrade the system
109 checkout Check out SCons
110 building Install packages for building SCons
111 testing Install packages for testing SCons
112 scons-versions Install versions of SCons
113 python-versions Install versions of Python
116 scons_url = 'http://scons.tigris.org/svn/scons/trunk'
124 opts, args = getopt.getopt(argv[1:], short_options, long_options)
125 except getopt.error, msg:
129 if o in ('-h', '--help'):
132 elif o in ('-n', '--no-exec'):
133 CommandRunner.execute = CommandRunner.do_not_execute
134 elif o in ('--password'):
136 elif o in ('-q', '--quiet'):
137 CommandRunner.display = CommandRunner.do_not_display
138 elif o in ('--username'):
140 elif o in ('-y', '--yes', '--assume-yes'):
143 sys.stderr.write(str(err.msg) + '\n')
144 sys.stderr.write('use -h to get help\n')
150 initial_packages = ' '.join(INITIAL_PACKAGES)
151 install_packages = ' '.join(INSTALL_PACKAGES)
152 building_packages = ' '.join(BUILDING_PACKAGES)
153 testing_packages = ' '.join(TESTING_PACKAGES)
154 python_packages = ' '.join(PYTHON_PACKAGES)
156 cmd = CommandRunner(locals())
160 cmd.run('%(sudo)s apt-get %(yesflag)s upgrade')
161 elif arg == 'checkout':
162 cmd.run('%(sudo)s apt-get %(yesflag)s install %(initial_packages)s')
163 cmd.run('svn co --username guest --password "" %(scons_url)s')
164 elif arg == 'building':
165 cmd.run('%(sudo)s apt-get %(yesflag)s install %(building_packages)s')
166 elif arg == 'testing':
167 cmd.run('%(sudo)s apt-get %(yesflag)s install %(testing_packages)s')
168 elif arg == 'python-versions':
170 cmd.run('%(sudo)s apt-get %(yesflag)s install %(install_packages)s')
171 install_packages = None
172 cmd.run('%(sudo)s apt-get %(yesflag)s install %(python_packages)s')
174 import install_python
176 msg = 'Could not import install_python; skipping python-versions.\n'
177 sys.stderr.write(msg)
179 install_python.main(['install_python.py', '-a'])
180 elif arg == 'scons-versions':
182 cmd.run('%(sudo)s apt-get %(yesflag)s install %(install_packages)s')
183 install_packages = None
187 msg = 'Could not import install_scons; skipping scons-versions.\n'
188 sys.stderr.write(msg)
190 install_scons.main(['install_scons.py', '-a'])
192 msg = '%s: unknown argument %s\n'
193 sys.stderr.write(msg % (argv[0], repr(arg)))
196 if __name__ == "__main__":