On 2026-05-02, Vagrant Cascadian wrote:
> On 2025-01-24, Vagrant Cascadian wrote:
>> On 2024-04-11, Chris Lamb wrote:
>>> Whilst working on the Reproducible Builds effort [0], we noticed that
>>> pympress could not be built reproducibly.
>>>
>>> This is because the generated documentation included memory references
>>> such as the following:
>>>
>>>   pointer = <GdkPixbuf.Pixbuf object at 0x7f2d6ee3e700 (GdkPixbuf at 
>>> 0x1d4cf90)>
>>>
>>> A patch attached that uses Python's "default = None […] if default is
>>> None: default = realdefault" pattern.
>>
>> I found two more issues:
>>
>> The documentation is afffected by LANGUAGE and LC_ALL environment
>> variables.
>>
>> The kernel version is embeded in the documentation.
>>
>> With the two additional patches applied and the original patch submitted
>> by Chris, I think pympress should build reproducibly!
>
> I have confirmed that the patches are still needed and still fix the
> issues. An updated diff attached.
>
> I would like to fix this with an NMU sometime in the coming week or two,
> please let me know if there are any outstanding concerns!

I have uploaded an NMU to DELAYED/10. Debdiff attached!

live well,
  vagrant
diff -Nru pympress-1.8.5/debian/changelog pympress-1.8.5/debian/changelog
--- pympress-1.8.5/debian/changelog     2025-05-09 21:19:22.000000000 -0700
+++ pympress-1.8.5/debian/changelog     2026-05-14 10:08:25.000000000 -0700
@@ -1,3 +1,17 @@
+pympress (1.8.5-4.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+
+  [ Chris Lamb ]
+  * Make the build reproducible (Closes: #1068795)
+
+  [ Vagrant Cascadian ]
+  * pympress/app.py: Redact platform.release and platform.version for
+    reproducible builds.
+  * debian/rules: Force locale for documentation generation.
+
+ -- Vagrant Cascadian <[email protected]>  Thu, 14 May 2026 
10:08:25 -0700
+
 pympress (1.8.5-4) unstable; urgency=medium
 
   * Team upload.
diff -Nru 
pympress-1.8.5/debian/patches/make-the-build-reproducible-closes-10687.patch 
pympress-1.8.5/debian/patches/make-the-build-reproducible-closes-10687.patch
--- 
pympress-1.8.5/debian/patches/make-the-build-reproducible-closes-10687.patch    
    1969-12-31 16:00:00.000000000 -0800
+++ 
pympress-1.8.5/debian/patches/make-the-build-reproducible-closes-10687.patch    
    2026-05-14 10:08:25.000000000 -0700
@@ -0,0 +1,49 @@
+From: Chris Lamb <[email protected]>
+Date: Thu, 11 Apr 2024 17:33:55 -0700
+X-Dgit-Generated: 1.8.5-4 aa7e3587e4dbd812b31a72c314b9685ef01a20ed
+Subject: Make the build reproducible (Closes: #1068795)
+
+
+---
+
+diff --git a/pympress/app.py b/pympress/app.py
+index 7f5e3b7..70dd42c 100644
+--- a/pympress/app.py
++++ b/pympress/app.py
+@@ -150,11 +150,14 @@ class Pympress(Gtk.Application):
+         Gtk.Application.do_startup(self)
+ 
+ 
+-    def do_activate(self, timestamp=GLib.get_current_time()):
++    def do_activate(self, timestamp=None):
+         """ Activate: show UI windows.
+ 
+         Build them if they do not exist, otherwise bring to front.
+         """
++        if timestamp is None:
++            timestamp = GLib.get_current_time()
++
+         if self.gui is None:
+             if self.auto_log_level:
+                 self.activate_action('log-level', logging.INFO)
+diff --git a/pympress/pointer.py b/pympress/pointer.py
+index 1e02b40..98ab58a 100644
+--- a/pympress/pointer.py
++++ b/pympress/pointer.py
+@@ -57,7 +57,7 @@ class Pointer(object):
+         builder (:class:`~pympress.builder.Builder`): A builder from which to 
load widgets
+     """
+     #: :class:`~GdkPixbuf.Pixbuf` to read XML descriptions of GUIs and load 
them.
+-    pointer = GdkPixbuf.Pixbuf()
++    pointer = None
+     #: `(float, float)` of position relative to slide, where the pointer 
should appear
+     pointer_pos = (.5, .5)
+     #: `bool` indicating whether we should show the pointer
+@@ -84,6 +84,7 @@ class Pointer(object):
+ 
+     def __init__(self, config, builder):
+         super(Pointer, self).__init__()
++        self.pointer = GdkPixbuf.Pixbuf()
+         self.config = config
+ 
+         builder.load_widgets(self)
diff -Nru 
pympress-1.8.5/debian/patches/pympressapp.py-redact-platform.release-a.patch 
pympress-1.8.5/debian/patches/pympressapp.py-redact-platform.release-a.patch
--- 
pympress-1.8.5/debian/patches/pympressapp.py-redact-platform.release-a.patch    
    1969-12-31 16:00:00.000000000 -0800
+++ 
pympress-1.8.5/debian/patches/pympressapp.py-redact-platform.release-a.patch    
    2026-05-14 10:08:25.000000000 -0700
@@ -0,0 +1,22 @@
+From: Vagrant Cascadian <[email protected]>
+Date: Fri, 24 Jan 2025 14:53:44 -0800
+X-Dgit-Generated: 1.8.5-4 6bbd467f18ec43b22862edb8dd90e2f820ef799d
+Subject: pympress/app.py: Redact platform.release and platform.version for
+
+reproducible builds.
+
+---
+
+diff --git a/pympress/app.py b/pympress/app.py
+index 70dd42c..9d9b882 100644
+--- a/pympress/app.py
++++ b/pympress/app.py
+@@ -91,7 +91,7 @@ class Pympress(Gtk.Application):
+     version_string = ' '.join([
+         'Pympress:', util.get_pympress_meta()['version'],
+         '; Python:', platform.python_version(),
+-        '; OS:', platform.system(), platform.release(), platform.version(),
++        '; OS:', platform.system(), 'REDACTED', 'REDACTED',
+         '; Gtk {}.{}.{}'.format(Gtk.get_major_version(), 
Gtk.get_minor_version(), Gtk.get_micro_version()),
+         '; GLib {}.{}.{}'.format(GLib.MAJOR_VERSION, GLib.MINOR_VERSION, 
GLib.MICRO_VERSION),
+         '; Poppler', document.Poppler.get_version(), 
document.Poppler.get_backend().value_nick,
diff -Nru pympress-1.8.5/debian/patches/series 
pympress-1.8.5/debian/patches/series
--- pympress-1.8.5/debian/patches/series        2025-05-09 21:19:22.000000000 
-0700
+++ pympress-1.8.5/debian/patches/series        2026-05-14 10:08:25.000000000 
-0700
@@ -4,3 +4,5 @@
 fix-docs-build.patch
 setup.cfg-underscore.patch
 0006-Work-around-pygobject-iterator.patch
+make-the-build-reproducible-closes-10687.patch
+pympressapp.py-redact-platform.release-a.patch
diff -Nru pympress-1.8.5/debian/rules pympress-1.8.5/debian/rules
--- pympress-1.8.5/debian/rules 2025-05-09 21:19:22.000000000 -0700
+++ pympress-1.8.5/debian/rules 2026-05-14 10:08:25.000000000 -0700
@@ -6,6 +6,9 @@
 # Needed by sphinx build
 export HOME=$(CURDIR)/debian/fakehome/
 
+export LANGUAGE=en
+export LC_ALL=C.UTF-8
+
 %:
        dh $@ --with sphinxdoc --buildsystem=pybuild
 

Attachment: signature.asc
Description: PGP signature

Reply via email to