Package: git-daemon-run,git-daemon-sysvinit Version: 1:1.7.9.1-1 Severity: important Justification: ยง2.5: "optional packages should not conflict with each other"
Hi, Either git-daemon-run or git-daemon-sysvinit needs to be of "Priority: extra". I realize the discussion leading to a choice of which one could potentially be painful, but this is what the policy says. How about something like this patch? debian/changelog | 32 ++++++++++++++++- debian/control | 48 +++++++++---------------- debian/examples/inetd.conf | 2 ++ debian/git-daemon-run.README.Debian | 31 ---------------- debian/git-daemon-run.conffiles | 2 -- debian/git-daemon-run.postinst | 21 ----------- debian/git-daemon-run.postrm | 20 ----------- debian/git-daemon-run.prerm | 7 ---- debian/git-daemon-sysvinit.README.Debian | 31 ---------------- debian/git-daemon-sysvinit.conffiles | 2 -- debian/git-daemon-sysvinit.postinst | 19 ---------- debian/git-daemon-sysvinit.postrm | 6 ---- debian/git-daemon-sysvinit.prerm | 13 ------- debian/git-daemon.README.Debian | 47 ++++++++++++++++++++++++ debian/git-daemon.conffiles | 4 +++ debian/git-daemon.default | 2 +- debian/git-daemon.examples | 1 + debian/git-daemon.init | 2 +- debian/git-daemon.postinst | 22 ++++++++++++ debian/git-daemon.postrm | 24 +++++++++++++ debian/git-daemon.prerm | 13 +++++++ debian/git-daemon.sv/log/run | 7 ++++ debian/git-daemon.sv/run | 6 ++++ debian/git-daemon/log/run | 7 ---- debian/git-daemon/run | 6 ---- debian/git.NEWS.Debian | 23 ++++++++++++ debian/git.README.Debian | 41 +++++++++++---------- debian/rules | 58 ++++++++++++++++-------------- 28 files changed, 252 insertions(+), 245 deletions(-) create mode 100644 debian/examples/inetd.conf delete mode 100644 debian/git-daemon-run.README.Debian delete mode 100644 debian/git-daemon-run.conffiles delete mode 100644 debian/git-daemon-run.postinst delete mode 100644 debian/git-daemon-run.postrm delete mode 100644 debian/git-daemon-run.prerm delete mode 100644 debian/git-daemon-sysvinit.README.Debian delete mode 100644 debian/git-daemon-sysvinit.conffiles delete mode 100644 debian/git-daemon-sysvinit.postinst delete mode 100644 debian/git-daemon-sysvinit.postrm delete mode 100644 debian/git-daemon-sysvinit.prerm create mode 100644 debian/git-daemon.README.Debian create mode 100644 debian/git-daemon.conffiles create mode 100644 debian/git-daemon.examples create mode 100644 debian/git-daemon.postinst create mode 100644 debian/git-daemon.postrm create mode 100644 debian/git-daemon.prerm create mode 100755 debian/git-daemon.sv/log/run create mode 100755 debian/git-daemon.sv/run delete mode 100755 debian/git-daemon/log/run delete mode 100755 debian/git-daemon/run diff --git a/debian/changelog b/debian/changelog index ffc5d34e..3d0784cf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -git (1:1.7.9.2-0.1) unstable; urgency=low +git (1:1.7.9.2-0.1) experimental; urgency=low * new upstream point release. * commit: skip intent-to-add entries instead of erroring out. @@ -9,6 +9,36 @@ git (1:1.7.9.2-0.1) unstable; urgency=low the command line instead of uninitialized memory. * checkout -b: allow switching out of an unborn branch (closes: #506480). + * move git-daemon to a separate package and consolidate git:// service + configuration there. + * debian/control: new package git-daemon. Suggests: runit | inetd; + Conflicts and Replaces: git-daemon-run, git-daemon-sysvinit; + Breaks and Replaces: git (<< 1:1.7.9.2-0.1). Package git + Recommends and git-all Depends: git-daemon. + * debian/control, debian/git-daemon-*, debian/rules: eliminate + git-daemon-run and git-daemon-sysvinit packages. + * debian/git-daemon, debian/rules: rename debian/git-daemon/ to + debian/git-daemon.sv/. + * debian/rules: install /usr/lib/git-core/git-daemon, runit service, + and init script to git-daemon package; don't include + /usr/lib/git-core/git-daemon in the git package; install + /etc/init.d/git-daemon with mode 644, not 755. + * debian/git.README.Debian, debian/git-daemon.README.Debian: explain + how to enable git:// access with runit, sysvinit, or inetd. + * debian/examples/inetd.conf: new; example inetd.conf snippet for + git-daemon. + * debian/git-daemon.init: use presence of git-daemon binary + instead of sentinel file to check if the package is installed. + * debian/git-daemon.postinst: new; start or restart git-daemon + runit service if the user enabled it with "update-service --add + git-daemon"; start or restart git-daemon sysvinit service if the + user enabled it with "chmod +x /etc/init.d/git-daemon". + * debian/git-daemon.prerm: new; disable git-daemon service when + appropriate if enabled. + * debian/git-daemon.postrm: new; remove: remove rc.d symlinks to + cleanly remove sysvinit service; purge: down runit service, + remove its logs, and remove the gitlog user. + * debian/git.NEWS.Debian: advertise this change. -- Jonathan Nieder <jrnie...@gmail.com> Wed, 22 Feb 2012 22:52:20 -0600 diff --git a/debian/control b/debian/control index 21b77456..fb105754 100644 --- a/debian/control +++ b/debian/control @@ -21,8 +21,8 @@ Architecture: any Depends: ${shlibs:Depends}, perl-modules, liberror-perl, git-man (>> ${source:Upstream-Version}), git-man (<< ${source:Upstream-Version}-.), libc6.1 (>= 2.10.2-6) [ia64] -Recommends: patch, less, rsync, ssh-client -Suggests: git-daemon-run | git-daemon-sysvinit, +Recommends: git-daemon, patch, less, rsync, ssh-client +Suggests: git-doc, git-el, git-arch, git-cvs, git-svn, git-email, git-gui, gitk, gitweb Replaces: gitweb (<< 1:1.7.4~rc1), cogito (<< 0.16rc2-0), git-core (<< 1:1.7.0.4-1.) @@ -181,10 +181,15 @@ Description: fast, scalable, distributed revision control system (email add-on) This package provides the git-send-email program for sending series of patch emails. -Package: git-daemon-run -Architecture: all -Depends: git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), runit (>= 1.8.0-2), adduser -Conflicts: git-daemon-sysvinit +Package: git-daemon +Architecture: any +Depends: ${shlibs:Depends}, + git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), + adduser +Suggests: runit (>= 1.8.0-2) | inet-superserver +Conflicts: git-daemon-run, git-daemon-sysvinit +Breaks: git (<< 1:1.7.9.2-0.1) +Replaces: git-daemon-run, git-daemon-sysvinit, git (<< 1:1.7.9.2-0.1) Description: fast, scalable, distributed revision control system (git-daemon service) Git is popular version control system designed to handle very large projects with speed and efficiency; it is used for many high profile @@ -195,29 +200,10 @@ Description: fast, scalable, distributed revision control system (git-daemon ser revision tracking capabilities, not dependent on network access or a central server. . - git-daemon, as provided by the git package, is a simple server for git - repositories, ideally suited for read-only updates, i.e. pulling from git - repositories through the network. This package provides a runit service - for running git-daemon permanently. - -Package: git-daemon-sysvinit -Architecture: all -Depends: git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), adduser -Conflicts: git-daemon-run -Description: fast, scalable, distributed revision control system (git-daemon service) - Git is popular version control system designed to handle very large - projects with speed and efficiency; it is used for many high profile - open source projects, most notably the Linux kernel. - . - Git falls in the category of distributed source code management tools. - Every Git working directory is a full-fledged repository with full - revision tracking capabilities, not dependent on network access or a - central server. - . - git-daemon, as provided by the git package, is a simple server for git - repositories, ideally suited for read-only updates, i.e. pulling from git - repositories through the network. This package provides a sysvinit service - for running git-daemon permanently. + This package provides a simple server for git repositories, ideally + suited for read-only updates, i.e. pulling from git repositories + through the network. It can be used as a runit service, as a sysvinit + service, or through inetd. Package: git-gui Architecture: all @@ -317,8 +303,8 @@ Description: fast, scalable, distributed revision control system (web interface) Package: git-all Architecture: all Depends: git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), - git-doc, git-el, git-arch, git-cvs, git-svn, git-email, git-gui, gitk, gitweb -Recommends: git-daemon-run | git-daemon-sysvinit + git-doc, git-el, git-arch, git-cvs, git-svn, git-email, git-gui, gitk, gitweb, + git-daemon Description: fast, scalable, distributed revision control system (all subpackages) Git is popular version control system designed to handle very large projects with speed and efficiency; it is used for many high profile diff --git a/debian/examples/inetd.conf b/debian/examples/inetd.conf new file mode 100644 index 00000000..a73c92cb --- /dev/null +++ b/debian/examples/inetd.conf @@ -0,0 +1,2 @@ +git stream tcp4 nowait nobody /usr/bin/git git daemon --inetd --base-path=/srv/git +git stream tcp6 nowait nobody /usr/bin/git git daemon --inetd --base-path=/srv/git diff --git a/debian/git-daemon-run.README.Debian b/debian/git-daemon-run.README.Debian deleted file mode 100644 index 943096aa..00000000 --- a/debian/git-daemon-run.README.Debian +++ /dev/null @@ -1,31 +0,0 @@ -git-daemon-run for Debian -------------------------- - -This package enables a git-daemon service. This allows people to use a -git:// URL to access your repositories. - -After installing this package, wait five seconds for the git-daemon -service to be picked up by runit, and check its status and logs: - - sv stat git-daemon - cat /var/log/git-daemon/current - -See the sv(8) program on how to manage the service, or, alternatively, -create a symbolic link /etc/init.d/git-daemon pointing to /usr/bin/sv to -have an LSB compatible interface to control it: - - ln -s /usr/bin/sv /etc/init.d/git-daemon - /etc/init.d/git-daemon status - -The git daemon by default looks into the directory /var/cache/git/ for -repositories (this is configured in /etc/sv/git-daemon/run). It expects -the repositories' .git subdirectories in that directory, symlinks -pointing to the corresponding subdirectories in the repositories are just -fine, e.g.: - - ln -s ~pape/git/foo/.git /var/cache/git/foo.git - -This makes 'git-clone git://git.example.org/git/foo' to clone the foo -repository on remote machines work. - - -- Gerrit Pape <p...@smarden.org> Sun, 03 Jun 2007 09:51:53 +0000 diff --git a/debian/git-daemon-run.conffiles b/debian/git-daemon-run.conffiles deleted file mode 100644 index 1278a069..00000000 --- a/debian/git-daemon-run.conffiles +++ /dev/null @@ -1,2 +0,0 @@ -/etc/sv/git-daemon/run -/etc/sv/git-daemon/log/run diff --git a/debian/git-daemon-run.postinst b/debian/git-daemon-run.postinst deleted file mode 100644 index 8994c615..00000000 --- a/debian/git-daemon-run.postinst +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -set -e - -test "$1" = 'configure' || exit 0 - -getent passwd gitlog >/dev/null || \ - adduser --system --home /nonexistent --no-create-home gitlog -getent passwd gitdaemon >/dev/null || \ - adduser --system --home /nonexistent --no-create-home gitdaemon - -test -z "$2" || dpkg --compare-versions "$2" gt '1:1.5.4.2-1' || { - update-service --remove /etc/sv/git-daemon 2>/dev/null || : - sleep 6 - set "$1" -} - -# enable git-daemon service -update-service --add /etc/sv/git-daemon - -# restart git-daemon service if it was running -test -z "$2" || sv -v term git-daemon || : diff --git a/debian/git-daemon-run.postrm b/debian/git-daemon-run.postrm deleted file mode 100644 index 09c9bfd5..00000000 --- a/debian/git-daemon-run.postrm +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -set -e - -test "$1" = 'purge' || exit 0 - -sv down /etc/sv/git-daemon 2>/dev/null || : -sv down /etc/sv/git-daemon/log 2>/dev/null || : -sv force-shutdown /etc/sv/git-daemon 2>/dev/null || : -sv force-stop /etc/sv/git-daemon/log 2>/dev/null || : -rm -rf /etc/sv/git-daemon/supervise /etc/sv/git-daemon/log/supervise -rm -rf /var/lib/supervise/git-daemon /var/lib/supervise/git-daemon.log - -for i in '@*' current config lock state; do - rm -f /var/log/git-daemon/$i -done -rmdir /var/log/git-daemon || : - -getent passwd gitlog >/dev/null || exit 0 -! deluser --version >/dev/null 2>&1 || exec deluser -f gitlog -echo 'deluser program not available, not removing system user "gitlog".' >&2 diff --git a/debian/git-daemon-run.prerm b/debian/git-daemon-run.prerm deleted file mode 100644 index 41f7561f..00000000 --- a/debian/git-daemon-run.prerm +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -set -e - -test "$1" = 'remove' || test "$1" = 'deconfigure' || \ - test "$1" = 'failed-upgrade' || exit 0 - -update-service --remove /etc/sv/git-daemon || : diff --git a/debian/git-daemon-sysvinit.README.Debian b/debian/git-daemon-sysvinit.README.Debian deleted file mode 100644 index 320d7001..00000000 --- a/debian/git-daemon-sysvinit.README.Debian +++ /dev/null @@ -1,31 +0,0 @@ -git-daemon-sysvinit for Debian ------------------------------- - -This package enables a git-daemon service. This allows people to use a -git:// URL to access your repositories. - -After installing this package, the daemon needs to be enabled in -/etc/default/git-daemon by setting: - - GIT_DAEMON_ENABLE=false - -to: - - GIT_DAEMON_ENABLE=true - -After that, the git daemon can be started with: - - # /etc/init.d/git-daemon start - -The git daemon by default looks into the directory /var/cache/git/ for -repositories (this is configured in /etc/default/git-daemon). It expects -the repositories' .git subdirectories in that directory, symlinks -pointing to the corresponding subdirectories in the repositories are just -fine, e.g.: - - ln -s ~daniel/git/foo/.git /var/cache/git/foo.git - -This makes 'git-clone git://git.example.org/git/foo' to clone the foo -repository on remote machines work. - - -- Daniel Baumann <dan...@debian.org> Tue, 19 Oct 2010 00:54:58 +0200 diff --git a/debian/git-daemon-sysvinit.conffiles b/debian/git-daemon-sysvinit.conffiles deleted file mode 100644 index c626099a..00000000 --- a/debian/git-daemon-sysvinit.conffiles +++ /dev/null @@ -1,2 +0,0 @@ -/etc/default/git-daemon -/etc/init.d/git-daemon diff --git a/debian/git-daemon-sysvinit.postinst b/debian/git-daemon-sysvinit.postinst deleted file mode 100644 index d186c68f..00000000 --- a/debian/git-daemon-sysvinit.postinst +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -set -e - -test "$1" = 'configure' || exit 0 - -getent passwd gitdaemon >/dev/null || \ - adduser --system --home /nonexistent --no-create-home gitdaemon - -if [ -x "/etc/init.d/git-daemon" ]; then - # enable git-daemon service - update-rc.d git-daemon defaults >/dev/null - - # restart git-daemon service if it was running - if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then - invoke-rc.d git-daemon start || exit $? - else - /etc/init.d/git-daemon start || exit $? - fi -fi diff --git a/debian/git-daemon-sysvinit.postrm b/debian/git-daemon-sysvinit.postrm deleted file mode 100644 index f195c2cf..00000000 --- a/debian/git-daemon-sysvinit.postrm +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -set -e - -test "$1" = 'remove' || exit 0 - -update-rc.d git-daemon remove >/dev/null diff --git a/debian/git-daemon-sysvinit.prerm b/debian/git-daemon-sysvinit.prerm deleted file mode 100644 index c9a6a6a8..00000000 --- a/debian/git-daemon-sysvinit.prerm +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -set -e - -test "$1" = 'remove' || test "$1" = 'deconfigure' || \ - test "$1" = 'failed-upgrade' || exit 0 - -if [ -x "/etc/init.d/git-daemon" ]; then - if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then - invoke-rc.d git-daemon stop || exit $? - else - /etc/init.d/git-daemon stop || exit $? - fi -fi diff --git a/debian/git-daemon.README.Debian b/debian/git-daemon.README.Debian new file mode 100644 index 00000000..4f909632 --- /dev/null +++ b/debian/git-daemon.README.Debian @@ -0,0 +1,47 @@ +git daemon for Debian +--------------------- + +This document explains how to enable a git-daemon service, allowing +people to use a git:// URL to access your repositories. There are +three methods. + +1. To enable git-daemon as a supervised service, install the runit +package, run + + update-service --add /etc/sv/git-daemon + +wait five seconds for the git-daemon service to be picked up, and +check its status and logs: + + sv stat git-daemon + cat /var/log/git-daemon/current + +See the sv(8) program on how to manage the service. + +2. To enable git-daemon as a sysvinit service, run + + chmod +x /etc/init.d/git-daemon + dpkg-reconfigure git-daemon + +Logs go to syslog. See the service(8) command to manage the service. + +3. To configure inetd(8) to launch a git-daemon on demand, run + + cat >>/etc/inetd.conf <<EOF +git stream tcp4 nowait nobody /usr/bin/git git daemon --inetd --base-path=/srv/git +git stream tcp6 nowait nobody /usr/bin/git git daemon --inetd --base-path=/srv/git +EOF + +The git daemon by default looks into the directory /var/cache/git/ for +repositories (this is configured in /etc/sv/git-daemon/run, +/etc/default/git-daemon, or /etc/inetd.conf, respectively). It expects +the repositories' .git subdirectories in that directory. Symlinks +pointing to the corresponding subdirectories in the repositories are just +fine, e.g.: + + ln -s ~pape/git/foo/.git /var/cache/git/foo.git + +This makes 'git clone git://git.example.org/git/foo' to clone the foo +repository on remote machines work. + + -- Jonathan Nieder <jrnie...@gmail.com> Sun, 26 Feb 2012 00:06:10 -0600 diff --git a/debian/git-daemon.conffiles b/debian/git-daemon.conffiles new file mode 100644 index 00000000..dcb18094 --- /dev/null +++ b/debian/git-daemon.conffiles @@ -0,0 +1,4 @@ +/etc/sv/git-daemon/run +/etc/sv/git-daemon/log/run +/etc/init.d/git-daemon +/etc/default/git-daemon diff --git a/debian/git-daemon.default b/debian/git-daemon.default index 20208055..9104e338 100644 --- a/debian/git-daemon.default +++ b/debian/git-daemon.default @@ -6,7 +6,7 @@ # This is a POSIX shell fragment # -GIT_DAEMON_ENABLE=false +GIT_DAEMON_ENABLE=true GIT_DAEMON_USER=gitdaemon GIT_DAEMON_DIRECTORY=/var/cache/git diff --git a/debian/git-daemon.examples b/debian/git-daemon.examples new file mode 100644 index 00000000..f20ecb78 --- /dev/null +++ b/debian/git-daemon.examples @@ -0,0 +1 @@ +debian/examples/inetd.conf diff --git a/debian/git-daemon.init b/debian/git-daemon.init index 0e97c431..a1ecbde1 100644 --- a/debian/git-daemon.init +++ b/debian/git-daemon.init @@ -20,7 +20,7 @@ PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME # Exit if the package is not installed -[ -e /usr/share/git-core/sysvinit/sentinel ] || exit 0 +[ -x $DAEMON ] || exit 0 # Read configuration variable file if it is present [ -r /etc/default/$NAME ] && . /etc/default/$NAME diff --git a/debian/git-daemon.postinst b/debian/git-daemon.postinst new file mode 100644 index 00000000..e0118c57 --- /dev/null +++ b/debian/git-daemon.postinst @@ -0,0 +1,22 @@ +#!/bin/sh +set -e + +test "$1" = 'configure' || exit 0 + +getent passwd gitlog >/dev/null || \ + adduser --system --home /nonexistent --no-create-home gitlog +getent passwd gitdaemon >/dev/null || \ + adduser --system --home /nonexistent --no-create-home gitdaemon + +if test -e /etc/service/git-daemon; then + # supervised git-daemon service enabled + # restart it if it was running + test -z "$2" || sv -v term git-daemon || : +fi + +if test -x /etc/init.d/git-daemon; then + # init script enabled + # set runlevels, and restart it if it was running + update-rc.d git-daemon defaults + invoke-rc.d git-daemon restart +fi diff --git a/debian/git-daemon.postrm b/debian/git-daemon.postrm new file mode 100644 index 00000000..2c41b7a4 --- /dev/null +++ b/debian/git-daemon.postrm @@ -0,0 +1,24 @@ +#!/bin/sh +set -e + +test "$1" = purge || exit 0 + +update-rc.d git-daemon remove >/dev/null + +if test -e /etc/sv/git-daemon; then + sv down /etc/sv/git-daemon 2>/dev/null || : + sv down /etc/sv/git-daemon/log 2>/dev/null || : + sv force-shutdown /etc/sv/git-daemon 2>/dev/null || : + sv force-stop /etc/sv/git-daemon/log 2>/dev/null || : +fi +rm -rf /etc/sv/git-daemon/supervise /etc/sv/git-daemon/log/supervise +rm -rf /var/lib/supervise/git-daemon /var/lib/supervise/git-daemon.log + +for i in '@*' current config lock state; do + rm -f /var/log/git-daemon/$i +done +! test -e /var/log/git-daemon || rmdir /var/log/git-daemon || : + +getent passwd gitlog >/dev/null || exit 0 +! deluser --version >/dev/null 2>&1 || exec deluser -f gitlog +echo 'deluser program not available, not removing system user "gitlog".' >&2 diff --git a/debian/git-daemon.prerm b/debian/git-daemon.prerm new file mode 100644 index 00000000..772818b7 --- /dev/null +++ b/debian/git-daemon.prerm @@ -0,0 +1,13 @@ +#!/bin/sh +set -e + +test "$1" = 'remove' || test "$1" = 'deconfigure' || + test "$1" = 'failed-upgrade' || exit 0 + +if test -e /etc/service/git-daemon; then + update-service --remove /etc/sv/git-daemon +fi + +if test -x /etc/init.d/git-daemon; then + invoke-rc.d git-daemon stop +fi diff --git a/debian/git-daemon.sv/log/run b/debian/git-daemon.sv/log/run new file mode 100755 index 00000000..eed4ed7e --- /dev/null +++ b/debian/git-daemon.sv/log/run @@ -0,0 +1,7 @@ +#!/bin/sh +set -e + +LOG=/var/log/git-daemon + +test -d "$LOG" || mkdir -p -m2750 "$LOG" && chown gitlog:adm "$LOG" +exec chpst -ugitlog svlogd -tt "$LOG" diff --git a/debian/git-daemon.sv/run b/debian/git-daemon.sv/run new file mode 100755 index 00000000..ef24724b --- /dev/null +++ b/debian/git-daemon.sv/run @@ -0,0 +1,6 @@ +#!/bin/sh +exec 2>&1 +echo 'git-daemon starting.' +exec chpst -ugitdaemon \ + "$(git --exec-path)"/git-daemon --verbose --reuseaddr \ + --base-path=/var/cache /var/cache/git diff --git a/debian/git-daemon/log/run b/debian/git-daemon/log/run deleted file mode 100755 index eed4ed7e..00000000 --- a/debian/git-daemon/log/run +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -set -e - -LOG=/var/log/git-daemon - -test -d "$LOG" || mkdir -p -m2750 "$LOG" && chown gitlog:adm "$LOG" -exec chpst -ugitlog svlogd -tt "$LOG" diff --git a/debian/git-daemon/run b/debian/git-daemon/run deleted file mode 100755 index ef24724b..00000000 --- a/debian/git-daemon/run +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -exec 2>&1 -echo 'git-daemon starting.' -exec chpst -ugitdaemon \ - "$(git --exec-path)"/git-daemon --verbose --reuseaddr \ - --base-path=/var/cache /var/cache/git diff --git a/debian/git.NEWS.Debian b/debian/git.NEWS.Debian index e7341d69..90aa9601 100644 --- a/debian/git.NEWS.Debian +++ b/debian/git.NEWS.Debian @@ -1,3 +1,26 @@ +git (1:1.7.9.2-0.1) experimental; urgency=low + + The git daemon has been moved to the new git-daemon package, which + conflicts with and replaces git-daemon-run and git-daemon-sysvinit. + If you were using git-daemon-run or git-daemon-sysvinit before, you + may need to re-enable the service. + + For git-daemon-run: + + # update-service --add /etc/sv/git-daemon + + For git-daemon-sysvinit: + + # chmod +x /etc/init.d/git-daemon + # dpkg-reconfigure git-daemon + + You may also want to mark the daemon as manually installed if you are + using it. + + # apt-mark manual git-daemon + + -- Jonathan Nieder <jrnie...@gmail.com> Sat, 25 Feb 2012 23:47:53 -0600 + git (1:1.7.0.4-2~exp0) experimental; urgency=low The Debian package 'git-core' has been renamed to 'git'. Before diff --git a/debian/git.README.Debian b/debian/git.README.Debian index 101d086c..adf5704f 100644 --- a/debian/git.README.Debian +++ b/debian/git.README.Debian @@ -4,32 +4,34 @@ Git for Debian When setting up a git.example.org server, there are several things to configure to make everything work nicely together. All this is optional. -1. Run a git-daemon. This allows people to use a git:// URL to access your -repositories. This package provides the git-daemon program, to enable a -git-daemon service, configure inetd(8) to launch it on demand, or install the -git-daemon-run package to run it permanently: - cat >> /etc/inetd.conf <<EOF -git stream tcp4 nowait nobody /usr/bin/git git daemon --inetd --base-path=/srv/git -git stream tcp6 nowait nobody /usr/bin/git git daemon --inetd --base-path=/srv/git -EOF +1. Run a git-daemon. This allows people to use a git:// URL to access +your repositories. Install the git-daemon package: -Or: - apt-get install git-daemon-run + apt-get install git-daemon -Wait five seconds for the service to be picked up, and check its status and -logs: +Run one of: - sv stat git-daemon - cat /var/log/git-daemon/current + # supervised service + apt-get install runit + update-service --add /etc/sv/git-daemon + + # sysvinit service + chmod +x /etc/init.d/git-daemon + dpkg-reconfigure git-daemon + + # launch git-daemon on demand + apt-get install openbsd-inetd + cat /usr/share/doc/git-daemon/examples/inetd.conf >>/etc/inetd.conf The git daemon by default looks into the directory /var/cache/git/ for -repositories (this is configured in /etc/sv/git-daemon/run). It expects -the repositories' .git subdirectories in /var/cache/git/, symlinks pointing +repositories (this is configured in /etc/sv/git-daemon/run, +/etc/default/git-daemon, or /etc/inetd.conf, respectively). It expects +the repositories' .git subdirectories in /var/cache/git/. Symlinks pointing to the corresponding subdirectories in the repositories are just fine, e.g.: ln -s ~pape/git/foo/.git /var/cache/git/foo.git -Now git-clone git://git.example.org/git/repo will work. +Now 'git clone git://git.example.org/git/repo' will work. 2. Install rsync. This allows people to use rsync:// URLs to access your repositories. You then need to add a stanza to /etc/rsyncd.conf that looks @@ -39,7 +41,7 @@ like this: path = /var/cache/git readonly = yes -Now git-clone rsync://git.example.org/git/repo will work. +Now 'git clone rsync://git.example.org/git/repo' will work. 3. Configure a web server for git. This allows people to use a http:// URL to access your repositories. @@ -62,8 +64,9 @@ configuration that looks like this: RedirectMatch permanent "^/~(.*)$" "http://example.org/~$1" </VirtualHost> -Now git clone http://git.example.org/git/repo will work. And if you +Now 'git clone http://git.example.org/git/repo' will work. And if you installed the gitweb package, http://git.example.org/ now will display a list of repositories, making them accessible through a web browser. -- Gerrit Pape <p...@smarden.org> Fri, 15 Sep 2006 09:19:37 +0000 +updated by Jonathan Nieder <jrnie...@gmail.com> Sun, 26 Feb 2012 00:06:41 -0600 diff --git a/debian/rules b/debian/rules index 4894bf89..ac1f0291 100755 --- a/debian/rules +++ b/debian/rules @@ -70,22 +70,42 @@ clean: deb-checkdir rm -f patch-stamp build-arch-stamp build-indep-stamp rm -rf '$(GIT)' '$(GIT)'-doc '$(GIT)'-arch '$(GIT)'-cvs rm -rf '$(GIT)'-svn '$(GIT)'-email '$(GIT)'-el - rm -rf '$(GIT)'-daemon-run '$(GIT)'-daemon-sysvinit '$(GIT)'-gui + rm -rf '$(GIT)'-daemon '$(GIT)'-gui rm -rf '$(GIT)'k '$(GIT)'web '$(GIT)'-all '$(GIT)'-man '$(GIT)'-core rm -f debian/files debian/substvars changelog install: install-arch install-indep install-arch: deb-checkdir deb-checkuid build-arch-stamp + rm -rf '$(TMP)' + install -d -m0755 '$(TMP)'/usr/bin + DESTDIR='$(TMP)' $(MAKE) install $(OPTS) + # git-daemon + rm -rf '$(GIT)'-daemon + install -d -m0755 '$(GIT)'-daemon/usr/lib/git-core + install -m0755 '$(TMP)'/usr/lib/git-core/git-daemon \ + '$(GIT)'-daemon/usr/lib/git-core + # runit service + install -d -m0755 '$(GIT)'-daemon/etc/sv/git-daemon/log + install -m0755 debian/git-daemon.sv/run \ + '$(GIT)'-daemon/etc/sv/git-daemon/run + install -m0755 debian/git-daemon.sv/log/run \ + '$(GIT)'-daemon/etc/sv/git-daemon/log/run + # sysv-style init script + install -d -m0755 '$(GIT)'-daemon/etc/init.d + install -m0644 debian/git-daemon.init \ + '$(GIT)'-daemon/etc/init.d/git-daemon + install -d -m0755 '$(GIT)'-daemon/etc/default + install -m0644 debian/git-daemon.default \ + '$(GIT)'-daemon/etc/default/git-daemon # git rm -rf '$(GIT)' - install -d -m0755 '$(GIT)'/usr/bin - DESTDIR='$(GIT)' $(MAKE) install $(OPTS) + cp -a '$(TMP)' '$(GIT)' install -d -m0755 '$(GIT)'/var/cache/git rm -f '$(GIT)'/usr/share/perl5/Error.pm rm -rf '$(GIT)'/usr/share/man chmod 644 '$(GIT)'/usr/share/perl5/Git.pm - # don't include arch, cvs, svn, email, gui tools, and gitk program - for i in git-archimport git-cvs git-svn git-send-email \ + # don't include arch, cvs, daemon, svn, email, gui tools, and gitk program + for i in git-archimport git-cvs git-daemon git-svn git-send-email \ git-gui git-citool; do \ rm -f '$(GIT)'/usr/lib/git-core/$$i*; \ done @@ -192,25 +212,6 @@ install-indep-real: build-arch-stamp build-indep-stamp install -m0644 '$(TMP)'/usr/share/man/man1/git-send-email.1 \ '$(GIT)'-email/usr/share/man/man1/ gzip -9 '$(GIT)'-email/usr/share/man/man1/*.1 - # git-daemon-run - rm -rf '$(GIT)'-daemon-run - install -d -m0755 '$(GIT)'-daemon-run/etc/sv/git-daemon/log - install -m0755 debian/git-daemon/run \ - '$(GIT)'-daemon-run/etc/sv/git-daemon/run - install -m0755 debian/git-daemon/log/run \ - '$(GIT)'-daemon-run/etc/sv/git-daemon/log/run - # git-daemon-sysvinit - rm -rf '$(GIT)'-daemon-sysvinit - install -d -m0755 '$(GIT)'-daemon-sysvinit/etc/init.d - install -m0755 debian/git-daemon.init \ - '$(GIT)'-daemon-sysvinit/etc/init.d/git-daemon - install -d -m0755 '$(GIT)'-daemon-sysvinit/etc/default - install -m0644 debian/git-daemon.default \ - '$(GIT)'-daemon-sysvinit/etc/default/git-daemon - install -d -m0755 '$(GIT)'-daemon-sysvinit/usr/share/git-core/sysvinit - >'$(GIT)'-daemon-sysvinit/usr/share/git-core/sysvinit/sentinel - chmod 0644 \ - '$(GIT)'-daemon-sysvinit/usr/share/git-core/sysvinit/sentinel # git-el rm -rf '$(GIT)'-el install -m0644 -D debian/git-el.emacsen-startup \ @@ -279,17 +280,20 @@ install-indep-real: build-arch-stamp build-indep-stamp test -r changelog || ln -s debian/changelog.upstream changelog binary: binary-arch binary-indep -binary-arch: install-arch git.deb +binary-arch: install-arch git.deb git-daemon.deb rm -f debian/substvars dpkg-shlibdeps '$(GIT)'/usr/bin/* '$(GIT)'/usr/lib/git-core/* dpkg-gencontrol -isp -pgit -P'$(GIT)' dpkg -b '$(GIT)' .. + rm -f debian/substvars + dpkg-shlibdeps '$(GIT)'-daemon/usr/lib/git-core/git-daemon + dpkg-gencontrol -isp -pgit-daemon -P'$(GIT)'-daemon + dpkg -b '$(GIT)'-daemon .. binary-indep: install-indep git-doc.deb git-arch.deb git-cvs.deb git-svn.deb \ - git-daemon-run.deb git-daemon-sysvinit.deb \ git-email.deb git-gui.deb gitk.deb gitweb.deb \ git-all.deb git-el.deb git-man.deb git-core.deb-DEBIAN rm -f debian/substvars - for i in -doc -arch -cvs -svn -daemon-run -daemon-sysvinit \ + for i in -doc -arch -cvs -svn \ -email -gui k web -all -core -el -man; do \ dpkg-gencontrol -isp -pgit$$i -P'$(GIT)'$$i && \ dpkg -b '$(GIT)'$$i .. || exit 1; \ -- 1.7.9.2 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org