Add files from the Debian packaging
authorSteve McIntyre <smcintyre@aminocom.com>
Wed, 21 Oct 2009 12:39:40 +0000 (13:39 +0100)
committerSteve McIntyre <smcintyre@aminocom.com>
Wed, 21 Oct 2009 12:39:40 +0000 (13:39 +0100)
It makes sense to keep these in git, alongside the code

debian/README.Debian [new file with mode: 0644]
debian/changelog
debian/compat
debian/copyright
debian/docs [new file with mode: 0644]
debian/examples [new file with mode: 0644]
debian/patches/00list [new file with mode: 0644]
debian/patches/01-readme.dpatch [new file with mode: 0755]
debian/postinst [new file with mode: 0644]
debian/postrm [new file with mode: 0644]
debian/rules

diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644 (file)
index 0000000..e5e20bc
--- /dev/null
@@ -0,0 +1,17 @@
+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
index 2b38c35..84a6851 100644 (file)
-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
index 7ed6ff8..7f8f011 100644 (file)
@@ -1 +1 @@
-5
+7
index 791827d..6ae472e 100644 (file)
@@ -1,24 +1,42 @@
-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.
diff --git a/debian/docs b/debian/docs
new file mode 100644 (file)
index 0000000..4306958
--- /dev/null
@@ -0,0 +1,2 @@
+README.rst
+TODO.rst
diff --git a/debian/examples b/debian/examples
new file mode 100644 (file)
index 0000000..6befe8a
--- /dev/null
@@ -0,0 +1,4 @@
+etc-event.d-local-git-daemon
+example.conf
+gitweb.conf
+lighttpd-gitweb.conf
diff --git a/debian/patches/00list b/debian/patches/00list
new file mode 100644 (file)
index 0000000..0c3f3da
--- /dev/null
@@ -0,0 +1 @@
+01-readme.dpatch
diff --git a/debian/patches/01-readme.dpatch b/debian/patches/01-readme.dpatch
new file mode 100755 (executable)
index 0000000..e340afd
--- /dev/null
@@ -0,0 +1,55 @@
+#!/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
diff --git a/debian/postinst b/debian/postinst
new file mode 100644 (file)
index 0000000..3bedf07
--- /dev/null
@@ -0,0 +1,31 @@
+#!/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
diff --git a/debian/postrm b/debian/postrm
new file mode 100644 (file)
index 0000000..002823c
--- /dev/null
@@ -0,0 +1,25 @@
+#!/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
index 0a0a647..a05c07a 100755 (executable)
@@ -1,34 +1,65 @@
 #!/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