summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe/recipes-extended
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-extended')
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/beep/beep_1.2.2.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/beep/files/linux-input.patch155
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/collectd/collectd/collectd.init8
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20201126.bb (renamed from meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20200327.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/275.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.5.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb3
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/inputattach-config/inputattach-config.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/inputattach-config/inputattach-config/inputattach.conf8
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/jpnevulator/jpnevulator_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/51-these-are-not-joysticks-rm.rules83
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/60-joystick.rules7
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/inputattach.service11
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/inputattachctl16
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.0.bb83
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.18.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/0001-civetweb-CMakeLists.txt-do-not-search-gcc-ar-and-gcc.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.8.bb (renamed from meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.6.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.2.1.bb (renamed from meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.1.2.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/redis/redis/ilp32.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.8.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode/python39.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb3
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb7
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb3
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.12.bb (renamed from meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.11.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/tmux/tmux_3.1c.bb (renamed from meta-openembedded/meta-oe/recipes-extended/tmux/tmux_3.1b.bb)4
33 files changed, 577 insertions, 30 deletions
diff --git a/meta-openembedded/meta-oe/recipes-extended/beep/beep_1.2.2.bb b/meta-openembedded/meta-oe/recipes-extended/beep/beep_1.2.2.bb
new file mode 100644
index 000000000..cafc86964
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/beep/beep_1.2.2.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "beep is a command line tool for linux that beeps the PC speaker"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+SRC_URI = "\
+ http://johnath.com/beep/beep-${PV}.tar.gz \
+ file://linux-input.patch \
+"
+
+SRC_URI[sha256sum] = "5c0445dac43950b7c7c3f235c6fb21f620ab3fd2f3aafaf09896e5730fcf49a1"
+
+S = "${WORKDIR}/${BPN}-${PV}"
+
+EXTRA_OEMAKE += 'CC="${CC}"'
+EXTRA_OEMAKE += 'FLAGS="${CFLAGS} ${LDFLAGS}"'
+
+do_configure[noexec] = "1"
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ install -Dm 0755 ${B}/${PN} ${D}${bindir}/${PN}
+}
diff --git a/meta-openembedded/meta-oe/recipes-extended/beep/files/linux-input.patch b/meta-openembedded/meta-oe/recipes-extended/beep/files/linux-input.patch
new file mode 100644
index 000000000..1b38ba72a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/beep/files/linux-input.patch
@@ -0,0 +1,155 @@
+# the diff between Alessandro Zummo's copy of beep.c and the original
+# one...
+
+--- beep-1.2.2/beep.c.orig 2006-01-29 12:13:36.994560551 -0800
++++ beep-1.2.2/beep.c 2006-01-29 12:35:02.950558713 -0800
+@@ -26,6 +26,7 @@
+ #include <sys/ioctl.h>
+ #include <sys/types.h>
+ #include <linux/kd.h>
++#include <linux/input.h>
+
+ /* I don't know where this number comes from, I admit that freely. A
+ wonderful human named Raine M. Ekman used it in a program that played
+@@ -86,18 +87,28 @@ typedef struct beep_parms_t {
+ struct beep_parms_t *next; /* in case -n/--new is used. */
+ } beep_parms_t;
+
++enum { BEEP_TYPE_CONSOLE, BEEP_TYPE_EVDEV };
++
+ /* Momma taught me never to use globals, but we need something the signal
+ handlers can get at.*/
+ int console_fd = -1;
++int console_type = BEEP_TYPE_CONSOLE;
++char *console_device = NULL;
++
++void do_beep(int freq);
+
+ /* If we get interrupted, it would be nice to not leave the speaker beeping in
+ perpetuity. */
+ void handle_signal(int signum) {
++
++ if(console_device)
++ free(console_device);
++
+ switch(signum) {
+ case SIGINT:
+ if(console_fd >= 0) {
+ /* Kill the sound, quit gracefully */
+- ioctl(console_fd, KIOCSOUND, 0);
++ do_beep(0);
+ close(console_fd);
+ exit(signum);
+ } else {
+@@ -110,7 +121,7 @@ void handle_signal(int signum) {
+ /* print usage and exit */
+ void usage_bail(const char *executable_name) {
+ printf("Usage:\n%s [-f freq] [-l length] [-r reps] [-d delay] "
+- "[-D delay] [-s] [-c]\n",
++ "[-D delay] [-s] [-c] [-e device]\n",
+ executable_name);
+ printf("%s [Options...] [-n] [--new] [Options...] ... \n", executable_name);
+ printf("%s [-h] [--help]\n", executable_name);
+@@ -141,11 +152,12 @@ void usage_bail(const char *executable_n
+ void parse_command_line(int argc, char **argv, beep_parms_t *result) {
+ int c;
+
+- struct option opt_list[4] = {{"help", 0, NULL, 'h'},
++ struct option opt_list[] = {{"help", 0, NULL, 'h'},
+ {"version", 0, NULL, 'V'},
+ {"new", 0, NULL, 'n'},
++ {"device", 1, NULL, 'e'},
+ {0,0,0,0}};
+- while((c = getopt_long(argc, argv, "f:l:r:d:D:schvVn", opt_list, NULL))
++ while((c = getopt_long(argc, argv, "f:l:r:d:D:schvVne:", opt_list, NULL))
+ != EOF) {
+ int argval = -1; /* handle parsed numbers for various arguments */
+ float argfreq = -1;
+@@ -207,6 +219,9 @@ void parse_command_line(int argc, char *
+ result->next->next = NULL;
+ result = result->next; /* yes, I meant to do that. */
+ break;
++ case 'e' : /* also --device */
++ console_device = strdup(optarg);
++ break;
+ case 'h' : /* notice that this is also --help */
+ default :
+ usage_bail(argv[0]);
+@@ -214,26 +229,61 @@ void parse_command_line(int argc, char *
+ }
+ }
+
++void do_beep(int freq)
++{
++ if (console_type == BEEP_TYPE_CONSOLE)
++ {
++ if(ioctl(console_fd, KIOCSOUND, freq != 0
++ ? (int)(CLOCK_TICK_RATE/freq)
++ : freq) < 0) {
++ printf("\a"); /* Output the only beep we can, in an effort to fall back on usefulness */
++ perror("ioctl");
++ }
++ }
++ else
++ {
++ /* BEEP_TYPE_EVDEV */
++ struct input_event e;
++
++ e.type = EV_SND;
++ e.code = SND_TONE;
++ e.value = freq;
++
++ write(console_fd, &e, sizeof(struct input_event));
++ }
++}
++
+ void play_beep(beep_parms_t parms) {
+ int i; /* loop counter */
+
+ /* try to snag the console */
+- if((console_fd = open("/dev/console", O_WRONLY)) == -1) {
+- fprintf(stderr, "Could not open /dev/console for writing.\n");
++
++ if(console_device)
++ console_fd = open(console_device, O_WRONLY);
++ else
++ if((console_fd = open("/dev/input/event0", O_WRONLY)) == -1)
++ if((console_fd = open("/dev/tty0", O_WRONLY)) == -1)
++ console_fd = open("/dev/vc/0", O_WRONLY);
++
++ if(console_fd == -1) {
++ fprintf(stderr, "Could not open %s for writing\n",
++ console_device != NULL ? console_device : "/dev/tty0 or /dev/vc/0");
+ printf("\a"); /* Output the only beep we can, in an effort to fall back on usefulness */
+ perror("open");
+ exit(1);
+ }
+
++ if (ioctl(console_fd, EVIOCGSND(0)) != -1)
++ console_type = BEEP_TYPE_EVDEV;
++ else
++ console_type = BEEP_TYPE_CONSOLE;
++
+ /* Beep */
+ for (i = 0; i < parms.reps; i++) { /* start beep */
+- if(ioctl(console_fd, KIOCSOUND, (int)(CLOCK_TICK_RATE/parms.freq)) < 0) {
+- printf("\a"); /* Output the only beep we can, in an effort to fall back on usefulness */
+- perror("ioctl");
+- }
++ do_beep(parms.freq);
+ /* Look ma, I'm not ansi C compatible! */
+ usleep(1000*parms.length); /* wait... */
+- ioctl(console_fd, KIOCSOUND, 0); /* stop beep */
++ do_beep(0);
+ if(parms.end_delay || (i+1 < parms.reps))
+ usleep(1000*parms.delay); /* wait... */
+ } /* repeat. */
+@@ -295,5 +345,8 @@ int main(int argc, char **argv) {
+ parms = next;
+ }
+
++ if(console_device)
++ free(console_device);
++
+ return EXIT_SUCCESS;
+ }
diff --git a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/collectd.init b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/collectd.init
index 95f5f73c6..83413463d 100644
--- a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/collectd.init
+++ b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/collectd.init
@@ -47,11 +47,11 @@ if [ -r /etc/default/$NAME ]; then
. /etc/default/$NAME
fi
-if test "$ENABLE_COREFILES" == 1; then
+if test "$ENABLE_COREFILES" = 1; then
ulimit -c unlimited
fi
-if test "$USE_COLLECTDMON" == 1; then
+if test "$USE_COLLECTDMON" = 1; then
_PIDFILE="$COLLECTDMON_PIDFILE"
else
_PIDFILE="$PIDFILE"
@@ -96,7 +96,7 @@ d_start() {
return 2
fi
- if test "$USE_COLLECTDMON" == 1; then
+ if test "$USE_COLLECTDMON" = 1; then
start-stop-daemon --start --quiet --oknodo --pidfile "$_PIDFILE" \
--exec $COLLECTDMON_DAEMON -- -P "$_PIDFILE" -- -C "$CONFIGFILE" \
|| return 2
@@ -150,7 +150,7 @@ d_stop() {
# 0 if the daemon is running
# 3 if the daemon is stopped
d_status(){
- if test "$USE_COLLECTDMON" == 1; then
+ if test "$USE_COLLECTDMON" = 1; then
status $COLLECTDMON_DAEMON
else
status $DAEMON
diff --git a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb
index b9e735f27..f84a91adf 100644
--- a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb
@@ -56,7 +56,7 @@ EXTRA_OECONF = " \
${FPLAYOUT} \
--disable-perl --with-libperl=no --with-perl-bindings=no \
--with-libgcrypt=${STAGING_BINDIR_CROSS}/libgcrypt-config \
- --disable-notify_desktop \
+ --disable-notify_desktop --disable-werror \
"
do_install_append() {
diff --git a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20200327.bb b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20201126.bb
index 4c3177c05..5097788ed 100644
--- a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20200327.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20201126.bb
@@ -10,8 +10,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz \
"
-SRC_URI[md5sum] = "f7a3c240af305b5282af590541e8f4b7"
-SRC_URI[sha256sum] = "466163e8b97c2b7709d00389199add3156bd813f60ccb0335d0a30f2d4a17f99"
+SRC_URI[md5sum] = "14bf3b33de348838ff30aff0aa9d1c2e"
+SRC_URI[sha256sum] = "c9233a6c8ea33a59e2378e5146ae2bd13b519744cfdb647af7420adac5ad3866"
# hardcoded here for use in dialog-static recipe
S = "${WORKDIR}/dialog-${PV}"
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/275.patch b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/275.patch
new file mode 100644
index 000000000..75065eb05
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/275.patch
@@ -0,0 +1,38 @@
+Upstream-status: Backport
+CVE: CVE-2020-29394
+From 7f5cd5404a03fa330e192084f6bdafb2dc9bdcb7 Mon Sep 17 00:00:00 2001
+From: GwanYeong Kim <gy741.kim@gmail.com>
+Date: Sat, 28 Nov 2020 12:24:46 +0900
+Subject: [PATCH] dlt_common: Fix buffer overflow in dlt_filter_load
+
+A buffer overflow in the dlt_filter_load function in dlt_common.c in dlt-daemon allows arbitrary code execution via an unsafe usage of fscanf, because it does not limit the number of characters to be read in a format argument.
+
+Fixed: #274
+
+Signed-off-by: GwanYeong Kim <gy741.kim@gmail.com>
+---
+ src/shared/dlt_common.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/shared/dlt_common.c b/src/shared/dlt_common.c
+index 254f4ce4..d15b1cec 100644
+--- a/src/shared/dlt_common.c
++++ b/src/shared/dlt_common.c
+@@ -404,7 +404,7 @@ DltReturnValue dlt_filter_load(DltFilter *filter, const char *filename, int verb
+ while (!feof(handle)) {
+ str1[0] = 0;
+
+- if (fscanf(handle, "%s", str1) != 1)
++ if (fscanf(handle, "%254s", str1) != 1)
+ break;
+
+ if (str1[0] == 0)
+@@ -419,7 +419,7 @@ DltReturnValue dlt_filter_load(DltFilter *filter, const char *filename, int verb
+
+ str1[0] = 0;
+
+- if (fscanf(handle, "%s", str1) != 1)
++ if (fscanf(handle, "%254s", str1) != 1)
+ break;
+
+ if (str1[0] == 0)
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.5.bb b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.5.bb
index f3fcee4d2..5066e76d3 100644
--- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.5.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.5.bb
@@ -19,6 +19,7 @@ SRC_URI = "git://github.com/GENIVI/${BPN}.git;protocol=https \
file://0004-Modify-systemd-config-directory.patch \
file://241.patch \
file://245.patch \
+ file://275.patch \
"
SRCREV = "f1ac087c766827b1d0ed9c3a814b3cc052e948f2"
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
index 411268815..bc4cd0cf9 100644
--- a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
@@ -26,6 +26,8 @@ DEPENDS_append_libc-musl = " fts "
INSANE_SKIP_${PN}-dev += "dev-elf"
+LTO = ""
+
# Use CMake 'Unix Makefiles' generator
OECMAKE_GENERATOR ?= "Unix Makefiles"
@@ -44,6 +46,7 @@ EXTRA_OECMAKE += "-DFLB_SHARED_LIB=Off -DFLB_EXAMPLES=Off "
EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES','systemd','-DFLB_SYSTEMD=On','',d)}"
EXTRA_OECMAKE_append_riscv64 = " -DFLB_DEPS='atomic'"
+EXTRA_OECMAKE_append_riscv32 = " -DFLB_DEPS='atomic'"
# Kafka Output plugin (disabled by default): note that when
# enabling Kafka output plugin, the backend library librdkafka
diff --git a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb
index 926d8851d..b2c41756e 100644
--- a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb
@@ -32,7 +32,7 @@ BBCLASSEXTEND = "native"
DEPENDS_class-native = "readline-native"
PACKAGECONFIG_class-native = ""
-SRC_URI_append_class-native = "file://0001-reduce-build-to-conversion-tools-for-native-build.patch"
+SRC_URI_append_class-native = " file://0001-reduce-build-to-conversion-tools-for-native-build.patch"
do_install_class-native() {
install -d ${D}${bindir}
diff --git a/meta-openembedded/meta-oe/recipes-extended/inputattach-config/inputattach-config.bb b/meta-openembedded/meta-oe/recipes-extended/inputattach-config/inputattach-config.bb
new file mode 100644
index 000000000..68beec670
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/inputattach-config/inputattach-config.bb
@@ -0,0 +1,12 @@
+SUMMARY = "inputattach configuration file"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
+
+SRC_URI = "file://inputattach.conf"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ install -Dm 0644 ${WORKDIR}/inputattach.conf ${D}${sysconfdir}/inputattach.conf
+}
diff --git a/meta-openembedded/meta-oe/recipes-extended/inputattach-config/inputattach-config/inputattach.conf b/meta-openembedded/meta-oe/recipes-extended/inputattach-config/inputattach-config/inputattach.conf
new file mode 100644
index 000000000..86c421012
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/inputattach-config/inputattach-config/inputattach.conf
@@ -0,0 +1,8 @@
+#
+# Configuration for inputattach
+#
+# Every line of this file are inputattach arguments, see 'inputattach --help'.
+# An inputattach instance will be started for each element.
+#
+# --microsoft /dev/ttyS0
+# --baud 9600 --w8001 /dev/ttyS1
diff --git a/meta-openembedded/meta-oe/recipes-extended/jpnevulator/jpnevulator_git.bb b/meta-openembedded/meta-oe/recipes-extended/jpnevulator/jpnevulator_git.bb
index 50dd74b68..f2805a1b8 100644
--- a/meta-openembedded/meta-oe/recipes-extended/jpnevulator/jpnevulator_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/jpnevulator/jpnevulator_git.bb
@@ -2,10 +2,10 @@ SUMMARY = "A handy serial sniffer"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
-PV = "2.3.5+git${SRCPV}"
+PV = "2.3.6+git${SRCPV}"
SRC_URI = "git://github.com/snarlistic/jpnevulator.git;protocol=http"
-SRCREV = "c2d857091c0dfed05139ac07ea9b0f36ad259638"
+SRCREV = "bc1d4f6587a4a4829b5d55e3ca7ad584da6de545"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb
index 408fa8ac0..6ef5b4f43 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \
DEPENDS = "libxml2 glib-2.0 swig python3"
-inherit autotools pkgconfig python3native
+inherit autotools pkgconfig python3native python3targetconfig
SRCREV = "c5a30e9267068436a75b5d00fcbf95cb9c1f4dcd"
SRC_URI = "git://github.com/libimobiledevice/libplist;protocol=https"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb b/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb
index a081cb17a..27fe0e2c4 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb
@@ -31,4 +31,4 @@ FILES_statgrab-dbg = "${bindir}/.debug/statgrab"
FILES_saidar = "${bindir}/saidar"
FILES_saidar-dbg = "${bindir}/.debug/saidar"
FILES_${PN}-mrtg = "${bindir}/statgrab-make-mrtg-config ${bindir}/statgrab-make-mrtg-index"
-RDEPENDS_${PN}-mrtg_append = "perl statgrab"
+RDEPENDS_${PN}-mrtg_append = " perl statgrab"
diff --git a/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/51-these-are-not-joysticks-rm.rules b/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/51-these-are-not-joysticks-rm.rules
new file mode 100644
index 000000000..3e0ab4018
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/51-these-are-not-joysticks-rm.rules
@@ -0,0 +1,83 @@
+# /etc/udev/rules.d/51-these-are-not-joysticks-rm.rules
+#
+# This file is auto-generated. For more information:
+# https://github.com/denilsonsa/udev-joystick-blacklist
+
+SUBSYSTEM=="input", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c30a", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c30a", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="04d9", ATTRS{idProduct}=="a0df", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="04d9", ATTRS{idProduct}=="a0df", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0010", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0010", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0011", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0011", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0012", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0012", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0013", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0013", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0014", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0014", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0015", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0015", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0016", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0016", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0017", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0017", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0018", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0018", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0019", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0019", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00d1", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00d1", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="030e", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="030e", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="054f", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="054f", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="1410", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="1410", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="3043", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="3043", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="31b5", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="31b5", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="3997", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="3997", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="3f8b", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="3f8b", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="51f4", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="51f4", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="5589", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="5589", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="7b22", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="7b22", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="7f2d", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="7f2d", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="8090", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="8090", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="9033", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="9033", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="9066", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="9066", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="9090", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="9090", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="90c0", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="90c0", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="f012", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="f012", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="f32a", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="f32a", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="f613", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="f613", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="f624", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="f624", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1b3c", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1b3c", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="1d57", ATTRS{idProduct}=="ad03", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="1d57", ATTRS{idProduct}=="ad03", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="1e7d", ATTRS{idProduct}=="2e4a", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="1e7d", ATTRS{idProduct}=="2e4a", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="422d", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="422d", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="2516", ATTRS{idProduct}=="001f", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="2516", ATTRS{idProduct}=="001f", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="2516", ATTRS{idProduct}=="0028", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
+SUBSYSTEM=="input", ATTRS{idVendor}=="2516", ATTRS{idProduct}=="0028", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
diff --git a/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/60-joystick.rules b/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/60-joystick.rules
new file mode 100644
index 000000000..24b009be2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/60-joystick.rules
@@ -0,0 +1,7 @@
+# Restore any stored calibration for the device
+ACTION=="add", KERNEL=="js*", RUN+="/usr/bin/jscal-restore %E{DEVNAME}"
+
+# Set PS3 controller leds to the same value bluez will choose for it.
+# IMPORT{parent} used because $parent did not appear to be working; we
+# don't need the devpath of the js device for this so it is OK to overwrite.
+ACTION=="add", KERNEL=="js*", IMPORT{parent}="DEVPATH", ATTRS{name}=="Sony PLAYSTATION(R)3 Controller", RUN+="/lib/udev/js-set-enum-leds /sys/%E{DEVPATH}/device/leds/ $number"
diff --git a/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/inputattach.service b/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/inputattach.service
new file mode 100644
index 000000000..2ec902c09
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/inputattach.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Attach serial input devices to kernel input subsystem
+After=syslog.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/inputattachctl start
+ExecStop=/usr/bin/inputattachctl stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/inputattachctl b/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/inputattachctl
new file mode 100644
index 000000000..c6da4e68f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/inputattachctl
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+do_start() {
+ grep -v '^#' /etc/inputattach.conf | while read -r line; do
+ inputattach --daemon $line || exit 1
+ done
+}
+
+case "$1" in
+ start)
+ do_start
+ ;;
+ stop)
+ killall -9 inputattach || true
+ ;;
+esac
diff --git a/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.0.bb b/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.0.bb
new file mode 100644
index 000000000..c4cd1d609
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.0.bb
@@ -0,0 +1,83 @@
+SUMMARY = "Linux Console Project"
+DESCRIPTION = "This project maintains the Linux Console tools, which include \
+utilities to test and configure joysticks, connect legacy devices to the kernel's \
+input subsystem (providing support for serial mice, touchscreens etc.), and test \
+the input event layer."
+HOMEPAGE = "https://sourceforge.net/projects/linuxconsole"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "libsdl2"
+DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+SRC_URI = "\
+ ${SOURCEFORGE_MIRROR}/linuxconsole/linuxconsoletools-${PV}.tar.bz2 \
+ file://51-these-are-not-joysticks-rm.rules \
+ file://60-joystick.rules \
+ file://inputattachctl \
+ file://inputattach.service \
+"
+
+SRC_URI[sha256sum] = "95d112f06393806116341d593bda002c8bc44119c1538407623268fed90d8c34"
+
+S = "${WORKDIR}/linuxconsoletools-${PV}"
+
+inherit systemd pkgconfig
+
+EXTRA_OEMAKE = "DESTDIR=${D} PREFIX=${prefix} -C utils"
+EXTRA_OEMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'SYSTEMD_SUPPORT=1', '', d)}"
+
+SYSTEMD_PACKAGES += "inputattach"
+SYSTEMD_SERVICE_inputattach = "inputattach.service"
+SYSTEMD_AUTO_ENABLE_inputattach = "enable"
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ oe_runmake install
+
+ install -Dm 0644 ${WORKDIR}/51-these-are-not-joysticks-rm.rules ${D}${base_libdir}/udev/rules.d/51-these-are-not-joysticks-rm.rules
+ install -Dm 0644 ${WORKDIR}/60-joystick.rules ${D}${base_libdir}/udev/rules.d/60-joystick.rules
+
+ install -Dm 0644 ${WORKDIR}/inputattach.service ${D}${systemd_system_unitdir}/inputattach.service
+ install -Dm 0755 ${WORKDIR}/inputattachctl ${D}${bindir}/inputattachctl
+}
+
+PACKAGES += "inputattach joystick"
+
+# We won't package any file here as we are following the same packaging schema
+# Debian does and we are splitting it in 'inputattach' and 'joystick' packages.
+FILES_${PN} = ""
+
+FILES_inputattach += "\
+ ${bindir}/inputattach \
+ ${bindir}/inputattachctl \
+ ${systemd_system_unitdir}/inputattach.service \
+"
+
+FILES_joystick += "\
+ ${bindir}/evdev-joystick \
+ ${bindir}/ffcfstress \
+ ${bindir}/ffmvforce \
+ ${bindir}/ffset \
+ ${bindir}/fftest \
+ ${bindir}/jscal \
+ ${bindir}/jscal-restore \
+ ${bindir}/jscal-store \
+ ${bindir}/jstest \
+ ${datadir}/joystick \
+ ${base_libdir}/udev/rules.d/51-these-are-not-joysticks-rm.rules \
+ ${base_libdir}/udev/js-set-enum-leds \
+ ${base_libdir}/udev/rules.d/60-joystick.rules \
+ ${base_libdir}/udev/rules.d/80-stelladaptor-joystick.rules \
+"
+
+RDEPENDS_inputattach += "inputattach-config"
+
+RDEPENDS_joystick += "\
+ bash \
+ gawk \
+"
diff --git a/meta-openembedded/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.18.bb b/meta-openembedded/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.18.bb
index c76e0f69e..a82f10b91 100644
--- a/meta-openembedded/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.18.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.18.bb
@@ -8,7 +8,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
DEPENDS = "liblockfile"
-SRC_URI = "http://ftp.de.debian.org/debian/pool/main/l/${BPN}/${BPN}_${PV}.tar.gz"
+SRC_URI = "${DEBIAN_MIRROR}/main/l/${BPN}/${BPN}_${PV}.tar.gz"
SRC_URI[md5sum] = "4eb83bdf88016db836b7cc09591fb0f3"
SRC_URI[sha256sum] = "a42995a4b97e6188efc90fcc1a761163c4b2cff5c81b936f85c84301ddb05ce6"
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/0001-civetweb-CMakeLists.txt-do-not-search-gcc-ar-and-gcc.patch b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/0001-civetweb-CMakeLists.txt-do-not-search-gcc-ar-and-gcc.patch
new file mode 100644
index 000000000..bc480d969
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/0001-civetweb-CMakeLists.txt-do-not-search-gcc-ar-and-gcc.patch
@@ -0,0 +1,34 @@
+From 0eee3fb85dad084b6b42f7b219d8aa3a62620a27 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 28 Oct 2020 09:52:40 +0800
+Subject: [PATCH] civetweb/CMakeLists.txt: do not search gcc-ar and gcc-ranlib
+
+Do not search gcc-ar and gcc-ranlib. Specify GCC_AR and GCC_RANLIB in
+EXTRA_OECMAKE to avoid host contamination.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ thirdparty/civetweb-1.10/CMakeLists.txt | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/thirdparty/civetweb-1.10/CMakeLists.txt b/thirdparty/civetweb-1.10/CMakeLists.txt
+index f559a04e..0689e3f6 100644
+--- a/thirdparty/civetweb-1.10/CMakeLists.txt
++++ b/thirdparty/civetweb-1.10/CMakeLists.txt
+@@ -246,11 +246,9 @@ set_property(CACHE CIVETWEB_CXX_STANDARD PROPERTY STRINGS auto c++14 c++11 c++98
+
+ # Configure the linker
+ if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
+- find_program(GCC_AR gcc-ar)
+ if (GCC_AR)
+ set(CMAKE_AR ${GCC_AR})
+ endif()
+- find_program(GCC_RANLIB gcc-ranlib)
+ if (GCC_RANLIB)
+ set(CMAKE_RANLIB ${GCC_RANLIB})
+ endif()
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
index 9113fa67a..b3ea44c3c 100644
--- a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
@@ -7,7 +7,7 @@ SECTION = "console/network"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f9534eb5f4ab800b573a37bffc62f3a7"
-DEPENDS = "virtual/crypt expat flex python3 bison-native libxml2"
+DEPENDS = "virtual/crypt expat flex python3 bison-native libxml2 nettle lz4"
RDEPENDS_${PN} = "python3-core"
SRCREV = "aa42957a2e227df41510047cece3cd606dc1cb6a"
@@ -27,6 +27,7 @@ SRC_URI = "git://github.com/apache/nifi-minifi-cpp.git \
file://0001-CMakeLists.txt-use-curl-local-source-tarball.patch \
file://0002-cmake-LibreSSL.cmake-use-libressl-local-source-tarba.patch \
file://0003-cmake-BundledOSSPUUID.cmake-use-ossp-uuid-local-sour.patch \
+ file://0001-civetweb-CMakeLists.txt-do-not-search-gcc-ar-and-gcc.patch \
file://minifi.service \
file://systemd-volatile.conf \
file://sysvinit-volatile.conf \
@@ -52,20 +53,26 @@ OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
EXTRA_OECMAKE += " \
-DHOST_SYS=${HOST_SYS} -DBUILD_SYS=${BUILD_SYS} \
-DSKIP_TESTS=ON \
+ -DGCC_AR=${STAGING_BINDIR_TOOLCHAIN}/${AR} \
+ -DGCC_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \
"
EXTRA_OECMAKE_append_toolchain-clang = " -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib"
LDFLAGS_append_toolchain-clang = " -fuse-ld=lld"
+
+# RV lld errors out:
+# riscv64-yoe-linux-ld.lld: error: init.c:(.text+0x0): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
LDFLAGS_remove_riscv32 = "-fuse-ld=lld"
+LDFLAGS_remove_riscv64 = "-fuse-ld=lld"
# There are endian issues when communicating with the x86 nifi on the the mips and the ppc machines.
COMPATIBLE_MACHINE_mips = "(!.*mips).*"
COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"
-TARGET_CFLAGS_append_riscv32 += "-fpic"
-TARGET_CXXFLAGS_append_riscv32 += "-fpic"
-TARGET_CFLAGS_append_riscv64 += "-fpic"
-TARGET_CXXFLAGS_append_riscv64 += "-fpic"
+TARGET_CFLAGS_append_riscv32 = " -fpic"
+TARGET_CXXFLAGS_append_riscv32 = " -fpic"
+TARGET_CFLAGS_append_riscv64 = " -fpic"
+TARGET_CXXFLAGS_append_riscv64 = " -fpic"
do_install[cleandirs] += "${WORKDIR}/minifi-install"
diff --git a/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb b/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
index 8bd8e9006..9b3289f17 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
@@ -5,8 +5,8 @@ SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=91e7de50a8d3cf01057f318d72460acd"
-SRCREV = "e15ce6fbc76148ba8835adc92196b0d0a3f245e7"
-PV = "2.1.0+git${SRCPV}"
+SRCREV = "7786c7ded5c9ce7773890d0e3dc27632898fc6b1"
+PV = "2.2.0+git${SRCPV}"
SRC_URI = "git://github.com/eclipse/${BPN}.git;protocol=http \
file://0001-cmake-Use-a-regular-expression-to-match-x86-architec.patch \
diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.6.bb b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.8.bb
index 1e22d3abe..4f0f719fb 100644
--- a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.6.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.8.bb
@@ -25,7 +25,7 @@ SRC_URI = " \
gitsm://github.com/ostreedev/ostree \
file://run-ptest \
"
-SRCREV = "5d2183f63ef5ecf0e6e555c3214dd3fc17a8e5a1"
+SRCREV = "3e289b19345e30d2da193cd208e109f7d7aaa2a1"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+\.\d+)"
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.1.2.bb b/meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.2.1.bb
index e23733b0f..4059fd47e 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.1.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.2.1.bb
@@ -7,7 +7,7 @@ RDEPENDS_${PN} += "hiredis"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-SRCREV = "b08b36a9a91de00636e583307610f49af7876f50"
+SRCREV = "a9f9c301f8de1c181e6d45c573b5d1fe7b8200b1"
SRC_URI = "git://github.com/sewenew/redis-plus-plus"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis/ilp32.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis/ilp32.patch
new file mode 100644
index 000000000..48d01a1d6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis/ilp32.patch
@@ -0,0 +1,29 @@
+__ILP32__ is defined for all 32bit architectures with clang e.g.
+which is right but it is causing issues on non-x86 architectures
+where this condition becomes true and wrongly starts using this
+code, this issue is hidden with gcc becuase gcc does not define
+__ILP32__ for all 32bit architectures but for selected 64bit arches
+who choose to use 32bit ABI e.g. x32
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/src/debug.c
++++ b/src/debug.c
+@@ -944,7 +944,7 @@ static void *getMcontextEip(ucontext_t *
+ /* Linux */
+ #if defined(__riscv) && __riscv_xlen == 32
+ return (void*) uc->uc_mcontext.__gregs[REG_PC];
+- #elif defined(__i386__) || defined(__ILP32__)
++ #elif defined(__i386__) || (defined(__X86_64__) && defined(__ILP32__))
+ return (void*) uc->uc_mcontext.gregs[14]; /* Linux 32 */
+ #elif defined(__X86_64__) || defined(__x86_64__)
+ return (void*) uc->uc_mcontext.gregs[16]; /* Linux 64 */
+@@ -1125,7 +1125,7 @@ void logRegisters(ucontext_t *uc) {
+ );
+ logStackContent((void**)uc->uc_mcontext.__gregs[REG_SP]);
+ /* Linux x86 */
+- #elif defined(__i386__) || defined(__ILP32__)
++ #elif defined(__i386__) || ( defined(__X86_64__) && defined(__ILP32__))
+ serverLog(LL_WARNING,
+ "\n"
+ "EAX:%08lx EBX:%08lx ECX:%08lx EDX:%08lx\n"
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.8.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.8.bb
index 546332851..14091b565 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.8.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.8.bb
@@ -16,6 +16,7 @@ SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
file://0001-src-Do-not-reset-FINAL_LIBS.patch \
file://GNU_SOURCE.patch \
file://riscv32.patch \
+ file://ilp32.patch \
"
SRC_URI[md5sum] = "70113b4b8ea7ee4c7e148be62b5d1e0b"
diff --git a/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode/python39.patch b/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode/python39.patch
new file mode 100644
index 000000000..f7115a1cb
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode/python39.patch
@@ -0,0 +1,27 @@
+From 9b0ad5177bd692f7556a4756bdbd2da81d9c34ce Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Dan=20Hor=C3=A1k?= <dan@danny.cz>
+Date: Tue, 4 Aug 2020 09:19:44 +0200
+Subject: [PATCH] configure.ac: Add support for Python 3.9.
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index f9958b3..2917cb3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -100,7 +100,7 @@ SR_PKG_CHECK_SUMMARY([srd_pkglibs_summary])
+ # first, since usually only that variant will add "-lpython3.8".
+ # https://docs.python.org/3/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build
+ SR_PKG_CHECK([python3], [SRD_PKGLIBS],
+- [python-3.8-embed], [python-3.8 >= 3.8], [python-3.7 >= 3.7], [python-3.6 >= 3.6], [python-3.5 >= 3.5], [python-3.4 >= 3.4], [python-3.3 >= 3.3], [python-3.2 >= 3.2], [python3 >= 3.2])
++ [python-3.9-embed], [python-3.8-embed], [python-3.8 >= 3.8], [python-3.7 >= 3.7], [python-3.6 >= 3.6], [python-3.5 >= 3.5], [python-3.4 >= 3.4], [python-3.3 >= 3.3], [python-3.2 >= 3.2], [python3 >= 3.2])
+ AS_IF([test "x$sr_have_python3" = xno],
+ [AC_MSG_ERROR([Cannot find Python 3 development headers.])])
+
+--
+2.24.0.rc2
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb b/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb
index f9c1d1a3a..d78d2770c 100644
--- a/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb
@@ -8,7 +8,8 @@ DEPENDS = "glib-2.0 python3"
inherit autotools pkgconfig
-SRC_URI = "http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-${PV}.tar.gz"
+SRC_URI = "http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-${PV}.tar.gz \
+ file://python39.patch"
SRC_URI[md5sum] = "7ba4ed4ef1f06ae96979751e096c2821"
SRC_URI[sha256sum] = "c50814aa6743cd8c4e88c84a0cdd8889d883c3be122289be90c63d7d67883fc0"
diff --git a/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
index e3ad04f59..b44942303 100644
--- a/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
@@ -6,14 +6,15 @@ DEPENDS = "libsocketcan"
SRC_URI = "git://github.com/linux-can/${BPN}.git;protocol=git"
-SRCREV = "da65fdfe0d1986625ee00af0b56ae17ec132e700"
+SRCREV = "856d0a662a02dd2dc0b83a7ad1de9fd120e82c4b"
-PV = "2020.02.04"
+PV = "2020.11.0"
S = "${WORKDIR}/git"
inherit autotools pkgconfig update-alternatives
-ALTERNATIVE_${PN} = "candump cansend"
+ALTERNATIVE_${PN} = "candump cansend cansequence"
ALTERNATIVE_LINK_NAME[candump] = "${bindir}/candump"
ALTERNATIVE_LINK_NAME[cansend] = "${bindir}/cansend"
+ALTERNATIVE_LINK_NAME[cansequence] = "${bindir}/cansequence"
diff --git a/meta-openembedded/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb b/meta-openembedded/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb
index aaa265348..8b13daea1 100644
--- a/meta-openembedded/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb
@@ -22,6 +22,7 @@ inherit autotools pkgconfig
RDEPENDS_${PN} += "iproute2"
ALTERNATIVE_PRIORITY = "90"
-ALTERNATIVE_${PN} = "candump cansend"
+ALTERNATIVE_${PN} = "candump cansend cansequence"
ALTERNATIVE_LINK_NAME[candump] = "${bindir}/candump"
ALTERNATIVE_LINK_NAME[cansend] = "${bindir}/cansend"
+ALTERNATIVE_LINK_NAME[cansequence] = "${bindir}/cansequence"
diff --git a/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.11.bb b/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.12.bb
index 0debe47e0..b7a7f6f47 100644
--- a/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.11.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.12.bb
@@ -5,10 +5,14 @@ SECTION = "libs/network"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://src/libsocketcan.c;beginline=3;endline=17;md5=97e38adced4385d8fba1ae2437cedee1"
-SRCREV = "0ff01ae7e4d271a7b81241e7a7026bfcea0add3f"
+SRCREV = "077def398ad303043d73339112968e5112d8d7c8"
SRC_URI = "git://git.pengutronix.de/git/tools/libsocketcan.git;protocol=git"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
+PACKAGECONFIG[no-error-log] = "--disable-error-log,--enable-error-log"
diff --git a/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_3.1b.bb b/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_3.1c.bb
index f5078e923..7cac48eb6 100644
--- a/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_3.1b.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_3.1c.bb
@@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://tmux.c;beginline=3;endline=17;md5=f256b76d52e7b4d02bf
DEPENDS = "ncurses libevent"
SRC_URI = "https://github.com/tmux/tmux/releases/download/${PV}/tmux-${PV}.tar.gz"
-SRC_URI[md5sum] = "2cdacbf06ac4980d3f5312ad23b37f9b"
-SRC_URI[sha256sum] = "d93f351d50af05a75fe6681085670c786d9504a5da2608e481c47cf5e1486db9"
+SRC_URI[md5sum] = "7301d3fa12f35051edb185496766c745"
+SRC_URI[sha256sum] = "918f7220447bef33a1902d4faff05317afd9db4ae1c9971bef5c787ac6c88386"
UPSTREAM_CHECK_URI = "https://github.com/tmux/tmux/releases"