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',
104 short_options = 'hnqy'
105 long_options = ['help', 'no-exec', 'password=', 'quiet', 'username=',
109 Usage: scons_dev_master.py [-hnqy] [--password PASSWORD] [--username USER]
112 ACTIONS (in default order):
113 upgrade Upgrade the system
114 checkout Check out SCons
115 building Install packages for building SCons
116 testing Install packages for testing SCons
117 scons-versions Install versions of SCons
118 python-versions Install versions of Python
121 buildbot Install packages for running BuildBot
124 scons_url = 'http://scons.tigris.org/svn/scons/trunk'
132 opts, args = getopt.getopt(argv[1:], short_options, long_options)
133 except getopt.error, msg:
137 if o in ('-h', '--help'):
140 elif o in ('-n', '--no-exec'):
141 CommandRunner.execute = CommandRunner.do_not_execute
142 elif o in ('--password'):
144 elif o in ('-q', '--quiet'):
145 CommandRunner.display = CommandRunner.do_not_display
146 elif o in ('--username'):
148 elif o in ('-y', '--yes', '--assume-yes'):
151 sys.stderr.write(str(err.msg) + '\n')
152 sys.stderr.write('use -h to get help\n')
158 initial_packages = ' '.join(INITIAL_PACKAGES)
159 install_packages = ' '.join(INSTALL_PACKAGES)
160 building_packages = ' '.join(BUILDING_PACKAGES)
161 testing_packages = ' '.join(TESTING_PACKAGES)
162 buildbot_packages = ' '.join(BUILDBOT_PACKAGES)
163 python_packages = ' '.join(PYTHON_PACKAGES)
165 cmd = CommandRunner(locals())
169 cmd.run('%(sudo)s apt-get %(yesflag)s upgrade')
170 elif arg == 'checkout':
171 cmd.run('%(sudo)s apt-get %(yesflag)s install %(initial_packages)s')
172 cmd.run('svn co --username guest --password "" %(scons_url)s')
173 elif arg == 'building':
174 cmd.run('%(sudo)s apt-get %(yesflag)s install %(building_packages)s')
175 elif arg == 'testing':
176 cmd.run('%(sudo)s apt-get %(yesflag)s install %(testing_packages)s')
177 elif arg == 'buildbot':
178 cmd.run('%(sudo)s apt-get %(yesflag)s install %(buildbot_packages)s')
179 elif arg == 'python-versions':
181 cmd.run('%(sudo)s apt-get %(yesflag)s install %(install_packages)s')
182 install_packages = None
183 cmd.run('%(sudo)s apt-get %(yesflag)s install %(python_packages)s')
185 import install_python
187 msg = 'Could not import install_python; skipping python-versions.\n'
188 sys.stderr.write(msg)
190 install_python.main(['install_python.py', '-a'])
191 elif arg == 'scons-versions':
193 cmd.run('%(sudo)s apt-get %(yesflag)s install %(install_packages)s')
194 install_packages = None
198 msg = 'Could not import install_scons; skipping scons-versions.\n'
199 sys.stderr.write(msg)
201 install_scons.main(['install_scons.py', '-a'])
203 msg = '%s: unknown argument %s\n'
204 sys.stderr.write(msg % (argv[0], repr(arg)))
207 if __name__ == "__main__":
212 # indent-tabs-mode:nil
214 # vim: set expandtab tabstop=4 shiftwidth=4: