diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-02-25 22:55:05 -0500 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-03-15 14:22:49 +0000 |
commit | d7bf8c17eca8f8c89898a7794462c773c449e983 (patch) | |
tree | d18618fca85ca5f0c077032cc7b009344b60f663 /import-layers/meta-openembedded/meta-oe/recipes-devtools | |
parent | e2b5abdc9f28cdf8578e5b9be803c8e697443c20 (diff) | |
download | blackbird-openbmc-d7bf8c17eca8f8c89898a7794462c773c449e983.tar.gz blackbird-openbmc-d7bf8c17eca8f8c89898a7794462c773c449e983.zip |
Yocto 2.4
Move OpenBMC to Yocto 2.4(rocko)
Tested: Built and verified Witherspoon and Palmetto images
Change-Id: I12057b18610d6fb0e6903c60213690301e9b0c67
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'import-layers/meta-openembedded/meta-oe/recipes-devtools')
115 files changed, 8207 insertions, 1723 deletions
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/.gitignore b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/.gitignore index b8a08f824..b034c10a1 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/.gitignore +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/.gitignore @@ -3,6 +3,8 @@ !*.indirectionsymlink !*.[ch] !*.mk +!*.patch +!*.service !NOTICE !MODULE_LICENSE_* !/system/ diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/0001-add-base64-implementation.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/0001-add-base64-implementation.patch new file mode 100644 index 000000000..680d21f3a --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/0001-add-base64-implementation.patch @@ -0,0 +1,351 @@ +From bbeb72f11c64f190b23abbed5f44311bd021bdc9 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 15 Sep 2017 15:46:38 -0700 +Subject: [PATCH 1/2] add base64 implementation + +musl needs it + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + system/core/adb/adb_auth_client.c | 2 +- + system/core/adb/base64.c | 315 ++++++++++++++++++++++++++++++++++++++ + 2 files changed, 316 insertions(+), 1 deletion(-) + create mode 100644 system/core/adb/base64.c + +diff --git a/system/core/adb/adb_auth_client.c b/system/core/adb/adb_auth_client.c +index 55e9dca..104b413 100644 +--- a/system/core/adb/adb_auth_client.c ++++ b/system/core/adb/adb_auth_client.c +@@ -75,7 +75,7 @@ static void read_keys(const char *file, struct listnode *list) + if (sep) + *sep = '\0'; + +- ret = __b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4); ++ ret = b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4); + if (ret != sizeof(key->key)) { + D("%s: Invalid base64 data ret=%d\n", file, ret); + free(key); +diff --git a/system/core/adb/base64.c b/system/core/adb/base64.c +new file mode 100644 +index 0000000..95da284 +--- /dev/null ++++ b/system/core/adb/base64.c +@@ -0,0 +1,315 @@ ++/* ++ * Copyright (c) 1996-1999 by Internet Software Consortium. ++ * ++ * Permission to use, copy, modify, and distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS ++ * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE ++ * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL ++ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR ++ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ++ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS ++ * SOFTWARE. ++ */ ++ ++/* ++ * Portions Copyright (c) 1995 by International Business Machines, Inc. ++ * ++ * International Business Machines, Inc. (hereinafter called IBM) grants ++ * permission under its copyrights to use, copy, modify, and distribute this ++ * Software with or without fee, provided that the above copyright notice and ++ * all paragraphs of this notice appear in all copies, and that the name of IBM ++ * not be used in connection with the marketing of any product incorporating ++ * the Software or modifications thereof, without specific, written prior ++ * permission. ++ * ++ * To the extent it has a right to do so, IBM grants an immunity from suit ++ * under its patents, if any, for the use, sale or manufacture of products to ++ * the extent that such products are used for performing Domain Name System ++ * dynamic updates in TCP/IP networks by means of the Software. No immunity is ++ * granted for any product per se or for any other function of any product. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", AND IBM DISCLAIMS ALL WARRANTIES, ++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A ++ * PARTICULAR PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, ++ * DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ARISING ++ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE, EVEN ++ * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. ++ */ ++ ++#if !defined(LINT) && !defined(CODECENTER) ++static const char rcsid[] = "$BINDId: base64.c,v 8.7 1999/10/13 16:39:33 vixie Exp $"; ++#endif /* not lint */ ++ ++#include <sys/types.h> ++#include <sys/param.h> ++#include <sys/socket.h> ++ ++#include <netinet/in.h> ++#include <arpa/inet.h> ++#include <arpa/nameser.h> ++ ++#include <ctype.h> ++#include <resolv.h> ++#include <stdio.h> ++#include <stdlib.h> ++#include <stdint.h> ++#include <string.h> ++ ++#define Assert(Cond) if (!(Cond)) abort() ++ ++static const char Base64[] = ++ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; ++static const char Pad64 = '='; ++ ++/* (From RFC1521 and draft-ietf-dnssec-secext-03.txt) ++ The following encoding technique is taken from RFC 1521 by Borenstein ++ and Freed. It is reproduced here in a slightly edited form for ++ convenience. ++ ++ A 65-character subset of US-ASCII is used, enabling 6 bits to be ++ represented per printable character. (The extra 65th character, "=", ++ is used to signify a special processing function.) ++ ++ The encoding process represents 24-bit groups of input bits as output ++ strings of 4 encoded characters. Proceeding from left to right, a ++ 24-bit input group is formed by concatenating 3 8-bit input groups. ++ These 24 bits are then treated as 4 concatenated 6-bit groups, each ++ of which is translated into a single digit in the base64 alphabet. ++ ++ Each 6-bit group is used as an index into an array of 64 printable ++ characters. The character referenced by the index is placed in the ++ output string. ++ ++ Table 1: The Base64 Alphabet ++ ++ Value Encoding Value Encoding Value Encoding Value Encoding ++ 0 A 17 R 34 i 51 z ++ 1 B 18 S 35 j 52 0 ++ 2 C 19 T 36 k 53 1 ++ 3 D 20 U 37 l 54 2 ++ 4 E 21 V 38 m 55 3 ++ 5 F 22 W 39 n 56 4 ++ 6 G 23 X 40 o 57 5 ++ 7 H 24 Y 41 p 58 6 ++ 8 I 25 Z 42 q 59 7 ++ 9 J 26 a 43 r 60 8 ++ 10 K 27 b 44 s 61 9 ++ 11 L 28 c 45 t 62 + ++ 12 M 29 d 46 u 63 / ++ 13 N 30 e 47 v ++ 14 O 31 f 48 w (pad) = ++ 15 P 32 g 49 x ++ 16 Q 33 h 50 y ++ ++ Special processing is performed if fewer than 24 bits are available ++ at the end of the data being encoded. A full encoding quantum is ++ always completed at the end of a quantity. When fewer than 24 input ++ bits are available in an input group, zero bits are added (on the ++ right) to form an integral number of 6-bit groups. Padding at the ++ end of the data is performed using the '=' character. ++ ++ Since all base64 input is an integral number of octets, only the ++ ------------------------------------------------- ++ following cases can arise: ++ ++ (1) the final quantum of encoding input is an integral ++ multiple of 24 bits; here, the final unit of encoded ++ output will be an integral multiple of 4 characters ++ with no "=" padding, ++ (2) the final quantum of encoding input is exactly 8 bits; ++ here, the final unit of encoded output will be two ++ characters followed by two "=" padding characters, or ++ (3) the final quantum of encoding input is exactly 16 bits; ++ here, the final unit of encoded output will be three ++ characters followed by one "=" padding character. ++ */ ++ ++int ++b64_ntop(const uint8_t* src, size_t srclength, char* target, size_t targsize) ++{ ++ size_t datalength = 0; ++ uint8_t input[3]; ++ uint8_t output[4]; ++ size_t i; ++ ++ while (2 < srclength) { ++ input[0] = *src++; ++ input[1] = *src++; ++ input[2] = *src++; ++ srclength -= 3; ++ ++ output[0] = input[0] >> 2; ++ output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4); ++ output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6); ++ output[3] = input[2] & 0x3f; ++ Assert(output[0] < 64); ++ Assert(output[1] < 64); ++ Assert(output[2] < 64); ++ Assert(output[3] < 64); ++ ++ if (datalength + 4 > targsize) ++ return (-1); ++ target[datalength++] = Base64[output[0]]; ++ target[datalength++] = Base64[output[1]]; ++ target[datalength++] = Base64[output[2]]; ++ target[datalength++] = Base64[output[3]]; ++ } ++ ++ /* Now we worry about padding. */ ++ if (0 != srclength) { ++ /* Get what's left. */ ++ input[0] = input[1] = input[2] = '\0'; ++ for (i = 0; i < srclength; i++) ++ input[i] = *src++; ++ ++ output[0] = input[0] >> 2; ++ output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4); ++ output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6); ++ Assert(output[0] < 64); ++ Assert(output[1] < 64); ++ Assert(output[2] < 64); ++ ++ if (datalength + 4 > targsize) ++ return (-1); ++ target[datalength++] = Base64[output[0]]; ++ target[datalength++] = Base64[output[1]]; ++ if (srclength == 1) ++ target[datalength++] = Pad64; ++ else ++ target[datalength++] = Base64[output[2]]; ++ target[datalength++] = Pad64; ++ } ++ if (datalength >= targsize) ++ return (-1); ++ target[datalength] = '\0'; /* Returned value doesn't count \0. */ ++ return (datalength); ++} ++ ++/* skips all whitespace anywhere. ++ converts characters, four at a time, starting at (or after) ++ src from base - 64 numbers into three 8 bit bytes in the target area. ++ it returns the number of data bytes stored at the target, or -1 on error. ++ */ ++ ++int b64_pton(const char* src, uint8_t* target, size_t targsize) ++{ ++ int tarindex, state, ch; ++ char *pos; ++ ++ state = 0; ++ tarindex = 0; ++ ++ while ((ch = *src++) != '\0') { ++ if (isspace(ch)) /* Skip whitespace anywhere. */ ++ continue; ++ ++ if (ch == Pad64) ++ break; ++ ++ pos = strchr(Base64, ch); ++ if (pos == 0) /* A non-base64 character. */ ++ return (-1); ++ ++ switch (state) { ++ case 0: ++ if (target) { ++ if ((size_t)tarindex >= targsize) ++ return (-1); ++ target[tarindex] = (pos - Base64) << 2; ++ } ++ state = 1; ++ break; ++ case 1: ++ if (target) { ++ if ((size_t)tarindex + 1 >= targsize) ++ return (-1); ++ target[tarindex] |= (pos - Base64) >> 4; ++ target[tarindex+1] = ((pos - Base64) & 0x0f) ++ << 4 ; ++ } ++ tarindex++; ++ state = 2; ++ break; ++ case 2: ++ if (target) { ++ if ((size_t)tarindex + 1 >= targsize) ++ return (-1); ++ target[tarindex] |= (pos - Base64) >> 2; ++ target[tarindex+1] = ((pos - Base64) & 0x03) ++ << 6; ++ } ++ tarindex++; ++ state = 3; ++ break; ++ case 3: ++ if (target) { ++ if ((size_t)tarindex >= targsize) ++ return (-1); ++ target[tarindex] |= (pos - Base64); ++ } ++ tarindex++; ++ state = 0; ++ break; ++ default: ++ abort(); ++ } ++ } ++ ++ /* ++ * We are done decoding Base-64 chars. Let's see if we ended ++ * on a byte boundary, and/or with erroneous trailing characters. ++ */ ++ ++ if (ch == Pad64) { /* We got a pad char. */ ++ ch = *src++; /* Skip it, get next. */ ++ switch (state) { ++ case 0: /* Invalid = in first position */ ++ case 1: /* Invalid = in second position */ ++ return (-1); ++ ++ case 2: /* Valid, means one byte of info */ ++ /* Skip any number of spaces. */ ++ for ((void)NULL; ch != '\0'; ch = *src++) ++ if (!isspace(ch)) ++ break; ++ /* Make sure there is another trailing = sign. */ ++ if (ch != Pad64) ++ return (-1); ++ ch = *src++; /* Skip the = */ ++ /* Fall through to "single trailing =" case. */ ++ /* FALLTHROUGH */ ++ ++ case 3: /* Valid, means two bytes of info */ ++ /* ++ * We know this char is an =. Is there anything but ++ * whitespace after it? ++ */ ++ for ((void)NULL; ch != '\0'; ch = *src++) ++ if (!isspace(ch)) ++ return (-1); ++ ++ /* ++ * Now make sure for cases 2 and 3 that the "extra" ++ * bits that slopped past the last full byte were ++ * zeros. If we don't check them, they become a ++ * subliminal channel. ++ */ ++ if (target && target[tarindex] != 0) ++ return (-1); ++ } ++ } else { ++ /* ++ * We ended by seeing the end of the string. Make sure we ++ * have no partial bytes lying around. ++ */ ++ if (state != 0) ++ return (-1); ++ } ++ ++ return (tarindex); ++} ++ +-- +2.14.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/0002-adb-Musl-fixes.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/0002-adb-Musl-fixes.patch new file mode 100644 index 000000000..c7aebb641 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/0002-adb-Musl-fixes.patch @@ -0,0 +1,134 @@ +From f8653ed0ede4aa781ab758fcd44fdc05ffbe0b0a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 15 Sep 2017 15:50:57 -0700 +Subject: [PATCH 2/2] adb: Musl fixes + +__nonnull is gcc specific +include sys/types.h for size_t +Do not redefine close() and lseek() + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + system/core/adb/adb.h | 2 ++ + system/core/adb/disable_verity_service.c | 13 ++++++++----- + system/core/adb/framebuffer_service.c | 7 ++++--- + system/core/adb/sysdeps.h | 12 ++++++------ + 4 files changed, 20 insertions(+), 14 deletions(-) + +diff --git a/system/core/adb/adb.h b/system/core/adb/adb.h +index 44e5981..bcdc49f 100644 +--- a/system/core/adb/adb.h ++++ b/system/core/adb/adb.h +@@ -18,7 +18,9 @@ + #define __ADB_H + + #include <limits.h> ++#include <sys/types.h> + ++#include "fdevent.h" + #include "adb_trace.h" + #include "transport.h" /* readx(), writex() */ + +diff --git a/system/core/adb/disable_verity_service.c b/system/core/adb/disable_verity_service.c +index ed3da52..29fa3d6 100644 +--- a/system/core/adb/disable_verity_service.c ++++ b/system/core/adb/disable_verity_service.c +@@ -14,25 +14,28 @@ + * limitations under the License. + */ + +-#include "sysdeps.h" + + #define TRACE_TAG TRACE_ADB + #include "adb.h" ++#include "sysdeps.h" ++#include "cutils/properties.h" ++#include "ext4_sb.h" ++#include <fs_mgr.h> + + #include <stdio.h> + #include <stdarg.h> + #include <sys/stat.h> + #include <fcntl.h> + #include <inttypes.h> ++#include <unistd.h> ++#include <errno.h> ++#include <stdbool.h> + +-#include "cutils/properties.h" +-#include "ext4_sb.h" +-#include <fs_mgr.h> + + #define FSTAB_PREFIX "/fstab." + struct fstab *fstab; + +-__attribute__((__format__(printf, 2, 3))) __nonnull((2)) ++__attribute__((__format__(printf, 2, 3))) __attribute__((nonnull((2)))) + static void write_console(int fd, const char* format, ...) + { + char buffer[256]; +diff --git a/system/core/adb/framebuffer_service.c b/system/core/adb/framebuffer_service.c +index 8cbe840..8f0ccfb 100644 +--- a/system/core/adb/framebuffer_service.c ++++ b/system/core/adb/framebuffer_service.c +@@ -14,6 +14,10 @@ + * limitations under the License. + */ + ++#include "fdevent.h" ++#include "adb.h" ++#include "sysdeps.h" ++ + #include <stdlib.h> + #include <stdio.h> + #include <unistd.h> +@@ -23,9 +27,6 @@ + #include <sys/types.h> + #include <sys/wait.h> + +-#include "fdevent.h" +-#include "adb.h" +- + #include <linux/fb.h> + #include <sys/ioctl.h> + #include <sys/mman.h> +diff --git a/system/core/adb/sysdeps.h b/system/core/adb/sysdeps.h +index cc1f839..ea39ac3 100644 +--- a/system/core/adb/sysdeps.h ++++ b/system/core/adb/sysdeps.h +@@ -123,8 +123,8 @@ static __inline__ int unix_close(int fd) + { + return close(fd); + } +-#undef close +-#define close ____xxx_close ++//#undef close ++//#define close ____xxx_close + + static __inline__ int unix_read(int fd, void* buf, size_t len) + { +@@ -369,8 +369,8 @@ static __inline__ int adb_close(int fd) + { + return close(fd); + } +-#undef close +-#define close ____xxx_close ++//#undef close ++//#define close ____xxx_close + + + static __inline__ int adb_read(int fd, void* buf, size_t len) +@@ -392,8 +392,8 @@ static __inline__ int adb_lseek(int fd, int pos, int where) + { + return lseek(fd, pos, where); + } +-#undef lseek +-#define lseek ___xxx_lseek ++//#undef lseek ++//#define lseek ___xxx_lseek + + static __inline__ int adb_unlink(const char* path) + { +-- +2.14.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/adbd.mk b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/adbd.mk index 84cd06b10..31452ae10 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/adbd.mk +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/adbd.mk @@ -16,6 +16,7 @@ adbd_SRC_FILES += jdwp_service.c adbd_SRC_FILES += framebuffer_service.c adbd_SRC_FILES += remount_service.c adbd_SRC_FILES += disable_verity_service.c +adbd_SRC_FILES += base64.c adbd_SRC_FILES += usb_linux_client.c adbd_OBJS := $(adbd_SRC_FILES:.c=.o) diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb index 34fddcbda..d3ccd1d06 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb @@ -32,6 +32,8 @@ SRC_URI = " \ file://define-shell-command.patch \ file://implicit-declaration-function-strlcat-strlcopy.patch \ file://fix-big-endian-build.patch \ + file://0001-add-base64-implementation.patch \ + file://0002-adb-Musl-fixes.patch \ file://android-tools-adbd.service \ file://.gitignore;subdir=git \ file://adb.mk;subdir=${BPN} \ @@ -52,24 +54,6 @@ inherit systemd SYSTEMD_SERVICE_${PN} = "android-tools-adbd.service" -# Get rid of files uneeded to build Android tools -do_unpack_extra() { - cd ${S} - rm -rf \ - system/core/.git \ - system/extras/.git \ - hardware/libhardware/.git \ - external/libselinux/.git \ - build/.git - git init - git add . - git commit -m \ - "Initial import - committed ${ANDROID_TAG}" - git clean -fdx -} - -addtask unpack_extra after do_unpack before do_patch - # Find libbsd headers during native builds CC_append_class-native = " -I${STAGING_INCDIR}" CC_append_class-nativesdk = " -I${STAGING_INCDIR}" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive.inc b/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive.inc deleted file mode 100644 index 9684d1f99..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive.inc +++ /dev/null @@ -1,15 +0,0 @@ -LICENSE = "GPLv3" -HOMEPAGE = "http://www.gnu.org/software/autoconf-archive/" -SECTION = "devel" - -DEPENDS += "m4-native" -DEPENDS_class-native = "m4-native gnu-config-native" -DEPENDS_class-nativesdk = "m4-nativesdk gnu-config-nativesdk" - -RDEPENDS_${PN} = "m4 gnu-config gnome-common" -RDEPENDS_${PN}_class-native = "m4-native gnu-config-native" -RDEPENDS_${PN}_class-nativesdk = "m4-nativesdk gnu-config-nativesdk" - -SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz" - -inherit autotools diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive/delete-some-m4-files.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive/delete-some-m4-files.patch deleted file mode 100644 index 2aa788bf9..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive/delete-some-m4-files.patch +++ /dev/null @@ -1,23 +0,0 @@ -Delete two m4files ax_code_coverage.m4 and ax_check_enable_debug.m4 -to avoid installing conflicts. These two files can be installed by -gnome-common from oe-core, even if the files in gnmoe-common is -copied from autoconf-archive(the reason is that the old version -autoconf-archive don't provide the two files). -After upgrading to the new version, we need to drop them in meta-oe -and then set rdepends to gnome-common(oe-core) - -Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> - -Index: a/configure.ac -=================================================================== ---- a/configure.ac 2016-09-16 06:00:00.000000000 +0800 -+++ b/configure.ac 2017-04-18 17:43:05.946290554 +0800 -@@ -19,7 +19,7 @@ - - AC_PROG_SED - --M4FILES="m4_esyscmd([echo -n m4/*.m4])" -+M4FILES="m4_esyscmd([echo -n m4/*.m4 | sed -e 's:m4/ax_code_coverage.m4 ::g'|sed -e 's:m4/ax_check_enable_debug.m4 ::g'])" - AC_SUBST([M4FILES]) - - TEXIFILES="m4_esyscmd([cd m4 && echo -n *.m4 | sed -e 's/\.m4/.texi/g'])" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2016.09.16.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2016.09.16.bb deleted file mode 100644 index 561b57b4f..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2016.09.16.bb +++ /dev/null @@ -1,17 +0,0 @@ -require autoconf-archive.inc - - -PARALLEL_MAKE = "" - -LICENSE = "GPLv2 & GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -SRC_URI[md5sum] = "bf19d4cddce260b3c3e1d51d42509071" -SRC_URI[sha256sum] = "e8f2efd235f842bad2f6938bf4a72240a5e5fcd248e8444335e63beb60fabd82" - -SRC_URI += "\ - file://delete-some-m4-files.patch \ -" - -EXTRA_OECONF += "ac_cv_path_M4=m4" -BBCLASSEXTEND = "native nativesdk" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch new file mode 100644 index 000000000..07cb8a366 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch @@ -0,0 +1,242 @@ +From b90c8f3b60bfe5dbed2823620242e9d30b9eb28f Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 28 Jun 2017 19:01:18 -0700 +Subject: [PATCH] Replace use of struct ucontext with ucontext_t + +glibc 2.26 would not expose struct ucontext anymore + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + .../linux/dump_writer_common/ucontext_reader.cc | 32 +++++++++++----------- + .../linux/dump_writer_common/ucontext_reader.h | 14 +++++----- + src/client/linux/handler/exception_handler.cc | 10 +++---- + src/client/linux/handler/exception_handler.h | 4 +-- + .../linux/microdump_writer/microdump_writer.cc | 2 +- + .../linux/minidump_writer/minidump_writer.cc | 2 +- + 6 files changed, 32 insertions(+), 32 deletions(-) + +diff --git a/src/client/linux/dump_writer_common/ucontext_reader.cc b/src/client/linux/dump_writer_common/ucontext_reader.cc +index c80724dd..052ce37c 100644 +--- a/src/client/linux/dump_writer_common/ucontext_reader.cc ++++ b/src/client/linux/dump_writer_common/ucontext_reader.cc +@@ -36,19 +36,19 @@ namespace google_breakpad { + + // Minidump defines register structures which are different from the raw + // structures which we get from the kernel. These are platform specific +-// functions to juggle the ucontext and user structures into minidump format. ++// functions to juggle the ucontext_t and user structures into minidump format. + + #if defined(__i386__) + +-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gregs[REG_ESP]; + } + +-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gregs[REG_EIP]; + } + +-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, ++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, + const struct _libc_fpstate* fp) { + const greg_t* regs = uc->uc_mcontext.gregs; + +@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, + + #elif defined(__x86_64) + +-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gregs[REG_RSP]; + } + +-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gregs[REG_RIP]; + } + +-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, ++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, + const struct _libc_fpstate* fpregs) { + const greg_t* regs = uc->uc_mcontext.gregs; + +@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, + + #elif defined(__ARM_EABI__) + +-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { + return uc->uc_mcontext.arm_sp; + } + +-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { + return uc->uc_mcontext.arm_pc; + } + +-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { ++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { + out->context_flags = MD_CONTEXT_ARM_FULL; + + out->iregs[0] = uc->uc_mcontext.arm_r0; +@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { + + #elif defined(__aarch64__) + +-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { + return uc->uc_mcontext.sp; + } + +-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { + return uc->uc_mcontext.pc; + } + +-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, ++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, + const struct fpsimd_context* fpregs) { + out->context_flags = MD_CONTEXT_ARM64_FULL; + +@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, + + #elif defined(__mips__) + +-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP]; + } + +-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { + return uc->uc_mcontext.pc; + } + +-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { ++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { + #if _MIPS_SIM == _ABI64 + out->context_flags = MD_CONTEXT_MIPS64_FULL; + #elif _MIPS_SIM == _ABIO32 +diff --git a/src/client/linux/dump_writer_common/ucontext_reader.h b/src/client/linux/dump_writer_common/ucontext_reader.h +index b6e77b4b..2de80b70 100644 +--- a/src/client/linux/dump_writer_common/ucontext_reader.h ++++ b/src/client/linux/dump_writer_common/ucontext_reader.h +@@ -39,23 +39,23 @@ + + namespace google_breakpad { + +-// Wraps platform-dependent implementations of accessors to ucontext structs. ++// Wraps platform-dependent implementations of accessors to ucontext_t structs. + struct UContextReader { +- static uintptr_t GetStackPointer(const struct ucontext* uc); ++ static uintptr_t GetStackPointer(const ucontext_t* uc); + +- static uintptr_t GetInstructionPointer(const struct ucontext* uc); ++ static uintptr_t GetInstructionPointer(const ucontext_t* uc); + +- // Juggle a arch-specific ucontext into a minidump format ++ // Juggle a arch-specific ucontext_t into a minidump format + // out: the minidump structure + // info: the collection of register structures. + #if defined(__i386__) || defined(__x86_64) +- static void FillCPUContext(RawContextCPU *out, const ucontext *uc, ++ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, + const struct _libc_fpstate* fp); + #elif defined(__aarch64__) +- static void FillCPUContext(RawContextCPU *out, const ucontext *uc, ++ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, + const struct fpsimd_context* fpregs); + #else +- static void FillCPUContext(RawContextCPU *out, const ucontext *uc); ++ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc); + #endif + }; + +diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc +index 586d84e9..05936d28 100644 +--- a/src/client/linux/handler/exception_handler.cc ++++ b/src/client/linux/handler/exception_handler.cc +@@ -457,9 +457,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) { + // Fill in all the holes in the struct to make Valgrind happy. + memset(&g_crash_context_, 0, sizeof(g_crash_context_)); + memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t)); +- memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext)); ++ memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t)); + #if defined(__aarch64__) +- struct ucontext* uc_ptr = (struct ucontext*)uc; ++ ucontext_t* uc_ptr = (ucontext_t*)uc; + struct fpsimd_context* fp_ptr = + (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved; + if (fp_ptr->head.magic == FPSIMD_MAGIC) { +@@ -468,9 +468,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) { + } + #elif !defined(__ARM_EABI__) && !defined(__mips__) + // FP state is not part of user ABI on ARM Linux. +- // In case of MIPS Linux FP state is already part of struct ucontext ++ // In case of MIPS Linux FP state is already part of ucontext_t + // and 'float_state' is not a member of CrashContext. +- struct ucontext* uc_ptr = (struct ucontext*)uc; ++ ucontext_t* uc_ptr = (ucontext_t*)uc; + if (uc_ptr->uc_mcontext.fpregs) { + memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs, + sizeof(g_crash_context_.float_state)); +@@ -494,7 +494,7 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) { + // ExceptionHandler::HandleSignal(). + siginfo.si_code = SI_USER; + siginfo.si_pid = getpid(); +- struct ucontext context; ++ ucontext_t context; + getcontext(&context); + return HandleSignal(sig, &siginfo, &context); + } +diff --git a/src/client/linux/handler/exception_handler.h b/src/client/linux/handler/exception_handler.h +index daba57e0..25598a29 100644 +--- a/src/client/linux/handler/exception_handler.h ++++ b/src/client/linux/handler/exception_handler.h +@@ -191,11 +191,11 @@ class ExceptionHandler { + struct CrashContext { + siginfo_t siginfo; + pid_t tid; // the crashing thread. +- struct ucontext context; ++ ucontext_t context; + #if !defined(__ARM_EABI__) && !defined(__mips__) + // #ifdef this out because FP state is not part of user ABI for Linux ARM. + // In case of MIPS Linux FP state is already part of struct +- // ucontext so 'float_state' is not required. ++ // ucontext_t so 'float_state' is not required. + fpstate_t float_state; + #endif + }; +diff --git a/src/client/linux/microdump_writer/microdump_writer.cc b/src/client/linux/microdump_writer/microdump_writer.cc +index 3764eec2..80ad5c46 100644 +--- a/src/client/linux/microdump_writer/microdump_writer.cc ++++ b/src/client/linux/microdump_writer/microdump_writer.cc +@@ -593,7 +593,7 @@ class MicrodumpWriter { + + void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); } + +- const struct ucontext* const ucontext_; ++ const ucontext_t* const ucontext_; + #if !defined(__ARM_EABI__) && !defined(__mips__) + const google_breakpad::fpstate_t* const float_state_; + #endif +diff --git a/src/client/linux/minidump_writer/minidump_writer.cc b/src/client/linux/minidump_writer/minidump_writer.cc +index d11ba6e5..c7161434 100644 +--- a/src/client/linux/minidump_writer/minidump_writer.cc ++++ b/src/client/linux/minidump_writer/minidump_writer.cc +@@ -1323,7 +1323,7 @@ class MinidumpWriter { + const int fd_; // File descriptor where the minidum should be written. + const char* path_; // Path to the file where the minidum should be written. + +- const struct ucontext* const ucontext_; // also from the signal handler ++ const ucontext_t* const ucontext_; // also from the signal handler + #if !defined(__ARM_EABI__) && !defined(__mips__) + const google_breakpad::fpstate_t* const float_state_; // ditto + #endif +-- +2.13.2 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch new file mode 100644 index 000000000..33bae1a37 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch @@ -0,0 +1,41 @@ +From ab8dcad25d0ac1f3a88814e78794e5d450de15ac Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 14 Sep 2017 23:12:51 -0700 +Subject: [PATCH 1/5] Turn off sign-compare for musl-libc + +Fix + +../../../../../../../workspace/sources/breakpad/src/client/linux/crash_generation/crash_generation_server.cc:234:14: error: comparison of integers of different signs: 'unsigned long' and 'int' [-Werror,-Wsign-compare] hdr = CMSG_NXTHDR(&msg, hdr)) { ^~~~~~~~~~~~~~~~~~~~~~ +/mnt/a/oe/build/tmp/work/cortexa7hf-neon-vfpv4-bec-linux-musleabi/breakpad/1_1.0+git999-r0/recipe-sysroot/usr/include/sys/socket.h:288:44: note: expanded from macro 'CMSG_NXTHDR' __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/client/linux/crash_generation/crash_generation_server.cc | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/src/client/linux/crash_generation/crash_generation_server.cc b/src/client/linux/crash_generation/crash_generation_server.cc +index 2596afde..2faeb9e5 100644 +--- a/src/client/linux/crash_generation/crash_generation_server.cc ++++ b/src/client/linux/crash_generation/crash_generation_server.cc +@@ -230,8 +230,18 @@ CrashGenerationServer::ClientEvent(short revents) + // Walk the control payload and extract the file descriptor and validated pid. + pid_t crashing_pid = -1; + int signal_fd = -1; ++#ifndef __GLIBC__ ++ // In musl-libc, CMSG_NXTHDR typecasts char* to cmsghdr* which causes ++ // clang to throw sign-compare warning. This is to suppress the warning ++ // inline. ++ #pragma clang diagnostic push ++ #pragma clang diagnostic ignored "-Wsign-compare" ++#endif + for (struct cmsghdr *hdr = CMSG_FIRSTHDR(&msg); hdr; + hdr = CMSG_NXTHDR(&msg, hdr)) { ++#ifndef __GLIBC__ ++ #pragma clang diagnostic pop ++#endif + if (hdr->cmsg_level != SOL_SOCKET) + continue; + if (hdr->cmsg_type == SCM_RIGHTS) { +-- +2.14.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch new file mode 100644 index 000000000..4583d601a --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch @@ -0,0 +1,28 @@ +From 68580cb62f77117be3164c52abae68f75e8e59a1 Mon Sep 17 00:00:00 2001 +From: Felix Janda <felix.janda@posteo.de> +Date: Sun, 1 Feb 2015 14:26:52 +0100 +Subject: [PATCH 1/3] include <sys/reg.h> to get __WORDSIZE on musl libc + +--- + src/common/linux/elf_core_dump.h | 1 + + 1 file changed, 1 insertion(+) + +Index: git/src/common/linux/elf_core_dump.h +=================================================================== +--- git.orig/src/common/linux/elf_core_dump.h ++++ git/src/common/linux/elf_core_dump.h +@@ -33,10 +33,13 @@ + #ifndef COMMON_LINUX_ELF_CORE_DUMP_H_ + #define COMMON_LINUX_ELF_CORE_DUMP_H_ + ++#include <config.h> + #include <elf.h> + #include <link.h> + #include <stddef.h> +- ++#ifdef HAVE_SYS_REG_H ++#include <sys/reg.h> ++#endif + #include "common/memory_range.h" + + namespace google_breakpad { diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch new file mode 100644 index 000000000..2b892ad64 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch @@ -0,0 +1,45 @@ +From 5f7333e4f7b7485598bd71aa80967e1a16a7f901 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 14 Sep 2017 22:57:52 -0700 +Subject: [PATCH] lss: Match syscalls to match musl + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + linux_syscall_support.h | 3 +++ + 1 file changed, 3 insertions(+) + +Index: lss/linux_syscall_support.h +=================================================================== +--- lss.orig/linux_syscall_support.h ++++ lss/linux_syscall_support.h +@@ -793,6 +793,9 @@ struct kernel_statfs { + #define FUTEX_TRYLOCK_PI_PRIVATE (FUTEX_TRYLOCK_PI | FUTEX_PRIVATE_FLAG) + #endif + ++#ifndef __NR_fstatat ++#define __NR_fstatat __NR_fstatat64 ++#endif + + #if defined(__x86_64__) + #ifndef ARCH_SET_GS +@@ -924,6 +927,7 @@ struct kernel_statfs { + #ifndef __NR_fallocate + #define __NR_fallocate 324 + #endif ++ + /* End of i386 definitions */ + #elif defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) + #ifndef __NR_setresuid +@@ -1211,6 +1215,12 @@ struct kernel_statfs { + #ifndef __NR_fallocate + #define __NR_fallocate 285 + #endif ++#ifndef __NR_pread ++#define __NR_pread __NR_pread64 ++#endif ++#ifndef __NR_pwrite ++#define __NR_pwrite __NR_pwrite64 ++#endif + /* End of x86-64 definitions */ + #elif defined(__mips__) + #if _MIPS_SIM == _MIPS_SIM_ABI32 diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch new file mode 100644 index 000000000..bc6282981 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch @@ -0,0 +1,29 @@ +From 806964f852773e427fea82a7716d44ce3be4498c Mon Sep 17 00:00:00 2001 +From: Felix Janda <felix.janda@posteo.de> +Date: Sun, 1 Feb 2015 14:27:32 +0100 +Subject: [PATCH 2/3] Avoid using basename + +--- + src/common/linux/dump_symbols.cc | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/common/linux/dump_symbols.cc b/src/common/linux/dump_symbols.cc +index d029ca14..6ac4a17b 100644 +--- a/src/common/linux/dump_symbols.cc ++++ b/src/common/linux/dump_symbols.cc +@@ -881,9 +881,9 @@ const char* ElfArchitecture(const typename ElfClass::Ehdr* elf_header) { + // last slash, or the whole filename if there are no slashes. + string BaseFileName(const string &filename) { + // Lots of copies! basename's behavior is less than ideal. +- char* c_filename = strdup(filename.c_str()); +- string base = basename(c_filename); +- free(c_filename); ++ const char *c_filename = filename.c_str(); ++ const char *p = strrchr(c_filename, '/'); ++ string base = p ? p+1 : c_filename; + return base; + } + +-- +2.14.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch new file mode 100644 index 000000000..6c097cd22 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch @@ -0,0 +1,60 @@ +From 0ba1b3e35e7c743b670bedc3e90001dfb868df10 Mon Sep 17 00:00:00 2001 +From: Felix Janda <felix.janda@posteo.de> +Date: Sun, 1 Feb 2015 13:45:51 +0100 +Subject: [PATCH 2/6] Use _fpstate instead of _libc_fpstate on linux + +glibc defines both. musl libc only the former. +--- + src/client/linux/dump_writer_common/ucontext_reader.cc | 4 ++-- + src/client/linux/dump_writer_common/ucontext_reader.h | 2 +- + src/client/linux/minidump_writer/minidump_writer.h | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +Index: git/src/client/linux/dump_writer_common/ucontext_reader.cc +=================================================================== +--- git.orig/src/client/linux/dump_writer_common/ucontext_reader.cc ++++ git/src/client/linux/dump_writer_common/ucontext_reader.cc +@@ -49,7 +49,7 @@ uintptr_t UContextReader::GetInstruction + } + + void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, +- const struct _libc_fpstate* fp) { ++ const struct _fpstate* fp) { + const greg_t* regs = uc->uc_mcontext.gregs; + + out->context_flags = MD_CONTEXT_X86_FULL | +@@ -97,7 +97,7 @@ uintptr_t UContextReader::GetInstruction + } + + void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, +- const struct _libc_fpstate* fpregs) { ++ const struct _fpstate* fpregs) { + const greg_t* regs = uc->uc_mcontext.gregs; + + out->context_flags = MD_CONTEXT_AMD64_FULL; +Index: git/src/client/linux/dump_writer_common/ucontext_reader.h +=================================================================== +--- git.orig/src/client/linux/dump_writer_common/ucontext_reader.h ++++ git/src/client/linux/dump_writer_common/ucontext_reader.h +@@ -50,7 +50,7 @@ struct UContextReader { + // info: the collection of register structures. + #if defined(__i386__) || defined(__x86_64) + static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, +- const struct _libc_fpstate* fp); ++ const struct _fpstate* fp); + #elif defined(__aarch64__) + static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, + const struct fpsimd_context* fpregs); +Index: git/src/client/linux/minidump_writer/minidump_writer.h +=================================================================== +--- git.orig/src/client/linux/minidump_writer/minidump_writer.h ++++ git/src/client/linux/minidump_writer/minidump_writer.h +@@ -48,7 +48,7 @@ class ExceptionHandler; + #if defined(__aarch64__) + typedef struct fpsimd_context fpstate_t; + #elif !defined(__ARM_EABI__) && !defined(__mips__) +-typedef struct _libc_fpstate fpstate_t; ++typedef struct _fpstate fpstate_t; + #endif + + // These entries store a list of memory regions that the client wants included diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch new file mode 100644 index 000000000..cfd9a9b34 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch @@ -0,0 +1,26 @@ +From 15582e19c2545d5ffe8ff07f957d0ed602aeca74 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 14 Sep 2017 23:15:09 -0700 +Subject: [PATCH 2/5] <sys/signal.h> is a nonportable alias for <signal.h> + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/client/linux/handler/exception_handler.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc +index 05936d28..cca023fd 100644 +--- a/src/client/linux/handler/exception_handler.cc ++++ b/src/client/linux/handler/exception_handler.cc +@@ -78,7 +78,7 @@ + #include <sys/wait.h> + #include <unistd.h> + +-#include <sys/signal.h> ++#include <signal.h> + #include <sys/ucontext.h> + #include <sys/user.h> + #include <ucontext.h> +-- +2.14.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch new file mode 100644 index 000000000..2593ea93e --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch @@ -0,0 +1,88 @@ +From 569af712da94637091080943f6a0d69ccb35864e Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 14 Sep 2017 23:24:08 -0700 +Subject: [PATCH 3/5] Dont include stab.h + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/common/stabs_reader.cc | 1 - + src/common/stabs_reader.h | 12 +++++++++++- + src/common/stabs_reader_unittest.cc | 1 - + 3 files changed, 11 insertions(+), 3 deletions(-) + +Index: git/src/common/stabs_reader.cc +=================================================================== +--- git.orig/src/common/stabs_reader.cc ++++ git/src/common/stabs_reader.cc +@@ -34,7 +34,9 @@ + #include "common/stabs_reader.h" + + #include <assert.h> ++#ifdef HAVE_STAB_H + #include <stab.h> ++#endif + #include <string.h> + + #include <string> +Index: git/src/common/stabs_reader.h +=================================================================== +--- git.orig/src/common/stabs_reader.h ++++ git/src/common/stabs_reader.h +@@ -58,6 +58,30 @@ + #elif defined(HAVE_A_OUT_H) + #include <a.out.h> + #endif ++// Definitions from <stab.h> and <a.out.h> for systems which ++// do not have them ++#ifndef HAVE_A_OUT_H ++#undef N_UNDF ++#define N_UNDF 0x0 ++#ifndef N_FUN ++#define N_FUN 0x24 ++#endif ++#ifndef N_SLINE ++#define N_SLINE 0x44 ++#endif ++#ifndef N_SO ++#define N_SO 0x64 ++#endif ++#ifndef N_LSYM ++#define N_LSYM 0x80 ++#endif ++#ifndef N_BINCL ++#define N_BINCL 0x82 ++#endif ++#ifndef N_SOL ++#define N_SOL 0x84 ++#endif ++#endif + + #include <string> + #include <vector> +Index: git/src/common/stabs_reader_unittest.cc +=================================================================== +--- git.orig/src/common/stabs_reader_unittest.cc ++++ git/src/common/stabs_reader_unittest.cc +@@ -33,7 +33,9 @@ + + #include <assert.h> + #include <errno.h> ++#ifdef HAVE_STAB_H + #include <stab.h> ++#endif + #include <stdarg.h> + #include <stdlib.h> + #include <string.h> +Index: git/configure.ac +=================================================================== +--- git.orig/configure.ac ++++ git/configure.ac +@@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32, + AC_HEADER_STDC + AC_SYS_LARGEFILE + AX_PTHREAD +-AC_CHECK_HEADERS([a.out.h sys/random.h]) ++AC_CHECK_HEADERS([a.out.h stab.h sys/random.h]) + AC_CHECK_FUNCS([arc4random getrandom]) + + AX_CXX_COMPILE_STDCXX(11, noext, mandatory) diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch new file mode 100644 index 000000000..851004704 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch @@ -0,0 +1,35 @@ +From 7aa266545dabf9934ccd44d4fc836040497159be Mon Sep 17 00:00:00 2001 +From: Felix Janda <felix.janda@posteo.de> +Date: Sun, 1 Feb 2015 13:41:08 +0100 +Subject: [PATCH 3/3] Fix conflict between musl libc <dirent.h> and lss + +Include <dirent.h> late to avoid the macro getdents64 in musl +libc's <dirent.h> to conflict with linux_sycall_support.h. +--- + src/client/linux/crash_generation/crash_generation_server.cc | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/client/linux/crash_generation/crash_generation_server.cc b/src/client/linux/crash_generation/crash_generation_server.cc +index 26c50a5c..2596afde 100644 +--- a/src/client/linux/crash_generation/crash_generation_server.cc ++++ b/src/client/linux/crash_generation/crash_generation_server.cc +@@ -28,7 +28,6 @@ + // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include <assert.h> +-#include <dirent.h> + #include <fcntl.h> + #include <limits.h> + #include <poll.h> +@@ -49,6 +48,8 @@ + #include "common/linux/guid_creator.h" + #include "common/linux/safe_readlink.h" + ++#include <dirent.h> ++ + static const char kCommandQuit = 'x'; + + namespace google_breakpad { +-- +2.14.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch new file mode 100644 index 000000000..525a1555b --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch @@ -0,0 +1,43 @@ +From 680f9590d19a6e35c7c5587e3f4d8194aab0fcd2 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 14 Sep 2017 23:28:36 -0700 +Subject: [PATCH 4/5] elf_reader.cc: include <sys/reg.h> to get __WORDSIZE on + musl libc + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/common/dwarf/elf_reader.cc | 1 + + 1 file changed, 1 insertion(+) + +Index: git/src/common/dwarf/elf_reader.cc +=================================================================== +--- git.orig/src/common/dwarf/elf_reader.cc ++++ git/src/common/dwarf/elf_reader.cc +@@ -29,10 +29,13 @@ + #ifndef _GNU_SOURCE + #define _GNU_SOURCE // needed for pread() + #endif +- ++#include <config.h> + #include <sys/types.h> + #include <sys/stat.h> + #include <sys/mman.h> ++#ifdef HAVE_SYS_REG_H ++#include <sys/reg.h> ++#endif + #include <unistd.h> + #include <fcntl.h> + #include <string.h> +Index: git/configure.ac +=================================================================== +--- git.orig/configure.ac ++++ git/configure.ac +@@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32, + AC_HEADER_STDC + AC_SYS_LARGEFILE + AX_PTHREAD +-AC_CHECK_HEADERS([a.out.h stab.h sys/random.h]) ++AC_CHECK_HEADERS([a.out.h stab.h sys/random.h sys/reg.h]) + AC_CHECK_FUNCS([arc4random getrandom]) + + AX_CXX_COMPILE_STDCXX(11, noext, mandatory) diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-Import-necessary-definitions-from-stab.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-Import-necessary-definitions-from-stab.h.patch new file mode 100644 index 000000000..80de8c684 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-Import-necessary-definitions-from-stab.h.patch @@ -0,0 +1,199 @@ +From fa7a3b7312307acad0045549d5f306e7fd117804 Mon Sep 17 00:00:00 2001 +From: Felix Janda <felix.janda@posteo.de> +Date: Sun, 1 Feb 2015 14:34:44 +0100 +Subject: [PATCH 5/6] Import necessary definitions from stab.h + +--- + configure.ac | 1 - + src/common/android/include/stab.h | 100 ------------------------------------ + src/common/common.gyp | 1 - + src/common/stabs_reader.cc | 1 - + src/common/stabs_reader.h | 13 +++-- + src/common/stabs_reader_unittest.cc | 1 - + 6 files changed, 10 insertions(+), 107 deletions(-) + delete mode 100644 src/common/android/include/stab.h + +diff --git a/configure.ac b/configure.ac +index 2223920..0e55cd9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -73,7 +73,6 @@ AC_HEADER_STDC + AC_SYS_LARGEFILE + m4_include(m4/ax_pthread.m4) + AX_PTHREAD +-AC_CHECK_HEADERS([a.out.h]) + + # Only build Linux client libs when compiling for Linux + case $host in +diff --git a/src/common/android/include/stab.h b/src/common/android/include/stab.h +deleted file mode 100644 +index cd92902..0000000 +--- a/src/common/android/include/stab.h ++++ /dev/null +@@ -1,100 +0,0 @@ +-// Copyright (c) 2012, Google Inc. +-// All rights reserved. +-// +-// Redistribution and use in source and binary forms, with or without +-// modification, are permitted provided that the following conditions are +-// met: +-// +-// * Redistributions of source code must retain the above copyright +-// notice, this list of conditions and the following disclaimer. +-// * Redistributions in binary form must reproduce the above +-// copyright notice, this list of conditions and the following disclaimer +-// in the documentation and/or other materials provided with the +-// distribution. +-// * Neither the name of Google Inc. nor the names of its +-// contributors may be used to endorse or promote products derived from +-// this software without specific prior written permission. +-// +-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- +-#ifndef GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H +-#define GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H +- +-#include <sys/cdefs.h> +- +-#ifdef __BIONIC_HAVE_STAB_H +-#include <stab.h> +-#else +- +-#ifdef __cplusplus +-extern "C" { +-#endif // __cplusplus +- +-#define _STAB_CODE_LIST \ +- _STAB_CODE_DEF(UNDF,0x00) \ +- _STAB_CODE_DEF(GSYM,0x20) \ +- _STAB_CODE_DEF(FNAME,0x22) \ +- _STAB_CODE_DEF(FUN,0x24) \ +- _STAB_CODE_DEF(STSYM,0x26) \ +- _STAB_CODE_DEF(LCSYM,0x28) \ +- _STAB_CODE_DEF(MAIN,0x2a) \ +- _STAB_CODE_DEF(PC,0x30) \ +- _STAB_CODE_DEF(NSYMS,0x32) \ +- _STAB_CODE_DEF(NOMAP,0x34) \ +- _STAB_CODE_DEF(OBJ,0x38) \ +- _STAB_CODE_DEF(OPT,0x3c) \ +- _STAB_CODE_DEF(RSYM,0x40) \ +- _STAB_CODE_DEF(M2C,0x42) \ +- _STAB_CODE_DEF(SLINE,0x44) \ +- _STAB_CODE_DEF(DSLINE,0x46) \ +- _STAB_CODE_DEF(BSLINE,0x48) \ +- _STAB_CODE_DEF(BROWS,0x48) \ +- _STAB_CODE_DEF(DEFD,0x4a) \ +- _STAB_CODE_DEF(EHDECL,0x50) \ +- _STAB_CODE_DEF(MOD2,0x50) \ +- _STAB_CODE_DEF(CATCH,0x54) \ +- _STAB_CODE_DEF(SSYM,0x60) \ +- _STAB_CODE_DEF(SO,0x64) \ +- _STAB_CODE_DEF(LSYM,0x80) \ +- _STAB_CODE_DEF(BINCL,0x82) \ +- _STAB_CODE_DEF(SOL,0x84) \ +- _STAB_CODE_DEF(PSYM,0xa0) \ +- _STAB_CODE_DEF(EINCL,0xa2) \ +- _STAB_CODE_DEF(ENTRY,0xa4) \ +- _STAB_CODE_DEF(LBRAC,0xc0) \ +- _STAB_CODE_DEF(EXCL,0xc2) \ +- _STAB_CODE_DEF(SCOPE,0xc4) \ +- _STAB_CODE_DEF(RBRAC,0xe0) \ +- _STAB_CODE_DEF(BCOMM,0xe2) \ +- _STAB_CODE_DEF(ECOMM,0xe4) \ +- _STAB_CODE_DEF(ECOML,0xe8) \ +- _STAB_CODE_DEF(NBTEXT,0xf0) \ +- _STAB_CODE_DEF(NBDATA,0xf2) \ +- _STAB_CODE_DEF(NBBSS,0xf4) \ +- _STAB_CODE_DEF(NBSTS,0xf6) \ +- _STAB_CODE_DEF(NBLCS,0xf8) \ +- _STAB_CODE_DEF(LENG,0xfe) +- +-enum __stab_debug_code { +-#define _STAB_CODE_DEF(x,y) N_##x = y, +-_STAB_CODE_LIST +-#undef _STAB_CODE_DEF +-}; +- +-#ifdef __cplusplus +-} // extern "C" +-#endif // __cplusplus +- +-#endif // __BIONIC_HAVE_STAB_H +- +-#endif // GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H +diff --git a/src/common/common.gyp b/src/common/common.gyp +index f01ede5..c49ff85 100644 +--- a/src/common/common.gyp ++++ b/src/common/common.gyp +@@ -46,7 +46,6 @@ + 'android/include/elf.h', + 'android/include/link.h', + 'android/include/sgidefs.h', +- 'android/include/stab.h', + 'android/include/sys/procfs.h', + 'android/include/sys/signal.h', + 'android/include/sys/user.h', +diff --git a/src/common/stabs_reader.cc b/src/common/stabs_reader.cc +index 6019fc7..9562caa 100644 +--- a/src/common/stabs_reader.cc ++++ b/src/common/stabs_reader.cc +@@ -34,7 +34,6 @@ + #include "common/stabs_reader.h" + + #include <assert.h> +-#include <stab.h> + #include <string.h> + + #include <string> +diff --git a/src/common/stabs_reader.h b/src/common/stabs_reader.h +index d89afc0..591f007 100644 +--- a/src/common/stabs_reader.h ++++ b/src/common/stabs_reader.h +@@ -53,12 +53,19 @@ + #include <config.h> + #endif + +-#ifdef HAVE_A_OUT_H +-#include <a.out.h> +-#endif + #ifdef HAVE_MACH_O_NLIST_H + #include <mach-o/nlist.h> + #endif ++// Definitions from <stab.h> and <a.out.h> for systems which ++// do not have them ++#undef N_UNDF ++#define N_UNDF 0x0 ++#define N_FUN 0x24 ++#define N_SLINE 0x44 ++#define N_SO 0x64 ++#define N_LSYM 0x80 ++#define N_BINCL 0x82 ++#define N_SOL 0x84 + + #include <string> + #include <vector> +diff --git a/src/common/stabs_reader_unittest.cc b/src/common/stabs_reader_unittest.cc +index a84da1c..854ac42 100644 +--- a/src/common/stabs_reader_unittest.cc ++++ b/src/common/stabs_reader_unittest.cc +@@ -33,7 +33,6 @@ + + #include <assert.h> + #include <errno.h> +-#include <stab.h> + #include <stdarg.h> + #include <stdlib.h> + #include <string.h> +-- +2.0.5 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch new file mode 100644 index 000000000..852c1ed2c --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch @@ -0,0 +1,38 @@ +From bbf2b5ed5d93b227df8aea5726727b48e29f6790 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 14 Sep 2017 23:35:40 -0700 +Subject: [PATCH 5/5] md2core: Replace basename() + +musl does not provide it + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/tools/linux/md2core/minidump-2-core.cc | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/tools/linux/md2core/minidump-2-core.cc b/src/tools/linux/md2core/minidump-2-core.cc +index 6a9e28eb..52b81c22 100644 +--- a/src/tools/linux/md2core/minidump-2-core.cc ++++ b/src/tools/linux/md2core/minidump-2-core.cc +@@ -107,6 +107,9 @@ struct Options { + + static void + Usage(int argc, const char* argv[]) { ++ const char *c_filename = argv[0];; ++ const char *p = strrchr(c_filename, '/'); ++ const char *base = p ? p+1 : c_filename; + fprintf(stderr, + "Usage: %s [options] <minidump file>\n" + "\n" +@@ -133,7 +136,7 @@ Usage(int argc, const char* argv[]) { + " lookups to be done in this directory rather than the filesystem\n" + " layout as it exists in the crashing image. This path should end\n" + " with a slash if it's a directory. e.g. /var/lib/breakpad/\n" +- "", basename(argv[0])); ++ "", base); + } + + static void +-- +2.14.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch new file mode 100644 index 000000000..42e073b94 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch @@ -0,0 +1,77 @@ +map the mcontext_t structure for musl + +Upstream-Status: Inappropriate[need to consider Android] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Index: git/src/client/linux/dump_writer_common/thread_info.cc +=================================================================== +--- git.orig/src/client/linux/dump_writer_common/thread_info.cc ++++ git/src/client/linux/dump_writer_common/thread_info.cc +@@ -229,7 +229,6 @@ void ThreadInfo::FillCPUContext(RawConte + } + + #elif defined(__mips__) +- + uintptr_t ThreadInfo::GetInstructionPointer() const { + return mcontext.pc; + } +@@ -263,8 +262,11 @@ void ThreadInfo::FillCPUContext(RawConte + out->cause = 0; // Not stored in mcontext + + for (int i = 0; i < MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT; ++i) ++#ifdef __GLIBC__ + out->float_save.regs[i] = mcontext.fpregs.fp_r.fp_fregs[i]._fp_fregs; +- ++#else ++ out->float_save.regs[i] = mcontext.fpregs[i]; ++#endif + out->float_save.fpcsr = mcontext.fpc_csr; + #if _MIPS_SIM == _ABIO32 + out->float_save.fir = mcontext.fpc_eir; +Index: git/src/client/linux/dump_writer_common/ucontext_reader.cc +=================================================================== +--- git.orig/src/client/linux/dump_writer_common/ucontext_reader.cc ++++ git/src/client/linux/dump_writer_common/ucontext_reader.cc +@@ -247,8 +247,11 @@ void UContextReader::FillCPUContext(RawC + out->cause = 0; // Not reported in signal context. + + for (int i = 0; i < MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT; ++i) ++#ifdef __GLIBC__ + out->float_save.regs[i] = uc->uc_mcontext.fpregs.fp_r.fp_dregs[i]; +- ++#else ++ out->float_save.regs[i] = uc->uc_mcontext.fpregs[i]; ++#endif + out->float_save.fpcsr = uc->uc_mcontext.fpc_csr; + #if _MIPS_SIM == _ABIO32 + out->float_save.fir = uc->uc_mcontext.fpc_eir; // Unused. +Index: git/src/client/linux/minidump_writer/linux_core_dumper.cc +=================================================================== +--- git.orig/src/client/linux/minidump_writer/linux_core_dumper.cc ++++ git/src/client/linux/minidump_writer/linux_core_dumper.cc +@@ -196,7 +196,7 @@ bool LinuxCoreDumper::EnumerateThreads() + info.tgid = status->pr_pgrp; + info.ppid = status->pr_ppid; + #if defined(__mips__) +-#if defined(__ANDROID__) ++#if defined(__ANDROID__) || !defined(__GLIBC__) + for (int i = EF_R0; i <= EF_R31; i++) + info.mcontext.gregs[i - EF_R0] = status->pr_reg[i]; + #else // __ANDROID__ +Index: git/src/tools/linux/md2core/minidump-2-core.cc +=================================================================== +--- git.orig/src/tools/linux/md2core/minidump-2-core.cc ++++ git/src/tools/linux/md2core/minidump-2-core.cc +@@ -516,8 +516,12 @@ ParseThreadRegisters(CrashedProcess::Thr + thread->mcontext.lo3 = rawregs->lo[2]; + + for (int i = 0; i < MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT; ++i) { ++#ifdef __GLIBC__ + thread->mcontext.fpregs.fp_r.fp_fregs[i]._fp_fregs = + rawregs->float_save.regs[i]; ++#else ++ thread->mcontext.fpregs[i] = rawregs->float_save.regs[i]; ++#endif + } + + thread->mcontext.fpc_csr = rawregs->float_save.fpcsr; diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch new file mode 100644 index 000000000..19bb56044 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch @@ -0,0 +1,27 @@ +Index: lss/linux_syscall_support.h +=================================================================== +--- lss.orig/linux_syscall_support.h ++++ lss/linux_syscall_support.h +@@ -118,21 +118,13 @@ extern "C" { + #include <endian.h> + + #ifdef __mips__ +-/* Include definitions of the ABI currently in use. */ +-#ifdef __ANDROID__ +-/* Android doesn't have sgidefs.h, but does have asm/sgidefs.h, +- * which has the definitions we need. +- */ + #include <asm/sgidefs.h> +-#else +-#include <sgidefs.h> +-#endif + #endif + #endif + + /* The Android NDK's <sys/stat.h> #defines these macros as aliases + * to their non-64 counterparts. To avoid naming conflict, remove them. */ +-#ifdef __ANDROID__ ++#if defined(__ANDROID__) || (defined(__linux__) && !defined(__glibc__)) + /* These are restored by the corresponding #pragma pop_macro near + * the end of this file. */ + # pragma push_macro("stat64") diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb index 36c2b6349..5f6d82c94 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb @@ -17,24 +17,37 @@ PE = "1" PV = "1.0+git${SRCPV}" -SRCREV_FORMAT = "breakpad_glog_gmock_gtest_protobuf_lss" +SRCREV_FORMAT = "breakpad_gtest_protobuf_lss_gyp" -SRCREV_breakpad = "2f6cb866d615d6240a18c7535c994c6bb93b1ba5" -SRCREV_glog = "d8cb47f77d1c31779f3ff890e1a5748483778d6a" -SRCREV_gmock = "f7d03d2734759ee12b57d2dbcb695607d89e8e05" +SRCREV_breakpad = "dea867e76f24e4a68395684b9d1cf24bcef82f20" SRCREV_gtest = "ec44c6c1675c25b9827aacd08c02433cccde7780" SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac" -SRCREV_lss = "1549d20f6d3e7d66bb4e687c0ab9da42c2bff2ac" +SRCREV_lss = "a91633d172407f6c83dd69af11510b37afebb7f9" +SRCREV_gyp = "324dd166b7c0b39d513026fa52d6280ac6d56770" SRC_URI = "git://github.com/google/breakpad;name=breakpad \ - git://github.com/google/glog.git;destsuffix=git/src/third_party/glog;name=glog \ - git://github.com/google/googlemock.git;destsuffix=git/src/testing;name=gmock \ git://github.com/google/googletest.git;destsuffix=git/src/testing/gtest;name=gtest \ git://github.com/google/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf \ git://chromium.googlesource.com/linux-syscall-support;protocol=https;destsuffix=git/src/third_party/lss;name=lss \ + git://chromium.googlesource.com/external/gyp;protocol=https;destsuffix=git/src/tools/gyp;name=gyp \ + file://0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch \ + file://0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch \ + file://0002-Avoid-using-basename.patch \ + file://0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch \ + file://0001-Turn-off-sign-compare-for-musl-libc.patch \ + file://0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch \ + file://0003-Dont-include-stab.h.patch \ + file://0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch \ + file://0005-md2core-Replace-basename.patch \ + file://0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch \ + file://mcontext.patch \ + file://0001-lss-Match-syscalls-to-match-musl.patch;patchdir=src/third_party/lss \ + file://mips_asm_sgidefs.patch;patchdir=src/third_party/lss \ " S = "${WORKDIR}/git" +CXXFLAGS += "-D_GNU_SOURCE" + COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*" do_install_append() { @@ -67,7 +80,7 @@ do_install_append() { install -m 0644 ${S}/src/google_breakpad/common/minidump_format.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_format.h install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_amd64.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_amd64.h install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_arm.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_arm.h - install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_arm.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_arm64.h + install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_arm64.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_arm64.h install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_mips.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_mips.h install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_ppc64.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_ppc64.h install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_ppc.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_ppc.h diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.6.1.bb new file mode 100644 index 000000000..ffbe73fee --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.6.1.bb @@ -0,0 +1,26 @@ +SUMMARY = "Cap'n Proto serialization/RPC system" +DESCRIPTION = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. " +HOMEPAGE = "https://github.com/sandstorm-io/capnproto" +SECTION = "console/tools" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=0a5b5b742baf10cc1c158579eba7fb1d" + +SRCREV = "c949a18da5f041a36cc218c5c4b79c7705999b4f" +SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV}" + +EXTRA_OECMAKE += "\ + -DBUILD_TESTING=OFF \ +" + +inherit cmake + +S = "${WORKDIR}/git/c++" + +PACKAGE_BEFORE_PN = "${PN}-compiler" +RDEPENDS_${PN}-dev += "${PN}-compiler" + +FILES_${PN}-dev += "${libdir}/cmake" +FILES_${PN}-compiler = "${bindir}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch deleted file mode 100644 index b32311a82..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch +++ /dev/null @@ -1,29 +0,0 @@ -From ac1953d04f3f26d6aa5d8f53a9397d3ba0e96fa3 Mon Sep 17 00:00:00 2001 -From: Koen Kooi <koen@circuitco.com> -Date: Fri, 11 May 2012 15:23:02 +0000 -Subject: [PATCH] ide: use 'node' as interpreter for sketches instead of - argv[0] - -This enables running scripts with node 0.6.x instead of 0.4.x - -Signed-off-by: root <root@beaglebone.(none)> ---- - server/cloud9/ide.js | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/server/cloud9/ide.js b/server/cloud9/ide.js -index ce782f5..6c4e0f7 100644 ---- a/server/cloud9/ide.js -+++ b/server/cloud9/ide.js -@@ -53,7 +53,7 @@ var Ide = module.exports = function(options, httpServer, exts, socket) { - }; - - this.$users = {}; -- this.nodeCmd = process.argv[0]; -+ this.nodeCmd = "node"; - - var davOptions = { - node: this.options.mountDir, --- -1.7.7 - diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb deleted file mode 100644 index c6d78905d..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb +++ /dev/null @@ -1,118 +0,0 @@ -SUMMARY = "Meet Cloud9, development-as-a-service for Javascripters and other developers" -HOMEPAGE = "http://c9.io" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4784c3bcff601fd8f9515f52a11e7018" - -PR = "r5" - -# Nodejs-native for node-waf, nodejs4-native for the headers -DEPENDS = "libxml2 nodejs-native nodejs4-native" - -PNBLACKLIST[cloud9] ?= "Not comatible with current nodejs 0.12, but upstream is working on it for v3 - the recipe will be removed on 2017-09-01 unless the issue is fixed" -inherit systemd - -SRC_URI = "git://github.com/ajaxorg/cloud9.git;name=cloud9ide \ - git://github.com/ajaxorg/o3;destsuffix=o3;name=o3 \ - git://github.com/ajaxorg/ace.git;destsuffix=git/support/ace;name=ace \ - git://github.com/ajaxorg/ace.wiki.git;destsuffix=git/support/ace/doc/wiki;name=acewiki \ - git://github.com/ajaxorg/apf.git;destsuffix=git/support/apf;name=apf \ - git://github.com/ajaxorg/async.js.git;destsuffix=git/support/asyncjs;name=asyncjs \ - git://github.com/ajaxorg/connect.git;destsuffix=git/support/connect;name=connect;branch=ajaxorg \ - git://github.com/jashkenas/coffee-script.git;destsuffix=git/support/connect/support/coffee-script;name=coffee-script \ - git://github.com/visionmedia/expresso.git;destsuffix=git/support/connect/support/expresso;name=expresso \ - git://github.com/visionmedia/node-jscoverage.git;destsuffix=git/support/connect/support/expresso/deps/jscoverage;name=jscoverage \ - git://github.com/cloudhead/less.js.git;destsuffix=git/support/connect/support/less;name=less \ - git://github.com/matehat/sass.js.git;destsuffix=git/support/connect/support/sass;name=sass \ - git://github.com/ajaxorg/jsDAV.git;destsuffix=git/support/jsdav;name=jsdav \ - git://github.com/fjakobs/async.js.git;destsuffix=git/support/jsdav/support/async.js;name=async-js \ - git://github.com/felixge/node-formidable.git;destsuffix=git/support/jsdav/support/formidable;name=formidable \ - git://github.com/ajaxorg/jsftp.git;destsuffix=git/support/jsdav/support/jsftp;name=jsftp \ - git://github.com/Gozala/streamer.git;destsuffix=git/support/jsdav/support/jsftp/support/streamer;name=streamer \ - git://github.com/ajaxorg/node-sftp.git;destsuffix=git/support/jsdav/support/node-sftp;name=sftp \ - git://github.com/ajaxorg/lib-v8debug.git;destsuffix=git/support/lib-v8debug;name=lib-v8debug \ - git://github.com/ajaxorg/socket.io.git;destsuffix=git/support/socket.io;name=socketio;branch=cadorn-upstream \ - git://github.com/LearnBoost/socket.io-client.git;destsuffix=git/support/socket.io-client;name=socketio-client \ - git://github.com/ajaxorg/treehugger.git;destsuffix=git/support/treehugger;name=treehugger \ - git://github.com/ajaxorg/UglifyJS.git;destsuffix=git/support/uglify-js;name=uglify-js \ - file://index.js \ - file://cloud9-avahi.service \ - file://cloud9.service \ - file://0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch \ -" - -SRCREV_cloud9ide = "c4e2574896a22bb749f0500b25f41c888d346bed" -SRCREV_o3 = "d66d4e3252e505f44ada6804c8cab39915ce8afd" -SRCREV_ace = "0fc5392cbe46fb134052c3065a238ad8e3b31cfd" -SRCREV_acewiki = "d2a65d0addc2e5ab922bbff9cb6022a4652b4f13" -SRCREV_apf = "2560b762b2b0e5a8b46f8a4062f927a9a9d239f4" -SRCREV_asyncjs = "d36ead408e2959b1e99572114ef3a1b6a48c1072" -SRCREV_connect = "6bec95b51f2286b942bc7f340d62d816bcdc13d4" -SRCREV_coffee-script = "a53c104db16d3ac9d13cf9f16834edec250b9749" -SRCREV_expresso = "7f10ab7fa655299b4e2f519065b0495e6ac34ef2" -SRCREV_jscoverage = "0d4608a6b4275b020ba665389aa75897d5d4a584" -SRCREV_less = "a2807288008587b95c6c2f8ba5cac16f1bcab98f" -SRCREV_sass = "4dfd4c699e7a8baf226215ab044854c4507f4420" -SRCREV_jsdav = "f04ebf3d012cc8aeabfcfb2b8fab8966d52929e9" -SRCREV_async-js = "92fb710a70efd3cdc2376ebfba71a7fb3a4f1651" -SRCREV_formidable = "a37292d4b7d6d76a38909ed670334c9068d40871" -SRCREV_jsftp = "e3f10c8927347c170cdd0150ef38e18272acf942" -SRCREV_streamer = "1a7f75d4065819171ac91a09974199b932dbe17d" -SRCREV_sftp = "a0539345134970d7535a19cb2608e3d1bc119d71" -SRCREV_lib-v8debug = "7c11897f4bc77c7275c2b6dff5becc72ac018662" -SRCREV_socketio = "735d5239b325df2ba67d2b9bb4ec32442283bc06" -SRCREV_socketio-client = "4375ef1344ecb8ad75a3848a00af6b391822f86b" -SRCREV_treehugger = "436d0d6dd0ce43782e6be08ad12c356730626996" -SRCREV_uglify-js = "941c845c4a01e4e47a158458fe846eb36d0828ad" - -SRCREV_FORMAT = "cloud9ide" - -S = "${WORKDIR}/git" - -do_configure () { - cd ${WORKDIR}/o3 - node-waf -vv configure -} - -EXTRA_CXXFLAGS = "-Idefault/include -I../include -Idefault/hosts -I../hosts -Idefault/modules -I../modules -Idefault/deps -I../deps -I${STAGING_DIR_NATIVE}/usr/include/node4 -fPIC -DPIC" - -do_compile () { - cd ${WORKDIR}/o3 - node4 tools/gluegen.js - cd hosts - ${CXX} ${TARGET_CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o sh_node.o node-o3/sh_node.cc - ${CXX} ${TARGET_CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o sh_node_libs.o node-o3/sh_node_libs.cc - cd .. - ${CXX} ${TARGET_LDFLAGS} hosts/sh_node.o hosts/sh_node_libs.o -o o3.node -shared -Wl,-Bdynamic -lxml2 -} - -do_install () { - install -m 0755 -d ${D}${datadir}/cloud9 ${D}${bindir} ${D}/var/lib/cloud9 - rsync -r --exclude=".*" ${S}/* ${D}${datadir}/cloud9 - - touch ${D}${bindir}/cloud9 - echo "#!/bin/sh" > ${D}${bindir}/cloud9 - echo "node4 ${datadir}/cloud9/bin/cloud9.js -l 0.0.0.0 -w /var/lib/cloud9 -p 3000" >> ${D}${bindir}/cloud9 - chmod 0755 ${D}${bindir}/cloud9 - - install -m 0755 -d ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml - install -m 0644 ${WORKDIR}/index.js ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/index.js - install -m 0644 ${WORKDIR}/o3/modules/o3.js ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/o3.js - install -m 0755 ${WORKDIR}/o3/o3.node ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/o3.node - - install -m 0755 -d ${D}${sysconfdir}/avahi/services/ - install -m 0644 ${WORKDIR}/cloud9-avahi.service ${D}${sysconfdir}/avahi/services/ - - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/cloud9.service ${D}${systemd_unitdir}/system -} - -FILES_${PN}-dbg += "${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/.debug \ - ${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/.debug \ -" - -RDEPENDS_${PN} = "nodejs4 nodejs gzip" - -RPROVIDES_${PN} += "${PN}-systemd" -RREPLACES_${PN} += "${PN}-systemd" -RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "cloud9.service" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb index 62b279618..8472aca6c 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb @@ -1,7 +1,7 @@ SUMMARY = "Install a Debian system into a subdirectory" HOMEPAGE = "https://wiki.debian.org/Debootstrap" SECTION = "devel" -LICENSE = "debootstrap-custom-license" +LICENSE = "MIT" LIC_FILES_CHKSUM = "file://debian/copyright;md5=1e68ced6e1689d4cd9dac75ff5225608" inherit pkgconfig diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Stop-using-relative-path-for-scsilib.c-link.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Stop-using-relative-path-for-scsilib.c-link.patch deleted file mode 100644 index ccb9a02da..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Stop-using-relative-path-for-scsilib.c-link.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 4cf7e16fe9b773e2e7763d4b773854eefe2aa9ab Mon Sep 17 00:00:00 2001 -From: Otavio Salvador <otavio@ossystems.com.br> -Date: Tue, 12 Jan 2016 09:59:55 -0200 -Subject: [PATCH] Stop using relative path for scsilib.c link -Organization: O.S. Systems Software LTDA. - -Upstream-Status: Pending - -Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> ---- - Makefile.linux | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.linux b/Makefile.linux -index 78333ff..e210564 100644 ---- a/Makefile.linux -+++ b/Makefile.linux -@@ -129,7 +129,7 @@ scsilib.c: - echo "Please specify OS={aix,linux,hpux,solaris,windows}"; \ - exit 1; \ - fi; \ -- ln -sf ../scsilib-$(OS).c scsilib.c -+ ln -sf scsilib-$(OS).c scsilib.c - - print:; - @$(PRINTER) $(PRINTFLAGS) $(ALL_CFILES) --- -2.1.4 - diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Use-tcsh-shell.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Use-tcsh-shell.patch deleted file mode 100644 index 0c00fdf41..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Use-tcsh-shell.patch +++ /dev/null @@ -1,92 +0,0 @@ -From e3c6eb8776f659eb9e6eeccf90d785eff18ecf74 Mon Sep 17 00:00:00 2001 -From: Otavio Salvador <otavio@ossystems.com.br> -Date: Mon, 15 Feb 2016 18:00:05 -0200 -Subject: [PATCH] Use 'tcsh' shell -Organization: O.S. Systems Software LTDA. - -Upstream-Status: Pending - -Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> ---- - Scripts/dta | 2 +- - Scripts/dtc | 2 +- - Scripts/dtf | 2 +- - Scripts/dtr | 2 +- - Scripts/dts | 2 +- - Scripts/dtt | 2 +- - Scripts/dtw | 2 +- - 7 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/Scripts/dta b/Scripts/dta -index ebc7072..4f90247 100755 ---- a/Scripts/dta -+++ b/Scripts/dta -@@ -1,4 +1,4 @@ --#!/bin/csh -+#!/bin/tcsh - # - # Script file to test asynchronous communication lines. - # -diff --git a/Scripts/dtc b/Scripts/dtc -index da69c2e..89d48c2 100755 ---- a/Scripts/dtc -+++ b/Scripts/dtc -@@ -1,4 +1,4 @@ --#!/bin/csh -+#!/bin/tcsh - # %Z%%M% %I% %E% - # - # Date: August 7, 1990 -diff --git a/Scripts/dtf b/Scripts/dtf -index 9f8cd87..321d261 100755 ---- a/Scripts/dtf -+++ b/Scripts/dtf -@@ -1,4 +1,4 @@ --#! /bin/csh -+#! /bin/tcsh - # - # Script file to gather floppy disk performance data. - # -diff --git a/Scripts/dtr b/Scripts/dtr -index ddb7947..1ff5a0b 100755 ---- a/Scripts/dtr -+++ b/Scripts/dtr -@@ -1,4 +1,4 @@ --#!/bin/csh -+#!/bin/tcsh - # %Z%%M% %I% %E% - # - # Date: August 21, 1990 -diff --git a/Scripts/dts b/Scripts/dts -index 6b8a167..42d2312 100755 ---- a/Scripts/dts -+++ b/Scripts/dts -@@ -1,4 +1,4 @@ --#!/bin/csh -+#!/bin/tcsh - # %Z%%M% %I% %E% - # - # Date: August 7, 1990 -diff --git a/Scripts/dtt b/Scripts/dtt -index 36cc6bd..df19d2f 100755 ---- a/Scripts/dtt -+++ b/Scripts/dtt -@@ -1,4 +1,4 @@ --#! /bin/csh -+#! /bin/tcsh - # %Z%%M% %I% %E% - # - # Date: August 7, 1990 -diff --git a/Scripts/dtw b/Scripts/dtw -index 8a4ac39..c58e304 100755 ---- a/Scripts/dtw -+++ b/Scripts/dtw -@@ -1,4 +1,4 @@ --#!/bin/csh -+#!/bin/tcsh - # %Z%%M% %I% %E% - # - # Date: August 21, 1990 --- -2.1.4 - diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-default-source-define.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-default-source-define.patch deleted file mode 100644 index 87016edf0..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-default-source-define.patch +++ /dev/null @@ -1,18 +0,0 @@ -Patch from http://pkgs.fedoraproject.org/git/rpms/dt.git - -Upstream-Status: Pending - -Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> - -diff -rupN dt.v18.32.old/common.h dt.v18.32/common.h ---- dt.v18.32.old/common.h 2013-03-01 23:52:30.000000000 +0100 -+++ dt.v18.32/common.h 2014-09-24 17:41:40.777604710 +0200 -@@ -127,7 +127,7 @@ typedef volatile slarge_t v_slarge; - - #endif /* defined(_WIN64) */ - --#elif defined(__GNUC__) && defined(_BSD_SOURCE) || defined(SCO) || defined(__QNXNTO__) || defined(SOLARIS) || defined(HP_UX) || defined(AIX) || defined(_NT_SOURCE) -+#elif defined(__GNUC__) && defined(_BSD_SOURCE) || defined (_DEFAULT_SOURCE) || defined(SCO) || defined(__QNXNTO__) || defined(SOLARIS) || defined(HP_UX) || defined(AIX) || defined(_NT_SOURCE) - - #define QuadIsLongLong - typedef unsigned long long int large_t; diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-wformat-security.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-wformat-security.patch deleted file mode 100644 index b6780c196..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-wformat-security.patch +++ /dev/null @@ -1,48 +0,0 @@ -Patch from http://pkgs.fedoraproject.org/git/rpms/dt.git - -Upstream-Status: Pending - -Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> - -diff -rupN dt.v18.32.old/dt.c dt.v18.32/dt.c ---- dt.v18.32.old/dt.c 2014-08-18 14:45:53.242351115 +0200 -+++ dt.v18.32/dt.c 2014-08-18 15:11:36.367719880 +0200 -@@ -4378,7 +4378,7 @@ report_error( - (void)sprintf(dip->di_msg_buffer, "(%d): '%s', errno = %d - %s\n", - dip->di_process_id, error_info, errno, emsg); - } -- syslog(LOG_ERR, dip->di_msg_buffer); -+ syslog(LOG_ERR, "%s", dip->di_msg_buffer); - } - #endif /* defined(SYSLOG) */ - -diff -rupN dt.v18.32.old/dtutil.c dt.v18.32/dtutil.c ---- dt.v18.32.old/dtutil.c 2014-08-18 14:45:53.354350779 +0200 -+++ dt.v18.32/dtutil.c 2014-08-18 15:13:53.835307311 +0200 -@@ -5180,7 +5180,7 @@ ReportDeviceInfo ( - bp += Sprintf(bp, - "(%d) Device name: %s\n", - dip->di_process_id, dip->di_dname); -- syslog(LOG_ERR, dip->di_msg_buffer); -+ syslog(LOG_ERR, "%s", dip->di_msg_buffer); - bp = dip->di_msg_buffer; - # if defined(SCSI) - if (dip->di_serial_number) { -@@ -5193,7 +5193,7 @@ ReportDeviceInfo ( - dip->di_process_id, dip->di_device_id); - } - # endif /* defined(SCSI) */ -- syslog(LOG_ERR, dip->di_msg_buffer); -+ syslog(LOG_ERR, "%s", dip->di_msg_buffer); - bp = dip->di_msg_buffer; - bp += Sprintf(bp, - "(%d) Relative block number where the error occurred is " LUF "," -@@ -5203,7 +5203,7 @@ ReportDeviceInfo ( - } else { - bp += Sprintf(bp, "\n"); - } -- syslog(LOG_ERR, dip->di_msg_buffer); -+ syslog(LOG_ERR, "%s", dip->di_msg_buffer); - } - #endif /* defined(SYSLOG) */ - diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt_18.32.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt_18.32.bb deleted file mode 100644 index 0234f765a..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt_18.32.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "Generic data test program" -DESCRIPTION = "The Data Test Program (dt) is a generic data test program used to verify proper \ -operation of peripherals, file systems, device drivers, or any data stream supported by the \ -operating system." -HOMEPAGE = "http://www.scsifaq.org/RMiller_Tools/dt.html" - -SECTION = "console/tests" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=be8bb25bbcfaa0725710d188e5152668" - -# Source URI taken from Fedora RPM spec file at: -# http://pkgs.fedoraproject.org/git/rpms/dt.git -SRC_URI = "http://dl.dropboxusercontent.com/u/32363629/Datatest/dt-source-v${PV}.tar.gz \ - file://dt-default-source-define.patch \ - file://dt-wformat-security.patch \ - file://Stop-using-relative-path-for-scsilib.c-link.patch \ - file://Use-tcsh-shell.patch \ -" - -SRC_URI[md5sum] = "3054aeaaba047a1dbe90c2132a382ee2" -SRC_URI[sha256sum] = "10d164676e918a4d07f233bcd11e4cb6bfd1052c996182cd1827ccd0c063fcc6" - -S = "${WORKDIR}/dt.v${PV}" - -TARGET_CC_ARCH += "${LDFLAGS}" - -EXTRA_OEMAKE += "-f Makefile.linux \ - OS=linux \ - CFLAGS="-I.. -DAIO -DFIFO -DMMAP -D__linux__ -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DTHREADS -DSCSI"" - -do_compile() { - oe_runmake -} - -do_install() { - install -Dm755 dt ${D}${sbindir}/dt - install -Dm644 Documentation/dt.man ${D}${mandir}/man8/dt.8 - - install -d ${D}${datadir}/dt/ - install -d ${D}${docdir}/dt/html/ - install -m755 Scripts/dt? ${D}${datadir}/dt/ - install -m644 data/pattern_* ${D}${datadir}/dt/ - install -m644 html/* ${D}${docdir}/dt/html/ -} - -RDEPENDS_${PN} += "tcsh" - -PNBLACKLIST[dt] ?= "Rdepends on blacklisted tcsh - the recipe will be removed on 2017-09-01 unless the issue is fixed" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-correct-version-for-so-lib.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-correct-version-for-so-lib.patch new file mode 100644 index 000000000..a7a42f981 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-correct-version-for-so-lib.patch @@ -0,0 +1,26 @@ +From 8b44dc65d98d50b462843ac9dab6fe3fc25abe36 Mon Sep 17 00:00:00 2001 +From: Pascal Bach <pascal.bach@siemens.com> +Date: Fri, 12 May 2017 13:54:49 +0200 +Subject: [PATCH] correct version for so lib + +Upstream-Status: Pending + +--- + CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3670afe..f4fcd2c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -172,6 +172,7 @@ endif() + if(FLATBUFFERS_BUILD_SHAREDLIB) + add_library(flatbuffers_shared SHARED ${FlatBuffers_Library_SRCS}) + set_target_properties(flatbuffers_shared PROPERTIES OUTPUT_NAME flatbuffers) ++ set_target_properties(flatbuffers_shared PROPERTIES VERSION "${PV}") + endif() + + function(compile_flatbuffers_schema_to_cpp SRC_FBS) +-- +2.1.4 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch new file mode 100644 index 000000000..d736f012b --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch @@ -0,0 +1,113 @@ +From a614d8e20fa9e4fd16b699d581ddac2956c120f5 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 19 Sep 2017 10:04:02 -0700 +Subject: [PATCH 1/2] flatbuffers: Move EndianSwap template to + flatbuffers/base.h + +Clang complains +call to function 'EndianSwap' that is neither visible in the template definition nor found by argument-dependent lookup + return EndianSwap(t); + +This seems to be due to limitation of two-phase lookup of dependent names in template definitions + +Its not being found using associated namespaces therefore +it has to be made visible at the template definition site as well + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Submitted + + include/flatbuffers/base.h | 33 +++++++++++++++++++++++++++++++++ + include/flatbuffers/flatbuffers.h | 32 -------------------------------- + 2 files changed, 33 insertions(+), 32 deletions(-) + +diff --git a/include/flatbuffers/base.h b/include/flatbuffers/base.h +index f051755..c73fb2d 100644 +--- a/include/flatbuffers/base.h ++++ b/include/flatbuffers/base.h +@@ -150,6 +150,39 @@ typedef uintmax_t largest_scalar_t; + // We support aligning the contents of buffers up to this size. + #define FLATBUFFERS_MAX_ALIGNMENT 16 + ++template<typename T> T EndianSwap(T t) { ++ #if defined(_MSC_VER) ++ #define FLATBUFFERS_BYTESWAP16 _byteswap_ushort ++ #define FLATBUFFERS_BYTESWAP32 _byteswap_ulong ++ #define FLATBUFFERS_BYTESWAP64 _byteswap_uint64 ++ #else ++ #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408 ++ // __builtin_bswap16 was missing prior to GCC 4.8. ++ #define FLATBUFFERS_BYTESWAP16(x) \ ++ static_cast<uint16_t>(__builtin_bswap32(static_cast<uint32_t>(x) << 16)) ++ #else ++ #define FLATBUFFERS_BYTESWAP16 __builtin_bswap16 ++ #endif ++ #define FLATBUFFERS_BYTESWAP32 __builtin_bswap32 ++ #define FLATBUFFERS_BYTESWAP64 __builtin_bswap64 ++ #endif ++ if (sizeof(T) == 1) { // Compile-time if-then's. ++ return t; ++ } else if (sizeof(T) == 2) { ++ auto r = FLATBUFFERS_BYTESWAP16(*reinterpret_cast<uint16_t *>(&t)); ++ return *reinterpret_cast<T *>(&r); ++ } else if (sizeof(T) == 4) { ++ auto r = FLATBUFFERS_BYTESWAP32(*reinterpret_cast<uint32_t *>(&t)); ++ return *reinterpret_cast<T *>(&r); ++ } else if (sizeof(T) == 8) { ++ auto r = FLATBUFFERS_BYTESWAP64(*reinterpret_cast<uint64_t *>(&t)); ++ return *reinterpret_cast<T *>(&r); ++ } else { ++ assert(0); ++ } ++} ++ ++ + template<typename T> T EndianScalar(T t) { + #if FLATBUFFERS_LITTLEENDIAN + return t; +diff --git a/include/flatbuffers/flatbuffers.h b/include/flatbuffers/flatbuffers.h +index 9216cf4..f749dcb 100644 +--- a/include/flatbuffers/flatbuffers.h ++++ b/include/flatbuffers/flatbuffers.h +@@ -37,38 +37,6 @@ inline void EndianCheck() { + (void)endiantest; + } + +-template<typename T> T EndianSwap(T t) { +- #if defined(_MSC_VER) +- #define FLATBUFFERS_BYTESWAP16 _byteswap_ushort +- #define FLATBUFFERS_BYTESWAP32 _byteswap_ulong +- #define FLATBUFFERS_BYTESWAP64 _byteswap_uint64 +- #else +- #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408 +- // __builtin_bswap16 was missing prior to GCC 4.8. +- #define FLATBUFFERS_BYTESWAP16(x) \ +- static_cast<uint16_t>(__builtin_bswap32(static_cast<uint32_t>(x) << 16)) +- #else +- #define FLATBUFFERS_BYTESWAP16 __builtin_bswap16 +- #endif +- #define FLATBUFFERS_BYTESWAP32 __builtin_bswap32 +- #define FLATBUFFERS_BYTESWAP64 __builtin_bswap64 +- #endif +- if (sizeof(T) == 1) { // Compile-time if-then's. +- return t; +- } else if (sizeof(T) == 2) { +- auto r = FLATBUFFERS_BYTESWAP16(*reinterpret_cast<uint16_t *>(&t)); +- return *reinterpret_cast<T *>(&r); +- } else if (sizeof(T) == 4) { +- auto r = FLATBUFFERS_BYTESWAP32(*reinterpret_cast<uint32_t *>(&t)); +- return *reinterpret_cast<T *>(&r); +- } else if (sizeof(T) == 8) { +- auto r = FLATBUFFERS_BYTESWAP64(*reinterpret_cast<uint64_t *>(&t)); +- return *reinterpret_cast<T *>(&r); +- } else { +- assert(0); +- } +-} +- + template<typename T> FLATBUFFERS_CONSTEXPR size_t AlignOf() { + #ifdef _MSC_VER + return __alignof(T); +-- +2.14.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0002-use-__builtin_bswap16-when-building-with-clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0002-use-__builtin_bswap16-when-building-with-clang.patch new file mode 100644 index 000000000..460159f27 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0002-use-__builtin_bswap16-when-building-with-clang.patch @@ -0,0 +1,30 @@ +From 626fe5e043de25e970ebdf061b88c646fa689113 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 19 Sep 2017 10:09:31 -0700 +Subject: [PATCH 2/2] use __builtin_bswap16 when building with clang + +clang pretends to be gcc 4.2.0 and therefore the code does +not use __builtin_bswap16 but tries to synthesize it + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Submitted + include/flatbuffers/base.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/flatbuffers/base.h b/include/flatbuffers/base.h +index c73fb2d..13e8fac 100644 +--- a/include/flatbuffers/base.h ++++ b/include/flatbuffers/base.h +@@ -156,7 +156,7 @@ template<typename T> T EndianSwap(T t) { + #define FLATBUFFERS_BYTESWAP32 _byteswap_ulong + #define FLATBUFFERS_BYTESWAP64 _byteswap_uint64 + #else +- #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408 ++ #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408 && !defined(__clang__) + // __builtin_bswap16 was missing prior to GCC 4.8. + #define FLATBUFFERS_BYTESWAP16(x) \ + static_cast<uint16_t>(__builtin_bswap32(static_cast<uint32_t>(x) << 16)) +-- +2.14.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.7.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.7.1.bb new file mode 100644 index 000000000..a8df44485 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.7.1.bb @@ -0,0 +1,37 @@ +SUMMARY = "Memory Efficient Serialization Library" +HOMEPAGE = "https://github.com/google/flatbuffers" +SECTION = "console/tools" +LICENSE = "Apache-2.0" + +PACKAGE_BEFORE_PN = "${PN}-compiler" + +RDEPENDS_${PN}-compiler = "${PN}" +RDEPENDS_${PN}-dev += "${PN}-compiler" + +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a873c5645c184d51e0f9b34e1d7cf559" + +SRCREV = "25a15950f5a24d7217689739ed8f6dac64912d62" + +SRC_URI = "git://github.com/google/flatbuffers.git \ + file://0001-correct-version-for-so-lib.patch \ + file://0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch \ + file://0002-use-__builtin_bswap16-when-building-with-clang.patch \ + " + +# Make sure C++11 is used, required for example for GCC 4.9 +CXXFLAGS += "-std=c++11" +BUILD_CXXFLAGS += "-std=c++11" + +EXTRA_OECMAKE += "\ + -DFLATBUFFERS_BUILD_TESTS=OFF \ + -DFLATBUFFERS_BUILD_SHAREDLIB=ON \ + -DPV=${PV} \ +" + +inherit cmake + +S = "${WORKDIR}/git" + +FILES_${PN}-compiler = "${bindir}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.30.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb index f01dda8cd..27fe86026 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.30.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb @@ -25,8 +25,8 @@ DEPENDS = " \ inherit autotools pkgconfig gtk-icon-cache SRC_URI = "http://plugins.geany.org/${PN}/${PN}-${PV}.tar.bz2" -SRC_URI[md5sum] = "13f8e5d900b4911059385649b8dde887" -SRC_URI[sha256sum] = "8adb90645d273d9549e1fa99b69ea87dc1fd612f7467eb18eee11a6b30c9ba5b" +SRC_URI[md5sum] = "808f9048b77fd9704569ed2ba12a56e9" +SRC_URI[sha256sum] = "76bd9e803db5a626b86669f08330cf95b8cc35057a1cdf65759bc00aef120e25" do_configure_prepend() { rm -f ${S}/build/cache/glib-gettext.m4 @@ -166,6 +166,11 @@ LICENSE_${PN}-git-changebar = "GPLv3" FILES_${PN}-git-changebar = "${libdir}/geany/git-changebar.so" RDEPENDS_${PN}-git-changebar = "${PN}" +PLUGINS += "${PN}-keyrecord" +LIC_FILES_CHKSUM += "file://keyrecord/COPYING;md5=751419260aa954499f7abaabaa882bbe" +FILES_${PN}-keyrecord = "${libdir}/geany/keyrecord.so" +RDEPENDS_${PN}-keyrecord = "${PN}" + PLUGINS += "${PN}-lineoperations" LIC_FILES_CHKSUM += "file://lineoperations/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" FILES_${PN}-lineoperations = "${libdir}/geany/lineoperations.so" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.30.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb index e316ea7ab..ce36e1eb9 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.30.1.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb @@ -8,8 +8,8 @@ DEPENDS = "gtk+ libxml-parser-perl-native python3-docutils-native intltool-nativ inherit autotools pkgconfig perlnative pythonnative gettext SRC_URI = "http://download.geany.org/${BP}.tar.bz2" -SRC_URI[md5sum] = "75081b600560c5c8366eda0e1b8cc531" -SRC_URI[sha256sum] = "0ac360f1f3d6c28790a81d570252a7d40421f6e1d8e5a8d653756bd041d88491" +SRC_URI[md5sum] = "386000be6b26972c6a699939c37cda34" +SRC_URI[sha256sum] = "30fdb906bb76c4251a8bcf83ee267db28c26ef6ab867668a782cec1164a3aba5" FILES_${PN} += "${datadir}/icons" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch new file mode 100644 index 000000000..78a8719f2 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch @@ -0,0 +1,39 @@ +From 42efc94c11d510b41d8cf3407e1c3900eb52b600 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Thu, 4 Jun 2015 16:28:02 +0800 +Subject: [PATCH] Remove unused variable (YELP_HELP_RULES) + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + help/Makefile.am | 2 -- + help/Makefile.in | 2 -- + 2 files changed, 4 deletions(-) + +diff --git a/help/Makefile.am b/help/Makefile.am +index 50c0e84..5c5d2e9 100644 +--- a/help/Makefile.am ++++ b/help/Makefile.am +@@ -1,5 +1,3 @@ +-@YELP_HELP_RULES@ +- + HELP_ID = glade + + HELP_FILES = \ +diff --git a/help/Makefile.in b/help/Makefile.in +index 6978ea5..e1c7d3b 100644 +--- a/help/Makefile.in ++++ b/help/Makefile.in +@@ -521,8 +521,6 @@ uninstall-am: + + .PRECIOUS: Makefile + +-@YELP_HELP_RULES@ +- + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: +-- +1.9.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch index 1b24c39ce..1b24c39ce 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/files/0002-fix-gcc-6-build.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch index f735ff819..f735ff819 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/files/0002-fix-gcc-6-build.patch +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.20.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.20.0.bb new file mode 100644 index 000000000..f33b6e31b --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.20.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "Glade - A User Interface Designer" +HOMEPAGE = "http://www.gnu.org/software/gnash" +LICENSE = "GPLv2 & LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \ + file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \ + file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475" +DEPENDS = "gtk+ gtk+3 glib-2.0 libxml2 intltool-native \ + gnome-common-native \ +" + + +inherit autotools pkgconfig gnomebase gobject-introspection + +SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade/3.20/glade-${PV}.tar.xz \ + file://remove-yelp-help-rules-var.patch \ + " +SRC_URI[md5sum] = "9964a2da14c5f845eae363889586ca43" +SRC_URI[sha256sum] = "82d96dca5dec40ee34e2f41d49c13b4ea50da8f32a3a49ca2da802ff14dc18fe" + +EXTRA_OECONF += "--disable-man-pages" + +FILES_${PN} += "${datadir}/* ${libdir}/glade/modules/libgladegtk.so" +FILES_${PN}-dev += "${libdir}/glade/modules/libgladegtk.la" +FILES_${PN}-dbg += "${libdir}/glade/modules/.debug/libgladegtk.so" + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng/0001-Fix-printd-formatting-strings.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng/0001-Fix-printd-formatting-strings.patch new file mode 100644 index 000000000..5b9afd961 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng/0001-Fix-printd-formatting-strings.patch @@ -0,0 +1,54 @@ +From 86b4d398dbb95e2437b70eba3b30e995ec9be505 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 31 Aug 2017 20:47:50 -0700 +Subject: [PATCH] Fix printd formatting strings + +Fixes +error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security] + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/ipfilter.c | 2 +- + src/othptab.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/ipfilter.c b/src/ipfilter.c +index eb17ec7..8c76e4c 100644 +--- a/src/ipfilter.c ++++ b/src/ipfilter.c +@@ -146,7 +146,7 @@ void gethostparams(struct hostparams *data, char *init_saddr, char *init_smask, + snprintf(msgstr, 60, + "Invalid protocol input at or near token \"%s\"", + bptr); +- tui_error(ANYKEY_MSG, msgstr); ++ tui_error(ANYKEY_MSG, "%s", msgstr); + doagain = 1; + } else + doagain = 0; +diff --git a/src/othptab.c b/src/othptab.c +index 142c9c2..fe395c2 100644 +--- a/src/othptab.c ++++ b/src/othptab.c +@@ -410,7 +410,7 @@ void printothpentry(struct othptable *table, struct othptabent *entry, + break; + } + +- sprintf(scratchpad, rarp_mac_addr); ++ sprintf(scratchpad, "%s", rarp_mac_addr); + strcat(msgstring, scratchpad); + wattrset(table->othpwin, ARPATTR); + break; +@@ -485,7 +485,7 @@ void printothpentry(struct othptable *table, struct othptabent *entry, + wattrset(table->othpwin, UNKNIPATTR); + protptr = getprotobynumber(entry->protocol); + if (protptr != NULL) { +- sprintf(protname, protptr->p_aliases[0]); ++ sprintf(protname, "%s", protptr->p_aliases[0]); + } else { + sprintf(protname, "IP protocol"); + unknown = 1; +-- +2.14.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng/ncurses-config.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng/ncurses-config.patch new file mode 100644 index 000000000..65b92dade --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng/ncurses-config.patch @@ -0,0 +1,81 @@ +Use pkg-config to search for ncurses libraries + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending +Index: iptraf-ng-1.1.4/Makefile +=================================================================== +--- iptraf-ng-1.1.4.orig/Makefile ++++ iptraf-ng-1.1.4/Makefile +@@ -205,8 +205,8 @@ endif + + ifndef NCURSES_LDFLAGS + ifdef NEEDS_NCURSES5 +- NCURSES_CFLAGS := $(shell ncurses5-config --cflags 2>/dev/null) +- NCURSES_LDFLAGS := $(shell ncurses5-config --libs 2>/dev/null) ++ NCURSES_CFLAGS := $(shell pkg-config ncurses --cflags 2>/dev/null) ++ NCURSES_LDFLAGS := $(shell pkg-config ncurses --libs 2>/dev/null) + ifndef NO_PANEL + NCURSES_LDFLAGS += -lpanel + endif +@@ -215,8 +215,8 @@ endif + + ifndef NCURSES_LDFLAGS + ifdef NEEDS_NCURSESW5 +- NCURSES_CFLAGS := $(shell ncursesw5-config --cflags 2>/dev/null) +- NCURSES_LDFLAGS := $(shell ncursesw5-config --libs 2>/dev/null) ++ NCURSES_CFLAGS := $(shell p[k-config ncursesw --cflags 2>/dev/null) ++ NCURSES_LDFLAGS := $(shell pkg-config ncursesw --libs 2>/dev/null) + ifndef NO_PANEL + NCURSES_LDFLAGS += -lpanel + endif +@@ -225,8 +225,8 @@ endif + + ifndef NCURSES_LDFLAGS + ifdef NEEDS_NCURSES6 +- NCURSES_CFLAGS := $(shell ncurses6-config --cflags 2>/dev/null) +- NCURSES_LDFLAGS := $(shell ncurses6-config --libs 2>/dev/null) ++ NCURSES_CFLAGS := $(shell pkg-config ncurses6 --cflags 2>/dev/null) ++ NCURSES_LDFLAGS := $(shell pkg-config ncurses6 --libs 2>/dev/null) + ifndef NO_PANEL + NCURSES_LDFLAGS += -lpanel + endif +@@ -235,8 +235,8 @@ endif + + ifndef NCURSES_LDFLAGS + ifdef NEEDS_NCURSESW6 +- NCURSES_CFLAGS := $(shell ncursesw6-config --cflags 2>/dev/null) +- NCURSES_LDFLAGS := $(shell ncursesw6-config --libs 2>/dev/null) ++ NCURSES_CFLAGS := $(shell pkg-config ncursesw --cflags 2>/dev/null) ++ NCURSES_LDFLAGS := $(shell pkg-config ncursesw --libs 2>/dev/null) + ifndef NO_PANEL + NCURSES_LDFLAGS += -lpanel + endif +@@ -246,17 +246,17 @@ endif + # try find ncuses by autodetect + ifndef NCURSES_LDFLAGS + ifneq ($(shell ncursesw6-config --libs 2>/dev/null),) +- NCURSES_CFLAGS := $(shell ncursesw6-config --cflags 2>/dev/null) +- NCURSES_LDFLAGS := $(shell ncursesw6-config --libs 2>/dev/null) +- else ifneq ($(shell ncurses6-config --libs 2>/dev/null),) +- NCURSES_CFLAGS := $(shell ncurses6-config --cflags 2>/dev/null) +- NCURSES_LDFLAGS := $(shell ncurses6-config --libs 2>/dev/null) +- else ifneq ($(shell ncursesw5-config --libs 2>/dev/null),) +- NCURSES_CFLAGS := $(shell ncursesw5-config --cflags 2>/dev/null) +- NCURSES_LDFLAGS := $(shell ncursesw5-config --libs 2>/dev/null) +- else ifneq ($(shell ncurses5-config --libs 2>/dev/null),) +- NCURSES_CFLAGS := $(shell ncurses5-config --cflags 2>/dev/null) +- NCURSES_LDFLAGS := $(shell ncurses5-config --libs 2>/dev/null) ++ NCURSES_CFLAGS := $(shell pkg-config ncursesw --cflags 2>/dev/null) ++ NCURSES_LDFLAGS := $(shell pkg-config ncursesw --libs 2>/dev/null) ++ else ifneq ($(shell pkg-config ncurses --libs 2>/dev/null),) ++ NCURSES_CFLAGS := $(shell pkg-config ncurses --cflags 2>/dev/null) ++ NCURSES_LDFLAGS := $(shell pkg-config ncurses --libs 2>/dev/null) ++ else ifneq ($(shell pkg-config ncursesw --libs 2>/dev/null),) ++ NCURSES_CFLAGS := $(shell pkg-config ncursesw --cflags 2>/dev/null) ++ NCURSES_LDFLAGS := $(shell pkg-config ncursesw --libs 2>/dev/null) ++ else ifneq ($(shell pkg-config ncurses --libs 2>/dev/null),) ++ NCURSES_CFLAGS := $(shell pkg-config ncurses --cflags 2>/dev/null) ++ NCURSES_LDFLAGS := $(shell pkg-config ncurses --libs 2>/dev/null) + endif + + ifneq ($(NCURSES_LDFLAGS),) diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng_1.1.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng_1.1.4.bb new file mode 100644 index 000000000..c53e66300 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng_1.1.4.bb @@ -0,0 +1,42 @@ +# Copyright (C) 2017 Khem Raj <raj.khem@gmail.com> +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "A console-based network monitoring utility" +DESCRIPTION = "IPTraf-ng is a console-based network monitoring utility. IPTraf gathers \ +data like TCP connection packet and byte counts, interface statistics \ +and activity indicators, TCP/UDP traffic breakdowns, and LAN station \ +packet and byte counts. IPTraf-ng features include an IP traffic monitor \ +which shows TCP flag information, packet and byte counts, ICMP \ +details, OSPF packet types, and oversized IP packet warnings; \ +interface statistics showing IP, TCP, UDP, ICMP, non-IP and other IP \ +packet counts, IP checksum errors, interface activity and packet size \ +counts; a TCP and UDP service monitor showing counts of incoming and \ +outgoing packets for common TCP and UDP application ports, a LAN \ +statistics module that discovers active hosts and displays statistics \ +about their activity; TCP, UDP and other protocol display filters so \ +you can view just the traffic you want; logging; support for Ethernet, \ +FDDI, ISDN, SLIP, PPP, and loopback interfaces; and utilization of the \ +built-in raw socket interface of the Linux kernel, so it can be used \ +on a wide variety of supported network cards." + +HOMEPAGE = "https://fedorahosted.org/iptraf-ng/" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e2b3850593b899b1a17594ed4cc4c731" +DEPENDS = "ncurses" + +SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/iptraf-ng/iptraf-ng-1.1.4.tar.gz/e0f8df3b7baf2b5106709abc4f8c029a/${BP}.tar.gz \ + file://ncurses-config.patch \ + file://0001-Fix-printd-formatting-strings.patch \ + " +SRC_URI[md5sum] = "e0f8df3b7baf2b5106709abc4f8c029a" +SRC_URI[sha256sum] = "16b9b05bf5d3725d86409b901696639ad46944d02de6def87b1ceae5310dd35c" + +inherit autotools-brokensep pkgconfig + +CFLAGS += "-D_GNU_SOURCE" + +PROVIDES = "iptraf" +RPROVIDES_${PN} += "iptraf" +RREPLACES_${PN} += "iptraf" +RCONFLICTS_${PN} += "iptraf" + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/0001-src-Fix-error-in-cross-compile.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/0001-src-Fix-error-in-cross-compile.patch deleted file mode 100644 index 291ed3196..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/0001-src-Fix-error-in-cross-compile.patch +++ /dev/null @@ -1,138 +0,0 @@ -From 27910ea19260b7f7a3f9c0465addd1dea80cf3bd Mon Sep 17 00:00:00 2001 -From: Li Xin <lixin.fnst@cn.fujitsu.com> -Date: Thu, 8 Oct 2015 15:11:17 +0900 -Subject: [PATCH] src: Fix error in cross-compile - -The errors are like this: -tcptable.h:26:25: fatal error: linux/if_tr.h: No such file or directory -ld: cannot find -ltextbox - -Upstream-Status: pending - -Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> ---- - src/Makefile | 2 +- - src/hostmon.c | 2 +- - src/install.sh | 4 ++-- - src/othptab.c | 2 +- - src/packet.c | 2 +- - src/tcptable.h | 2 +- - src/tr.c | 2 +- - support/Makefile | 3 +-- - 8 files changed, 9 insertions(+), 10 deletions(-) - -diff --git a/src/Makefile b/src/Makefile -index 2043c2d..0f77bea 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -39,7 +39,7 @@ LDOPTS = #-static - # you may want to change this to point to your ncurses include directory - # if the ncurses include files are not in the default location. - --INCLUDEDIR = -I/usr/include/ncurses -I../support -+INCLUDEDIR = -I../support - - # You can uncomment this one to disable the backspace key in input fields. - # This means you must use the Del key or Ctrl+H combination to erase the -diff --git a/src/hostmon.c b/src/hostmon.c -index 14df2c8..6571562 100644 ---- a/src/hostmon.c -+++ b/src/hostmon.c -@@ -31,7 +31,7 @@ details. - #include <linux/if_packet.h> - #include <linux/if_ether.h> - #include <linux/if_fddi.h> --#include <linux/if_tr.h> -+#include <netinet/if_tr.h> - #include <net/if_arp.h> - #include <stdlib.h> - #include <time.h> -diff --git a/src/install.sh b/src/install.sh -index d2fd360..36d3516 100755 ---- a/src/install.sh -+++ b/src/install.sh -@@ -23,9 +23,9 @@ echo - echo "*** Installing executable programs and preparing work directories" - echo - echo ">>> Installing iptraf in $TARGET" --$INSTALL -m 0700 -o root -g root -s iptraf $TARGET -+$INSTALL -m 0700 -o root -g root iptraf $TARGET - echo ">>> Installing rvnamed in $TARGET" --$INSTALL -m 0700 -o root -g root -s rvnamed $TARGET -+$INSTALL -m 0700 -o root -g root rvnamed $TARGET - - if [ ! -d $WORKDIR ]; then - echo ">>> Creating IPTraf work directory $WORKDIR" -diff --git a/src/othptab.c b/src/othptab.c -index 97771d1..a8bb536 100644 ---- a/src/othptab.c -+++ b/src/othptab.c -@@ -18,7 +18,7 @@ details. - - #include <asm/types.h> - #include <linux/if_ether.h> --#include <linux/if_tr.h> -+#include <netinet/if_tr.h> - #include <linux/if_fddi.h> - #include <winops.h> - #include "arphdr.h" -diff --git a/src/packet.c b/src/packet.c -index 33fdf2a..1e2b81b 100644 ---- a/src/packet.c -+++ b/src/packet.c -@@ -36,7 +36,7 @@ details. - #include <linux/if_packet.h> - #include <linux/if_ether.h> - #include <linux/if_fddi.h> --#include <linux/if_tr.h> -+#include <netinet/if_tr.h> - #include <linux/isdn.h> - #include <linux/sockios.h> - #include <msgboxes.h> -diff --git a/src/tcptable.h b/src/tcptable.h -index 3e17793..d1380b5 100644 ---- a/src/tcptable.h -+++ b/src/tcptable.h -@@ -23,7 +23,7 @@ - #include <linux/if_packet.h> - #include <linux/if_ether.h> - #include <linux/if_fddi.h> --#include <linux/if_tr.h> -+#include <netinet/if_tr.h> - #include <net/if.h> - #include <netinet/ip.h> - #include <netinet/udp.h> -diff --git a/src/tr.c b/src/tr.c -index 40c9e63..11f8045 100644 ---- a/src/tr.c -+++ b/src/tr.c -@@ -7,7 +7,7 @@ - */ - - #include <asm/types.h> --#include <linux/if_tr.h> -+#include <netinet/if_tr.h> - #include <netinet/in.h> - - unsigned int get_tr_ip_offset(unsigned char *pkt) -diff --git a/support/Makefile b/support/Makefile -index 114bfc3..c962c09 100644 ---- a/support/Makefile -+++ b/support/Makefile -@@ -1,4 +1,3 @@ --INCLUDEDIR = -I/usr/include/ncurses - - OBJS = input.o menurt.o listbox.o winops.o labels.o \ - msgboxes.o txbox.o -@@ -12,7 +11,7 @@ libtextbox.a: $(OBJS) - # gcc -shared -o libtextbox.so $(OBJS) - - %.o: %.c *.h -- gcc -O2 -g -Wall -fPIC $(INCLUDEDIR) -c -o $*.o $< -+ ${CC} -O2 -g -Wall -fPIC -c -o $*.o $< - - clean: - rm -rf *.o *~ libtextbox.a libtextbox.so --- -1.8.4.2 - diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/format_string.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/format_string.patch deleted file mode 100644 index 5f96f0f4c..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/format_string.patch +++ /dev/null @@ -1,31 +0,0 @@ -Index: iptraf-3.0.0/src/othptab.c -=================================================================== ---- iptraf-3.0.0.orig/src/othptab.c -+++ iptraf-3.0.0/src/othptab.c -@@ -335,7 +335,7 @@ void printothpentry(struct othptable *ta - break; - } - -- sprintf(scratchpad, inet_ntoa(saddr)); -+ sprintf(scratchpad, "%s", inet_ntoa(saddr)); - strcat(msgstring, scratchpad); - wattrset(table->othpwin, ARPATTR); - break; -@@ -354,7 +354,7 @@ void printothpentry(struct othptable *ta - break; - } - -- sprintf(scratchpad, rarp_mac_addr); -+ sprintf(scratchpad, "%s", rarp_mac_addr); - strcat(msgstring, scratchpad); - wattrset(table->othpwin, ARPATTR); - break; -@@ -421,7 +421,7 @@ void printothpentry(struct othptable *ta - wattrset(table->othpwin, UNKNIPATTR); - protptr = getprotobynumber(entry->protocol); - if (protptr != NULL) { -- sprintf(protname, protptr->p_aliases[0]); -+ sprintf(protname, "%s", protptr->p_aliases[0]); - } else { - sprintf(protname, "IP protocol"); - unknown = 1; diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/ldopts.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/ldopts.patch deleted file mode 100644 index c84a0a0ad..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/ldopts.patch +++ /dev/null @@ -1,35 +0,0 @@ -Index: iptraf-3.0.0/src/Makefile -=================================================================== ---- iptraf-3.0.0.orig/src/Makefile -+++ iptraf-3.0.0/src/Makefile -@@ -5,7 +5,7 @@ - # - # Architecture determination string borrowed from the kernel makefile. - # --ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \ -+ARCH ?= $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \ - -e s/arm.*/arm/ -e s/sa110/arm/) - PLATFORM = -DPLATFORM=\"$(shell uname -s)/$(ARCH)\" - VERNUMBER := $(shell cat version) -@@ -17,7 +17,7 @@ VERSION = -DVERSION=\"$(VERNUMBER)\" - # - BINDIR = ../../iptraf-$(VERNUMBER).bin.$(ARCH) - --CC = gcc -+CC = $(CC) - LIBS = -L../support -ltextbox -lpanel -lncurses # in this order! - - # comment this one out to omit debug code when done. -@@ -31,10 +31,10 @@ PROF = #-pg - # options to be passed to the compiler. I don't believe they need to be - # modified (except for -m486 on non-Intel x86 platforms). - --CFLAGS = -Wall #-O2 #-m486 -+CFLAGS ?= -Wall #-O2 #-m486 - DIRS = -DWORKDIR=\"$(WORKDIR)\" \ - -DLOGDIR=\"$(LOGDIR)\" -DEXECDIR=\"$(TARGET)\" --LDOPTS = #-static -+LDOPTS ?= #-static - - # you may want to change this to point to your ncurses include directory - # if the ncurses include files are not in the default location. diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf_3.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf_3.0.0.bb deleted file mode 100644 index abfab02e0..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf_3.0.0.bb +++ /dev/null @@ -1,42 +0,0 @@ -DESCRIPTION = "IPTraf is a console-based network statistics utility for Linux. \ -It gathers a variety of figures such as TCP connection packet and byte counts, \ -interface statistics and activity indicators, TCP/UDP traffic breakdowns, \ -and LAN station packet and byte counts." - -HOMEPAGE = "http://iptraf.seul.org" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=dc0bdc29df738baf327368b1bbb15a45" - -DEPENDS = "ncurses" - -SRC_URI = " \ - ftp://iptraf.seul.org/pub/iptraf/iptraf-3.0.0.tar.gz \ - file://0001-src-Fix-error-in-cross-compile.patch \ - file://format_string.patch \ - file://ldopts.patch \ -" -SRC_URI[md5sum] = "377371c28ee3c21a76f7024920649ea8" -SRC_URI[sha256sum] = "9ee433d95573d612539da4b452e6cdcbca6ab6674a88bfbf6eaf12d4902b5163" -RDEPENDS_${PN} = "ncurses" - -EXTRA_OEMAKE = "-e MAKEFLAGS= LDOPTS='${LDFLAGS}' ARCH='${TARGET_ARCH}'" - -do_compile() { - oe_runmake -C src all -} - -do_install_append() { - rm -r ${D}/${localstatedir}/run -} - -do_install() { - install -d ${D}${bindir} - oe_runmake -C src install \ - TARGET=${D}${bindir} \ - WORKDIR=${D}${localstatedir}/local/iptraf \ - LOGDIR=${D}${localstatedir}/log/iptraf \ - LOCKDIR=${D}${localstatedir}/run/iptraf -} - -FILES_${PN} += "${bindir} ${localstatedir} /run" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit/0001-Link-to-libatomic.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit/0001-Link-to-libatomic.patch new file mode 100644 index 000000000..4c8c7b98d --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit/0001-Link-to-libatomic.patch @@ -0,0 +1,64 @@ +From bbac9ac3e391253bc1f90cf0f70a2ce1aac9511f Mon Sep 17 00:00:00 2001 +From: Ming Liu <liu.ming50@gmail.com> +Date: Wed, 30 Aug 2017 16:50:56 +0200 +Subject: [PATCH] Link to libatomic + +This is needed for clang compiler. + +Upstream-Status: Pending + +Signed-off-by: Ming Liu <liu.ming50@gmail.com> +--- + json_demo/CMakeLists.txt | 2 +- + json_headers_only_demo/CMakeLists.txt | 2 +- + json_map_demo/CMakeLists.txt | 2 +- + json_test/CMakeLists.txt | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/json_demo/CMakeLists.txt b/json_demo/CMakeLists.txt +index b1d3c6a..0dfd308 100644 +--- a/json_demo/CMakeLists.txt ++++ b/json_demo/CMakeLists.txt +@@ -5,5 +5,5 @@ FIND_PACKAGE(Boost 1.34 REQUIRED) + INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR}) + + ADD_EXECUTABLE(json_demo ${JSON_DEMO_SRCS}) +-TARGET_LINK_LIBRARIES(json_demo json_spirit) ++TARGET_LINK_LIBRARIES(json_demo json_spirit -latomic) + +diff --git a/json_headers_only_demo/CMakeLists.txt b/json_headers_only_demo/CMakeLists.txt +index a3c787a..6eae11e 100644 +--- a/json_headers_only_demo/CMakeLists.txt ++++ b/json_headers_only_demo/CMakeLists.txt +@@ -5,5 +5,5 @@ FIND_PACKAGE(Boost 1.34 REQUIRED) + INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR}) + + ADD_EXECUTABLE(json_headers_only_demo ${JSON_HEADERS_ONLY_DEMO_SRCS}) +-TARGET_LINK_LIBRARIES(json_headers_only_demo json_spirit) ++TARGET_LINK_LIBRARIES(json_headers_only_demo json_spirit -latomic) + +diff --git a/json_map_demo/CMakeLists.txt b/json_map_demo/CMakeLists.txt +index 599006a..e3e45e8 100644 +--- a/json_map_demo/CMakeLists.txt ++++ b/json_map_demo/CMakeLists.txt +@@ -5,5 +5,5 @@ FIND_PACKAGE(Boost 1.34 REQUIRED) + INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR}) + + ADD_EXECUTABLE(json_map_demo ${JSON_MAP_DEMO_SRCS}) +-TARGET_LINK_LIBRARIES(json_map_demo json_spirit) ++TARGET_LINK_LIBRARIES(json_map_demo json_spirit -latomic) + +diff --git a/json_test/CMakeLists.txt b/json_test/CMakeLists.txt +index 38ffa7f..1ec1365 100644 +--- a/json_test/CMakeLists.txt ++++ b/json_test/CMakeLists.txt +@@ -11,5 +11,5 @@ FIND_PACKAGE(Boost 1.34 REQUIRED) + INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR}) + + ADD_EXECUTABLE(json_test ${JSON_TEST_SRCS}) +-TARGET_LINK_LIBRARIES(json_test json_spirit) ++TARGET_LINK_LIBRARIES(json_test json_spirit -latomic) + +-- +2.7.4 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit_4.08.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit_4.08.bb index 2f456bf64..c7c1ad1ec 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit_4.08.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit_4.08.bb @@ -11,14 +11,13 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=278ef6183dec4aae1524fccc4b0113c9" SRC_URI = "file://json_spirit_v${PV}.zip \ file://0001-Adjust-the-cmake-files.patch \ + file://0001-Link-to-libatomic.patch \ " S = "${WORKDIR}/json_spirit_v${PV}" DEPENDS = "boost" -LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed" - inherit cmake FILES_${PN}-dev += "${datadir}/cmake/Modules/FindLibJsonSpirit.cmake" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.3.bb index fe6ae240a..b7a02ef15 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.0.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.3.bb @@ -9,9 +9,9 @@ HOMEPAGE = "https://github.com/open-source-parsers/jsoncpp" SECTION = "libs" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c56ee55c03a55f8105b969d8270632ce" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fa2a23dd1dc6c139f35105379d76df2b" -SRCREV = "f700fe455940d4d325c088b9174a173e130e0fa8" +SRCREV = "2de18021fcb11370e9b5a1fbe7dcfd673533a134" SRC_URI = "git://github.com/open-source-parsers/jsoncpp" S = "${WORKDIR}/git" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Makefile-ensure-frontends-exits-before-writing-into-.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Makefile-ensure-frontends-exits-before-writing-into-.patch new file mode 100644 index 000000000..a5263c6f8 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Makefile-ensure-frontends-exits-before-writing-into-.patch @@ -0,0 +1,32 @@ +From 780b0b8e48551ba49b011caeeb09101a09c14a61 Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@intel.com> +Date: Fri, 26 May 2017 17:11:32 +0100 +Subject: [PATCH] Makefile: ensure frontends/ exits before writing into it + +As previously, if GCC dependencies are not being written and the build is out of +tree then frontends/ won't exist so we need to create it. + +Upstream-Status: Backport +Signed-off-by: Ross Burton <ross.burton@intel.com> +Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> +(cherry picked from commit f7986375129d1ada7dc6abeeec5b9d00ef6f7149) +Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> +--- + Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile.am b/Makefile.am +index 1baa110..434db5d 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -171,6 +171,7 @@ if COND_kconfig + bin_SCRIPTS += frontends/kconfig + + frontends/kconfig: frontends/kconfig.in ++ $(MKDIR_P) $(@D) + $(AM_V_GEN)$(SED) -e 's/@KCFG_LIST@/$(kcfg_list)/g' \ + $< >$@ + @chmod +x $@ +-- +2.12.0 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Switch-utils-kconfig-diff-to-use-Python-3.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Switch-utils-kconfig-diff-to-use-Python-3.patch new file mode 100644 index 000000000..b8f890481 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Switch-utils-kconfig-diff-to-use-Python-3.patch @@ -0,0 +1,26 @@ +From 3b9b0f82c33f793a14d44bf06b6c8136bc3fc4bf Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Thu, 27 Apr 2017 16:48:42 +0300 +Subject: [PATCH] Switch utils/kconfig-diff to use Python 3 + +The script supports it, but continues to refer to 2.x in shebang. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + utils/kconfig-diff | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/utils/kconfig-diff b/utils/kconfig-diff +index 0db267d..19189f3 100755 +--- a/utils/kconfig-diff ++++ b/utils/kconfig-diff +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python3 + # + # diffconfig - a tool to compare .config files. + # +-- +2.11.0 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb new file mode 100644 index 000000000..df08b8b11 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb @@ -0,0 +1,41 @@ +# Copyright (C) 2012 Khem Raj <raj.khem@gmail.com> +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "Linux kernel style configuration framework for other projects" +DESCRIPTION = "The kconfig-frontends project aims at centralising \ +the effort of keeping an up-to-date, out-of-tree, packaging of the \ +kconfig infrastructure, ready for use by third-party projects. \ +The kconfig-frontends package provides the kconfig parser, as well as all \ +the frontends" +HOMEPAGE = "http://ymorin.is-a-geek.org/projects/kconfig-frontends" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=9b8cf60ff39767ff04b671fca8302408" +SECTION = "devel" +DEPENDS += "ncurses flex bison gperf-native" +RDEPENDS_${PN} += "python3 bash" +SRC_URI = "git://ymorin.is-a-geek.org/kconfig-frontends;branch=4.11.x \ + file://0001-Makefile-ensure-frontends-exits-before-writing-into-.patch \ + file://0001-Switch-utils-kconfig-diff-to-use-Python-3.patch" + +SRCREV = "f22fce3a308be1c7790ebefc6bbedb33c5f7c86a" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig +do_configure_prepend () { + mkdir -p ${S}/scripts/.autostuff/m4 +} + +do_install_append() { + ln -s kconfig-conf ${D}${bindir}/conf + ln -s kconfig-mconf ${D}${bindir}/mconf +} + +EXTRA_OECONF += "--disable-gconf --disable-qconf" + +# Some packages have the version preceeding the .so instead properly +# versioned .so.<version>, so we need to reorder and repackage. +SOLIBS = "-${@d.getVar('PV')[:-2]}.so" +FILES_SOLIBSDEV = "${libdir}/libkconfig-parser.so" + +BBCLASSEXTEND = "native" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch index cd0d1433f..560c3a6d7 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch @@ -53,7 +53,7 @@ index 0000000..f6e24be +#################################################################### +INCLUDE (${CMAKE_SOURCE_DIR}/VERSION.cmake) + -+SET (LIBRCF_LIBRARIES "-lpthread -ldl") ++SET (LIBRCF_LIBRARIES "-lpthread -ldl -latomic") +INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/include) + +IF (LIBRCF_USE_OPENSSL) diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch new file mode 100644 index 000000000..d91accf1d --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch @@ -0,0 +1,28 @@ +From ac7316679e30f7013604b19aa0949a0744e91d2f Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 1 Jul 2017 13:06:30 -0700 +Subject: [PATCH] Check for __powerpc__ define + +Also check for gcc's internal define for ppc platform + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/RCF/ByteOrdering.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/RCF/ByteOrdering.cpp b/src/RCF/ByteOrdering.cpp +index 278ca80..9f9c446 100755 +--- a/src/RCF/ByteOrdering.cpp ++++ b/src/RCF/ByteOrdering.cpp +@@ -36,7 +36,7 @@ namespace RCF { + + const ByteOrder MachineByteOrder = BigEndian; + +-#elif defined( __ppc__ ) ++#elif defined( __ppc__ ) || defined( __powerpc__ ) + + const ByteOrder MachineByteOrder = BigEndian; + +-- +2.13.2 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch new file mode 100644 index 000000000..e949dee40 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch @@ -0,0 +1,35 @@ +From d78851b6f87f2472f041102d7b3726ffc009bfad Mon Sep 17 00:00:00 2001 +From: Ming Liu <peter.x.liu@external.atlascopco.com> +Date: Tue, 6 Jun 2017 05:54:20 +0200 +Subject: [PATCH] ClientStub.hpp: fix a clang compiling issue + +A error was observed with clang compiler, as follows: +| src/RCF/RCF.cpp:49: +| src/RCF/ClientStub.cpp:28: +| include/RCF/Future.hpp:49:26: error: 'enrol' is a private member of 'RCF::ClientStub' + +it can be fixed by declaring Future as a friend class of ClientStub. + +Upstream-Status: Pending + +Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> +--- + include/RCF/ClientStub.hpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/RCF/ClientStub.hpp b/include/RCF/ClientStub.hpp +index 9882cf4..8465625 100755 +--- a/include/RCF/ClientStub.hpp ++++ b/include/RCF/ClientStub.hpp +@@ -372,6 +372,8 @@ namespace RCF { + + private: + ++ template<typename U> ++ friend class Future; + friend class FutureImplBase; + + template< +-- +2.7.4 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch index 28cd0fe60..e08efb92f 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch @@ -3,11 +3,11 @@ Index: RCF-2.2.0.0/src/RCF/ByteOrdering.cpp --- RCF-2.2.0.0.orig/src/RCF/ByteOrdering.cpp +++ RCF-2.2.0.0/src/RCF/ByteOrdering.cpp @@ -60,7 +60,7 @@ namespace RCF { -
- const ByteOrder MachineByteOrder = LittleEndian;
-
--#elif defined(__arm__)
-+#elif defined(__arm__) || defined(__aarch64__)
-
- const ByteOrder MachineByteOrder = LittleEndian;
-
+ + const ByteOrder MachineByteOrder = LittleEndian; + +-#elif defined(__arm__) ++#elif defined(__arm__) || defined(__aarch64__) + + const ByteOrder MachineByteOrder = LittleEndian; + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch new file mode 100644 index 000000000..4a327f78e --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch @@ -0,0 +1,19 @@ +Index: RCF-2.2.0.0/src/RCF/ByteOrdering.cpp +=================================================================== +--- RCF-2.2.0.0.orig/src/RCF/ByteOrdering.cpp ++++ RCF-2.2.0.0/src/RCF/ByteOrdering.cpp +@@ -64,6 +64,14 @@ namespace RCF { + + const ByteOrder MachineByteOrder = LittleEndian; + ++#elif defined(__mipsel__) || defined(__mips64el__) ++ ++ const ByteOrder MachineByteOrder = LittleEndian; ++ ++#elif defined( __mips__ ) || defined(__mips64__) ++ ++ const ByteOrder MachineByteOrder = BigEndian; ++ + #elif defined(__bfin__) + + const ByteOrder MachineByteOrder = LittleEndian; diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb index 51ad7ec9c..43eff72a3 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb @@ -8,19 +8,22 @@ HOMEPAGE = "http://www.deltavsoft.com/" SECTION = "libs" PRIORITY = "optional" LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://license.txt;md5=137c2935b51c95068a8b1bbd434ffe2d" +LIC_FILES_CHKSUM = "file://license.txt;md5=7586a312b9e978f9d6fac9a5780d1f84" SRC_URI = "http://www.deltavsoft.com/downloads/RCF-${PV}.tar.gz \ file://0001-Add-CMake-build-files.patch \ file://aarch64-support.patch \ - " + file://0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch \ + file://mips-support.patch \ + file://0001-Check-for-__powerpc__-define.patch \ + " SRC_URI[md5sum] = "7ecb3c73f7eb66dba8790b659374f690" SRC_URI[sha256sum] = "bbfcc88de502c39604878c395f516b03fff4eac63eb4f7f44c07d433839712dd" S = "${WORKDIR}/RCF-${PV}" -inherit cmake +inherit cmake dos2unix PACKAGECONFIG ?= "zlib openssl sf-serialization boost-filesystem boost-asio protobuf json dll static shared demos" PACKAGECONFIG[zlib] = "-DLIBRCF_USE_ZLIB=ON,-DLIBRCF_USE_ZLIB=OFF,zlib,zlib" @@ -31,8 +34,8 @@ PACKAGECONFIG[sf-serialization] = "-DLIBRCF_USE_SF_SERIALIZATION=ON,-DLIBRCF_USE PACKAGECONFIG[boost-serialization] = "-DLIBRCF_USE_BOOST_SERIALIZATION=ON,-DLIBRCF_USE_BOOST_SERIALIZATION=OFF,boost," PACKAGECONFIG[boost-filesystem] = "-DLIBRCF_USE_BOOST_FILESYSTEM=ON,-DLIBRCF_USE_BOOST_FILESYSTEM=OFF,boost," PACKAGECONFIG[boost-asio] = "-DLIBRCF_USE_BOOST_ASIO=ON,-DLIBRCF_USE_BOOST_ASIO=OFF,boost," -PACKAGECONFIG[protobuf] = "-DLIBRCF_USE_PROTOBUF=ON,-DLIBRCF_USE_PROTOBUF=OFF,protobuf," -PACKAGECONFIG[json] = "-DLIBRCF_USE_JSON=ON,-DLIBRCF_USE_JSON=OFF,json-spirit," +PACKAGECONFIG[protobuf] = "-DLIBRCF_USE_PROTOBUF=ON,-DLIBRCF_USE_PROTOBUF=OFF,protobuf,protobuf" +PACKAGECONFIG[json] = "-DLIBRCF_USE_JSON=ON,-DLIBRCF_USE_JSON=OFF,json-spirit,json-spirit" PACKAGECONFIG[ipv6] = "-DLIBRCF_USE_IPV6=ON,-DLIBRCF_USE_IPV6=OFF," PACKAGECONFIG[custom-allocator] = "-DLIBRCF_USE_CUSTOM_ALLOCATOR=ON,-DLIBRCF_USE_CUSTOM_ALLOCATOR=OFF," PACKAGECONFIG[dll] = "-DLIBRCF_BUILD_DLL=ON,-DLIBRCF_BUILD_DLL=OFF," diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3/0001-configure.ac-fix-cross-compiling-issue.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3/0001-configure.ac-fix-cross-compiling-issue.patch new file mode 100644 index 000000000..1a6928707 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3/0001-configure.ac-fix-cross-compiling-issue.patch @@ -0,0 +1,31 @@ +From 9c2ffe825e28d63e2a771135f297e8ffac0dbe81 Mon Sep 17 00:00:00 2001 +From: Ming Liu <liu.ming50@gmail.com> +Date: Tue, 11 Jul 2017 14:35:30 +0200 +Subject: [PATCH] configure.ac: fix cross-compiling issue + +Avoid checking for file existence when cross compiling. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Ming Liu <liu.ming50@gmail.com> +--- + configure.ac | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9978852..06b16e3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -120,9 +120,6 @@ AC_ARG_WITH(unicode-version, + AC_HELP_STRING(--with-unicode-version=VERSION, + [version of Unicode Standard @<:@default=current version@:>@]), + UNICODE_VERSION=$withval,UNICODE_VERSION=$DEFAULT_UNICODE_VERSION) +-AC_CHECK_FILE([lib/$UNICODE_VERSION.c], +- AC_MSG_RESULT($UNICODE_VERSION), +- AC_MSG_ERROR(Unknown Unicode version $UNICODE_VERSION.)) + AC_SUBST(UNICODE_VERSION) + + # check if code to debug memory allocation is enabled. +-- +2.7.4 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb new file mode 100644 index 000000000..b83e86a48 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "Sombok - Unicode Text Segmentation Package." +DESCRIPTION = "Sombok library package performs Line Breaking Algorithm described in \ +Unicode Standard Annex #14 (UAX #14). East_Asian_Width informative \ +properties defined by Annex #11 (UAX #11) may be concerned to determin \ +breaking positions. This package also implements "default" Grapheme \ +Cluster segmentation described in Annex #29 (UAX #29)." +LICENSE = "Artistic-1.0 | GPLv1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=5b122a36d0f6dc55279a0ebc69f3c60b" + +SRC_URI = "git://github.com/hatukanezumi/sombok.git;protocol=https \ + file://0001-configure.ac-fix-cross-compiling-issue.patch \ + " + +inherit autotools pkgconfig + +# sombok-2.4.0 +SRCREV = "0098d85a037ef5c99a648a3669a077781a45e8cc" + +S = "${WORKDIR}/git" +B = "${S}" + +# Disable libthai support +EXTRA_OECONF = "--disable-libthai" + +BBCLASSEXTEND = "native" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/ltp-Do-not-link-against-libfl.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/ltp-Do-not-link-against-libfl.patch deleted file mode 100644 index 3e4aa7308..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/ltp-Do-not-link-against-libfl.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 5bda9c0af56869c6ff2c25d38ea087179c946bc6 Mon Sep 17 00:00:00 2001 -From: Chong Lu <Chong.Lu@windriver.com> -Date: Tue, 11 Mar 2014 14:47:22 +0800 -Subject: [PATCH] ltp: Don't link against libfl - -We have already defined yywrap function in scan.l file. After this, we no longer need to -link against libfl and so no longer get errors about undefined references to yylex. - -Upstream-status: Pending - -Signed-off-by: Chong Lu <Chong.Lu@windriver.com> ---- - pan/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pan/Makefile b/pan/Makefile -index 4cc6466..a4b575b 100644 ---- a/pan/Makefile -+++ b/pan/Makefile -@@ -31,7 +31,7 @@ CPPFLAGS += -Wno-error - - CPPFLAGS += -I$(abs_srcdir) - --LDLIBS += -lm $(LEXLIB) -+LDLIBS += -lm - - LFLAGS += -l - --- -1.7.9.5 - diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_1.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_1.0.0.bb deleted file mode 100644 index b13bd7bcc..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_1.0.0.bb +++ /dev/null @@ -1,97 +0,0 @@ -SUMMARY = "Embedded Linux Device Driver Tests based on Linux Test Project" -HOMEPAGE = "http://arago-project.org/git/projects/test-automation/ltp-ddt.git" -SECTION = "console/utils" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" - -PROVIDES += "ltp" -DEPENDS += "zip-native virtual/kernel alsa-lib" - -RDEPENDS_${PN} += "pm-qa serialcheck" - -inherit autotools module-base kernel-module-split - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -SRCREV = "f086bed6cc88bf102eaad0e96cb7ebe79944a8ad" -BRANCH ?= "master" - -SRC_URI = "git://arago-project.org/git/projects/test-automation/ltp-ddt.git;branch=${BRANCH} \ - file://ltp-Do-not-link-against-libfl.patch \ -" - -S = "${WORKDIR}/git" - -LTPROOT = "/opt/ltp" - -EXTRA_OEMAKE_append = " \ - prefix=${LTPROOT} \ - CROSS_COMPILE=${HOST_PREFIX} \ - SKIP_IDCHECK=1 \ - KERNEL_PATH=${STAGING_KERNEL_DIR} \ - KERNEL_INC=${STAGING_KERNEL_DIR} \ - KERNEL_USR_INC=${STAGING_INCDIR} \ - ALSA_INCPATH=${STAGING_INCDIR} \ - ALSA_LIBPATH=${STAGING_LIBDIR} \ - PLATFORM=${MACHINE} \ - RANLIB=${RANLIB} \ - DESTDIR=${D} \ - CC='${CC}' \ - KERNEL_CC='${KERNEL_CC}' \ -" - -TARGET_CC_ARCH += "${LDFLAGS}" - -FILES_${PN}-dbg += " \ - ${LTPROOT}/.debug \ - ${LTPROOT}/bin/.debug \ - ${LTPROOT}/runtest/.debug \ - ${LTPROOT}/testcases/bin/.debug \ - ${LTPROOT}/testcases/bin/*/bin/.debug \ - ${LTPROOT}/testcases/bin/*/test/.debug \ - ${LTPROOT}/testcases/bin/ddt/.debug \ - ${LTPROOT}/testcases/bin/ddt/*/bin/.debug \ - ${LTPROOT}/testcases/bin/ddt/*/test/.debug \ - ${LTPROOT}/testcases/realtime/*/*/.debug \ -" - -FILES_${PN}-staticdev += "${LTPROOT}/lib" -FILES_${PN} += "${LTPROOT}/*" - -KERNEL_MODULES_META_PACKAGE = "${PN}" - -kmoddir = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/ddt" - -# ltp doesn't regenerate ffsb-6.0-rc2 configure and hardcode configure call. -# we explicitly force regeneration of that directory and pass configure options. -do_configure_append() { - (cd utils/ffsb-6.0-rc2; autoreconf -fvi; ./configure ${CONFIGUREOPTS}) -} - -# The makefiles make excessive use of make -C and several include testcases.mk -# which triggers a build of the syscall header. To reproduce, build ltp, -# then delete the header, then "make -j XX" and watch regen.sh run multiple -# times. Its easier to generate this once here instead. -do_compile_prepend () { - ( make -C ${B}/testcases/kernel include/linux_syscall_numbers.h ) -} - -do_compile_append () { - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - oe_runmake modules -} - -do_install() { - oe_runmake install - install -d ${D}${datadir} - install -d ${D}${kmoddir} - mv ${D}${LTPROOT}/testcases/bin/ddt/*.ko ${D}${kmoddir} -} - -# do_make_scripts should be a separate task for the lock to work -addtask make_scripts before do_compile -do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock" -do_make_scripts[deptask] = "do_populate_sysroot" - -# http://errors.yoctoproject.org/Errors/Details/56327/ -PNBLACKLIST[ltp-ddt] ?= "BROKEN: fails since last autotools.bbclass changes - the recipe will be removed on 2017-09-01 unless the issue is fixed" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-plt.c-Delete-include-error.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-plt.c-Delete-include-error.h.patch new file mode 100644 index 000000000..76ba7de78 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-plt.c-Delete-include-error.h.patch @@ -0,0 +1,27 @@ +From 19a3e590c97420bd3952301bf376067c75d0ee32 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 18 Sep 2017 23:45:54 -0700 +Subject: [PATCH] mips/plt.c: Delete include error.h + +Its not needed + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + sysdeps/linux-gnu/mips/plt.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/sysdeps/linux-gnu/mips/plt.c b/sysdeps/linux-gnu/mips/plt.c +index 2d85ad9..9c3ae2f 100644 +--- a/sysdeps/linux-gnu/mips/plt.c ++++ b/sysdeps/linux-gnu/mips/plt.c +@@ -24,7 +24,6 @@ + + #include <sys/ptrace.h> + #include <errno.h> +-#include <error.h> + #include <gelf.h> + #include <inttypes.h> + #include <string.h> +-- +2.14.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb index 01b3bbe1b..abe015de2 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb @@ -24,6 +24,7 @@ SRC_URI = "git://anonscm.debian.org/collab-maint/ltrace.git;branch=master \ file://0001-Fix-tautological-compare-warning.patch \ file://0001-Add-support-for-mips64-n32-n64.patch \ file://0001-configure-Recognise-linux-musl-as-a-host-OS.patch \ + file://0001-mips-plt.c-Delete-include-error.h.patch \ " S = "${WORKDIR}/git" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.4.bb index b7995c298..8f4e8fe68 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.3.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.4.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Lua is a powerful light-weight programming language designed \ for extending applications." LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=318;endline=352;md5=10ffd57d574c60d5b4d6189544e205a9" +LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=318;endline=352;md5=60aa5cfdbd40086501778d9b6ebf29ee" HOMEPAGE = "http://www.lua.org/" DEPENDS = "readline" @@ -13,10 +13,10 @@ SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', \ file://run-ptest \ ', '', d)}" -SRC_URI[tarballsrc.md5sum] = "703f75caa4fdf4a911c1a72e67a27498" -SRC_URI[tarballsrc.sha256sum] = "5113c06884f7de453ce57702abaac1d618307f33f6789fa870e87a59d772aca2" -SRC_URI[tarballtest.md5sum] = "76f4fb07f2a4970d554645ac26df86df" -SRC_URI[tarballtest.sha256sum] = "13154abc20976196119db531b4169ce1ce511755879d40b4192e4173291287e5" +SRC_URI[tarballsrc.md5sum] = "53a9c68bcc0eda58bdc2095ad5cdfc63" +SRC_URI[tarballsrc.sha256sum] = "f681aa518233bc407e23acf0f5887c884f17436f000d453b2491a9f11a52400c" +SRC_URI[tarballtest.md5sum] = "b14fe3748c1cb2d74e3acd1943629ba3" +SRC_URI[tarballtest.sha256sum] = "b80771238271c72565e5a1183292ef31bd7166414cd0d43a8eb79845fa7f599f" inherit pkgconfig binconfig ptest @@ -56,4 +56,4 @@ do_install_ptest () { cp -R --no-dereference --preserve=mode,links -v ${WORKDIR}/lua-${PV}-tests ${D}${PTEST_PATH}/test } -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch new file mode 100644 index 000000000..c39ef6fd4 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch @@ -0,0 +1,19 @@ +clang pretends to be gcc 4.2.0 which is a big lie when it comes +to features, its same as latest gcc + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending + +Index: LuaJIT-2.0.5/src/lj_arch.h +=================================================================== +--- LuaJIT-2.0.5.orig/src/lj_arch.h ++++ LuaJIT-2.0.5/src/lj_arch.h +@@ -313,7 +313,7 @@ + #error "Need at least GCC 4.2 or newer" + #endif + #elif !LJ_TARGET_PS3 +-#if (__GNUC__ < 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ < 3) ++#if (__GNUC__ < 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ < 3) && !defined(__clang__) + #error "Need at least GCC 4.3 or newer" + #endif + #endif diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb index cee9cc428..73c38111e 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb @@ -1,13 +1,14 @@ SUMMARY = "Just-In-Time Compiler for Lua" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3992f1fbae3b8b061f9056b7fcda8cc6" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=10a96c93403affcc34765f4c2612bc22" HOMEPAGE = "http://luajit.org" SRC_URI = "http://luajit.org/download/LuaJIT-${PV}.tar.gz \ file://0001-Do-not-strip-automatically-this-leaves-the-stripping.patch \ + file://clang.patch \ " -SRC_URI[md5sum] = "dd9c38307f2223a504cbfb96e477eca0" -SRC_URI[sha256sum] = "620fa4eb12375021bef6e4f237cbd2dd5d49e56beb414bee052c746beef1807d" +SRC_URI[md5sum] = "48353202cbcacab84ee41a5a70ea0a2c" +SRC_URI[sha256sum] = "874b1f8297c697821f561f9b73b57ffd419ed8f4278c82e05b48806d30c1e979" S = "${WORKDIR}/LuaJIT-${PV}" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson/native_bindir.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson/native_bindir.patch index 53eeff7b6..993e9750e 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson/native_bindir.patch +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson/native_bindir.patch @@ -1,8 +1,13 @@ +There are some discussions upstream to merge this patch, but I presonaly believe +that is is OE only. https://github.com/mesonbuild/meson/issues/1849#issuecomment-303730323 + +Upstream-Status: Inappropriate [OE specific] +Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> diff --git a/mesonbuild/dependencies.py b/mesonbuild/dependencies.py -index da73a57b7ecd..22100f69c580 100644 +index 04a22f985941..3e33bc4a79e7 100644 --- a/mesonbuild/dependencies.py +++ b/mesonbuild/dependencies.py -@@ -65,7 +65,7 @@ class Dependency(): +@@ -95,7 +95,7 @@ class Dependency: def need_threads(self): return False @@ -11,7 +16,7 @@ index da73a57b7ecd..22100f69c580 100644 raise MesonException('Tried to get a pkg-config variable from a non-pkgconfig dependency.') class InternalDependency(Dependency): -@@ -177,8 +177,12 @@ class PkgConfigDependency(Dependency): +@@ -224,8 +224,12 @@ class PkgConfigDependency(Dependency): return s.format(self.__class__.__name__, self.name, self.is_found, self.version_reqs) @@ -23,10 +28,10 @@ index da73a57b7ecd..22100f69c580 100644 + else: + pkgbin = [self.pkgbin] + p, out = Popen_safe(pkgbin + args, env=os.environ)[0:2] - return (p.returncode, out.strip()) + return p.returncode, out.strip() def _set_cargs(self): -@@ -212,8 +216,8 @@ class PkgConfigDependency(Dependency): +@@ -259,8 +263,8 @@ class PkgConfigDependency(Dependency): self.is_libtool = True self.libs.append(lib) @@ -37,12 +42,8 @@ index da73a57b7ecd..22100f69c580 100644 variable = '' if ret != 0: if self.required: -@@ -933,10 +937,10 @@ class QtBaseDependency(Dependency): - corekwargs = {'required': 'false', 'silent': 'true'} - core = PkgConfigDependency(self.qtpkgname + 'Core', env, corekwargs) - # Used by self.compilers_detect() -- self.bindir = core.get_pkgconfig_variable('host_bins') -+ self.bindir = core.get_pkgconfig_variable('host_bins', use_native=True) +@@ -1091,7 +1095,7 @@ class QtBaseDependency(Dependency): + self.bindir = self.get_pkgconfig_host_bins(core) if not self.bindir: # If exec_prefix is not defined, the pkg-config file is broken - prefix = core.get_pkgconfig_variable('exec_prefix') @@ -50,3 +51,21 @@ index da73a57b7ecd..22100f69c580 100644 if prefix: self.bindir = os.path.join(prefix, 'bin') +@@ -1202,7 +1206,7 @@ class Qt5Dependency(QtBaseDependency): + QtBaseDependency.__init__(self, 'qt5', env, kwargs) + + def get_pkgconfig_host_bins(self, core): +- return core.get_pkgconfig_variable('host_bins') ++ return core.get_pkgconfig_variable('host_bins', use_native=True) + + class Qt4Dependency(QtBaseDependency): + def __init__(self, env, kwargs): +@@ -1216,7 +1220,7 @@ class Qt4Dependency(QtBaseDependency): + applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease'] + for application in applications: + try: +- return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application)) ++ return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, use_native=True)) + except MesonException: + pass + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson_0.37.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson_0.40.1.bb index dbbea6447..14644ba9b 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson_0.37.1.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson_0.40.1.bb @@ -9,12 +9,12 @@ SRC_URI = " \ file://native_bindir.patch \ " -SRCREV = "3d4bfdcb22314ea7db45a5b075f8b2a9c1498aab" +SRCREV = "b25d3e4d3f2b4d37029a507cc089bdde643c6240" S = "${WORKDIR}/git" inherit setuptools3 -RDEPENDS_${PN}_class-target = "ninja python3-core python3-modules" +RDEPENDS_${PN} = "ninja python3-core python3-modules" BBCLASSEXTEND = "native" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.2.bb index 4537a66e0..4a2c37723 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.2.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.2.bb @@ -12,8 +12,6 @@ SRC_URI = " \ SRC_URI[md5sum] = "f414cfa77099cd1fa1a5ae4e22db508a" SRC_URI[sha256sum] = "0778679a6b693d7b7caff37ff9d2856dc2bfc51318bf8373859bfa74253da3dc" -CACHED_CONFIGUREVARS += "BASH_SHELL=${base_bindir}/bash" - RDEPENDS_${PN} += "bash perl libxml2" S = "${WORKDIR}/${BP}" @@ -26,6 +24,8 @@ EXTRA_OECONF = "--enable-debuginfo \ --disable-fc \ --disable-fortran \ --disable-cxx \ + BASH_SHELL='${USRBINPATH}/env bash' \ + PERL='${USRBINPATH}/env perl' \ " inherit autotools-brokensep gettext diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Comment-intentional-fallthrough-in-case-statements.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Comment-intentional-fallthrough-in-case-statements.patch deleted file mode 100644 index a388297a8..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Comment-intentional-fallthrough-in-case-statements.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 15d8bb6792c9639d85a9ffe2ac81431f1b986c21 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 22 Apr 2017 08:53:50 -0700 -Subject: [PATCH] Comment intentional fallthrough in case statements - -Fixes build with gcc7 - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp b/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp -index b35c21a7..4c463a90 100644 ---- a/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp -+++ b/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp -@@ -105,6 +105,7 @@ struct define_array<A0, A1> { - switch(size) { - default: - case 2: ptr[1].convert(a1); -+ //fallthrough - case 1: ptr[0].convert(a0); - } - } -@@ -193,8 +194,11 @@ struct define_array<A0, A1, A2, A3> { - switch(size) { - default: - case 4: ptr[3].convert(a3); -+ //fallthrough - case 3: ptr[2].convert(a2); -+ //fallthrough - case 2: ptr[1].convert(a1); -+ //fallthrough - case 1: ptr[0].convert(a0); - } - } --- -2.12.2 - diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb index 7655d9469..d9f695669 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.1.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb @@ -9,10 +9,9 @@ LIC_FILES_CHKSUM = "file://NOTICE;md5=7a858c074723608e08614061dc044352 \ PV .= "+git${SRCPV}" -SRCREV = "20ef1f925b007f170ab1c257e4aa61fdd0927773" +SRCREV = "7a98138f27f27290e680bf8fbf1f8d1b089bf138" SRC_URI = "git://github.com/msgpack/msgpack-c \ - file://0001-Comment-intentional-fallthrough-in-case-statements.patch \ " inherit cmake pkgconfig diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja_1.7.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja_1.7.2.bb deleted file mode 100644 index 932e3a6ed..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja_1.7.2.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "Ninja is a small build system with a focus on speed." -HOMEPAGE = "http://martine.github.com/ninja/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e" - -DEPENDS = "re2c-native ninja-native" - -SRCREV = "717b7b4a31db6027207588c0fb89c3ead384747b" - -SRC_URI = "git://github.com/martine/ninja.git;branch=release" - -S = "${WORKDIR}/git" - -do_configure[noexec] = "1" - -do_compile_class-native() { - ./configure.py --bootstrap -} - -do_compile() { - ./configure.py - ninja -} - -do_install() { - install -d ${D}${bindir} - install -m 0755 ${S}/ninja ${D}${bindir}/ -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch new file mode 100644 index 000000000..324a4683d --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch @@ -0,0 +1,29 @@ +From c2aff16cc196a61f4ab1cdae4a91c7926123c239 Mon Sep 17 00:00:00 2001 +From: Zuzana Svetlikova <zsvetlik@redhat.com> +Date: Thu, 27 Apr 2017 14:25:42 +0200 +Subject: [PATCH] Disable running gyp on shared deps + +--- + Makefile | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index 0a217bd893..e1229ad07f 100644 +--- a/Makefile ++++ b/Makefile +@@ -79,10 +79,9 @@ $(NODE_G_EXE): config.gypi out/Makefile + $(MAKE) -C out BUILDTYPE=Debug V=$(V) + if [ ! -r $@ -o ! -L $@ ]; then ln -fs out/Debug/$(NODE_EXE) $@; fi + +-out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp \ +- deps/zlib/zlib.gyp deps/v8/gypfiles/toolchain.gypi \ +- deps/v8/gypfiles/features.gypi deps/v8/src/v8.gyp node.gyp \ +- config.gypi ++out/Makefile: common.gypi deps/http_parser/http_parser.gyp \ ++ deps/v8/gypfiles/toolchain.gypi deps/v8/gypfiles/features.gypi \ ++ deps/v8/src/v8.gyp node.gyp config.gypi + $(PYTHON) tools/gyp_node.py -f make + + config.gypi: configure +-- +2.12.2 diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch new file mode 100644 index 000000000..324a4683d --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch @@ -0,0 +1,29 @@ +From c2aff16cc196a61f4ab1cdae4a91c7926123c239 Mon Sep 17 00:00:00 2001 +From: Zuzana Svetlikova <zsvetlik@redhat.com> +Date: Thu, 27 Apr 2017 14:25:42 +0200 +Subject: [PATCH] Disable running gyp on shared deps + +--- + Makefile | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index 0a217bd893..e1229ad07f 100644 +--- a/Makefile ++++ b/Makefile +@@ -79,10 +79,9 @@ $(NODE_G_EXE): config.gypi out/Makefile + $(MAKE) -C out BUILDTYPE=Debug V=$(V) + if [ ! -r $@ -o ! -L $@ ]; then ln -fs out/Debug/$(NODE_EXE) $@; fi + +-out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp \ +- deps/zlib/zlib.gyp deps/v8/gypfiles/toolchain.gypi \ +- deps/v8/gypfiles/features.gypi deps/v8/src/v8.gyp node.gyp \ +- config.gypi ++out/Makefile: common.gypi deps/http_parser/http_parser.gyp \ ++ deps/v8/gypfiles/toolchain.gypi deps/v8/gypfiles/features.gypi \ ++ deps/v8/src/v8.gyp node.gyp config.gypi + $(PYTHON) tools/gyp_node.py -f make + + config.gypi: configure +-- +2.12.2 diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.8.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.4.0.bb index ae84ad308..5bcbc0007 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.8.2.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.4.0.bb @@ -1,19 +1,19 @@ DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" HOMEPAGE = "http://nodejs.org" LICENSE = "MIT & BSD & Artistic-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f45e9ffb97e64da46d14f462d34a039f" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e4d35c6120f175e1fbe5ff908b1cf2d6" -DEPENDS = "openssl zlib" +DEPENDS = "openssl10 zlib" COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*" COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*" COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*" SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ - file://no-registry.patch \ + file://0001-Disable-running-gyp-files-for-bundled-deps.patch \ " -SRC_URI[md5sum] = "aea6139f952bb7e1d66f76afedee813c" -SRC_URI[sha256sum] = "b961350b8490c791bdd3663925662ba0fbe01e004b43f1c2779baffcc816b930" +SRC_URI[md5sum] = "e6c85c83001340b30671e9432e1bd337" +SRC_URI[sha256sum] = "5d5aa2a101dcc617231a475812eb8ed87cac21491f1dcc7997b9dd463563f361" S = "${WORKDIR}/node-v${PV}" @@ -40,10 +40,11 @@ ARCHFLAGS ?= "" # Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi do_configure () { + rm -rf ${S}/deps/openssl export LD="${CXX}" GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES # $TARGET_ARCH settings don't match --dest-cpu settings - ./configure --prefix=${prefix} --without-snapshot --shared-openssl --shared-zlib \ + ./configure --prefix=${prefix} --without-intl --without-snapshot --shared-openssl --shared-zlib \ --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \ --dest-os=linux \ ${ARCHFLAGS} @@ -78,7 +79,7 @@ do_install_append_class-target() { } PACKAGES =+ "${PN}-npm" -FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm" +FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx" RDEPENDS_${PN}-npm = "bash python-shell python-datetime python-subprocess python-textutils" PACKAGES =+ "${PN}-systemtap" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Add-fallthrough-comments.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Add-fallthrough-comments.patch new file mode 100644 index 000000000..644146c4d --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Add-fallthrough-comments.patch @@ -0,0 +1,155 @@ +From 8f85163b030e7b957648f90cd8fa599fb04d5d65 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 16 Jun 2017 23:32:49 -0700 +Subject: [PATCH 1/5] Add fallthrough comments + +Fixes + +src/svf/svf.c:663:7: error: this statement may fall through [-Werror=implicit-fallthrough=] + i = -1; + ~~^~~~ + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/flash/mflash.c | 3 ++- + src/flash/nand/mx3.c | 1 + + src/jtag/drivers/ftdi.c | 1 + + src/svf/svf.c | 2 ++ + src/target/arm_adi_v5.c | 9 +++++++++ + src/target/arm_disassembler.c | 1 + + src/target/target.c | 1 + + 7 files changed, 17 insertions(+), 1 deletion(-) + +diff --git a/src/flash/mflash.c b/src/flash/mflash.c +index b69995542..3254a3d56 100644 +--- a/src/flash/mflash.c ++++ b/src/flash/mflash.c +@@ -259,10 +259,11 @@ static int mg_dsk_wait(mg_io_type_wait wait_local, uint32_t time_var) + case mg_io_wait_rdy: + if (status & mg_io_rbit_status_ready) + return ERROR_OK; +- ++ /* fallthru */ + case mg_io_wait_drq: + if (status & mg_io_rbit_status_data_req) + return ERROR_OK; ++ /* fallthru */ + + default: + break; +diff --git a/src/flash/nand/mx3.c b/src/flash/nand/mx3.c +index b61e47535..0a55929ed 100644 +--- a/src/flash/nand/mx3.c ++++ b/src/flash/nand/mx3.c +@@ -281,6 +281,7 @@ static int imx31_command(struct nand_device *nand, uint8_t command) + * offset == one half of page size + */ + in_sram_address = MX3_NF_MAIN_BUFFER0 + (nand->page_size >> 1); ++ /* fallthru */ + default: + in_sram_address = MX3_NF_MAIN_BUFFER0; + } +diff --git a/src/jtag/drivers/ftdi.c b/src/jtag/drivers/ftdi.c +index 00fe37faf..20f17d810 100644 +--- a/src/jtag/drivers/ftdi.c ++++ b/src/jtag/drivers/ftdi.c +@@ -855,6 +855,7 @@ COMMAND_HANDLER(ftdi_handle_set_signal_command) + ftdi_set_signal(sig, *CMD_ARGV[1]); + break; + } ++ /* fallthru */ + default: + LOG_ERROR("unknown signal level '%s', use 0, 1 or z", CMD_ARGV[1]); + return ERROR_COMMAND_SYNTAX_ERROR; +diff --git a/src/svf/svf.c b/src/svf/svf.c +index e7e815c10..7b261cc72 100644 +--- a/src/svf/svf.c ++++ b/src/svf/svf.c +@@ -661,11 +661,13 @@ static int svf_read_command_from_file(FILE *fd) + if (svf_getline(&svf_read_line, &svf_read_line_size, svf_fd) <= 0) + return ERROR_FAIL; + i = -1; ++ /* fallthru */ + case '\r': + slash = 0; + /* Don't save '\r' and '\n' if no data is parsed */ + if (!cmd_pos) + break; ++ /* fallthru */ + default: + /* The parsing code currently expects a space + * before parentheses -- "TDI (123)". Also a +diff --git a/src/target/arm_adi_v5.c b/src/target/arm_adi_v5.c +index eafc2ddc0..d444db2b1 100644 +--- a/src/target/arm_adi_v5.c ++++ b/src/target/arm_adi_v5.c +@@ -346,10 +346,13 @@ static int mem_ap_write(struct adiv5_ap *ap, const uint8_t *buffer, uint32_t siz + case 4: + outvalue |= (uint32_t)*buffer++ << 8 * (address++ & 3); + outvalue |= (uint32_t)*buffer++ << 8 * (address++ & 3); ++ /* fallthru */ + case 2: + outvalue |= (uint32_t)*buffer++ << 8 * (address++ & 3); ++ /* fallthru */ + case 1: + outvalue |= (uint32_t)*buffer++ << 8 * (address++ & 3); ++ /* fallthru */ + } + } + +@@ -509,20 +512,26 @@ static int mem_ap_read(struct adiv5_ap *ap, uint8_t *buffer, uint32_t size, uint + case 4: + *buffer++ = *read_ptr >> 8 * (3 - (address++ & 3)); + *buffer++ = *read_ptr >> 8 * (3 - (address++ & 3)); ++ /* fallthru */ + case 2: + *buffer++ = *read_ptr >> 8 * (3 - (address++ & 3)); ++ /* fallthru */ + case 1: + *buffer++ = *read_ptr >> 8 * (3 - (address++ & 3)); ++ /* fallthru */ + } + } else { + switch (this_size) { + case 4: + *buffer++ = *read_ptr >> 8 * (address++ & 3); + *buffer++ = *read_ptr >> 8 * (address++ & 3); ++ /* fallthru */ + case 2: + *buffer++ = *read_ptr >> 8 * (address++ & 3); ++ /* fallthru */ + case 1: + *buffer++ = *read_ptr >> 8 * (address++ & 3); ++ /* fallthru */ + } + } + +diff --git a/src/target/arm_disassembler.c b/src/target/arm_disassembler.c +index 5277b94d8..2eb21ea33 100644 +--- a/src/target/arm_disassembler.c ++++ b/src/target/arm_disassembler.c +@@ -3299,6 +3299,7 @@ static int t2ev_data_immed(uint32_t opcode, uint32_t address, + case 0x10: + case 0x12: + is_signed = true; ++ /* fallthru */ + case 0x18: + case 0x1a: + /* signed/unsigned saturated add */ +diff --git a/src/target/target.c b/src/target/target.c +index e04ecc470..597b4b13d 100644 +--- a/src/target/target.c ++++ b/src/target/target.c +@@ -3684,6 +3684,7 @@ COMMAND_HANDLER(handle_bp_command) + addr = 0; + return handle_bp_command_set(CMD_CTX, addr, asid, length, hw); + } ++ /* fallthru */ + + case 4: + hw = BKPT_HARD; +-- +2.13.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0002-Workaround-new-warnings-generated-by-GCC-7.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0002-Workaround-new-warnings-generated-by-GCC-7.patch new file mode 100644 index 000000000..aa99735f6 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0002-Workaround-new-warnings-generated-by-GCC-7.patch @@ -0,0 +1,53 @@ +From 8daaa8c27794653d02854c5982669a7638473224 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 16 Jun 2017 23:52:46 -0700 +Subject: [PATCH 2/5] Workaround new warnings generated by GCC 7 + +src/flash/nor/xmc4xxx.c: In function 'xmc4xxx_get_info_command': +src/flash/nor/xmc4xxx.c:939:43: error: '%d' directive output may be truncated writing between 1 and 10 bytes into a region of size 6 [-Werror=format-truncation=] + snprintf(otp_str, sizeof(otp_str), "- %d\n", i); + ^~ +src/flash/nor/xmc4xxx.c:939:40: note: directive argument in the range [0, 2147483647] + snprintf(otp_str, sizeof(otp_str), "- %d\n", i); + ^~~~~~~~ +src/flash/nor/xmc4xxx.c:939:5: note: 'snprintf' output between 5 and 14 bytes into a destination of size 8 + snprintf(otp_str, sizeof(otp_str), "- %d\n", i); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/flash/nor/xmc4xxx.c | 2 +- + src/target/arm_adi_v5.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/flash/nor/xmc4xxx.c b/src/flash/nor/xmc4xxx.c +index 02df46a3f..e6c398ff9 100644 +--- a/src/flash/nor/xmc4xxx.c ++++ b/src/flash/nor/xmc4xxx.c +@@ -931,7 +931,7 @@ static int xmc4xxx_get_info_command(struct flash_bank *bank, char *buf, int buf_ + + /* If OTP Write protection is enabled (User 2), list each + * sector that has it enabled */ +- char otp_str[8]; ++ char otp_str[14]; + if (otp_enabled) { + strcat(prot_str, "\nOTP Protection is enabled for sectors:\n"); + for (int i = 0; i < bank->num_sectors; i++) { +diff --git a/src/target/arm_adi_v5.c b/src/target/arm_adi_v5.c +index d444db2b1..d0d95121f 100644 +--- a/src/target/arm_adi_v5.c ++++ b/src/target/arm_adi_v5.c +@@ -1062,7 +1062,7 @@ static int dap_rom_display(struct command_context *cmd_ctx, + int retval; + uint64_t pid; + uint32_t cid; +- char tabs[7] = ""; ++ char tabs[16] = ""; + + if (depth > 16) { + command_print(cmd_ctx, "\tTables too deep"); +-- +2.13.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0003-armv7a-Add-missing-break-to-fix-fallthrough-warning.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0003-armv7a-Add-missing-break-to-fix-fallthrough-warning.patch new file mode 100644 index 000000000..bcfbfc92b --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0003-armv7a-Add-missing-break-to-fix-fallthrough-warning.patch @@ -0,0 +1,27 @@ +From 8e5051e83fedb078170565a24d1f5de6c2ce4428 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 17 Jun 2017 00:01:51 -0700 +Subject: [PATCH 3/5] armv7a: Add missing break to fix fallthrough warning + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/target/armv7a.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/target/armv7a.c b/src/target/armv7a.c +index 6021def4e..bad806b3d 100644 +--- a/src/target/armv7a.c ++++ b/src/target/armv7a.c +@@ -355,6 +355,7 @@ int armv7a_mmu_translate_va_pa(struct target *target, uint32_t va, + break; + case 7: + LOG_INFO("inner: Write-Back, no Write-Allocate"); ++ break; + + default: + LOG_INFO("inner: %" PRIx32 " ???", INNER); +-- +2.13.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0004-Fix-overflow-warning.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0004-Fix-overflow-warning.patch new file mode 100644 index 000000000..bfc5627c1 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0004-Fix-overflow-warning.patch @@ -0,0 +1,30 @@ +From d3ca56370a2be7e737d48bd14d474d790a0ab8ac Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 17 Jun 2017 00:04:00 -0700 +Subject: [PATCH 4/5] Fix overflow warning + +Remove an empty space which makes it fit into 11 byte string + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/target/nds32_cmd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/target/nds32_cmd.c b/src/target/nds32_cmd.c +index edb4872e4..73355073c 100644 +--- a/src/target/nds32_cmd.c ++++ b/src/target/nds32_cmd.c +@@ -821,7 +821,7 @@ static int jim_nds32_bulk_read(Jim_Interp *interp, int argc, Jim_Obj * const *ar + jim_wide i; + Jim_SetResult(interp, Jim_NewEmptyStringObj(interp)); + for (i = 0; i < count; i++) { +- sprintf(data_str, "0x%08" PRIx32 " ", data[i]); ++ sprintf(data_str, "0x%08" PRIx32 "", data[i]); + Jim_AppendStrings(interp, Jim_GetResult(interp), data_str, NULL); + } + +-- +2.13.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0005-command-Move-the-fall-through-comment-to-right-scope.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0005-command-Move-the-fall-through-comment-to-right-scope.patch new file mode 100644 index 000000000..60f75da2c --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0005-command-Move-the-fall-through-comment-to-right-scope.patch @@ -0,0 +1,27 @@ +From 29dbf92ffdbdda29662b4190a2f8eb09caad8b51 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 17 Jun 2017 00:06:32 -0700 +Subject: [PATCH 5/5] command: Move the fall through comment to right scope + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/helper/command.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/helper/command.c b/src/helper/command.c +index 5deaee859..287c14857 100644 +--- a/src/helper/command.c ++++ b/src/helper/command.c +@@ -1456,8 +1456,8 @@ COMMAND_HELPER(handle_command_parse_bool, bool *out, const char *label) + LOG_ERROR("%s: argument '%s' is not valid", CMD_NAME, in); + return ERROR_COMMAND_SYNTAX_ERROR; + } +- /* fall through */ + } ++ /* fall through */ + case 0: + LOG_INFO("%s is %s", label, *out ? "enabled" : "disabled"); + break; +-- +2.13.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb new file mode 100644 index 000000000..20bc663f9 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb @@ -0,0 +1,49 @@ +SUMMARY = "Free and Open On-Chip Debugging, In-System Programming and Boundary-Scan Testing" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "libusb-compat libftdi" +RDEPENDS_${PN} = "libusb1" + +SRC_URI = "git://repo.or.cz/openocd.git \ + file://0001-Add-fallthrough-comments.patch \ + file://0002-Workaround-new-warnings-generated-by-GCC-7.patch \ + file://0003-armv7a-Add-missing-break-to-fix-fallthrough-warning.patch \ + file://0004-Fix-overflow-warning.patch \ + file://0005-command-Move-the-fall-through-comment-to-right-scope.patch \ +" +SRCREV = "1025be363e2bf42f1613083223a2322cc3a9bd4c" + +PV = "0.10+gitr${SRCPV}" +S = "${WORKDIR}/git" + +inherit pkgconfig autotools-brokensep gettext + +BBCLASSEXTEND += "nativesdk" + +EXTRA_OECONF = "--enable-ftdi --disable-doxygen-html " + +do_configure() { + ./bootstrap + oe_runconf ${EXTRA_OECONF} +} + +do_install() { + oe_runmake DESTDIR=${D} install + if [ -e "${D}${infodir}" ]; then + rm -Rf ${D}${infodir} + fi + if [ -e "${D}${mandir}" ]; then + rm -Rf ${D}${mandir} + fi + if [ -e "${D}${bindir}/.debug" ]; then + rm -Rf ${D}${bindir}/.debug + fi +} + +FILES_${PN} = " \ + ${datadir}/openocd/* \ + ${bindir}/openocd \ + " + +PACKAGECONFIG[sysfsgpio] = "--enable-sysfsgpio,--disable-sysfsgpio" +PACKAGECONFIG ??= "sysfsgpio" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb index 14e75dc7a..1be7f6aff 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb @@ -1,6 +1,6 @@ SUMMARY = "Packages required for a target (on-device) SDK" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" PR = "r1" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch deleted file mode 100644 index ecf8e7493..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch +++ /dev/null @@ -1,166 +0,0 @@ -From 869e52a9055c72970fed036a1510f676e6ce0824 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 13 Jun 2013 01:24:19 -0700 -Subject: [PATCH] Don't call deprecated glib functions and use the new gthread - API. - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Inappropriate[version Unmaintained Upstream] ---- - client/pk-console.c | 3 ++- - client/pk-generate-pack.c | 3 ++- - client/pk-monitor.c | 3 ++- - contrib/command-not-found/PackageKit.sh | 2 +- - contrib/command-not-found/pk-command-not-found.c | 4 ++-- - contrib/debuginfo-install/pk-debuginfo-install.c | 4 ++-- - src/pk-backend.c | 7 +++++++ - src/pk-main.c | 4 ++-- - 10 files changed, 20 insertions(+), 10 deletions(-) - -diff --git a/client/pk-console.c b/client/pk-console.c -index de927e1..2435f27 100644 ---- a/client/pk-console.c -+++ b/client/pk-console.c -@@ -1264,11 +1264,12 @@ main (int argc, char *argv[]) - bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); - bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); - textdomain (GETTEXT_PACKAGE); -- -+#if !GLIB_CHECK_VERSION(2,32,0) - if (! g_thread_supported ()) - g_thread_init (NULL); - g_type_init (); - dbus_g_thread_init (); -+#endif - - /* do stuff on ctrl-c */ - signal (SIGINT, pk_console_sigint_cb); -diff --git a/client/pk-generate-pack.c b/client/pk-generate-pack.c -index 0b2b40f..20d7e8d 100644 ---- a/client/pk-generate-pack.c -+++ b/client/pk-generate-pack.c -@@ -251,12 +251,13 @@ main (int argc, char *argv[]) - bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); - bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); - textdomain (GETTEXT_PACKAGE); -- -+#if !GLIB_CHECK_VERSION(2,32,0) - if (! g_thread_supported ()) - g_thread_init (NULL); - - g_type_init (); - dbus_g_thread_init (); -+#endif - - /* do stuff on ctrl-c */ - signal (SIGINT, pk_generate_pack_sigint_cb); -diff --git a/client/pk-monitor.c b/client/pk-monitor.c -index f230f7a..d43007f 100644 ---- a/client/pk-monitor.c -+++ b/client/pk-monitor.c -@@ -285,11 +285,12 @@ main (int argc, char *argv[]) - bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); - bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); - textdomain (GETTEXT_PACKAGE); -- -+#if !GLIB_CHECK_VERSION(2,32,0) - if (! g_thread_supported ()) - g_thread_init (NULL); - g_type_init (); - dbus_g_thread_init (); -+#endif - - context = g_option_context_new (NULL); - /* TRANSLATORS: this is a program that monitors PackageKit */ -diff --git a/contrib/command-not-found/PackageKit.sh b/contrib/command-not-found/PackageKit.sh -index d08989c..d708fff 100644 ---- a/contrib/command-not-found/PackageKit.sh -+++ b/contrib/command-not-found/PackageKit.sh -@@ -18,7 +18,7 @@ command_not_found_handle () { - - # run the command, or just print a warning - if [ $runcnf -eq 1 ]; then -- /home/hughsie/.root/libexec/pk-command-not-found $1 -+ /usr/lib/packagekit/pk-command-not-found $1 - retval=$? - else - echo "bash: $1: command not found" -diff --git a/contrib/command-not-found/pk-command-not-found.c b/contrib/command-not-found/pk-command-not-found.c -index 70679c0..9f81ce4 100644 ---- a/contrib/command-not-found/pk-command-not-found.c -+++ b/contrib/command-not-found/pk-command-not-found.c -@@ -659,12 +659,12 @@ main (int argc, char *argv[]) - bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); - bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); - textdomain (GETTEXT_PACKAGE); -- -+#if !GLIB_CHECK_VERSION(2,32,0) - if (! g_thread_supported ()) - g_thread_init (NULL); - dbus_g_thread_init (); - g_type_init (); -- -+#endif - context = g_option_context_new (NULL); - /* TRANSLATORS: tool that gets called when the command is not found */ - g_option_context_set_summary (context, _("PackageKit Command Not Found")); -diff --git a/contrib/debuginfo-install/pk-debuginfo-install.c b/contrib/debuginfo-install/pk-debuginfo-install.c -index c12aca5..b0e1e7c 100644 ---- a/contrib/debuginfo-install/pk-debuginfo-install.c -+++ b/contrib/debuginfo-install/pk-debuginfo-install.c -@@ -532,11 +532,11 @@ main (int argc, char *argv[]) - bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); - bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); - textdomain (GETTEXT_PACKAGE); -- -+#if !GLIB_CHECK_VERSION(2,32,0) - if (! g_thread_supported ()) - g_thread_init (NULL); - g_type_init (); -- -+#endif - context = g_option_context_new (NULL); - /* TRANSLATORS: tool that gets called when the command is not found */ - g_option_context_set_summary (context, _("PackageKit Debuginfo Installer")); -diff --git a/src/pk-backend.c b/src/pk-backend.c -index 5216b63..5b83ae4 100644 ---- a/src/pk-backend.c -+++ b/src/pk-backend.c -@@ -2103,7 +2103,14 @@ pk_backend_thread_create (PkBackend *backend, PkBackendThreadFunc func) - egg_warning ("already has thread"); - return FALSE; - } -+#if !GLIB_CHECK_VERSION(2,32,0) - backend->priv->thread = g_thread_create ((GThreadFunc) func, backend, FALSE, NULL); -+#else -+ backend->priv->thread = g_thread_try_new ("daemon thread", (GThreadFunc) func, backend, NULL); -+ if (backend->priv->thread != NULL) { -+ g_thread_unref(backend->priv->thread); -+ } -+#endif - if (backend->priv->thread == NULL) { - egg_warning ("failed to create thread"); - return FALSE; -diff --git a/src/pk-main.c b/src/pk-main.c -index 4c758cd..8fa2482 100644 ---- a/src/pk-main.c -+++ b/src/pk-main.c -@@ -219,12 +219,12 @@ main (int argc, char *argv[]) - bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); - bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); - textdomain (GETTEXT_PACKAGE); -- -+#if !GLIB_CHECK_VERSION(2,32,0) - if (! g_thread_supported ()) - g_thread_init (NULL); - dbus_g_thread_init (); - g_type_init (); -- -+#endif - /* TRANSLATORS: describing the service that is running */ - context = g_option_context_new (_("PackageKit service")); - g_option_context_add_main_entries (context, options, NULL); --- -1.7.9.5 - diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch deleted file mode 100644 index 48f959186..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: PackageKit-0.6.0/configure.ac -=================================================================== ---- PackageKit-0.6.0.orig/configure.ac 2010-01-04 16:32:18.000000000 +0000 -+++ PackageKit-0.6.0/configure.ac 2010-01-29 11:33:48.000000000 +0000 -@@ -90,7 +90,7 @@ - enable_strict=$default_strict) - if test x$enable_strict != xno; then - if test "$GCC" = "yes"; then -- WARNINGFLAGS_CPP="$WARNINGFLAGS_CPP -Werror" -+ : - fi - fi - diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch deleted file mode 100644 index 5a73a19d5..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch +++ /dev/null @@ -1,422 +0,0 @@ -Index: PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c -=================================================================== ---- PackageKit-0.6.0.orig/backends/opkg/pk-backend-opkg.c 2010-01-29 09:39:33.000000000 +0000 -+++ PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c 2010-01-29 11:30:51.000000000 +0000 -@@ -29,8 +29,7 @@ - -+#include <stdio.h> - #include <libopkg/opkg.h> - --static opkg_t *opkg; -- - enum { - SEARCH_NAME, - SEARCH_DESCRIPTION, -@@ -62,7 +60,7 @@ - * check an opkg package for known GUI dependancies - */ - static gboolean --opkg_is_gui_pkg (opkg_package_t *pkg) -+opkg_is_gui_pkg (pkg_t *pkg) - { - - /* TODO: check appropriate tag */ -@@ -84,7 +82,7 @@ - * check an opkg package to determine if it is a development package - */ - static gboolean --opkg_is_devel_pkg (opkg_package_t *pkg) -+opkg_is_devel_pkg (pkg_t *pkg) - { - if (g_strrstr (pkg->name, "-dev")) - return TRUE; -@@ -105,7 +103,7 @@ - * returns true if the tag is present - */ - static gboolean --opkg_check_tag (opkg_package_t *pkg, const gchar *tag) -+opkg_check_tag (pkg_t *pkg, const gchar *tag) - { - if (pkg->tags && tag) - return (g_strrstr (pkg->tags, tag) != NULL); -@@ -118,7 +116,7 @@ - { - switch (err) - { -- case OPKG_NO_ERROR: -+/* case OPKG_NO_ERROR: - break; - case OPKG_PACKAGE_NOT_INSTALLED: - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL); -@@ -140,7 +138,7 @@ - break; - case OPKG_PACKAGE_NOT_AVAILABLE: - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, NULL); -- break; -+ break;*/ - default: - opkg_unknown_error (backend, err, "Update package"); - } -@@ -152,7 +150,7 @@ - static void - backend_initialize (PkBackend *backend) - { -- opkg = opkg_new (); -+ int opkg = opkg_new (); - - if (!opkg) { - pk_backend_error_code (backend, -@@ -162,8 +160,8 @@ - } - - #ifdef OPKG_OFFLINE_ROOT -- opkg_set_option (opkg, (char *) "offline_root", OPKG_OFFLINE_ROOT); -- opkg_re_read_config_files (opkg); -+ opkg_set_option ((char *) "offline_root", OPKG_OFFLINE_ROOT); -+ opkg_re_read_config_files (); - #endif - - } -@@ -174,22 +172,22 @@ - static void - backend_destroy (PkBackend *backend) - { -- opkg_free (opkg); -+ opkg_free (); - } - - - static void --pk_opkg_progress_cb (opkg_t *_opkg, const opkg_progress_data_t *pdata, void *data) -+pk_opkg_progress_cb (const opkg_progress_data_t *pdata, void *data) - { -- PkBackend *backend = PK_BACKEND (data); -+ PkBackend *backend = (PkBackend*) data; - if (!backend) - return; - - pk_backend_set_percentage (backend, pdata->percentage); -- if (pdata->package) -+ if (pdata->pkg) - { - gchar *uid; -- opkg_package_t *pkg = pdata->package; -+ pkg_t *pkg = pdata->pkg; - gint status = PK_INFO_ENUM_UNKNOWN; - - uid = g_strdup_printf ("%s;%s;%s;", -@@ -225,12 +223,12 @@ - { - int ret; - -- ret = opkg_update_package_lists (opkg, pk_opkg_progress_cb, backend); -+ ret = opkg_update_package_lists (pk_opkg_progress_cb, backend); - - if (ret) { -- if (ret == OPKG_DOWNLOAD_FAILED) -- pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL); -- else -+// if (ret == OPKG_DOWNLOAD_FAILED) -+// pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL); -+// else - opkg_unknown_error (backend, ret, "Refreshing cache"); - } - pk_backend_finished (backend); -@@ -256,7 +254,7 @@ - */ - - static void --pk_opkg_package_list_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data) -+pk_opkg_package_list_cb (pkg_t *pkg, void *data) - { - SearchParams *params = (SearchParams*) data; - gchar *uid; -@@ -298,7 +296,7 @@ - uid = g_strdup_printf ("%s;%s;%s;", - pkg->name, pkg->version, pkg->architecture); - -- if (pkg->installed) -+ if (pkg->state_status == SS_INSTALLED) - status = PK_INFO_ENUM_INSTALLED; - else - status = PK_INFO_ENUM_AVAILABLE; -@@ -318,10 +316,10 @@ - opkg_is_gui_pkg (pkg)) - goto end_handle; - if (pk_bitfield_contain(filters, PK_FILTER_ENUM_INSTALLED) && -- (!pkg->installed)) -+ (pkg->state_status != SS_INSTALLED)) - goto end_handle; - if (pk_bitfield_contain(filters, PK_FILTER_ENUM_NOT_INSTALLED) && -- (pkg->installed)) -+ (pkg->state_status == SS_INSTALLED)) - goto end_handle; - - pk_backend_package (params->backend, status, uid, pkg->description); -@@ -338,7 +336,7 @@ - - params = pk_backend_get_pointer (backend, "search-params"); - -- opkg_list_packages (opkg, pk_opkg_package_list_cb, params); -+ opkg_list_packages (pk_opkg_package_list_cb, params); - - pk_backend_finished (params->backend); - -@@ -349,7 +347,7 @@ - } - - static void --backend_search_name (PkBackend *backend, PkBitfield filters, const gchar *search) -+backend_search_name (PkBackend *backend, PkBitfield filters, gchar **search) - { - SearchParams *params; - -@@ -360,7 +358,7 @@ - params = g_new0 (SearchParams, 1); - params->filters = filters; - params->search_type = SEARCH_NAME; -- params->needle = g_utf8_strdown (search, -1); -+ params->needle = g_utf8_strdown (search[0], -1); - params->backend = backend; - - pk_backend_set_pointer (backend, "search-params", params); -@@ -371,7 +369,7 @@ - * backend_search_description: - */ - static void --backend_search_description (PkBackend *backend, PkBitfield filters, const gchar *search) -+backend_search_description (PkBackend *backend, PkBitfield filters, gchar **search) - { - SearchParams *params; - -@@ -382,7 +380,7 @@ - params = g_new0 (SearchParams, 1); - params->filters = filters; - params->search_type = SEARCH_DESCRIPTION; -- params->needle = g_utf8_strdown (search, -1); -+ params->needle = g_utf8_strdown (search[0], -1); - params->backend = backend; - - pk_backend_set_pointer (backend, "search-params", params); -@@ -390,7 +388,7 @@ - } - - static void --backend_search_group (PkBackend *backend, PkBitfield filters, const gchar *search) -+backend_search_group (PkBackend *backend, PkBitfield filters, gchar **search) - { - SearchParams *params; - -@@ -401,7 +399,7 @@ - params = g_new0 (SearchParams, 1); - params->filters = filters; - params->search_type = SEARCH_TAG; -- params->needle = g_strdup_printf ("group::%s", search); -+ params->needle = g_strdup_printf ("group::%s", search[0]); - params->backend = backend; - - pk_backend_set_pointer (backend, "search-params", params); -@@ -412,9 +410,9 @@ - static gboolean - backend_install_packages_thread (PkBackend *backend) - { -- PkPackageId *pi; - gint err, i; - gchar **package_ids; -+ gchar **parts; - - package_ids = pk_backend_get_strv (backend, "pkids"); - -@@ -424,13 +422,13 @@ - { - pk_backend_package (backend, PK_INFO_ENUM_INSTALLING, package_ids[i], NULL); - -- pi = pk_package_id_new_from_string (package_ids[i]); -+ parts = pk_package_id_split (package_ids[i]); - -- err = opkg_install_package (opkg, pi->name, pk_opkg_progress_cb, backend); -+ err = opkg_install_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); - if (err) - handle_install_error (backend, err); - -- pk_package_id_free (pi); -+ g_strfreev (parts); - if (err != 0) - break; - } -@@ -453,9 +451,9 @@ - static gboolean - backend_remove_packages_thread (PkBackend *backend) - { -- PkPackageId *pi; - gint err, i; - gchar **package_ids; -+ gchar **parts; - gboolean allow_deps; - gboolean autoremove; - gpointer *data; -@@ -467,29 +465,30 @@ - autoremove = GPOINTER_TO_INT (data[2]); - g_free (data); - -- opkg_set_option (opkg, (char *)"autoremove", &autoremove); -- opkg_set_option (opkg, (char *)"force_removal_of_dependent_packages", &allow_deps); -+ opkg_set_option ((char *)"autoremove", &autoremove); -+ opkg_set_option ((char *)"force_removal_of_dependent_packages", &allow_deps); - - err = 0; - - for (i = 0; package_ids[i]; i++) - { -- pi = pk_package_id_new_from_string (package_ids[i]); - pk_backend_package (backend, PK_INFO_ENUM_REMOVING, package_ids[i], NULL); - -- err = opkg_remove_package (opkg, pi->name, pk_opkg_progress_cb, backend); -+ parts = pk_package_id_split (package_ids[i]); -+ -+ err = opkg_remove_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); - - switch (err) - { -- case OPKG_NO_ERROR: -- break; -- case OPKG_PACKAGE_NOT_INSTALLED: -- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL); -- break; -+ //case OPKG_NO_ERROR: -+ // break; -+ //case OPKG_PACKAGE_NOT_INSTALLED: -+ // pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL); -+ // break; - default: - opkg_unknown_error (backend, err, "Remove"); - } -- pk_package_id_free (pi); -+ g_strfreev (parts); - - if (err != 0) - break; -@@ -540,7 +539,7 @@ - gint err; - - /* FIXME: support only_trusted */ -- err = opkg_upgrade_all (opkg, pk_opkg_progress_cb, backend); -+ err = opkg_upgrade_all (pk_opkg_progress_cb, backend); - - if (err) - opkg_unknown_error (backend, err, "Upgrading system"); -@@ -564,29 +563,28 @@ - static gboolean - backend_update_package_thread (PkBackend *backend) - { -- PkPackageId *pi; -+ gchar **parts; - gint err = 0; - const gchar *package_id; - - /* FIXME: support only_trusted */ - package_id = pk_backend_get_string (backend, "pkgid"); -- pi = pk_package_id_new_from_string (package_id); -+ parts = pk_package_id_split (package_id); - -- if (!pi->name || !pi->version) -+ if (!parts) - { - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, - "Package not found"); -- pk_package_id_free (pi); - pk_backend_finished (backend); - return FALSE; - } - -- err = opkg_upgrade_package (opkg, pi->name, pk_opkg_progress_cb, backend); -+ err = opkg_upgrade_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); - if (err) - handle_install_error (backend, err); - - -- pk_package_id_free (pi); -+ g_strfreev (parts); - pk_backend_finished (backend); - return (err != 0); - } -@@ -610,13 +608,13 @@ - */ - - static void --pk_opkg_list_upgradable_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data) -+pk_opkg_list_upgradable_cb (pkg_t *pkg, void *data) - { -- PkBackend *backend = PK_BACKEND (data); -+ PkBackend *backend = (PkBackend*) data; - gchar *uid; - gint status; - -- if (pkg->installed) -+ if (pkg->state_status == SS_INSTALLED) - status = PK_INFO_ENUM_INSTALLED; - else - status = PK_INFO_ENUM_AVAILABLE; -@@ -631,7 +629,7 @@ - static gboolean - backend_get_updates_thread (PkBackend *backend) - { -- opkg_list_upgradable_packages (opkg, pk_opkg_list_upgradable_cb, backend); -+ opkg_list_upgradable_packages (pk_opkg_list_upgradable_cb, backend); - pk_backend_finished (backend); - return TRUE; - } -@@ -668,16 +666,18 @@ - static gboolean - backend_get_details_thread (PkBackend *backend) - { -- PkPackageId *pi; - gchar **package_ids; -+ gchar **parts; - int group_index; - PkGroupEnum group = 0; -- opkg_package_t *pkg; -+ pkg_t *pkg; - gchar *newid; - - package_ids = pk_backend_get_strv(backend, "package_ids"); -- pi = pk_package_id_new_from_string (package_ids[0]); -- if (pi == NULL) -+ parts = pk_package_id_split (package_ids[0]); -+ -+ -+ if (!parts) - { - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_ID_INVALID, "invalid package id"); - pk_backend_finished (backend); -@@ -685,8 +685,8 @@ - } - - -- pkg = opkg_find_package (opkg, pi->name, pi->version, pi->arch, pi->data); -- pk_package_id_free (pi); -+ pkg = opkg_find_package (parts[PK_PACKAGE_ID_NAME], parts[PK_PACKAGE_ID_VERSION], parts[PK_PACKAGE_ID_ARCH], parts[PK_PACKAGE_ID_DATA]); -+ g_strfreev (parts); - - if (!pkg) - { -@@ -695,7 +695,7 @@ - return FALSE; - } - -- newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->repository); -+ newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->src->name); - - if (pkg->tags) { - for (group_index = 0; group < PK_GROUP_ENUM_LAST; group_index++) { -@@ -706,9 +706,8 @@ - } - } - -- pk_backend_details (backend, newid, NULL, group, pkg->description, pkg->url, pkg->size); -+ pk_backend_details (backend, newid, NULL, group, pkg->description, NULL, pkg->size); - g_free (newid); -- opkg_package_free(pkg); - pk_backend_finished (backend); - return TRUE; - } diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb deleted file mode 100644 index 1b60c470d..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb +++ /dev/null @@ -1,65 +0,0 @@ -SUMMARY = "PackageKit package management abstraction" -SECTION = "libs" -LICENSE = "GPL-2.0+" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = "gtk+ python polkit dbus dbus-glib glib-2.0 sqlite3 opkg intltool intltool-native" -RDEPENDS_${PN} = "opkg bash" - -inherit gnome pythonnative - -SRC_URI = "http://www.freedesktop.org/software/PackageKit/releases/PackageKit-${PV}.tar.bz2;name=archive \ - file://configurefix.patch \ - file://opkgfixes.patch \ - file://0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch \ - " - -SRC_URI[archive.md5sum] = "33a3127e9ed41e26671786aee9fe56ff" -SRC_URI[archive.sha256sum] = "8dae41493dfb011442746d252b3435bf3204e17bf7c47e396f90fbd215260e14" - -S = "${WORKDIR}/PackageKit-${PV}" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[service-packs] = "--enable-service-packs,--disable-service-packs,libarchive" - -EXTRA_OECONF = "--with-security-framework=dummy \ - --with-default-backend=opkg \ - --enable-opkg \ - --disable-tests \ - --disable-ruck \ - --disable-qt \ - --disable-gstreamer-plugin \ - --disable-local \ - --disable-networkmanager \ - --disable-device-rebind \ - ac_cv_path_XMLTO=no \ -" - -#do_configure_prepend() { -# mkdir -p m4 -# echo "EXTRA_DIST=" > gtk-doc.make -#} - -do_configure_append() { - for i in $(find . -name Makefile) ; do - sed -i -e s:${STAGING_DIR_NATIVE}::g \ - -e s:/usr/bin/intltool-merge:${STAGING_BINDIR_NATIVE}/intltool-merge:g \ - $i - done -} - -PACKAGES =+ "${PN}-website" -FILES_${PN}-website = "${datadir}/PackageKit/website" - -PACKAGES =+ "${PN}-python" -FILES_${PN}-python = "${libdir}/python*" - -PACKAGES =+ "${PN}-gtkmodule" -FILES_${PN}-gtkmodule = "${libdir}/gtk-2.0/*/*.so" - -FILES_${PN} += "${libdir}/packagekit-backend/*.so ${libdir}/pm-utils ${datadir}/dbus-1/system-services/ ${datadir}/PolicyKit ${datadir}/PackageKit" -FILES_${PN}-dbg += "${libdir}/packagekit-backend/.debug/*.so ${libdir}/gtk-2.0/*/.debug" -FILES_${PN}-dev += "${libdir}/packagekit-backend/*.la ${libdir}/gtk-2.0/*/*.la" -FILES_${PN}-staticdev += "${libdir}/packagekit-backend/*.a ${libdir}/gtk-2.0/*/*.a" - -# PackageKit-0.5.6/backends/opkg/pk-backend-opkg.c:31:26: fatal error: libopkg/opkg.h: No such file or directory -PNBLACKLIST[packagekit] ?= "BROKEN: depends on old deprecated libopkg which is currently disabled and will be removed soon - the recipe will be removed on 2017-09-01 unless the issue is fixed" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb index 66054a257..3b58939b1 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb @@ -3,6 +3,7 @@ IPC::Run allows you run and interact with child processes \ using files, pipes, and pseudo-ttys. Both system()-style and scripted \ usages are supported and may be mixed. Likewise, functional and OO API \ styles are both supported and may be mixed." +HOMEPAGE = "https://metacpan.org/release/IPC-Run" SECTION = "libs" LICENSE = "Artistic-1.0 | GPL-1.0+" LIC_FILES_CHKSUM = "file://LICENSE;md5=0ebd37caf53781e8b7223e6b99b63f4e" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.26/0001-Add-lpthread-to-link.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.31/0001-Add-lpthread-to-link.patch index f70e550ff..f70e550ff 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.26/0001-Add-lpthread-to-link.patch +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.31/0001-Add-lpthread-to-link.patch diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.26/change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.31/change-AC_TRY_RUN-to-AC_TRY_LINK.patch index 39c334f39..39c334f39 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.26/change-AC_TRY_RUN-to-AC_TRY_LINK.patch +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.31/change-AC_TRY_RUN-to-AC_TRY_LINK.patch diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.7/0001-Specify-tag-with-libtool.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/0001-Specify-tag-with-libtool.patch index 18b4937db..18b4937db 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.7/0001-Specify-tag-with-libtool.patch +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/0001-Specify-tag-with-libtool.patch diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch new file mode 100644 index 000000000..41d2a0f61 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch @@ -0,0 +1,5241 @@ +From f2f90767311355cafabff604a7a857ca60ee3f01 Mon Sep 17 00:00:00 2001 +From: Li Zhou <li.zhou@windriver.com> +Date: Wed, 22 Nov 2017 21:14:59 -0800 +Subject: [PATCH] Fixed bug #75055 Out-Of-Bounds Read in timelib_meridian() + +Upstream-Status: Backport +CVE: CVE-2017-16642 +Signed-off-by: Li Zhou <li.zhou@windriver.com> +--- + ext/date/lib/parse_date.c | 1544 +++++++++++++++++++++---------------- + ext/date/lib/parse_date.re | 4 +- + ext/date/tests/bug53437_var3.phpt | 2 +- + ext/wddx/tests/bug75055.phpt | 20 + + ext/wddx/tests/bug75055.wddx | 13 + + 5 files changed, 911 insertions(+), 672 deletions(-) + create mode 100644 ext/wddx/tests/bug75055.phpt + create mode 100644 ext/wddx/tests/bug75055.wddx + +diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c +index f929619..6b11418 100644 +--- a/ext/date/lib/parse_date.c ++++ b/ext/date/lib/parse_date.c +@@ -1,4 +1,5 @@ +-/* Generated by re2c 0.15.3 on Tue Jul 4 21:15:17 2017 */ ++/* Generated by re2c 0.15.3 on Wed Nov 22 21:14:47 2017 */ ++#line 1 "ext/date/lib/parse_date.re" + /* + * The MIT License (MIT) + * +@@ -837,9 +838,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) + std: + s->tok = cursor; + s->len = 0; ++#line 965 "ext/date/lib/parse_date.re" + + + ++#line 846 "ext/date/lib/parse_date.c" + { + YYCTYPE yych; + unsigned int yyaccept = 0; +@@ -962,18 +965,19 @@ yy2: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; +- goto yy1521; ++ goto yy1523; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy165; + if (yych >= 'a') goto yy170; + } else { +- if (yych <= 'e') goto yy1530; ++ if (yych <= 'e') goto yy1532; + if (yych <= 'z') goto yy170; + } + } + yy3: ++#line 1673 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("tzcorrection | tz"); +@@ -986,6 +990,7 @@ yy3: + TIMELIB_DEINIT; + return TIMELIB_TIMEZONE; + } ++#line 994 "ext/date/lib/parse_date.c" + yy4: + yych = *++YYCURSOR; + if (yych <= 'E') { +@@ -995,7 +1000,7 @@ yy4: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; +- goto yy1521; ++ goto yy1523; + } + } else { + if (yych <= 'd') { +@@ -1003,7 +1008,7 @@ yy4: + if (yych <= '`') goto yy3; + goto yy165; + } else { +- if (yych <= 'e') goto yy1521; ++ if (yych <= 'e') goto yy1523; + if (yych <= 'z') goto yy165; + goto yy3; + } +@@ -1017,12 +1022,12 @@ yy5: + goto yy165; + } else { + if (yych <= 'H') { +- if (yych <= 'E') goto yy1492; ++ if (yych <= 'E') goto yy1494; + goto yy165; + } else { +- if (yych <= 'I') goto yy1493; ++ if (yych <= 'I') goto yy1495; + if (yych <= 'N') goto yy165; +- goto yy1491; ++ goto yy1493; + } + } + } else { +@@ -1031,15 +1036,15 @@ yy5: + if (yych <= 'Z') goto yy165; + goto yy3; + } else { +- if (yych == 'e') goto yy1508; ++ if (yych == 'e') goto yy1510; + goto yy170; + } + } else { + if (yych <= 'n') { +- if (yych <= 'i') goto yy1509; ++ if (yych <= 'i') goto yy1511; + goto yy170; + } else { +- if (yych <= 'o') goto yy1507; ++ if (yych <= 'o') goto yy1509; + if (yych <= 'z') goto yy170; + goto yy3; + } +@@ -1054,12 +1059,12 @@ yy6: + goto yy165; + } else { + if (yych <= 'H') { +- if (yych <= 'E') goto yy1492; ++ if (yych <= 'E') goto yy1494; + goto yy165; + } else { +- if (yych <= 'I') goto yy1493; ++ if (yych <= 'I') goto yy1495; + if (yych <= 'N') goto yy165; +- goto yy1491; ++ goto yy1493; + } + } + } else { +@@ -1068,15 +1073,15 @@ yy6: + if (yych <= 'Z') goto yy165; + goto yy3; + } else { +- if (yych == 'e') goto yy1492; ++ if (yych == 'e') goto yy1494; + goto yy165; + } + } else { + if (yych <= 'n') { +- if (yych <= 'i') goto yy1493; ++ if (yych <= 'i') goto yy1495; + goto yy165; + } else { +- if (yych <= 'o') goto yy1491; ++ if (yych <= 'o') goto yy1493; + if (yych <= 'z') goto yy165; + goto yy3; + } +@@ -1088,24 +1093,24 @@ yy7: + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; +- goto yy1461; ++ goto yy1463; + } else { +- if (yych == 'I') goto yy1462; ++ if (yych == 'I') goto yy1464; + if (yych <= 'N') goto yy165; +- goto yy1463; ++ goto yy1465; + } + } else { + if (yych <= 'h') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1476; ++ if (yych <= 'a') goto yy1478; + goto yy170; + } else { + if (yych <= 'n') { +- if (yych <= 'i') goto yy1477; ++ if (yych <= 'i') goto yy1479; + goto yy170; + } else { +- if (yych <= 'o') goto yy1478; ++ if (yych <= 'o') goto yy1480; + if (yych <= 'z') goto yy170; + goto yy3; + } +@@ -1117,24 +1122,24 @@ yy8: + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; +- goto yy1461; ++ goto yy1463; + } else { +- if (yych == 'I') goto yy1462; ++ if (yych == 'I') goto yy1464; + if (yych <= 'N') goto yy165; +- goto yy1463; ++ goto yy1465; + } + } else { + if (yych <= 'h') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1461; ++ if (yych <= 'a') goto yy1463; + goto yy165; + } else { + if (yych <= 'n') { +- if (yych <= 'i') goto yy1462; ++ if (yych <= 'i') goto yy1464; + goto yy165; + } else { +- if (yych <= 'o') goto yy1463; ++ if (yych <= 'o') goto yy1465; + if (yych <= 'z') goto yy165; + goto yy3; + } +@@ -1146,15 +1151,15 @@ yy9: + switch (yych) { + case ')': goto yy164; + case '0': +- case '1': goto yy1391; +- case '2': goto yy1392; ++ case '1': goto yy1393; ++ case '2': goto yy1394; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': +- case '9': goto yy1393; ++ case '9': goto yy1395; + case 'A': + case 'B': + case 'C': +@@ -1176,11 +1181,11 @@ yy9: + case 'X': + case 'Y': + case 'Z': goto yy165; +- case 'E': goto yy1386; +- case 'H': goto yy1387; +- case 'O': goto yy1388; +- case 'U': goto yy1389; +- case 'W': goto yy1390; ++ case 'E': goto yy1388; ++ case 'H': goto yy1389; ++ case 'O': goto yy1390; ++ case 'U': goto yy1391; ++ case 'W': goto yy1392; + case 'a': + case 'b': + case 'c': +@@ -1202,11 +1207,11 @@ yy9: + case 'x': + case 'y': + case 'z': goto yy170; +- case 'e': goto yy1429; +- case 'h': goto yy1430; +- case 'o': goto yy1431; +- case 'u': goto yy1432; +- case 'w': goto yy1433; ++ case 'e': goto yy1431; ++ case 'h': goto yy1432; ++ case 'o': goto yy1433; ++ case 'u': goto yy1434; ++ case 'w': goto yy1435; + default: goto yy3; + } + yy10: +@@ -1215,15 +1220,15 @@ yy10: + switch (yych) { + case ')': goto yy164; + case '0': +- case '1': goto yy1391; +- case '2': goto yy1392; ++ case '1': goto yy1393; ++ case '2': goto yy1394; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': +- case '9': goto yy1393; ++ case '9': goto yy1395; + case 'A': + case 'B': + case 'C': +@@ -1267,28 +1272,30 @@ yy10: + case 'y': + case 'z': goto yy165; + case 'E': +- case 'e': goto yy1386; ++ case 'e': goto yy1388; + case 'H': +- case 'h': goto yy1387; ++ case 'h': goto yy1389; + case 'O': +- case 'o': goto yy1388; ++ case 'o': goto yy1390; + case 'U': +- case 'u': goto yy1389; ++ case 'u': goto yy1391; + case 'W': +- case 'w': goto yy1390; ++ case 'w': goto yy1392; + default: goto yy3; + } + yy11: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); +- if (yych == '-') goto yy1374; ++ if (yych == '-') goto yy1376; + if (yych <= '/') goto yy12; +- if (yych <= '9') goto yy1375; ++ if (yych <= '9') goto yy1377; + yy12: ++#line 1768 "ext/date/lib/parse_date.re" + { + add_error(s, "Unexpected character"); + goto std; + } ++#line 1299 "ext/date/lib/parse_date.c" + yy13: + yych = *++YYCURSOR; + if (yych <= 'R') { +@@ -1299,16 +1306,16 @@ yy13: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; +- goto yy1310; ++ goto yy1311; + } + } else { + if (yych <= 'N') { +- if (yych == 'I') goto yy1311; ++ if (yych == 'I') goto yy1312; + goto yy165; + } else { +- if (yych <= 'O') goto yy1312; ++ if (yych <= 'O') goto yy1313; + if (yych <= 'Q') goto yy165; +- goto yy1313; ++ goto yy1314; + } + } + } else { +@@ -1318,16 +1325,16 @@ yy13: + if (yych <= '`') goto yy3; + goto yy170; + } else { +- if (yych <= 'e') goto yy1351; ++ if (yych <= 'e') goto yy1353; + if (yych <= 'h') goto yy170; +- goto yy1352; ++ goto yy1354; + } + } else { + if (yych <= 'q') { +- if (yych == 'o') goto yy1353; ++ if (yych == 'o') goto yy1355; + goto yy170; + } else { +- if (yych <= 'r') goto yy1354; ++ if (yych <= 'r') goto yy1356; + if (yych <= 'z') goto yy170; + goto yy3; + } +@@ -1343,16 +1350,16 @@ yy14: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; +- goto yy1310; ++ goto yy1311; + } + } else { + if (yych <= 'N') { +- if (yych == 'I') goto yy1311; ++ if (yych == 'I') goto yy1312; + goto yy165; + } else { +- if (yych <= 'O') goto yy1312; ++ if (yych <= 'O') goto yy1313; + if (yych <= 'Q') goto yy165; +- goto yy1313; ++ goto yy1314; + } + } + } else { +@@ -1362,16 +1369,16 @@ yy14: + if (yych <= '`') goto yy3; + goto yy165; + } else { +- if (yych <= 'e') goto yy1310; ++ if (yych <= 'e') goto yy1311; + if (yych <= 'h') goto yy165; +- goto yy1311; ++ goto yy1312; + } + } else { + if (yych <= 'q') { +- if (yych == 'o') goto yy1312; ++ if (yych == 'o') goto yy1313; + goto yy165; + } else { +- if (yych <= 'r') goto yy1313; ++ if (yych <= 'r') goto yy1314; + if (yych <= 'z') goto yy165; + goto yy3; + } +@@ -1382,13 +1389,13 @@ yy15: + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; +- goto yy1296; ++ goto yy1297; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy165; + goto yy3; + } else { +- if (yych <= 'a') goto yy1307; ++ if (yych <= 'a') goto yy1308; + if (yych <= 'z') goto yy170; + goto yy3; + } +@@ -1398,13 +1405,13 @@ yy16: + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; +- goto yy1296; ++ goto yy1297; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy165; + goto yy3; + } else { +- if (yych <= 'a') goto yy1296; ++ if (yych <= 'a') goto yy1297; + if (yych <= 'z') goto yy165; + goto yy3; + } +@@ -1420,7 +1427,7 @@ yy17: + if (yych <= 'Z') goto yy165; + goto yy3; + } else { +- if (yych <= 'a') goto yy1293; ++ if (yych <= 'a') goto yy1294; + if (yych <= 'z') goto yy170; + goto yy3; + } +@@ -2495,18 +2502,22 @@ yy48: + if (yych <= '/') goto yy49; + if (yych <= '9') goto yy54; + yy49: ++#line 1757 "ext/date/lib/parse_date.re" + { + goto std; + } ++#line 2510 "ext/date/lib/parse_date.c" + yy50: + yych = *++YYCURSOR; + goto yy49; + yy51: + ++YYCURSOR; ++#line 1762 "ext/date/lib/parse_date.re" + { + s->pos = cursor; s->line++; + goto std; + } ++#line 2521 "ext/date/lib/parse_date.c" + yy53: + yych = *++YYCURSOR; + goto yy12; +@@ -2693,23 +2704,23 @@ yy56: + } + } else { + if (yyaccept == 28) { +- goto yy1377; ++ goto yy1379; + } else { +- goto yy1415; ++ goto yy1417; + } + } + } else { + if (yyaccept <= 31) { + if (yyaccept == 30) { +- goto yy1418; ++ goto yy1420; + } else { +- goto yy1498; ++ goto yy1500; + } + } else { + if (yyaccept == 32) { +- goto yy1506; ++ goto yy1508; + } else { +- goto yy1529; ++ goto yy1531; + } + } + } +@@ -2920,6 +2931,7 @@ yy73: + if (yych == 'S') goto yy75; + if (yych == 's') goto yy75; + yy74: ++#line 1741 "ext/date/lib/parse_date.re" + { + timelib_ull i; + DEBUG_OUTPUT("relative"); +@@ -2934,6 +2946,7 @@ yy74: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } ++#line 2950 "ext/date/lib/parse_date.c" + yy75: + yych = *++YYCURSOR; + if (yych == 'D') goto yy76; +@@ -3719,6 +3732,7 @@ yy190: + } + } + yy191: ++#line 1604 "ext/date/lib/parse_date.re" + { + const timelib_relunit* relunit; + DEBUG_OUTPUT("daytext"); +@@ -3735,6 +3749,7 @@ yy191: + TIMELIB_DEINIT; + return TIMELIB_WEEKDAY; + } ++#line 3753 "ext/date/lib/parse_date.c" + yy192: + yych = *++YYCURSOR; + if (yych <= 'K') { +@@ -4227,6 +4242,7 @@ yy217: + } + } + yy218: ++#line 1663 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("monthtext"); + TIMELIB_INIT; +@@ -4235,6 +4251,7 @@ yy218: + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; + } ++#line 4255 "ext/date/lib/parse_date.c" + yy219: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 23) YYFILL(23); +@@ -4469,6 +4486,7 @@ yy231: + if (yych == 't') goto yy319; + goto yy237; + yy232: ++#line 1409 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("datetextual | datenoyear"); +@@ -4481,6 +4499,7 @@ yy232: + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; + } ++#line 4503 "ext/date/lib/parse_date.c" + yy233: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); +@@ -4593,6 +4612,7 @@ yy245: + if (yych <= ':') goto yy248; + } + yy246: ++#line 1711 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); +@@ -4621,6 +4641,7 @@ yy246: + TIMELIB_DEINIT; + return TIMELIB_SHORTDATE_WITH_TIME; + } ++#line 4645 "ext/date/lib/parse_date.c" + yy247: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); +@@ -4893,6 +4914,7 @@ yy269: + } + yy270: + ++YYCURSOR; ++#line 1687 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); + TIMELIB_INIT; +@@ -4915,6 +4937,7 @@ yy270: + TIMELIB_DEINIT; + return TIMELIB_SHORTDATE_WITH_TIME; + } ++#line 4941 "ext/date/lib/parse_date.c" + yy272: + yych = *++YYCURSOR; + if (yych <= 0x1F) { +@@ -5470,6 +5493,7 @@ yy320: + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + ++YYCURSOR; ++#line 1381 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("datenoday"); +@@ -5482,6 +5506,7 @@ yy320: + TIMELIB_DEINIT; + return TIMELIB_DATE_NO_DAY; + } ++#line 5510 "ext/date/lib/parse_date.c" + yy323: + yych = *++YYCURSOR; + if (yych <= '9') { +@@ -5704,6 +5729,7 @@ yy327: + if ((yych = *YYCURSOR) <= '/') goto yy330; + if (yych <= '9') goto yy331; + yy330: ++#line 1525 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("pgtextshort"); +@@ -5716,6 +5742,7 @@ yy330: + TIMELIB_DEINIT; + return TIMELIB_PG_TEXT; + } ++#line 5746 "ext/date/lib/parse_date.c" + yy331: + yych = *++YYCURSOR; + if (yych <= '/') goto yy330; +@@ -6270,6 +6297,7 @@ yy356: + if (yych <= 'z') goto yy167; + } + yy357: ++#line 1583 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("ago"); + TIMELIB_INIT; +@@ -6289,6 +6317,7 @@ yy357: + TIMELIB_DEINIT; + return TIMELIB_AGO; + } ++#line 6321 "ext/date/lib/parse_date.c" + yy358: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); +@@ -8009,6 +8038,7 @@ yy417: + yy418: + ++YYCURSOR; + yy419: ++#line 1286 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); + TIMELIB_INIT; +@@ -8019,6 +8049,7 @@ yy419: + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; + } ++#line 8053 "ext/date/lib/parse_date.c" + yy420: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); +@@ -8641,6 +8672,7 @@ yy439: + } + } + yy440: ++#line 1423 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("datenoyearrev"); + TIMELIB_INIT; +@@ -8651,6 +8683,7 @@ yy440: + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; + } ++#line 8687 "ext/date/lib/parse_date.c" + yy441: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); +@@ -8778,6 +8811,7 @@ yy450: + } + yy452: + ++YYCURSOR; ++#line 1141 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); + TIMELIB_INIT; +@@ -8793,6 +8827,7 @@ yy452: + TIMELIB_DEINIT; + return TIMELIB_TIME12; + } ++#line 8831 "ext/date/lib/parse_date.c" + yy454: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); +@@ -8803,6 +8838,7 @@ yy454: + if (yych <= ':') goto yy457; + } + yy455: ++#line 1178 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); +@@ -8827,6 +8863,7 @@ yy455: + TIMELIB_DEINIT; + return TIMELIB_TIME24_WITH_ZONE; + } ++#line 8867 "ext/date/lib/parse_date.c" + yy456: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); +@@ -9103,6 +9140,7 @@ yy485: + } + yy487: + ++YYCURSOR; ++#line 1158 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("mssqltime"); + TIMELIB_INIT; +@@ -9121,6 +9159,7 @@ yy487: + TIMELIB_DEINIT; + return TIMELIB_TIME24_WITH_ZONE; + } ++#line 9163 "ext/date/lib/parse_date.c" + yy489: + yyaccept = 10; + YYMARKER = ++YYCURSOR; +@@ -9215,6 +9254,7 @@ yy498: + if ((yych = *YYCURSOR) <= '/') goto yy499; + if (yych <= '9') goto yy505; + yy499: ++#line 1340 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("datefull"); +@@ -9228,6 +9268,7 @@ yy499: + TIMELIB_DEINIT; + return TIMELIB_DATE_FULL; + } ++#line 9272 "ext/date/lib/parse_date.c" + yy500: + yych = *++YYCURSOR; + if (yych == 'M') goto yy501; +@@ -9891,6 +9932,7 @@ yy569: + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + ++YYCURSOR; ++#line 1355 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("pointed date YYYY"); + TIMELIB_INIT; +@@ -9901,6 +9943,7 @@ yy569: + TIMELIB_DEINIT; + return TIMELIB_DATE_FULL_POINTED; + } ++#line 9947 "ext/date/lib/parse_date.c" + yy572: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); +@@ -9931,6 +9974,7 @@ yy575: + if (yych <= '/') goto yy576; + if (yych <= '9') goto yy569; + yy576: ++#line 1367 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("pointed date YY"); +@@ -9943,6 +9987,7 @@ yy576: + TIMELIB_DEINIT; + return TIMELIB_DATE_FULL_POINTED; + } ++#line 9991 "ext/date/lib/parse_date.c" + yy577: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); +@@ -10538,6 +10583,7 @@ yy620: + } + } + yy621: ++#line 1326 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("gnudateshort"); +@@ -10550,6 +10596,7 @@ yy621: + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; + } ++#line 10600 "ext/date/lib/parse_date.c" + yy622: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); +@@ -10645,6 +10692,7 @@ yy630: + } + } + yy631: ++#line 1270 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("americanshort | american"); +@@ -10659,6 +10707,7 @@ yy631: + TIMELIB_DEINIT; + return TIMELIB_AMERICAN; + } ++#line 10711 "ext/date/lib/parse_date.c" + yy632: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); +@@ -10857,6 +10906,7 @@ yy664: + if (yych <= '9') goto yy667; + if (yych <= ':') goto yy668; + yy665: ++#line 1553 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("clf"); +@@ -10876,6 +10926,7 @@ yy665: + TIMELIB_DEINIT; + return TIMELIB_CLF; + } ++#line 10930 "ext/date/lib/parse_date.c" + yy666: + yych = *++YYCURSOR; + if (yych <= '5') { +@@ -11362,6 +11413,7 @@ yy727: + if (yych <= 't') goto yy627; + } + yy728: ++#line 1298 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("iso8601date2"); +@@ -11374,6 +11426,7 @@ yy728: + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; + } ++#line 11430 "ext/date/lib/parse_date.c" + yy729: + yych = *++YYCURSOR; + if (yych == 'C') goto yy730; +@@ -11404,6 +11457,7 @@ yy734: + if (yych >= '2') goto yy56; + yy735: + ++YYCURSOR; ++#line 1539 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("pgtextreverse"); +@@ -11416,6 +11470,7 @@ yy735: + TIMELIB_DEINIT; + return TIMELIB_PG_TEXT; + } ++#line 11474 "ext/date/lib/parse_date.c" + yy737: + yych = *++YYCURSOR; + if (yych == 'V') goto yy730; +@@ -11568,6 +11623,7 @@ yy747: + } + } + yy748: ++#line 1574 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("year4"); + TIMELIB_INIT; +@@ -11575,6 +11631,7 @@ yy748: + TIMELIB_DEINIT; + return TIMELIB_CLF; + } ++#line 11635 "ext/date/lib/parse_date.c" + yy749: + yych = *++YYCURSOR; + switch (yych) { +@@ -11769,6 +11826,7 @@ yy757: + if (yych <= 'X') goto yy848; + } + yy758: ++#line 1395 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("datenodayrev"); +@@ -11781,6 +11839,7 @@ yy758: + TIMELIB_DEINIT; + return TIMELIB_DATE_NO_DAY; + } ++#line 11843 "ext/date/lib/parse_date.c" + yy759: + yych = *++YYCURSOR; + if (yych == 'I') goto yy892; +@@ -11980,6 +12039,7 @@ yy778: + if (yych <= '/') goto yy779; + if (yych <= '7') goto yy781; + yy779: ++#line 1506 "ext/date/lib/parse_date.re" + { + timelib_sll w, d; + DEBUG_OUTPUT("isoweek"); +@@ -11997,12 +12057,14 @@ yy779: + TIMELIB_DEINIT; + return TIMELIB_ISO_WEEK; + } ++#line 12061 "ext/date/lib/parse_date.c" + yy780: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '8') goto yy56; + yy781: + ++YYCURSOR; ++#line 1487 "ext/date/lib/parse_date.re" + { + timelib_sll w, d; + DEBUG_OUTPUT("isoweekday"); +@@ -12020,6 +12082,7 @@ yy781: + TIMELIB_DEINIT; + return TIMELIB_ISO_WEEK; + } ++#line 12086 "ext/date/lib/parse_date.c" + yy783: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; +@@ -12085,6 +12148,7 @@ yy785: + } + } + yy786: ++#line 1473 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("pgydotd"); +@@ -12097,6 +12161,7 @@ yy786: + TIMELIB_DEINIT; + return TIMELIB_PG_YEARDAY; + } ++#line 12165 "ext/date/lib/parse_date.c" + yy787: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; +@@ -12178,6 +12243,7 @@ yy805: + yy806: + ++YYCURSOR; + yy807: ++#line 1447 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); +@@ -12202,6 +12268,7 @@ yy807: + TIMELIB_DEINIT; + return TIMELIB_XMLRPC_SOAP; + } ++#line 12272 "ext/date/lib/parse_date.c" + yy808: + yych = *++YYCURSOR; + if (yych <= '2') { +@@ -12490,6 +12557,7 @@ yy812: + } + } + yy813: ++#line 1435 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("datenocolon"); + TIMELIB_INIT; +@@ -12500,6 +12568,7 @@ yy813: + TIMELIB_DEINIT; + return TIMELIB_DATE_NOCOLON; + } ++#line 12572 "ext/date/lib/parse_date.c" + yy814: + yych = *++YYCURSOR; + if (yych <= 'H') { +@@ -13293,6 +13362,7 @@ yy937: + if (yych <= '/') goto yy938; + if (yych <= '9') goto yy960; + yy938: ++#line 1312 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("gnudateshorter"); +@@ -13305,6 +13375,7 @@ yy938: + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; + } ++#line 13379 "ext/date/lib/parse_date.c" + yy939: + yyaccept = 21; + yych = *(YYMARKER = ++YYCURSOR); +@@ -14303,6 +14374,7 @@ yy1030: + } + } + yy1032: ++#line 1204 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("gnunocolon"); + TIMELIB_INIT; +@@ -14324,6 +14396,7 @@ yy1032: + TIMELIB_DEINIT; + return TIMELIB_GNU_NOCOLON; + } ++#line 14400 "ext/date/lib/parse_date.c" + yy1033: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; +@@ -14413,6 +14486,7 @@ yy1039: + } + } + yy1040: ++#line 1250 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("iso8601nocolon"); +@@ -14431,6 +14505,7 @@ yy1040: + TIMELIB_DEINIT; + return TIMELIB_ISO_NOCOLON; + } ++#line 14509 "ext/date/lib/parse_date.c" + yy1041: + yyaccept = 24; + yych = *(YYMARKER = ++YYCURSOR); +@@ -15362,6 +15437,7 @@ yy1083: + } + } + yy1084: ++#line 1646 "ext/date/lib/parse_date.re" + { + timelib_sll i; + int behavior = 0; +@@ -15377,6 +15453,7 @@ yy1084: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } ++#line 15457 "ext/date/lib/parse_date.c" + yy1085: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); +@@ -15418,6 +15495,7 @@ yy1091: + if (yych != 'f') goto yy56; + yy1092: + ++YYCURSOR; ++#line 1119 "ext/date/lib/parse_date.re" + { + timelib_sll i; + int behavior = 0; +@@ -15438,6 +15516,7 @@ yy1092: + TIMELIB_DEINIT; + return TIMELIB_WEEK_DAY_OF_MONTH; + } ++#line 15520 "ext/date/lib/parse_date.c" + yy1094: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); +@@ -15530,6 +15609,7 @@ yy1107: + } + } + yy1108: ++#line 1622 "ext/date/lib/parse_date.re" + { + timelib_sll i; + int behavior = 0; +@@ -15552,6 +15632,7 @@ yy1108: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } ++#line 15636 "ext/date/lib/parse_date.c" + yy1109: + yych = *++YYCURSOR; + goto yy1084; +@@ -18206,10 +18287,25 @@ yy1281: + yy1283: + yyaccept = 27; + yych = *(YYMARKER = ++YYCURSOR); +- if (yych <= '/') goto yy1287; +- if (yych <= '9') goto yy1286; +- goto yy1287; ++ if (yych <= '@') { ++ if (yych <= 0x1F) { ++ if (yych == '\t') goto yy1287; ++ } else { ++ if (yych <= ' ') goto yy1287; ++ if (yych <= '/') goto yy1284; ++ if (yych <= '9') goto yy1286; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'A') goto yy1289; ++ if (yych == 'P') goto yy1289; ++ } else { ++ if (yych <= 'a') goto yy1289; ++ if (yych == 'p') goto yy1289; ++ } ++ } + yy1284: ++#line 1096 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("backof | frontof"); + TIMELIB_INIT; +@@ -18231,66 +18327,104 @@ yy1284: + TIMELIB_DEINIT; + return TIMELIB_LF_DAY_OF_MONTH; + } ++#line 18331 "ext/date/lib/parse_date.c" + yy1285: + yyaccept = 27; + yych = *(YYMARKER = ++YYCURSOR); +- if (yych <= '/') goto yy1287; +- if (yych >= '5') goto yy1287; ++ if (yych <= '@') { ++ if (yych <= 0x1F) { ++ if (yych == '\t') goto yy1287; ++ goto yy1284; ++ } else { ++ if (yych <= ' ') goto yy1287; ++ if (yych <= '/') goto yy1284; ++ if (yych >= '5') goto yy1284; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'A') goto yy1289; ++ if (yych == 'P') goto yy1289; ++ goto yy1284; ++ } else { ++ if (yych <= 'a') goto yy1289; ++ if (yych == 'p') goto yy1289; ++ goto yy1284; ++ } ++ } + yy1286: + yyaccept = 27; +- YYMARKER = ++YYCURSOR; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= 'A') { ++ if (yych <= 0x1F) { ++ if (yych != '\t') goto yy1284; ++ } else { ++ if (yych <= ' ') goto yy1287; ++ if (yych <= '@') goto yy1284; ++ goto yy1289; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych == 'P') goto yy1289; ++ goto yy1284; ++ } else { ++ if (yych <= 'a') goto yy1289; ++ if (yych == 'p') goto yy1289; ++ goto yy1284; ++ } ++ } ++yy1287: ++ ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; +-yy1287: + if (yych <= 'A') { + if (yych <= 0x1F) { +- if (yych == '\t') goto yy1286; +- goto yy1284; ++ if (yych == '\t') goto yy1287; ++ goto yy56; + } else { +- if (yych <= ' ') goto yy1286; +- if (yych <= '@') goto yy1284; ++ if (yych <= ' ') goto yy1287; ++ if (yych <= '@') goto yy56; + } + } else { + if (yych <= '`') { +- if (yych != 'P') goto yy1284; ++ if (yych != 'P') goto yy56; + } else { +- if (yych <= 'a') goto yy1288; +- if (yych != 'p') goto yy1284; ++ if (yych <= 'a') goto yy1289; ++ if (yych != 'p') goto yy56; + } + } +-yy1288: ++yy1289: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych != '.') goto yy56; + } else { +- if (yych <= 'M') goto yy1290; +- if (yych == 'm') goto yy1290; ++ if (yych <= 'M') goto yy1291; ++ if (yych == 'm') goto yy1291; + goto yy56; + } + yych = *++YYCURSOR; +- if (yych == 'M') goto yy1290; ++ if (yych == 'M') goto yy1291; + if (yych != 'm') goto yy56; +-yy1290: ++yy1291: + yych = *++YYCURSOR; + if (yych <= 0x1F) { +- if (yych <= 0x00) goto yy1292; +- if (yych == '\t') goto yy1292; ++ if (yych <= 0x00) goto yy1293; ++ if (yych == '\t') goto yy1293; + goto yy56; + } else { +- if (yych <= ' ') goto yy1292; ++ if (yych <= ' ') goto yy1293; + if (yych != '.') goto yy56; + } + yych = *++YYCURSOR; + if (yych <= '\t') { +- if (yych <= 0x00) goto yy1292; ++ if (yych <= 0x00) goto yy1293; + if (yych <= 0x08) goto yy56; + } else { + if (yych != ' ') goto yy56; + } +-yy1292: ++yy1293: + yych = *++YYCURSOR; + goto yy1284; +-yy1293: ++yy1294: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'B') { +@@ -18314,13 +18448,13 @@ yy1293: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'c') goto yy1294; ++ if (yych <= 'c') goto yy1295; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1294: ++yy1295: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'J') { +@@ -18344,13 +18478,13 @@ yy1294: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'k') goto yy1295; ++ if (yych <= 'k') goto yy1296; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1295: ++yy1296: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { +@@ -18375,7 +18509,7 @@ yy1295: + goto yy3; + } + } +-yy1296: ++yy1297: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { +@@ -18391,12 +18525,12 @@ yy1296: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 's') goto yy1297; ++ if (yych <= 's') goto yy1298; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1297: ++yy1298: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -18412,12 +18546,12 @@ yy1297: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1298; ++ if (yych <= 't') goto yy1299; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1298: ++yy1299: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { +@@ -18438,19 +18572,19 @@ yy1298: + goto yy3; + } + } +-yy1299: ++yy1300: + yych = *++YYCURSOR; +- if (yych == 'D') goto yy1300; ++ if (yych == 'D') goto yy1301; + if (yych != 'd') goto yy1070; +-yy1300: ++yy1301: + yych = *++YYCURSOR; +- if (yych == 'A') goto yy1301; ++ if (yych == 'A') goto yy1302; + if (yych != 'a') goto yy56; +-yy1301: ++yy1302: + yych = *++YYCURSOR; +- if (yych == 'Y') goto yy1302; ++ if (yych == 'Y') goto yy1303; + if (yych != 'y') goto yy56; +-yy1302: ++yy1303: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -18461,14 +18595,15 @@ yy1302: + goto yy1084; + } + yych = *++YYCURSOR; +- if (yych == 'O') goto yy1304; ++ if (yych == 'O') goto yy1305; + if (yych != 'o') goto yy56; +-yy1304: ++yy1305: + yych = *++YYCURSOR; +- if (yych == 'F') goto yy1305; ++ if (yych == 'F') goto yy1306; + if (yych != 'f') goto yy56; +-yy1305: ++yy1306: + ++YYCURSOR; ++#line 1079 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("firstdayof | lastdayof"); + TIMELIB_INIT; +@@ -18484,7 +18619,8 @@ yy1305: + TIMELIB_DEINIT; + return TIMELIB_LF_DAY_OF_MONTH; + } +-yy1307: ++#line 18623 "ext/date/lib/parse_date.c" ++yy1308: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -18499,7 +18635,7 @@ yy1307: + } + } else { + if (yych <= '_') { +- if (yych <= 'S') goto yy1297; ++ if (yych <= 'S') goto yy1298; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -18508,13 +18644,13 @@ yy1307: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 's') goto yy1308; ++ if (yych <= 's') goto yy1309; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1308: ++yy1309: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -18529,7 +18665,7 @@ yy1308: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1298; ++ if (yych <= 'T') goto yy1299; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -18538,20 +18674,20 @@ yy1308: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1309; ++ if (yych <= 't') goto yy1310; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1309: ++yy1310: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy1069; + if (yych <= 0x1F) goto yy3; +- goto yy1299; ++ goto yy1300; + } else { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; +@@ -18573,7 +18709,7 @@ yy1309: + } + } + } +-yy1310: ++yy1311: + yych = *++YYCURSOR; + if (yych <= 'B') { + if (yych <= ')') { +@@ -18582,7 +18718,7 @@ yy1310: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy166; +- goto yy1346; ++ goto yy1348; + } + } else { + if (yych <= 'a') { +@@ -18590,35 +18726,35 @@ yy1310: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'b') goto yy1346; ++ if (yych <= 'b') goto yy1348; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1311: ++yy1312: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych == 'F') goto yy1336; ++ if (yych == 'F') goto yy1338; + if (yych <= 'Q') goto yy166; +- goto yy1335; ++ goto yy1337; + } + } else { + if (yych <= 'f') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'e') goto yy166; +- goto yy1336; ++ goto yy1338; + } else { +- if (yych == 'r') goto yy1335; ++ if (yych == 'r') goto yy1337; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1312: ++yy1313: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= ')') { +@@ -18627,7 +18763,7 @@ yy1312: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'T') goto yy166; +- goto yy1332; ++ goto yy1334; + } + } else { + if (yych <= 't') { +@@ -18635,19 +18771,19 @@ yy1312: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'u') goto yy1332; ++ if (yych <= 'u') goto yy1334; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1313: ++yy1314: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych == 'I') goto yy1315; ++ if (yych == 'I') goto yy1316; + if (yych <= 'N') goto yy166; + } + } else { +@@ -18655,14 +18791,14 @@ yy1313: + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'h') goto yy166; +- goto yy1315; ++ goto yy1316; + } else { +- if (yych == 'o') goto yy1314; ++ if (yych == 'o') goto yy1315; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1314: ++yy1315: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -18671,7 +18807,7 @@ yy1314: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy167; +- goto yy1318; ++ goto yy1319; + } + } else { + if (yych <= 'm') { +@@ -18679,12 +18815,12 @@ yy1314: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'n') goto yy1318; ++ if (yych <= 'n') goto yy1319; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1315: ++yy1316: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -18700,12 +18836,12 @@ yy1315: + if (yych <= '`') goto yy191; + goto yy167; + } else { +- if (yych <= 'd') goto yy1316; ++ if (yych <= 'd') goto yy1317; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +-yy1316: ++yy1317: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; +@@ -18715,12 +18851,12 @@ yy1316: + if (yych <= 'Z') goto yy168; + goto yy3; + } else { +- if (yych <= 'a') goto yy1317; ++ if (yych <= 'a') goto yy1318; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1317: ++yy1318: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= ')') { +@@ -18742,7 +18878,7 @@ yy1317: + goto yy3; + } + } +-yy1318: ++yy1319: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -18758,16 +18894,16 @@ yy1318: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 't') goto yy1319; ++ if (yych <= 't') goto yy1320; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1319: ++yy1320: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ')') { +- if (yych == ' ') goto yy1320; ++ if (yych == ' ') goto yy1321; + if (yych <= '(') goto yy3; + goto yy164; + } else { +@@ -18780,88 +18916,143 @@ yy1319: + goto yy3; + } + } +-yy1320: ++yy1321: + yych = *++YYCURSOR; +- if (yych == 'O') goto yy1321; ++ if (yych == 'O') goto yy1322; + if (yych != 'o') goto yy56; +-yy1321: ++yy1322: + yych = *++YYCURSOR; +- if (yych == 'F') goto yy1322; ++ if (yych == 'F') goto yy1323; + if (yych != 'f') goto yy56; +-yy1322: ++yy1323: + yych = *++YYCURSOR; + if (yych != ' ') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; +- if (yych <= '1') goto yy1324; +- if (yych <= '2') goto yy1325; +- if (yych <= '9') goto yy1326; ++ if (yych <= '1') goto yy1325; ++ if (yych <= '2') goto yy1326; ++ if (yych <= '9') goto yy1327; + goto yy56; +-yy1324: +- yyaccept = 27; +- yych = *(YYMARKER = ++YYCURSOR); +- if (yych <= '/') goto yy1327; +- if (yych <= '9') goto yy1326; +- goto yy1327; + yy1325: + yyaccept = 27; + yych = *(YYMARKER = ++YYCURSOR); +- if (yych <= '/') goto yy1327; +- if (yych >= '5') goto yy1327; ++ if (yych <= '@') { ++ if (yych <= 0x1F) { ++ if (yych == '\t') goto yy1328; ++ goto yy1284; ++ } else { ++ if (yych <= ' ') goto yy1328; ++ if (yych <= '/') goto yy1284; ++ if (yych <= '9') goto yy1327; ++ goto yy1284; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'A') goto yy1330; ++ if (yych == 'P') goto yy1330; ++ goto yy1284; ++ } else { ++ if (yych <= 'a') goto yy1330; ++ if (yych == 'p') goto yy1330; ++ goto yy1284; ++ } ++ } + yy1326: + yyaccept = 27; +- YYMARKER = ++YYCURSOR; +- if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); +- yych = *YYCURSOR; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '@') { ++ if (yych <= 0x1F) { ++ if (yych == '\t') goto yy1328; ++ goto yy1284; ++ } else { ++ if (yych <= ' ') goto yy1328; ++ if (yych <= '/') goto yy1284; ++ if (yych >= '5') goto yy1284; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'A') goto yy1330; ++ if (yych == 'P') goto yy1330; ++ goto yy1284; ++ } else { ++ if (yych <= 'a') goto yy1330; ++ if (yych == 'p') goto yy1330; ++ goto yy1284; ++ } ++ } + yy1327: ++ yyaccept = 27; ++ yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { + if (yych <= 0x1F) { +- if (yych == '\t') goto yy1326; +- goto yy1284; ++ if (yych != '\t') goto yy1284; + } else { +- if (yych <= ' ') goto yy1326; ++ if (yych <= ' ') goto yy1328; + if (yych <= '@') goto yy1284; ++ goto yy1330; + } + } else { + if (yych <= '`') { +- if (yych != 'P') goto yy1284; ++ if (yych == 'P') goto yy1330; ++ goto yy1284; + } else { +- if (yych <= 'a') goto yy1328; +- if (yych != 'p') goto yy1284; ++ if (yych <= 'a') goto yy1330; ++ if (yych == 'p') goto yy1330; ++ goto yy1284; + } + } + yy1328: ++ ++YYCURSOR; ++ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); ++ yych = *YYCURSOR; ++ if (yych <= 'A') { ++ if (yych <= 0x1F) { ++ if (yych == '\t') goto yy1328; ++ goto yy56; ++ } else { ++ if (yych <= ' ') goto yy1328; ++ if (yych <= '@') goto yy56; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych != 'P') goto yy56; ++ } else { ++ if (yych <= 'a') goto yy1330; ++ if (yych != 'p') goto yy56; ++ } ++ } ++yy1330: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych != '.') goto yy56; + } else { +- if (yych <= 'M') goto yy1330; +- if (yych == 'm') goto yy1330; ++ if (yych <= 'M') goto yy1332; ++ if (yych == 'm') goto yy1332; + goto yy56; + } + yych = *++YYCURSOR; +- if (yych == 'M') goto yy1330; ++ if (yych == 'M') goto yy1332; + if (yych != 'm') goto yy56; +-yy1330: ++yy1332: + yych = *++YYCURSOR; + if (yych <= 0x1F) { +- if (yych <= 0x00) goto yy1292; +- if (yych == '\t') goto yy1292; ++ if (yych <= 0x00) goto yy1293; ++ if (yych == '\t') goto yy1293; + goto yy56; + } else { +- if (yych <= ' ') goto yy1292; ++ if (yych <= ' ') goto yy1293; + if (yych != '.') goto yy56; + } + yych = *++YYCURSOR; + if (yych <= '\t') { +- if (yych <= 0x00) goto yy1292; ++ if (yych <= 0x00) goto yy1293; + if (yych <= 0x08) goto yy56; +- goto yy1292; ++ goto yy1293; + } else { +- if (yych == ' ') goto yy1292; ++ if (yych == ' ') goto yy1293; + goto yy56; + } +-yy1332: ++yy1334: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { +@@ -18877,12 +19068,12 @@ yy1332: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'r') goto yy1333; ++ if (yych <= 'r') goto yy1335; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1333: ++yy1335: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -18898,12 +19089,12 @@ yy1333: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 't') goto yy1334; ++ if (yych <= 't') goto yy1336; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1334: ++yy1336: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { +@@ -18925,7 +19116,7 @@ yy1334: + goto yy3; + } + } +-yy1335: ++yy1337: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { +@@ -18934,7 +19125,7 @@ yy1335: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy167; +- goto yy1338; ++ goto yy1340; + } + } else { + if (yych <= 'r') { +@@ -18942,12 +19133,12 @@ yy1335: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 's') goto yy1338; ++ if (yych <= 's') goto yy1340; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1336: ++yy1338: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -18963,12 +19154,12 @@ yy1336: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1337; ++ if (yych <= 't') goto yy1339; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1337: ++yy1339: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { +@@ -18990,7 +19181,7 @@ yy1337: + goto yy3; + } + } +-yy1338: ++yy1340: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -19006,12 +19197,12 @@ yy1338: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 't') goto yy1339; ++ if (yych <= 't') goto yy1341; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1339: ++yy1341: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { +@@ -19032,19 +19223,19 @@ yy1339: + goto yy3; + } + } +-yy1340: ++yy1342: + yych = *++YYCURSOR; +- if (yych == 'D') goto yy1341; ++ if (yych == 'D') goto yy1343; + if (yych != 'd') goto yy1197; +-yy1341: ++yy1343: + yych = *++YYCURSOR; +- if (yych == 'A') goto yy1342; ++ if (yych == 'A') goto yy1344; + if (yych != 'a') goto yy56; +-yy1342: ++yy1344: + yych = *++YYCURSOR; +- if (yych == 'Y') goto yy1343; ++ if (yych == 'Y') goto yy1345; + if (yych != 'y') goto yy56; +-yy1343: ++yy1345: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -19055,14 +19246,14 @@ yy1343: + goto yy1084; + } + yych = *++YYCURSOR; +- if (yych == 'O') goto yy1345; ++ if (yych == 'O') goto yy1347; + if (yych != 'o') goto yy56; +-yy1345: ++yy1347: + yych = *++YYCURSOR; +- if (yych == 'F') goto yy1305; +- if (yych == 'f') goto yy1305; ++ if (yych == 'F') goto yy1306; ++ if (yych == 'f') goto yy1306; + goto yy56; +-yy1346: ++yy1348: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { +@@ -19097,13 +19288,13 @@ yy1346: + if (yych <= '`') goto yy218; + goto yy167; + } else { +- if (yych <= 'r') goto yy1347; ++ if (yych <= 'r') goto yy1349; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +-yy1347: ++yy1349: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= ')') { +@@ -19119,12 +19310,12 @@ yy1347: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'u') goto yy1348; ++ if (yych <= 'u') goto yy1350; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1348: ++yy1350: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; +@@ -19134,27 +19325,27 @@ yy1348: + if (yych <= 'Z') goto yy169; + goto yy3; + } else { +- if (yych <= 'a') goto yy1349; ++ if (yych <= 'a') goto yy1351; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1349: ++yy1351: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'R') goto yy1350; ++ if (yych <= 'R') goto yy1352; + if (yych != 'r') goto yy3; + } +-yy1350: ++yy1352: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy229; + if (yych == 'y') goto yy229; + goto yy56; +-yy1351: ++yy1353: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { +@@ -19169,7 +19360,7 @@ yy1351: + } + } else { + if (yych <= '_') { +- if (yych <= 'B') goto yy1346; ++ if (yych <= 'B') goto yy1348; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19178,13 +19369,13 @@ yy1351: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'b') goto yy1369; ++ if (yych <= 'b') goto yy1371; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1352: ++yy1354: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -19201,14 +19392,14 @@ yy1352: + if (yych <= '/') goto yy172; + goto yy3; + } else { +- if (yych == 'F') goto yy1336; ++ if (yych == 'F') goto yy1338; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'R') goto yy1335; ++ if (yych <= 'R') goto yy1337; + goto yy166; + } else { + if (yych == '_') goto yy172; +@@ -19216,16 +19407,16 @@ yy1352: + } + } else { + if (yych <= 'q') { +- if (yych == 'f') goto yy1365; ++ if (yych == 'f') goto yy1367; + goto yy171; + } else { +- if (yych <= 'r') goto yy1364; ++ if (yych <= 'r') goto yy1366; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1353: ++yy1355: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { +@@ -19240,7 +19431,7 @@ yy1353: + } + } else { + if (yych <= '_') { +- if (yych <= 'U') goto yy1332; ++ if (yych <= 'U') goto yy1334; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19249,13 +19440,13 @@ yy1353: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'u') goto yy1361; ++ if (yych <= 'u') goto yy1363; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1354: ++yy1356: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { +@@ -19272,14 +19463,14 @@ yy1354: + if (yych <= '/') goto yy172; + goto yy3; + } else { +- if (yych == 'I') goto yy1315; ++ if (yych == 'I') goto yy1316; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'O') goto yy1314; ++ if (yych <= 'O') goto yy1315; + goto yy166; + } else { + if (yych == '_') goto yy172; +@@ -19287,16 +19478,16 @@ yy1354: + } + } else { + if (yych <= 'n') { +- if (yych == 'i') goto yy1356; ++ if (yych == 'i') goto yy1358; + goto yy171; + } else { +- if (yych <= 'o') goto yy1355; ++ if (yych <= 'o') goto yy1357; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1355: ++yy1357: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -19311,7 +19502,7 @@ yy1355: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1318; ++ if (yych <= 'N') goto yy1319; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19320,13 +19511,13 @@ yy1355: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'n') goto yy1359; ++ if (yych <= 'n') goto yy1361; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1356: ++yy1358: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -19341,7 +19532,7 @@ yy1356: + } + } else { + if (yych <= '_') { +- if (yych <= 'D') goto yy1316; ++ if (yych <= 'D') goto yy1317; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; +@@ -19350,13 +19541,13 @@ yy1356: + if (yych <= '`') goto yy191; + goto yy175; + } else { +- if (yych <= 'd') goto yy1357; ++ if (yych <= 'd') goto yy1359; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +-yy1357: ++yy1359: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -19370,18 +19561,18 @@ yy1357: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1317; ++ if (yych <= 'A') goto yy1318; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1358; ++ if (yych <= 'a') goto yy1360; + if (yych <= 'z') goto yy176; + goto yy3; + } + } +-yy1358: ++yy1360: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { +@@ -19411,7 +19602,7 @@ yy1358: + } + } + } +-yy1359: ++yy1361: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -19426,7 +19617,7 @@ yy1359: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1319; ++ if (yych <= 'T') goto yy1320; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19435,18 +19626,18 @@ yy1359: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 't') goto yy1360; ++ if (yych <= 't') goto yy1362; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1360: ++yy1362: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= '(') { +- if (yych == ' ') goto yy1320; ++ if (yych == ' ') goto yy1321; + goto yy3; + } else { + if (yych <= ')') goto yy164; +@@ -19466,7 +19657,7 @@ yy1360: + goto yy3; + } + } +-yy1361: ++yy1363: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -19481,7 +19672,7 @@ yy1361: + } + } else { + if (yych <= '_') { +- if (yych <= 'R') goto yy1333; ++ if (yych <= 'R') goto yy1335; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19490,13 +19681,13 @@ yy1361: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'r') goto yy1362; ++ if (yych <= 'r') goto yy1364; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1362: ++yy1364: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -19511,7 +19702,7 @@ yy1362: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1334; ++ if (yych <= 'T') goto yy1336; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19520,13 +19711,13 @@ yy1362: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 't') goto yy1363; ++ if (yych <= 't') goto yy1365; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1363: ++yy1365: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -19556,7 +19747,7 @@ yy1363: + } + } + } +-yy1364: ++yy1366: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -19571,7 +19762,7 @@ yy1364: + } + } else { + if (yych <= '_') { +- if (yych <= 'S') goto yy1338; ++ if (yych <= 'S') goto yy1340; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19580,13 +19771,13 @@ yy1364: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 's') goto yy1367; ++ if (yych <= 's') goto yy1369; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1365: ++yy1367: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -19601,7 +19792,7 @@ yy1365: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1337; ++ if (yych <= 'T') goto yy1339; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19610,13 +19801,13 @@ yy1365: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1366; ++ if (yych <= 't') goto yy1368; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1366: ++yy1368: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -19646,7 +19837,7 @@ yy1366: + } + } + } +-yy1367: ++yy1369: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -19661,7 +19852,7 @@ yy1367: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1339; ++ if (yych <= 'T') goto yy1341; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19670,20 +19861,20 @@ yy1367: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 't') goto yy1368; ++ if (yych <= 't') goto yy1370; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1368: ++yy1370: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy1196; + if (yych <= 0x1F) goto yy3; +- goto yy1340; ++ goto yy1342; + } else { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; +@@ -19705,7 +19896,7 @@ yy1368: + } + } + } +-yy1369: ++yy1371: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { +@@ -19733,7 +19924,7 @@ yy1369: + if (yych <= '@') goto yy218; + goto yy167; + } else { +- if (yych <= 'R') goto yy1347; ++ if (yych <= 'R') goto yy1349; + if (yych <= 'Z') goto yy167; + goto yy218; + } +@@ -19743,13 +19934,13 @@ yy1369: + if (yych <= '`') goto yy218; + goto yy175; + } else { +- if (yych <= 'r') goto yy1370; ++ if (yych <= 'r') goto yy1372; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +-yy1370: ++yy1372: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { +@@ -19764,7 +19955,7 @@ yy1370: + } + } else { + if (yych <= '_') { +- if (yych <= 'U') goto yy1348; ++ if (yych <= 'U') goto yy1350; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19773,13 +19964,13 @@ yy1370: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'u') goto yy1371; ++ if (yych <= 'u') goto yy1373; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1371: ++yy1373: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -19793,18 +19984,18 @@ yy1371: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1349; ++ if (yych <= 'A') goto yy1351; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1372; ++ if (yych <= 'a') goto yy1374; + if (yych <= 'z') goto yy177; + goto yy3; + } + } +-yy1372: ++yy1374: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -19818,33 +20009,34 @@ yy1372: + } + } else { + if (yych <= '`') { +- if (yych <= 'R') goto yy1350; ++ if (yych <= 'R') goto yy1352; + if (yych == '_') goto yy172; + goto yy3; + } else { +- if (yych == 'r') goto yy1373; ++ if (yych == 'r') goto yy1375; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1373: ++yy1375: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy229; + if (yych == 'y') goto yy341; + goto yy179; +-yy1374: ++yy1376: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +-yy1375: ++yy1377: + yyaccept = 28; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); + yych = *YYCURSOR; +- if (yych == '.') goto yy1378; +- if (yych <= '/') goto yy1377; +- if (yych <= '9') goto yy1375; +-yy1377: ++ if (yych == '.') goto yy1380; ++ if (yych <= '/') goto yy1379; ++ if (yych <= '9') goto yy1377; ++yy1379: ++#line 1025 "ext/date/lib/parse_date.re" + { + timelib_ull i; + +@@ -19869,7 +20061,8 @@ yy1377: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1378: ++#line 20065 "ext/date/lib/parse_date.c" ++yy1380: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +@@ -19889,6 +20082,7 @@ yy1378: + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + ++YYCURSOR; ++#line 1051 "ext/date/lib/parse_date.re" + { + timelib_ull i, ms; + +@@ -19915,7 +20109,8 @@ yy1378: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1386: ++#line 20113 "ext/date/lib/parse_date.c" ++yy1388: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -19924,7 +20119,7 @@ yy1386: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy166; +- goto yy1427; ++ goto yy1429; + } + } else { + if (yych <= 'm') { +@@ -19932,58 +20127,58 @@ yy1386: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'n') goto yy1427; ++ if (yych <= 'n') goto yy1429; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1387: ++yy1389: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych == 'I') goto yy1419; ++ if (yych == 'I') goto yy1421; + if (yych <= 'T') goto yy166; +- goto yy1420; ++ goto yy1422; + } + } else { + if (yych <= 'i') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'h') goto yy166; +- goto yy1419; ++ goto yy1421; + } else { +- if (yych == 'u') goto yy1420; ++ if (yych == 'u') goto yy1422; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1388: ++yy1390: + yych = *++YYCURSOR; + if (yych <= 'M') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych == 'D') goto yy1408; ++ if (yych == 'D') goto yy1410; + if (yych <= 'L') goto yy166; +- goto yy1409; ++ goto yy1411; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'c') goto yy166; +- goto yy1408; ++ goto yy1410; + } else { +- if (yych == 'm') goto yy1409; ++ if (yych == 'm') goto yy1411; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1389: ++yy1391: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { +@@ -19992,7 +20187,7 @@ yy1389: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy166; +- goto yy1404; ++ goto yy1406; + } + } else { + if (yych <= 'd') { +@@ -20000,12 +20195,12 @@ yy1389: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'e') goto yy1404; ++ if (yych <= 'e') goto yy1406; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1390: ++yy1392: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { +@@ -20014,7 +20209,7 @@ yy1390: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy166; +- goto yy1400; ++ goto yy1402; + } + } else { + if (yych <= 'd') { +@@ -20022,68 +20217,68 @@ yy1390: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'e') goto yy1400; ++ if (yych <= 'e') goto yy1402; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1391: ++yy1393: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy1029; + goto yy56; + } else { +- if (yych <= '9') goto yy1394; ++ if (yych <= '9') goto yy1396; + if (yych <= ':') goto yy1029; + goto yy56; + } +-yy1392: ++yy1394: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy1029; + goto yy56; + } else { +- if (yych <= '4') goto yy1394; ++ if (yych <= '4') goto yy1396; + if (yych == ':') goto yy1029; + goto yy56; + } +-yy1393: ++yy1395: + yych = *++YYCURSOR; + if (yych == '.') goto yy1029; + if (yych == ':') goto yy1029; + goto yy56; +-yy1394: ++yy1396: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy1029; + goto yy56; + } else { +- if (yych <= '5') goto yy1395; ++ if (yych <= '5') goto yy1397; + if (yych == ':') goto yy1029; + goto yy56; + } +-yy1395: ++yy1397: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy1032; +- if (yych <= '5') goto yy1397; +- if (yych <= '6') goto yy1398; ++ if (yych <= '5') goto yy1399; ++ if (yych <= '6') goto yy1400; + goto yy1032; +-yy1397: ++yy1399: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; +- if (yych <= '9') goto yy1399; ++ if (yych <= '9') goto yy1401; + goto yy56; +-yy1398: ++yy1400: + yych = *++YYCURSOR; + if (yych != '0') goto yy56; +-yy1399: ++yy1401: + yych = *++YYCURSOR; + goto yy1040; +-yy1400: ++yy1402: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych <= ')') { +@@ -20099,12 +20294,12 @@ yy1400: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'l') goto yy1401; ++ if (yych <= 'l') goto yy1403; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1401: ++yy1403: + yych = *++YYCURSOR; + if (yych <= 'F') { + if (yych <= ')') { +@@ -20120,12 +20315,12 @@ yy1401: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'f') goto yy1402; ++ if (yych <= 'f') goto yy1404; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1402: ++yy1404: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -20141,12 +20336,12 @@ yy1402: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 't') goto yy1403; ++ if (yych <= 't') goto yy1405; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1403: ++yy1405: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -20157,7 +20352,7 @@ yy1403: + if (yych == 'h') goto yy1195; + goto yy3; + } +-yy1404: ++yy1406: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { +@@ -20173,12 +20368,12 @@ yy1404: + if (yych <= '`') goto yy191; + goto yy167; + } else { +- if (yych <= 's') goto yy1405; ++ if (yych <= 's') goto yy1407; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +-yy1405: ++yy1407: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -20194,12 +20389,12 @@ yy1405: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'd') goto yy1406; ++ if (yych <= 'd') goto yy1408; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1406: ++yy1408: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; +@@ -20209,12 +20404,12 @@ yy1406: + if (yych <= 'Z') goto yy169; + goto yy3; + } else { +- if (yych <= 'a') goto yy1407; ++ if (yych <= 'a') goto yy1409; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1407: ++yy1409: + yych = *++YYCURSOR; + if (yych <= 'X') { + if (yych == ')') goto yy164; +@@ -20224,23 +20419,23 @@ yy1407: + if (yych == 'y') goto yy197; + goto yy3; + } +-yy1408: ++yy1410: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; +- goto yy1416; ++ goto yy1418; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy167; + goto yy3; + } else { +- if (yych <= 'a') goto yy1416; ++ if (yych <= 'a') goto yy1418; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1409: ++yy1411: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= ')') { +@@ -20256,12 +20451,12 @@ yy1409: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'o') goto yy1410; ++ if (yych <= 'o') goto yy1412; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1410: ++yy1412: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { +@@ -20277,12 +20472,12 @@ yy1410: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'r') goto yy1411; ++ if (yych <= 'r') goto yy1413; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1411: ++yy1413: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { +@@ -20298,28 +20493,29 @@ yy1411: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 'r') goto yy1412; ++ if (yych <= 'r') goto yy1414; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1412: ++yy1414: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'O') goto yy1413; ++ if (yych <= 'O') goto yy1415; + if (yych != 'o') goto yy3; + } +-yy1413: ++yy1415: + yych = *++YYCURSOR; +- if (yych == 'W') goto yy1414; ++ if (yych == 'W') goto yy1416; + if (yych != 'w') goto yy56; +-yy1414: ++yy1416: + ++YYCURSOR; +-yy1415: ++yy1417: ++#line 1013 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("tomorrow"); + TIMELIB_INIT; +@@ -20330,7 +20526,8 @@ yy1415: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1416: ++#line 20530 "ext/date/lib/parse_date.c" ++yy1418: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= ')') { +@@ -20346,21 +20543,22 @@ yy1416: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'y') goto yy1417; ++ if (yych <= 'y') goto yy1419; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1417: ++yy1419: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy164; + } else { + if (yych <= 'Z') goto yy169; +- if (yych <= '`') goto yy1418; ++ if (yych <= '`') goto yy1420; + if (yych <= 'z') goto yy169; + } +-yy1418: ++yy1420: ++#line 1003 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("midnight | today"); + TIMELIB_INIT; +@@ -20369,7 +20567,8 @@ yy1418: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1419: ++#line 20571 "ext/date/lib/parse_date.c" ++yy1421: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= '@') { +@@ -20377,8 +20576,8 @@ yy1419: + goto yy3; + } else { + if (yych <= 'Q') goto yy167; +- if (yych <= 'R') goto yy1425; +- goto yy1426; ++ if (yych <= 'R') goto yy1427; ++ goto yy1428; + } + } else { + if (yych <= 'q') { +@@ -20386,13 +20585,13 @@ yy1419: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'r') goto yy1425; +- if (yych <= 's') goto yy1426; ++ if (yych <= 'r') goto yy1427; ++ if (yych <= 's') goto yy1428; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1420: ++yy1422: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { +@@ -20408,12 +20607,12 @@ yy1420: + if (yych <= '`') goto yy191; + goto yy167; + } else { +- if (yych <= 'r') goto yy1421; ++ if (yych <= 'r') goto yy1423; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +-yy1421: ++yy1423: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { +@@ -20429,12 +20628,12 @@ yy1421: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 's') goto yy1422; ++ if (yych <= 's') goto yy1424; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1422: ++yy1424: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -20450,27 +20649,27 @@ yy1422: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 'd') goto yy1423; ++ if (yych <= 'd') goto yy1425; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1423: ++yy1425: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'A') goto yy1424; ++ if (yych <= 'A') goto yy1426; + if (yych != 'a') goto yy3; + } +-yy1424: ++yy1426: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy197; + if (yych == 'y') goto yy197; + goto yy56; +-yy1425: ++yy1427: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -20492,7 +20691,7 @@ yy1425: + goto yy3; + } + } +-yy1426: ++yy1428: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { +@@ -20514,7 +20713,7 @@ yy1426: + goto yy3; + } + } +-yy1427: ++yy1429: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -20530,12 +20729,12 @@ yy1427: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1428; ++ if (yych <= 't') goto yy1430; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1428: ++yy1430: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { +@@ -20557,7 +20756,7 @@ yy1428: + goto yy3; + } + } +-yy1429: ++yy1431: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -20572,7 +20771,7 @@ yy1429: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1427; ++ if (yych <= 'N') goto yy1429; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20581,13 +20780,13 @@ yy1429: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'n') goto yy1459; ++ if (yych <= 'n') goto yy1461; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1430: ++yy1432: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { +@@ -20604,14 +20803,14 @@ yy1430: + if (yych <= '/') goto yy172; + goto yy3; + } else { +- if (yych == 'I') goto yy1419; ++ if (yych == 'I') goto yy1421; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'U') goto yy1420; ++ if (yych <= 'U') goto yy1422; + goto yy166; + } else { + if (yych == '_') goto yy172; +@@ -20619,16 +20818,16 @@ yy1430: + } + } else { + if (yych <= 't') { +- if (yych == 'i') goto yy1451; ++ if (yych == 'i') goto yy1453; + goto yy171; + } else { +- if (yych <= 'u') goto yy1452; ++ if (yych <= 'u') goto yy1454; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1431: ++yy1433: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { +@@ -20645,14 +20844,14 @@ yy1431: + if (yych <= '/') goto yy172; + goto yy3; + } else { +- if (yych == 'D') goto yy1408; ++ if (yych == 'D') goto yy1410; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'M') goto yy1409; ++ if (yych <= 'M') goto yy1411; + goto yy166; + } else { + if (yych == '_') goto yy172; +@@ -20660,16 +20859,16 @@ yy1431: + } + } else { + if (yych <= 'l') { +- if (yych == 'd') goto yy1442; ++ if (yych == 'd') goto yy1444; + goto yy171; + } else { +- if (yych <= 'm') goto yy1443; ++ if (yych <= 'm') goto yy1445; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1432: ++yy1434: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { +@@ -20684,7 +20883,7 @@ yy1432: + } + } else { + if (yych <= '_') { +- if (yych <= 'E') goto yy1404; ++ if (yych <= 'E') goto yy1406; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20693,13 +20892,13 @@ yy1432: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'e') goto yy1438; ++ if (yych <= 'e') goto yy1440; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1433: ++yy1435: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { +@@ -20714,7 +20913,7 @@ yy1433: + } + } else { + if (yych <= '_') { +- if (yych <= 'E') goto yy1400; ++ if (yych <= 'E') goto yy1402; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20723,13 +20922,13 @@ yy1433: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'e') goto yy1434; ++ if (yych <= 'e') goto yy1436; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1434: ++yy1436: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'K') { +@@ -20744,7 +20943,7 @@ yy1434: + } + } else { + if (yych <= '_') { +- if (yych <= 'L') goto yy1401; ++ if (yych <= 'L') goto yy1403; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20753,13 +20952,13 @@ yy1434: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'l') goto yy1435; ++ if (yych <= 'l') goto yy1437; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1435: ++yy1437: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'E') { +@@ -20774,7 +20973,7 @@ yy1435: + } + } else { + if (yych <= '_') { +- if (yych <= 'F') goto yy1402; ++ if (yych <= 'F') goto yy1404; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20783,13 +20982,13 @@ yy1435: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'f') goto yy1436; ++ if (yych <= 'f') goto yy1438; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1436: ++yy1438: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -20804,7 +21003,7 @@ yy1436: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1403; ++ if (yych <= 'T') goto yy1405; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20813,13 +21012,13 @@ yy1436: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 't') goto yy1437; ++ if (yych <= 't') goto yy1439; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1437: ++yy1439: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -20842,7 +21041,7 @@ yy1437: + goto yy3; + } + } +-yy1438: ++yy1440: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -20857,7 +21056,7 @@ yy1438: + } + } else { + if (yych <= '_') { +- if (yych <= 'S') goto yy1405; ++ if (yych <= 'S') goto yy1407; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; +@@ -20866,13 +21065,13 @@ yy1438: + if (yych <= '`') goto yy191; + goto yy175; + } else { +- if (yych <= 's') goto yy1439; ++ if (yych <= 's') goto yy1441; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +-yy1439: ++yy1441: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -20887,7 +21086,7 @@ yy1439: + } + } else { + if (yych <= '_') { +- if (yych <= 'D') goto yy1406; ++ if (yych <= 'D') goto yy1408; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20896,13 +21095,13 @@ yy1439: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'd') goto yy1440; ++ if (yych <= 'd') goto yy1442; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1440: ++yy1442: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -20916,18 +21115,18 @@ yy1440: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1407; ++ if (yych <= 'A') goto yy1409; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1441; ++ if (yych <= 'a') goto yy1443; + if (yych <= 'z') goto yy177; + goto yy3; + } + } +-yy1441: ++yy1443: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { +@@ -20950,7 +21149,7 @@ yy1441: + goto yy3; + } + } +-yy1442: ++yy1444: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -20964,18 +21163,18 @@ yy1442: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1416; ++ if (yych <= 'A') goto yy1418; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1449; ++ if (yych <= 'a') goto yy1451; + if (yych <= 'z') goto yy175; + goto yy3; + } + } +-yy1443: ++yy1445: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { +@@ -20990,7 +21189,7 @@ yy1443: + } + } else { + if (yych <= '_') { +- if (yych <= 'O') goto yy1410; ++ if (yych <= 'O') goto yy1412; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20999,13 +21198,13 @@ yy1443: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'o') goto yy1444; ++ if (yych <= 'o') goto yy1446; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1444: ++yy1446: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -21020,7 +21219,7 @@ yy1444: + } + } else { + if (yych <= '_') { +- if (yych <= 'R') goto yy1411; ++ if (yych <= 'R') goto yy1413; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21029,13 +21228,13 @@ yy1444: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'r') goto yy1445; ++ if (yych <= 'r') goto yy1447; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1445: ++yy1447: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -21050,7 +21249,7 @@ yy1445: + } + } else { + if (yych <= '_') { +- if (yych <= 'R') goto yy1412; ++ if (yych <= 'R') goto yy1414; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21059,13 +21258,13 @@ yy1445: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 'r') goto yy1446; ++ if (yych <= 'r') goto yy1448; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1446: ++yy1448: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { +@@ -21079,18 +21278,18 @@ yy1446: + } + } else { + if (yych <= '`') { +- if (yych <= 'O') goto yy1413; ++ if (yych <= 'O') goto yy1415; + if (yych == '_') goto yy172; + goto yy3; + } else { +- if (yych == 'o') goto yy1447; ++ if (yych == 'o') goto yy1449; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1447: ++yy1449: + yych = *++YYCURSOR; +- if (yych == 'W') goto yy1414; ++ if (yych == 'W') goto yy1416; + if (yych != 'w') goto yy179; + yyaccept = 29; + yych = *(YYMARKER = ++YYCURSOR); +@@ -21099,13 +21298,13 @@ yy1447: + } + if (yych <= '.') { + if (yych == '-') goto yy172; +- goto yy1415; ++ goto yy1417; + } else { + if (yych <= '/') goto yy172; + if (yych == '_') goto yy172; +- goto yy1415; ++ goto yy1417; + } +-yy1449: ++yy1451: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { +@@ -21120,7 +21319,7 @@ yy1449: + } + } else { + if (yych <= '_') { +- if (yych <= 'Y') goto yy1417; ++ if (yych <= 'Y') goto yy1419; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21129,36 +21328,36 @@ yy1449: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'y') goto yy1450; ++ if (yych <= 'y') goto yy1452; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1450: ++yy1452: + yyaccept = 30; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; +- goto yy1418; ++ goto yy1420; + } else { +- if (yych == '.') goto yy1418; ++ if (yych == '.') goto yy1420; + goto yy172; + } + } else { + if (yych <= '^') { +- if (yych <= '@') goto yy1418; ++ if (yych <= '@') goto yy1420; + if (yych <= 'Z') goto yy169; +- goto yy1418; ++ goto yy1420; + } else { + if (yych <= '_') goto yy172; +- if (yych <= '`') goto yy1418; ++ if (yych <= '`') goto yy1420; + if (yych <= 'z') goto yy177; +- goto yy1418; ++ goto yy1420; + } + } +-yy1451: ++yy1453: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -21173,13 +21372,13 @@ yy1451: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy167; +- goto yy1425; ++ goto yy1427; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'S') goto yy1426; ++ if (yych <= 'S') goto yy1428; + goto yy167; + } else { + if (yych == '_') goto yy172; +@@ -21188,15 +21387,15 @@ yy1451: + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy175; +- goto yy1457; ++ goto yy1459; + } else { +- if (yych <= 's') goto yy1458; ++ if (yych <= 's') goto yy1460; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1452: ++yy1454: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -21211,7 +21410,7 @@ yy1452: + } + } else { + if (yych <= '_') { +- if (yych <= 'R') goto yy1421; ++ if (yych <= 'R') goto yy1423; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; +@@ -21220,13 +21419,13 @@ yy1452: + if (yych <= '`') goto yy191; + goto yy175; + } else { +- if (yych <= 'r') goto yy1453; ++ if (yych <= 'r') goto yy1455; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +-yy1453: ++yy1455: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -21241,7 +21440,7 @@ yy1453: + } + } else { + if (yych <= '_') { +- if (yych <= 'S') goto yy1422; ++ if (yych <= 'S') goto yy1424; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21250,13 +21449,13 @@ yy1453: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 's') goto yy1454; ++ if (yych <= 's') goto yy1456; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1454: ++yy1456: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -21271,7 +21470,7 @@ yy1454: + } + } else { + if (yych <= '_') { +- if (yych <= 'D') goto yy1423; ++ if (yych <= 'D') goto yy1425; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21280,13 +21479,13 @@ yy1454: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 'd') goto yy1455; ++ if (yych <= 'd') goto yy1457; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1455: ++yy1457: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -21300,22 +21499,22 @@ yy1455: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1424; ++ if (yych <= 'A') goto yy1426; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1456; ++ if (yych <= 'a') goto yy1458; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1456: ++yy1458: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy197; + if (yych == 'y') goto yy210; + goto yy179; +-yy1457: ++yy1459: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -21345,7 +21544,7 @@ yy1457: + } + } + } +-yy1458: ++yy1460: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { +@@ -21374,7 +21573,7 @@ yy1458: + } + } + } +-yy1459: ++yy1461: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -21389,7 +21588,7 @@ yy1459: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1428; ++ if (yych <= 'T') goto yy1430; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21398,13 +21597,13 @@ yy1459: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1460; ++ if (yych <= 't') goto yy1462; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1460: ++yy1462: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -21434,30 +21633,30 @@ yy1460: + } + } + } +-yy1461: ++yy1463: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych == 'R') goto yy1473; ++ if (yych == 'R') goto yy1475; + if (yych <= 'X') goto yy166; +- goto yy1474; ++ goto yy1476; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'q') goto yy166; +- goto yy1473; ++ goto yy1475; + } else { +- if (yych == 'y') goto yy1474; ++ if (yych == 'y') goto yy1476; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1462: ++yy1464: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -21466,7 +21665,7 @@ yy1462: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy166; +- goto yy1467; ++ goto yy1469; + } + } else { + if (yych <= 'c') { +@@ -21474,12 +21673,12 @@ yy1462: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'd') goto yy1467; ++ if (yych <= 'd') goto yy1469; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1463: ++yy1465: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -21495,12 +21694,12 @@ yy1463: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'n') goto yy1464; ++ if (yych <= 'n') goto yy1466; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1464: ++yy1466: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -21516,12 +21715,12 @@ yy1464: + if (yych <= '`') goto yy191; + goto yy167; + } else { +- if (yych <= 'd') goto yy1465; ++ if (yych <= 'd') goto yy1467; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +-yy1465: ++yy1467: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; +@@ -21531,12 +21730,12 @@ yy1465: + if (yych <= 'Z') goto yy168; + goto yy3; + } else { +- if (yych <= 'a') goto yy1466; ++ if (yych <= 'a') goto yy1468; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1466: ++yy1468: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= ')') { +@@ -21558,7 +21757,7 @@ yy1466: + goto yy3; + } + } +-yy1467: ++yy1469: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -21574,12 +21773,12 @@ yy1467: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'n') goto yy1468; ++ if (yych <= 'n') goto yy1470; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1468: ++yy1470: + yych = *++YYCURSOR; + if (yych <= 'I') { + if (yych <= ')') { +@@ -21595,12 +21794,12 @@ yy1468: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'i') goto yy1469; ++ if (yych <= 'i') goto yy1471; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1469: ++yy1471: + yych = *++YYCURSOR; + if (yych <= 'G') { + if (yych <= ')') { +@@ -21616,29 +21815,29 @@ yy1469: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 'g') goto yy1470; ++ if (yych <= 'g') goto yy1472; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1470: ++yy1472: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'H') goto yy1471; ++ if (yych <= 'H') goto yy1473; + if (yych != 'h') goto yy3; + } +-yy1471: ++yy1473: + yych = *++YYCURSOR; +- if (yych == 'T') goto yy1472; ++ if (yych == 'T') goto yy1474; + if (yych != 't') goto yy56; +-yy1472: ++yy1474: + yych = *++YYCURSOR; +- goto yy1418; +-yy1473: ++ goto yy1420; ++yy1475: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { +@@ -21666,7 +21865,7 @@ yy1473: + if (yych <= '9') goto yy220; + goto yy218; + } else { +- if (yych == 'C') goto yy1475; ++ if (yych == 'C') goto yy1477; + goto yy167; + } + } else { +@@ -21674,13 +21873,13 @@ yy1473: + if (yych <= '`') goto yy218; + goto yy167; + } else { +- if (yych <= 'c') goto yy1475; ++ if (yych <= 'c') goto yy1477; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +-yy1474: ++yy1476: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { +@@ -21705,7 +21904,7 @@ yy1474: + goto yy218; + } + } +-yy1475: ++yy1477: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { +@@ -21727,7 +21926,7 @@ yy1475: + goto yy3; + } + } +-yy1476: ++yy1478: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { +@@ -21744,14 +21943,14 @@ yy1476: + if (yych <= '/') goto yy172; + goto yy3; + } else { +- if (yych == 'R') goto yy1473; ++ if (yych == 'R') goto yy1475; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'Y') goto yy1474; ++ if (yych <= 'Y') goto yy1476; + goto yy166; + } else { + if (yych == '_') goto yy172; +@@ -21759,16 +21958,16 @@ yy1476: + } + } else { + if (yych <= 'x') { +- if (yych == 'r') goto yy1488; ++ if (yych == 'r') goto yy1490; + goto yy171; + } else { +- if (yych <= 'y') goto yy1489; ++ if (yych <= 'y') goto yy1491; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1477: ++yy1479: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -21783,7 +21982,7 @@ yy1477: + } + } else { + if (yych <= '_') { +- if (yych <= 'D') goto yy1467; ++ if (yych <= 'D') goto yy1469; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21792,13 +21991,13 @@ yy1477: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'd') goto yy1482; ++ if (yych <= 'd') goto yy1484; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1478: ++yy1480: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -21813,7 +22012,7 @@ yy1478: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1464; ++ if (yych <= 'N') goto yy1466; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21822,13 +22021,13 @@ yy1478: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'n') goto yy1479; ++ if (yych <= 'n') goto yy1481; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1479: ++yy1481: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -21843,7 +22042,7 @@ yy1479: + } + } else { + if (yych <= '_') { +- if (yych <= 'D') goto yy1465; ++ if (yych <= 'D') goto yy1467; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; +@@ -21852,13 +22051,13 @@ yy1479: + if (yych <= '`') goto yy191; + goto yy175; + } else { +- if (yych <= 'd') goto yy1480; ++ if (yych <= 'd') goto yy1482; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +-yy1480: ++yy1482: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -21872,18 +22071,18 @@ yy1480: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1466; ++ if (yych <= 'A') goto yy1468; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1481; ++ if (yych <= 'a') goto yy1483; + if (yych <= 'z') goto yy176; + goto yy3; + } + } +-yy1481: ++yy1483: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { +@@ -21913,7 +22112,7 @@ yy1481: + } + } + } +-yy1482: ++yy1484: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -21928,7 +22127,7 @@ yy1482: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1468; ++ if (yych <= 'N') goto yy1470; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21937,13 +22136,13 @@ yy1482: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'n') goto yy1483; ++ if (yych <= 'n') goto yy1485; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1483: ++yy1485: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'H') { +@@ -21958,7 +22157,7 @@ yy1483: + } + } else { + if (yych <= '_') { +- if (yych <= 'I') goto yy1469; ++ if (yych <= 'I') goto yy1471; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21967,13 +22166,13 @@ yy1483: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'i') goto yy1484; ++ if (yych <= 'i') goto yy1486; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1484: ++yy1486: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'F') { +@@ -21988,7 +22187,7 @@ yy1484: + } + } else { + if (yych <= '_') { +- if (yych <= 'G') goto yy1470; ++ if (yych <= 'G') goto yy1472; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21997,13 +22196,13 @@ yy1484: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 'g') goto yy1485; ++ if (yych <= 'g') goto yy1487; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1485: ++yy1487: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -22017,18 +22216,18 @@ yy1485: + } + } else { + if (yych <= '`') { +- if (yych <= 'H') goto yy1471; ++ if (yych <= 'H') goto yy1473; + if (yych == '_') goto yy172; + goto yy3; + } else { +- if (yych == 'h') goto yy1486; ++ if (yych == 'h') goto yy1488; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1486: ++yy1488: + yych = *++YYCURSOR; +- if (yych == 'T') goto yy1472; ++ if (yych == 'T') goto yy1474; + if (yych != 't') goto yy179; + yyaccept = 30; + yych = *(YYMARKER = ++YYCURSOR); +@@ -22037,13 +22236,13 @@ yy1486: + } + if (yych <= '.') { + if (yych == '-') goto yy172; +- goto yy1418; ++ goto yy1420; + } else { + if (yych <= '/') goto yy172; + if (yych == '_') goto yy172; +- goto yy1418; ++ goto yy1420; + } +-yy1488: ++yy1490: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { +@@ -22071,7 +22270,7 @@ yy1488: + if (yych <= '@') goto yy218; + goto yy167; + } else { +- if (yych <= 'C') goto yy1475; ++ if (yych <= 'C') goto yy1477; + if (yych <= 'Z') goto yy167; + goto yy218; + } +@@ -22081,13 +22280,13 @@ yy1488: + if (yych <= '`') goto yy218; + goto yy175; + } else { +- if (yych <= 'c') goto yy1490; ++ if (yych <= 'c') goto yy1492; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +-yy1489: ++yy1491: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { +@@ -22122,7 +22321,7 @@ yy1489: + } + } + } +-yy1490: ++yy1492: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -22152,7 +22351,7 @@ yy1490: + } + } + } +-yy1491: ++yy1493: + yych = *++YYCURSOR; + if (yych <= 'W') { + if (yych <= 'N') { +@@ -22160,29 +22359,29 @@ yy1491: + if (yych <= '@') goto yy3; + goto yy166; + } else { +- if (yych <= 'O') goto yy1499; ++ if (yych <= 'O') goto yy1501; + if (yych <= 'U') goto yy166; +- if (yych <= 'V') goto yy1500; +- goto yy1497; ++ if (yych <= 'V') goto yy1502; ++ goto yy1499; + } + } else { + if (yych <= 'o') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'n') goto yy166; +- goto yy1499; ++ goto yy1501; + } else { + if (yych <= 'v') { + if (yych <= 'u') goto yy166; +- goto yy1500; ++ goto yy1502; + } else { +- if (yych <= 'w') goto yy1497; ++ if (yych <= 'w') goto yy1499; + if (yych <= 'z') goto yy166; + goto yy3; + } + } + } +-yy1492: ++yy1494: + yych = *++YYCURSOR; + if (yych <= 'X') { + if (yych <= ')') { +@@ -22191,7 +22390,7 @@ yy1492: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'W') goto yy166; +- goto yy1496; ++ goto yy1498; + } + } else { + if (yych <= 'w') { +@@ -22199,12 +22398,12 @@ yy1492: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'x') goto yy1496; ++ if (yych <= 'x') goto yy1498; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1493: ++yy1495: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -22220,12 +22419,12 @@ yy1493: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'n') goto yy1494; ++ if (yych <= 'n') goto yy1496; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1494: ++yy1496: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -22241,12 +22440,12 @@ yy1494: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1495; ++ if (yych <= 't') goto yy1497; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1495: ++yy1497: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { +@@ -22268,7 +22467,7 @@ yy1495: + goto yy3; + } + } +-yy1496: ++yy1498: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -22277,7 +22476,7 @@ yy1496: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy167; +- goto yy1426; ++ goto yy1428; + } + } else { + if (yych <= 's') { +@@ -22285,21 +22484,22 @@ yy1496: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1426; ++ if (yych <= 't') goto yy1428; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1497: ++yy1499: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy164; + } else { + if (yych <= 'Z') goto yy167; +- if (yych <= '`') goto yy1498; ++ if (yych <= '`') goto yy1500; + if (yych <= 'z') goto yy167; + } +-yy1498: ++yy1500: ++#line 982 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("now"); + TIMELIB_INIT; +@@ -22307,7 +22507,8 @@ yy1498: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1499: ++#line 22511 "ext/date/lib/parse_date.c" ++yy1501: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -22316,7 +22517,7 @@ yy1499: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy167; +- goto yy1505; ++ goto yy1507; + } + } else { + if (yych <= 'm') { +@@ -22324,12 +22525,12 @@ yy1499: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'n') goto yy1505; ++ if (yych <= 'n') goto yy1507; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1500: ++yy1502: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { +@@ -22364,13 +22565,13 @@ yy1500: + if (yych <= '`') goto yy218; + goto yy167; + } else { +- if (yych <= 'e') goto yy1501; ++ if (yych <= 'e') goto yy1503; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +-yy1501: ++yy1503: + yych = *++YYCURSOR; + if (yych <= 'M') { + if (yych <= ')') { +@@ -22386,12 +22587,12 @@ yy1501: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'm') goto yy1502; ++ if (yych <= 'm') goto yy1504; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1502: ++yy1504: + yych = *++YYCURSOR; + if (yych <= 'B') { + if (yych <= ')') { +@@ -22407,36 +22608,37 @@ yy1502: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 'b') goto yy1503; ++ if (yych <= 'b') goto yy1505; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1503: ++yy1505: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'E') goto yy1504; ++ if (yych <= 'E') goto yy1506; + if (yych != 'e') goto yy3; + } +-yy1504: ++yy1506: + yych = *++YYCURSOR; + if (yych == 'R') goto yy229; + if (yych == 'r') goto yy229; + goto yy56; +-yy1505: ++yy1507: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy164; + } else { + if (yych <= 'Z') goto yy168; +- if (yych <= '`') goto yy1506; ++ if (yych <= '`') goto yy1508; + if (yych <= 'z') goto yy168; + } +-yy1506: ++yy1508: ++#line 991 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("noon"); + TIMELIB_INIT; +@@ -22447,7 +22649,8 @@ yy1506: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1507: ++#line 22653 "ext/date/lib/parse_date.c" ++yy1509: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { +@@ -22465,15 +22668,15 @@ yy1507: + if (yych <= '@') goto yy3; + goto yy166; + } else { +- if (yych <= 'O') goto yy1499; ++ if (yych <= 'O') goto yy1501; + if (yych <= 'U') goto yy166; +- goto yy1500; ++ goto yy1502; + } + } + } else { + if (yych <= 'n') { + if (yych <= '^') { +- if (yych <= 'W') goto yy1497; ++ if (yych <= 'W') goto yy1499; + if (yych <= 'Z') goto yy166; + goto yy3; + } else { +@@ -22483,17 +22686,17 @@ yy1507: + } + } else { + if (yych <= 'v') { +- if (yych <= 'o') goto yy1514; ++ if (yych <= 'o') goto yy1516; + if (yych <= 'u') goto yy171; +- goto yy1515; ++ goto yy1517; + } else { +- if (yych <= 'w') goto yy1513; ++ if (yych <= 'w') goto yy1515; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1508: ++yy1510: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { +@@ -22508,7 +22711,7 @@ yy1508: + } + } else { + if (yych <= '_') { +- if (yych <= 'X') goto yy1496; ++ if (yych <= 'X') goto yy1498; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22517,13 +22720,13 @@ yy1508: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'x') goto yy1512; ++ if (yych <= 'x') goto yy1514; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1509: ++yy1511: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -22538,7 +22741,7 @@ yy1509: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1494; ++ if (yych <= 'N') goto yy1496; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22547,13 +22750,13 @@ yy1509: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'n') goto yy1510; ++ if (yych <= 'n') goto yy1512; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1510: ++yy1512: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -22568,7 +22771,7 @@ yy1510: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1495; ++ if (yych <= 'T') goto yy1497; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22577,13 +22780,13 @@ yy1510: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1511; ++ if (yych <= 't') goto yy1513; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1511: ++yy1513: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -22613,7 +22816,7 @@ yy1511: + } + } + } +-yy1512: ++yy1514: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -22628,7 +22831,7 @@ yy1512: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1426; ++ if (yych <= 'T') goto yy1428; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22637,36 +22840,36 @@ yy1512: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1458; ++ if (yych <= 't') goto yy1460; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1513: ++yy1515: + yyaccept = 31; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; +- goto yy1498; ++ goto yy1500; + } else { +- if (yych == '.') goto yy1498; ++ if (yych == '.') goto yy1500; + goto yy172; + } + } else { + if (yych <= '^') { +- if (yych <= '@') goto yy1498; ++ if (yych <= '@') goto yy1500; + if (yych <= 'Z') goto yy167; +- goto yy1498; ++ goto yy1500; + } else { + if (yych <= '_') goto yy172; +- if (yych <= '`') goto yy1498; ++ if (yych <= '`') goto yy1500; + if (yych <= 'z') goto yy175; +- goto yy1498; ++ goto yy1500; + } + } +-yy1514: ++yy1516: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -22681,7 +22884,7 @@ yy1514: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1505; ++ if (yych <= 'N') goto yy1507; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22690,13 +22893,13 @@ yy1514: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'n') goto yy1520; ++ if (yych <= 'n') goto yy1522; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1515: ++yy1517: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { +@@ -22724,7 +22927,7 @@ yy1515: + if (yych <= '@') goto yy218; + goto yy167; + } else { +- if (yych <= 'E') goto yy1501; ++ if (yych <= 'E') goto yy1503; + if (yych <= 'Z') goto yy167; + goto yy218; + } +@@ -22734,13 +22937,13 @@ yy1515: + if (yych <= '`') goto yy218; + goto yy175; + } else { +- if (yych <= 'e') goto yy1516; ++ if (yych <= 'e') goto yy1518; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +-yy1516: ++yy1518: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { +@@ -22755,7 +22958,7 @@ yy1516: + } + } else { + if (yych <= '_') { +- if (yych <= 'M') goto yy1502; ++ if (yych <= 'M') goto yy1504; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22764,13 +22967,13 @@ yy1516: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'm') goto yy1517; ++ if (yych <= 'm') goto yy1519; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1517: ++yy1519: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { +@@ -22785,7 +22988,7 @@ yy1517: + } + } else { + if (yych <= '_') { +- if (yych <= 'B') goto yy1503; ++ if (yych <= 'B') goto yy1505; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22794,13 +22997,13 @@ yy1517: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 'b') goto yy1518; ++ if (yych <= 'b') goto yy1520; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1518: ++yy1520: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { +@@ -22814,44 +23017,44 @@ yy1518: + } + } else { + if (yych <= '`') { +- if (yych <= 'E') goto yy1504; ++ if (yych <= 'E') goto yy1506; + if (yych == '_') goto yy172; + goto yy3; + } else { +- if (yych == 'e') goto yy1519; ++ if (yych == 'e') goto yy1521; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1519: ++yy1521: + yych = *++YYCURSOR; + if (yych == 'R') goto yy229; + if (yych == 'r') goto yy341; + goto yy179; +-yy1520: ++yy1522: + yyaccept = 32; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; +- goto yy1506; ++ goto yy1508; + } else { +- if (yych == '.') goto yy1506; ++ if (yych == '.') goto yy1508; + goto yy172; + } + } else { + if (yych <= '^') { +- if (yych <= '@') goto yy1506; ++ if (yych <= '@') goto yy1508; + if (yych <= 'Z') goto yy168; +- goto yy1506; ++ goto yy1508; + } else { + if (yych <= '_') goto yy172; +- if (yych <= '`') goto yy1506; ++ if (yych <= '`') goto yy1508; + if (yych <= 'z') goto yy176; +- goto yy1506; ++ goto yy1508; + } + } +-yy1521: ++yy1523: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { +@@ -22867,12 +23070,12 @@ yy1521: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 's') goto yy1522; ++ if (yych <= 's') goto yy1524; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1522: ++yy1524: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -22888,12 +23091,12 @@ yy1522: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1523; ++ if (yych <= 't') goto yy1525; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1523: ++yy1525: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { +@@ -22909,12 +23112,12 @@ yy1523: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'e') goto yy1524; ++ if (yych <= 'e') goto yy1526; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1524: ++yy1526: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { +@@ -22930,32 +23133,33 @@ yy1524: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 'r') goto yy1525; ++ if (yych <= 'r') goto yy1527; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1525: ++yy1527: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'D') goto yy1526; ++ if (yych <= 'D') goto yy1528; + if (yych != 'd') goto yy3; + } +-yy1526: ++yy1528: + yych = *++YYCURSOR; +- if (yych == 'A') goto yy1527; ++ if (yych == 'A') goto yy1529; + if (yych != 'a') goto yy56; +-yy1527: ++yy1529: + yych = *++YYCURSOR; +- if (yych == 'Y') goto yy1528; ++ if (yych == 'Y') goto yy1530; + if (yych != 'y') goto yy56; +-yy1528: ++yy1530: + ++YYCURSOR; +-yy1529: ++yy1531: ++#line 970 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("yesterday"); + TIMELIB_INIT; +@@ -22966,7 +23170,8 @@ yy1529: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1530: ++#line 23174 "ext/date/lib/parse_date.c" ++yy1532: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -22981,7 +23186,7 @@ yy1530: + } + } else { + if (yych <= '_') { +- if (yych <= 'S') goto yy1522; ++ if (yych <= 'S') goto yy1524; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22990,13 +23195,13 @@ yy1530: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 's') goto yy1531; ++ if (yych <= 's') goto yy1533; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1531: ++yy1533: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -23011,7 +23216,7 @@ yy1531: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1523; ++ if (yych <= 'T') goto yy1525; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -23020,13 +23225,13 @@ yy1531: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1532; ++ if (yych <= 't') goto yy1534; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1532: ++yy1534: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { +@@ -23041,7 +23246,7 @@ yy1532: + } + } else { + if (yych <= '_') { +- if (yych <= 'E') goto yy1524; ++ if (yych <= 'E') goto yy1526; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -23050,13 +23255,13 @@ yy1532: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'e') goto yy1533; ++ if (yych <= 'e') goto yy1535; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1533: ++yy1535: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -23071,7 +23276,7 @@ yy1533: + } + } else { + if (yych <= '_') { +- if (yych <= 'R') goto yy1525; ++ if (yych <= 'R') goto yy1527; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -23080,13 +23285,13 @@ yy1533: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 'r') goto yy1534; ++ if (yych <= 'r') goto yy1536; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1534: ++yy1536: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -23100,21 +23305,21 @@ yy1534: + } + } else { + if (yych <= '`') { +- if (yych <= 'D') goto yy1526; ++ if (yych <= 'D') goto yy1528; + if (yych == '_') goto yy172; + goto yy3; + } else { +- if (yych == 'd') goto yy1535; ++ if (yych == 'd') goto yy1537; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1535: ++yy1537: + yych = *++YYCURSOR; +- if (yych == 'A') goto yy1527; ++ if (yych == 'A') goto yy1529; + if (yych != 'a') goto yy179; + yych = *++YYCURSOR; +- if (yych == 'Y') goto yy1528; ++ if (yych == 'Y') goto yy1530; + if (yych != 'y') goto yy179; + yyaccept = 33; + yych = *(YYMARKER = ++YYCURSOR); +@@ -23123,13 +23328,14 @@ yy1535: + } + if (yych <= '.') { + if (yych == '-') goto yy172; +- goto yy1529; ++ goto yy1531; + } else { + if (yych <= '/') goto yy172; + if (yych == '_') goto yy172; +- goto yy1529; ++ goto yy1531; + } + } ++#line 1772 "ext/date/lib/parse_date.re" + + } + +diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re +index 74d9ea3..f26e276 100644 +--- a/ext/date/lib/parse_date.re ++++ b/ext/date/lib/parse_date.re +@@ -931,8 +931,8 @@ isoweek = year4 "-"? "W" weekofyear; + exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz; + firstdayof = 'first day of'; + lastdayof = 'last day of'; +-backof = 'back of ' hour24 space? meridian?; +-frontof = 'front of ' hour24 space? meridian?; ++backof = 'back of ' hour24 (space? meridian)?; ++frontof = 'front of ' hour24 (space? meridian)?; + + /* Common Log Format: 10/Oct/2000:13:55:36 -0700 */ + clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection; +diff --git a/ext/date/tests/bug53437_var3.phpt b/ext/date/tests/bug53437_var3.phpt +index 8f48b1b..8dcd4c8 100644 +--- a/ext/date/tests/bug53437_var3.phpt ++++ b/ext/date/tests/bug53437_var3.phpt +@@ -40,7 +40,7 @@ object(DateInterval)#%d (16) { + ["special_amount"]=> + int(-1) + ["have_weekday_relative"]=> +- int(9) ++ int(0) + ["have_special_relative"]=> + int(0) + ["f"]=> +diff --git a/ext/wddx/tests/bug75055.phpt b/ext/wddx/tests/bug75055.phpt +new file mode 100644 +index 0000000..2956284 +--- /dev/null ++++ b/ext/wddx/tests/bug75055.phpt +@@ -0,0 +1,20 @@ ++--TEST-- ++Bug #75055 Out-Of-Bounds Read in timelib_meridian() ++--SKIPIF-- ++<?php if (!extension_loaded("wddx")) print "skip"; ?> ++--FILE-- ++<?php ++ ++$file_str = dirname(__FILE__) . "/bug75055.wddx"; ++ ++$wddx_str = file_get_contents($file_str); ++print strlen($wddx_str) . " bytes read.\n"; ++ ++var_dump(wddx_deserialize($wddx_str)); ++?> ++--EXPECT-- ++323 bytes read. ++array(1) { ++ ["aDateTime"]=> ++ string(12) "frONt of 0 0" ++} +diff --git a/ext/wddx/tests/bug75055.wddx b/ext/wddx/tests/bug75055.wddx +new file mode 100644 +index 0000000..6493352 +--- /dev/null ++++ b/ext/wddx/tests/bug75055.wddx +@@ -0,0 +1,13 @@ ++<?xml version='1.0'?> ++<!DOCTYPE wddxPacket SYSTEM 'wddx_0100.dtd'> ++<wddxPacket version='1.0'> ++<header/> ++ <data> ++ <struct> ++ <var name='aDateTime'> ++ <dateTime>frONt of 0 0</dateTime> ++ </var> ++ </struct> ++ </data> ++</wddxPacket> ++ +-- +2.11.0 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.7/change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/change-AC_TRY_RUN-to-AC_TRY_LINK.patch index 39c334f39..39c334f39 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.7/change-AC_TRY_RUN-to-AC_TRY_LINK.patch +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/change-AC_TRY_RUN-to-AC_TRY_LINK.patch diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php.inc b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php.inc index 0e5502088..283d630f6 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php.inc +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php.inc @@ -203,6 +203,7 @@ MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}" +RDEPENDS_${PN} += "libgcc" RDEPENDS_${PN}-pear = "${PN}" RDEPENDS_${PN}-phar = "${PN}-cli" RDEPENDS_${PN}-cli = "${PN}" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.26.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.31.bb index dfce949f9..dd8047be2 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.26.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.31.bb @@ -6,5 +6,5 @@ SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \ file://pthread-check-threads-m4.patch \ file://0001-Add-lpthread-to-link.patch \ " -SRC_URI[md5sum] = "cb424b705cfb715fc04f499f8a8cf52e" -SRC_URI[sha256sum] = "d47aab8083a4284b905777e1b45dd7735adc53be827b29f896684750ac8b6236" +SRC_URI[md5sum] = "620abe25e0d6cd5f041a360a30ce5783" +SRC_URI[sha256sum] = "8f397169cb65f0539f3bcb04060f97770d73e19074a37bd2c58b98ebf6ecb10f" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.9.bb index ebf923781..acf68a059 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.7.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.9.bb @@ -4,9 +4,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c0af599f66d0461c5837c695fcbc5c1e" SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \ file://0001-Specify-tag-with-libtool.patch \ + file://CVE-2017-16642.patch \ " -SRC_URI[md5sum] = "22e11a372f99afbbbf3f46a31e8a82ca" -SRC_URI[sha256sum] = "079b6792987f38dc485f92258c04f9e02dedd593f9d260ebe725343f812d1ff8" +SRC_URI[md5sum] = "2397be54f3281cdf30c7ef076b28f7d0" +SRC_URI[sha256sum] = "314dcc10dfdd7c4443edb4fe1e133a44f2b2a8351be8c9eb6ab9222d45fd9bae" PACKAGECONFIG[mysql] = "--with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \ --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \ diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb index 7322df8e7..1ee6573bd 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb @@ -4,12 +4,11 @@ HOMEPAGE = "https://wiki.linaro.org/WorkingGroups/PowerManagement/Resources/Test LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -PV = "0.4.14" +PV = "0.5.2" BRANCH ?= "master" -# Corresponds to tag pm-qa-v0.4.14 -SRCREV = "9111d1930f02337394cf16e84ad2a27f33607cbb" +SRCREV = "05710ec5032be4c8edafb4109d4d908d31243906" SRC_URI = "git://git.linaro.org/power/pm-qa.git;protocol=git;branch=${BRANCH}" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb index 94fc736b5..8491fc904 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb @@ -15,6 +15,11 @@ COMPATIBLE_HOST = "(i.86|x86_64).*-linux" S = "${WORKDIR}/git" +inherit update-alternatives + +ALTERNATIVE_PRIORITY = "90" +ALTERNATIVE_${PN} = "acpixtract" + do_configure[noexec] = "1" do_compile() { oe_runmake diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.2.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.0.bb index 40fb96cf4..fe1e6e5fa 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.2.1.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.0.bb @@ -15,11 +15,14 @@ PACKAGE_BEFORE_PN = "${PN}-compiler" RDEPENDS_${PN}-compiler = "protobuf-compiler" RDEPENDS_${PN}-dev += "${PN}-compiler" -LIC_FILES_CHKSUM = "file://LICENSE;md5=235c3195a3968524dc1524b4ebea0c0e" -SRC_URI = "https://github.com/protobuf-c/protobuf-c/archive/v${PV}.tar.gz" +LIC_FILES_CHKSUM = "file://LICENSE;md5=cb901168715f4782a2b06c3ddaefa558" -SRC_URI[md5sum] = "b884aeba4283309445a8e3b6e7322dd6" -SRC_URI[sha256sum] = "2d708fb3c024b9e6e86df141faff802194f5db90a4b79e6d4aa6bd61dd983dd6" +PV .= "+git${SRCPV}" +SRCREV = "dac1a65feac4ad72f612aab99f487056fbcf5c1a" + +SRC_URI = "git://github.com/protobuf-c/protobuf-c.git" + +S = "${WORKDIR}/git" inherit autotools pkgconfig diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.4.1.bb index 18210b1e5..fae7c18a1 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.1.0.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.4.1.bb @@ -6,7 +6,7 @@ HOMEPAGE = "https://github.com/google/protobuf" SECTION = "console/tools" LICENSE = "BSD-3-Clause" -PACKAGE_BEFORE_PN = "${PN}-compiler" +PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite" DEPENDS = "zlib" RDEPENDS_${PN}-compiler = "${PN}" @@ -14,19 +14,20 @@ RDEPENDS_${PN}-dev += "${PN}-compiler" LIC_FILES_CHKSUM = "file://LICENSE;md5=35953c752efc9299b184f91bef540095" -SRCREV = "a428e42072765993ff674fda72863c9f1aa2d268" +SRCREV = "b04e5cba356212e4e8c66c61bbe0c3a20537c5b9" -PV = "3.1.0+git${SRCPV}" +PV = "3.4.1+git${SRCPV}" -SRC_URI = "git://github.com/google/protobuf.git" +SRC_URI = "git://github.com/google/protobuf.git;branch=3.4.x" EXTRA_OECONF += " --with-protoc=echo" -inherit autotools +inherit autotools-brokensep S = "${WORKDIR}/git" FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}" +FILES_${PN}-lite = "${bindir} ${libdir}/libprotobuf-lite${SOLIBS}" MIPS_INSTRUCTION_SET = "mips" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.0.5.bb index 3eb18829f..c85fc56b8 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.0.5.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.0.5.bb @@ -12,3 +12,5 @@ SRC_URI[sha256sum] = "0542525145d5afc984c88f914a0c85c77527f65946617edb5274f72406 S = "${WORKDIR}/futures-${PV}" inherit setuptools + +BBCLASSEXTEND = "native" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.22.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.22.0.bb index acc2f5b7a..9d2e16554 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.22.0.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.22.0.bb @@ -1,4 +1,5 @@ SUMMARY = "Python GObject bindings" +HOMEPAGE = "http://www.pygtk.org/" SECTION = "devel/python" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb index 4cded0720..8ab35d224 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb @@ -21,5 +21,6 @@ EXTRA_OECMAKE += "-DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJ # RapidJSON is a header-only C++ library, so the main package will be empty. FILES_${PN}-dev += "${libdir}/cmake" +RDEPENDS_${PN}-dev = "" BBCLASSEXTEND = "native nativesdk" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.8.bb new file mode 100644 index 000000000..82b179521 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.8.bb @@ -0,0 +1,31 @@ +SUMMARY = "Trace and analyze execution of a program written in C/C++" +HOMEPAGE = "https://github.com/namhyung/uftrace" +BUGTRACKER = "https://github.com/namhyung/uftrace/issues" +SECTION = "devel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "elfutils" +DEPENDS_append_libc-musl = " argp-standalone" + +inherit autotools + +SRCREV = "5af9ff9fa89c340617e52c8ed05798b352a7145c" +SRC_URI = "git://github.com/namhyung/${BPN}" +S = "${WORKDIR}/git" + +LDFLAGS_append_libc-musl = " -largp" +EXTRA_OECONF = "ARCH=${TARGET_ARCH}" + +do_configure() { + ${S}/configure ${EXTRA_OECONF} +} + +FILES_SOLIBSDEV = "" +FILES_${PN} += "${libdir}/*.so" + +COMPATIBLE_HOST = "(x86_64|aarch64|arm)" + +# uftrace supports armv6 and above +COMPATIBLE_HOST_armv4 = 'null' +COMPATIBLE_HOST_armv5 = 'null' diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb index 0849e8856..91003f6e9 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a6a4ddbb7cd2999f6827ee143f6fcd97" DEPENDS = "openssl" -SRC_URI = "ftp://ftp.cac.washington.edu/imap/imap-${PV}.tar.gz \ +SRC_URI = "https://fossies.org/linux/misc/old/imap-${PV}.tar.gz \ file://quote_cctype.patch \ file://imap-2007e-shared.patch \ file://imap-2007f-format-security.patch \ diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc b/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc deleted file mode 100644 index f7d480f17..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc +++ /dev/null @@ -1,16 +0,0 @@ -DESCRIPTION = "Vala DBus Binding Tool" -SECTION = "devel" -DEPENDS = "vala libgee libxml2" -HOMEPAGE = "http://wiki.freesmartphone.org/index.php/Implementations/vala-dbus-binding-tool" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -PE = "1" -INC_PR = "r3" - -export XDG_DATA_DIRS = "${STAGING_DATADIR}" - -SRC_URI = "${SOURCEFORGE_MIRROR}/freesmartphone/sources/${BP}.tar.bz2" - -inherit autotools perlnative pkgconfig - -BBCLASSEXTEND = "native" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool/0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool/0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch deleted file mode 100644 index 14d84ae8a..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool/0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 8abed2e5bf8e7815b11df6d22042d5f0ac8efcb0 Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Tue, 5 May 2015 13:43:35 +0200 -Subject: [PATCH] configure.ac: don't use dash in m4 macro names - -* otherwise it doesn't get expanded and vala-dbus-binding-tool ends with version 'vala-dbus-binding-tool_version' - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - configure.ac | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 48f007c..18d0bde 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1,9 +1,9 @@ --m4_define([vala-dbus-binding-tool_released], [0]) --m4_define([vala-dbus-binding-tool_base_version], [1.0]) --m4_define([vala-dbus-binding-tool_maybe_gitrev], m4_if(vala-dbus-binding-tool_released, [1], [], [m4_esyscmd([git show-ref --hash=5 HEAD | tr -d '\n\r'])])) --m4_define([vala-dbus-binding-tool_version], m4_if(vala-dbus-binding-tool_released, [1], [vala-dbus-binding-tool_base_version], [vala-dbus-binding-tool_base_version-vala-dbus-binding-tool_maybe_gitrev])) -+m4_define([vala_dbus_binding_tool_released], [0]) -+m4_define([vala_dbus_binding_tool_base_version], [1.0]) -+m4_define([vala_dbus_binding_tool_maybe_gitrev], m4_if(vala_dbus_binding_tool_released, [1], [], [m4_esyscmd([git show-ref --hash=5 HEAD | tr -d '\n\r'])])) -+m4_define([vala_dbus_binding_tool_version], m4_if(vala_dbus_binding_tool_released, [1], [vala_dbus_binding_tool_base_version], [vala_dbus_binding_tool_base_version-vala_dbus_binding_tool_maybe_gitrev])) - --AC_INIT([vala-dbus-binding-tool], [vala-dbus-binding-tool_version], [fso@openphoenux.org], [vala-dbus-binding-tool]) -+AC_INIT([vala-dbus-binding-tool], [vala_dbus_binding_tool_version], [fso@openphoenux.org], [vala-dbus-binding-tool]) - AC_CONFIG_SRCDIR([src/Makefile.am]) - AC_CONFIG_HEADERS(config.h) - AM_INIT_AUTOMAKE([dist-bzip2]) --- -2.3.5 - diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb deleted file mode 100644 index 19e3dceca..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb +++ /dev/null @@ -1,6 +0,0 @@ -require vala-dbus-binding-tool.inc - -SRC_URI[md5sum] = "59eab7abf38f35355d3786803bd2441f" -SRC_URI[sha256sum] = "1e37ab2e6238eaef9f573560ea7379e6955570f7c9503083e50c4c185c1956df" - -PNBLACKLIST[vala-dbus-binding-tool] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/131628/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb deleted file mode 100644 index 32f34550d..000000000 --- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb +++ /dev/null @@ -1,20 +0,0 @@ -require vala-dbus-binding-tool.inc - -# Temporary remove negative preference, because there are 2 versions of 0.4.0 archives: -# the original one depending on libgee1.0 from -# http://downloads.freesmartphone.org/sources/${BPN}/${BP}.tar.bz2 -# and new one depending on libgee0.8 from -# http://sourceforge.net/projects/freesmartphone/files/sources/ -# The original one can be already deployed on various premirrors, -# so prefer the git recipe which doesn't suffer from this issue -# DEFAULT_PREFERENCE = "-1" - -SRCREV = "742c04c2bb0743891904522ce47e50f9e5c99b12" -PV = "0.4.0+gitr${SRCPV}" - -SRC_URI = "git://github.com/freesmartphone/vala-dbus-binding-tool.git;protocol=https \ - file://0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch \ -" -S = "${WORKDIR}/git" - -PNBLACKLIST[vala-dbus-binding-tool] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130581/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch new file mode 100644 index 000000000..234d696f1 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch @@ -0,0 +1,52 @@ +From 950b27f8320b841490cafcb3e6e3b818c7174c0d Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Thu, 20 Jul 2017 22:32:50 -0400 +Subject: [PATCH] fix compile failure against musl C library + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + test/cpp/server_abyss.cpp | 2 +- + tools/xmlrpc_pstream/xmlrpc_pstream.cpp | 10 +++++++--- + 2 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/test/cpp/server_abyss.cpp b/test/cpp/server_abyss.cpp +index 2458a8f..82f91da 100644 +--- a/test/cpp/server_abyss.cpp ++++ b/test/cpp/server_abyss.cpp +@@ -18,7 +18,7 @@ + #ifdef WIN32 + #include <winsock2.h> + #else +- #include <sys/unistd.h> ++ #include <unistd.h> + #include <sys/socket.h> + #include <arpa/inet.h> + #include <netinet/in.h> +diff --git a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp +index d39e105..1fd8900 100644 +--- a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp ++++ b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp +@@ -15,11 +15,15 @@ + #include "xmlrpc-c/girerr.hpp" + using girerr::throwf; + +-#include <features.h> // for __BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + +-__BEGIN_DECLS + #include "dumpvalue.h" /* An internal Xmlrpc-c header file ! */ +-__END_DECLS ++ ++#ifdef __cplusplus ++} ++#endif + + + #include <xmlrpc-c/base.hpp> +-- +2.8.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch new file mode 100644 index 000000000..9d92e4712 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch @@ -0,0 +1,34 @@ +From 14f15cb0f03defa8efb4c8e2fece58e50655be6b Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Sun, 23 Jul 2017 22:20:29 -0400 +Subject: [PATCH] src/xmlrpc_server_abyss.c: fix formatting issues + +Fixed when compile with "-Wformat -Wformat-security -Werror=format-security": +|src/xmlrpc_server_abyss.c:771:13: error: format not a string literal +and no format arguments [-Werror=format-security] +| xmlrpc_faultf(envP, error); +| ^~~~~~~~~~~~~ + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + src/xmlrpc_server_abyss.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/xmlrpc_server_abyss.c b/src/xmlrpc_server_abyss.c +index 2388652..3843f10 100644 +--- a/src/xmlrpc_server_abyss.c ++++ b/src/xmlrpc_server_abyss.c +@@ -768,7 +768,7 @@ createServer(xmlrpc_env * const envP, + ServerInit2(abyssServerP, &error); + + if (error) { +- xmlrpc_faultf(envP, error); ++ xmlrpc_faultf(envP, "%s", error); + xmlrpc_strfree(error); + } + } +-- +2.8.1 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb new file mode 100644 index 000000000..efa58f198 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "XML-RPC for C/C++ is programming libraries and related tools to help you \ +write an XML-RPC server or client in C or C++." + +HOMEPAGE = "http://xmlrpc-c.sourceforge.net/" +LICENSE = "BSD & MIT" +LIC_FILES_CHKSUM = "file://doc/COPYING;md5=aefbf81ba0750f02176b6f86752ea951" + +SRC_URI = "git://github.com/ensc/xmlrpc-c.git;branch=master \ + file://0001-fix-compile-failure-against-musl-C-library.patch \ + file://0002-fix-formatting-issues.patch \ +" +SRCREV = "81443a9dc234cc275449dbc17867ad77ae189124" +S = "${WORKDIR}/git" + +DEPENDS = "curl libxml2" +RDEPENDS_${PN} = "curl perl" + +inherit cmake + +EXTRA_OECMAKE = "-D_lib:STRING=${baselib}" + +BBCLASSEXTEND = "native" + +TARGET_CFLAGS += "-Wno-narrowing" |