Debian Bug report logs - #787424
emacs24: improve reproducibility: please order hashes when generating .el files

version graph

Package: emacs24; Maintainer for emacs24 is Rob Browning <rlb@defaultvalue.org>; Source for emacs24 is src:emacs (PTS, buildd, popcon).

Reported by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>

Date: Mon, 1 Jun 2015 15:48:02 UTC

Severity: normal

Tags: patch

Found in version emacs24/24.4+1-5

Fixed in version 24.5+1-11+rm

Done: Debian FTP Masters <ftpmaster@ftp-master.debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

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


Report forwarded to debian-bugs-dist@lists.debian.org, Rob Browning <rlb@defaultvalue.org>:
Bug#787424; Package emacs24. (Mon, 01 Jun 2015 15:48:05 GMT) (full text, mbox, link).


Acknowledgement sent to Daniel Kahn Gillmor <dkg@fifthhorseman.net>:
New Bug report received and forwarded. Copy sent to Rob Browning <rlb@defaultvalue.org>. (Mon, 01 Jun 2015 15:48:05 GMT) (full text, mbox, link).


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

From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
To: submit@bugs.debian.org
Subject: emacs24: improve reproducibility: please order hashes when generating .el files
Date: Mon, 01 Jun 2015 11:44:06 -0400
Package: emacs24
Version: 24.4+1-5
User: reproducible-builds@lists.alioth.debian.org
Usertags: randomness

emacs24 is not currently reproducible, for many reasons.  One of those
reasons is that .el files are generated with hash tables and lists that
are ordered stochastically.  Sorting the lists or hashtables before
generating the .el should avoid this particular problem.

One example can be seen in the difference in
/usr/share/emacs/24.4/lisp/finder-inf.el from here:

https://reproducible.debian.net/dbd/unstable/amd64/emacs24_24.4+1-5.debbindiff.html

compare the list after "convenience" here, which sorts the first 13
items differently on each build:

​convenience·​(table·​picture·​emacs·​makeinfo·​flyspell·​calc·​keypad·​cua-​base·​erc·​diff-​mode·​compare-​w·​winner·​windmove·​vcursor·​tmm·​ruler-​mode·​repeat·​pcomplete·​minibuf-​eldef·​mb-​depth·​linum·​kmacro·​json·​imenu·​ido·​ibuffer·​hippie-​exp·​frameset·​follow·​filesets·​filecache·​ffap·​ebuff-​menu·​desktop·​delsel·​dabbrev·​completion·​chistory·​calculator·​bs·​autorevert·​autoinsert·​align)​

​convenience·​(emacs·​keypad·​cua-​base·​diff-​mode·​compare-​w·​calc·​erc·​table·​picture·​makeinfo·​flyspell·​winner·​windmove·​vcursor·​tmm·​ruler-​mode·​repeat·​pcomplete·​minibuf-​eldef·​mb-​depth·​linum·​kmacro·​json·​imenu·​ido·​ibuffer·​hippie-​exp·​frameset·​follow·​filesets·​filecache·​ffap·​ebuff-​menu·​desktop·​delsel·​dabbrev·​completion·​chistory·​calculator·​bs·​autorevert·​autoinsert·​align)​


This file is generated in lisp/Makefile.in with:

        $(emacs) -l finder \
          --eval '(setq generated-finder-keywords-file (unmsys--file-name "$(srcdir)/finder-inf.el"))' \
          -f finder-compile-keywords-make-dist $$wins


which maps back to finder-compile-keywords in lisp/finder.el.  Maybe
someplace in that function can do a sort before emitting the file?

Sorry to not be enough of an elisp hacker to provide a patch directly.

      --dkg

Information forwarded to debian-bugs-dist@lists.debian.org, Rob Browning <rlb@defaultvalue.org>:
Bug#787424; Package emacs24. (Thu, 12 May 2016 17:15:04 GMT) (full text, mbox, link).


Acknowledgement sent to Alexis Bienvenüe <pado@passoire.fr>:
Extra info received and forwarded to list. Copy sent to Rob Browning <rlb@defaultvalue.org>. (Thu, 12 May 2016 17:15:04 GMT) (full text, mbox, link).


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

From: Alexis Bienvenüe <pado@passoire.fr>
To: 787424@bugs.debian.org, Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Subject: Re: emacs24: improve reproducibility: please order hashes when generating .el files
Date: Thu, 12 May 2016 19:10:35 +0200
[Message part 1 (text/plain, inline)]
Control: tags -1 + patch

Hi.

On Mon, 01 Jun 2015 11:44:06 -0400 Daniel Kahn Gillmor
<dkg@fifthhorseman.net> wrote:
> One example can be seen in the difference in
> /usr/share/emacs/24.4/lisp/finder-inf.el from here:
> 
> https://reproducible.debian.net/dbd/unstable/amd64/emacs24_24.4+1-5.debbindiff.html
> 
> compare the list after "convenience" here, which sorts the first 13
> items differently on each build:

This difference is coming from the Makefile, which passes file names in
a non-reproducible order to finder-compile-keywords-make-dist, which
itself seem to me reproducible.

The attached patch sorts the filenames before passing them to
finder-compile-keywords-make-dist, and fixes this non-reproductible
behavior in my experimental toolchain [1].

Regards,
Alexis Bienvenüe.

[1] https://wiki.debian.org/ReproducibleBuilds/ExperimentalToolchain
[0022-sort-files-in-wins.patch (text/x-patch, attachment)]

Added tag(s) patch. Request was from Alexis Bienvenüe <pado@passoire.fr> to 787424-submit@bugs.debian.org. (Thu, 12 May 2016 17:15:04 GMT) (full text, mbox, link).


Reply sent to Debian FTP Masters <ftpmaster@ftp-master.debian.org>:
You have taken responsibility. (Fri, 11 Aug 2017 18:46:37 GMT) (full text, mbox, link).


Notification sent to Daniel Kahn Gillmor <dkg@fifthhorseman.net>:
Bug acknowledged by developer. (Fri, 11 Aug 2017 18:46:38 GMT) (full text, mbox, link).


Message #17 received at 787424-done@bugs.debian.org (full text, mbox, reply):

From: Debian FTP Masters <ftpmaster@ftp-master.debian.org>
To: 9741-done@bugs.debian.org,26348-done@bugs.debian.org,89072-done@bugs.debian.org,100855-done@bugs.debian.org,102290-done@bugs.debian.org,112094-done@bugs.debian.org,114849-done@bugs.debian.org,115440-done@bugs.debian.org,117502-done@bugs.debian.org,117956-done@bugs.debian.org,119516-done@bugs.debian.org,128385-done@bugs.debian.org,130399-done@bugs.debian.org,130556-done@bugs.debian.org,132910-done@bugs.debian.org,139487-done@bugs.debian.org,144072-done@bugs.debian.org,149341-done@bugs.debian.org,150138-done@bugs.debian.org,152044-done@bugs.debian.org,167805-done@bugs.debian.org,170794-done@bugs.debian.org,177536-done@bugs.debian.org,180960-done@bugs.debian.org,187624-done@bugs.debian.org,193483-done@bugs.debian.org,243893-done@bugs.debian.org,257786-done@bugs.debian.org,291017-done@bugs.debian.org,293557-done@bugs.debian.org,299324-done@bugs.debian.org,307307-done@bugs.debian.org,335052-done@bugs.debian.org,335712-done@bugs.debian.org,337339-done@bugs.debian.org,379659-done@bugs.debian.org,393527-done@bugs.debian.org,401792-done@bugs.debian.org,405684-done@bugs.debian.org,421505-done@bugs.debian.org,422236-done@bugs.debian.org,427167-done@bugs.debian.org,434907-done@bugs.debian.org,438687-done@bugs.debian.org,440993-done@bugs.debian.org,443992-done@bugs.debian.org,447318-done@bugs.debian.org,449073-done@bugs.debian.org,449594-done@bugs.debian.org,459370-done@bugs.debian.org,471143-done@bugs.debian.org,484578-done@bugs.debian.org,498060-done@bugs.debian.org,499604-done@bugs.debian.org,518565-done@bugs.debian.org,526715-done@bugs.debian.org,531281-done@bugs.debian.org,539919-done@bugs.debian.org,541355-done@bugs.debian.org,549485-done@bugs.debian.org,549708-done@bugs.debian.org,578322-done@bugs.debian.org,583373-done@bugs.debian.org,586223-done@bugs.debian.org,594346-done@bugs.debian.org,594514-done@bugs.debian.org,595036-done@bugs.debian.org,595216-done@bugs.debian.org,599003-done@bugs.debian.org,622870-done@bugs.debian.org,622872-done@bugs.debian.org,623233-done@bugs.debian.org,656042-done@bugs.debian.org,677365-done@bugs.debian.org,680941-done@bugs.debian.org,682006-done@bugs.debian.org,682995-done@bugs.debian.org,683355-done@bugs.debian.org,684399-done@bugs.debian.org,685872-done@bugs.debian.org,687171-done@bugs.debian.org,692485-done@bugs.debian.org,698096-done@bugs.debian.org,701621-done@bugs.debian.org,702806-done@bugs.debian.org,704938-done@bugs.debian.org,705512-done@bugs.debian.org,705724-done@bugs.debian.org,706135-done@bugs.debian.org,706701-done@bugs.debian.org,706924-done@bugs.debian.org,707586-done@bugs.debian.org,708205-done@bugs.debian.org,711377-done@bugs.debian.org,712782-done@bugs.debian.org,717038-done@bugs.debian.org,720775-done@bugs.debian.org,726251-done@bugs.debian.org,727060-done@bugs.debian.org,729180-done@bugs.debian.org,729750-done@bugs.debian.org,730593-done@bugs.debian.org,732029-done@bugs.debian.org,732620-done@bugs.debian.org,732638-done@bugs.debian.org,734325-done@bugs.debian.org,734417-done@bugs.debian.org,736339-done@bugs.debian.org,745553-done@bugs.debian.org,747170-done@bugs.debian.org,749040-done@bugs.debian.org,750633-done@bugs.debian.org,750934-done@bugs.debian.org,754636-done@bugs.debian.org,755051-done@bugs.debian.org,755351-done@bugs.debian.org,757126-done@bugs.debian.org,757916-done@bugs.debian.org,759400-done@bugs.debian.org,759646-done@bugs.debian.org,760109-done@bugs.debian.org,760850-done@bugs.debian.org,762435-done@bugs.debian.org,762814-done@bugs.debian.org,763077-done@bugs.debian.org,764166-done@bugs.debian.org,767111-done@bugs.debian.org,767121-done@bugs.debian.org,769188-done@bugs.debian.org,769340-done@bugs.debian.org,769832-done@bugs.debian.org,769942-done@bugs.debian.org,770006-done@bugs.debian.org,771855-done@bugs.debian.org,772453-done@bugs.debian.org,774684-done@bugs.debian.org,774940-done@bugs.debian.org,777141-done@bugs.debian.org,778662-done@bugs.debian.org,783100-done@bugs.debian.org,783492-done@bugs.debian.org,785625-done@bugs.debian.org,787424-done@bugs.debian.org,790098-done@bugs.debian.org,794796-done@bugs.debian.org,796192-done@bugs.debian.org,796988-done@bugs.debian.org,797477-done@bugs.debian.org,798817-done@bugs.debian.org,799489-done@bugs.debian.org,801325-done@bugs.debian.org,801806-done@bugs.debian.org,803089-done@bugs.debian.org,803961-done@bugs.debian.org,804751-done@bugs.debian.org,805930-done@bugs.debian.org,806289-done@bugs.debian.org,806821-done@bugs.debian.org,808154-done@bugs.debian.org,808299-done@bugs.debian.org,809805-done@bugs.debian.org,810383-done@bugs.debian.org,810784-done@bugs.debian.org,812003-done@bugs.debian.org,812967-done@bugs.debian.org,814482-done@bugs.debian.org,814661-done@bugs.debian.org,815067-done@bugs.debian.org,815108-done@bugs.debian.org,816826-done@bugs.debian.org,819003-done@bugs.debian.org,819680-done@bugs.debian.org,820345-done@bugs.debian.org,821428-done@bugs.debian.org,822237-done@bugs.debian.org,822944-done@bugs.debian.org,823406-done@bugs.debian.org,824049-done@bugs.debian.org,824050-done@bugs.debian.org,826299-done@bugs.debian.org,826347-done@bugs.debian.org,827753-done@bugs.debian.org,828638-done@bugs.debian.org,828728-done@bugs.debian.org,834149-done@bugs.debian.org,837072-done@bugs.debian.org,838250-done@bugs.debian.org,839256-done@bugs.debian.org,840321-done@bugs.debian.org,842012-done@bugs.debian.org,847939-done@bugs.debian.org,848624-done@bugs.debian.org,854244-done@bugs.debian.org,858025-done@bugs.debian.org,859028-done@bugs.debian.org,860150-done@bugs.debian.org,862143-done@bugs.debian.org,864836-done@bugs.debian.org,
Cc: emacs24@packages.debian.org, emacs24@packages.qa.debian.org
Subject: Bug#871627: Removed package(s) from unstable
Date: Fri, 11 Aug 2017 18:38:25 +0000
Version: 24.5+1-11+rm

Dear submitter,

as the package emacs24 has just been removed from the Debian archive
unstable we hereby close the associated bug reports.  We are sorry
that we couldn't deal with your issue properly.

For details on the removal, please see https://bugs.debian.org/871627

The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.

This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
ftpmaster@ftp-master.debian.org.

Debian distribution maintenance software
pp.
Scott Kitterman (the ftpmaster behind the curtain)



Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Sat, 09 Sep 2017 07:31:42 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed May 17 13:49:36 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.