Source: pixelmed-codec
Version: 20200328-2
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
pixelmed-codec could not be built reproducibly.

This is because recently (?) upstream generated a new imageio .jar
file and my previous patch to ensure that the BUILDDATE file needed to
be updated.

Patch attached that abstracts out the generation and uses it two
places.

 [0] https://reproducible-builds.org/


Regards,

--
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      [email protected] / chris-lamb.co.uk
       `-
--- a/Makefile  2020-08-10 11:23:34.813798287 +0100
--- b/Makefile  2020-08-10 11:44:43.921980734 +0100
@@ -65,20 +65,21 @@
        rm -f META-INF/services/javax.imageio.spi.ImageReaderSpi
        echo >META-INF/services/javax.imageio.spi.ImageReaderSpi 
"com.pixelmed.imageio.JPEGLosslessImageReaderSpi"
 
-pixelmed_codec.jar:
-       (cd com/pixelmed/codec/jpeg; make all)
+BUILDDATE:
 ifdef SOURCE_DATE_EPOCH
-       LC_ALL=C date --utc --date="@$$SOURCE_DATE_EPOCH" >BUILDDATE
+       LC_ALL=C date --utc --date="@$$SOURCE_DATE_EPOCH" >$@
 else
-       date >BUILDDATE
+       date >$@
 endif
+
+pixelmed_codec.jar: BUILDDATE
+       (cd com/pixelmed/codec/jpeg; make all)
        jar -cvf $@ BUILDDATE COPYRIGHT \
                com/pixelmed/codec/jpeg/*.class
 
-pixelmed_imageio.jar:  metainf
+pixelmed_imageio.jar: metainf BUILDDATE
        (cd com/pixelmed/codec/jpeg; make all)
        (cd com/pixelmed/imageio; make all)
-       date >BUILDDATE
        jar -cvf $@ BUILDDATE COPYRIGHT \
                META-INF/services/javax.imageio.spi.ImageReaderSpi \
                com/pixelmed/codec/jpeg/*.class \
--- a/debian/patches/reproducible_build.patch   2020-08-10 11:23:34.817798340 
+0100
--- b/debian/patches/reproducible_build.patch   2020-08-10 11:44:51.858080884 
+0100
@@ -3,17 +3,31 @@
 Last-Update: 2016-08-11
 Bug-Debian: https://bugs.debian.org/834052
 
---- a/Makefile
-+++ b/Makefile
-@@ -67,7 +67,11 @@ metainf:
+--- pixelmed-codec-20200328.orig/Makefile
++++ pixelmed-codec-20200328/Makefile
+@@ -65,16 +65,21 @@ metainf:
+       rm -f META-INF/services/javax.imageio.spi.ImageReaderSpi
+       echo >META-INF/services/javax.imageio.spi.ImageReaderSpi 
"com.pixelmed.imageio.JPEGLosslessImageReaderSpi"
  
- pixelmed_codec.jar:
-       (cd com/pixelmed/codec/jpeg; make all)
+-pixelmed_codec.jar:
++BUILDDATE:
 +ifdef SOURCE_DATE_EPOCH
-+      LC_ALL=C date --utc --date="@$$SOURCE_DATE_EPOCH" >BUILDDATE
++      LC_ALL=C date --utc --date="@$$SOURCE_DATE_EPOCH" >$@
 +else
-       date >BUILDDATE
++      date >$@
 +endif
++
++pixelmed_codec.jar: BUILDDATE
+       (cd com/pixelmed/codec/jpeg; make all)
+-      date >BUILDDATE
        jar -cvf $@ BUILDDATE COPYRIGHT \
                com/pixelmed/codec/jpeg/*.class
  
+-pixelmed_imageio.jar: metainf
++pixelmed_imageio.jar: metainf BUILDDATE
+       (cd com/pixelmed/codec/jpeg; make all)
+       (cd com/pixelmed/imageio; make all)
+-      date >BUILDDATE
+       jar -cvf $@ BUILDDATE COPYRIGHT \
+               META-INF/services/javax.imageio.spi.ImageReaderSpi \
+               com/pixelmed/codec/jpeg/*.class \

Reply via email to