Debian Bug report logs - #906720
leiningen-clojure: please make the build reproducible

version graph

Package: src:leiningen-clojure; Maintainer for src:leiningen-clojure is Debian Clojure Maintainers <team+clojure@tracker.debian.org>;

Reported by: Chris Lamb <lamby@debian.org>

Date: Mon, 20 Aug 2018 07:36:01 UTC

Severity: wishlist

Tags: patch

Found in version leiningen-clojure/2.8.1-7

Reply or subscribe to this bug.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, reproducible-bugs@lists.alioth.debian.org, Debian Clojure Maintainers <pkg-clojure-maintainers@lists.alioth.debian.org>:
Bug#906720; Package src:leiningen-clojure. (Mon, 20 Aug 2018 07:36:04 GMT) (full text, mbox, link).


Acknowledgement sent to Chris Lamb <lamby@debian.org>:
New Bug report received and forwarded. Copy sent to reproducible-bugs@lists.alioth.debian.org, Debian Clojure Maintainers <pkg-clojure-maintainers@lists.alioth.debian.org>. (Mon, 20 Aug 2018 07:36:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Chris Lamb <lamby@debian.org>
To: submit@bugs.debian.org
Subject: leiningen-clojure: please make the build reproducible
Date: Mon, 20 Aug 2018 08:33:46 +0100
[Message part 1 (text/plain, inline)]
Source: leiningen-clojure
Version: 2.8.1-7
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: umask
X-Debbugs-Cc: reproducible-bugs@lists.alioth.debian.org

Hi,

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

This is because you disabled the running of strip-nondeterminism
in December 2017:

  leiningen-clojure (2.8.1-2) unstable; urgency=medium

    * Fix package dependencies.
    * Fix broken autopkgtests.
    * Remove strip-nondeterminism to address performance issues.
    * Fix broken lein-core jar.

   -- Elana Hashman <ehashman@debian.org>  Sat, 23 Dec 2017 18:36:52  -0500

Patch attached that reverts this. It is no longer and issue and/or
should be fixed in strip-nondeterminism itself.

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


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby@debian.org / chris-lamb.co.uk
       `-
[leiningen-clojure.diff.txt (text/plain, attachment)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Clojure Maintainers <pkg-clojure-maintainers@lists.alioth.debian.org>:
Bug#906720; Package src:leiningen-clojure. (Tue, 21 Aug 2018 02:45:03 GMT) (full text, mbox, link).


Acknowledgement sent to Elana Hashman <ehashman@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Clojure Maintainers <pkg-clojure-maintainers@lists.alioth.debian.org>. (Tue, 21 Aug 2018 02:45:03 GMT) (full text, mbox, link).


Message #10 received at submit@bugs.debian.org (full text, mbox, reply):

From: Elana Hashman <ehashman@debian.org>
To: Chris Lamb <lamby@debian.org>, 906720@bugs.debian.org
Cc: submit@bugs.debian.org
Subject: Re: Bug#906720: leiningen-clojure: please make the build reproducible
Date: Mon, 20 Aug 2018 22:40:25 -0400
[Message part 1 (text/plain, inline)]
On Mon, Aug 20, 2018 at 08:33:46AM +0100, Chris Lamb wrote:
> 
> This is because you disabled the running of strip-nondeterminism

Ehhh this is not exactly true. At the time we turned this off due to
#877418. However, Clojure itself does not actually produce reproducible
bytecode[*] most of the time, so I don't think turning this off will
actually fix the reproducibility of the package.

Assuming that Clojure can produce reproducible bytecode, and stripping
non-determinism does not affect Leiningen AOT-compiled performance, I'd
be happy to accept this patch.

Cheers,

- e

[*]: https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/clojure1.8.html
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Clojure Maintainers <pkg-clojure-maintainers@lists.alioth.debian.org>:
Bug#906720; Package src:leiningen-clojure. (Tue, 21 Aug 2018 02:51:03 GMT) (full text, mbox, link).


Acknowledgement sent to Elana Hashman <ehashman@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Clojure Maintainers <pkg-clojure-maintainers@lists.alioth.debian.org>. (Tue, 21 Aug 2018 02:51:03 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Debian Clojure Maintainers <pkg-clojure-maintainers@lists.alioth.debian.org>:
Bug#906720; Package src:leiningen-clojure. (Tue, 21 Aug 2018 08:21:02 GMT) (full text, mbox, link).


Acknowledgement sent to Chris Lamb <lamby@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Clojure Maintainers <pkg-clojure-maintainers@lists.alioth.debian.org>. (Tue, 21 Aug 2018 08:21:03 GMT) (full text, mbox, link).


Message #20 received at 906720@bugs.debian.org (full text, mbox, reply):

From: Chris Lamb <lamby@debian.org>
To: Elana Hashman <ehashman@debian.org>, 906720@bugs.debian.org
Subject: Re: Bug#906720: leiningen-clojure: please make the build reproducible
Date: Tue, 21 Aug 2018 09:20:23 +0100
Elana,

> However, Clojure itself does not actually produce reproducible
> bytecode[*] most of the time, so I don't think turning this off will
> actually fix the reproducibility of the package.

Sorry but I don't quite follow your reasoning here.

We should always do as much as possible to make a build reproducible,
at the very least to see what is left to do. This is justification
enough to remove this override line given that #877418 is resolved.

(In other words, working on a "it's not 100% reproducible so let's not
bother at all" is actually counter-productive and actually somewhat
demotivating.)

Saying that, according to my tests when I filed this bug, the problem
is simply a umask one, not a bytecode one so removing your override
will make the package reproducible.

I therefore entreat you to revert this change.


Best wishes,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby@debian.org / chris-lamb.co.uk
       `-



Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed May 17 10:26:14 2023; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.