From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 24 03:21:52 2021 Received: (at submit) by debbugs.gnu.org; 24 Feb 2021 08:21:52 +0000 Received: from localhost ([127.0.0.1]:33232 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lEpQe-00009a-Bk for submit@debbugs.gnu.org; Wed, 24 Feb 2021 03:21:52 -0500 Received: from lists.gnu.org ([209.51.188.17]:58764) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lEp03-0007wR-Pn for submit@debbugs.gnu.org; Wed, 24 Feb 2021 02:54:24 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:57792) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lEp03-0000Lo-Gk for bug-automake@gnu.org; Wed, 24 Feb 2021 02:54:23 -0500 Received: from mx2.suse.de ([195.135.220.15]:34678) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lEp01-00005G-3V for bug-automake@gnu.org; Wed, 24 Feb 2021 02:54:22 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1614153257; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type; bh=FUjEzkr+zcOxugqf8tVgGTgvN/33B4kHDVhONVpgFss=; b=OR1ivUxD7JaHtoHGqPOsWEgWzuNS4RuOmXX9+J097oAChaUPqOB/ld6PMhtoaAx98yx1LH 87+T+csApcHlAu7fN4jONhw/fN6nJqkOt7iX5pchoDMWi4bCyhEcEjpfluQhU7MuMKOfCo f8Pux2mr6zV0HdlF3DVCHIhyPEsNJpk= Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 8D699AEBD for ; Wed, 24 Feb 2021 07:54:17 +0000 (UTC) To: bug-automake@gnu.org From: =?UTF-8?Q?Josef_M=c3=b6llers?= Subject: Make automake ourput reproducible Message-ID: <1e3b6fa3-9556-c911-e62f-f11be894afda@suse.com> Date: Wed, 24 Feb 2021 08:54:17 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------2428C6F524B8080FED55613D" Content-Language: en-US Received-SPF: pass client-ip=195.135.220.15; envelope-from=josef.moellers@suse.com; helo=mx2.suse.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Wed, 24 Feb 2021 03:21:51 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) This is a multi-part message in MIME format. --------------2428C6F524B8080FED55613D Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Hi, We rely on builds to be reproducible. The PERL script bin/automake.in calls the perl function "keys" at several places. The returned list, unfortunately, changes between invocation of the script. "sort"ing the returned list makes the process reproducible again. Attached is a patch courtesy of Dirk Müller. Josef --------------2428C6F524B8080FED55613D Content-Type: text/x-patch; charset=UTF-8; name="automake-reproducible.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="automake-reproducible.patch" --- automake-1.16.3/bin/automake.in +++ automake-1.16.3/bin/automake.in @@ -2388,7 +2388,7 @@ $var->requires_variables ("\@${lt}LIBOBJS\@ used", $lt . 'LIBOBJS') if ! keys %libsources; - foreach my $iter (keys %libsources) + foreach my $iter (sort keys %libsources) { my $dir = ''; if ($iter =~ /^(.*)(\.[cly])$/) @@ -4692,7 +4692,7 @@ DIST_CLEAN, [], MAINTAINER_CLEAN, []); - foreach my $file (keys %clean_files) + foreach my $file (sort keys %clean_files) { my $when = $clean_files{$file}; prog_error 'invalid entry in %clean_files' @@ -4762,7 +4762,7 @@ . "not 'install-hook'"); # Install the -local hooks. - foreach (keys %dependencies) + foreach (sort keys %dependencies) { # Hooks are installed on the -am targets. s/-am$// or next; @@ -4784,7 +4784,7 @@ } # All the required targets are phony. - depend ('.PHONY', keys %required_targets); + depend ('.PHONY', sort keys %required_targets); # Actually output gathered targets. foreach (sort target_cmp keys %dependencies) @@ -5260,7 +5260,7 @@ # has a precise meaning for AC_CONFIG_FILES and so on. $traces .= join (' ', map { "--trace=$_" . ':\$f:\$l::\$d::\$n::\${::}%' } - (keys %traced)); + (sort keys %traced)); verb "running WARNINGS=$ENV{WARNINGS} $traces"; my $tracefh = new Automake::XFile ("$traces $filename |"); @@ -5831,7 +5831,7 @@ { my ($self) = @_; - foreach my $prog (keys %known_programs) + foreach my $prog (sort keys %known_programs) { lang_vala_finish_target ($self, $prog); } --------------2428C6F524B8080FED55613D-- From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 27 12:15:37 2021 Received: (at 46744) by debbugs.gnu.org; 27 Feb 2021 17:15:37 +0000 Received: from localhost ([127.0.0.1]:45271 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lG3Bp-0001up-Ay for submit@debbugs.gnu.org; Sat, 27 Feb 2021 12:15:37 -0500 Received: from freefriends.org ([96.88.95.60]:53432) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lG3BZ-0001uF-Qr; Sat, 27 Feb 2021 12:15:35 -0500 X-Envelope-From: karl@freefriends.org Received: from freefriends.org (freefriends.org [96.88.95.60]) by freefriends.org (8.14.7/8.14.7) with ESMTP id 11RHFKWq005036 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 27 Feb 2021 10:15:21 -0700 Received: (from apache@localhost) by freefriends.org (8.14.7/8.14.7/Submit) id 11RHFKOk005035; Sat, 27 Feb 2021 10:15:20 -0700 Date: Sat, 27 Feb 2021 10:15:20 -0700 Message-Id: <202102271715.11RHFKOk005035@freefriends.org> From: Karl Berry To: josef.moellers@suse.com Subject: Re: bug#46744: Make automake ourput reproducible In-Reply-To: <1e3b6fa3-9556-c911-e62f-f11be894afda@suse.com> X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 46744 Cc: 46744@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) "sort"ing the returned list makes the process reproducible again. Attached is a patch courtesy of Dirk M``ller. Thanks Josef (and Dirk). Applied. --karl From unknown Sat Jun 21 10:35:16 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 28 Mar 2021 11:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator