guix/gnu/packages/patches/ghostscript-no-header-creationdate.patch
Guillaume Le Vaillant db5962c680
gnu: ghostscript: Improve reproducibility of PDF document generation
* gnu/packages/patches/ghostscript-no-header-creationdate.patch: Disable
  writing "xmp:ModifyDate" and "xmp:CreateDate" if GS_GENERATE_UUIDS is set to
  "0" or "no".
2021-07-19 12:43:15 +02:00

44 lines
2 KiB
Diff

This patch makes emission of /CreationDate and /ModDate headers optional.
If the environment variable GS_GENERATE_UUIDS is set to "0" or "no", it will
not write out the "/ID" field (if that's permissible).
Upstream does not want to do this.
See: https://bugs.ghostscript.com/show_bug.cgi?id=698208
diff --git a/orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c b/bb/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c
index 0fb067e..b342e2c 100644
--- orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c
+++ gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c
@@ -305,6 +305,9 @@ pdf_initialize_ids(gx_device_pdf * pdev)
* date and time, rather than (for example) %%CreationDate from the
* PostScript file. We think this is wrong, but we do the same.
*/
+ if (!getenv("GS_GENERATE_UUIDS") ||
+ (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") != 0 &&
+ strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") != 0))
{
struct tm tms;
time_t t;
--- orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdfe.c
+++ gnu-ghostscript-9.14.0/devices/vector/gdevpdfe.c
@@ -692,6 +692,9 @@
pdf_xml_attribute_name(s, "xmlns:xmp");
pdf_xml_attribute_value(s, "http://ns.adobe.com/xap/1.0/");
pdf_xml_tag_end(s);
+ if (!getenv("GS_GENERATE_UUIDS") ||
+ (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") != 0 &&
+ strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") != 0))
{
pdf_xml_tag_open_beg(s, "xmp:ModifyDate");
pdf_xml_tag_end(s);
@@ -700,6 +701,9 @@
pdf_xml_tag_close(s, "xmp:ModifyDate");
pdf_xml_newline(s);
}
+ if (!getenv("GS_GENERATE_UUIDS") ||
+ (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") != 0 &&
+ strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") != 0))
{
pdf_xml_tag_open_beg(s, "xmp:CreateDate");
pdf_xml_tag_end(s);