Mercurial > hg > config
comparison python/install_config.py @ 218:e4221e45d6c1
update install script
| author | Jeff Hammel <jhammel@mozilla.com> |
|---|---|
| date | Fri, 06 Apr 2012 16:41:05 -0700 |
| parents | 492ec7e2d46e |
| children | 4390ca34912c |
comparison
equal
deleted
inserted
replaced
| 217:4ad8bce17e85 | 218:e4221e45d6c1 |
|---|---|
| 4 this can be done with | 4 this can be done with |
| 5 curl http://k0s.org/hg/config/raw-file/tip/python/install_config.py | python | 5 curl http://k0s.org/hg/config/raw-file/tip/python/install_config.py | python |
| 6 """ | 6 """ |
| 7 | 7 |
| 8 SRC='http://k0s.org/hg/config' | 8 SRC='http://k0s.org/hg/config' |
| 9 | |
| 10 import imp | |
| 9 import os | 11 import os |
| 10 import subprocess | 12 import subprocess |
| 11 import sys | 13 import sys |
| 12 | 14 |
| 13 # go home | 15 # go home |
| 16 | 18 |
| 17 commands = [ # make the home directory a repository | 19 commands = [ # make the home directory a repository |
| 18 ['hg', 'init'], | 20 ['hg', 'init'], |
| 19 ['hg', 'pull', SRC], | 21 ['hg', 'pull', SRC], |
| 20 ['hg', 'update', '-C'], | 22 ['hg', 'update', '-C'], |
| 21 | |
| 22 # get virtual env | |
| 23 ['hg', 'clone', 'http://bitbucket.org/ianb/virtualenv'], | |
| 24 ['ln', '-s', HOME + '/virtualenv/virtualenv.py', HOME + '/bin/'], | |
| 25 | 23 |
| 26 # site-specific files | 24 # site-specific files |
| 27 ['mkdir', '-p', '.subversion'], | 25 ['mkdir', '-p', '.subversion'], |
| 28 ['rm', '-f', '.subversion/config'], | 26 ['rm', '-f', '.subversion/config'], |
| 29 ['ln', '-s', os.path.join(HOME, '.subversion_config/config'), os.path.join(HOME, '.subversion/config')], | 27 ['ln', '-s', os.path.join(HOME, '.subversion_config/config'), os.path.join(HOME, '.subversion/config')], |
| 37 if code: | 35 if code: |
| 38 sys.exit(code) | 36 sys.exit(code) |
| 39 | 37 |
| 40 execute(*commands) | 38 execute(*commands) |
| 41 | 39 |
| 40 # get the which command | |
| 41 sys.path.append(os.path.join(HOME, 'python')) | |
| 42 from which import which | |
| 43 | |
| 44 | |
| 42 # make a (correct) .hg/hgrc file for $HOME | 45 # make a (correct) .hg/hgrc file for $HOME |
| 43 subprocess.call('/bin/echo -e "[paths]\\ndefault = http://k0s.org/hg/config\\ndefault-push = ssh://k0s.org/hg/config" > ~/.hg/hgrc', shell=True) | 46 hgrc = """[paths] |
| 47 default = http://k0s.org/hg/config | |
| 48 default-push = ssh://k0s.org/hg/config | |
| 49 """ | |
| 50 f = file('.hg/hgrc', 'w') | |
| 51 f.write(hgrc) | |
| 52 f.close() | |
| 44 | 53 |
| 45 def install_develop(package): | 54 def install_develop(package): |
| 46 src = 'http://k0s.org/hg/%s' % package | 55 src = 'http://k0s.org/hg/%s' % package |
| 47 directory = '%s/src/%s' % (package, package) | 56 directory = '%s/src/%s' % (package, package) |
| 48 commands = [ ['virtualenv/virtualenv.py', package], | 57 commands = [ ['virtualenv/virtualenv.py', package], |
| 52 old_directory = os.getcwd() | 61 old_directory = os.getcwd() |
| 53 os.chdir(directory) | 62 os.chdir(directory) |
| 54 command = ['../../bin/python', 'setup.py', 'develop'] | 63 command = ['../../bin/python', 'setup.py', 'develop'] |
| 55 execute(command) | 64 execute(command) |
| 56 os.chdir(old_directory) | 65 os.chdir(old_directory) |
| 57 | |
| 58 # install some python | |
| 59 install_develop('smartopen') | |
| 60 install_develop('silvermirror') # XXX this won't actually work since python-dev isn't installed; install it first | |
| 61 | 66 |
| 62 postinstall_commands = [ ['ln', '-s', os.path.join(HOME, 'smartopen', 'bin', 'smartopen'), os.path.join(HOME, 'bin', 'smartopen') ], | 67 # do git stuff |
| 63 ['ln', '-s', os.path.join(HOME, 'silvermirror', 'bin', 'silvermirror'), os.path.join(HOME, 'bin', 'silvermirror') ], | 68 git = which('git') |
| 64 ] | 69 if git: |
| 65 execute(*postinstall_commands) | 70 # get virtual env |
| 71 virtualenv_commands = [['hg', 'clone', 'http://bitbucket.org/ianb/virtualenv'], | |
| 72 ['ln', '-s', HOME + '/virtualenv/virtualenv.py', HOME + '/bin/']] | |
| 73 execute(*virtualenv_commands) | |
| 66 | 74 |
| 75 # setup git's global ignore, since git is silly about this | |
| 76 # and doesn't look for the file in the right place | |
| 77 execute(['git', 'config', '--global', 'core.excludesfile', os.path.join(HOME, '.gitignore')]) | |
| 78 | |
| 79 # install some python | |
| 80 install_develop('smartopen') | |
| 81 install_develop('silvermirror') # XXX this won't actually work since python-dev isn't installed; install it first | |
| 82 | |
| 83 postinstall_commands = [ ['ln', '-s', os.path.join(HOME, 'smartopen', 'bin', 'smartopen'), os.path.join(HOME, 'bin', 'smartopen') ], | |
| 84 ['ln', '-s', os.path.join(HOME, 'silvermirror', 'bin', 'silvermirror'), os.path.join(HOME, 'bin', 'silvermirror') ], | |
| 85 ] | |
| 86 execute(*postinstall_commands) | |
| 67 | 87 |
| 68 # - ubuntu packages to install: | 88 # - ubuntu packages to install: |
| 69 PACKAGES="mercurial unison fluxbox antiword xclip graphviz python-dev python-lxml curl arandr" | 89 PACKAGES="mercurial unison fluxbox antiword xclip graphviz python-dev python-lxml curl arandr" |
| 70 print "Ensure the following packages are installed:" | 90 print "Ensure the following packages are installed:" |
| 71 print "sudo apt-get install $PACKAGES" | 91 print "sudo apt-get install %s" % PACKAGES |
| 72 | |
| 73 # setup git's global ignore, since git is silly about this and doesn't look for the file in the right place | |
| 74 subprocess.call('if which git; then git config --global core.excludesfile ~/.gitignore; fi', shell=True) |
