Debian Bug report logs -
#906720
leiningen-clojure: please make the build reproducible
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
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):
[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):
[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):
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.