On Wed, Jul 26, 2006 at 10:55:14AM -0600, Matthew Wilcox wrote:
> Package: git
> Version: 4.3.20-8
> Severity: serious

First, for those who aren't overwhelmed with the quality of
Matthew's report, what this bug is about:

git-core (Linus Torvalds' SCM) wants to ship /usr/bin/git, which was
historically in git (GNU Interactive Tools), and was some sort of
file manager.

The situation was solved by making /usr/bin/git an alternative and
both git and git-core registering for that, git (the file manager)
having the higher priority.

This was planned to last for the etch time-frame to give users that
relied on git more time to upgrade. git-core should take the file
over post-etch.

> Justification: Policy 10.1

Since that violates policy, the removal of /usr/bin/git
is documented in git's NEWS.Debian and git's popcon count
is somewhere at 190, I think the easiest solution is to just kill
the alternatives and let git-core have the file.

I've written a patch that does this, however it requires
re-autoconfing the source tree, and the package failed to build
thereafter (autoconf & automake1.9 from sid).

I tried to fix it, however after hitting one error after another I
got a bit fed up. So I'm posting the patch here if others want to
pick it up.

If somebody does an NMU please remember to adjust the version in
debian/NEWS.

Cheers,
Christian Aichinger
diff -Nur git-4.3.20.orig/debian/NEWS git-4.3.20/debian/NEWS
--- git-4.3.20.orig/debian/NEWS 2006-07-27 18:31:41.000000000 +0200
+++ git-4.3.20/debian/NEWS      2006-07-27 18:41:39.000000000 +0200
@@ -1,3 +1,13 @@
+git (4.3.20-10) unstable; urgency=medium
+  
+  * The alternative for /usr/bin/git introduced in 4.3.20-8 (see below) had to
+    be removed again, since this violated the Debian policy.
+
+    So now /usr/bin/git is gone from the git package and solely belongs to
+    git-core.
+
+ -- Christian Aichinger <[EMAIL PROTECTED]>  Thu, 27 Jul 2006 18:33:50 +0200
+
 git (4.3.20-8) unstable; urgency=low
 
   * git, the filemanager with GNU Interactive Tools, is now called gitfm.
diff -Nur git-4.3.20.orig/debian/postinst git-4.3.20/debian/postinst
--- git-4.3.20.orig/debian/postinst     2006-07-27 18:31:41.000000000 +0200
+++ git-4.3.20/debian/postinst  2006-07-27 18:31:56.000000000 +0200
@@ -1,9 +1,6 @@
 #!/bin/sh
 set -e
 
-update-alternatives --install /usr/bin/git git /usr/bin/git.transition 90 \
-  --slave /usr/share/man/man1/git.1.gz git.1.gz 
/usr/share/man/man1/git.transition.1.gz
-
 install-info --quiet --section "General commands" "General commands" \
        /usr/share/info/git.info.gz
 
diff -Nur git-4.3.20.orig/debian/preinst git-4.3.20/debian/preinst
--- git-4.3.20.orig/debian/preinst      1970-01-01 01:00:00.000000000 +0100
+++ git-4.3.20/debian/preinst   2006-07-27 18:41:57.000000000 +0200
@@ -0,0 +1,8 @@
+#!/bin/sh
+set -e
+
+if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" "<=" "4.3.20-9"; then
+  update-alternatives --remove git /usr/bin/git.transition
+fi
+
+#DEBHELPER#
diff -Nur git-4.3.20.orig/debian/prerm git-4.3.20/debian/prerm
--- git-4.3.20.orig/debian/prerm        2006-07-27 18:31:41.000000000 +0200
+++ git-4.3.20/debian/prerm     2006-07-27 18:31:56.000000000 +0200
@@ -2,11 +2,6 @@
 
 set -e
 
-if [ "$1" != "upgrade" ]
-then
-  update-alternatives --remove git /usr/bin/git.transition
-fi
-
 install-info --quiet --remove /usr/share/info/git.info.gz
 
 #DEBHELPER#
diff -Nur git-4.3.20.orig/doc/git.transition.1 git-4.3.20/doc/git.transition.1
--- git-4.3.20.orig/doc/git.transition.1        2006-07-27 18:31:41.000000000 
+0200
+++ git-4.3.20/doc/git.transition.1     1970-01-01 01:00:00.000000000 +0100
@@ -1,57 +0,0 @@
-.\" +----------
-.\" |
-.\" |                         git.transition man page
-.\" |
-.\" |         Copyright 1993-2005 Free Software Foundation, Inc.
-.\" |
-.\" |  This file is part of GIT (GNU Interactive Tools)
-.\" |
-.\" |  GIT 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, or (at your option) any later
-.\" | version.
-.\" |
-.\" | GIT 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 GIT; see the file COPYING. If not, write to the Free Software
-.\" | Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-.\" |
-.\" | $Id: git.transition.1,v 1.1 2005-10-22 15:29:15 ianb Exp $
-.TH git.transition 1
-.SH NAME
-git.transition \- GNU Interactive Tools \- git transition script
-.SH SYNTAX
-.I git [arguments to gitfm]
-
-.SH DESCRIPTION
-
-The filemanager with GNU Interactive Tools (git) is now called
-.I gitfm
-
-git.transition is a very small script that replaces /usr/bin/git.
-The script warns the user of the rename, and then runs gitfm(1),
-passing any supplied arguments.
-
-git was renamed to gitfm to avoid confusion with Linus Torvalds'
-content tracker, also called git.
-
-If you wish to complete the transition early, install git-core
-and (as root) use:
-
- update-alternatives \-\-config git
-
-.SH SEE ALSO
-gitfm(1)
-
-git(7) (part of the git-core package)
-
-.SH AUTHORS
-.I Tudor Hulubei <[EMAIL PROTECTED]>
-.br
-.I Andrei Pitis <[EMAIL PROTECTED]>
-.br
-.I Ian Beckwith <[EMAIL PROTECTED]> (Debian modifications)
diff -Nur git-4.3.20.orig/doc/Makefile.am git-4.3.20/doc/Makefile.am
--- git-4.3.20.orig/doc/Makefile.am     2006-07-27 18:31:41.000000000 +0200
+++ git-4.3.20/doc/Makefile.am  2006-07-27 18:31:56.000000000 +0200
@@ -1,10 +1,10 @@
 # $Id: Makefile.am,v 1.5 2005-12-07 13:56:05 ianb Exp $
 info_TEXINFOS = git.texinfo
-man_MANS = gitfm.1 gitaction.1 gitkeys.1 gitmount.1 gitrgrep.1 gitunpack.1 
git.transition.1
+man_MANS = gitfm.1 gitaction.1 gitkeys.1 gitmount.1 gitrgrep.1 gitunpack.1
 htmldir = $(prefix)/doc/git-$(VERSION)
 html_DATA = git.html
 EXTRA_DIST = gitfm.1 gitaction.1 gitkeys.1 gitmount.1 gitrgrep.1 gitunpack.1\
-            git.html git.transition.1
+            git.html
 
 AM_MAKEINFOHTMLFLAGS = --no-split
 
diff -Nur git-4.3.20.orig/src/git.transition git-4.3.20/src/git.transition
--- git-4.3.20.orig/src/git.transition  2006-07-27 18:31:41.000000000 +0200
+++ git-4.3.20/src/git.transition       1970-01-01 01:00:00.000000000 +0100
@@ -1,31 +0,0 @@
-#!/bin/sh
-
-
-cat >&2 << EOT
-
-git, the filemanager with GNU Interactive Tools, is now called gitfm.
-
-If you are looking for git, Linus Torvald's content tracker, install
-the cogito and git-core packages and see README.Debian and git(7).
-
-This transition script will be removed in the debian stable
-release after etch.
-
-If you wish to complete the transition early, install git-core
-and use (as root):
- update-alternatives --config git
-
-EOT
-
-# don't wait for input from a non-interactive shell.
-# This avoids tripping up the linux kernel build system
-if [ -t 0 ] && [ -t 1 ] && [ -t 2 ];then
-   # only do this if stdin/out/err are terminals.
-   # gitfm won't run if stdin/out aren't ttys,
-   # and message isn't printed if stderr isn't!
-   echo "Press RETURN to run gitfm" >&2
-   read
-   exec /usr/bin/gitfm "$@"
-fi
-
-exit 1
diff -Nur git-4.3.20.orig/src/Makefile.am git-4.3.20/src/Makefile.am
--- git-4.3.20.orig/src/Makefile.am     2006-07-27 18:31:41.000000000 +0200
+++ git-4.3.20/src/Makefile.am  2006-07-27 18:31:56.000000000 +0200
@@ -4,7 +4,7 @@
 
 bin_PROGRAMS = gitfm gitps gitview gitwipe gitkeys gitwhich
 bin_SCRIPTS = gitaction gitmkdirs gitmount gitrgrep gitunpack gitxgrep\
-             .gitaction git.transition
+             .gitaction
 # We're not including tilde.c & tilde.h here because they are
 # automagically detected (configure.in includes them in LIBOBJS).
 EXTRA_gitfm_SOURCES = ansi_stdlib.h file.h stat.h stdc.h xtime.h

Attachment: signature.asc
Description: Digital signature

Reply via email to