reassign 702697 src:git 1:1.8.2~rc3-1
clone 702697 -1
retitle 702697 RFP: git-bzr -- bzr remote helper from git/contrib/remote-helpers
retitle -1 RFP: git-mercurial -- hg remote helper from 
git/contrib/remote-helpers
tags 702697 + patch
quit

Hi Paul,

Paul Wise wrote:

> Please move these two files to the correct path and give them execute
> permissions so that git clone hg::... and git clone bzr::... work out of
> the box. For now I've enabled them via a wrapper script in $PATH.
>
> /usr/share/doc/git/contrib/remote-helpers/git-remote-bzr
> /usr/share/doc/git/contrib/remote-helpers/git-remote-hg

Thanks for filing this.  Upstream doesn't include documentation or
installation rules for these, so splitting into two bugs to track work
on each separately.
From: Jonathan Nieder <jrnie...@gmail.com>
Date: Sun, 24 Mar 2013 19:03:53 -0700
Subject: debian: package bzr remote helper as git-bzr package

Install the remote helper to gitexecdir because (in principle) it
is tied to the version of git it was installed with.  Longer term,
this should probably be registered through the alternatives system
to allow sysadmins and users to decide between this remote helper
and the one shipped with bzr-git.

Signed-off-by: Jonathan Nieder <jrnie...@gmail.com>
---
 debian/changelog          | 10 ++++++++++
 debian/control            | 26 ++++++++++++++++++++++++--
 debian/git-doc.docs       |  1 +
 debian/git-remote-bzr.txt | 41 +++++++++++++++++++++++++++++++++++++++++
 debian/rules              | 24 +++++++++++++++++++++---
 5 files changed, 97 insertions(+), 5 deletions(-)
 create mode 100644 debian/git-remote-bzr.txt

diff --git a/debian/changelog b/debian/changelog
index d939512a..e3e8d861 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,16 @@
 git (1:1.8.2-0.1) experimental; urgency=low
 
   * new upstream release (see RelNotes/1.8.2.txt).
+  * add a git-bzr package with bzr remote helper (closes: #702697).
+    * debian/control: new package git-bzr; Priority: extra; Depends:
+      python-bzrlib; Conflicts: bzr-git; package git now Suggests and
+      git-all Recommends: git-bzr.
+    * debian/git-remote-bzr.txt: new; explain usage.
+    * debian/rules: process debian/git-remote-bzr.txt with git's
+      documentation toolchain and install to /usr/share/man/man1/;
+      munge contrib/remote-helpers/git-remote-bzr shebang line and
+      install to /usr/lib/git-core.
+    * debian/git-doc.docs: install git-remote-bzr.html.
   * debian/control: Standards-Version: 3.9.4.0.
   * debian/implicit: mark every order-only dependency with '|', not
     just the first one for each target.
diff --git a/debian/control b/debian/control
index 5a9ae8b0..b2951de3 100644
--- a/debian/control
+++ b/debian/control
@@ -26,7 +26,8 @@ Depends: ${shlibs:Depends}, perl-modules, liberror-perl,
  libc6.1 (>= 2.10.2-6) [ia64]
 Recommends: patch, less, rsync, ssh-client
 Suggests: gettext-base, git-daemon-run | git-daemon-sysvinit,
- git-doc, git-el, git-arch, git-cvs, git-svn, git-email, git-gui, gitk, gitweb
+ git-doc, git-el, git-email, git-gui, gitk, gitweb,
+ git-arch, git-bzr, git-cvs, git-svn
 Replaces: gitweb (<< 1:1.7.4~rc1),
  cogito (<< 0.16rc2-0), git-core (<< 1:1.7.0.4-1.)
 Breaks: bash-completion (<< 1:1.90-1), gitweb (<< 1:1.7.4~rc1),
@@ -126,6 +127,27 @@ Description: fast, scalable, distributed revision control 
system (arch interoper
  This package provides tools for importing development history from arch
  repositories.
 
+Package: git-bzr
+Priority: extra
+Architecture: all
+Multi-Arch: foreign
+Depends: git (>> ${source:Upstream-Version}), git (<< 
${source:Upstream-Version}-.), python-bzrlib
+Suggests: git-doc, bzr
+Conflicts: bzr-git
+Description: fast, scalable, distributed revision control system (bzr 
interoperability)
+ Git is a 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.
+ .
+ This package provides the bzr remote helper, which allows Git to
+ read from and write to Bazaar repositories as though they were remote
+ Git repositories.
+
 Package: git-cvs
 Architecture: all
 Multi-Arch: foreign
@@ -340,7 +362,7 @@ Architecture: all
 Multi-Arch: foreign
 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
+Recommends: git-bzr, git-daemon-run | git-daemon-sysvinit
 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/git-doc.docs b/debian/git-doc.docs
index b0a52bca..4caccf45 100644
--- a/debian/git-doc.docs
+++ b/debian/git-doc.docs
@@ -1,2 +1,3 @@
 tmp/html/*
+debian/git-remote-bzr.html
 Documentation/technical
diff --git a/debian/git-remote-bzr.txt b/debian/git-remote-bzr.txt
new file mode 100644
index 00000000..bb3d44c2
--- /dev/null
+++ b/debian/git-remote-bzr.txt
@@ -0,0 +1,41 @@
+git-remote-bzr(1)
+=================
+
+NAME
+----
+git-remote-bzr - Fetch from or push to a Bazaar repository
+
+SYNOPSIS
+--------
+'git clone' bzr::/path/to/bzr/repo/or/url
+
+DESCRIPTION
+-----------
+
+This remote helper allows commands like 'git fetch' and 'git push'
+to access a repository that was created using the *bzr*(1) tool.
+
+Any URL that Bazaar supports can be used by preceding it with
+"bzr::".  For example:
+
+- bzr::bzr+ssh://host.xz/path/to/bzr/trunk - Bazaar smart server over SSH
+- bzr::http://host.xz/path/to/bzr/trunk - read-only HTTP
+- bzr::ftp://host.xz/path/to/bzr/trunk - passive FTP
+- bzr::sftp://host.xz/path/to/bzr/trunk - SFTP
+- bzr::/path/to/bzr/trunk - local filesystem
+
+The URL prefix "bzr://" can be used as an abbreviation for
+"bzr::bzr://" to refer to access over Bazaar protocol.
+
+DEPENDENCIES
+------------
+bzrlib (the Bazaar Python library)
+
+SEE ALSO
+--------
+linkgit:git-fetch[1], *bzr*(1), "bzr help urlspec",
+linkgit:gitremote-helpers[1]
+
+GIT
+---
+Part of the linkgit:git[1] suite
diff --git a/debian/rules b/debian/rules
index 43b47658..9ca97c3c 100755
--- a/debian/rules
+++ b/debian/rules
@@ -57,9 +57,15 @@ build-arch-stamp: patch-stamp
 build-indep: deb-checkdir build-indep-stamp
 build-indep-stamp: patch-stamp build-arch-stamp
        $(MAKE) -CDocumentation man html $(DOC_OPTS)
+       $(MAKE) -CDocumentation $(DOC_OPTS) \
+         MAN_TXT=../debian/git-remote-bzr.txt \
+         ../debian/git-remote-bzr.1 \
+         ../debian/git-remote-bzr.html; \
        touch build-indep-stamp
 
 clean: deb-checkdir
+       rm -f debian/git-remote-bzr.xml debian/git-remote-bzr.html
+       rm -f Documentation/git-remote-bzr.1
        $(MAKE) clean $(OPTS)
        ! test -e patch-stamp || \
          for i in `ls -1r debian/diff/*.diff debian/diff/*.patch \
@@ -68,7 +74,7 @@ clean: deb-checkdir
          done
        rm -rf '$(TMP)'
        rm -f patch-stamp build-arch-stamp build-indep-stamp
-       rm -rf '$(GIT)' '$(GIT)'-doc '$(GIT)'-arch '$(GIT)'-cvs
+       rm -rf '$(GIT)' '$(GIT)'-doc '$(GIT)'-arch '$(GIT)'-bzr '$(GIT)'-cvs
        rm -rf '$(GIT)'-svn '$(GIT)'-email '$(GIT)'-el
        rm -rf '$(GIT)'-daemon-run '$(GIT)'-daemon-sysvinit '$(GIT)'-gui
        rm -rf '$(GIT)'k '$(GIT)'web '$(GIT)'-all '$(GIT)'-man '$(GIT)'-core
@@ -187,6 +193,17 @@ install-indep: build-arch-stamp build-indep-stamp
        install -m0644 '$(TMP)'/usr/share/man/man1/git-archimport.1 \
          '$(GIT)'-arch/usr/share/man/man1/
        gzip -9 '$(GIT)'-arch/usr/share/man/man1/*.1
+       # git-bzr
+       rm -rf '$(GIT)'-bzr
+       install -d -m0755 '$(GIT)'-bzr/usr/lib/git-core
+       sed -e 's,/usr/bin/env python,/usr/bin/python,' \
+         contrib/remote-helpers/git-remote-bzr \
+         >'$(GIT)'-bzr/usr/lib/git-core/git-remote-bzr
+       chmod 0755 '$(GIT)'-bzr/usr/lib/git-core/git-remote-bzr
+       install -d -m0755 '$(GIT)'-bzr/usr/share/man/man1
+       install -m0644 Documentation/git-remote-bzr.1 \
+         '$(GIT)'-bzr/usr/share/man/man1/
+       gzip -9 '$(GIT)'-bzr/usr/share/man/man1/*.1
        # git-email
        rm -rf '$(GIT)'-email
        install -d -m0755 '$(GIT)'-email/usr/lib/git-core
@@ -288,12 +305,13 @@ binary-arch: install-arch git.deb
        dpkg-shlibdeps '$(GIT)'/usr/bin/* '$(GIT)'/usr/lib/git-core/*
        dpkg-gencontrol -isp -pgit -P'$(GIT)'
        dpkg -b '$(GIT)' ..
-binary-indep: install-indep git-doc.deb git-arch.deb git-cvs.deb git-svn.deb \
+binary-indep: install-indep git-doc.deb \
+         git-arch.deb git-bzr.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 -bzr -cvs -svn -daemon-run -daemon-sysvinit \
         -email -gui k web -all -core -el -man; do \
          dpkg-gencontrol -isp -pgit$$i -P'$(GIT)'$$i && \
          dpkg -b '$(GIT)'$$i .. || exit 1; \
-- 
1.8.2.rc3

Reply via email to