Bug#840741: http-icons: please make the build reproducible

Chris Lamb lamby at debian.org
Fri Oct 14 11:07:21 UTC 2016


Source: http-icons
Version: 0~20041010-1
Severity: wishlist
Tags: patch
User: reproducible-builds at lists.alioth.debian.org
Usertags: randomness
X-Debbugs-Cc: reproducible-builds at lists.alioth.debian.org

Hi,

Whilst working on the Reproducible Builds effort [0], we noticed
that http-icons could not be built reproducibly.

The GIF images were being optimised while building by converting
to PNM and back to GIF. The conversion back to GIF introduced some
variation.

Upon further investigation, it looked like this "optimisation" was
actually increasing the sizes of images (!), so I am just actually
just dropping the optimisation here. :)

Patch attached.

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


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby at debian.org / chris-lamb.co.uk
       `-
-------------- next part --------------
--- a/debian/control	2016-10-14 12:46:59.733298732 +0200
--- b/debian/control	2016-10-14 13:05:41.960636682 +0200
@@ -6,8 +6,7 @@
  devscripts,
  debhelper,
  dh-buildinfo,
- optipng,
- netpbm
+ optipng
 Standards-Version: 3.9.3
 Homepage: http://www.ideocentric.com/technology/articles/title/apache-icons
 Vcs-Git: git://git.debian.org/git/collab-maint/http-icons.git
--- a/debian/rules	2016-10-14 12:46:59.733298732 +0200
--- b/debian/rules	2016-10-14 13:05:46.152701399 +0200
@@ -38,15 +38,11 @@
 DEB_COPYRIGHT_CHECK_IGNORE_REGEX = ^(.*\.(gif|png))|debian/(changelog|copyright(|_hints|_newhints))$
 
 # optimize images, and recreate broken blank.png from blank.gif
-CDBS_BUILD_DEPENDS += , optipng, netpbm
+CDBS_BUILD_DEPENDS += , optipng
 build/$(pkg):: debian/stamp-optimize-images
 debian/stamp-optimize-images:
 	mkdir -p build/small; \
-	set -e; for img in *.gif small/*.gif; do \
-		giftopnm --alphaout=build/$$img.alpha $$img > build/$$img.pnm; \
-		ppmtogif -sort -alpha=build/$$img.alpha build/$$img.pnm > build/$$img; \
-		rm -f build/$$img.alpha build/$$img.pnm; \
-	done
+	set -e; for img in *.gif small/*.gif; do cp -v $$img build/$$img; done
 	find . -maxdepth 1 -name '*.png' \! -name 'blank.png' -exec optipng -nx -force {} -dir build {} \;
 	optipng -nx -force -out build/blank.png blank.gif
 	optipng -nx -force -dir build/small small/*.png


More information about the Reproducible-builds mailing list