From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#35283: ISO images are not reproducible Date: Fri, 19 Apr 2019 13:40:24 +0200 Message-ID: <875zrafck7.fsf_-_@gnu.org> References: <20190413134609.kwmx53hyawgtaaza@pelzflorian.localdomain> <3867672606037906126@scdbackup.webframe.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([209.51.188.92]:35599) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hHRuR-0001Gq-AS for bug-guix@gnu.org; Fri, 19 Apr 2019 07:42:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hHRt8-0005fP-CI for bug-guix@gnu.org; Fri, 19 Apr 2019 07:41:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:58215) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hHRt8-0005fH-9D for bug-guix@gnu.org; Fri, 19 Apr 2019 07:41:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hHRt8-0005EG-53 for bug-guix@gnu.org; Fri, 19 Apr 2019 07:41:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <3867672606037906126@scdbackup.webframe.org> (Thomas Schmitt's message of "Sat, 13 Apr 2019 18:20:57 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Thomas Schmitt Cc: bug-xorriso@gnu.org, 35283@debbugs.gnu.org Hi, (Moving discussion to , which is specifically about ISO image reproducibility issues.) "Thomas Schmitt" skribis: > Florian Pelz wrote: >> The content is different at the beginning of the ISO image >> (maybe padding or timestamps in the file system) > > That's to expect if not environment SOURCE_DATE_EPOCH is set and exported. > > SOURCE_DATE_EPOCH belongs to the specs of reproducible-builds.org. It > is supposed to be either undefined or to contain a decimal number which > tells the seconds since january 1st 1970. If it contains a number, then > it is used for all timestamps and as seed of pseudo-random numbers like > MBR id or GPT UUIDs. > > If all files and directories have the same names and the same content, > then xorriso runs with the same arguments and the same SOURCE_DATE_EPOCH > value are supposed to create byte-identical result ISOs. By mounting the ISO image, I found that some files didn=E2=80=99t have their timestamp reset: some files in /var/guix (easily fixed), but more importantly those added by GRUB in /boot and /System. Files added by =E2=80=98grub-mkrescue=E2=80=99 are =E2=80=9Cout of our cont= rol=E2=80=9D so we would need to patch =E2=80=98grub-mkrescue=E2=80=99 to honor SOURCE_DATE_EPOCH, for ex= ample. However, after rereading the Xorriso manual, it seemed to me that if we set SOURCE_DATE_EPOCH and pass: -volume_date all_file_dates set_to_mtime then all the files would have the mtime specified by SOURCE_DATE_EPOCH, which would solve the problem. I tried it, but that=E2=80=99s not what happened. What am I missing, Thoma= s? Thanks, Ludo=E2=80=99.