--- a/install Mon Nov 09 13:23:45 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-#!/usr/bin/env python
-
-import sys
-import shutil
-import os
-import pwd
-import subprocess
-import optparse
-
-oparser = optparse.OptionParser()
-
-oparser.add_option("--prefix")
-oparser.add_option("--root")
-oparser.set_defaults(root="", prefix="/usr/local")
-(options, args) = oparser.parse_args()
-
-if len(args) > 0:
- oparser.print_help()
- sys.exit(-1)
-
-# This must be run as root, because it must create an hg user.
-# Normally the clean thing to do is let it fail with a permission error
-# if a non-root user tries to run it, but I don't want anyone thinking
-# that they can make it work as non-root by changing install paths.
-# Patches for doing this more cleanly welcome of course.
-
-if os.getgid() != 0:
- print >>sys.stderr, "Install must be run as root user"
- sys.exit(-1)
-
-def installFiles(d, *sources):
- d = options.root + d
- os.makedirs(d)
- for f in sources:
- shutil.copy(f, d)
-
-installFiles(options.prefix + '/share/mercurial-server',
- 'src/hg-ssh',
- 'src/refresh-auth')
-installFiles(options.prefix + '/share/mercurial-server/mercurialserver',
- 'src/mercurialserver/__init__.py',
- 'src/mercurialserver/paths.py',
- 'src/mercurialserver/changes.py',
- 'src/mercurialserver/access.py',
- 'src/mercurialserver/servelog.py',
- 'src/mercurialserver/refreshauth.py',
- 'src/mercurialserver/ruleset.py')
-installFiles(options.prefix + '/share/mercurial-server/init',
- 'src/init/hginit',
- 'src/init/dot-mercurial-server',
- 'src/init/hgadmin-hgrc')
-installFiles(options.prefix + '/share/doc/mercurial-server',
- 'README',
- 'build/html/index.html')
-installFiles('/etc/mercurial-server',
- 'src/init/conf/remote-hgrc',
- 'src/init/conf/access.conf')
-installFiles('/etc/mercurial-server/keys/root')
-installFiles('/etc/mercurial-server/keys/users')
-
-def becomeFunc(u):
- p = pwd.getpwnam(u)
- def become():
- os.setgid(p.pw_gid)
- os.setegid(p.pw_gid)
- os.setuid(p.pw_uid)
- os.seteuid(p.pw_uid)
- os.chdir(p.pw_dir)
- return become
-
-if options.root == '':
- try:
- pwd.getpwnam('hg')
- except KeyError:
- subprocess.check_call(
- "adduser --system --shell /bin/sh --group --disabled-password".split() +
- ["--gecos", "Mercurial repositories", "hg"])
- subprocess.check_call([options.prefix + '/share/mercurial-server/init/hginit',
- options.prefix + '/share/mercurial-server'],
- preexec_fn = becomeFunc('hg'))
-