Bug#878599: git: [PATCH] Ship git-credential-libsecret

2019-12-16 Thread Ville Skyttä
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

2019-12-16 Thread Josh Triplett
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

2019-12-16 Thread Jonathan Nieder
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

2019-12-16 Thread Jonathan Nieder
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

2019-12-15 Thread Josh Triplett
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

2017-10-14 Thread Ville Skyttä
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