Bug#878599: git: [PATCH] Ship git-credential-libsecret
On Tue, 17 Dec 2019 at 03:23, Jonathan Nieder wrote: > That said, I'd still welcome a git-libsecret (or git-secretservice) > package, just like you're hinting. Patches welcome. Adjusted patch attached. It's untested and I'm not that familiar with building Debian packages, so approach with care. I hope someone will take it to completion from here. From 00cbebce522ca7959aab62946796250d9794a1e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Tue, 17 Dec 2019 07:52:37 +0200 Subject: [PATCH] Ship git-libsecret --- debian/control | 22 +++--- debian/git-libsecret.install | 1 + debian/rules | 6 +- 3 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 debian/git-libsecret.install diff --git a/debian/control b/debian/control index e6be01c90a..716bda9e5f 100644 --- a/debian/control +++ b/debian/control @@ -5,7 +5,7 @@ Maintainer: Gerrit Pape Uploaders: Jonathan Nieder , Anders Kaseorg Build-Depends: libz-dev, gettext, libpcre2-dev | libpcre3-dev, - libcurl4-gnutls-dev, libexpat1-dev, + libcurl4-gnutls-dev, libexpat1-dev, libsecret-1-dev, subversion, libsvn-perl, libyaml-perl, tcl, python, libhttp-date-perl | libtime-parsedate-perl, @@ -33,7 +33,7 @@ Pre-Depends: ${misc:Pre-Depends} Recommends: ca-certificates, patch, less, ssh-client Suggests: gettext-base, git-daemon-run | git-daemon-sysvinit, git-doc, git-el, git-email, git-gui, gitk, gitweb, - git-cvs, git-mediawiki, git-svn + git-cvs, git-mediawiki, git-svn, git-libsecret Replaces: gitweb (<< 1:1.7.4~rc1), git-core (<< 1:1.7.0.4-1.) Breaks: bash-completion (<< 1:1.90-1), gitweb (<< 1:1.7.4~rc1), @@ -323,12 +323,28 @@ Description: fast, scalable, distributed revision control system (web interface) If libcgi-fast-perl is installed, gitweb can also be run over FastCGI (and served by nginx, for example). +Package: git-libsecret +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.) +Description: fast, scalable, distributed revision control system (libsecret credential helper) + 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. + . + This package provides a helper for storing credentials using libsecret. + Package: git-all Architecture: all Multi-Arch: foreign Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), git-doc, git-el, git-cvs, git-mediawiki, git-svn, - git-email, git-gui, gitk, gitweb + git-email, git-gui, gitk, gitweb, git-libsecret Recommends: 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 diff --git a/debian/git-libsecret.install b/debian/git-libsecret.install new file mode 100644 index 00..d61ca822bc --- /dev/null +++ b/debian/git-libsecret.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/git-core/git-credential-libsecret* usr/lib/git-core diff --git a/debian/rules b/debian/rules index d5d81608d8..74b9fb82a1 100755 --- a/debian/rules +++ b/debian/rules @@ -63,6 +63,7 @@ build-stamp: override_dh_auto_build-arch: build-stamp $(MAKE) -C contrib/subtree all $(OPTS) ln -s contrib/subtree/git-subtree + $(MAKE) -C contrib/credential/libsecret all $(OPTS) override_dh_auto_test-arch: test -z '$(TEST)' || \ @@ -90,6 +91,7 @@ override_dh_auto_clean: $(MAKE) -C contrib/subtree clean $(OPTS) $(MAKE) clean $(OPTS) rm -f git-subtree + $(MAKE) -C contrib/credential/libsecret clean $(OPTS) override_dh_clean: dh_clean -Xmailinfo.c.orig @@ -98,11 +100,13 @@ override_dh_auto_install-arch: # git DESTDIR='$(GIT)' $(MAKE) install $(OPTS) DESTDIR='$(GIT)' $(MAKE) -C contrib/subtree install $(OPTS) + install -m0755 contrib/credential/libsecret/git-credential-libsecret \ + '$(GIT)'/usr/lib/git-core/ install -d -m0755 '$(GIT)'/var/lib/git rm -rf '$(GIT)'/usr/share/man # don't include arch, cvs, p4, svn, email, gui tools, and gitk program for i in git-archimport git-cvs git-p4 git-svn git-send-email \ - git-gui git-citool; do \ + git-gui git-citool git-credential-libsecret; do \ rm -f '$(GIT)'/usr/lib/git-core/$$i*; \ done rm -f '$(GIT)'/usr/bin/git-cvsserver -- 2.17.1
Bug#878599: git: [PATCH] Ship git-credential-libsecret
On December 16, 2019 3:17:28 PM PST, Jonathan Nieder wrote: >Hi, > >Josh Triplett wrote: > >> I would love to see git-credential-libsecret packaged. >> >> This patch would ship git-credential-libsecret in the git package, >which >> would add libsecret and its dependencies to the dependencies of git. >> Since many people use the git package on servers, that might not be >> welcome. (I personally wouldn't object, as those dependencies seem >quite >> small.) > >It seems you forgot to attach the patch. > >> It might also make sense to generate a separate >git-credential-libsecret >> binary package containing this binary. > >Yes, that's what I'd prefer: just "git-libsecret", in case we want to >package any other libsecret-related helpers. Or even >"git-secretservice" or "git-gnome". > >Thanks for your work on this. > >Excited, >Jonathan I was responding to the previous patch provided in the bug, and discussing the alternate approach of a second package.
Bug#878599: git: [PATCH] Ship git-credential-libsecret
Josh Triplett wrote: > I would love to see git-credential-libsecret packaged. > > This patch would ship git-credential-libsecret in the git package, which > would add libsecret and its dependencies to the dependencies of git. > Since many people use the git package on servers, that might not be > welcome. (I personally wouldn't object, as those dependencies seem quite > small.) > > It might also make sense to generate a separate git-credential-libsecret > binary package containing this binary. Oh! Now I see what patch you're referring to: https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=878599;filename=0001-Ship-git-credential-libsecret.patch.gz;msg=5 That said, I'd still welcome a git-libsecret (or git-secretservice) package, just like you're hinting. Patches welcome. Sincerely, Jonathan
Bug#878599: git: [PATCH] Ship git-credential-libsecret
Hi, Josh Triplett wrote: > I would love to see git-credential-libsecret packaged. > > This patch would ship git-credential-libsecret in the git package, which > would add libsecret and its dependencies to the dependencies of git. > Since many people use the git package on servers, that might not be > welcome. (I personally wouldn't object, as those dependencies seem quite > small.) It seems you forgot to attach the patch. > It might also make sense to generate a separate git-credential-libsecret > binary package containing this binary. Yes, that's what I'd prefer: just "git-libsecret", in case we want to package any other libsecret-related helpers. Or even "git-secretservice" or "git-gnome". Thanks for your work on this. Excited, Jonathan
Bug#878599: git: [PATCH] Ship git-credential-libsecret
Package: git Version: 1:2.24.0-2 Followup-For: Bug #878599 I would love to see git-credential-libsecret packaged. This patch would ship git-credential-libsecret in the git package, which would add libsecret and its dependencies to the dependencies of git. Since many people use the git package on servers, that might not be welcome. (I personally wouldn't object, as those dependencies seem quite small.) It might also make sense to generate a separate git-credential-libsecret binary package containing this binary. Either way, I'd love to see this packaged. -- System Information: Debian Release: bullseye/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 5.3.0-3-amd64 (SMP w/4 CPU cores) Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages git depends on: ii git-man 1:2.24.0-2 ii libc62.29-6 ii libcurl3-gnutls 7.67.0-2 ii liberror-perl0.17028-1 ii libexpat12.2.9-1 ii libpcre2-8-0 10.34-7 ii perl 5.30.0-9 ii zlib1g 1:1.2.11.dfsg-1+b1 Versions of packages git recommends: ii ca-certificates 20190110 ii less 551-1 ii openssh-client [ssh-client] 1:8.1p1-2 ii patch2.7.6-6 Versions of packages git suggests: ii gettext-base 0.19.8.1-10 pn git-cvs pn git-daemon-run | git-daemon-sysvinit pn git-doc pn git-el pn git-email pn git-gui pn git-mediawiki ii git-svn 1:2.24.0-2 ii gitk 1:2.24.0-2 pn gitweb -- no debconf information
Bug#878599: git: [PATCH] Ship git-credential-libsecret
Package: git Version: 1:2.14.1-1ubuntu4 Severity: wishlist Dear Maintainer, The git package doesn't currently ship with support for any kind of a secret storage for credentials. The attached patch fixes it, by shipping git-credential-libsecret from contrib/. -- System Information: Debian Release: stretch/sid APT prefers artful APT policy: (500, 'artful') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.13.0-16-generic (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages git depends on: ii dpkg 1.18.24ubuntu1 ii git-man 1:2.14.1-1ubuntu4 ii libc62.26-0ubuntu2 ii libcurl3-gnutls 7.55.1-1ubuntu2 ii liberror-perl0.17024-1 ii libexpat12.2.3-1 ii libpcre3 2:8.39-5ubuntu3 ii perl 5.26.0-8ubuntu1 ii zlib1g 1:1.2.11.dfsg-0ubuntu2 Versions of packages git recommends: ii less 481-2.1ubuntu2 ii openssh-client [ssh-client] 1:7.5p1-10 ii patch2.7.5-1build1 Versions of packages git suggests: ii gettext-base 0.19.8.1-4ubuntu1 pn git-cvs pn git-daemon-run | git-daemon-sysvinit pn git-doc pn git-el ii git-email 1:2.14.1-1ubuntu4 pn git-gui pn git-mediawiki pn git-svn ii gitk 1:2.14.1-1ubuntu4 pn gitweb -- no debconf information 0001-Ship-git-credential-libsecret.patch.gz Description: application/gzip