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-extra-utils',
84 'texlive-latex-extra',
106 short_options = 'hnqy'
107 long_options = ['help', 'no-exec', 'password=', 'quiet', 'username=',
111 Usage: scons_dev_master.py [-hnqy] [--password PASSWORD] [--username USER]
114 ACTIONS (in default order):
115 upgrade Upgrade the system
116 checkout Check out SCons
117 building Install packages for building SCons
118 testing Install packages for testing SCons
119 scons-versions Install versions of SCons
120 python-versions Install versions of Python
123 buildbot Install packages for running BuildBot
126 scons_url = 'http://scons.tigris.org/svn/scons/trunk'
134 opts, args = getopt.getopt(argv[1:], short_options, long_options)
135 except getopt.error, msg:
139 if o in ('-h', '--help'):
142 elif o in ('-n', '--no-exec'):
143 CommandRunner.execute = CommandRunner.do_not_execute
144 elif o in ('--password'):
146 elif o in ('-q', '--quiet'):
147 CommandRunner.display = CommandRunner.do_not_display
148 elif o in ('--username'):
150 elif o in ('-y', '--yes', '--assume-yes'):
153 sys.stderr.write(str(err.msg) + '\n')
154 sys.stderr.write('use -h to get help\n')
160 initial_packages = ' '.join(INITIAL_PACKAGES)
161 install_packages = ' '.join(INSTALL_PACKAGES)
162 building_packages = ' '.join(BUILDING_PACKAGES)
163 testing_packages = ' '.join(TESTING_PACKAGES)
164 buildbot_packages = ' '.join(BUILDBOT_PACKAGES)
165 python_packages = ' '.join(PYTHON_PACKAGES)
167 cmd = CommandRunner(locals())
171 cmd.run('%(sudo)s apt-get %(yesflag)s upgrade')
172 elif arg == 'checkout':
173 cmd.run('%(sudo)s apt-get %(yesflag)s install %(initial_packages)s')
174 cmd.run('svn co --username guest --password "" %(scons_url)s')
175 elif arg == 'building':
176 cmd.run('%(sudo)s apt-get %(yesflag)s install %(building_packages)s')
177 elif arg == 'testing':
178 cmd.run('%(sudo)s apt-get %(yesflag)s install %(testing_packages)s')
179 elif arg == 'buildbot':
180 cmd.run('%(sudo)s apt-get %(yesflag)s install %(buildbot_packages)s')
181 elif arg == 'python-versions':
183 cmd.run('%(sudo)s apt-get %(yesflag)s install %(install_packages)s')
184 install_packages = None
185 cmd.run('%(sudo)s apt-get %(yesflag)s install %(python_packages)s')
187 import install_python
189 msg = 'Could not import install_python; skipping python-versions.\n'
190 sys.stderr.write(msg)
192 install_python.main(['install_python.py', '-a'])
193 elif arg == 'scons-versions':
195 cmd.run('%(sudo)s apt-get %(yesflag)s install %(install_packages)s')
196 install_packages = None
200 msg = 'Could not import install_scons; skipping scons-versions.\n'
201 sys.stderr.write(msg)
203 install_scons.main(['install_scons.py', '-a'])
205 msg = '%s: unknown argument %s\n'
206 sys.stderr.write(msg % (argv[0], repr(arg)))
209 if __name__ == "__main__":
214 # indent-tabs-mode:nil
216 # vim: set expandtab tabstop=4 shiftwidth=4: