git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [PATCH] debian/ directory
  @ 2005-12-28 11:20  7% ` Gerrit Pape
  0 siblings, 0 replies; 1+ results
From: Gerrit Pape @ 2005-12-28 11:20 UTC (permalink / raw)
  To: git

On Tue, Dec 27, 2005 at 12:47:14AM -0800, Junio C Hamano wrote:
> Starting from this one I won't be touching debian/ directory,
> nor supplying pre-built Debian binaries anymore.
> The official maintainer seems to be reasonably quick to package
> up things.  The packaging procedure used there seems to be quite

Yes, I'm trying to keep up with your development speed..

> different from what I have, so I'd like to avoid potential
> confusion and reduce work by the official maintainer and myself.

Thanks.  The most notable change is that debhelper isn't used to do the
packaging stuff, and the build-dependency has been dropped; this is
after my personal preference.

Below is the diff for reference, I think though it might be better if
you don't include the debian/ directory in the upstream package at all.
It may well be that I'm not always available immediately if things need
to be changed in debian/, but do as you wish.

Regards, Gerrit.


* don't use debhelper, use implicit rules.
* rename package git-tk to gitk; adjust Build-Depends*, Depends, Recommends,
  Suggests, Section, Description; Replaces: cogito (<< 0.16rc2-0) (ease
  upgrade from previous cogito packages which include git-core); Conflicts:
  git (<< 4.3.20-8) (/usr/bin/git transition).
* build with NO_OPENSSL=1 WITH_SEND_EMAIL=1 WITH_OWN_SUBPROCESS_PY=1
  prefix=/usr, python 2.3; disable t/t6001-rev-list-merge-order.sh (test
  fails with NO_OPENSSL=1).

Signed-off-by: Gerrit Pape <pape@smarden.org>

---

 debian/changelog         |  114 ++++++++++++++----------
 debian/compat            |    1 
 debian/control           |  141 +++++++++++++++++++++---------
 debian/copyright         |   38 ++++----
 debian/docs              |    1 
 debian/git-arch.files    |    2 
 debian/git-core.doc-base |   13 ---
 debian/git-core.docs     |    1 
 debian/git-core.files    |    1 
 debian/git-core.postinst |    5 +
 debian/git-core.prerm    |    5 +
 debian/git-cvs.files     |    2 
 debian/git-doc.docs      |    2 
 debian/git-doc.files     |    4 -
 debian/git-email.files   |    2 
 debian/git-svn.files     |    2 
 debian/git-tk.files      |    2 
 debian/implicit          |   93 ++++++++++++++++++++
 debian/rules             |  215 ++++++++++++++++++++++++++--------------------
 19 files changed, 410 insertions(+), 234 deletions(-)
 delete mode 100644 debian/compat
 delete mode 100644 debian/docs
 delete mode 100644 debian/git-arch.files
 delete mode 100644 debian/git-core.doc-base
 create mode 100644 debian/git-core.docs
 delete mode 100644 debian/git-core.files
 create mode 100755 debian/git-core.postinst
 create mode 100755 debian/git-core.prerm
 delete mode 100644 debian/git-cvs.files
 create mode 100644 debian/git-doc.docs
 delete mode 100644 debian/git-doc.files
 delete mode 100644 debian/git-email.files
 delete mode 100644 debian/git-svn.files
 delete mode 100644 debian/git-tk.files
 create mode 100644 debian/implicit

580d1d4562b44410f2cc5b7c1f81ced6b0b3d646
diff --git a/debian/changelog b/debian/changelog
index d7f7591..1df7491 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,73 +1,93 @@
-git-core (1.0.GIT-0) unstable; urgency=low
+git-core (1.0.5-1) unstable; urgency=low
 
-  * Post GIT 1.0 development track.
+  * new upstream point release.
+  * debian/rules: don't take upstream changelog from upstream
+    debian/changelog.
+  * debian/changelog.upstream: remove again.
 
- -- Junio C Hamano <junkio@cox.net>  Wed, 21 Dec 2005 22:28:33 -0800
+ -- Gerrit Pape <pape@smarden.org>  Tue, 27 Dec 2005 13:25:53 +0000
 
-git-core (1.0.0.GIT-0) unstable; urgency=low
+git-core (1.0.3-1) unstable; urgency=low
 
-  * Post GIT 1.0.0 development track.
+  * new upstream point release.
+  * debian/changelog.upstream: new: upstream changelog taken from upstream
+    debian/changelog.
+  * debian/rules: install debian/changelog.upstream as upstream changelog;
+    remove obsolete VERSION variable.
 
- -- Junio C Hamano <junkio@cox.net>  Wed, 21 Dec 2005 12:12:05 -0800
+ -- Gerrit Pape <pape@smarden.org>  Fri, 23 Dec 2005 14:58:14 +0000
 
-git-core (1.0.4-0) unstable; urgency=low
+git-core (1.0.0-1) unstable; urgency=medium
 
-  * GIT 1.0.4.
+  * new upstream release: GIT 1.0.0.
 
- -- Junio C Hamano <junkio@cox.net>  Sat, 24 Dec 2005 00:01:20 -0800
+ -- Gerrit Pape <pape@smarden.org>  Wed, 21 Dec 2005 16:17:18 +0000
 
-git-core (1.0.3-0) unstable; urgency=low
+git-core (0.99.9n-1) unstable; urgency=low
 
-  * GIT 1.0.3 maintenance release.
+  * new upstream version: GIT 0.99.9n aka 1.0rc6.
+  * debian/rules: rename git program in git-core package to git-scm,
+    handle /usr/bin/git program through update-alternatives (as suggested
+    by Ian Beckwith, see #342363).
+  * debian/control: git-core: Conflicts: git (<< 4.3.20-8) (closes:
+    #342363).
+  * debian/git-core.postinst, debian/git-core.prerm: new: run
+    update-alternatives --install /usr/bin/git git /usr/bin/git-scm with
+    priority 70 on configure, and --remove on remove respectively.
 
- -- Junio C Hamano <junkio@cox.net>  Thu, 22 Dec 2005 18:13:33 -0800
+ -- Gerrit Pape <pape@smarden.org>  Thu, 15 Dec 2005 11:24:51 +0000
 
-git-core (1.0.0b-0) unstable; urgency=low
+git-core (0.99.9m-1) unstable; urgency=low
 
-  * GIT 1.0.0b to include two more fixes.
+  * new upstream version: GIT 0.99.9m aka 1.0rc5.
+    * sets PYTHONPATH for selftests (fixes autobuild test failures).
+  * switch from tarball-in-tarball approach to original upstream tarball.
+  * debian/changelog: add changelog history, Junio C Hamano, Ryan Anderson,
+    Eric Biederman previously were maintaining this package unofficially.
+  * debian/control: Build-Depends: rcs (for selftests); git-core:
+    Recommends: patch, less, Suggests: cogito; git-arch: Suggests: tla,
+    bazzar; git-cvs: Depends: cvsps, Suggests: cvs; git-svn: Depends:
+    libsvn-core-perl (closes:#342617), Suggests: subversion; git-email:
+    Depends: libmail-sendmail-perl, libemail-valod-perl; update short
+    description (lots taken from upstream unofficial package, thx).
+  * debian/git-core.docs, debian/git-doc.docs: adapt.
+  * debian/rules: adapt; remove target unpack; add target patch; adapt
+    target clean.
 
- -- Junio C Hamano <junkio@cox.net>  Wed, 21 Dec 2005 13:50:21 -0800
+ -- Gerrit Pape <pape@smarden.org>  Wed, 14 Dec 2005 19:48:41 +0000
 
-git-core (1.0.0a-0) unstable; urgency=low
+git-core (0.99.9l-1) unstable; urgency=low
 
-  * GIT 1.0.0a to include the following fixes:
-  
-    - Avoid misleading success message on error (Johannes)
-    - objects/info/packs: work around bug in http-fetch.c::fetch_indices()
-    - http-fetch.c: fix objects/info/pack parsing.
-    - An off-by-one bug found by valgrind (Pavel)
+  * new upstream version.
+  * debian/rules: apply diffs with patch -p1.
+  * debian/control, debian/rules: split off git-arch, git-cvs, git-svn,
+    git-email packages, as suggested by upstream:
+    http://article.gmane.org/gmane.comp.version-control.git/13185
+  * debian/git-doc.docs: get docs from temporary install directory;
+    include *.txt docs.
+  * debian/control: git-doc: Section: doc; Suggests: git-core, git-arch,
+    git-cvs, git-svn, git-email, gitk; git-core: Suggests: git-arch,
+    git-cvs, git-svn, git-email, gitk.
 
- -- Junio C Hamano <junkio@cox.net>  Wed, 21 Dec 2005 13:17:17 -0800
+ -- Gerrit Pape <pape@smarden.org>  Mon,  5 Dec 2005 18:04:37 +0000
 
-git-core (1.0.0-0) unstable; urgency=low
+git-core (0.99.9k-1) unstable; urgency=low
 
-  * GIT 1.0.0
+  * new upstream version.
+  * debian/implicit: update to revision 1.11.
+  * debian/git-doc.docs: add git/Documentation/howto,
+    git/Documentation/technical (closes: #341178).
 
- -- Junio C Hamano <junkio@cox.net>  Wed, 21 Dec 2005 00:01:00 -0800
+ -- Gerrit Pape <pape@smarden.org>  Tue, 29 Nov 2005 21:45:53 +0000
 
-git-core (0.99.9n-0) unstable; urgency=low
+git-core (0.99.9j-1) unstable; urgency=low
 
-  * GIT 0.99.9n aka 1.0rc6
+  * initial version.
+  * debian/control: git-core: Replaces: cogito (<< 0.16rc2-0); cogito >=
+    0.16rc2-0 no longer includes the git core components, but depends on
+    the git-core package (see #338789).
 
- -- Junio C Hamano <junkio@cox.net>  Wed, 14 Dec 2005 17:27:08 -0800
-
-git-core (0.99.9m-0) unstable; urgency=low
-
-  * GIT 0.99.9m aka 1.0rc5
-
- -- Junio C Hamano <junkio@cox.net>  Sun, 11 Dec 2005 16:48:06 -0800
-
-git-core (0.99.9l-0) unstable; urgency=low
-
-  * GIT 0.99.9l aka 1.0rc4
-
- -- Junio C Hamano <junkio@cox.net>  Sat,  3 Dec 2005 23:45:23 -0800
-
-git-core (0.99.9k-0) unstable; urgency=low
-
-  * GIT 0.99.9k but not 1.0rc yet.
-
- -- Junio C Hamano <junkio@cox.net>  Fri, 25 Nov 2005 16:33:11 -0800
+ -- Gerrit Pape <pape@smarden.org>  Fri, 18 Nov 2005 22:26:36 +0000
 
 git-core (0.99.9j-0) unstable; urgency=low
 
diff --git a/debian/compat b/debian/compat
deleted file mode 100644
index b8626c4..0000000
--- a/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-4
diff --git a/debian/control b/debian/control
index ded0a57..33551b5 100644
--- a/debian/control
+++ b/debian/control
@@ -1,63 +1,118 @@
 Source: git-core
 Section: devel
 Priority: optional
-Maintainer: Junio C Hamano <junkio@cox.net>
-Build-Depends-Indep: libz-dev, libssl-dev, libcurl3-dev|libcurl3-gnutls-dev|libcurl3-openssl-dev, asciidoc (>= 7), xmlto, debhelper (>= 4.0.0), bc, libexpat-dev
-Standards-Version: 3.6.1
+Maintainer: Gerrit Pape <pape@smarden.org>
+Build-Depends: libz-dev, libcurl3-gnutls-dev, asciidoc, xmlto, libexpat1-dev, rcs
+Standards-Version: 3.6.2.0
 
 Package: git-core
 Architecture: any
-Depends: ${shlibs:Depends}, ${perl:Depends}, ${misc:Depends}, rcs
-Recommends: rsync, curl, ssh, python (>= 2.4.0), less
-Suggests: cogito, patch
-Conflicts: git, cogito (<< 0.13)
-Description: The git content addressable filesystem
- GIT comes in two layers. The bottom layer is merely an extremely fast
- and flexible filesystem-based database designed to store directory trees
- with regard to their history. The top layer is a SCM-like tool which
- enables human beings to work with the database in a manner to a degree
- similar to other SCM tools.
+Depends: ${shlibs:Depends}, rcs
+Recommends: git-doc, patch, less, rsync, curl, openssh-client, python
+Suggests: git-arch, git-cvs, git-svn, git-email, gitk, cogito
+Replaces: cogito (<< 0.16rc2-0)
+Conflicts: git (<< 4.3.20-8)
+Description: content addressable filesystem
+ This is a stupid (but extremely fast) directory content manager.  It
+ doesn't do a whole lot, but what it 'does' do is track directory
+ contents efficiently.
+ .
+ Amongst other projects, the Linux kernel source tree is managed through
+ the git content manager.
+ .
+ This package provides the git core components.
 
 Package: git-doc
+Section: doc
 Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}, git-core
-Description: The git content addressable filesystem, Documentation
- This package contains documentation for GIT.
-
-Package: git-tk
-Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}, git-core, tk8.4
-Description: The git content addressable filesystem, GUI add-on
- This package contains 'gitk', the git revision tree visualizer.
-
-Package: git-svn
-Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, git-core, libsvn-core-perl (>= 1.2.1)
-Suggests: subversion
-Description: The git content addressable filesystem, SVN interoperability
- This package contains 'git-svnimport', to import development history from
- SVN repositories.
+Suggests: git-core, git-arch, git-cvs, git-svn, git-email, gitk
+Description: content addressable filesystem (documentation)
+ This is a stupid (but extremely fast) directory content manager.  It
+ doesn't do a whole lot, but what it 'does' do is track directory
+ contents efficiently.
+ .
+ Amongst other projects, the Linux kernel source tree is managed through
+ the git content manager.
+ .
+ This package provides the documentation.
 
 Package: git-arch
 Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, git-core
+Depends: git-core (= ${Source-Version})
+Recommends: git-doc
 Suggests: tla, bazaar
-Description: The git content addressable filesystem, GNUArch interoperability
- This package contains 'git-archimport', to import development history from
- GNUArch repositories.
+Replaces: cogito (<< 0.16rc2-0)
+Description: content addressable filesystem (arch interoperability)
+ This is a stupid (but extremely fast) directory content manager.  It
+ doesn't do a whole lot, but what it 'does' do is track directory
+ contents efficiently.
+ .
+ Amongst other projects, the Linux kernel source tree is managed through
+ the git content manager.
+ .
+ This package provides tools for importing development history from arch
+ repositories.
 
 Package: git-cvs
 Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, git-core, cvsps (>= 2.1)
+Depends: git-core (= ${Source-Version}), cvsps
+Recommends: git-doc
 Suggests: cvs
-Description: The git content addressable filesystem, CVS interoperability
- This package contains 'git-cvsimport', to import development history from
- CVS repositories.
+Replaces: cogito (<< 0.16rc2-0)
+Description: content addressable filesystem (cvs interoperability)
+ This is a stupid (but extremely fast) directory content manager.  It
+ doesn't do a whole lot, but what it 'does' do is track directory
+ contents efficiently.
+ .
+ Amongst other projects, the Linux kernel source tree is managed through
+ the git content manager.
+ .
+ This package provides tools for importing development history from cvs
+ repositories.
 
-Package: git-email
+Package: git-svn
 Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}, git-core, libmail-sendmail-perl, libemail-valid-perl
-Description: The git content addressable filesystem, e-mail add-on
- This package contains 'git-send-email', to send a series of patch e-mails.
-
+Depends: git-core (= ${Source-Version}), libsvn-core-perl
+Recommends: git-doc
+Suggests: subversion
+Replaces: cogito (<< 0.16rc2-0)
+Description: content addressable filesystem (svn interoperability)
+ This is a stupid (but extremely fast) directory content manager.  It
+ doesn't do a whole lot, but what it 'does' do is track directory
+ contents efficiently.
+ .
+ Amongst other projects, the Linux kernel source tree is managed through
+ the git content manager.
+ .
+ This package provides tools for importing development history from
+ subversion repositories.
 
+Package: git-email
+Architecture: all
+Depends: git-core (= ${Source-Version}), libmail-sendmail-perl, libemail-valid-perl
+Recommends: git-doc
+Replaces: cogito (<< 0.16rc2-0)
+Description: content addressable filesystem (email add-on)
+ This is a stupid (but extremely fast) directory content manager.  It
+ doesn't do a whole lot, but what it 'does' do is track directory
+ contents efficiently.
+ .
+ Amongst other projects, the Linux kernel source tree is managed through
+ the git content manager.
+ .
+ This package provides tools for sending series of patch emails.
+
+Package: gitk
+Architecture: all
+Depends: git-core (= ${Source-Version}), tk8.4
+Recommends: git-doc
+Replaces: cogito (<< 0.16rc2-0)
+Description: content addressable filesystem (revision tree visualizer)
+ This is a stupid (but extremely fast) directory content manager.  It
+ doesn't do a whole lot, but what it 'does' do is track directory
+ contents efficiently.
+ .
+ Amongst other projects, the Linux kernel source tree is managed through
+ the git content manager.
+ .
+ This package provides the gitk program, a tcl/tk revision tree visualizer.
diff --git a/debian/copyright b/debian/copyright
index ea61eff..d84775a 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,24 +1,24 @@
-This package was downloaded from ftp.kernel.org:/pub/software/scm/git/.
+This package was debianized by Sebastian Kuzminsky <seb@highlab.com>
+on Thu, 5 May 2005 10:27:14 -0600,
+and was adopted by Gerrit Pape <pape@smarden.org>
+on Wed, 16 Nov 2005 19:37:14 +0000.
 
-Upstream Author: Linus Torvalds and many others
+It was downloaded from http://www.kernel.org/pub/software/scm/git/
+
+Upstream authors: Linus Torvalds and many others
 
 Copyright:
 
- Copyright 2005, Linus Torvalds and others.
- 
-   This package 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; version 2 dated June, 1991.
-
-   This package 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 package; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.
+This software is copyright (c) 2005, Linus Torvalds and others.
+
+You can redistribute this software and/or modify it under the terms of
+the GNU General Public License as published by the Free Software
+Foundation; version 2 dated June, 1991.
+
+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 GNU/Linux systems, the complete text of the GNU General
-Public License can be found in `/usr/share/common-licenses/GPL'.
+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
deleted file mode 100644
index e845566..0000000
--- a/debian/docs
+++ /dev/null
@@ -1 +0,0 @@
-README
diff --git a/debian/git-arch.files b/debian/git-arch.files
deleted file mode 100644
index d744954..0000000
--- a/debian/git-arch.files
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/bin/git-arch*
-/usr/share/man/*/git-arch*
diff --git a/debian/git-core.doc-base b/debian/git-core.doc-base
deleted file mode 100644
index eff1a95..0000000
--- a/debian/git-core.doc-base
+++ /dev/null
@@ -1,13 +0,0 @@
-Document: git-core
-Title: git reference
-Abstract: This manual describes git
-Section: Devel
-
-Format: HTML
-Index: /usr/share/doc/git-core/git.html
-Files: /usr/share/doc/git-core/*.html
- /usr/share/doc/git-core/*/*.html
-
-Format: text
-Files: /usr/share/doc/git-core/*.txt
- /usr/share/doc/git-core/*/*.txt
diff --git a/debian/git-core.docs b/debian/git-core.docs
new file mode 100644
index 0000000..e845566
--- /dev/null
+++ b/debian/git-core.docs
@@ -0,0 +1 @@
+README
diff --git a/debian/git-core.files b/debian/git-core.files
deleted file mode 100644
index 74e4e23..0000000
--- a/debian/git-core.files
+++ /dev/null
@@ -1 +0,0 @@
-/usr
diff --git a/debian/git-core.postinst b/debian/git-core.postinst
new file mode 100755
index 0000000..230f515
--- /dev/null
+++ b/debian/git-core.postinst
@@ -0,0 +1,5 @@
+#!/bin/sh
+set -e
+
+test "$1" = 'configure' || exit 0
+update-alternatives --install /usr/bin/git git /usr/bin/git-scm 70
diff --git a/debian/git-core.prerm b/debian/git-core.prerm
new file mode 100755
index 0000000..26feff4
--- /dev/null
+++ b/debian/git-core.prerm
@@ -0,0 +1,5 @@
+#!/bin/sh
+set -e
+
+test "$1" = 'remove' || exit 0
+update-alternatives --remove git /usr/bin/git-scm
diff --git a/debian/git-cvs.files b/debian/git-cvs.files
deleted file mode 100644
index a6b40ff..0000000
--- a/debian/git-cvs.files
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/bin/git-cvs*
-/usr/share/man/*/git-cvs*
diff --git a/debian/git-doc.docs b/debian/git-doc.docs
new file mode 100644
index 0000000..b0a52bc
--- /dev/null
+++ b/debian/git-doc.docs
@@ -0,0 +1,2 @@
+tmp/html/*
+Documentation/technical
diff --git a/debian/git-doc.files b/debian/git-doc.files
deleted file mode 100644
index 0daf545..0000000
--- a/debian/git-doc.files
+++ /dev/null
@@ -1,4 +0,0 @@
-/usr/share/doc/git-core/*.txt
-/usr/share/doc/git-core/*.html
-/usr/share/doc/git-core/*/*.html
-/usr/share/doc/git-core/*/*.txt
diff --git a/debian/git-email.files b/debian/git-email.files
deleted file mode 100644
index 2d6a51f..0000000
--- a/debian/git-email.files
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/bin/git-send-email
-/usr/share/man/*/git-send-email.*
diff --git a/debian/git-svn.files b/debian/git-svn.files
deleted file mode 100644
index eea8d83..0000000
--- a/debian/git-svn.files
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/bin/git-svn*
-/usr/share/man/*/git-svn*
diff --git a/debian/git-tk.files b/debian/git-tk.files
deleted file mode 100644
index 478ec94..0000000
--- a/debian/git-tk.files
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/bin/gitk
-/usr/share/man/man1/gitk.*
diff --git a/debian/implicit b/debian/implicit
new file mode 100644
index 0000000..7a7ee98
--- /dev/null
+++ b/debian/implicit
@@ -0,0 +1,93 @@
+# $Id: implicit,v 1.11 2005/11/29 21:57:55 pape Exp $
+
+.PHONY: deb-checkdir deb-checkuid
+
+deb-checkdir:
+	@test -e debian/control || sh -cx '! : wrong directory'
+deb-checkuid:
+	@test "`id -u`" -eq 0 || sh -cx '! : need root privileges'
+
+%.deb: %.deb-docs %.deb-DEBIAN
+	@rm -f $*.deb $*.deb-checkdir $*.deb-docs $*.deb-docs-base \
+	  $*.deb-docs-docs $*.deb-docs-examples $*.deb-DEBIAN \
+	  $*.deb-DEBIAN-dir $*.deb-DEBIAN-scripts $*.deb-DEBIAN-md5sums
+
+%.udeb: %.deb-DEBIAN
+	@rm -f $*.deb $*.deb-checkdir $*.deb-DEBIAN $*.deb-DEBIAN-dir \
+	  $*.deb-DEBIAN-scripts $*.deb-DEBIAN-md5sums
+
+%.deb-checkdir:
+	@test -d debian/$* || sh -cx '! : directory debian/$* missing'
+	@test "`id -u`" -eq 0 || sh -cx '! : need root privileges'
+
+%.deb-docs-base:
+	: implicit
+	@rm -f debian/$*/usr/share/doc/$*/* || :
+	@install -d -m0755 debian/$*/usr/share/doc/$*
+	: debian/$*/usr/share/doc/$*/
+	@sh -cx 'install -m0644 debian/copyright debian/$*/usr/share/doc/$*/'
+	@sh -cx 'install -m0644 debian/changelog \
+	  debian/$*/usr/share/doc/$*/changelog.Debian'
+	@test ! -r changelog || \
+	  sh -cx 'install -m0644 changelog debian/$*/usr/share/doc/$*/'
+	@test -r debian/$*/usr/share/doc/$*/changelog || \
+	  sh -cx 'mv debian/$*/usr/share/doc/$*/changelog.Debian \
+	    debian/$*/usr/share/doc/$*/changelog'
+	@test -s debian/$*/usr/share/doc/$*/changelog || \
+	  sh -cx 'rm -f debian/$*/usr/share/doc/$*/changelog'
+	@gzip -9 debian/$*/usr/share/doc/$*/changelog*
+%.deb-docs-docs:
+	@for i in `cat debian/$*.docs 2>/dev/null || :`; do \
+	  if test -d $$i; then \
+	    sh -cx "install -d -m0755 debian/$*/usr/share/doc/$*/$${i##*/}" && \
+	    for j in $$i/*; do \
+	      sh -cx "install -m0644 $$j \
+	        debian/$*/usr/share/doc/$*/$${i##*/}/" || exit 1; \
+	    done || exit 1; \
+	    continue; \
+	  fi; \
+	  sh -cx "install -m0644 $$i debian/$*/usr/share/doc/$*/" || exit 1; \
+	done
+	@test ! -r debian/$*.README.Debian || \
+	  sh -cx 'install -m0644 debian/$*.README.Debian \
+	    debian/$*/usr/share/doc/$*/README.Debian'
+	@if test -r debian/$*.NEWS.Debian; then \
+	  sh -cx 'install -m0644 debian/$*.NEWS.Debian \
+	    debian/$*/usr/share/doc/$*/NEWS.Debian && \
+	      gzip -9 debian/$*/usr/share/doc/$*/NEWS.Debian'; \
+	fi
+%.deb-docs-examples:
+	@rm -rf debian/$*/usr/share/doc/$*/examples
+	: debian/$*/usr/share/doc/$*/examples/
+	@test ! -r debian/$*.examples || \
+	  install -d -m0755 debian/$*/usr/share/doc/$*/examples
+	@for i in `cat debian/$*.examples 2>/dev/null || :`; do \
+	  sh -cx "install -m0644 $$i debian/$*/usr/share/doc/$*/examples/" \
+	    || exit 1; \
+	done
+%.deb-docs: %.deb-checkdir %.deb-docs-base %.deb-docs-docs %.deb-docs-examples
+	: debian/$*/usr/share/doc/$*/ ok
+
+%.deb-DEBIAN-base:
+	@rm -rf debian/$*/DEBIAN
+	: debian/$*/DEBIAN/
+	@install -d -m0755 debian/$*/DEBIAN
+	@for i in conffiles shlibs templates; do \
+	  test ! -r debian/$*.$$i || \
+	    sh -cx "install -m0644 debian/$*.$$i debian/$*/DEBIAN/$$i" \
+	      || exit 1; \
+	done
+%.deb-DEBIAN-scripts:
+	@for i in preinst prerm postinst postrm config; do \
+	  test ! -r debian/$*.$$i || \
+	    sh -cx "install -m0755 debian/$*.$$i debian/$*/DEBIAN/$$i" \
+	      || exit 1; \
+	done
+%.deb-DEBIAN-md5sums:
+	: debian/$*/DEBIAN/md5sums
+	@rm -f debian/$*/DEBIAN/md5sums
+	@cd debian/$* && find * -path 'DEBIAN' -prune -o \
+	  -type f -exec md5sum {} >>DEBIAN/md5sums \;
+%.deb-DEBIAN: %.deb-checkdir %.deb-DEBIAN-base %.deb-DEBIAN-scripts \
+	  %.deb-DEBIAN-md5sums
+	: debian/$*/DEBIAN/ ok
diff --git a/debian/rules b/debian/rules
index 4ab221c..b0607ed 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,109 +1,134 @@
 #!/usr/bin/make -f
-# -*- makefile -*-
 
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
+ARCH ?=$(shell dpkg-architecture -qDEB_HOST_ARCH)
 
-CFLAGS = -g -Wall
+CC =gcc
+CFLAGS =-g -Wall
+STRIP =strip
+OPTS =NO_OPENSSL=1 WITH_SEND_EMAIL=1 WITH_OWN_SUBPROCESS_PY=1 prefix=/usr
+
+ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+  STRIP =: strip
+endif
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-       CFLAGS += -O0
+  CFLAGS +=-O0
 else
-       CFLAGS += -O2
+  CFLAGS +=-O2
 endif
-export CFLAGS
-
-#
-# On PowerPC we compile against the hand-crafted assembly, on all
-# other architectures we compile against GPL'ed sha1 code lifted
-# from Mozilla.  OpenSSL is strangely licensed and best avoided
-# in Debian.
-#
-HOST_ARCH=$(shell dpkg-architecture -qDEB_HOST_ARCH)
-ifeq (${HOST_ARCH},powerpc)
-	export PPC_SHA1=YesPlease
+ifeq (powerpc,$(ARCH))
+  OPTS +=PPC_SHA1=1
 else
-	export MOZILLA_SHA1=YesPlease
+ifeq (arm,$(ARCH))
+  OPTS +=ARM_SHA1=1
+endif
 endif
 
-# We do have the requisite perl modules in the mainline, and
-# have no reason to shy away from this script.
-export WITH_SEND_EMAIL=YesPlease
-
-PREFIX := /usr
-MANDIR := /usr/share/man/
-
-SRC    := ./
-DOC    := Documentation/
-DESTDIR  := $(CURDIR)/debian/tmp
-DOC_DESTDIR := $(DESTDIR)/usr/share/doc/git-core/
-MAN_DESTDIR := $(DESTDIR)/$(MANDIR)
-
-build: debian/build-stamp
-debian/build-stamp:
-	dh_testdir
-	$(MAKE) prefix=$(PREFIX) PYTHON_PATH=/usr/bin/python2.4 all test doc
-	touch debian/build-stamp
-
-debian-clean:
-	dh_testdir
-	dh_testroot
-	rm -f debian/build-stamp
-	dh_clean
+TMP =$(shell pwd)/tmp
+GIT =$(shell pwd)/debian/git
 
-clean: debian-clean
-	$(MAKE) clean
+patch: deb-checkdir patch-stamp
+patch-stamp:
+	for i in `ls -t debian/diff/*.diff || :`; do \
+	  patch -p1 <$$i || exit 1; \
+	done
+	touch patch-stamp
+
+build: deb-checkdir build-arch-stamp build-indep-stamp
+build-arch-stamp: patch-stamp
+	-gcc -v
+	# don't run git-rev-list --merge-order tests
+	rm -f t/t6001-rev-list-merge-order.sh
+	$(MAKE) all test CC='$(CC)' CFLAGS='$(CFLAGS)' $(OPTS)
+	$(MAKE) -CDocumentation man
+	touch build-arch-stamp
+build-indep-stamp: build-arch-stamp
+	$(MAKE) -CDocumentation man html
+	touch build-indep-stamp
 
-install: build
-	dh_testdir
-	dh_testroot
-	dh_clean -k 
-	dh_installdirs 
-
-	make DESTDIR=$(DESTDIR) prefix=$(PREFIX) mandir=$(MANDIR) \
-		install install-doc
-
-	make -C Documentation DESTDIR=$(DESTDIR) prefix=$(PREFIX) \
-		WEBDOC_DEST=$(DOC_DESTDIR) install-webdoc
-
-	dh_movefiles -p git-arch
-	dh_movefiles -p git-cvs
-	dh_movefiles -p git-svn
-	dh_movefiles -p git-tk
-	dh_movefiles -p git-email
-	dh_movefiles -p git-doc
-	dh_movefiles -p git-core
-	find debian/tmp -type d -o -print | sed -e 's/^/? /'
-
-binary-arch: build install
-	dh_testdir
-	dh_testroot
-	dh_installchangelogs -a
-	dh_installdocs -a
-	dh_strip -a
-	dh_compress  -a
-	dh_fixperms -a
-	dh_perl -a
-	dh_makeshlibs -a
-	dh_installdeb -a
-	dh_shlibdeps -a
-	dh_gencontrol -a
-	dh_md5sums -a
-	dh_builddeb -a
-
-binary-indep: build install
-	dh_testdir
-	dh_testroot
-	dh_installchangelogs -i
-	dh_installdocs -i
-	dh_compress  -i
-	dh_fixperms -i
-	dh_makeshlibs -i
-	dh_installdeb -i
-	dh_shlibdeps -i
-	dh_gencontrol -i
-	dh_md5sums -i
-	dh_builddeb -i
+clean: deb-checkdir deb-checkuid
+	$(MAKE) clean
+	rm -f git-send-email compat/subprocess.pyc
+	! test -e patch-stamp || \
+	  for i in `ls -tr debian/diff/*.diff || :`; do patch -p1 -R <$$i; done
+	rm -rf '$(TMP)'
+	rm -f patch-stamp build-arch-stamp build-indep-stamp
+	rm -rf '$(GIT)'-core '$(GIT)'-doc '$(GIT)'-arch '$(GIT)'-cvs \
+	  '$(GIT)'-svn '$(GIT)'-email '$(GIT)'k
+	rm -f debian/files debian/substvars changelog
+
+install: install-arch install-indep
+install-arch: deb-checkdir deb-checkuid build-arch-stamp
+	# git-core
+	rm -rf '$(GIT)-core'
+	install -d -m0755 '$(GIT)'-core/usr/bin
+	$(MAKE) install install-doc $(OPTS) DESTDIR='$(GIT)'-core
+	# don't include arch, cvs, svn, email tools, and gitk program
+	for i in git-arch git-cvs git-svn git-send-email; do \
+	  rm -f '$(GIT)'-core/usr/bin/$$i*; \
+	done
+	rm -f '$(GIT)'-core/usr/bin/gitk
+	# handle git program through alternatives mechanism (see #342363), rename
+	# to git-scm
+	mv -f '$(GIT)'-core/usr/bin/git '$(GIT)'-core/usr/bin/git-scm
+	for i in '$(GIT)'-core/usr/bin/*; do \
+	  test "`head -c2 $$i`" = '#!' || $(STRIP) -R .comment -R .note $$i; \
+	done
+	install -d -m0755 '$(GIT)'-core/usr/share
+	mv -f '$(GIT)'-core/usr/man '$(GIT)'-core/usr/share/
+	# don't include arch, cvs, svn, email, and gitk man pages
+	for i in git-arch git-cvs git-svn git-send-email; do \
+	  rm -f '$(GIT)'-core/usr/share/man/man1/$$i*; \
+	done
+	rm -f '$(GIT)'-core/usr/share/man/man1/gitk.1
+	chmod 0644 '$(GIT)'-core/usr/share/man/man?/*.[0-9]
+	gzip -9 '$(GIT)'-core/usr/share/man/man?/*.[0-9]
+	# no upstream changelog
+	cp /dev/null changelog
+install-indep: build-arch-stamp build-indep-stamp
+	rm -rf '$(TMP)'
+	install -d -m0755 '$(TMP)'
+	$(MAKE) install install-doc $(OPTS) DESTDIR='$(TMP)'
+	$(MAKE) -CDocumentation install-webdoc WEBDOC_DEST='$(TMP)'/html \
+	  2>/dev/null
+	# git-doc
+	rm -rf '$(GIT)'-doc
+	install -d -m0755 '$(GIT)'-doc
+	# git-arch, git-cvs, git-svn, git-email
+	for i in arch cvs svn email; do \
+	  rm -rf '$(GIT)'-$$i && \
+	  install -d -m0755 '$(GIT)'-$$i/usr/bin && \
+	  install -m0755 '$(TMP)'/usr/bin/git-*$$i* '$(GIT)'-$$i/usr/bin/ && \
+	  install -d -m0755 '$(GIT)'-$$i/usr/share/man/man1 && \
+	  install -m0644 '$(TMP)'/usr/man/man1/git-*$$i* \
+	    '$(GIT)'-$$i/usr/share/man/man1/ && \
+	  gzip -9 '$(GIT)'-$$i/usr/share/man/man1/*.1 || exit 1; \
+	done
+	# gitk
+	rm -rf '$(GIT)'k
+	install -d -m0755 '$(GIT)'k/usr/bin
+	install -m0755 '$(TMP)'/usr/bin/gitk '$(GIT)'k/usr/bin/gitk
+	install -d -m0755 '$(GIT)'k/usr/share/man/man1
+	install -m0644 '$(TMP)'/usr/man/man1/gitk.1 \
+	  '$(GIT)'k/usr/share/man/man1/
+	gzip -9 '$(GIT)'k/usr/share/man/man1/*.1
+	# no upstream changelog
+	cp /dev/null changelog
 
 binary: binary-arch binary-indep
+binary-arch: install-arch git-core.deb
+	rm -f debian/substvars
+	dpkg-shlibdeps '$(GIT)'-core/usr/bin/*
+	dpkg-gencontrol -isp -pgit-core -P'$(GIT)'-core
+	dpkg -b '$(GIT)'-core ..
+binary-indep: install-indep git-doc.deb git-arch.deb git-cvs.deb git-svn.deb \
+	  git-email.deb gitk.deb
+	rm -f debian/substvars
+	for i in -doc -arch -cvs -svn -email k; do \
+	  dpkg-gencontrol -isp -pgit$$i -P'$(GIT)'$$i && \
+	  dpkg -b '$(GIT)'$$i .. || exit 1; \
+	done
+
+.PHONY: patch build clean install install-arch install-indep binary \
+	  binary-arch binary-indep
 
-.PHONY: build clean binary install clean debian-clean
+include debian/implicit
-- 
1.0.3

^ permalink raw reply related	[relevance 7%]

Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2005-12-27  8:47     [ANNOUNCE] GIT 1.0.5 Junio C Hamano
2005-12-28 11:20  7% ` [PATCH] debian/ directory Gerrit Pape

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).