From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: [PATCH PING] Honor 'SOURCE_DATE_EPOCH' when generating autoloads. Date: Sun, 20 Dec 2015 18:37:30 +0200 Message-ID: <83k2o9t6t1.fsf@gnu.org> References: <87k2ph3mgx.fsf@gnu.org> <87io4lnkyz.fsf@gnu.org> <83mvtwoktg.fsf@gnu.org> <878u5gkakj.fsf@gnu.org> <83a8pwoesc.fsf@gnu.org> <87two3475d.fsf@gnu.org> <5665D6B9.4030309@cs.ucla.edu> <5665DAA1.2080208@cs.ucla.edu> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1450629446 4419 80.91.229.3 (20 Dec 2015 16:37:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 20 Dec 2015 16:37:26 +0000 (UTC) Cc: eggert@cs.ucla.edu, emacs-devel@gnu.org To: Philipp Stephani Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Dec 20 17:37:20 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aAgz0-0003Dw-KK for ged-emacs-devel@m.gmane.org; Sun, 20 Dec 2015 17:37:19 +0100 Original-Received: from localhost ([::1]:41216 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aAgyz-0004z1-5k for ged-emacs-devel@m.gmane.org; Sun, 20 Dec 2015 11:37:17 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35512) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aAgyn-0004xN-CG for emacs-devel@gnu.org; Sun, 20 Dec 2015 11:37:06 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aAgyk-0006Y9-6G for emacs-devel@gnu.org; Sun, 20 Dec 2015 11:37:05 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:41152) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aAgyk-0006Y5-3N; Sun, 20 Dec 2015 11:37:02 -0500 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4549 helo=HOME-C4E4A596F7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aAgyj-0005Oz-Cq; Sun, 20 Dec 2015 11:37:01 -0500 In-reply-to: (message from Philipp Stephani on Sun, 20 Dec 2015 12:48:17 +0000) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:196556 Archived-At: > From: Philipp Stephani > Date: Sun, 20 Dec 2015 12:48:17 +0000 > Cc: emacs-devel@gnu.org > > Paul Eggert schrieb am Mo., 7. Dez. 2015 um 20:14 Uhr: > > On 12/07/2015 11:00 AM, Philipp Stephani wrote: > > this would be a rather big change. > > I suppose that depends on what one means by "big". To me it feels like a > fairly small improvement. We've already made some progress along these > lines in emacs-25 by removing emacs-build-system from the result of the > emacs-version function; we just need to make more improvements like that. > > It should be in 'master', though, not in 'emacs-25', as it's not fixing > a bug. > > OK, here's a first patch that replaces system-name with a constant during > dumping. That eliminates one source of nondeterminism. I'm sorry, but I don't like where this is going. I regret I didn't speak up earlier, but better late than never. In a nutshell, I object to losing valuable information for the benefit of a single specialized use case. I have nothing against supporting reproducible builds as long as this removes information and data that is not important to us humans when developing or debugging Emacs. For example, changes in loaddefs files that remove non-deterministic information from there or replace it with deterministic information are fine with me. But here we are losing information about the build system that I found useful more than once in the past when tracking bugs. We have already removed the build system name from the bug report produced by report-emacs-bug (I'm going to add it back, btw, unless someone provides a _very_ good reason for its removal). Earlier, we removed the last keystrokes, because someone was worried about their privacy, but couldn't be bothered to delete the sensitive parts from the bug report. And your comments indicate that you intend to remove the build time as well, so it will be impossible to say whether a given binary was built before or after some change. Where is all this going? I'm sorry, but I cannot agree to this slippery slope, just so we could support a single specialized use case. Let's support that use case by providing some build-time option, either a configure-time option or a Makefile option, or an environment variable, or something else. If someone presents a convincing case, I might even agree to have the release tarball build by default with that information removed (although I found it useful in the past when reading bug reports). But doing this in the development version is simply a non-starter. When debugging some problem that happened elsewhere, we quite often need every bit of information that could potentially help us, so removing it is out of the question. I appreciate your efforts in providing the patch, but we will have to find another way of supporting reproducible builds. Thanks.