Your message dated Tue, 12 May 2015 07:48:49 +0000 with message-id <[email protected]> and subject line Bug#775228: fixed in gamera 3.4.2-1 has caused the Debian Bug report #775228, regarding gamera: please make the build reproducible to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 775228: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=775228 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Source: gamera Version: 3.4.1+svn1423-4 Severity: wishlist Tags: patch User: [email protected] Usertags: randomness Hi! While working on the “reproducible builds” effort [1], we have noticed that gamera could not be built reproducibly. The example/documentation images generated during the build depend on random values, which are seeded with the current system time. The attached patch fixes this by seeding the PRNG with a fixed value. Once applied, gamera can be built reproducibly in our current experimental framework. Regards, Reiner [1]: https://wiki.debian.org/ReproducibleBuildsdiff --git a/debian/changelog b/debian/changelog index fb15c4f..724e6c6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +gamera (3.4.1+svn1423-4.0~reproducible1) UNRELEASED; urgency=low + + * Added patch to make build reproducible by using constant seed + for generation of example/documentation images. + + -- Reiner Herrmann <[email protected]> Mon, 12 Jan 2015 20:04:17 +0100 + gamera (3.4.1+svn1423-4) unstable; urgency=medium * Upload to unstable. diff --git a/debian/patches/constant_seed_for_docs.diff b/debian/patches/constant_seed_for_docs.diff new file mode 100644 index 0000000..e07cff9 --- /dev/null +++ b/debian/patches/constant_seed_for_docs.diff @@ -0,0 +1,87 @@ +Author: Reiner Herrmann <[email protected]> +Description: use constant seed for example images + Importing random will seed the prng with the current system time, + which will produce different example images on every build. + To make the build reproducible, use a constant seed value. + +Index: gamera-3.4.1+svn1423/gamera/plugins/draw.py +=================================================================== +--- gamera-3.4.1+svn1423.orig/gamera/plugins/draw.py ++++ gamera-3.4.1+svn1423/gamera/plugins/draw.py +@@ -61,8 +61,9 @@ class draw_marker(PluginFunction): + author = "Michael Droettboom" + + def __doc_example1__(images): +- from random import randint ++ from random import randint, seed + from gamera.core import Image, Dim ++ seed(0) + image = Image((0, 0), Dim(100, 100), RGB, DENSE) + points = [(randint(0, 100), randint(0, 100)) for x in range(4)] + image.draw_bezier(*tuple(list(points) + [RGBPixel(255, 0, 0), 0.1])) +@@ -106,8 +107,9 @@ class draw_line(PluginFunction): + __call__ = staticmethod(__call__) + + def __doc_example1__(images): +- from random import randint ++ from random import randint, seed + from gamera.core import Image, Dim ++ seed(0) + image = Image((0, 0), Dim(100, 100), RGB, DENSE) + for i in range(10): + image.draw_line((randint(0, 100), randint(0, 100)), +@@ -160,8 +162,9 @@ class draw_hollow_rect(PluginFunction): + __call__ = staticmethod(__call__) + + def __doc_example1__(images): +- from random import randint ++ from random import randint, seed + from gamera.core import Image, Dim ++ seed(0) + image = Image((0, 0), Dim(100, 100), RGB, DENSE) + for i in range(10): + image.draw_hollow_rect((randint(0, 100), randint(0, 100)), +@@ -199,8 +202,9 @@ class draw_filled_rect(PluginFunction): + __call__ = staticmethod(__call__) + + def __doc_example1__(images): +- from random import randint ++ from random import randint, seed + from gamera.core import Image, Dim ++ seed(0) + image = Image((0, 0), Dim(100, 100), RGB, DENSE) + for i in range(10): + image.draw_filled_rect((randint(0, 100), randint(0, 100)), +@@ -244,8 +248,9 @@ class draw_bezier(PluginFunction): + __call__ = staticmethod(__call__) + + def __doc_example1__(images): +- from random import randint ++ from random import randint, seed + from gamera.core import Image, Dim ++ seed(0) + image = Image((0, 0), Dim(100, 100), RGB, DENSE) + for i in range(10): + image.draw_bezier((randint(0, 100), randint(0, 100)), +@@ -292,8 +297,9 @@ class draw_circle(PluginFunction): + __call__ = staticmethod(__call__) + + def __doc_example1__(images): +- from random import randint ++ from random import randint, seed + from gamera.core import Image, Dim ++ seed(0) + image = Image((0, 0), Dim(100, 100), RGB, DENSE) + for i in range(10): + image.draw_circle((randint(0, 100), randint(0, 100)), +@@ -447,8 +453,9 @@ class draw_text(PluginFunction): + __call__ = staticmethod(__call__) + + def __doc_example1__(images): +- from random import randint ++ from random import randint, seed + from gamera.core import Image, Dim ++ seed(0) + image = Image((0, 0), Dim(320, 300), RGB, DENSE) + + # These are some various Unicode encoded names of different diff --git a/debian/patches/series b/debian/patches/series index 235e76b..c8bb80a 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -11,3 +11,4 @@ trap-errors-from-pclose.diff fix-typos.diff avoid_mktemp.diff gendoc-version-parsing.diff +constant_seed_for_docs.diff
signature.asc
Description: OpenPGP digital signature
--- End Message ---
--- Begin Message ---Source: gamera Source-Version: 3.4.2-1 We believe that the bug you reported is fixed in the latest version of gamera, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [email protected], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Daniel Stender <[email protected]> (supplier of updated gamera package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [email protected]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 1.8 Date: Tue, 12 May 2015 00:28:47 PDT Source: gamera Binary: python-gamera python-gamera-dbg python-gamera-dev gamera-gui gamera-doc Architecture: source all Version: 3.4.2-1 Distribution: unstable Urgency: medium Maintainer: Daniel Stender <[email protected]> Changed-By: Daniel Stender <[email protected]> Description: python-gamera - framework for building document analysis applications python-gamera-dbg - framework for document analysis applications (debug symbols) python-gamera-dev - framework for document analysis applications (header files) gamera-gui - GUI for the Gamera framework gamera-doc - documentation for the Gamera framework Closes: 775228 784680 Changes: gamera (3.4.2-1) unstable; urgency=medium . * New upstream release. * Added constant-seed-for-docs.diff to make build reproducible by using constant seed for generation of example/documentation images (Closes: #775228). * Added docs-no-modified-timestamp.diff (Closes: #784680). * deb/control: + added dh-python to build-deps. + updated Vcs fields (moved to git). * deb/copyright: updated. * deb/patches: + fix-typos.diff: corrected path error. + dropped avoid_mktemp.diff, gendoc-version-parsing.diff, suppress- wxdebug-assertion-messages.diff, wxpython3.0-transition.diff (applied upstream). + added gendoc-no-sflogo.diff (dropped sflogo removal from deb/rules). * Added deb/gbp.conf. Checksums-Sha256: 0ff00de4fd695f8c11ce4a6b62da0b188766a29510cffe83fbfc4b1941409918 2479 gamera_3.4.2-1.dsc 492aecc19d209f44178fb560837eebdfc25743cbd90bef8a6dcce985f5f9a542 5306498 gamera_3.4.2.orig.tar.gz b3847fc0c913db7dffe321b40c94ef0b88d1b6225316eb1e1defb0e9a816b094 31228 gamera_3.4.2-1.debian.tar.xz d8c51e99a7c77c8737d6d1804fa1dcf01b0a3556afb3ecef0f3931562e079882 2742454 gamera-doc_3.4.2-1_all.deb c2239fe2ee7b94b171c585942f94ff373db6fb4104359269c31a3e1ae961783b 372688 gamera-gui_3.4.2-1_all.deb 286051d4cf55cb6bc58de1e7b94639f29b319ca54be0bf4fc03ae5835576a858 158460 python-gamera-dev_3.4.2-1_all.deb Checksums-Sha1: 486e4a6de6e1b21709ca195ff759cd394500db22 2479 gamera_3.4.2-1.dsc 16263b7007401ad4b6ffdb27cdbab77281ab87fd 5306498 gamera_3.4.2.orig.tar.gz fa563ec2ba103ef60199d4d0db5d28eca9672df4 31228 gamera_3.4.2-1.debian.tar.xz 15c9cc87c84392f1c30b4e924d83ef2a32bf6d1a 2742454 gamera-doc_3.4.2-1_all.deb 4e6cca7602e73da6630826dd2825f19894abbb51 372688 gamera-gui_3.4.2-1_all.deb 35108ce09a8a28a7b125047234cec19aebc37b05 158460 python-gamera-dev_3.4.2-1_all.deb Files: 64b5ee5c7afd5b1647bafb596a66cceb 2479 python optional gamera_3.4.2-1.dsc ca31f70a9735203bc1f37073e8a2a495 5306498 python optional gamera_3.4.2.orig.tar.gz 88132fdf019fa7cbc9a2dc0d5a57fa1d 31228 python optional gamera_3.4.2-1.debian.tar.xz 1f80a5473036569ac670b04f6e9fc1c0 2742454 doc optional gamera-doc_3.4.2-1_all.deb 58445e7c19baecf5669bd25eb8a19769 372688 python optional gamera-gui_3.4.2-1_all.deb d7f7a2353ec7b797145b046eed1bfd50 158460 python optional python-gamera-dev_3.4.2-1_all.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCAAGBQJVUauzAAoJEI7tzBuqHzL/6P8QAPT5i6abOY/IeEkn/u73ztXK CHxP4f9qovK1cedoqIGAGoMEXd+RvwrisskSwnMRWXVfaM0p4hoNVGxoLpxsrFkI pY4gx2wowORbPK8/phSt32CpTzhniv/cyB8QpaerTwakNK229ba5VMQWRQQjDNiW gnzAgU2k5bBmI3T59Hc1COT5/5wxQaZJKRgyzAdpA7eXTb6CuvVG2evt12mD6481 IYTyn5p/JjTMEpzUTXqCMucg3I2HjjGeUnAgkskqJXSUS9PEf58aaYg7oO6Kswyt M5DqmQY8oXgZVOuRY2sJcd/HABEVHput2eHt0wPtHXilbfIGJ5lFttm1TpNkfl6O Z7fdxTfhQaDwC8nutM/2Rw+R91KfmtzJMqyeS4dIB2SpwCRm6N3THyizbBU/Gn+d qU6fQ/TFUq5RoJlww+zHhq5QmSYmJG6TsSfjM8JkVi7ZcWXoywRr4hWVWwGOnayd uLQl9KYcVORRrLja8f10etIV4mKQ104WstNeWYJ8EACHyEmHihe9tzAfrrBmM+P1 ecGgJvmBI7HgsTmraX+cRj7dO8xaT1F8tMP79vY7sueMgLEddnNwomWC8k2jAWgd AEZXnBuR3Epb23NioMdNMjyRIbIHLzD4ULg/Aa2xuw3pdnnIykQcqUSpwahlt81+ rWr1wiRJ3f5ObBKcIQPh =AKx0 -----END PGP SIGNATURE-----
--- End Message ---

