[Git][reproducible-builds/reproducible-presentations][master] 9 commits: re-py-ducible: abbreviate pympress diff.

Vagrant Cascadian (@vagrant) gitlab at salsa.debian.org
Sat Jan 25 00:32:39 UTC 2025



Vagrant Cascadian pushed to branch master at Reproducible Builds / reproducible-presentations


Commits:
0b11bdb7 by Vagrant Cascadian at 2025-01-24T13:40:01-08:00
re-py-ducible: abbreviate pympress diff.

- - - - -
bff6da89 by Vagrant Cascadian at 2025-01-24T13:48:10-08:00
re-py-ducible: sneaky debian.

- - - - -
f71dc209 by Vagrant Cascadian at 2025-01-24T14:01:20-08:00
re-py-ducible: clean up python 3.13.1 invalidation-mode default
behavior.

- - - - -
909ccdcb by Vagrant Cascadian at 2025-01-24T14:03:31-08:00
re-py-ducible: explicitly mention reprotest --auto-build.

- - - - -
9f676556 by Vagrant Cascadian at 2025-01-24T16:04:29-08:00
re-py-ducible: slides for newly discovered pympress issues.

- - - - -
6289859e by Vagrant Cascadian at 2025-01-24T16:05:58-08:00
re-py-ducible: more playful slide names for wxmplot and pympress slides

- - - - -
78ee45b9 by Vagrant Cascadian at 2025-01-24T16:26:15-08:00
re-py-ducible: reproducibility of python itself.

- - - - -
63075083 by Vagrant Cascadian at 2025-01-24T16:28:22-08:00
re-py-ducible: split pympress mixed messages slide.

- - - - -
3ba70f83 by Vagrant Cascadian at 2025-01-24T16:31:49-08:00
re-py-ducible: update coypright, it is 2025 now!

- - - - -


1 changed file:

- 2025-02-08-pycascades-Re-Py-Ducible-Builds/Re-Py-Ducible-Builds.org


Changes:

=====================================
2025-02-08-pycascades-Re-Py-Ducible-Builds/Re-Py-Ducible-Builds.org
=====================================
@@ -109,7 +109,7 @@ https://tests.reproducible-builds.org/debian/unstable/amd64/pkg_set_maint_debian
 
 * Debian sneaks around some of the problems
 
-.pyc contain timestamps and Debian generates them at install time!
+.pyc contain timestamps
 
 #+BEGIN_SRC Shell
 diffoscope __pycache__.*/*.pyc
@@ -124,6 +124,8 @@ diffoscope __pycache__.*/*.pyc
 │  code:     starts at offset 16 (size: 392 bytes)
 #+END_SRC
 
+Debian generates them at install time!
+
 * Python 3.7 invalidation-mode
 
 Guix uses the invalidation-mode feature introduced in python 3.7
@@ -136,14 +138,17 @@ Using a hash of the file rather than timestamps
 
 * Python 3.13.1 to the rescue
 
-Workaround in python 3.13.1:
+Python 3.13.1 has a reasonable default for invalidation mode!
 
-https://docs.python.org/3/library/compileall.html#cmdoption-compileall-invalidation-mode
+#+BEGIN_SRC URL
+https://docs.python.org/3/library/compileall.html
+#+END_SRC
 
-Respects SOURCE_DATE_EPOCH environment variable and uses a hash
-instead of a timestamp.
+"The default is timestamp if the SOURCE_DATE_EPOCH environment
+variable is not set, and checked-hash if the SOURCE_DATE_EPOCH
+environment variable is set."
 
-* wxmplot example
+* wxmplot and the date the copyright stood still
 
 https://bugs.debian.org/1059013
 
@@ -163,17 +168,14 @@ https://bugs.debian.org/1059013
 +copyright = f'{date_str}, Matthew Newville, The University of Chicago'
 #+END_SRC
 
-* pympress example
+* pympress and the mysterious memory dumps in your documentation
 
 https://bugs.debian.org/1068795
 
 #+BEGIN_SRC Shell
 --- pympress-1.8.5.orig/pympress/app.py
 +++ pympress-1.8.5/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.
@@ -184,10 +186,79 @@ https://bugs.debian.org/1068795
 +            timestamp = GLib.get_current_time()
 +
          if self.gui is None:
-             if self.auto_log_level:
-                 self.activate_action('log-level', logging.INFO)
 #+END_SRC
 
+* pympress wants to be a bit too thorough in documentation
+
+The pympress docs contained:
+
+#+BEGIN_SRC Shell
+OS:...Linux</span>·<span·class="pre">6.11.10+bpo-amd64...
+vs.
+OS:...Linux</span>·<span·class="pre">6.1.0-28-amd64...
+#+END_SRC
+
+* pympress documenttion has your kernel right there in the code
+
+And pympress code that put the kernel in the docs:
+
+#+BEGIN_SRC Python
+    version_string = ' '.join([
+        ...
+        '; OS:', platform.system(), platform.release(), platform.version(),
+#+END_SRC
+
+* pympress and the art of less is more
+
+Do we need the kernel version of where the documentation was built?
+
+#+BEGIN_SRC Python
+    version_string = ' '.join([
+        ...
+        '; OS:', platform.system(), 'REDACTED', 'REDACTED',
+#+END_SRC
+
+Nahhh...
+
+* pympress and the case of the mixed messages
+
+So a bunch of generated documentation was helpfully translated:
+
+#+BEGIN_SRC Shell
+<span·class="pre">draw</span>·<span·class="pre">on</span>...
+vs.
+<span·class="pre">disegnare</span>·<span·class="pre">sulla</span>...
+#+END_SRC
+
+* pympress workaround for the case of the mixed messages
+
+Stripping out the XML markup:
+
+#+BEGIN_SRC Shell
+draw on the current slide
+vs.
+disegnare sulla diapositiva corrente
+#+END_SRC
+
+Workaround was to specify the LANGUAGE and other locale environment
+variables in the build environment.
+
+* The same snakes
+
+#+BEGIN_SRC URL
+https://amd64.reproduce.debian.net/#python3.13
+#+END_SRC
+
+Python 3.13 in Debian is Reproducible!
+
+* Not all snakes are the same
+
+#+BEGIN_SRC URL
+https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/python3.13.html
+#+END_SRC
+
+Or is it? Oh noes? Some caveats apply.
+
 * diffoscope example
 
 [[./images/diffoscope.png]]
@@ -229,13 +300,14 @@ https://try.diffoscope.org
   reprotest --verbose \
 			--vary=-fileordering,-domain_host \
 			--vary=-user_group,-time \
+			--auto-build \
 			auto -- null
 #+END_SRC
 
 #+ATTR_BEAMER: :overlay <+->
 - reproducibility build checks with extensive variations
 - flexibly define which variations to use
-- options to "bisect" to identify nature of reproducibility issue
+- options to "bisect" with to identify nature of reproducibility issue
 - needs maintenence and updating
 
 * Thanks
@@ -252,7 +324,7 @@ https://reproducible-builds.org/who/sponsors
 \addtocounter{framenumber}{-1}
 \tiny
 
-  Copyright 2016-2024 Vagrant Cascadian <vagrant at reproducible-builds.org>
+  Copyright 2016-2025 Vagrant Cascadian <vagrant at reproducible-builds.org>
   Portions by contributors to the reproducible-builds.org website.
 
   This work is licensed under the Creative Commons



View it on GitLab: https://salsa.debian.org/reproducible-builds/reproducible-presentations/-/compare/a018512c5fb0c4811f399ec55d3012c762455615...3ba70f83338d2bc1e071522cbad36b3aafb91584

-- 
View it on GitLab: https://salsa.debian.org/reproducible-builds/reproducible-presentations/-/compare/a018512c5fb0c4811f399ec55d3012c762455615...3ba70f83338d2bc1e071522cbad36b3aafb91584
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.reproducible-builds.org/pipermail/rb-commits/attachments/20250125/aa316935/attachment.htm>


More information about the rb-commits mailing list