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 = [
81 'texlive-latex-extra',
98 short_options = 'hnqy'
99 long_options = ['help', 'no-exec', 'password=', 'quiet', 'username=',
103 Usage: scons_dev_master.py [-hnqy] [--password PASSWORD] [--username USER]
106 ACTIONS (in default order):
107 upgrade Upgrade the system
108 checkout Check out SCons
109 building Install packages for building SCons
110 testing Install packages for testing SCons
111 scons-versions Install versions of SCons
112 python-versions Install versions of Python
115 scons_url = 'http://scons.tigris.org/svn/scons/trunk'
123 opts, args = getopt.getopt(argv[1:], short_options, long_options)
124 except getopt.error, msg:
128 if o in ('-h', '--help'):
131 elif o in ('-n', '--no-exec'):
132 CommandRunner.execute = CommandRunner.do_not_execute
133 elif o in ('--password'):
135 elif o in ('-q', '--quiet'):
136 CommandRunner.display = CommandRunner.do_not_display
137 elif o in ('--username'):
139 elif o in ('-y', '--yes', '--assume-yes'):
142 sys.stderr.write(str(err.msg) + '\n')
143 sys.stderr.write('use -h to get help\n')
149 initial_packages = ' '.join(INITIAL_PACKAGES)
150 install_packages = ' '.join(INSTALL_PACKAGES)
151 building_packages = ' '.join(BUILDING_PACKAGES)
152 testing_packages = ' '.join(TESTING_PACKAGES)
153 python_packages = ' '.join(PYTHON_PACKAGES)
155 cmd = CommandRunner(locals())
159 cmd.run('%(sudo)s apt-get %(yesflag)s upgrade')
160 elif arg == 'checkout':
161 cmd.run('%(sudo)s apt-get %(yesflag)s install %(initial_packages)s')
162 cmd.run('svn co --username guest --password "" %(scons_url)s')
163 elif arg == 'building':
164 cmd.run('%(sudo)s apt-get %(yesflag)s install %(building_packages)s')
165 elif arg == 'testing':
166 cmd.run('%(sudo)s apt-get %(yesflag)s install %(testing_packages)s')
167 elif arg == 'python-versions':
169 cmd.run('%(sudo)s apt-get %(yesflag)s install %(install_packages)s')
170 install_packages = None
171 cmd.run('%(sudo)s apt-get %(yesflag)s install %(python_packages)s')
173 import install_python
175 msg = 'Could not import install_python; skipping python-versions.\n'
176 sys.stderr.write(msg)
178 install_python.main(['install_python.py', '-a'])
179 elif arg == 'scons-versions':
181 cmd.run('%(sudo)s apt-get %(yesflag)s install %(install_packages)s')
182 install_packages = None
186 msg = 'Could not import install_scons; skipping scons-versions.\n'
187 sys.stderr.write(msg)
189 install_scons.main(['install_scons.py', '-a'])
191 msg = '%s: unknown argument %s\n'
192 sys.stderr.write(msg % (argv[0], repr(arg)))
195 if __name__ == "__main__":