--- /dev/null
+gitosis in Debian
+-----------------
+
+After the installation of gitosis, the gitosis-admin repository needs to be
+initialized:
+
+ $ sudo -H -u gitosis gitosis-init < SSH_KEY.pub
+
+whereas SSH_KEY.pub is a ssh public key, see ssh-keygen(1).
+
+Git repositories can now be configured in gitosis.conf:
+
+ $ git clone gitosis@localhost:gitosis-admin.git
+
+See README.rst for more information.
+
+ -- Daniel Baumann <daniel@debian.org> Wed, 23 Apr 2008 01:02:00 +0200
-gitosis (0.2) unstable; urgency=low
+gitosis (0.2+20091020-amino2) unstable; urgency=low
- * Fix initial push syntax in README. Needs to say "refs/heads/".
- * Clean up more files in debian/rules.
- * Mark the generated egg as non-zip-safe.
- * Ensure "git init" doesn't write to stdout, and confuse a push.
- The repository autocreation functionality ends up sending the
- stdout to the client side, and there a very confused git push
- can't make any sense of the protocol.
- * Adjust README to make adduser create the home directory.
- * Avoid missing configuration file trouble on initial run
- of gitosis-init (and hence, gitosis-run-hook).
- * Allow using email address in SSH public key user fields.
- * Make sure ~git/.ssh exists in gitosis-init.
+ * Fix the flush/sync code.
- -- Tommi Virtanen <tv@debian.org> Mon, 3 Sep 2007 23:28:23 -0700
+ -- Steve McIntyre <smcintyre@aminocom.com> Wed, 21 Oct 2009 10:52:16 +0100
-gitosis (0.1) unstable; urgency=low
+gitosis (0.2+20091020-amino1) unstable; urgency=low
- * Initial Release.
+ * Amino local version of the gitosis package:
+ + Fix permissions for newly-created repositories (Closes: #544246)
+ + Add support for extra user-controlled repositories
- -- Tommi Virtanen <tv@debian.org> Mon, 4 Jun 2007 12:49:11 +0300
+ -- Steve McIntyre <smcintyre@aminocom.com> Tue, 20 Oct 2009 15:26:50 +0100
+gitosis (0.2+20080825-2) unstable; urgency=medium
+
+ [ Daniel Baumann ]
+ * Updating vcs fields in control file.
+ * Adjusting hash in README.Debian to reflect that you don't need to be root to
+ do the initial sudo call in order to initialize the gitosis-admin
+ repository. However, you need to have sudo access to execute commands on
+ behalf of the gitosis system user (which practically implies root privileges
+ anyway).
+ * Adding upstream location to copyright file.
+ * Using patch-stamp rather than patch in rules file.
+
+ [ Thomas Viehmann ]
+ * Remove easy-install.pth, setuptools.pth in debian/rules install and leave
+ that to packages providing the modules (Closes: #498209).
+ * Remove generated stuff in debian/rules clean.
+
+ -- Daniel Baumann <daniel@debian.org> Sat, 20 Sep 2008 06:50:00 +0200
+
+gitosis (0.2+20080825-1) unstable; urgency=medium
+
+ * Merging upstream version 0.2+20080825.
+ * Adding suggests to git-daemon-run.
+ * Adding suggests to gitweb.
+ * Removing warnings about previous gitosis directory move, not required
+ anymore and just annoying.
+ * Issueing a note in postrm if the gitosis directory is already existing at
+ package installation time.
+ * Removing unused dh_install call in rules file.
+
+ -- Daniel Baumann <daniel@debian.org> Mon, 1 Sep 2008 23:39:00 +0200
+
+gitosis (0.2+20080626-2) unstable; urgency=medium
+
+ * Moving gitosis home directory from /var/cache/gitosis to /srv/gitosis
+ (Closes: #488600).
+ * Conditionally setting owner of /var/cache/gitosis (Closes: #491501).
+
+ -- Daniel Baumann <daniel@debian.org> Wed, 16 Jul 2008 08:49:00 +0200
+
+gitosis (0.2+20080626-1) unstable; urgency=medium
+
+ * Adding patch to adjust README to Debian commodities (Closes: #490230).
+ * Merging upstream version 0.2+20080626.
+ * Updating to standards 3.8.0.
+
+ -- Daniel Baumann <daniel@debian.org> Wed, 16 Jul 2008 08:49:00 +0200
+
+gitosis (0.2+20080419-2) unstable; urgency=medium
+
+ * Ensuring that post-update is executable (Closes: #473613, #483602).
+ * Correcting clean target in rules file to build twice in a row.
+ * Manually enforce python-setuptools (>= 0.6c5) in depends.
+ * Updating to debhelper 7.
+ * Correcting indenting in copyright file.
+
+ -- Daniel Baumann <daniel@debian.org> Fri, 30 May 2008 16:56:00 +0200
+
+gitosis (0.2+20080419-1) unstable; urgency=medium
+
+ * Improving wording of the 0.2+20080319-2 entry in changelog file.
+ * Adding README.Debian file.
+ * Reordering rules file.
+ * Rewriting copyright file in machine-interpretable format.
+ * Adding vcs fields in control file.
+ * Updating package to debhelper 6.
+ * Merging upstream version 0.2+20080419.
+
+ -- Daniel Baumann <daniel@debian.org> Wed, 23 Apr 2008 01:02:00 +0200
+
+gitosis (0.2+20080319-3) unstable; urgency=medium
+
+ * Adjusting installation hack to python 2.5 (Closes: #477002).
+
+ -- Daniel Baumann <daniel@debian.org> Sun, 20 Apr 2008 17:59:00 +0200
+
+gitosis (0.2+20080319-2) unstable; urgency=high
+
+ * Up to now, gitosis was using /var/cache/git to store its repositories. The
+ reason for this was that by using the same directory as git-daemon itself,
+ there was no need to adjust the configuration of git-daemon to make the
+ git repositories available (read-only) through the git protocol publically.
+ By moving them to /var/cache/gitosis, you need to reconfigure your
+ git-daemon to export also repositories in this directory, otherwise the
+ repositories are not accessible for anyone except those which are configured
+ in gitosis-admin (Closes: #472343, #473574).
+ * Using versioned depends against git-core for etch-backports compatibility
+ (Closes: #473908).
+ * Re-adding python-setuptools to depends (Closes: #473022).
+
+ -- Daniel Baumann <daniel@debian.org> Mon, 7 Apr 2008 22:16:00 +0200
+
+gitosis (0.2+20080319-1) unstable; urgency=medium
+
+ * New upstream snapshot.
+ * Removed cruft from python-setuptools in /usr/bin (Closes: #470218).
+
+ -- Daniel Baumann <daniel@debian.org> Thu, 20 Mar 2008 14:15:00 +0100
+
+gitosis (0.2+20080219-1) unstable; urgency=low
+
+ * New upstream snapshot.
+ * Replacing depends to python-setuptools with python-pkg-resources
+ (Closes: #468731).
+
+ -- Daniel Baumann <daniel@debian.org> Fri, 7 Mar 2008 14:55:00 +0100
+
+gitosis (0.2+20080118-1) unstable; urgency=low
+
+ * Initial release.
+
+ -- Daniel Baumann <daniel@debian.org> Fri, 18 Jan 2008 11:13:00 +0100
-This package was debianized by Tommi Virtanen <tv@eagain.net> on
-Tue, 28 Aug 2007 21:32:22 -0700.
+Author: Tommi Virtanen <tv@eagain.net>
+Download: http://eagain.net/gitweb/?p=gitosis.git
-It was originally downloaded from http://eagain.net/software/gitosis/
+Files: *
+Copyright: (C) 2007-2008 Tommi Virtanen <tv@eagain.net>
+License: GPL-2+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ .
+ On Debian systems, the complete text of the GNU General Public License
+ can be found in /usr/share/common-licenses/GPL-2 file.
-Upstream Author: Tommi Virtanen <tv@eagain.net>
-
-Copyright:
-
- Gitosis -- git repository hosting application
- Copyright (C) 2007 Tommi Virtanen
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
-On Debian Linux systems, the complete text of the GNU General Public
-License can be found in '/usr/share/common-licenses/GPL'.
+Files: debian/*
+Copyright: 2008 Daniel Baumann <daniel@debian.org>
+License: GPL-2+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ .
+ On Debian systems, the complete text of the GNU General Public License
+ can be found in /usr/share/common-licenses/GPL-2 file.
--- /dev/null
+README.rst
+TODO.rst
--- /dev/null
+etc-event.d-local-git-daemon
+example.conf
+gitweb.conf
+lighttpd-gitweb.conf
--- /dev/null
+01-readme.dpatch
--- /dev/null
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 01-readme.dpatch by Daniel Baumann <daniel@debian.org>
+##
+## DP: Adjusts README to Debian commodities (Closes: #490230).
+
+@DPATCH@
+
+diff -Naurp gitosis.orig/README.rst gitosis/README.rst
+--- gitosis.orig/README.rst 2008-07-16 08:30:41.000000000 +0200
++++ gitosis/README.rst 2008-07-16 08:44:33.000000000 +0200
+@@ -38,7 +38,7 @@ Setting up
+ ==========
+
+ First, we will create the user that will own the repositories. This is
+-usually called ``git``, but any name will work, and you can have more
++usually called ``gitosis``, but any name will work, and you can have more
+ than one per system if you really want to. The user does not need a
+ password, but does need a valid shell (otherwise, SSH will refuse to
+ work). Don't use an existing account unless you know what you're
+@@ -51,11 +51,11 @@ domain). You may choose another location
+ sudo adduser \
+ --system \
+ --shell /bin/sh \
+- --gecos 'git version control' \
++ --gecos 'git repository hosting' \
+ --group \
+ --disabled-password \
+ --home /srv/example.com/git \
+- git
++ gitosis
+
+ This command is known to work in Debian and Ubuntu. Your mileage may
+ vary.
+@@ -73,10 +73,10 @@ the actual configuration file, and it wi
+ ``~/.ssh/authorized_keys`` with a ``command=`` option that restricts
+ it to running ``gitosis-serve``. Run::
+
+- sudo -H -u git gitosis-init <FILENAME.pub
++ sudo -H -u gitosis gitosis-init <FILENAME.pub
+ # (or just copy-paste the public key when prompted)
+
+-then just ``git clone git@SERVER:gitosis-admin.git``, and you get a
++then just ``git clone gitosis@SERVER:gitosis-admin.git``, and you get a
+ repository with SSH keys as ``keys/USER.pub`` and a ``gitosis.conf``
+ where you can configure who has access to what.
+
+@@ -122,7 +122,7 @@ it::
+ mkdir myproject
+ cd mypyroject
+ git init
+- git remote add myserver git@MYSERVER:myproject.git
++ git remote add myserver gitosis@MYSERVER:myproject.git
+ # do some work, git add and commit files
+ git push myserver master:refs/heads/master
+
--- /dev/null
+#!/bin/sh
+
+set -e
+
+case "${1}" in
+ configure)
+ adduser --system --home /srv/gitosis --shell /bin/sh --disabled-password --no-create-home --gecos 'git repository hosting' --group gitosis
+
+ if [ ! -d /srv/gitosis ]
+ then
+ mkdir -p /srv/gitosis
+ chown gitosis:gitosis /srv/gitosis -R
+ else
+ echo "gitosis directory (/srv/gitosis) is already existing."
+ echo "Make sure it's owned by the gitosis user account."
+ fi
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`${1}'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
--- /dev/null
+#!/bin/sh
+
+set -e
+
+case "${1}" in
+ remove)
+ if [ -x /usr/sbin/deluser ]
+ then
+ deluser --system gitosis
+ fi
+ ;;
+
+ purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+
+ ;;
+
+ *)
+ echo "postrm called with unknown argument \`${1}'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
#!/usr/bin/make -f
-# -*- mode: makefile; coding: utf-8 -*-
-
-ifeq ($(wildcard debian/control),)
-ifeq ($(DEB_AUTO_UPDATE_DEBIAN_CONTROL),)
-advice_about_control := yes
-endif
-endif
-
-ifeq ($(advice_about_control),yes)
-advice-on-debian-control %::
- @echo "It seems you are building from pristine source and"
- @echo "debian/control is missing. It will be autogenerated"
- @echo "if you say:"
- @echo
- @echo " ./debian/rules generate"
- @echo
- @exit 1
-else
-
-DEB_PYTHON_SYSTEM := pysupport
-
-include /usr/share/cdbs/1/rules/debhelper.mk
-include /usr/share/cdbs/1/class/python-distutils.mk
-
-clean::
- rm -rf dist gitosis.egg-info
-endif
-
-
-generate::
-# I wish this was atomic
- cp debian/control.in debian/control
- fakeroot env DEB_AUTO_UPDATE_DEBIAN_CONTROL=1 ./debian/rules clean
+
+include /usr/share/dpatch/dpatch.make
+
+DATE=$(shell date +%Y%m%d)
+VERSION=0.2
+
+upstream:
+ # Needs git-core
+
+ cd .. && \
+ git clone git://eagain.net/gitosis.git gitosis-$(VERSION)+$(DATE)
+
+ rm -rf ../gitosis-$(VERSION)+$(DATE)/debian
+ rm -rf ../gitosis-$(VERSION)+$(DATE)/.git
+ rm -f ../gitosis-$(VERSION)+$(DATE)/.gitignore
+
+ tar cfz ../gitosis_$(VERSION)+$(DATE).orig.tar.gz ../gitosis-$(VERSION)+$(DATE)
+
+clean: unpatch
+ dh_testdir
+ dh_testroot
+
+ python setup.py clean
+ rm -rf dist build gitosis.egg-info
+
+ dh_clean
+
+build:
+
+install: patch-stamp
+ dh_testdir
+ dh_testroot
+ dh_clean -k
+ dh_installdirs
+
+ mkdir -p debian/gitosis/usr/lib/python2.5/site-packages
+ PYTHONPATH=$(CURDIR)/debian/gitosis/usr/lib/python2.5/site-packages \
+ python setup.py install --prefix=$(CURDIR)/debian/gitosis/usr
+
+ rm -f debian/gitosis/usr/bin/easy_install* \
+ debian/gitosis/usr/lib/python2.5/site-packages/easy-install.pth \
+ debian/gitosis/usr/lib/python2.5/site-packages/setuptools.pth
+
+ chmod 0755 debian/gitosis/usr/lib/python*/site-packages/gitosis-*.egg/gitosis/templates/admin/hooks/post-update
+
+binary: binary-indep
+
+binary-arch:
+
+binary-indep: install
+ dh_testdir
+ dh_testroot
+ dh_installchangelogs
+ dh_installdocs
+ dh_installexamples
+ dh_pysupport
+ dh_compress
+ dh_fixperms
+ dh_installdeb
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+
+.PHONY: clean build install binary binary-arch binary-indep