aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/ghostscript-no-header-creationdate.patch
blob: 493693b78d7546d59a243fb23f144a33374edeeb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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/devices/vector/gdevpdf.c b/devices/vector/gdevpdf.c
index cb268f62e..c5abefde2 100644
--- a/devices/vector/gdevpdf.c
+++ b/devices/vector/gdevpdf.c
@@ -425,6 +425,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;
diff --git a/devices/vector/gdevpdfe.c b/devices/vector/gdevpdfe.c
index ec011d8ba..f083f1e93 100644
--- a/devices/vector/gdevpdfe.c
+++ b/devices/vector/gdevpdfe.c
@@ -696,6 +696,9 @@ pdf_write_document_metadata(gx_device_pdf *pdev, const byte digest[6])
             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);
@@ -704,6 +707,9 @@ pdf_write_document_metadata(gx_device_pdf *pdev, const byte digest[6])
                 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);