From mboxrd@z Thu Jan 1 00:00:00 1970 From: Danny Milosavljevic Subject: bug#27593: [PATCH] gnu: groff: Make build reproducible. Date: Mon, 10 Jul 2017 21:28:45 +0200 Message-ID: <20170710212845.587fd165@scratchpost.org> References: <20170706025451.312ddebe@scratchpost.org> <20170710163704.25613-1-dannym@scratchpost.org> <87r2xo9kmj.fsf@fastmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43672) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dUeMj-0003T6-L8 for bug-guix@gnu.org; Mon, 10 Jul 2017 15:29:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dUeMg-0001DY-Gr for bug-guix@gnu.org; Mon, 10 Jul 2017 15:29:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:58570) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dUeMg-0001DU-Cz for bug-guix@gnu.org; Mon, 10 Jul 2017 15:29:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dUeMg-00022w-3Y for bug-guix@gnu.org; Mon, 10 Jul 2017 15:29:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87r2xo9kmj.fsf@fastmail.com> 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: Marius Bakke Cc: 27593@debbugs.gnu.org Hi Marius, On Mon, 10 Jul 2017 21:07:00 +0200 Marius Bakke wrote: > Danny Milosavljevic writes: > > > * gnu/packages/groff.scm (groff)[arguments]: Add phase "setenv". > > What does this add to the previous patch? Can you add a comment in the > code explaining what it's for? It replaces the previous patch by using a new patched-ghostscript feature: - ghostscript can now be instructed to not print the problematic parts (timestamps in headers, UUIDs in headers) that were the original cause of the "ever-changing PDFs" problem. The previous approach was fighting the symptoms, where every time a problem appeared in one of the outputs, I'd patch it somewhere else so that, if it did make it to ghostscript, ghostscript would put fake timestamps and would derive UUIDs from them - which upstream recommended we should definitely not do. That was really not scalable or sane. Also, the original ghostscript states that they are printing the current system date into PDFs (rather than, say, the input file mtime), against better judgement, for compatibility. Just no. So this patch prevents ghostscript from putting the timestamps or the document UUIDs into the PDFs in the first place (I don't mean it puts a fake one there now - I mean it leaves the fields off entirely). Much simpler. I'll add a comment.