Bug#947608: markdown: please make the output reproducible

2019-12-29 Thread Chris Lamb
Hi Matthew Kraai,

> I think it was already fixed in unstable for #845055.  It was not
> fixed in experimental, which this bug addresses.

Hm, that's kinda funny, as I originally saw this problem originate in
unstable:

  
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/diffoscope-results/abyss.html

... and assuming it was a problem in markdown I did an "apt-get
source" which pulled in the unfixed experimental version! (ie. the fix
for the above package is elsewhere).

Thanks for the upload regardless; good to fix this in experimental.


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org  chris-lamb.co.uk
   `-



Bug#947608: markdown: please make the output reproducible

2019-12-28 Thread Matthew Kraai
Hi,

On Sat, Dec 28, 2019 at 08:25:12PM +, Chris Lamb wrote:
> > Oops, it looks like it was already fixed by your change for #845055.
> 
> Ah, so this just requires being uploaded to unstable?

I think it was already fixed in unstable for #845055.  It was not
fixed in experimental, which this bug addresses.

-- 
Matt



Bug#947608: markdown: please make the output reproducible

2019-12-28 Thread Chris Lamb
Hi Matthew,

> Oops, it looks like it was already fixed by your change for #845055.

Ah, so this just requires being uploaded to unstable?


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org  chris-lamb.co.uk
   `-



Bug#947608: markdown: please make the output reproducible

2019-12-28 Thread Matthew Kraai
On Sat, Dec 28, 2019 at 05:42:52PM +, Chris Lamb wrote:
> > > Whilst working on the Reproducible Builds effort [0] we noticed that
> > > markdown generates output that is not reproducible.
> […]
> > Would you like me to upload this to unstable as well as experimental?
> 
> Very much so, thank you.

Oops, it looks like it was already fixed by your change for #845055.

-- 
Matt



Bug#947608: markdown: please make the output reproducible

2019-12-28 Thread Matthew Kraai
Hi,

On Sat, Dec 28, 2019 at 02:27:34PM +, Chris Lamb wrote:
> Whilst working on the Reproducible Builds effort [0] we noticed that
> markdown generates output that is not reproducible.
> 
> Specifically it encodes some email addresses using random HTML
> entities in an attempt to thwart spammers. A patch is attached that
> seeds the random number generation with a deterministic value based on
> SOURCE_DATE_EPOCH [1].
> 
>   [0] https://reproducible-builds.org/
>   [1] https://reproducible-builds.org/specs/source-date-epoch/

Would you like me to upload this to unstable as well as experimental?

-- 
Matt



Bug#947608: markdown: please make the output reproducible

2019-12-28 Thread Chris Lamb
Hi Matthew,

> > Whilst working on the Reproducible Builds effort [0] we noticed that
> > markdown generates output that is not reproducible.
[…]
> Would you like me to upload this to unstable as well as experimental?

Very much so, thank you.


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org  chris-lamb.co.uk
   `-



Bug#947608: markdown: please make the output reproducible

2019-12-28 Thread Chris Lamb
Source: markdown
Version: 1.0.2~b8-6
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: randomness toolchain
X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org

Hi,

Whilst working on the Reproducible Builds effort [0] we noticed that
markdown generates output that is not reproducible.

Specifically it encodes some email addresses using random HTML
entities in an attempt to thwart spammers. A patch is attached that
seeds the random number generation with a deterministic value based on
SOURCE_DATE_EPOCH [1].

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


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org / chris-lamb.co.uk
   `-
diff --git a/Markdown.pl b/Markdown.pl
index 62e0dfe..0325049 100755
--- a/Markdown.pl
+++ b/Markdown.pl
@@ -1338,7 +1338,7 @@ sub _EncodeEmailAddress {
 
my $addr = shift;
 
-   srand;
+   srand($ENV{SOURCE_DATE_EPOCH} || time);
my @encode = (
sub {