Hello,

this thread seems to be stale, but I'd still like to have the libsecret
credential helper present in Debian repository.

I tested the submitted patch and did some adjustments so that the
package actually builds. I did it against 2.20 because I was not able to
find git branch for current stable 2.30.2, but when I tried on the
downloaded 2.30.2 sources, the patch applied with one minimal change.

I will be happy to modify to the last stable if you point me to it.
(The debian-stable branch points to 2.20).

I also tested the resulting 2.30 package on my Bullseye machine and it
installs and works fine (it's just not listed in `git help -a`, but I'm
not sure that it should be).

Can we ressurect the discussion and progress with this topic?

Best regards,
Vit Kabele

-- >8 --

Create a new package git-libsecret that builds the libsecret
compatible git credentials helper as a new package.

Signed-off-by: Ville Skyttä <ville.sky...@iki.fi>
Co-authored-by: Vit Kabele <vit.kab...@sysgo.com>
---
 debian/control               | 22 +++++++++++++++++++---
 debian/git-libsecret.install |  1 +
 debian/rules                 |  5 +++++
 3 files changed, 25 insertions(+), 3 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 <p...@smarden.org>
 Uploaders: Jonathan Nieder <jrnie...@gmail.com>, Anders Kaseorg 
<ande...@mit.edu>
 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 0000000000..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..5febe17ac0 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,6 +100,9 @@ override_dh_auto_install-arch:
        # git
        DESTDIR='$(GIT)' $(MAKE) install $(OPTS)
        DESTDIR='$(GIT)' $(MAKE) -C contrib/subtree install $(OPTS)
+       install -d -m0755 '$(TMP)'/usr/lib/git-core/
+       install -m0755 contrib/credential/libsecret/git-credential-libsecret \
+        '$(TMP)'/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
-- 
2.30.2

Reply via email to