diff -pruN 0.9.39/debian/changelog 0.9.39ubuntu1/debian/changelog
--- 0.9.39/debian/changelog	2025-11-05 08:46:25.000000000 +0000
+++ 0.9.39ubuntu1/debian/changelog	2026-01-06 19:46:49.000000000 +0000
@@ -1,3 +1,11 @@
+git-buildpackage (0.9.39ubuntu1) resolute; urgency=medium
+
+  * fix: doctests failure with rust-coreutils (LP: #2137580)
+    Replace implicit behavior of gnu coreutils true/false in doctest by
+    explicit output and exit code.
+
+ -- Simon Poirier <simon.poirier@canonical.com>  Tue, 06 Jan 2026 14:46:49 -0500
+
 git-buildpackage (0.9.39) unstable; urgency=medium
 
   [ Richard Hansen ]
diff -pruN 0.9.39/debian/control 0.9.39ubuntu1/debian/control
--- 0.9.39/debian/control	2025-11-05 08:02:21.000000000 +0000
+++ 0.9.39ubuntu1/debian/control	2026-01-06 19:46:49.000000000 +0000
@@ -1,7 +1,8 @@
 Source: git-buildpackage
 Section: vcs
 Priority: optional
-Maintainer: Guido Günther <agx@sigxcpu.org>
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+XSBC-Original-Maintainer: Guido Günther <agx@sigxcpu.org>
 Build-Depends:
  debhelper-compat (= 13),
  dh-python,
diff -pruN 0.9.39/gbp/command_wrappers.py 0.9.39ubuntu1/gbp/command_wrappers.py
--- 0.9.39/gbp/command_wrappers.py	2024-10-04 09:55:27.000000000 +0000
+++ 0.9.39ubuntu1/gbp/command_wrappers.py	2026-01-06 19:46:49.000000000 +0000
@@ -238,17 +238,17 @@ class Command(object):
         Traceback (most recent call last):
         ...
         gbp.command_wrappers.CommandExecFailed: execution failed: ...
-        >>> c = Command("/bin/true", capture_stdout=True,
+        >>> c = Command("/bin/sh", capture_stdout=True,
         ...             extra_env={'LC_ALL': 'C'})
-        >>> c.call(["--version"])
+        >>> c.call(["-c", "echo true; exit 0"])
         0
         >>> c.stdout.startswith('true')
         True
-        >>> c = Command("/bin/false", capture_stdout=True,
+        >>> c = Command("/bin/sh", capture_stdout=True,
         ...             extra_env={'LC_ALL': 'C'})
-        >>> c.call(["--help"])
+        >>> c.call(["-c", "echo false; exit 1"])
         1
-        >>> c.stdout.startswith('Usage:')
+        >>> c.stdout.startswith('false')
         True
         """
         ret = 1
diff -pruN 0.9.39/setup.py 0.9.39ubuntu1/setup.py
--- 0.9.39/setup.py	2025-07-14 09:07:15.000000000 +0000
+++ 0.9.39ubuntu1/setup.py	2026-01-06 19:46:49.000000000 +0000
@@ -55,6 +55,7 @@ def _load_version():
 def parse_and_fetch_version():
     if os.path.exists('debian/changelog'):
         version = _parse_changelog()
+        version = version.replace("ubuntu", "+ubuntu")  # PEP440
         _save_version_py(version)
         # we could return with the version here, but instead we check that
         # the file has been properly written and it can be loaded back
