guix/gnu/packages/patches/ghostscript-no-header-creat...

47 lines
2.1 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/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);