Source: critcl
Version: 3.1.18.1+dfsg-3
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: timestamps
X-Debbugs-Cc: [email protected]

Hi,

Whilst working on the Reproducible Builds effort [0] we noticed that
critcl could not be built reproducibly.

This is because the teapot.txt files contain the current build date:

  │ │ ├── ./usr/lib/tcltk/x86_64-linux-gnu/critcl_callback1/teapot.txt
  │ │ │ @@ -1,10 +1,10 @@
  │ │ │  Package critcl::callback 1
  │ │ │  Meta platform linux-glibc2.30-x86_64
  │ │ │ -Meta build::date 2021-07-26
  │ │ │ +Meta build::date 2020-06-24
  │ │ │  Meta generated::by {critcl 3.1.18} root
  │ │ │  Meta generated::date critcl

A patch is attached that updates these values in the Debian binary
package from the SOURCE_DATE_EPOCH [1] variable instead, but we could
also patch critcl.tcl to use this variable directly (which could go
upstream):

3980         dict set v::code($file) config package build::date \
3981             [list [clock format [clock seconds] -format {%Y-%m-%d}]]
3982


 [0] https://reproducible-builds.org/
 [1] https://reproducible-builds.org/specs/source-date-epoch/


Regards,

--
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      [email protected] / chris-lamb.co.uk
       `-
--- a/debian/rules      2020-06-24 10:06:14.394164865 +0100
--- b/debian/rules      2020-06-24 10:17:09.051304611 +0100
@@ -1,6 +1,9 @@
 #!/usr/bin/make -f
 
 include /usr/share/dpkg/architecture.mk
+include /usr/share/dpkg/pkg-info.mk
+
+BUILD_DATE = $(shell date --utc --date="@$(SOURCE_DATE_EPOCH)" +%Y-%m-%d)
 
 export CRITCL_VER := $(shell sed -n "/package provide critcl/s/.*critcl //gp" 
lib/critcl/critcl.tcl)
 
@@ -33,6 +36,8 @@
                rm -rf 
debian/critcl/usr/share/tcltk/critcl$(CRITCL_VER)/critcl_c/tcl$$d; \
                ln -s /usr/include/tcl$$d 
debian/critcl/usr/share/tcltk/critcl$(CRITCL_VER)/critcl_c/tcl$$d; \
        done
+       find debian/critcl/usr -name teapot.txt -print0 | \
+               xargs -0r sed -i -e 's,^\(Meta build::date\).*,\1 
$(BUILD_DATE),'
 
 override_dh_installman:
        mkdir -p debian/tmp/man
_______________________________________________
Pkg-tcltk-devel mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-tcltk-devel

Reply via email to