[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