Mercurial > hg > config
comparison python/install_config.py @ 410:ffa08f0de165
fix a thing
| author | Jeff Hammel <jhammel@mozilla.com> |
|---|---|
| date | Sun, 04 Aug 2013 15:14:16 -0700 |
| parents | dc64beded724 |
| children | 9d6e7a471fc7 |
comparison
equal
deleted
inserted
replaced
| 409:dc64beded724 | 410:ffa08f0de165 |
|---|---|
| 17 | 17 |
| 18 # go home | 18 # go home |
| 19 HOME=os.environ['HOME'] | 19 HOME=os.environ['HOME'] |
| 20 os.chdir(HOME) | 20 os.chdir(HOME) |
| 21 | 21 |
| 22 ### standalone functions | |
| 23 | |
| 22 def execute(*commands): | 24 def execute(*commands): |
| 23 """execute a series of commands""" | 25 """execute a series of commands""" |
| 24 for command in commands: | 26 for command in commands: |
| 25 print ' '.join(command) | 27 print ' '.join(command) |
| 26 code = subprocess.call(command) | 28 code = subprocess.call(command) |
| 27 if code: | 29 if code: |
| 28 sys.exit(code) | 30 sys.exit(code) |
| 31 | |
| 32 def install_develop(package): | |
| 33 """install k0s.ware for development""" | |
| 34 | |
| 35 src = 'http://k0s.org/hg/%s' % package | |
| 36 directory = '%s/src/%s' % (package, package) | |
| 37 commands = [ ['virtualenv/virtualenv.py', package], | |
| 38 ['mkdir', '-p', directory ], | |
| 39 ['hg', 'clone', src, directory] ] | |
| 40 execute(*commands) | |
| 41 old_directory = os.getcwd() | |
| 42 os.chdir(directory) | |
| 43 command = ['../../bin/python', 'setup.py', 'develop'] | |
| 44 execute(command) | |
| 45 os.chdir(old_directory) | |
| 46 | |
| 47 | |
| 48 ### process steps | |
| 29 | 49 |
| 30 class Step(object): | 50 class Step(object): |
| 31 @classmethod | 51 @classmethod |
| 32 def check(cls): | 52 def check(cls): |
| 33 """checks if the step may be run""" | 53 """checks if the step may be run""" |
| 39 commands = [ | 59 commands = [ |
| 40 ['hg', 'init'], | 60 ['hg', 'init'], |
| 41 ['hg', 'pull', SRC], | 61 ['hg', 'pull', SRC], |
| 42 ['hg', 'update', '-C'], | 62 ['hg', 'update', '-C'], |
| 43 ] | 63 ] |
| 64 @classmethd | |
| 65 def write_hgrc(self): | |
| 66 hgrc = """[paths] | |
| 67 default = http://k0s.org/hg/config | |
| 68 default-push = ssh://k0s.org/hg/config | |
| 69 """ | |
| 70 with file('.hg/hgrc', 'w') as f | |
| 71 f.write(hgrc) | |
| 72 def __call__(self): | |
| 73 Step.__call__(self) | |
| 74 self.write_hgrc() | |
| 44 | 75 |
| 45 commands = [ | 76 commands = [ |
| 46 ['hg', 'init'], | 77 ['hg', 'init'], |
| 47 ['hg', 'pull', SRC], | 78 ['hg', 'pull', SRC], |
| 48 ['hg', 'update', '-C'], | 79 ['hg', 'update', '-C'], |
| 49 ] | 80 ] |
| 50 | 81 |
| 51 execute(*commands) | 82 execute(*commands) |
| 52 | |
| 53 | |
| 54 # get the which command | |
| 55 sys.path.append(os.path.join(HOME, 'python')) | |
| 56 from which import which | |
| 57 | 83 |
| 58 | 84 |
| 59 # make a (correct) .hg/hgrc file for $HOME | 85 # make a (correct) .hg/hgrc file for $HOME |
| 60 hgrc = """[paths] | 86 hgrc = """[paths] |
| 61 default = http://k0s.org/hg/config | 87 default = http://k0s.org/hg/config |
| 63 """ | 89 """ |
| 64 f = file('.hg/hgrc', 'w') | 90 f = file('.hg/hgrc', 'w') |
| 65 f.write(hgrc) | 91 f.write(hgrc) |
| 66 f.close() | 92 f.close() |
| 67 | 93 |
| 68 def install_develop(package): | 94 # get the which command |
| 69 """install k0s.ware for development""" | 95 sys.path.append(os.path.join(HOME, 'python')) |
| 96 from which import which | |
| 70 | 97 |
| 71 src = 'http://k0s.org/hg/%s' % package | |
| 72 directory = '%s/src/%s' % (package, package) | |
| 73 commands = [ ['virtualenv/virtualenv.py', package], | |
| 74 ['mkdir', '-p', directory ], | |
| 75 ['hg', 'clone', src, directory] ] | |
| 76 execute(*commands) | |
| 77 old_directory = os.getcwd() | |
| 78 os.chdir(directory) | |
| 79 command = ['../../bin/python', 'setup.py', 'develop'] | |
| 80 execute(command) | |
| 81 os.chdir(old_directory) | |
| 82 | 98 |
| 83 # do git stuff | 99 # do git stuff |
| 84 git = which('git') | 100 git = which('git') |
| 85 if git: | 101 if git: |
| 86 # get virtual env | 102 # get virtual env |
