diff options
10 files changed, 13 insertions, 396 deletions
diff --git a/meta/recipes-extended/ghostscript/ghostscript/0001-Bug-699665-memory-corruption-in-aesdecode.patch b/meta/recipes-extended/ghostscript/ghostscript/0001-Bug-699665-memory-corruption-in-aesdecode.patch deleted file mode 100644 index df654f721d..0000000000 --- a/meta/recipes-extended/ghostscript/ghostscript/0001-Bug-699665-memory-corruption-in-aesdecode.patch +++ /dev/null | |||
@@ -1,56 +0,0 @@ | |||
1 | From b9fa1157e1f4982d42241146c9b7c6c789d6f076 Mon Sep 17 00:00:00 2001 | ||
2 | From: Ken Sharp <ken.sharp@artifex.com> | ||
3 | Date: Thu, 23 Aug 2018 15:42:02 +0100 | ||
4 | Subject: [PATCH 1/5] Bug 699665 "memory corruption in aesdecode" | ||
5 | |||
6 | The specimen file calls aesdecode without specifying the key to be | ||
7 | used, though it does manage to do enough work with the PDF interpreter | ||
8 | routines to get access to aesdecode (which isn't normally available). | ||
9 | |||
10 | This causes us to read uninitialised memory, which can (and often does) | ||
11 | lead to a segmentation fault. | ||
12 | |||
13 | In this commit we set the key to NULL explicitly during intialisation | ||
14 | and then check it before we read it. If its NULL we just return. | ||
15 | |||
16 | It seems bizarre that we don't return error codes, we should probably | ||
17 | look into that at some point, but this prevents the code trying to | ||
18 | read uninitialised memory. | ||
19 | |||
20 | CVE: CVE-2018-15911 | ||
21 | Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git] | ||
22 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
23 | --- | ||
24 | base/aes.c | 3 +++ | ||
25 | base/saes.c | 1 + | ||
26 | 2 files changed, 4 insertions(+) | ||
27 | |||
28 | diff --git a/base/aes.c b/base/aes.c | ||
29 | index a6bce93..e86f000 100644 | ||
30 | --- a/base/aes.c | ||
31 | +++ b/base/aes.c | ||
32 | @@ -662,6 +662,9 @@ void aes_crypt_ecb( aes_context *ctx, | ||
33 | } | ||
34 | #endif | ||
35 | |||
36 | + if (ctx == NULL || ctx->rk == NULL) | ||
37 | + return; | ||
38 | + | ||
39 | RK = ctx->rk; | ||
40 | |||
41 | GET_ULONG_LE( X0, input, 0 ); X0 ^= *RK++; | ||
42 | diff --git a/base/saes.c b/base/saes.c | ||
43 | index 6db0e8b..307ed74 100644 | ||
44 | --- a/base/saes.c | ||
45 | +++ b/base/saes.c | ||
46 | @@ -120,6 +120,7 @@ s_aes_process(stream_state * ss, stream_cursor_read * pr, | ||
47 | gs_throw(gs_error_VMerror, "could not allocate aes context"); | ||
48 | return ERRC; | ||
49 | } | ||
50 | + memset(state->ctx, 0x00, sizeof(aes_context)); | ||
51 | if (state->keylength < 1 || state->keylength > SAES_MAX_KEYLENGTH) { | ||
52 | gs_throw1(gs_error_rangecheck, "invalid aes key length (%d bytes)", | ||
53 | state->keylength); | ||
54 | -- | ||
55 | 2.8.1 | ||
56 | |||
diff --git a/meta/recipes-extended/ghostscript/ghostscript/0001-pdfwrite-Guard-against-trying-to-output-an-infinite-.patch b/meta/recipes-extended/ghostscript/ghostscript/0001-pdfwrite-Guard-against-trying-to-output-an-infinite-.patch deleted file mode 100644 index bac7365f3c..0000000000 --- a/meta/recipes-extended/ghostscript/ghostscript/0001-pdfwrite-Guard-against-trying-to-output-an-infinite-.patch +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | From 39b1e54b2968620723bf32e96764c88797714879 Mon Sep 17 00:00:00 2001 | ||
2 | From: Ken Sharp <ken.sharp@artifex.com> | ||
3 | Date: Wed, 18 Apr 2018 15:46:32 +0100 | ||
4 | Subject: [PATCH] pdfwrite - Guard against trying to output an infinite number | ||
5 | |||
6 | Bug #699255 " Buffer overflow on pprintg1 due to mishandle postscript file data to pdf" | ||
7 | |||
8 | The file uses an enormous parameter to xyxhow, causing an overflow in | ||
9 | the calculation of text positioning (value > 1e39). | ||
10 | |||
11 | Since this is basically a nonsense value, and PostScript only supports | ||
12 | real values up to 1e38, this patch follows the same approach as for | ||
13 | a degenerate CTM, and treats it as 0. | ||
14 | |||
15 | Adobe Acrobat Distiller throws a limitcheck error, so we could do that | ||
16 | instead if this approach proves to be a problem. | ||
17 | |||
18 | Upstream-Status: Backport | ||
19 | git://git.ghostscript.com/ghostpdl.git | ||
20 | CVE: CVE-2018-10194 | ||
21 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
22 | |||
23 | --- | ||
24 | devices/vector/gdevpdts.c | 7 ++++++- | ||
25 | 1 file changed, 6 insertions(+), 1 deletion(-) | ||
26 | |||
27 | diff --git a/devices/vector/gdevpdts.c b/devices/vector/gdevpdts.c | ||
28 | index 848ad78..172fe6b 100644 | ||
29 | --- a/devices/vector/gdevpdts.c | ||
30 | +++ b/devices/vector/gdevpdts.c | ||
31 | @@ -103,9 +103,14 @@ append_text_move(pdf_text_state_t *pts, double dw) | ||
32 | static int | ||
33 | set_text_distance(gs_point *pdist, double dx, double dy, const gs_matrix *pmat) | ||
34 | { | ||
35 | - int code = gs_distance_transform_inverse(dx, dy, pmat, pdist); | ||
36 | + int code; | ||
37 | double rounded; | ||
38 | |||
39 | + if (dx > 1e38 || dy > 1e38) | ||
40 | + code = gs_error_undefinedresult; | ||
41 | + else | ||
42 | + code = gs_distance_transform_inverse(dx, dy, pmat, pdist); | ||
43 | + | ||
44 | if (code == gs_error_undefinedresult) { | ||
45 | /* The CTM is degenerate. | ||
46 | Can't know the distance in user space. | ||
47 | -- | ||
48 | 2.7.4 | ||
49 | |||
diff --git a/meta/recipes-extended/ghostscript/ghostscript/0002-Bug-699656-Handle-LockDistillerParams-not-being-a-bo.patch b/meta/recipes-extended/ghostscript/ghostscript/0002-Bug-699656-Handle-LockDistillerParams-not-being-a-bo.patch deleted file mode 100644 index a16f215bd3..0000000000 --- a/meta/recipes-extended/ghostscript/ghostscript/0002-Bug-699656-Handle-LockDistillerParams-not-being-a-bo.patch +++ /dev/null | |||
@@ -1,53 +0,0 @@ | |||
1 | From 1b516be5f6829ab6ce37835529ba08abd6d18663 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chris Liddell <chris.liddell@artifex.com> | ||
3 | Date: Tue, 21 Aug 2018 16:42:45 +0100 | ||
4 | Subject: [PATCH 2/5] Bug 699656: Handle LockDistillerParams not being a | ||
5 | boolean | ||
6 | |||
7 | This caused a function call commented as "Can't fail" to fail, and resulted | ||
8 | in memory correuption and a segfault. | ||
9 | |||
10 | CVE: CVE-2018-15910 | ||
11 | Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git] | ||
12 | |||
13 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
14 | --- | ||
15 | devices/vector/gdevpdfp.c | 2 +- | ||
16 | psi/iparam.c | 7 ++++--- | ||
17 | 2 files changed, 5 insertions(+), 4 deletions(-) | ||
18 | |||
19 | diff --git a/devices/vector/gdevpdfp.c b/devices/vector/gdevpdfp.c | ||
20 | index 522db7a..f2816b9 100644 | ||
21 | --- a/devices/vector/gdevpdfp.c | ||
22 | +++ b/devices/vector/gdevpdfp.c | ||
23 | @@ -364,7 +364,7 @@ gdev_pdf_put_params_impl(gx_device * dev, const gx_device_pdf * save_dev, gs_par | ||
24 | * LockDistillerParams is read again, and reset if necessary, in | ||
25 | * psdf_put_params. | ||
26 | */ | ||
27 | - ecode = param_read_bool(plist, "LockDistillerParams", &locked); | ||
28 | + ecode = param_read_bool(plist, (param_name = "LockDistillerParams"), &locked); | ||
29 | if (ecode < 0) | ||
30 | param_signal_error(plist, param_name, ecode); | ||
31 | |||
32 | diff --git a/psi/iparam.c b/psi/iparam.c | ||
33 | index 68c20d4..0279455 100644 | ||
34 | --- a/psi/iparam.c | ||
35 | +++ b/psi/iparam.c | ||
36 | @@ -822,10 +822,11 @@ static int | ||
37 | ref_param_read_signal_error(gs_param_list * plist, gs_param_name pkey, int code) | ||
38 | { | ||
39 | iparam_list *const iplist = (iparam_list *) plist; | ||
40 | - iparam_loc loc; | ||
41 | + iparam_loc loc = {0}; | ||
42 | |||
43 | - ref_param_read(iplist, pkey, &loc, -1); /* can't fail */ | ||
44 | - *loc.presult = code; | ||
45 | + ref_param_read(iplist, pkey, &loc, -1); | ||
46 | + if (loc.presult) | ||
47 | + *loc.presult = code; | ||
48 | switch (ref_param_read_get_policy(plist, pkey)) { | ||
49 | case gs_param_policy_ignore: | ||
50 | return 0; | ||
51 | -- | ||
52 | 2.8.1 | ||
53 | |||
diff --git a/meta/recipes-extended/ghostscript/ghostscript/0003-Fix-Bug-699660-shading_param-incomplete-type-checkin.patch b/meta/recipes-extended/ghostscript/ghostscript/0003-Fix-Bug-699660-shading_param-incomplete-type-checkin.patch deleted file mode 100644 index 174f79e42a..0000000000 --- a/meta/recipes-extended/ghostscript/ghostscript/0003-Fix-Bug-699660-shading_param-incomplete-type-checkin.patch +++ /dev/null | |||
@@ -1,91 +0,0 @@ | |||
1 | From 759238fd904aab1706dc1007826a13a670cda320 Mon Sep 17 00:00:00 2001 | ||
2 | From: Ken Sharp <ken.sharp@artifex.com> | ||
3 | Date: Thu, 23 Aug 2018 14:12:48 +0100 | ||
4 | Subject: [PATCH 3/5] Fix Bug 699660 "shading_param incomplete type checking" | ||
5 | |||
6 | Its possible to pass a t_struct parameter to .shfill which is not a | ||
7 | shading function built by .buildshading. This could then lead to memory | ||
8 | corruption or a segmentation fault by treating the object passed in | ||
9 | as if it were a shading. | ||
10 | |||
11 | Its non-trivial to check the t_struct, because this function can take | ||
12 | 7 different kinds of structures as a parameter. Checking these is | ||
13 | possible, of course, but would add a performance penalty. | ||
14 | |||
15 | However, we can note that we never call .shfill without first calling | ||
16 | .buildshading, and we never call .buildshading without immediately | ||
17 | calling .shfill. So we can treat these as an atomic operation. The | ||
18 | .buildshading function takes all its parameters as PostScript objects | ||
19 | and validates them, so that should be safe. | ||
20 | |||
21 | This allows us to 'hide' the .shfill operator preventing the possibility | ||
22 | of passing an invalid parameter. | ||
23 | |||
24 | CVE: CVE-2018-15909 | ||
25 | Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git] | ||
26 | |||
27 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
28 | --- | ||
29 | Resource/Init/gs_init.ps | 4 ++-- | ||
30 | Resource/Init/gs_ll3.ps | 7 ++++++- | ||
31 | Resource/Init/pdf_draw.ps | 3 +-- | ||
32 | 3 files changed, 9 insertions(+), 5 deletions(-) | ||
33 | |||
34 | diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps | ||
35 | index 6c8da53..1956ed5 100644 | ||
36 | --- a/Resource/Init/gs_init.ps | ||
37 | +++ b/Resource/Init/gs_init.ps | ||
38 | @@ -2181,8 +2181,8 @@ SAFER { .setsafeglobal } if | ||
39 | /.getiodevice /.getdevparms /.putdevparams /.bbox_transform /.matchmedia /.matchpagesize /.defaultpapersize | ||
40 | /.oserrno /.setoserrno /.oserrorstring /.getCPSImode | ||
41 | /.getscanconverter /.setscanconverter /.type1encrypt /.type1decrypt/.languagelevel /.setlanguagelevel /.eqproc /.fillpage /.buildpattern1 /.saslprep | ||
42 | -/.buildshading1 /.buildshadin2 /.buildshading3 /.buildshading4 /.buildshading5 /.buildshading6 /.buildshading7 /.buildshadingpattern | ||
43 | -/.argindex /.bytestring /.namestring /.stringbreak /.stringmatch /.globalvmarray /.globalvmdict /.globalvmpackedarray /.globalvmstring | ||
44 | +/.buildshading1 /.buildshading2 /.buildshading3 /.buildshading4 /.buildshading5 /.buildshading6 /.buildshading7 /.buildshadingpattern | ||
45 | +%/.shfill /.argindex /.bytestring /.namestring /.stringbreak /.stringmatch /.globalvmarray /.globalvmdict /.globalvmpackedarray /.globalvmstring | ||
46 | /.localvmarray /.localvmdict /.localvmpackedarray /.localvmstring /.systemvmarray /.systemvmdict /.systemvmpackedarray /.systemvmstring /.systemvmfile /.systemvmlibfile | ||
47 | /.systemvmSFD /.settrapparams /.currentsystemparams /.currentuserparams /.getsystemparam /.getuserparam /.setsystemparams /.setuserparams | ||
48 | /.checkpassword /.locale_to_utf8 /.currentglobal /.gcheck /.imagepath | ||
49 | diff --git a/Resource/Init/gs_ll3.ps b/Resource/Init/gs_ll3.ps | ||
50 | index 5aa56a3..1d37e53 100644 | ||
51 | --- a/Resource/Init/gs_ll3.ps | ||
52 | +++ b/Resource/Init/gs_ll3.ps | ||
53 | @@ -440,6 +440,11 @@ systemdict /.reuseparamdict mark | ||
54 | /shfill .systemvar /undefined signalerror | ||
55 | } ifelse | ||
56 | } bind def | ||
57 | + | ||
58 | +/.buildshading_and_shfill { | ||
59 | + .buildshading .shfill | ||
60 | +} bind def | ||
61 | + | ||
62 | systemdict /.reuseparamdict undef | ||
63 | |||
64 | /.buildpattern2 { % <template> <matrix> .buildpattern2 | ||
65 | @@ -464,7 +469,7 @@ systemdict /.reuseparamdict undef | ||
66 | % Currently, .shfill requires that the color space | ||
67 | % in the pattern be the current color space. | ||
68 | % Disable overprintmode for shfill | ||
69 | - { dup gsave 0 .setoverprintmode .buildshading .shfill } stopped | ||
70 | + { dup gsave 0 .setoverprintmode .buildshading_and_shfill } stopped | ||
71 | grestore { | ||
72 | /$error .systemvar /errorinfo 2 copy known { | ||
73 | pop pop | ||
74 | diff --git a/Resource/Init/pdf_draw.ps b/Resource/Init/pdf_draw.ps | ||
75 | index e8ca213..a7144d3 100644 | ||
76 | --- a/Resource/Init/pdf_draw.ps | ||
77 | +++ b/Resource/Init/pdf_draw.ps | ||
78 | @@ -1365,9 +1365,8 @@ drawopdict begin | ||
79 | { dup /.shading .knownget { | ||
80 | exch pop | ||
81 | } { | ||
82 | - .buildshading | ||
83 | + .buildshading_and_shfill | ||
84 | } ifelse | ||
85 | - .shfill | ||
86 | } stopped { | ||
87 | pop | ||
88 | ( **** Error: Ignoring invalid smooth shading object, output may be incorrect.\n) | ||
89 | -- | ||
90 | 2.8.1 | ||
91 | |||
diff --git a/meta/recipes-extended/ghostscript/ghostscript/0004-Hide-the-.shfill-operator.patch b/meta/recipes-extended/ghostscript/ghostscript/0004-Hide-the-.shfill-operator.patch deleted file mode 100644 index 7c6d002620..0000000000 --- a/meta/recipes-extended/ghostscript/ghostscript/0004-Hide-the-.shfill-operator.patch +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | From ee9e8065e7d7b3adbc25fd655727ca72861ee032 Mon Sep 17 00:00:00 2001 | ||
2 | From: Ken Sharp <ken.sharp@artifex.com> | ||
3 | Date: Fri, 24 Aug 2018 12:44:26 +0100 | ||
4 | Subject: [PATCH 4/5] Hide the .shfill operator | ||
5 | |||
6 | Commit 0b6cd1918e1ec4ffd087400a754a845180a4522b was supposed to make | ||
7 | the .shfill operator unobtainable, but I accidentally left a comment | ||
8 | in the line doing so. | ||
9 | |||
10 | Fix it here, without this the operator can still be exploited. | ||
11 | |||
12 | CVE: CVE-2018-15909 | ||
13 | Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git] | ||
14 | |||
15 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
16 | --- | ||
17 | Resource/Init/gs_init.ps | 2 +- | ||
18 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
19 | |||
20 | diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps | ||
21 | index 1956ed5..955b843 100644 | ||
22 | --- a/Resource/Init/gs_init.ps | ||
23 | +++ b/Resource/Init/gs_init.ps | ||
24 | @@ -2182,7 +2182,7 @@ SAFER { .setsafeglobal } if | ||
25 | /.oserrno /.setoserrno /.oserrorstring /.getCPSImode | ||
26 | /.getscanconverter /.setscanconverter /.type1encrypt /.type1decrypt/.languagelevel /.setlanguagelevel /.eqproc /.fillpage /.buildpattern1 /.saslprep | ||
27 | /.buildshading1 /.buildshading2 /.buildshading3 /.buildshading4 /.buildshading5 /.buildshading6 /.buildshading7 /.buildshadingpattern | ||
28 | -%/.shfill /.argindex /.bytestring /.namestring /.stringbreak /.stringmatch /.globalvmarray /.globalvmdict /.globalvmpackedarray /.globalvmstring | ||
29 | +/.shfill /.argindex /.bytestring /.namestring /.stringbreak /.stringmatch /.globalvmarray /.globalvmdict /.globalvmpackedarray /.globalvmstring | ||
30 | /.localvmarray /.localvmdict /.localvmpackedarray /.localvmstring /.systemvmarray /.systemvmdict /.systemvmpackedarray /.systemvmstring /.systemvmfile /.systemvmlibfile | ||
31 | /.systemvmSFD /.settrapparams /.currentsystemparams /.currentuserparams /.getsystemparam /.getuserparam /.setsystemparams /.setuserparams | ||
32 | /.checkpassword /.locale_to_utf8 /.currentglobal /.gcheck /.imagepath | ||
33 | -- | ||
34 | 2.8.1 | ||
35 | |||
diff --git a/meta/recipes-extended/ghostscript/ghostscript/0005-Bug-699657-properly-apply-file-permissions-to-.tempf.patch b/meta/recipes-extended/ghostscript/ghostscript/0005-Bug-699657-properly-apply-file-permissions-to-.tempf.patch deleted file mode 100644 index ccd40216c0..0000000000 --- a/meta/recipes-extended/ghostscript/ghostscript/0005-Bug-699657-properly-apply-file-permissions-to-.tempf.patch +++ /dev/null | |||
@@ -1,54 +0,0 @@ | |||
1 | From f4f50ceea8e8852b8c3ac73f5807d8b54b735c3e Mon Sep 17 00:00:00 2001 | ||
2 | From: Chris Liddell <chris.liddell@artifex.com> | ||
3 | Date: Tue, 21 Aug 2018 20:17:05 +0100 | ||
4 | Subject: [PATCH 5/5] Bug 699657: properly apply file permissions to .tempfile | ||
5 | |||
6 | CVE: CVE-2018-15908 | ||
7 | Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git] | ||
8 | |||
9 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
10 | --- | ||
11 | psi/zfile.c | 20 ++++++++++++++++++-- | ||
12 | 1 file changed, 18 insertions(+), 2 deletions(-) | ||
13 | |||
14 | diff --git a/psi/zfile.c b/psi/zfile.c | ||
15 | index a0acd5a..19996b0 100644 | ||
16 | --- a/psi/zfile.c | ||
17 | +++ b/psi/zfile.c | ||
18 | @@ -134,7 +134,7 @@ check_file_permissions_reduced(i_ctx_t *i_ctx_p, const char *fname, int len, | ||
19 | /* we're protecting arbitrary file system accesses, not Postscript device accesses. | ||
20 | * Although, note that %pipe% is explicitly checked for and disallowed elsewhere | ||
21 | */ | ||
22 | - if (iodev != iodev_default(imemory)) { | ||
23 | + if (iodev && iodev != iodev_default(imemory)) { | ||
24 | return 0; | ||
25 | } | ||
26 | |||
27 | @@ -734,7 +734,23 @@ ztempfile(i_ctx_t *i_ctx_p) | ||
28 | } | ||
29 | |||
30 | if (gp_file_name_is_absolute(pstr, strlen(pstr))) { | ||
31 | - if (check_file_permissions(i_ctx_p, pstr, strlen(pstr), | ||
32 | + int plen = strlen(pstr); | ||
33 | + const char *sep = gp_file_name_separator(); | ||
34 | +#ifdef DEBUG | ||
35 | + int seplen = strlen(sep); | ||
36 | + if (seplen != 1) | ||
37 | + return_error(gs_error_Fatal); | ||
38 | +#endif | ||
39 | + /* strip off the file name prefix, leave just the directory name | ||
40 | + * so we can check if we are allowed to write to it | ||
41 | + */ | ||
42 | + for ( ; plen >=0; plen--) { | ||
43 | + if (pstr[plen] == sep[0]) | ||
44 | + break; | ||
45 | + } | ||
46 | + memcpy(fname, pstr, plen); | ||
47 | + fname[plen] = '\0'; | ||
48 | + if (check_file_permissions(i_ctx_p, fname, strlen(fname), | ||
49 | NULL, "PermitFileWriting") < 0) { | ||
50 | code = gs_note_error(gs_error_invalidfileaccess); | ||
51 | goto done; | ||
52 | -- | ||
53 | 2.8.1 | ||
54 | |||
diff --git a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-native-fix-disable-system-libtiff.patch b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-native-fix-disable-system-libtiff.patch index 9f2df0cc8f..a382c7f891 100644 --- a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-native-fix-disable-system-libtiff.patch +++ b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-native-fix-disable-system-libtiff.patch | |||
@@ -11,9 +11,10 @@ Upstream-Status: Pending | |||
11 | 11 | ||
12 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | 12 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> |
13 | 13 | ||
14 | Rebase to ghostscript 9.23. | 14 | Rebase to ghostscript 9.25. |
15 | 15 | ||
16 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | 16 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> |
17 | Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com> | ||
17 | --- | 18 | --- |
18 | configure.ac | 5 +++++ | 19 | configure.ac | 5 +++++ |
19 | 1 file changed, 5 insertions(+) | 20 | 1 file changed, 5 insertions(+) |
@@ -22,15 +23,15 @@ diff --git a/configure.ac b/configure.ac | |||
22 | index 80a60b1..f3e9efb 100644 | 23 | index 80a60b1..f3e9efb 100644 |
23 | --- a/configure.ac | 24 | --- a/configure.ac |
24 | +++ b/configure.ac | 25 | +++ b/configure.ac |
25 | @@ -1284,6 +1284,7 @@ case "x$with_system_libtiff" in | 26 | @@ -1319,6 +1319,7 @@ AC_TRY_COMPILE([], [return 0;], |
26 | esac | 27 | CFLAGS=$CGLAGS_STORE |
27 | 28 | ||
28 | if test x"$SHARE_LIBTIFF" = x"0" ; then | 29 | if test x"$SHARE_LIBTIFF" = x"0" ; then |
29 | + if test -e $LIBTIFFDIR/configure; then | 30 | + if test -e $LIBTIFFDIR/configure; then |
30 | echo "Running libtiff configure script..." | 31 | echo "Running libtiff configure script..." |
31 | olddir=`pwd` | 32 | olddir=`pwd` |
32 | if ! test -d "$LIBTIFFCONFDIR" ; then | 33 | if ! test -d "$LIBTIFFCONFDIR" ; then |
33 | @@ -1302,6 +1303,10 @@ if test x"$SHARE_LIBTIFF" = x"0" ; then | 34 | @@ -1337,6 +1338,10 @@ if test x"$SHARE_LIBTIFF" = x"0" ; then |
34 | 35 | ||
35 | echo | 36 | echo |
36 | echo "Continuing with Ghostscript configuration..." | 37 | echo "Continuing with Ghostscript configuration..." |
diff --git a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-prevent_recompiling.patch b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-prevent_recompiling.patch index e39d23d467..c76915fb81 100644 --- a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-prevent_recompiling.patch +++ b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-prevent_recompiling.patch | |||
@@ -11,8 +11,9 @@ Upstream-Status: Pending | |||
11 | Signed-off-by: Kang Kai <kai.kang@windriver.com> | 11 | Signed-off-by: Kang Kai <kai.kang@windriver.com> |
12 | Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> | 12 | Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> |
13 | 13 | ||
14 | Rebase to 9.23 | 14 | Rebase to 9.25 |
15 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | 15 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> |
16 | Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com> | ||
16 | --- | 17 | --- |
17 | base/unix-aux.mak | 44 -------------------------------------------- | 18 | base/unix-aux.mak | 44 -------------------------------------------- |
18 | 1 file changed, 44 deletions(-) | 19 | 1 file changed, 44 deletions(-) |
@@ -21,9 +22,9 @@ diff --git a/base/unix-aux.mak b/base/unix-aux.mak | |||
21 | index 5bf72e9..9cb39d7 100644 | 22 | index 5bf72e9..9cb39d7 100644 |
22 | --- a/base/unix-aux.mak | 23 | --- a/base/unix-aux.mak |
23 | +++ b/base/unix-aux.mak | 24 | +++ b/base/unix-aux.mak |
24 | @@ -64,50 +64,6 @@ $(GLOBJ)gp_sysv.$(OBJ): $(GLSRC)gp_sysv.c $(stdio__h) $(time__h) $(AK)\ | 25 | @@ -54,50 +54,6 @@ $(AUX)gp_stdia.$(OBJ): $(GLSRC)gp_stdia. |
25 | $(UNIX_AUX_MAK) $(MAKEDIRS) | 26 | $(stdio__h) $(time__h) $(unistd__h) $(gx_h) $(gp_h) $(UNIX_AUX_MAK) $(MAKEDIRS) |
26 | $(GLCC) $(GLO_)gp_sysv.$(OBJ) $(C_) $(GLSRC)gp_sysv.c | 27 | $(GLCCAUX) $(AUXO_)gp_stdia.$(OBJ) $(C_) $(GLSRC)gp_stdia.c |
27 | 28 | ||
28 | -# -------------------------- Auxiliary programs --------------------------- # | 29 | -# -------------------------- Auxiliary programs --------------------------- # |
29 | - | 30 | - |
diff --git a/meta/recipes-extended/ghostscript/ghostscript/remove-direct-symlink.patch b/meta/recipes-extended/ghostscript/ghostscript/remove-direct-symlink.patch deleted file mode 100644 index 410004e8f4..0000000000 --- a/meta/recipes-extended/ghostscript/ghostscript/remove-direct-symlink.patch +++ /dev/null | |||
@@ -1,40 +0,0 @@ | |||
1 | From 2ce79942ca509663ddf8171f45d1d324bb71bad6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Hongxu Jia <hongxu.jia@windriver.com> | ||
3 | Date: Thu, 29 Mar 2018 17:22:35 +0800 | ||
4 | Subject: [PATCH] remove direct symlink | ||
5 | |||
6 | The upstream create a direct symlink to stay backward | ||
7 | compatible, a symlink is automatically created to point | ||
8 | from the old location (/usr/share/ghostscript/<version>/doc) | ||
9 | to the new location. | ||
10 | |||
11 | It caused do_populate_sysroot failure | ||
12 | ... | ||
13 | |ERROR: ghostscript-9.23-r0 do_populate_sysroot: sstate found an absolute | ||
14 | path symlink | ||
15 | ... | ||
16 | |||
17 | Without the symlink is no harm for OE | ||
18 | |||
19 | Upstream-Status: Inappropriate [OE specific] | ||
20 | |||
21 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
22 | --- | ||
23 | base/unixinst.mak | 1 - | ||
24 | 1 file changed, 1 deletion(-) | ||
25 | |||
26 | diff --git a/base/unixinst.mak b/base/unixinst.mak | ||
27 | index 7fec86c..0cf2361 100644 | ||
28 | --- a/base/unixinst.mak | ||
29 | +++ b/base/unixinst.mak | ||
30 | @@ -165,7 +165,6 @@ install-doc: $(PSDOCDIR)/News.htm | ||
31 | $(SH) -c 'for f in $(DOC_PAGES) ;\ | ||
32 | do if ( test -f $(PSDOCDIR)/$$f ); then $(INSTALL_DATA) $(PSDOCDIR)/$$f $(DESTDIR)$(docdir); fi;\ | ||
33 | done' | ||
34 | - ln -s $(DESTDIR)$(docdir) $(DESTDIR)$(gsdatadir)/doc | ||
35 | |||
36 | # install the man pages for each locale | ||
37 | MAN_LCDIRS=. de | ||
38 | -- | ||
39 | 1.8.3.1 | ||
40 | |||
diff --git a/meta/recipes-extended/ghostscript/ghostscript_9.23.bb b/meta/recipes-extended/ghostscript/ghostscript_9.25.bb index 898b6cd985..35eaaeb2fa 100644 --- a/meta/recipes-extended/ghostscript/ghostscript_9.23.bb +++ b/meta/recipes-extended/ghostscript/ghostscript_9.25.bb | |||
@@ -19,18 +19,12 @@ DEPENDS_class-native = "libpng-native" | |||
19 | UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases" | 19 | UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases" |
20 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" | 20 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" |
21 | 21 | ||
22 | SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs923/${BPN}-${PV}.tar.gz \ | 22 | SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs925/${BPN}-${PV}.tar.gz \ |
23 | file://ghostscript-9.15-parallel-make.patch \ | 23 | file://ghostscript-9.15-parallel-make.patch \ |
24 | file://ghostscript-9.16-Werror-return-type.patch \ | 24 | file://ghostscript-9.16-Werror-return-type.patch \ |
25 | file://do-not-check-local-libpng-source.patch \ | 25 | file://do-not-check-local-libpng-source.patch \ |
26 | file://avoid-host-contamination.patch \ | 26 | file://avoid-host-contamination.patch \ |
27 | file://mkdir-p.patch \ | 27 | file://mkdir-p.patch \ |
28 | file://remove-direct-symlink.patch \ | ||
29 | file://0001-Bug-699665-memory-corruption-in-aesdecode.patch \ | ||
30 | file://0002-Bug-699656-Handle-LockDistillerParams-not-being-a-bo.patch \ | ||
31 | file://0003-Fix-Bug-699660-shading_param-incomplete-type-checkin.patch \ | ||
32 | file://0004-Hide-the-.shfill-operator.patch \ | ||
33 | file://0005-Bug-699657-properly-apply-file-permissions-to-.tempf.patch \ | ||
34 | " | 28 | " |
35 | 29 | ||
36 | SRC_URI = "${SRC_URI_BASE} \ | 30 | SRC_URI = "${SRC_URI_BASE} \ |
@@ -38,7 +32,6 @@ SRC_URI = "${SRC_URI_BASE} \ | |||
38 | file://ghostscript-9.02-genarch.patch \ | 32 | file://ghostscript-9.02-genarch.patch \ |
39 | file://objarch.h \ | 33 | file://objarch.h \ |
40 | file://cups-no-gcrypt.patch \ | 34 | file://cups-no-gcrypt.patch \ |
41 | file://0001-pdfwrite-Guard-against-trying-to-output-an-infinite-.patch \ | ||
42 | " | 35 | " |
43 | 36 | ||
44 | SRC_URI_class-native = "${SRC_URI_BASE} \ | 37 | SRC_URI_class-native = "${SRC_URI_BASE} \ |
@@ -46,8 +39,8 @@ SRC_URI_class-native = "${SRC_URI_BASE} \ | |||
46 | file://base-genht.c-add-a-preprocessor-define-to-allow-fope.patch \ | 39 | file://base-genht.c-add-a-preprocessor-define-to-allow-fope.patch \ |
47 | " | 40 | " |
48 | 41 | ||
49 | SRC_URI[md5sum] = "5a47ab47cd22dec1eb5f51c06f1c9d9c" | 42 | SRC_URI[md5sum] = "eebd0fadbfa8e800094422ce65e94d5d" |
50 | SRC_URI[sha256sum] = "f65964807a3c97a2c0810d4b9806585367e73129e57ae33378cea18e07a1ed9b" | 43 | SRC_URI[sha256sum] = "baafa64740b090bff50b220a6df3be95c46069b7e30f4b4effed28316e5b2389" |
51 | 44 | ||
52 | # Put something like | 45 | # Put something like |
53 | # | 46 | # |