68 lines
2.2 KiB
Python
Executable file
68 lines
2.2 KiB
Python
Executable file
#!/usr/bin/python
|
|
from setuptools import setup, find_packages
|
|
import os
|
|
|
|
def _subdir_contents(path):
|
|
for toplevel in os.listdir(path):
|
|
toplevel_path = os.path.join(path, toplevel)
|
|
if not os.path.isdir(toplevel_path):
|
|
continue
|
|
for dirpath, dirnames, filenames in os.walk(toplevel_path):
|
|
for filename in filenames:
|
|
full_path = os.path.join(dirpath, filename)
|
|
if not full_path.startswith(path+'/'):
|
|
raise RuntimeError()
|
|
yield full_path[len(path)+1:]
|
|
def subdir_contents(path):
|
|
return list(_subdir_contents(path))
|
|
|
|
setup(
|
|
name = "gitosis",
|
|
version = "0.2",
|
|
packages = find_packages(),
|
|
|
|
author = "Tommi Virtanen",
|
|
author_email = "tv@eagain.net",
|
|
description = "software for hosting git repositories",
|
|
long_description = """
|
|
|
|
Manage git repositories, provide access to them over SSH, with tight
|
|
access control and not needing shell accounts.
|
|
|
|
gitosis aims to make hosting git repos easier and safer. It manages
|
|
multiple repositories under one user account, using SSH keys to
|
|
identify users. End users do not need shell accounts on the server,
|
|
they will talk to one shared account that will not let them run
|
|
arbitrary commands.
|
|
|
|
""".strip(),
|
|
license = "GPL",
|
|
keywords = "git scm version-control ssh",
|
|
url = "http://eagain.net/software/gitosis/",
|
|
|
|
entry_points = {
|
|
'console_scripts': [
|
|
'gitosis-serve = gitosis.serve:Main.run',
|
|
'gitosis-run-hook = gitosis.run_hook:Main.run',
|
|
'gitosis-init = gitosis.init:Main.run',
|
|
'gitosis-authorized-principals = gitosis.principals:Main.run',
|
|
],
|
|
},
|
|
|
|
package_data = {
|
|
# this seems to be the only way to convince setuptools
|
|
# to include things recursively
|
|
'gitosis.templates': subdir_contents('gitosis/templates'),
|
|
},
|
|
|
|
# templates need to be a real directory, for git init
|
|
zip_safe=False,
|
|
|
|
install_requires=[
|
|
# setuptools 0.6a9 will have a non-executeable post-update
|
|
# hook, this will make gitosis-admin settings not update
|
|
# (fixed in 0.6c5, maybe earlier)
|
|
'setuptools>=0.6c5',
|
|
],
|
|
)
|
|
|