unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Danny Milosavljevic <dannym@scratchpost.org>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 27563@debbugs.gnu.org
Subject: bug#27563: [PATCH v3 2/2] gnu: ghostscript: Write document ID only when encrypting.
Date: Fri, 7 Jul 2017 15:21:49 +0200	[thread overview]
Message-ID: <20170707152149.3235f3aa@scratchpost.org> (raw)
In-Reply-To: <87podca20z.fsf@gnu.org>

Hi Ludo,

On Fri, 07 Jul 2017 14:02:04 +0200
ludo@gnu.org (Ludovic Courtès) wrote:

> Also, do you know whether the PDF specs are OK with that?  

Yeah, at the upstream bug link <https://bugs.ghostscript.com/show_bug.cgi?id=698208> we discussed that (somewhat).  While they don't want to carry the patches (because they don't want to lose functionality) they explained that it might well be that *future* versions of the spec could make ID and UUID mandatory.

Right now there's a stringent spec, called PDF/A (for "archiving"; which is intended for governing bodies where you don't want existing documents that dynamically alter their contents after some time - like with Javascript or something) which already sets the instance UUID to "".  So I just set it to "" always rather than just for PDF/A.

Also, as far as I understand the "/ID" is currently only mandatory when encrypting, although in the future it might change.

That leaves the document UUID - and upstream, in some of the other bugreports, explained that they want UNIQUE document UUIDs.  So I figured that we should just leave it off - so it's not the same over multiple documents.  They are definitely not fine with non-unique UUIDs.

This RDF metadata stuff (the instance UUID and document UUID) is quite new.  In a former life I wrote PDF parsers and I didn't handle the RDF back then at all.  So I guess it would even work to leave the entire RDF metadata off - after all, it worked back then.

If someone is well-versed in XMP RDF metadata for PDF, I wonder what is better: leaving the entire RDF off or just leaving the element containing the document id (as an attribute) off.  Currently, the patch does the latter.  The specification by adobe (XMP Specification Part 1, ISO 16684-1:2011(E) Annex A) says "The use of robust GUIDs is encouraged; having globally unique values is important" but as far as I can see doesn't say whether they are mandatory.

I also thought of patching groff instead.  But it seems that groff is now searching for a maintainer - I'm not sure anyone would integrate it there.  Also, I'm not well-versed in perl.  Also, patching finished PDFs (using regexps or something) is kinda dangerous because nobody *forces* you to encode the streams (think: attachements) in PDFs.  So it could be that some other non-PDF thing is integrated into the PDF as a stream and the regexp substituter would just substitute it in there as well.

There's a program "pdfmark" which is supposed to be for changing the metadata for PDFs but upstream said that it can't change those fields.  It could change the CreationDate, ModDate etc.

In short, I think the lowest risk is patching ghostscript as we did here.

  reply	other threads:[~2017-07-07 13:22 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-03 18:08 bug#27563: ghostscript-with-cups is not reproducible Danny Milosavljevic
2017-07-03 18:16 ` bug#27563: [PATCH] gnu: ghostscript: Add phase "remove-timestamps" Danny Milosavljevic
2017-07-03 19:18   ` Efraim Flashner
2017-07-05 21:57     ` Ludovic Courtès
2017-07-04 19:08   ` Leo Famulari
2017-07-03 19:46 ` bug#27563: [PATCH v2] gnu: ghostscript: Remove timestamps Danny Milosavljevic
2017-07-06  9:07 ` bug#27563: [PATCH] gnu: ghostscript: Don't write document UUID; use "" as instance UUID Danny Milosavljevic
2017-07-07 11:55   ` Ludovic Courtès
2017-07-07 13:28     ` Danny Milosavljevic
2017-07-06 10:32 ` bug#27563: [PATCH v3 0/2] Make ghostscript reproducible Danny Milosavljevic
2017-07-06 10:32   ` bug#27563: [PATCH v3 1/2] gnu: ghostscript: Don't write document UUID; use "" as instance UUID Danny Milosavljevic
2017-07-06 10:32   ` bug#27563: [PATCH v3 2/2] gnu: ghostscript: Write document ID only when encrypting Danny Milosavljevic
2017-07-07 12:02     ` Ludovic Courtès
2017-07-07 13:21       ` Danny Milosavljevic [this message]
2017-07-07 16:21         ` Leo Famulari
2017-07-07 16:42           ` Danny Milosavljevic
2017-07-07 17:24             ` Leo Famulari
2017-07-08 13:50               ` Leo Famulari
2017-07-07 17:45             ` Ludovic Courtès
2017-07-07 12:00   ` bug#27563: [PATCH v3 0/2] Make ghostscript reproducible Ludovic Courtès
2017-07-07 13:25     ` Danny Milosavljevic
2017-07-07 15:18       ` Ludovic Courtès
2017-07-07 15:44         ` Danny Milosavljevic
2017-07-07 17:51           ` Ludovic Courtès
2017-07-07 18:20             ` Danny Milosavljevic
2017-07-08 14:32               ` Ludovic Courtès
2017-07-09 23:40         ` bug#27563: [PATCH v4 0/3] " Danny Milosavljevic
2017-07-09 23:46           ` bug#27563: [PATCH v4 1/3] gnu: ghostscript: Make "/ID" optional, depending on environment variable Danny Milosavljevic
2017-07-09 23:46             ` bug#27563: [PATCH v4 2/3] gnu: ghostscript: Make XMP UUID headers " Danny Milosavljevic
2017-07-10 15:23               ` Ludovic Courtès
2017-07-09 23:46             ` bug#27563: [PATCH v4 3/3] gnu: ghostscript: Make "/CreationDate", "/ModDate" optoinal, " Danny Milosavljevic
2017-07-10 15:25               ` Ludovic Courtès
2017-07-10 15:21             ` bug#27563: [PATCH v4 1/3] gnu: ghostscript: Make "/ID" optional, " Ludovic Courtès
2017-07-10 16:35           ` bug#27563: [PATCH v4 0/3] Make ghostscript reproducible Danny Milosavljevic
2017-07-07 15:34     ` bug#27563: [PATCH v3 0/2] " Danny Milosavljevic
2017-07-07 17:46       ` Ludovic Courtès
2017-07-06 10:59 ` bug#27563: ghostscript-with-cups is not reproducible Danny Milosavljevic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170707152149.3235f3aa@scratchpost.org \
    --to=dannym@scratchpost.org \
    --cc=27563@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).