From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:52856) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hMxvH-00056L-Kd for guix-patches@gnu.org; Sat, 04 May 2019 12:54:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hMxvG-0006Np-GD for guix-patches@gnu.org; Sat, 04 May 2019 12:54:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38569) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hMxvG-0006Nk-Cn for guix-patches@gnu.org; Sat, 04 May 2019 12:54:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hMxvG-0002Ui-Ae for guix-patches@gnu.org; Sat, 04 May 2019 12:54:02 -0400 Subject: [bug#35511] [PATCH 0/1] Add configure flag to emacs to improve repoducibility Resent-Message-ID: Date: Sat, 4 May 2019 16:53:37 +0000 From: ng0@n0.is Message-ID: <20190504165327.fqofgpswno52fimp@uptimegirl> References: <20190430212805.3252-1-jessejohngildersleve@zohomail.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20190430212805.3252-1-jessejohngildersleve@zohomail.eu> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: wednesday Cc: 35511@debbugs.gnu.org wednesday transcribed 853 bytes: > This patch adds the --disable-build-details configure-flag to the emacs package. > By default the emacs binary stores some information about how it was build, as > stated here: > "By default the dumped emacs executable records details such as the build time and host name. Use the --disable-build-details option of configure to suppress these details, so that building and installing Emacs twice from the same sources is more likely to result in identical copies of Emacs." > https://www.gnu.org/software/emacs/manual/html_node/elisp/Building-Emacs.html > > There is also this mailing list post about emacs repoducibility: > https://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00711.html This email states: # The configuration option --disable-build-details can be used to omit some information, such as build host name, which make the build not reproducible across machines. There is either a typo (not reproducible -> reproducible?) or this should not be used. searching in the tip of emacs, because they are really vague about the option gives away more details: /* Set system-name to nil so that the build is deterministic. */ Then there's some more info in related commits, such as setting build time to nil. If we have nil instead of the time of our environment, this won't really add any value. When the time is epoch+1 or similar anyway, recording it does no harm. Furthermore we reset the system name to localhost (at least when guix still follows nix in that regard), so we end up with "localhost" in the build recorded somewhere. This, and some follow-up commits which fixed errors related to this, is everything I can find on the details. I'm not even sure if this makes sense in PMs where your environment does not default to being reset and readjusted in a chroot, as you can still have chrooted automatic builds for batch building, and then you end up with this mixture (I was about to apply this for pkgsrc until I went and read into the code). Imo there's no need for this switch in guix. > wednesday (1): > gnu: emacs: Make build more reproducible > > gnu/packages/emacs.scm | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > -- > 2.21.0 > > > > > >