reset upstream subtrees to yocto 2.6
Reset the following subtrees on thud HEAD:
poky: 87e3a9739d
meta-openembedded: 6094ae18c8
meta-security: 31dc4e7532
meta-raspberrypi: a48743dc36
meta-xilinx: c42016e2e6
Also re-apply backports that didn't make it into thud:
poky:
17726d0 systemd-systemctl-native: handle Install wildcards
meta-openembedded:
4321a5d libtinyxml2: update to 7.0.1
042f0a3 libcereal: Add native and nativesdk classes
e23284f libcereal: Allow empty package
030e8d4 rsyslog: curl-less build with fmhttp PACKAGECONFIG
179a1b9 gtest: update to 1.8.1
Squashed OpenBMC subtree compatibility updates:
meta-aspeed:
Brad Bishop (1):
aspeed: add yocto 2.6 compatibility
meta-ibm:
Brad Bishop (1):
ibm: prepare for yocto 2.6
meta-ingrasys:
Brad Bishop (1):
ingrasys: set layer compatibility to yocto 2.6
meta-openpower:
Brad Bishop (1):
openpower: set layer compatibility to yocto 2.6
meta-phosphor:
Brad Bishop (3):
phosphor: set layer compatibility to thud
phosphor: libgpg-error: drop patches
phosphor: react to fitimage artifact rename
Ed Tanous (4):
Dropbear: upgrade options for latest upgrade
yocto2.6: update openssl options
busybox: remove upstream watchdog patch
systemd: Rebase CONFIG_CGROUP_BPF patch
Change-Id: I7b1fe71cca880d0372a82d94b5fd785323e3a9e7
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/meta-aspeed/conf/layer.conf b/meta-aspeed/conf/layer.conf
index dcd420b..98fd9e9 100644
--- a/meta-aspeed/conf/layer.conf
+++ b/meta-aspeed/conf/layer.conf
@@ -7,6 +7,6 @@
BBFILE_COLLECTIONS += "aspeed-layer"
BBFILE_PATTERN_aspeed-layer = ""
LAYERVERSION_aspeed-layer = "1"
-LAYERSERIES_COMPAT_aspeed-layer = "sumo"
+LAYERSERIES_COMPAT_aspeed-layer = "sumo thud"
ASPEEDBASE = '${@os.path.normpath("${LAYERDIR}/")}'
diff --git a/meta-ibm/conf/layer.conf b/meta-ibm/conf/layer.conf
index 434f616..fd05fc4 100644
--- a/meta-ibm/conf/layer.conf
+++ b/meta-ibm/conf/layer.conf
@@ -7,7 +7,7 @@
BBFILE_COLLECTIONS += "ibm-layer"
BBFILE_PATTERN_ibm-layer = ""
-LAYERSERIES_COMPAT_ibm-layer = "sumo"
+LAYERSERIES_COMPAT_ibm-layer = "thud"
# Provide a variable that points the base of the ibm layer.
IBMBASE = '${@os.path.normpath("${LAYERDIR}/")}'
diff --git a/meta-ibm/meta-palmetto/conf/layer.conf b/meta-ibm/meta-palmetto/conf/layer.conf
index 58de44f..61c7538 100644
--- a/meta-ibm/meta-palmetto/conf/layer.conf
+++ b/meta-ibm/meta-palmetto/conf/layer.conf
@@ -7,4 +7,4 @@
BBFILE_COLLECTIONS += "palmetto-layer"
BBFILE_PATTERN_palmetto-layer = ""
-LAYERSERIES_COMPAT_palmetto-layer = "sumo"
+LAYERSERIES_COMPAT_palmetto-layer = "thud"
diff --git a/meta-ibm/meta-romulus/conf/layer.conf b/meta-ibm/meta-romulus/conf/layer.conf
index fa58c44..d1eb838 100644
--- a/meta-ibm/meta-romulus/conf/layer.conf
+++ b/meta-ibm/meta-romulus/conf/layer.conf
@@ -7,4 +7,4 @@
BBFILE_COLLECTIONS += "romulus-layer"
BBFILE_PATTERN_romulus-layer = ""
-LAYERSERIES_COMPAT_romulus-layer = "sumo"
+LAYERSERIES_COMPAT_romulus-layer = "thud"
diff --git a/meta-ibm/meta-witherspoon/conf/layer.conf b/meta-ibm/meta-witherspoon/conf/layer.conf
index 7ace31d..7dd1f0b 100644
--- a/meta-ibm/meta-witherspoon/conf/layer.conf
+++ b/meta-ibm/meta-witherspoon/conf/layer.conf
@@ -7,4 +7,4 @@
BBFILE_COLLECTIONS += "witherspoon-layer"
BBFILE_PATTERN_witherspoon-layer = ""
-LAYERSERIES_COMPAT_witherspoon-layer = "sumo"
+LAYERSERIES_COMPAT_witherspoon-layer = "thud"
diff --git a/meta-ibm/recipes-httpd/nginx/nginx_%.bbappend b/meta-ibm/recipes-httpd/nginx/nginx_%.bbappend
index 7acc986..ee5ffd5 100644
--- a/meta-ibm/recipes-httpd/nginx/nginx_%.bbappend
+++ b/meta-ibm/recipes-httpd/nginx/nginx_%.bbappend
@@ -10,7 +10,7 @@
"
RDEPENDS_${PN} += " \
- openssl \
+ openssl-bin \
${VIRTUAL-RUNTIME_base-utils} \
"
diff --git a/meta-ingrasys/conf/layer.conf b/meta-ingrasys/conf/layer.conf
index 05c40a9..eaa0582 100644
--- a/meta-ingrasys/conf/layer.conf
+++ b/meta-ingrasys/conf/layer.conf
@@ -3,7 +3,7 @@
BBFILE_COLLECTIONS += "ingrasys"
BBFILE_PATTERN_ingrasys = ""
-LAYERSERIES_COMPAT_ingrasys = "sumo"
+LAYERSERIES_COMPAT_ingrasys = "thud"
# Provide a variable that points the base of the ingrasys layer.
INGRASYSBASE = '${@os.path.normpath("${LAYERDIR}/")}'
diff --git a/meta-ingrasys/meta-zaius/conf/layer.conf b/meta-ingrasys/meta-zaius/conf/layer.conf
index 7467aa5..d57aea0 100644
--- a/meta-ingrasys/meta-zaius/conf/layer.conf
+++ b/meta-ingrasys/meta-zaius/conf/layer.conf
@@ -7,4 +7,4 @@
BBFILE_COLLECTIONS += "zaius"
BBFILE_PATTERN_zaius = ""
-LAYERSERIES_COMPAT_zaius = "sumo"
+LAYERSERIES_COMPAT_zaius = "thud"
diff --git a/meta-openembedded/README b/meta-openembedded/README
index 204966a..a716801 100644
--- a/meta-openembedded/README
+++ b/meta-openembedded/README
@@ -1,4 +1,7 @@
Collection of layers for the OE-core universe
-Please see the respective READMEs in the layer subdirectories
+Thud maintainer: Armin Kuster <akuster808@gmail.com>
+This repository is a collection of layers to suppliment OE-Core
+with additional packages, Each layer have designated maintainer
+Please see the respective READMEs in the layer subdirectories
diff --git a/meta-openembedded/meta-filesystems/README b/meta-openembedded/meta-filesystems/README
index 97d0e94..ac0035a 100644
--- a/meta-openembedded/meta-filesystems/README
+++ b/meta-openembedded/meta-filesystems/README
@@ -10,30 +10,30 @@
This layer depends on:
URI: git://git.openembedded.org/bitbake
- branch: master
+ branch: 1.40
URI: git://git.openembedded.org/openembedded-core
layers: meta
- branch: master
+ branch: thud
URI: git://git.openembedded.org/meta-openembedded
layers: meta-oe
- branch: master
+ branch: thud
Patches
=======
Please submit any patches against the filesystems layer to the
OpenEmbedded development mailing list (openembedded-devel@lists.openembedded.org)
-with '[meta-filesystems]' in the subject.
+with '[meta-filesystems][thud]' in the subject.
-Layer maintainer: Armin Kuster <akuster808@gmail.com>
+Thud maintainer: Armin Kuster <akuster808@gmail.com>
When sending single patches, please use something like:
git send-email -1 -M \
--to openembedded-devel@lists.openembedded.org \
- --subject-prefix=meta-filesystems][PATCH
+ --subject-prefix=meta-filesystems][thud][PATCH
Table of Contents
diff --git a/meta-openembedded/meta-filesystems/conf/layer.conf b/meta-openembedded/meta-filesystems/conf/layer.conf
index dbcff42..002f099 100644
--- a/meta-openembedded/meta-filesystems/conf/layer.conf
+++ b/meta-openembedded/meta-filesystems/conf/layer.conf
@@ -15,4 +15,4 @@
LAYERDEPENDS_filesystems-layer = "core openembedded-layer"
-LAYERSERIES_COMPAT_filesystems-layer = "sumo"
+LAYERSERIES_COMPAT_filesystems-layer = "thud"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-include-sys-sysmacros.h-for-major-minor-definition.patch b/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-include-sys-sysmacros.h-for-major-minor-definition.patch
new file mode 100644
index 0000000..86bb0b5
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-include-sys-sysmacros.h-for-major-minor-definition.patch
@@ -0,0 +1,24 @@
+From 3b02acbb3d5bc93422a6821ce47568633ef4ae5e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 11 Aug 2018 15:09:24 -0700
+Subject: [PATCH] include sys/sysmacros.h for major/minor definition
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ mkfs.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/mkfs.c b/mkfs.c
+index e612cbd..b6aa63d 100644
+--- a/mkfs.c
++++ b/mkfs.c
+@@ -21,6 +21,7 @@
+ #include <sys/ioctl.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
++#include <sys/sysmacros.h>
+ #define __USE_UNIX98
+ #include <unistd.h>
+ #include <zlib.h>
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb
index 1b4d97d..d9864ac 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb
@@ -14,6 +14,7 @@
SRC_URI = "git://github.com/prasad-joshi/logfsprogs.git \
file://0001-Add-LDFLAGS-to-linker-cmdline.patch \
file://0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch \
+ file://0001-include-sys-sysmacros.h-for-major-minor-definition.patch \
"
SRCREV = "45b72c81ce3c6fa17ca19bafc207ea93e76312f4"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb
index 9e77766..addb4d3 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb
@@ -13,6 +13,9 @@
SRC_URI[md5sum] = "d97474ae1954f772c6d2fa386a6f462c"
SRC_URI[sha256sum] = "3e5a021d7b761261836dcb305370af299793eedbded731df3d6943802e1262d5"
+UPSTREAM_CHECK_URI = "https://www.tuxera.com/community/open-source-ntfs-3g/"
+UPSTREAM_CHECK_REGEX = "ntfs-3g_ntfsprogs-(?P<pver>\d+(\.\d+)+)\.tgz"
+
inherit autotools pkgconfig
PACKAGECONFIG ??= ""
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/0001-include-sys-sysmacros.h-for-major.patch b/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/0001-include-sys-sysmacros.h-for-major.patch
new file mode 100644
index 0000000..0a990ac
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/0001-include-sys-sysmacros.h-for-major.patch
@@ -0,0 +1,46 @@
+From dd1af7541f18399bcdcb129a8b6618c18ebd9d63 Mon Sep 17 00:00:00 2001
+From: Tomasz Torcz <tomek@pipebreaker.pl>
+Date: Sat, 17 Mar 2018 12:56:04 +0100
+Subject: [PATCH] include <sys/sysmacros.h> for major()
+
+ Linux glibc ceased to include it in sys/types.h:
+https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ module/owlib/src/include/ow.h | 6 +++++-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 86751bf7..d625d3f0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -180,7 +180,7 @@ m4_include([src/scripts/m4/acx_pthread.m4])
+ # Checks for header files.
+ AC_HEADER_DIRENT
+ AC_HEADER_STDC
+-AC_CHECK_HEADERS([asm/types.h arpa/inet.h sys/ioctl.h sys/mkdev.h sys/socket.h sys/time.h sys/times.h sys/types.h sys/param.h sys/uio.h feature_tests.h fcntl.h netinet/in.h stdlib.h string.h strings.h sys/file.h syslog.h termios.h unistd.h limits.h stdint.h features.h getopt.h resolv.h semaphore.h])
++AC_CHECK_HEADERS([asm/types.h arpa/inet.h sys/ioctl.h sys/mkdev.h sys/socket.h sys/sysmacros.h sys/time.h sys/times.h sys/types.h sys/param.h sys/uio.h feature_tests.h fcntl.h netinet/in.h stdlib.h string.h strings.h sys/file.h syslog.h termios.h unistd.h limits.h stdint.h features.h getopt.h resolv.h semaphore.h])
+ AC_CHECK_HEADERS([linux/limits.h linux/types.h netdb.h dlfcn.h])
+ AC_CHECK_HEADERS(sys/event.h sys/inotify.h)
+
+diff --git a/module/owlib/src/include/ow.h b/module/owlib/src/include/ow.h
+index 9dbec5f3..0a310552 100644
+--- a/module/owlib/src/include/ow.h
++++ b/module/owlib/src/include/ow.h
+@@ -188,8 +188,12 @@
+ #include <netdb.h> /* for getaddrinfo */
+ #endif /* HAVE_NETDB_H */
+
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h> /* for major() */
++#endif /* HAVE_SYS_SYSMACROS_H */
++
+ #ifdef HAVE_SYS_MKDEV_H
+-#include <sys/mkdev.h> /* for major() */
++#include <sys/mkdev.h> /* for major() on Solaris */
+ #endif /* HAVE_SYS_MKDEV_H */
+
+ #include <stddef.h> // for offsetof()
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb
deleted file mode 100644
index 21fd7e9..0000000
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb
+++ /dev/null
@@ -1,68 +0,0 @@
-SUMMARY = "1-Wire file system"
-DESCRIPTION = "OWFS is an easy way to use the powerful 1-wire system of Dallas/Maxim"
-HOMEPAGE = "http://www.owfs.org/"
-SECTION = "console/network"
-
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a0bc427f423a41220ab79a0b392218bd \
- file://COPYING.LIB;md5=865c4bd642d9e04f43925ad7e929ae87"
-
-DEPENDS = "fuse virtual/libusb0"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/owfs/owfs-${PV}.tar.gz \
- file://owhttpd \
- file://owserver "
-SRC_URI[md5sum] = "56ba145be208002e58775a7203369851"
-SRC_URI[sha256sum] = "9d22dbff72d235476688c02669f7171b23e21dffadf40bbdd3b8263908218424"
-
-inherit autotools-brokensep update-rc.d
-
-EXTRA_OECONF = " \
- --with-fuseinclude=${STAGING_INCDIR} \
- --with-fuselib=${STAGING_LIBDIR} \
- --enable-owfs \
- --enable-owhttpd \
- --enable-w1 \
- --disable-swig \
- --disable-owtcl \
- --disable-owphp \
- --disable-owpython \
- --disable-owperl \
-"
-
-do_install_prepend() {
- install -d ${D}${sysconfdir}/default/
- install -d ${D}${sysconfdir}/init.d/
- install -m 0755 ${WORKDIR}/owhttpd ${D}${sysconfdir}/init.d/owhttpd
- install -m 0755 ${WORKDIR}/owserver ${D}${sysconfdir}/init.d/owserver
-}
-
-PACKAGES =+ "owftpd owhttpd owserver owshell libowcapi libow libownet owmon owtap"
-
-DESCRIPTION_owftpd = "Anoymous FTP server for 1-wire access"
-DESCRIPTION_owhttpd = "Tiny webserver for 1-wire control"
-DESCRIPTION_owserver = "Backend server (daemon) for 1-wire control"
-DESCRIPTION_owshell = "owdir owread owwrite owpresent owget - lightweight owserver access"
-DESCRIPTION_libowcapi = "easy C-language 1-wire interface "
-DESCRIPTION_libow = "easy C-language 1-wire interface to the owserver protocol"
-DESCRIPTION_libownet = "easy C-language 1-wire interface to the owserver protocol"
-DESCRIPTION_owmon = "Monitor for owserver settings and statistics"
-DESCRIPTION_owtap = "Packet sniffer for the owserver protocol"
-
-FILES_owftpd = "${bindir}/owftpd"
-FILES_owhttpd = "${bindir}/owhttpd ${sysconfdir}/init.d/owhttpd"
-FILES_owserver = "${bindir}/owserver ${sysconfdir}/init.d/owserver"
-FILES_owshell = "${bindir}/owread ${bindir}/owwrite \
- ${bindir}/owdir ${bindir}/owpresent \
- ${bindir}/owget ${bindir}/owside"
-FILES_owmon = "${bindir}/owmon"
-FILES_owtap = "${bindir}/owtap"
-FILES_libowcapi = "${libdir}/libowcapi-*"
-FILES_libow = "${libdir}/libow-*"
-FILES_libownet = "${libdir}/libownet-*"
-
-INITSCRIPT_PACKAGES = "owhttpd owserver"
-INITSCRIPT_NAME_owserver = "owserver"
-INITSCRIPT_NAME_owhttpd = "owhttpd"
-INITSCRIPT_PARAMS_owserver = "defaults 20"
-INITSCRIPT_PARAMS_owhttpd = "defaults 21"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb
new file mode 100644
index 0000000..50865cc
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb
@@ -0,0 +1,71 @@
+SUMMARY = "1-Wire file system"
+DESCRIPTION = "OWFS is an easy way to use the powerful 1-wire system of Dallas/Maxim"
+HOMEPAGE = "http://www.owfs.org/"
+SECTION = "console/network"
+
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=12a64df1cc87275e940cab05ee75c37d \
+ file://COPYING.LIB;md5=16ff3ffebed582e19ea7a4f48ec77b42"
+
+DEPENDS = "fuse virtual/libusb0"
+# v3.2p2
+SRCREV = "93c1f36d9ac481075287da331d5184f590f8c0fa"
+SRC_URI = "git://github.com/owfs/owfs \
+ file://owhttpd \
+ file://owserver \
+ file://0001-include-sys-sysmacros.h-for-major.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep update-rc.d pkgconfig
+
+EXTRA_OECONF = " \
+ --with-fuseinclude=${STAGING_INCDIR} \
+ --with-fuselib=${STAGING_LIBDIR} \
+ --enable-owfs \
+ --enable-owhttpd \
+ --enable-w1 \
+ --disable-swig \
+ --disable-owtcl \
+ --disable-owphp \
+ --disable-owpython \
+ --disable-owperl \
+"
+
+do_install_prepend() {
+ install -d ${D}${sysconfdir}/default/
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/owhttpd ${D}${sysconfdir}/init.d/owhttpd
+ install -m 0755 ${WORKDIR}/owserver ${D}${sysconfdir}/init.d/owserver
+}
+
+PACKAGES =+ "owftpd owhttpd owserver owshell libowcapi libow libownet owmon owtap"
+
+DESCRIPTION_owftpd = "Anoymous FTP server for 1-wire access"
+DESCRIPTION_owhttpd = "Tiny webserver for 1-wire control"
+DESCRIPTION_owserver = "Backend server (daemon) for 1-wire control"
+DESCRIPTION_owshell = "owdir owread owwrite owpresent owget - lightweight owserver access"
+DESCRIPTION_libowcapi = "easy C-language 1-wire interface "
+DESCRIPTION_libow = "easy C-language 1-wire interface to the owserver protocol"
+DESCRIPTION_libownet = "easy C-language 1-wire interface to the owserver protocol"
+DESCRIPTION_owmon = "Monitor for owserver settings and statistics"
+DESCRIPTION_owtap = "Packet sniffer for the owserver protocol"
+
+FILES_owftpd = "${bindir}/owftpd"
+FILES_owhttpd = "${bindir}/owhttpd ${sysconfdir}/init.d/owhttpd"
+FILES_owserver = "${bindir}/owserver ${sysconfdir}/init.d/owserver"
+FILES_owshell = "${bindir}/owread ${bindir}/owwrite \
+ ${bindir}/owdir ${bindir}/owpresent \
+ ${bindir}/owget ${bindir}/owside"
+FILES_owmon = "${bindir}/owmon"
+FILES_owtap = "${bindir}/owtap"
+FILES_libowcapi = "${libdir}/libowcapi-*"
+FILES_libow = "${libdir}/libow-*"
+FILES_libownet = "${libdir}/libownet-*"
+
+INITSCRIPT_PACKAGES = "owhttpd owserver"
+INITSCRIPT_NAME_owserver = "owserver"
+INITSCRIPT_NAME_owhttpd = "owhttpd"
+INITSCRIPT_PARAMS_owserver = "defaults 20"
+INITSCRIPT_PARAMS_owhttpd = "defaults 21"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
index 67c926b..6095e27 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
@@ -5,7 +5,9 @@
HOMEPAGE = "http://www.yaffs.net"
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://utils/mkyaffs2image.c;beginline=12;endline=14;md5=5f5464f9b3e981ca574e65b00e438561"
+LIC_FILES_CHKSUM = "file://utils/mkyaffs2image.c;beginline=11;endline=13;md5=5f5464f9b3e981ca574e65b00e438561 \
+ file://utils/mkyaffsimage.c;beginline=10;endline=12;md5=5f5464f9b3e981ca574e65b00e438561 \
+ "
PV = "0.0+git${SRCPV}"
@@ -17,7 +19,10 @@
file://0001-define-loff_t-if-not-already-defined.patch \
"
-SRCREV = "bc76682d93955cfb33051beb503ad9f8a5450578"
+SRCREV = "3439fa4e60dd9799766b2c101f799ed9e565b632"
+
+UPSTREAM_CHECK_COMMITS = "1"
+
S = "${WORKDIR}/git"
CFLAGS_append = " -I.. -DCONFIG_YAFFS_UTIL -DCONFIG_YAFFS_DEFINES_TYPES"
diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/files/CVE-2018-10906-1.patch b/meta-openembedded/meta-filesystems/recipes-support/fuse/files/CVE-2018-10906-1.patch
deleted file mode 100644
index 83bef30..0000000
--- a/meta-openembedded/meta-filesystems/recipes-support/fuse/files/CVE-2018-10906-1.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 28bdae3d113ef479c1660a581ef720cdc33bf466 Mon Sep 17 00:00:00 2001
-From: Jann Horn <jannh@google.com>
-Date: Fri, 13 Jul 2018 15:15:36 -0700
-Subject: [PATCH] fusermount: don't feed "escaped commas" into mount options
-
-The old code permits the following behavior:
-
-$ _FUSE_COMMFD=10000 priv_strace -etrace=mount -s200 fusermount -o 'foobar=\,allow_other' mount
-mount("/dev/fuse", ".", "fuse", MS_NOSUID|MS_NODEV, "foobar=\\,allow_other,fd=3,rootmode=40000,user_id=1000,group_id=1000") = -1 EINVAL (Invalid argument)
-
-However, backslashes do not have any special meaning for the kernel here.
-
-As it happens, you can't abuse this because there is no FUSE mount option
-that takes a string value that can contain backslashes; but this is very
-brittle. Don't interpret "escape characters" in places where they don't
-work.
-
-CVE: CVE-2018-10906
-Upstream-Status: Backport [https://github.com/libfuse/libfuse/commit/28bdae3d113ef479c1660a581ef720cdc33bf466]
-
-Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
----
- util/fusermount.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/util/fusermount.c b/util/fusermount.c
-index 0e1d34d..143bd4a 100644
---- a/util/fusermount.c
-+++ b/util/fusermount.c
-@@ -29,6 +29,7 @@
- #include <sys/socket.h>
- #include <sys/utsname.h>
- #include <sched.h>
-+#include <stdbool.h>
-
- #define FUSE_COMMFD_ENV "_FUSE_COMMFD"
-
-@@ -754,8 +755,10 @@ static int do_mount(const char *mnt, char **typep, mode_t rootmode,
- unsigned len;
- const char *fsname_str = "fsname=";
- const char *subtype_str = "subtype=";
-+ bool escape_ok = begins_with(s, fsname_str) ||
-+ begins_with(s, subtype_str);
- for (len = 0; s[len]; len++) {
-- if (s[len] == '\\' && s[len + 1])
-+ if (escape_ok && s[len] == '\\' && s[len + 1])
- len++;
- else if (s[len] == ',')
- break;
---
-2.13.3
-
diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/files/CVE-2018-10906-2.patch b/meta-openembedded/meta-filesystems/recipes-support/fuse/files/CVE-2018-10906-2.patch
deleted file mode 100644
index 104aa17..0000000
--- a/meta-openembedded/meta-filesystems/recipes-support/fuse/files/CVE-2018-10906-2.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 5018a0c016495155ee598b7e0167b43d5d902414 Mon Sep 17 00:00:00 2001
-From: Jann Horn <jannh@google.com>
-Date: Sat, 14 Jul 2018 03:47:50 -0700
-Subject: [PATCH] fusermount: refuse unknown options
-
-Blacklists are notoriously fragile; especially if the kernel wishes to add
-some security-critical mount option at a later date, all existing systems
-with older versions of fusermount installed will suddenly have a security
-problem.
-Additionally, if the kernel's option parsing became a tiny bit laxer, the
-blacklist could probably be bypassed.
-
-Whitelist known-harmless flags instead, even if it's slightly more
-inconvenient.
-
-CVE: CVE-2018-10906
-Upstream-Status: Backport [https://github.com/libfuse/libfuse/commit/5018a0c016495155ee598b7e0167b43d5d902414]
-
-Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
----
- util/fusermount.c | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/util/fusermount.c b/util/fusermount.c
-index 4e0f51a..2792407 100644
---- a/util/fusermount.c
-+++ b/util/fusermount.c
-@@ -819,10 +819,16 @@ static int do_mount(const char *mnt, char **typep, mode_t rootmode,
- flags |= flag;
- else
- flags &= ~flag;
-- } else {
-+ } else if (opt_eq(s, len, "default_permissions") ||
-+ opt_eq(s, len, "allow_other") ||
-+ begins_with(s, "max_read=") ||
-+ begins_with(s, "blksize=")) {
- memcpy(d, s, len);
- d += len;
- *d++ = ',';
-+ } else {
-+ fprintf(stderr, "%s: unknown option '%.*s'\n", progname, len, s);
-+ exit(1);
- }
- }
- }
---
-2.13.3
-
diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb
deleted file mode 100644
index 1eb9b70..0000000
--- a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-SUMMARY = "Implementation of a fully functional filesystem in a userspace program"
-DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \
- programs to export a virtual filesystem to the Linux kernel. FUSE \
- also aims to provide a secure method for non privileged users to \
- create and mount their own filesystem implementations. \
- "
-HOMEPAGE = "https://github.com/libfuse/libfuse"
-SECTION = "libs"
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "https://github.com/libfuse/libfuse/releases/download/${BP}/${BP}.tar.gz \
- file://gold-unversioned-symbol.patch \
- file://aarch64.patch \
- file://0001-fuse-fix-the-return-value-of-help-option.patch \
- file://fuse.conf \
- file://CVE-2018-10906-1.patch \
- file://CVE-2018-10906-2.patch \
-"
-SRC_URI[md5sum] = "9bd4ce8184745fd3d000ca2692adacdb"
-SRC_URI[sha256sum] = "832432d1ad4f833c20e13b57cf40ce5277a9d33e483205fc63c78111b3358874"
-
-inherit autotools pkgconfig update-rc.d systemd
-
-INITSCRIPT_NAME = "fuse"
-INITSCRIPT_PARAMS = "start 3 S . stop 20 0 6 ."
-
-SYSTEMD_SERVICE_${PN} = ""
-
-DEPENDS = "gettext-native"
-
-PACKAGES =+ "fuse-utils-dbg fuse-utils libulockmgr libulockmgr-dev libulockmgr-dbg"
-
-RRECOMMENDS_${PN}_class-target = "kernel-module-fuse libulockmgr fuse-utils"
-
-FILES_${PN} += "${libdir}/libfuse.so.*"
-FILES_${PN}-dev += "${libdir}/libfuse*.la"
-
-FILES_libulockmgr = "${libdir}/libulockmgr.so.*"
-FILES_libulockmgr-dev += "${libdir}/libulock*.la"
-FILES_libulockmgr-dbg += "${libdir}/.debug/libulock*"
-
-# Forbid auto-renaming to libfuse-utils
-FILES_fuse-utils = "${bindir} ${base_sbindir}"
-FILES_fuse-utils-dbg = "${bindir}/.debug ${base_sbindir}/.debug"
-DEBIAN_NOAUTONAME_fuse-utils = "1"
-DEBIAN_NOAUTONAME_fuse-utils-dbg = "1"
-
-do_configure_prepend() {
- # Make this explicit so overriding base_sbindir propagates properly.
- export MOUNT_FUSE_PATH="${base_sbindir}"
-}
-
-do_install_append() {
- rm -rf ${D}${base_prefix}/dev
-
- # systemd class remove the sysv_initddir only if systemd_system_unitdir
- # contains anything, but it's not needed if sysvinit is not in DISTRO_FEATURES
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then
- rm -rf ${D}${sysconfdir}/init.d/
- fi
-
- # Install systemd related configuration file
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/modules-load.d
- install -m 0644 ${WORKDIR}/fuse.conf ${D}${sysconfdir}/modules-load.d
- fi
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.8.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.8.bb
new file mode 100644
index 0000000..caa75c7
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.8.bb
@@ -0,0 +1,72 @@
+SUMMARY = "Implementation of a fully functional filesystem in a userspace program"
+DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \
+ programs to export a virtual filesystem to the Linux kernel. FUSE \
+ also aims to provide a secure method for non privileged users to \
+ create and mount their own filesystem implementations. \
+ "
+HOMEPAGE = "https://github.com/libfuse/libfuse"
+SECTION = "libs"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "https://github.com/libfuse/libfuse/releases/download/${BP}/${BP}.tar.gz \
+ file://gold-unversioned-symbol.patch \
+ file://aarch64.patch \
+ file://0001-fuse-fix-the-return-value-of-help-option.patch \
+ file://fuse.conf \
+"
+SRC_URI[md5sum] = "f365e848a82504edb0b7a33df790ca78"
+SRC_URI[sha256sum] = "5e84f81d8dd527ea74f39b6bc001c874c02bad6871d7a9b0c14efb57430eafe3"
+
+UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases"
+UPSTREAM_CHECK_REGEX = "fuse\-(?P<pver>2(\.\d+)+).tar.gz"
+
+inherit autotools pkgconfig update-rc.d systemd
+
+INITSCRIPT_NAME = "fuse"
+INITSCRIPT_PARAMS = "start 3 S . stop 20 0 6 ."
+
+SYSTEMD_SERVICE_${PN} = ""
+
+DEPENDS = "gettext-native"
+
+PACKAGES =+ "fuse-utils libulockmgr libulockmgr-dev"
+
+RPROVIDES_${PN}-dbg += "fuse-utils-dbg libulockmgr-dbg"
+
+RRECOMMENDS_${PN}_class-target = "kernel-module-fuse libulockmgr fuse-utils"
+
+FILES_${PN} += "${libdir}/libfuse.so.*"
+FILES_${PN}-dev += "${libdir}/libfuse*.la"
+
+FILES_libulockmgr = "${libdir}/libulockmgr.so.*"
+FILES_libulockmgr-dev += "${libdir}/libulock*.la"
+
+# Forbid auto-renaming to libfuse-utils
+FILES_fuse-utils = "${bindir} ${base_sbindir}"
+DEBIAN_NOAUTONAME_fuse-utils = "1"
+DEBIAN_NOAUTONAME_${PN}-dbg = "1"
+
+do_configure_prepend() {
+ # Make this explicit so overriding base_sbindir propagates properly.
+ export MOUNT_FUSE_PATH="${base_sbindir}"
+}
+
+do_install_append() {
+ rm -rf ${D}${base_prefix}/dev
+
+ # systemd class remove the sysv_initddir only if systemd_system_unitdir
+ # contains anything, but it's not needed if sysvinit is not in DISTRO_FEATURES
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then
+ rm -rf ${D}${sysconfdir}/init.d/
+ fi
+
+ # Install systemd related configuration file
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/modules-load.d
+ install -m 0644 ${WORKDIR}/fuse.conf ${D}${sysconfdir}/modules-load.d
+ fi
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb b/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb
deleted file mode 100644
index dc2c106..0000000
--- a/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "PhysicsFS is a library to provide abstract access to various archives"
-HOMEAPAGE = "http://icculus.org/physfs"
-LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5d94e3eaaa10b00ca803ba35a3e87cde"
-DEPENDS = "readline zlib"
-
-inherit cmake
-
-PE = "1"
-
-SRC_URI = "http://icculus.org/${BPN}/downloads/${BP}.tar.bz2"
-SRC_URI[md5sum] = "c2c727a8a8deb623b521b52d0080f613"
-SRC_URI[sha256sum] = "ca862097c0fb451f2cacd286194d071289342c107b6fe69079c079883ff66b69"
diff --git a/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_3.0.1.bb b/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_3.0.1.bb
new file mode 100644
index 0000000..cc97dea
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_3.0.1.bb
@@ -0,0 +1,13 @@
+SUMMARY = "PhysicsFS is a library to provide abstract access to various archives"
+HOMEAPAGE = "http://icculus.org/physfs"
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2668e2fb051c3e564198e146a9a2d9f0"
+DEPENDS = "readline zlib"
+
+inherit cmake
+
+PE = "1"
+
+SRC_URI = "http://icculus.org/${BPN}/downloads/${BP}.tar.bz2"
+SRC_URI[md5sum] = "359f102bcbd62accf84ef32f4863255d"
+SRC_URI[sha256sum] = "b77b9f853168d9636a44f75fca372b363106f52d789d18a2f776397bf117f2f1"
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Define-STRIP-weakly.patch b/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Define-STRIP-weakly.patch
deleted file mode 100644
index 6732dc4..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Define-STRIP-weakly.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From daf04dc9ca1f2e4c65ec338ab439e0a792e1a8ac Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 5 Sep 2017 10:36:52 -0700
-Subject: [PATCH] libau: Define STRIP weakly
-
-STRIP can be set on environment to use cross version of strip utility
-hardcoding to strip is not working in cross environment
-
-Upstream-Status: Submitted
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- libau/Makefile | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/libau/Makefile b/libau/Makefile
-index 81520ac..c25eef2 100644
---- a/libau/Makefile
-+++ b/libau/Makefile
-@@ -25,6 +25,7 @@ LibSoHdr = libau.h rdu.h
- LibSoExport = $(addsuffix .exp, $(basename ${LibSoObj}))
- LibSoExportErr = $(addsuffix .err, ${LibSoExport})
- LibSoVerScript = verscript
-+STRIP ?= strip
-
- all: ${LibSo}
-
-@@ -77,7 +78,7 @@ ${LibSo}.${LibSoMajor}.${LibSoMinor}: ${LibSoObj}
- ${CC} --shared -Wl,-soname,${LibSo}.${LibSoMajor} \
- -Wl,--version-script,${LibSoVerScript} \
- ${LDFLAGS} -o $@ $^ ${LDLIBS}
-- strip -R EXP $@
-+ ${STRIP} -R EXP $@
- # readelf --syms --use-dynamic libau.so
-
- install_ulib: File = ${LibSo}.${LibSoMajor}.${LibSoMinor}
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb b/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb
index 2e855e3..6d71fc0 100644
--- a/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb
+++ b/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb
@@ -7,17 +7,18 @@
DEPENDS = "coreutils-native aufs-util-native"
DEPENDS_class-native = ""
-SRCREV = "89afb1806c3d2eed8db2666ae254b77518ae3ceb"
-SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs4.4 \
- https://raw.githubusercontent.com/sfjro/aufs4-linux/aufs4.4/include/uapi/linux/aufs_type.h;name=aufs_type \
+SRCREV = "8f35db59ef83078f87879ec2828e0bb45719e0ef"
+SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs4.9 \
+ https://raw.githubusercontent.com/sfjro/aufs4-linux/aufs4.9/include/uapi/linux/aufs_type.h;name=aufs_type \
file://aufs-util-don-t-strip-executables.patch \
file://aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch \
- file://0001-libau-Define-STRIP-weakly.patch \
"
-SRC_URI[aufs_type.md5sum] = "f7b4a255dcb55fe7b0967f5f59b44f19"
-SRC_URI[aufs_type.sha256sum] = "85bc8e4c1a94a7d526c382e4b047b4256cab8c4a65fc0396291707ad9a327a18"
+SRC_URI[aufs_type.md5sum] = "b37129ef0703de72a852db7e48bdedc6"
+SRC_URI[aufs_type.sha256sum] = "7ff6566adb9c7a3b6862cdc85a690ab546f1d0bc81ddd595fd663c0a69031683"
-PV = "4.4+git${SRCPV}"
+UPSTREAM_CHECK_COMMITS = "1"
+
+PV = "4.9+git${SRCPV}"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-f2fs-tools-Use-srcdir-prefix-to-denote-include-path.patch b/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-f2fs-tools-Use-srcdir-prefix-to-denote-include-path.patch
new file mode 100644
index 0000000..0a3261b
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-f2fs-tools-Use-srcdir-prefix-to-denote-include-path.patch
@@ -0,0 +1,29 @@
+From 0fb9d6bc25e903f7831a38468845ea143fb5afd5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 11 Aug 2018 18:49:03 -0700
+Subject: [PATCH] f2fs-tools: Use srcdir prefix to denote include path
+
+This helps builds when builddir != srcdir
+
+Upstream-Status: Submitted [https://lkml.org/lkml/2018/8/12/1]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/sg_write_buffer/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/sg_write_buffer/Makefile.am b/tools/sg_write_buffer/Makefile.am
+index 922c328..19c438d 100644
+--- a/tools/sg_write_buffer/Makefile.am
++++ b/tools/sg_write_buffer/Makefile.am
+@@ -1,7 +1,7 @@
+ ## Makefile.am
+
+ if LINUX
+-AM_CPPFLAGS = -I./include
++AM_CPPFLAGS = -I$(srcdir)/include
+ AM_CFLAGS = -Wall
+ sbin_PROGRAMS = sg_write_buffer
+ sg_write_buffer_SOURCES = sg_write_buffer.c \
+--
+2.18.0
+
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0002-Fix-mkfs-out-of-tree-builds.patch b/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0002-Fix-mkfs-out-of-tree-builds.patch
deleted file mode 100644
index 9e561cb..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0002-Fix-mkfs-out-of-tree-builds.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 0731eefd389e01419f78a115e1363ed0c28cfd3a Mon Sep 17 00:00:00 2001
-From: "Yong, Jonathan" <jonathan.yong@intel.com>
-Date: Thu, 30 Mar 2017 08:03:37 +0000
-Subject: [PATCH] Fix mkfs out of tree builds
-
-Libraries are built in builddir, not srcdir, fix Makefile.am
-accordingly.
-
-Signed-off-by: Yong, Jonathan <jonathan.yong@intel.com>
-Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-
-The patch was imported from the f2fs-tools repo
-(git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git)
-commit ID 0731eefd389e01419f78a115e1363ed0c28cfd3a.
-
-Upstream-Status: Accepted, expected to be included in 1.9.0.
-
-Signed-off-by: Yong, Jonathan <jonathan.yong@intel.com>
-
----
- mkfs/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mkfs/Makefile.am b/mkfs/Makefile.am
-index 162a0cf..0ea8b49 100644
---- a/mkfs/Makefile.am
-+++ b/mkfs/Makefile.am
-@@ -10,5 +10,5 @@ lib_LTLIBRARIES = libf2fs_format.la
- libf2fs_format_la_SOURCES = f2fs_format_main.c f2fs_format.c f2fs_format_utils.c
- libf2fs_format_la_CFLAGS = -DWITH_BLKDISCARD
- libf2fs_format_la_CPPFLAGS = -I$(top_srcdir)/include
--libf2fs_format_la_LDFLAGS = -luuid -L$(top_srcdir)/lib -lf2fs \
-+libf2fs_format_la_LDFLAGS = -luuid -L$(top_builddir)/lib -lf2fs \
- -version-info $(FMT_CURRENT):$(FMT_REVISION):$(FMT_AGE)
---
-2.10.2
-
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.11.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.11.0.bb
new file mode 100644
index 0000000..2240049
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.11.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Tools for Flash-Friendly File System (F2FS)"
+HOMEPAGE = "http://sourceforge.net/projects/f2fs-tools/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=362b4b2594cd362b874a97718faa51d3"
+
+# to provide libuuid
+DEPENDS = "util-linux"
+
+# v1.11.0
+SRCREV = "b98fab3666e498c2e27ad9dcda6874c9b683f06b"
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git \
+ file://0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch \
+ file://0001-f2fs-tools-Use-srcdir-prefix-to-denote-include-path.patch \
+ "
+S = "${WORKDIR}/git"
+
+inherit pkgconfig autotools
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.8.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.8.0.bb
deleted file mode 100644
index 691cb6e..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.8.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Tools for Flash-Friendly File System (F2FS)"
-HOMEPAGE = "http://sourceforge.net/projects/f2fs-tools/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=362b4b2594cd362b874a97718faa51d3"
-
-# to provide libuuid
-DEPENDS = "util-linux"
-
-SRCREV = "1e7aedf99b85d16f94d1d8ad2fcf846403bb2174"
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git \
- file://0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch \
- file://0002-Fix-mkfs-out-of-tree-builds.patch"
-S = "${WORKDIR}/git"
-
-inherit pkgconfig autotools
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch
deleted file mode 100644
index 660468d..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 8cf48da5f645dd7bbb1ccbeab5bb0964f40f17f7 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 13 Jul 2017 23:18:47 -0700
-Subject: [PATCH 1/5] Include fcntl.h for O_EXCL
-
-Fix
-error: 'O_CREAT' undeclared (first use in this function)
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- invutil/invidx.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/invutil/invidx.c b/invutil/invidx.c
-index 67efdf7..325a9a1 100644
---- a/invutil/invidx.c
-+++ b/invutil/invidx.c
-@@ -27,6 +27,7 @@
- #include <sys/stat.h>
- #include <string.h>
- #include <uuid/uuid.h>
-+#include <fcntl.h>
-
- #include "types.h"
- #include "mlog.h"
---
-2.13.2
-
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-Use-c99-defined-int64_t-instead-of-__int64_t.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-Use-c99-defined-int64_t-instead-of-__int64_t.patch
deleted file mode 100644
index 1fe1bde..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-Use-c99-defined-int64_t-instead-of-__int64_t.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f1e822d546e08cc195eaeb38ca172bd0c3800aa9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 9 Sep 2017 07:48:48 -0700
-Subject: [PATCH] xfsdump: Use c99 defined int64_t instead of __int64_t
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- common/hsmapi.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/common/hsmapi.c b/common/hsmapi.c
-index 6054773..0709dbe 100644
---- a/common/hsmapi.c
-+++ b/common/hsmapi.c
-@@ -585,7 +585,7 @@ HsmModifyExtentMap(
- struct getbmapx *bmap)
- {
- dmf_f_ctxt_t *dmf_f_ctxtp = (dmf_f_ctxt_t *)contextp;
-- __int64_t length;
-+ int64_t length;
-
- if (bmap[0].bmv_entries <= 0) {
- return 1; /* caller must already be at EOF */
---
-2.14.1
-
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch
deleted file mode 100644
index ed3e0a9..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From f76d2142905f0e5bd830d5d576c235af1171c6ac Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 13 Jul 2017 23:23:31 -0700
-Subject: [PATCH 2/5] Replace __uint32_t with uint32_t
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- common/content_inode.h | 4 ++--
- doc/xfsdump.html | 8 ++++----
- inventory/inv_oref.h | 2 +-
- inventory/inv_priv.h | 4 ++--
- inventory/inventory.h | 2 +-
- 5 files changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/common/content_inode.h b/common/content_inode.h
-index a69a9a0..6936e05 100644
---- a/common/content_inode.h
-+++ b/common/content_inode.h
-@@ -191,10 +191,10 @@ typedef struct bstat bstat_t;
- * and using two 16bit values to hold new 32bit projid was choosen
- * to retain compatibility with "old" filesystems).
- */
--static inline __uint32_t
-+static inline uint32_t
- bstat_projid(struct bstat *bs)
- {
-- return (__uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo;
-+ return (uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo;
- }
-
-
-diff --git a/doc/xfsdump.html b/doc/xfsdump.html
-index 9c6722e..f85128f 100644
---- a/doc/xfsdump.html
-+++ b/doc/xfsdump.html
-@@ -1935,7 +1935,7 @@ The files are constructed like so:
- <pre>
- typedef struct invt_counter {
- INVT_COUNTER_FIELDS
-- __uint32_t ic_vernum;/* on disk version number for posterity */\
-+ uint32_t ic_vernum;/* on disk version number for posterity */\
- u_int ic_curnum;/* number of sessions/invindices recorded \
- so far */ \
- u_int ic_maxnum;/* maximum number of sessions/inv_indices \
-@@ -1975,7 +1975,7 @@ typedef struct invt_fstab {
- <pre>
- typedef struct invt_counter {
- INVT_COUNTER_FIELDS
-- __uint32_t ic_vernum;/* on disk version number for posterity */\
-+ uint32_t ic_vernum;/* on disk version number for posterity */\
- u_int ic_curnum;/* number of sessions/invindices recorded \
- so far */ \
- u_int ic_maxnum;/* maximum number of sessions/inv_indices \
-@@ -2012,7 +2012,7 @@ typedef struct invt_entry {
- <pre>
- typedef struct invt_sescounter {
- INVT_COUNTER_FIELDS
-- __uint32_t ic_vernum;/* on disk version number for posterity */\
-+ uint32_t ic_vernum;/* on disk version number for posterity */\
- u_int ic_curnum;/* number of sessions/invindices recorded \
- so far */ \
- u_int ic_maxnum;/* maximum number of sessions/inv_indices \
-@@ -2034,7 +2034,7 @@ typedef struct invt_seshdr {
- off64_t sh_streams_off; /* offset to start of the set of
- stream hdrs */
- time_t sh_time; /* time of the dump */
-- __uint32_t sh_flag; /* for misc flags */
-+ uint32_t sh_flag; /* for misc flags */
- u_char sh_level; /* dump level */
- u_char sh_pruned; /* pruned by invutil flag */
- char sh_padding[22];
-diff --git a/inventory/inv_oref.h b/inventory/inv_oref.h
-index e16684d..38303a4 100644
---- a/inventory/inv_oref.h
-+++ b/inventory/inv_oref.h
-@@ -46,7 +46,7 @@
-
-
-
--typedef __uint32_t invt_objtype_t;
-+typedef uint32_t invt_objtype_t;
-
- #define INVT_LOCKED 0x0001
-
-diff --git a/inventory/inv_priv.h b/inventory/inv_priv.h
-index 1690271..364ffbc 100644
---- a/inventory/inv_priv.h
-+++ b/inventory/inv_priv.h
-@@ -120,7 +120,7 @@ typedef struct invt_seshdr {
- off64_t sh_streams_off; /* offset to start of the set of
- stream hdrs */
- time32_t sh_time; /* time of the dump */
-- __uint32_t sh_flag; /* for misc flags */
-+ uint32_t sh_flag; /* for misc flags */
- u_char sh_level; /* dump level */
- u_char sh_pruned; /* pruned by invutil flag */
- char sh_padding[22];
-@@ -184,7 +184,7 @@ typedef struct invt_entry {
-
- /* Cheap Inheritance, and an attempt to avoid a nested type */
- #define INVT_COUNTER_FIELDS \
-- __uint32_t ic_vernum;/* on disk version number for posterity */\
-+ uint32_t ic_vernum;/* on disk version number for posterity */\
- uint ic_curnum;/* number of sessions/invindices recorded \
- so far */ \
- uint ic_maxnum;/* maximum number of sessions/inv_indices \
-diff --git a/inventory/inventory.h b/inventory/inventory.h
-index 134b9ba..c1d7403 100644
---- a/inventory/inventory.h
-+++ b/inventory/inventory.h
-@@ -43,7 +43,7 @@
- /* length of labels, mntpts, etc */
- #define INV_STRLEN GLOBAL_HDR_STRING_SZ
-
--typedef __uint32_t inv_version_t;
-+typedef uint32_t inv_version_t;
-
- /* This is the general inventory version.
- */
---
-2.13.2
-
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch
deleted file mode 100644
index 31303d8..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From fcc0cf15a309947103a0695b8a1f4865b820eb5c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 13 Jul 2017 23:26:03 -0700
-Subject: [PATCH 3/5] replace use of SIGCLD with SIGCHLD
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- common/main.c | 2 +-
- doc/xfsdump.html | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/common/main.c b/common/main.c
-index 3848499..faa66ee 100644
---- a/common/main.c
-+++ b/common/main.c
-@@ -2225,7 +2225,7 @@ static sig_printmap_t sig_printmap[ ] = {
- {SIGTERM, "SIGTERM"},
- {SIGUSR1, "SIGUSR1"},
- {SIGUSR2, "SIGUSR2"},
-- {SIGCLD, "SIGCLD"},
-+ {SIGCHLD, "SIGCHLD"},
- {SIGPWR, "SIGPWR"},
- {SIGURG, "SIGURG"},
- {SIGPOLL, "SIGPOLL"},
-diff --git a/doc/xfsdump.html b/doc/xfsdump.html
-index f85128f..d96f037 100644
---- a/doc/xfsdump.html
-+++ b/doc/xfsdump.html
-@@ -334,7 +334,7 @@ the ring buffer. It ignores signals and does not terminate until it
- receives a RING_OP_DIE message. It then exits 0.
- <p>
- The main process sleeps waiting for any of its children to die
--(ie. waiting for a SIGCLD). All children that it cares about (stream
-+(ie. waiting for a SIGCHLD). All children that it cares about (stream
- managers and ring buffer slaves) are registered through the child
- manager abstraction. When a child dies wait status and other info is
- stored with its entry in the child manager. main() ignores the deaths
---
-2.13.2
-
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch
deleted file mode 100644
index 62ea15b..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 98c7d96f0f2c6eddf60aa4a1a08d7d4467645930 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 13 Jul 2017 23:28:10 -0700
-Subject: [PATCH 4/5] include limit.h for PATH_MAX
-
-fixed
-var.c:42:12: error: 'PATH_MAX' undeclared (first use in this function); did you mean 'RAND_MAX'?
- char path[PATH_MAX];`
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- dump/var.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/dump/var.c b/dump/var.c
-index 645caab..8156d37 100644
---- a/dump/var.c
-+++ b/dump/var.c
-@@ -16,6 +16,7 @@
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-+#include <limits.h>
- #include <unistd.h>
- #include <stdlib.h>
- #include <sys/stat.h>
---
-2.13.2
-
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch
deleted file mode 100644
index fb6e467..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From d95f494de1aa8123c74170ffebaed8ea89649da2 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 13 Jul 2017 23:33:44 -0700
-Subject: [PATCH 5/5] include sys/types.h for u_int32_t in attr/attributes.h
-
-error: unknown type name 'u_int32_t'
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- restore/content.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/restore/content.c b/restore/content.c
-index 7c4a81f..1d5de1b 100644
---- a/restore/content.c
-+++ b/restore/content.c
-@@ -24,6 +24,7 @@
- #include <sys/param.h>
- #include <sys/stat.h>
- #include <sys/ioctl.h>
-+#include <sys/types.h>
- #include <attr/attributes.h>
- #include <xfs/handle.h>
- #include <time.h>
---
-2.13.2
-
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.7.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.7.bb
deleted file mode 100644
index 39f1189..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.7.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "XFS Filesystem Dump Utility"
-DESCRIPTION = "The xfsdump package contains xfsdump, xfsrestore and a \
- number of other utilities for administering XFS filesystems.\
- xfsdump examines files in a filesystem, determines which \
- need to be backed up, and copies those files to a \
- specified disk, tape or other storage medium."
-HOMEPAGE = "http://oss.sgi.com/projects/xfs"
-SECTION = "base"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://doc/COPYING;md5=15c832894d10ddd00dfcf57bee490ecc"
-DEPENDS = "xfsprogs attr"
-
-SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsdump/${BP}.tar.xz \
- file://remove-install-as-user.patch \
- file://0001-Include-fcntl.h-for-O_EXCL.patch \
- file://0002-Replace-__uint32_t-with-uint32_t.patch \
- file://0003-replace-use-of-SIGCLD-with-SIGCHLD.patch \
- file://0004-include-limit.h-for-PATH_MAX.patch \
- file://0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch \
- file://0001-xfsdump-Use-c99-defined-int64_t-instead-of-__int64_t.patch \
- "
-SRC_URI[md5sum] = "c6e91f2ac8b76c796db2d236f5ca5947"
-SRC_URI[sha256sum] = "99e6d4df257ebc6d29ca9e970ca20672c2ea03481ad949bc68f98de3e4d56dce"
-
-inherit autotools-brokensep
-
-PARALLEL_MAKE = ""
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gettext] = "--enable-gettext=yes,--enable-gettext=no,gettext"
-
-CFLAGS += "-D_FILE_OFFSET_BITS=64"
-
-EXTRA_OEMAKE += "'LIBTOOL=${HOST_SYS}-libtool' V=1"
-
-do_configure () {
- export DEBUG="-DNDEBUG"
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
- oe_runconf
-}
-
-do_install () {
- export DIST_ROOT=${D}
- oe_runmake install
- oe_runmake install-dev
-}
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.8.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.8.bb
new file mode 100644
index 0000000..54ab30c
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.8.bb
@@ -0,0 +1,40 @@
+SUMMARY = "XFS Filesystem Dump Utility"
+DESCRIPTION = "The xfsdump package contains xfsdump, xfsrestore and a \
+ number of other utilities for administering XFS filesystems.\
+ xfsdump examines files in a filesystem, determines which \
+ need to be backed up, and copies those files to a \
+ specified disk, tape or other storage medium."
+HOMEPAGE = "http://oss.sgi.com/projects/xfs"
+SECTION = "base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=15c832894d10ddd00dfcf57bee490ecc"
+DEPENDS = "xfsprogs attr"
+
+SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsdump/${BP}.tar.xz \
+ file://remove-install-as-user.patch \
+ "
+SRC_URI[md5sum] = "84d3bc287b4a2bb5d16b2320a47049a7"
+SRC_URI[sha256sum] = "ed14e67ae5b273c2698e767b43a46f033d361e540fe13feaaf9b110ee0edc585"
+
+inherit autotools-brokensep
+
+PARALLEL_MAKE = ""
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gettext] = "--enable-gettext=yes,--enable-gettext=no,gettext"
+
+CFLAGS += "-D_FILE_OFFSET_BITS=64"
+
+EXTRA_OEMAKE += "'LIBTOOL=${HOST_SYS}-libtool' V=1"
+
+do_configure () {
+ export DEBUG="-DNDEBUG"
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+ oe_runconf
+}
+
+do_install () {
+ export DIST_ROOT=${D}
+ oe_runmake install
+ oe_runmake install-dev
+}
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-Check-for-MAP_SYNC-in-sys-mman.h.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-Check-for-MAP_SYNC-in-sys-mman.h.patch
new file mode 100644
index 0000000..75b227a
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-Check-for-MAP_SYNC-in-sys-mman.h.patch
@@ -0,0 +1,52 @@
+From f41ef1f06d428c81fcdef73d896dfc7ceda1809c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 23 Aug 2018 04:59:39 +0000
+Subject: [PATCH] Check for MAP_SYNC in sys/mman.h
+
+Not all arches have wired MAP_SYNC e.g. mips
+which have conflicts with definition, so checking
+a generic file is going to mis-configure xfsprogs
+for such arches.
+
+libc now has added the relevant macros to
+sys/mman.h, and returns the right values for arches
+where its implemented and nothing for others
+unlike asm-generic/mman.h which only checks
+for kernel headers and ignored arches
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/linux.h | 3 +--
+ m4/package_libcdev.m4 | 3 +--
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/include/linux.h b/include/linux.h
+index 1998941..7e5c9ab 100644
+--- a/include/linux.h
++++ b/include/linux.h
+@@ -331,8 +331,7 @@ fsmap_advance(
+ #define MAP_SYNC 0
+ #define MAP_SHARED_VALIDATE 0
+ #else
+-#include <asm-generic/mman.h>
+-#include <asm-generic/mman-common.h>
++#include <sys/mman.h>
+ #endif /* HAVE_MAP_SYNC */
+
+ #endif /* __XFS_LINUX_H__ */
+diff --git a/m4/package_libcdev.m4 b/m4/package_libcdev.m4
+index 0a6b514..2b47d2f 100644
+--- a/m4/package_libcdev.m4
++++ b/m4/package_libcdev.m4
+@@ -335,8 +335,7 @@ AC_DEFUN([AC_HAVE_STATFS_FLAGS],
+ AC_DEFUN([AC_HAVE_MAP_SYNC],
+ [ AC_MSG_CHECKING([for MAP_SYNC])
+ AC_TRY_COMPILE([
+-#include <asm-generic/mman.h>
+-#include <asm-generic/mman-common.h>
++#include <sys/mman.h>
+ ], [
+ int flags = MAP_SYNC | MAP_SHARED_VALIDATE;
+ ], have_map_sync=yes
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch
index d8ff555..231da80 100644
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch
@@ -1,14 +1,14 @@
-From ae7172194d3fbb563ff8bbe7c02d34f1bd0e5ec9 Mon Sep 17 00:00:00 2001
+From f8a22f16c03e51d3c779b12f37d362faaa0ecf31 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 31 Jan 2018 21:28:53 -0800
Subject: [PATCH] build: Check for sync_file_range libc function
glibc 2.27 now has sync_file_range()
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
include/builddefs.in | 1 +
io/Makefile | 5 ++++-
io/io.h | 2 +-
@@ -16,10 +16,10 @@
4 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/include/builddefs.in b/include/builddefs.in
-index 92d5076..504225a 100644
+index b895949..a388c83 100644
--- a/include/builddefs.in
+++ b/include/builddefs.in
-@@ -105,6 +105,7 @@ HAVE_FIEMAP = @have_fiemap@
+@@ -95,6 +95,7 @@ HAVE_FIEMAP = @have_fiemap@
HAVE_PREADV = @have_preadv@
HAVE_PWRITEV2 = @have_pwritev2@
HAVE_COPY_FILE_RANGE = @have_copy_file_range@
@@ -28,10 +28,10 @@
HAVE_SYNCFS = @have_syncfs@
HAVE_READDIR = @have_readdir@
diff --git a/io/Makefile b/io/Makefile
-index 6725936..1876e95 100644
+index 00ede48..dd001b0 100644
--- a/io/Makefile
+++ b/io/Makefile
-@@ -59,10 +59,13 @@ CFILES += inject.c resblks.c
+@@ -60,10 +60,13 @@ CFILES += inject.c resblks.c
LCFLAGS += -DHAVE_INJECT -DHAVE_RESBLKS
endif
@@ -47,10 +47,10 @@
ifeq ($(HAVE_SYNC_FILE_RANGE),yes)
CFILES += sync_file_range.c
diff --git a/io/io.h b/io/io.h
-index 3862985..79ddc7b 100644
+index e1f3d95..fe2e6a2 100644
--- a/io/io.h
+++ b/io/io.h
-@@ -158,7 +158,7 @@ extern void fiemap_init(void);
+@@ -151,7 +151,7 @@ extern void fiemap_init(void);
#define fiemap_init() do { } while (0)
#endif
@@ -60,23 +60,20 @@
#else
#define copy_range_init() do { } while (0)
diff --git a/io/sync_file_range.c b/io/sync_file_range.c
-index 7e4f3e6..aafea01 100644
+index 30bbc93..6c49d73 100644
--- a/io/sync_file_range.c
+++ b/io/sync_file_range.c
-@@ -16,6 +16,7 @@
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+@@ -4,6 +4,7 @@
+ * All Rights Reserved.
*/
+#ifndef HAVE_COPY_FILE_RANGE
#include "command.h"
#include "input.h"
#include "init.h"
-@@ -104,3 +105,5 @@ sync_range_init(void)
+@@ -92,3 +93,5 @@ sync_range_init(void)
add_command(&sync_range_cmd);
}
+
+#endif
---
-2.16.1
-
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0002-include-include-xfs-linux.h-after-sys-mman.h.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0002-include-include-xfs-linux.h-after-sys-mman.h.patch
new file mode 100644
index 0000000..f924cd1
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0002-include-include-xfs-linux.h-after-sys-mman.h.patch
@@ -0,0 +1,33 @@
+From 11a42df394de3dc520e72a016296dcc6dea02a7a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 23 Aug 2018 05:33:57 +0000
+Subject: [PATCH] include include/xfs/linux.h after <sys/mman.h>
+
+This helps compiling with musl which goes ahead and undefines MAP_SYNC
+for mips and other architectures where its not wired in kernel
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ io/mmap.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/io/mmap.c b/io/mmap.c
+index dbfcca5..ca00df1 100644
+--- a/io/mmap.c
++++ b/io/mmap.c
+@@ -4,10 +4,11 @@
+ * All Rights Reserved.
+ */
+
+-#include "command.h"
+-#include "input.h"
+ #include <sys/mman.h>
+ #include <signal.h>
++
++#include "command.h"
++#include "input.h"
+ #include "init.h"
+ #include "io.h"
+
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch
new file mode 100644
index 0000000..c07b4b5
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch
@@ -0,0 +1,30 @@
+From 2bd40e5ed4df0b0a42beff8806b1ec5daa372c48 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Thu, 19 Jul 2018 16:49:41 +0800
+Subject: [PATCH] Disable xfs_scrub build
+
+Disable xfs_scrub build since it is experimental.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 7ddfa31..cd60319 100644
+--- a/Makefile
++++ b/Makefile
+@@ -48,7 +48,7 @@ LIBFROG_SUBDIR = libfrog
+ DLIB_SUBDIRS = libxlog libxcmd libhandle
+ LIB_SUBDIRS = libxfs $(DLIB_SUBDIRS)
+ TOOL_SUBDIRS = copy db estimate fsck growfs io logprint mkfs quota \
+- mdrestore repair rtcp m4 man doc debian spaceman scrub
++ mdrestore repair rtcp m4 man doc debian spaceman
+
+ ifneq ("$(PKG_PLATFORM)","darwin")
+ TOOL_SUBDIRS += fsr
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.14.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.14.0.bb
deleted file mode 100644
index 5d76afe..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.14.0.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-SUMMARY = "XFS Filesystem Utilities"
-HOMEPAGE = "http://oss.sgi.com/projects/xfs"
-SECTION = "base"
-LICENSE = "GPLv2 & LGPLv2.1"
-LICENSE_libhandle = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://doc/COPYING;md5=102f7fec3d53c7c8f0b7baf9bf9d76a8"
-DEPENDS = "util-linux util-linux-native"
-SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \
- file://remove_flags_from_build_flags.patch \
- file://0001-build-Check-for-sync_file_range-libc-function.patch \
- "
-SRC_URI[md5sum] = "2d50e3751cc98e6c9364bc3d2297b9fd"
-SRC_URI[sha256sum] = "b1b710b268bc95d6f45eca06e1262c29eb38865a19cd4404e48ba446e043b7ec"
-
-inherit autotools-brokensep
-
-PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle"
-
-DEPENDS += "util-linux"
-
-RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair"
-
-FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs"
-FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
-FILES_${PN}-repair = "${base_sbindir}/xfs_repair"
-
-FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}"
-
-EXTRA_OECONF = "--enable-gettext=no \
- INSTALL_USER=root \
- INSTALL_GROUP=root \
- ac_cv_header_aio_h=yes \
- ac_cv_lib_rt_lio_listio=yes \
-"
-
-DISABLE_STATIC = ""
-EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader"
-
-PACKAGECONFIG ??= "readline blkid"
-
-PACKAGECONFIG[readline] = "--enable-readline=yes,--enable-readline=no,readline"
-PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux"
-
-export DEBUG="-DNDEBUG"
-export BUILD_VERBOSE="1"
-export tagname="CC"
-
-EXTRA_OEMAKE = "DIST_ROOT='${D}'"
-
-do_configure_prepend () {
- export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}"
- # Prevent Makefile from calling configure without arguments,
- # when do_configure gets called for a second time.
- rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure
- # Recreate configure script.
- oe_runmake configure
-}
-
-do_install_append() {
- oe_runmake 'DESTDIR=${D}' install-dev
- rm ${D}${libdir}/*.la
- rmdir --ignore-fail-on-non-empty ${D}${libdir}
-}
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb
new file mode 100644
index 0000000..0a1bacb
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb
@@ -0,0 +1,68 @@
+SUMMARY = "XFS Filesystem Utilities"
+HOMEPAGE = "http://oss.sgi.com/projects/xfs"
+SECTION = "base"
+LICENSE = "GPLv2 & LGPLv2.1"
+LICENSE_libhandle = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038 \
+ file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd"
+DEPENDS = "util-linux util-linux-native"
+SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \
+ file://remove_flags_from_build_flags.patch \
+ file://0001-build-Check-for-sync_file_range-libc-function.patch \
+ file://disable-xfs_scrub-build.patch \
+ file://0001-Check-for-MAP_SYNC-in-sys-mman.h.patch \
+ file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \
+ "
+SRC_URI[md5sum] = "5f80b631b68df89a8b9283307e96d2e8"
+SRC_URI[sha256sum] = "397dc96f51aeeff73d021d3418d3172377b2685f2740ca60525096c070aa3df1"
+
+inherit autotools-brokensep
+
+PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle"
+
+DEPENDS += "util-linux"
+
+RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair"
+
+FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs"
+FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
+FILES_${PN}-repair = "${base_sbindir}/xfs_repair"
+
+FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}"
+
+EXTRA_OECONF = "--enable-gettext=no \
+ INSTALL_USER=root \
+ INSTALL_GROUP=root \
+ ac_cv_header_aio_h=yes \
+ ac_cv_lib_rt_lio_listio=yes \
+"
+
+DISABLE_STATIC = ""
+EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader"
+
+PACKAGECONFIG ??= "readline blkid"
+
+PACKAGECONFIG[readline] = "--enable-readline=yes,--enable-readline=no,readline"
+PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux"
+
+export DEBUG="-DNDEBUG"
+export BUILD_VERBOSE="1"
+export tagname="CC"
+
+EXTRA_OEMAKE = "DIST_ROOT='${D}'"
+
+do_configure () {
+ export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}"
+ # Prevent Makefile from calling configure without arguments,
+ # when do_configure gets called for a second time.
+ rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure
+ # Recreate configure script.
+ oe_runmake configure
+ oe_runconf
+}
+
+do_install_append() {
+ oe_runmake 'DESTDIR=${D}' install-dev
+ rm ${D}${libdir}/*.la
+ rmdir --ignore-fail-on-non-empty ${D}${libdir}
+}
diff --git a/meta-openembedded/meta-gnome/README b/meta-openembedded/meta-gnome/README
index 2a682e7..84d4f73 100644
--- a/meta-openembedded/meta-gnome/README
+++ b/meta-openembedded/meta-gnome/README
@@ -23,16 +23,16 @@
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: master
+branch: thud
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
-branch: master
+branch: thud
revision: HEAD
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gnome]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gnome][thud]' in the subject'
When sending single patches, please using something like:
-'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-gnome][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-gnome][thud][PATCH'
-Layer maintainer: Andreas Müller <schnitzeltony@googlemail.com>
+Thud maintainer: Armin Kuster <akuster808@gmail.com>
diff --git a/meta-openembedded/meta-gnome/conf/layer.conf b/meta-openembedded/meta-gnome/conf/layer.conf
index e6e9532..e9d0785 100644
--- a/meta-openembedded/meta-gnome/conf/layer.conf
+++ b/meta-openembedded/meta-gnome/conf/layer.conf
@@ -14,7 +14,7 @@
LAYERDEPENDS_gnome-layer = "core openembedded-layer networking-layer"
-LAYERSERIES_COMPAT_gnome-layer = "sumo"
+LAYERSERIES_COMPAT_gnome-layer = "thud"
# Sanity check for meta-gnome layer.
# Setting SKIP_META_GNOME_SANITY_CHECK to "1" would skip the bbappend files check.
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.10.bb b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.10.bb
deleted file mode 100644
index dc2b964..0000000
--- a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.10.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "GTK+ applet for NetworkManager"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-DEPENDS = "gtk+3 libnotify libsecret networkmanager dbus-glib \
- gconf libgnome-keyring iso-codes nss \
- intltool-native \
-"
-
-inherit distro_features_check gnomebase gsettings gtk-icon-cache gobject-introspection
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[archive.md5sum] = "eae3be75e77ff1a7ea3174be25e62d03"
-SRC_URI[archive.sha256sum] = "0adc4bfae8b49f7a1d929c22ef20933bd41fb4a8b458280f44c65f9e45b4c9c3"
-
-PACKAGECONFIG[modemmanager] = "--with-wwan,--without-wwan,modemmanager"
-PACKAGECONFIG ??= ""
-
-EXTRA_OECONF = " \
- --without-selinux \
-"
-
-do_configure_append() {
- # Sigh... --enable-compile-warnings=no doesn't actually turn off -Werror
- for i in $(find ${B} -name "Makefile") ; do
- sed -i -e s%-Werror[^[:space:]]*%%g $i
- done
-}
-
-# gobject-introspection related
-GI_DATA_ENABLED_libc-musl = "False"
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/src/libnma/.libs:${B}/src/libnm-gtk/.libs"
-}
-
-RDEPENDS_${PN} =+ "networkmanager"
-
-FILES_${PN} += " \
- ${datadir}/appdata \
- ${datadir}/nm-applet/ \
- ${datadir}/libnm-gtk/wifi.ui \
- ${datadir}/libnma/wifi.ui \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.18.bb b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.18.bb
new file mode 100644
index 0000000..0184000
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.18.bb
@@ -0,0 +1,52 @@
+SUMMARY = "GTK+ applet for NetworkManager"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+DEPENDS = "gtk+3 libnotify libsecret networkmanager dbus-glib \
+ gconf libgnome-keyring iso-codes nss \
+ intltool-native \
+"
+
+GNOMEBASEBUILDCLASS = "autotools-brokensep"
+inherit distro_features_check gnomebase gsettings gtk-icon-cache gobject-introspection
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "34923579b39360db64649342ee6735d8"
+SRC_URI[archive.sha256sum] = "23dc1404f1e0622b7c4718b6d978b101d5e4d9be0b92133b3863a4dc29786178"
+
+PACKAGECONFIG[modemmanager] = "--with-wwan,--without-wwan,modemmanager"
+PACKAGECONFIG[mobile-provider-info] = "--enable-mobile-broadband-provider-info,--disable-mobile-broadband-provider-info,mobile-broadband-provider-info,mobile-broadband-provider-info"
+PACKAGECONFIG ??= ""
+
+EXTRA_OECONF = " \
+ --without-selinux \
+"
+
+do_configure_append() {
+ # Sigh... --enable-compile-warnings=no doesn't actually turn off -Werror
+ for i in $(find ${B} -name "Makefile") ; do
+ sed -i -e s%-Werror[^[:space:]]*%%g $i
+ done
+}
+
+# gobject-introspection related
+GI_DATA_ENABLED_libc-musl = "False"
+
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/src/libnma/.libs:${B}/src/libnm-gtk/.libs"
+}
+
+RDEPENDS_${PN} =+ "networkmanager"
+
+FILES_${PN} += " \
+ ${datadir}/nm-applet/ \
+ ${datadir}/libnm-gtk/wifi.ui \
+ ${datadir}/libnma/wifi.ui \
+ ${datadir}/metainfo \
+"
+
+# musl builds generate gir files which otherwise go un-packaged
+FILES_${PN}-dev += " \
+ ${datadir}/gir-1.0 \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend b/meta-openembedded/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend
new file mode 100644
index 0000000..291a616
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend
@@ -0,0 +1,3 @@
+# networkmanager-applet requires glib support
+PACKAGECONFIG_append = "glib"
+
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/obex/obexd/ssize_t_definition.patch b/meta-openembedded/meta-gnome/recipes-connectivity/obex/obexd/ssize_t_definition.patch
deleted file mode 100644
index 570cb9e..0000000
--- a/meta-openembedded/meta-gnome/recipes-connectivity/obex/obexd/ssize_t_definition.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From fb5056fea9559b3ec3bb61967a112b6c793b700d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 8 Jan 2013 21:33:34 -0800
-Subject: [PATCH] include unistd.h to get ssize_t definitions
-
-Fixes errors like
-
-| In file included from plugins/mas.c:36:0:
-| ./src/obex.h:39:1: error: unknown type name 'ssize_t'
-| ./src/obex.h:49:1: error: unknown type name 'ssize_t'
-| ./src/obex.h:50:1: error: unknown type name 'ssize_t'
-| In file included from plugins/mas.c:38:0:
-| ./src/mimetype.h:36:2: error: expected specifier-qualifier-list before 'ssize_t'
-| In file included from plugins/mas.c:39:0:
-| plugins/filesystem.h:24:1: error: unknown type name 'ssize_t'
-| plugins/mas.c:550:1: error: unknown type name 'ssize_t'
-| plugins/mas.c:557:1: error: unknown type name 'ssize_t'
-| plugins/mas.c: In function 'any_read':
-| plugins/mas.c:560:2: error: unknown type name 'ssize_t'
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- plugins/mas.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/plugins/mas.c b/plugins/mas.c
-index 1b18059..b519507 100644
---- a/plugins/mas.c
-+++ b/plugins/mas.c
-@@ -30,6 +30,7 @@
- #include <glib.h>
- #include <fcntl.h>
- #include <inttypes.h>
-+#include <unistd.h>
-
- #include <gobex/gobex.h>
- #include <gobex/gobex-apparam.h>
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/obex/obexd_0.48.bb b/meta-openembedded/meta-gnome/recipes-connectivity/obex/obexd_0.48.bb
deleted file mode 100644
index 6096bed..0000000
--- a/meta-openembedded/meta-gnome/recipes-connectivity/obex/obexd_0.48.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "OBEX Server and Client"
-# obexd was integrated into bluez5
-DEPENDS = "glib-2.0 dbus libical"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
-
-SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/obexd-${PV}.tar.gz \
- file://ssize_t_definition.patch \
-"
-SRC_URI[md5sum] = "d03cf9bad2983243837f4f6d76ef14a6"
-SRC_URI[sha256sum] = "eaa9d8d9542700e6750918d72a3ce00f8cf3a2771d3e2516efd1be5a05f78582"
-
-inherit autotools-brokensep pkgconfig
-
-PACKAGES =+ "obex-client obex-plugins"
-
-FILES_${PN} += "${datadir}/dbus-1/services/${PN}.service"
-FILES_obex-client = "${libexecdir}/obex-client \
- ${datadir}/dbus-1/services/obex-client.service"
-# currently the plugins are empty
-FILES_obex-plugins = "${libdir}/obex/plugins"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-Bug-13770-Require-C-11-from-now-on.patch b/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-Bug-13770-Require-C-11-from-now-on.patch
new file mode 100644
index 0000000..3731a23
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-Bug-13770-Require-C-11-from-now-on.patch
@@ -0,0 +1,180 @@
+From f6d0dc338fe867c1b064682ae7f15bffe019b306 Mon Sep 17 00:00:00 2001
+From: Hubert Figuiere <hub@figuiere.net>
+Date: Tue, 12 Apr 2016 02:55:47 +0000
+Subject: [PATCH] Bug 13770 - Require C++11 from now on.
+
+git-svn-id: svn+ssh://svn.abisource.com/svnroot/abiword/trunk@35197 bcba8976-2d24-0410-9c9c-aab3bd5fdfd6
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ax_cxx_compile_stdcxx_11.m4 | 133 +++++++++++++++++++++++++++++++++++
+ configure.ac | 1 +
+ src/wp/ap/gtk/ap_UnixApp.cpp | 2 +-
+ 3 files changed, 135 insertions(+), 1 deletion(-)
+ create mode 100644 ax_cxx_compile_stdcxx_11.m4
+
+diff --git a/ax_cxx_compile_stdcxx_11.m4 b/ax_cxx_compile_stdcxx_11.m4
+new file mode 100644
+index 0000000..af37acd
+--- /dev/null
++++ b/ax_cxx_compile_stdcxx_11.m4
+@@ -0,0 +1,133 @@
++# ============================================================================
++# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
++# ============================================================================
++#
++# SYNOPSIS
++#
++# AX_CXX_COMPILE_STDCXX_11([ext|noext],[mandatory|optional])
++#
++# DESCRIPTION
++#
++# Check for baseline language coverage in the compiler for the C++11
++# standard; if necessary, add switches to CXXFLAGS to enable support.
++#
++# The first argument, if specified, indicates whether you insist on an
++# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
++# -std=c++11). If neither is specified, you get whatever works, with
++# preference for an extended mode.
++#
++# The second argument, if specified 'mandatory' or if left unspecified,
++# indicates that baseline C++11 support is required and that the macro
++# should error out if no mode with that support is found. If specified
++# 'optional', then configuration proceeds regardless, after defining
++# HAVE_CXX11 if and only if a supporting mode is found.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
++# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
++# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
++#
++# Copying and distribution of this file, with or without modification, are
++# permitted in any medium without royalty provided the copyright notice
++# and this notice are preserved. This file is offered as-is, without any
++# warranty.
++
++#serial 3
++
++m4_define([_AX_CXX_COMPILE_STDCXX_11_testbody], [
++ template <typename T>
++ struct check
++ {
++ static_assert(sizeof(int) <= sizeof(T), "not big enough");
++ };
++
++ typedef check<check<bool>> right_angle_brackets;
++
++ int a;
++ decltype(a) b;
++
++ typedef check<int> check_type;
++ check_type c;
++ check_type&& cr = static_cast<check_type&&>(c);
++
++ auto d = a;
++])
++
++AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [dnl
++ m4_if([$1], [], [],
++ [$1], [ext], [],
++ [$1], [noext], [],
++ [m4_fatal([invalid argument `$1' to AX_CXX_COMPILE_STDCXX_11])])dnl
++ m4_if([$2], [], [ax_cxx_compile_cxx11_required=true],
++ [$2], [mandatory], [ax_cxx_compile_cxx11_required=true],
++ [$2], [optional], [ax_cxx_compile_cxx11_required=false],
++ [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX_11])])dnl
++ AC_LANG_PUSH([C++])dnl
++ ac_success=no
++ AC_CACHE_CHECK(whether $CXX supports C++11 features by default,
++ ax_cv_cxx_compile_cxx11,
++ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
++ [ax_cv_cxx_compile_cxx11=yes],
++ [ax_cv_cxx_compile_cxx11=no])])
++ if test x$ax_cv_cxx_compile_cxx11 = xyes; then
++ ac_success=yes
++ fi
++
++ m4_if([$1], [noext], [], [dnl
++ if test x$ac_success = xno; then
++ for switch in -std=gnu++11 -std=gnu++0x; do
++ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
++ AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
++ $cachevar,
++ [ac_save_CXXFLAGS="$CXXFLAGS"
++ CXXFLAGS="$CXXFLAGS $switch"
++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
++ [eval $cachevar=yes],
++ [eval $cachevar=no])
++ CXXFLAGS="$ac_save_CXXFLAGS"])
++ if eval test x\$$cachevar = xyes; then
++ CXXFLAGS="$CXXFLAGS $switch"
++ ac_success=yes
++ break
++ fi
++ done
++ fi])
++
++ m4_if([$1], [ext], [], [dnl
++ if test x$ac_success = xno; then
++ for switch in -std=c++11 -std=c++0x; do
++ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
++ AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
++ $cachevar,
++ [ac_save_CXXFLAGS="$CXXFLAGS"
++ CXXFLAGS="$CXXFLAGS $switch"
++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
++ [eval $cachevar=yes],
++ [eval $cachevar=no])
++ CXXFLAGS="$ac_save_CXXFLAGS"])
++ if eval test x\$$cachevar = xyes; then
++ CXXFLAGS="$CXXFLAGS $switch"
++ ac_success=yes
++ break
++ fi
++ done
++ fi])
++ AC_LANG_POP([C++])
++ if test x$ax_cxx_compile_cxx11_required = xtrue; then
++ if test x$ac_success = xno; then
++ AC_MSG_ERROR([*** A compiler with support for C++11 language features is required.])
++ fi
++ else
++ if test x$ac_success = xno; then
++ HAVE_CXX11=0
++ AC_MSG_NOTICE([No compiler with C++11 support was found])
++ else
++ HAVE_CXX11=1
++ AC_DEFINE(HAVE_CXX11,1,
++ [define if the compiler supports basic C++11 syntax])
++ fi
++
++ AC_SUBST(HAVE_CXX11)
++ fi
++])
+diff --git a/configure.ac b/configure.ac
+index 48228be..f7be7de 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -131,6 +131,7 @@ win_pkgs="$enchant_req"
+
+ AC_PROG_CC
+ AC_PROG_CXX
++AX_CXX_COMPILE_STDCXX_11(noext,mandatory)
+ #AC_PROG_OBJC
+ AC_PROG_INSTALL
+ # For libtool 1.5.x compatability (AC_PROG_LIBTOOL is deprecated version of LT_INIT)
+diff --git a/src/wp/ap/gtk/ap_UnixApp.cpp b/src/wp/ap/gtk/ap_UnixApp.cpp
+index 061a304..260f8e5 100644
+--- a/src/wp/ap/gtk/ap_UnixApp.cpp
++++ b/src/wp/ap/gtk/ap_UnixApp.cpp
+@@ -863,7 +863,7 @@ static bool is_so (const char *file) {
+ if (len < (strlen(G_MODULE_SUFFIX) + 2)) // this is ".so" and at least one char for the filename
+ return false;
+ const char *suffix = file+(len-3);
+- if(0 == strcmp (suffix, "."G_MODULE_SUFFIX))
++ if(0 == strcmp (suffix, "." G_MODULE_SUFFIX))
+ return true;
+ return false;
+ }
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb
index d2c0186..36b056f 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb
@@ -8,7 +8,7 @@
gtk+ \
gtkmathview \
wv \
- libfribidi \
+ fribidi \
jpeg \
libpng \
librsvg \
@@ -24,10 +24,10 @@
"
RCONFLICTS_${PN} = "${PN}-embedded"
-SRC_URI = " \
- http://www.abisource.com/downloads/${BPN}/${PV}/source/${BP}.tar.gz \
- file://0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch \
-"
+SRC_URI = "http://www.abisource.com/downloads/${BPN}/${PV}/source/${BP}.tar.gz \
+ file://0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch \
+ file://0001-Bug-13770-Require-C-11-from-now-on.patch \
+ "
LIC_FILES_CHKSUM = "file://COPYING;md5=c5edcc3ccd864b19004d14e9c1c9a26a"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.28.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.28.0.bb
new file mode 100644
index 0000000..70f917e
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.28.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Configuration editor for dconf"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+DEPENDS = "dconf gtk+3"
+
+inherit gnomebase vala gettext gsettings bash-completion
+
+SRC_URI[archive.md5sum] = "cc9eb8020cc848812972d8519c3d05cf"
+SRC_URI[archive.sha256sum] = "455b53d827820efd28a176ee52e13eda5cda8cdf4e31e0145cfdd69931bf0c5a"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb
deleted file mode 100644
index e24bde4..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "configuation database system"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-SECTION = "x11/gnome"
-
-inherit gnomebase gsettings
-SRC_URI[archive.md5sum] = "69a12ed68893f2e1e81ac4e531bc1515"
-SRC_URI[archive.sha256sum] = "109b1bc6078690af1ed88cb144ef5c5aee7304769d8bdc82ed48c3696f10c955"
-GNOME_COMPRESS_TYPE = "xz"
-
-DEPENDS = "dbus glib-2.0 libxml2 intltool-native"
-
-inherit vala gtk-doc distro_features_check
-
-PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "editor", "", d)}"
-
-#note: editor will be removed in version 0.23.1
-PACKAGECONFIG[editor] = "--enable-editor,--disable-editor,gtk+3"
-
-REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains("PACKAGECONFIG", "editor", "x11", "", d)}"
-
-EXTRA_OECONF += "--disable-man"
-
-PACKAGES =+ "${@bb.utils.contains("DISTRO_FEATURES", "x11", "dconf-editor", "", d)}"
-
-FILES_${PN} += " \
- ${datadir}/dbus-1 \
- ${libdir}/gio/modules/*.so \
- ${datadir}/bash-completion \
-"
-FILES_dconf-editor = " \
- ${bindir}/dconf-editor \
- ${datadir}/icons \
-"
-FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/libdconfsettings.so"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.28.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.28.0.bb
new file mode 100644
index 0000000..99292a8
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.28.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "configuation database system"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+SECTION = "x11/gnome"
+
+SRC_URI[archive.md5sum] = "81faa8e68e5ea71ff0ee75050fc0759c"
+SRC_URI[archive.sha256sum] = "61d3b3865ef58b729c3b39aa0979f886c014aa8362f93dcfc74bf5648ed9c742"
+
+DEPENDS = "dbus glib-2.0 intltool-native"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gsettings bash-completion vala
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${libdir}/gio/modules/*.so \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-Use-recommended-way-to-handle-the-icu-namespace.patch b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-Use-recommended-way-to-handle-the-icu-namespace.patch
new file mode 100644
index 0000000..d3b0ac6
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-Use-recommended-way-to-handle-the-icu-namespace.patch
@@ -0,0 +1,46 @@
+From 698a0e104dcbe4b630df848fd4af7c59f76cdc37 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 5 May 2018 17:46:52 -0700
+Subject: [PATCH] Use recommended way to handle the icu namespace
+
+Fixes build with icu >= 61
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libedataserver/e-alphabet-index-private.cpp | 2 ++
+ src/libedataserver/e-transliterator-private.cpp | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/src/libedataserver/e-alphabet-index-private.cpp b/src/libedataserver/e-alphabet-index-private.cpp
+index d3e44f4..ddffd99 100644
+--- a/src/libedataserver/e-alphabet-index-private.cpp
++++ b/src/libedataserver/e-alphabet-index-private.cpp
+@@ -33,9 +33,11 @@
+
+ /* ICU headers */
+ #include <unicode/alphaindex.h>
++#include <unicode/ustring.h>
+
+ using icu::AlphabeticIndex;
+ using icu::Locale;
++using U_ICU_NAMESPACE::UnicodeString;
+
+ struct _EAlphabetIndex {
+ AlphabeticIndex *priv;
+diff --git a/src/libedataserver/e-transliterator-private.cpp b/src/libedataserver/e-transliterator-private.cpp
+index bb15593..573446f 100644
+--- a/src/libedataserver/e-transliterator-private.cpp
++++ b/src/libedataserver/e-transliterator-private.cpp
+@@ -33,8 +33,10 @@
+
+ /* ICU headers */
+ #include <unicode/translit.h>
++#include <unicode/ustring.h>
+
+ using icu::Transliterator;
++using U_ICU_NAMESPACE::UnicodeString;
+
+ struct _ETransliterator {
+ Transliterator *priv;
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.3.bb
deleted file mode 100644
index 2303b8f..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.3.bb
+++ /dev/null
@@ -1,130 +0,0 @@
-SUMMARY = "Evolution database backend server"
-HOMEPAGE = "http://www.gnome.org/projects/evolution/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "LGPLv2 & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6a6e689d19255cf0557f3fe7d7068212 \
- file://src/camel/camel.h;endline=24;md5=342fc5e9357254bc30c24e43ae47d9a1 \
- file://src/libedataserver/e-data-server-util.h;endline=20;md5=8f21a9c80ea82a4fb80b5f959f672543 \
- file://src/calendar/libecal/e-cal.h;endline=24;md5=e699ec3866f73f129f7a4ffffdcfc196"
-
-DEPENDS = " \
- intltool-native gperf-native \
- glib-2.0 gtk+3 gconf libgnome-keyring libgdata \
- dbus db virtual/libiconv zlib libsoup-2.4 libical nss libsecret \
-"
-
-inherit distro_features_check gnomebase cmake gtk-doc gettext gobject-introspection perlnative pythonnative
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI += " \
- file://0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch \
- file://0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch \
- file://0003-contact-Replace-the-Novell-sample-contact-with-somet.patch \
- file://iconv-detect.h \
-"
-SRC_URI[archive.md5sum] = "568a21a4df4e0ec985c849b38fc66908"
-SRC_URI[archive.sha256sum] = "63b1ae5f76be818862f455bf841b5ebb1ec3e1f4df6d3a16dc2be348b7e0a1c5"
-
-LKSTRFTIME = "HAVE_LKSTRFTIME=ON"
-LKSTRFTIME_libc-musl = "HAVE_LKSTRFTIME=OFF"
-
-EXTRA_OECMAKE = " \
- -DWITH_KRB5=OFF \
- -DENABLE_GOA=OFF \
- -DENABLE_UOA=OFF \
- -DENABLE_GOOGLE_AUTH=OFF \
- -DENABLE_WEATHER=OFF \
- -D${LKSTRFTIME} \
-"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[openldap] = "-DWITH_OPENLDAP=ON,-DWITH_OPENLDAP=OFF,openldap"
-
-EXTRA_OECONF = "--with-libdb=${STAGING_DIR_HOST}${prefix} \
- --disable-nntp --disable-gtk-doc"
-
-# -ldb needs this on some platforms
-LDFLAGS += "-lpthread -lgmodule-2.0 -lgthread-2.0"
-
-do_configure_append () {
- cp ${WORKDIR}/iconv-detect.h ${S}/src
-
- # fix native perl shebang
- sed -i 's:${STAGING_BINDIR_NATIVE}/perl-native:${bindir}:' ${B}/src/tools/addressbook-export/csv2vcard
-}
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/camel/.libs:${B}/libedataserver/.libs"
-}
-
-
-PACKAGES =+ "libcamel libcamel-dev libebook libebook-dev libecal libecal-dev \
- libedata-book libedata-book-dev libedata-cal libedata-cal-dev \
- libedataserver libedataserver-dev \
- libedataserverui libedataserverui-dev"
-
-FILES_${PN} =+ "${systemd_user_unitdir} \
- ${datadir}/dbus-1 \
- ${datadir}/evolution-data-server-*/ui/"
-RDEPENDS_${PN} += "perl"
-
-FILES_${PN}-dev =+ "${libdir}/pkgconfig/evolution-data-server-*.pc"
-FILES_${PN}-dbg =+ "${libdir}/evolution-data-server*/camel-providers/.debug \
- ${libdir}/evolution-data-server*/calendar-backends/.debug \
- ${libdir}/evolution-data-server*/addressbook-backends/.debug \
- ${libdir}/evolution-data-server*/extensions/.debug/"
-
-RRECOMMENDS_${PN}-dev += "libecal-dev libebook-dev"
-
-FILES_libcamel = "${libdir}/libcamel-*.so.* \
- ${libdir}/libcamel-provider-*.so.* \
- ${libdir}/evolution-data-server*/camel-providers/*.so \
- ${libdir}/evolution-data-server*/camel-providers/*.urls"
-FILES_libcamel-dev = "${libdir}/libcamel-*.so ${libdir}/libcamel-provider-*.so \
- ${libdir}/pkgconfig/camel*pc \
- ${libdir}/evolution-data-server*/camel-providers/*.la \
- ${includedir}/evolution-data-server*/camel"
-
-FILES_libebook = "${libdir}/libebook-*.so.*"
-FILES_libebook-dev = "${libdir}/libebook-1.2.so \
- ${libdir}/pkgconfig/libebook-*.pc \
- ${includedir}/evolution-data-server*/libebook/*.h"
-RRECOMMENDS_libebook = "libedata-book"
-
-FILES_libecal = "${libdir}/libecal-*.so.* \
- ${datadir}/evolution-data-server-1.4/zoneinfo"
-FILES_libecal-dev = "${libdir}/libecal-*.so ${libdir}/pkgconfig/libecal-*.pc \
- ${includedir}/evolution-data-server*/libecal/*.h \
- ${includedir}/evolution-data-server*/libical/*.h"
-RRECOMMENDS_libecal = "libedata-cal tzdata"
-
-FILES_libedata-book = "${libexecdir}/e-addressbook-factory \
- ${datadir}/dbus-1/services/*.AddressBook.service \
- ${libdir}/libedata-book-*.so.* \
- ${libdir}/evolution-data-server-*/extensions/libebook*.so \
- ${datadir}/evolution-data-server-1.4/weather/Locations.xml"
-FILES_libedata-book-dev = "${libdir}/libedata-book-*.so \
- ${libdir}/pkgconfig/libedata-book-*.pc \
- ${libdir}/evolution-data-server-*/extensions/libebook*.la \
- ${includedir}/evolution-data-server-*/libedata-book"
-
-FILES_libedata-cal = "${libexecdir}/e-calendar-factory \
- ${datadir}/dbus-1/services/*.Calendar.service \
- ${libdir}/libedata-cal-*.so.* \
- ${libdir}/evolution-data-server-*/extensions/libecal*.so"
-FILES_libedata-cal-dev = "${libdir}/libedata-cal-*.so \
- ${libdir}/pkgconfig/libedata-cal-*.pc \
- ${includedir}/evolution-data-server-*/libedata-cal \
- ${libdir}/evolution-data-server-*/extensions/libecal*.la"
-
-FILES_libedataserver = "${libdir}/libedataserver-*.so.*"
-FILES_libedataserver-dev = "${libdir}/libedataserver-*.so \
- ${libdir}/pkgconfig/libedataserver-*.pc \
- ${includedir}/evolution-data-server-*/libedataserver/*.h"
-
-FILES_libedataserverui = "${libdir}/libedataserverui-*.so.* ${datadir}/evolution-data-server-1.4/glade/*.glade"
-FILES_libedataserverui-dev = "${libdir}/libedataserverui-*.so \
- ${libdir}/pkgconfig/libedataserverui-*.pc \
- ${includedir}/evolution-data-server-*/libedataserverui/*.h"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.6.bb b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.6.bb
new file mode 100644
index 0000000..db5dca9
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.6.bb
@@ -0,0 +1,131 @@
+SUMMARY = "Evolution database backend server"
+HOMEPAGE = "http://www.gnome.org/projects/evolution/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2 & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6a6e689d19255cf0557f3fe7d7068212 \
+ file://src/camel/camel.h;endline=24;md5=342fc5e9357254bc30c24e43ae47d9a1 \
+ file://src/libedataserver/e-data-server-util.h;endline=20;md5=8f21a9c80ea82a4fb80b5f959f672543 \
+ file://src/calendar/libecal/e-cal.h;endline=24;md5=e699ec3866f73f129f7a4ffffdcfc196"
+
+DEPENDS = " \
+ intltool-native gperf-native \
+ glib-2.0 gtk+3 gconf libgnome-keyring libgdata \
+ dbus db virtual/libiconv zlib libsoup-2.4 libical nss libsecret \
+"
+
+inherit distro_features_check gnomebase cmake gtk-doc gettext gobject-introspection perlnative pythonnative
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
+ file://0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch \
+ file://0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch \
+ file://0003-contact-Replace-the-Novell-sample-contact-with-somet.patch \
+ file://iconv-detect.h \
+ file://0004-Use-recommended-way-to-handle-the-icu-namespace.patch \
+ "
+SRC_URI[archive.md5sum] = "ae7bbf543b2c3ff79af27e0edea5d472"
+SRC_URI[archive.sha256sum] = "e43aa1847ddc02965f560261ef88d18fb8704eddaa55555bf96b884a33e510ec"
+
+LKSTRFTIME = "HAVE_LKSTRFTIME=ON"
+LKSTRFTIME_libc-musl = "HAVE_LKSTRFTIME=OFF"
+
+EXTRA_OECMAKE = " \
+ -DWITH_KRB5=OFF \
+ -DENABLE_GOA=OFF \
+ -DENABLE_UOA=OFF \
+ -DENABLE_GOOGLE_AUTH=OFF \
+ -DENABLE_WEATHER=OFF \
+ -D${LKSTRFTIME} \
+"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[openldap] = "-DWITH_OPENLDAP=ON,-DWITH_OPENLDAP=OFF,openldap"
+
+EXTRA_OECONF = "--with-libdb=${STAGING_DIR_HOST}${prefix} \
+ --disable-nntp --disable-gtk-doc"
+
+# -ldb needs this on some platforms
+LDFLAGS += "-lpthread -lgmodule-2.0 -lgthread-2.0"
+
+do_configure_append () {
+ cp ${WORKDIR}/iconv-detect.h ${S}/src
+
+ # fix native perl shebang
+ sed -i 's:${STAGING_BINDIR_NATIVE}/perl-native:${bindir}:' ${B}/src/tools/addressbook-export/csv2vcard
+}
+
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/camel/.libs:${B}/libedataserver/.libs"
+}
+
+
+PACKAGES =+ "libcamel libcamel-dev libebook libebook-dev libecal libecal-dev \
+ libedata-book libedata-book-dev libedata-cal libedata-cal-dev \
+ libedataserver libedataserver-dev \
+ libedataserverui libedataserverui-dev"
+
+FILES_${PN} =+ "${systemd_user_unitdir} \
+ ${datadir}/dbus-1 \
+ ${datadir}/evolution-data-server-*/ui/"
+RDEPENDS_${PN} += "perl"
+
+FILES_${PN}-dev =+ "${libdir}/pkgconfig/evolution-data-server-*.pc"
+FILES_${PN}-dbg =+ "${libdir}/evolution-data-server*/camel-providers/.debug \
+ ${libdir}/evolution-data-server*/calendar-backends/.debug \
+ ${libdir}/evolution-data-server*/addressbook-backends/.debug \
+ ${libdir}/evolution-data-server*/extensions/.debug/"
+
+RRECOMMENDS_${PN}-dev += "libecal-dev libebook-dev"
+
+FILES_libcamel = "${libdir}/libcamel-*.so.* \
+ ${libdir}/libcamel-provider-*.so.* \
+ ${libdir}/evolution-data-server*/camel-providers/*.so \
+ ${libdir}/evolution-data-server*/camel-providers/*.urls"
+FILES_libcamel-dev = "${libdir}/libcamel-*.so ${libdir}/libcamel-provider-*.so \
+ ${libdir}/pkgconfig/camel*pc \
+ ${libdir}/evolution-data-server*/camel-providers/*.la \
+ ${includedir}/evolution-data-server*/camel"
+
+FILES_libebook = "${libdir}/libebook-*.so.*"
+FILES_libebook-dev = "${libdir}/libebook-1.2.so \
+ ${libdir}/pkgconfig/libebook-*.pc \
+ ${includedir}/evolution-data-server*/libebook/*.h"
+RRECOMMENDS_libebook = "libedata-book"
+
+FILES_libecal = "${libdir}/libecal-*.so.* \
+ ${datadir}/evolution-data-server-1.4/zoneinfo"
+FILES_libecal-dev = "${libdir}/libecal-*.so ${libdir}/pkgconfig/libecal-*.pc \
+ ${includedir}/evolution-data-server*/libecal/*.h \
+ ${includedir}/evolution-data-server*/libical/*.h"
+RRECOMMENDS_libecal = "libedata-cal tzdata"
+
+FILES_libedata-book = "${libexecdir}/e-addressbook-factory \
+ ${datadir}/dbus-1/services/*.AddressBook.service \
+ ${libdir}/libedata-book-*.so.* \
+ ${libdir}/evolution-data-server-*/extensions/libebook*.so \
+ ${datadir}/evolution-data-server-1.4/weather/Locations.xml"
+FILES_libedata-book-dev = "${libdir}/libedata-book-*.so \
+ ${libdir}/pkgconfig/libedata-book-*.pc \
+ ${libdir}/evolution-data-server-*/extensions/libebook*.la \
+ ${includedir}/evolution-data-server-*/libedata-book"
+
+FILES_libedata-cal = "${libexecdir}/e-calendar-factory \
+ ${datadir}/dbus-1/services/*.Calendar.service \
+ ${libdir}/libedata-cal-*.so.* \
+ ${libdir}/evolution-data-server-*/extensions/libecal*.so"
+FILES_libedata-cal-dev = "${libdir}/libedata-cal-*.so \
+ ${libdir}/pkgconfig/libedata-cal-*.pc \
+ ${includedir}/evolution-data-server-*/libedata-cal \
+ ${libdir}/evolution-data-server-*/extensions/libecal*.la"
+
+FILES_libedataserver = "${libdir}/libedataserver-*.so.*"
+FILES_libedataserver-dev = "${libdir}/libedataserver-*.so \
+ ${libdir}/pkgconfig/libedataserver-*.pc \
+ ${includedir}/evolution-data-server-*/libedataserver/*.h"
+
+FILES_libedataserverui = "${libdir}/libedataserverui-*.so.* ${datadir}/evolution-data-server-1.4/glade/*.glade"
+FILES_libedataserverui-dev = "${libdir}/libedataserverui-*.so \
+ ${libdir}/pkgconfig/libedataserverui-*.pc \
+ ${includedir}/evolution-data-server-*/libedataserverui/*.h"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-add-a-formatting-attribute-check.patch b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-add-a-formatting-attribute-check.patch
new file mode 100644
index 0000000..e87da90
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-add-a-formatting-attribute-check.patch
@@ -0,0 +1,34 @@
+From ef170dda7fbab53682c9bc287dec93fa86130bc9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 9 Sep 2018 21:49:59 -0700
+Subject: [PATCH] add a formatting attribute check
+
+Tell Clang that parameter is a printf style format using the
+attribute flag
+
+This helps in avoiding below warnings seen with clang
+
+unarr.c:106:22: error: format string is not a string literal
+[-Werror,-Wformat-nonliteral]
+| vfprintf(stderr, msg, args);
+| ^~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ cut-n-paste/unarr/common/unarr.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cut-n-paste/unarr/common/unarr.c b/cut-n-paste/unarr/common/unarr.c
+index 97ec92a..9e6e3ad 100644
+--- a/cut-n-paste/unarr/common/unarr.c
++++ b/cut-n-paste/unarr/common/unarr.c
+@@ -92,7 +92,7 @@ size_t ar_get_global_comment(ar_archive *ar, void *buffer, size_t count)
+ return ar->get_comment(ar, buffer, count);
+ }
+
+-void ar_log(const char *prefix, const char *file, int line, const char *msg, ...)
++void __attribute__((__format__ (__printf__, 4, 0))) ar_log(const char *prefix, const char *file, int line, const char *msg, ...)
+ {
+ va_list args;
+ va_start(args, msg);
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.24.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.24.0.bb
deleted file mode 100644
index c7ecf2b..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.24.0.bb
+++ /dev/null
@@ -1,66 +0,0 @@
-SUMMARY = "Evince is a document viewer for document formats like pdf, ps, djvu"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=96f2f8d5ee576a2163977938ea36fa7b"
-SECTION = "x11/office"
-DEPENDS = "gtk+3 libsecret ${@bb.utils.contains('DISTRO_FEATURES','x11','gnome-desktop3','',d)} poppler gstreamer1.0-plugins-base orc adwaita-icon-theme intltool-native gnome-common-native"
-PR = "r5"
-
-inherit gnome pkgconfig gtk-icon-cache gsettings gobject-introspection distro_features_check systemd
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
- file://0001-help-remove-YELP-macro.patch \
- file://0001-Add-format-attribute-to-_synctex_malloc.patch \
- "
-SRC_URI[archive.md5sum] = "3fb65ff46de191dc49c481f1fc66201c"
-SRC_URI[archive.sha256sum] = "043895af7bbd6f1b57f9ab8778e78cf9c0af5dfcc347eaa94a17bf864c04dc8f"
-
-EXTRA_OECONF = " --enable-thumbnailer \
-"
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/libdocument/.libs"
-}
-
-
-do_install_append() {
- install -d ${D}${datadir}/pixmaps
- install -m 0755 ${S}/data/icons/48x48/apps/evince.png ${D}${datadir}/pixmaps/
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}
- then
- install -d ${D}${systemd_unitdir}/system
- mv ${D}${systemd_user_unitdir}/evince.service ${D}${systemd_system_unitdir}/evince.service
- else
- rm -rf ${D}${libdir}/systemd/user/evince.service
- fi
- rmdir --ignore-fail-on-non-empty ${D}${systemd_user_unitdir}
- rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}/systemd
- rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}
-}
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[nautilus] = "--enable-nautilus,--disable-nautilus,nautilus"
-PACKAGECONFIG[browser-plugin] = "--enable-browser-plugin,--disable-browser-plugin,"
-
-SYSTEMD_SERVICE_${PN} = "evince.service"
-
-RDEPENDS_${PN} += "glib-2.0-utils"
-RRECOMMMENDS_${PN} = "adwaita-icon-theme"
-
-PACKAGES =+ "${PN}-nautilus-extension"
-PACKAGES =+ "${PN}-browser-plugin"
-
-FILES_${PN} += "${datadir}/dbus-1 \
- ${datadir}/appdata \
- ${datadir}/thumbnailers \
- ${systemd_unitdir}/systemd/user/evince.service \
- "
-FILES_${PN}-dbg += "${libdir}/*/*/.debug \
- ${libdir}/*/*/*/.debug"
-FILES_${PN}-dev += "${libdir}/nautilus/extensions-2.0/*.la \
- ${libdir}/evince/*/backends/*.la"
-FILES_${PN}-staticdev += "${libdir}/nautilus/extensions-2.0/*.a \
- ${libdir}/evince/*/backends/*.a"
-FILES_${PN}-nautilus-extension = "${libdir}/nautilus/*/*so"
-FILES_${PN}-browser-plugin = "${libdir}/mozilla/*/*so"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.28.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.28.2.bb
new file mode 100644
index 0000000..8bf8a04
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.28.2.bb
@@ -0,0 +1,65 @@
+SUMMARY = "Evince is a document viewer for document formats like pdf, ps, djvu"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=96f2f8d5ee576a2163977938ea36fa7b"
+SECTION = "x11/office"
+DEPENDS = "gtk+3 libsecret ${@bb.utils.contains('DISTRO_FEATURES','x11','gnome-desktop3','',d)} poppler gstreamer1.0-plugins-base orc adwaita-icon-theme intltool-native gnome-common-native"
+
+inherit gnome pkgconfig gtk-icon-cache gsettings gobject-introspection distro_features_check systemd
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
+ file://0001-help-remove-YELP-macro.patch \
+ file://0001-Add-format-attribute-to-_synctex_malloc.patch \
+ file://0001-add-a-formatting-attribute-check.patch \
+ "
+SRC_URI[archive.md5sum] = "66aa1766eaaa37536e48def11a0e67a3"
+SRC_URI[archive.sha256sum] = "0955d22d85c9f6d322b6cbb464f1cc4c352db619017ec95dad4cc5c3440f73e1"
+
+EXTRA_OECONF = "--enable-thumbnailer"
+
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/libdocument/.libs"
+}
+
+
+do_install_append() {
+ install -d ${D}${datadir}/pixmaps
+ install -m 0755 ${S}/data/icons/48x48/apps/evince.png ${D}${datadir}/pixmaps/
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}
+ then
+ install -d ${D}${systemd_unitdir}/system
+ mv ${D}${systemd_user_unitdir}/evince.service ${D}${systemd_system_unitdir}/evince.service
+ else
+ rm -rf ${D}${libdir}/systemd/user/evince.service
+ fi
+ rmdir --ignore-fail-on-non-empty ${D}${systemd_user_unitdir}
+ rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}/systemd
+ rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}
+}
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[nautilus] = "--enable-nautilus,--disable-nautilus,nautilus"
+PACKAGECONFIG[browser-plugin] = "--enable-browser-plugin,--disable-browser-plugin,"
+
+SYSTEMD_SERVICE_${PN} = "evince.service"
+
+RDEPENDS_${PN} += "glib-2.0-utils"
+RRECOMMMENDS_${PN} = "adwaita-icon-theme"
+
+PACKAGES =+ "${PN}-nautilus-extension"
+PACKAGES =+ "${PN}-browser-plugin"
+
+FILES_${PN} += "${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+ ${datadir}/thumbnailers \
+ ${systemd_unitdir}/systemd/user/evince.service \
+ "
+FILES_${PN}-dbg += "${libdir}/*/*/.debug \
+ ${libdir}/*/*/*/.debug"
+FILES_${PN}-dev += "${libdir}/nautilus/extensions-2.0/*.la \
+ ${libdir}/evince/*/backends/*.la"
+FILES_${PN}-staticdev += "${libdir}/nautilus/extensions-2.0/*.a \
+ ${libdir}/evince/*/backends/*.a"
+FILES_${PN}-nautilus-extension = "${libdir}/nautilus/*/*so"
+FILES_${PN}-browser-plugin = "${libdir}/mozilla/*/*so"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-Disable-libseccomp-sycall-filtering-mechanism.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-Disable-libseccomp-sycall-filtering-mechanism.patch
new file mode 100644
index 0000000..aa11e8a
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-Disable-libseccomp-sycall-filtering-mechanism.patch
@@ -0,0 +1,45 @@
+From 96753d85d8b53dd8f87b8f444892efffdbfab388 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 5 Oct 2017 14:54:17 +0300
+Subject: [PATCH] Disable libseccomp (sycall filtering mechanism)
+
+Upstream forgot to make it optional, and it is not currently used in Yocto
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ configure.ac | 20 --------------------
+ 1 file changed, 20 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 118d04f..47c8894 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -151,26 +151,6 @@ fi
+
+ SECCOMP_PKG=""
+ enable_seccomp="no"
+-dnl Check for bubblewrap compatible platform
+-case $host_os in
+- linux*)
+- case $host_cpu in
+- alpha|ia64|m68k|sh4|sparc64)
+- enable_seccomp="no (not available on this architecture)"
+- AC_MSG_WARN("seccomp not available on this architecture")
+- ;;
+- *)
+- PKG_CHECK_MODULES(LIBSECCOMP, [libseccomp])
+- SECCOMP_PKG="libseccomp"
+- AC_DEFINE([ENABLE_SECCOMP], [1], [Define if using seccomp])
+- enable_seccomp="yes"
+- ;;
+- esac
+- AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define to include GNU extensions])
+- AC_DEFINE_UNQUOTED(HAVE_BWRAP, 1, [Define to 1 if Bubblewrap support is available])
+- AC_DEFINE_UNQUOTED(INSTALL_PREFIX, "$prefix", [Path to library install prefix])
+- ;;
+-esac
+
+ dnl pkg-config dependency checks
+
diff --git a/poky/meta/recipes-gnome/gnome-desktop/gnome-desktop/gnome-desktop-thumbnail-don-t-assume-time_t-is-long.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/gnome-desktop-thumbnail-don-t-assume-time_t-is-long.patch
similarity index 100%
rename from poky/meta/recipes-gnome/gnome-desktop/gnome-desktop/gnome-desktop-thumbnail-don-t-assume-time_t-is-long.patch
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/gnome-desktop-thumbnail-don-t-assume-time_t-is-long.patch
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.28.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.28.1.bb
new file mode 100644
index 0000000..39b3491
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.28.1.bb
@@ -0,0 +1,28 @@
+SUMMARY = "GNOME library for reading .desktop files"
+SECTION = "x11/gnome"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+BPN = "gnome-desktop"
+
+inherit gnome pkgconfig upstream-version-is-even gobject-introspection
+SRC_URI[archive.md5sum] = "bcbf906d94eb08060c60a7364384d678"
+SRC_URI[archive.sha256sum] = "78a397a2be47586e6dc075d6a7fc5659aae3d10713d76994ce1b46086e7ecb9a"
+
+SRC_URI += " \
+ file://gnome-desktop-thumbnail-don-t-assume-time_t-is-long.patch \
+ file://0001-Disable-libseccomp-sycall-filtering-mechanism.patch \
+ "
+
+DEPENDS += "intltool-native gsettings-desktop-schemas gconf virtual/libx11 gtk+3 glib-2.0 startup-notification xkeyboard-config iso-codes udev"
+
+inherit distro_features_check gtk-doc
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OECONF = "--disable-desktop-docs"
+
+PACKAGES =+ "libgnome-desktop3"
+FILES_libgnome-desktop3 = "${libdir}/lib*${SOLIBS} ${datadir}/libgnome-desktop*/pnp.ids ${datadir}/gnome/*xml"
+
+RRECOMMENDS_libgnome-desktop3 += "gsettings-desktop-schemas"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_3.12.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_3.12.0.bb
index 82abe33..ba69e2e 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_3.12.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_3.12.0.bb
@@ -15,3 +15,15 @@
SRC_URI[archive.md5sum] = "6696e4f2e9aed4625cdc3af30bd8c238"
SRC_URI[archive.sha256sum] = "c4c178fbb05f72acc484d22ddb0568f7532c409b0a13e06513ff54b91e947783"
+
+
+# Fails to build with thumb-1 (qemuarm)
+#| {standard input}: Assembler messages:
+#| {standard input}:823: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3'
+#| {standard input}:823: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#13'
+#| {standard input}:824: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#29'
+#| {standard input}:824: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#19'
+#| {standard input}:825: Error: lo register required -- `orr r10,r10,r10'
+ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET_armv4 = "arm"
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.6.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.6.bb
deleted file mode 100644
index 87e48ed..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.6.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Portable C library for multiline text editing"
-HOMEPAGE = "http://projects.gnome.org/gtksourceview/"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-
-DEPENDS = "gtk+3 libxml2 intltool-native gnome-common-native glib-2.0-native"
-
-PNAME = "gtksourceview"
-
-S = "${WORKDIR}/${PNAME}-${PV}"
-
-inherit gnomebase lib_package gettext distro_features_check gtk-doc gobject-introspection
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtksourceview/3.24/${PNAME}-${PV}.tar.xz"
-SRC_URI[md5sum] = "c09ccfc80f78083841f8fe266c1ac52a"
-SRC_URI[sha256sum] = "7aa6bdfebcdc73a763dddeaa42f190c40835e6f8495bb9eb8f78587e2577c188"
-
-FILES_${PN} += " ${datadir}/gtksourceview-3.0"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.8.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.8.bb
new file mode 100644
index 0000000..7cb8866
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.8.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Portable C library for multiline text editing"
+HOMEPAGE = "http://projects.gnome.org/gtksourceview/"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+
+DEPENDS = "gtk+3 libxml2 intltool-native gnome-common-native glib-2.0-native"
+
+PNAME = "gtksourceview"
+
+S = "${WORKDIR}/${PNAME}-${PV}"
+
+inherit gnomebase lib_package gettext distro_features_check gtk-doc gobject-introspection
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtksourceview/3.24/${PNAME}-${PV}.tar.xz"
+SRC_URI[md5sum] = "52f8c83ad21ad75e9ee6cca03ce2e63f"
+SRC_URI[sha256sum] = "1e9bb8ff190db705deb916dd23ff681f0e8803aec407bf0fd64c7e615ac436fe"
+
+FILES_${PN} += " ${datadir}/gtksourceview-3.0"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.36.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.36.0.bb
deleted file mode 100644
index 5f73912..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.36.0.bb
+++ /dev/null
@@ -1,68 +0,0 @@
-DESCRIPTION = "gvfs is a userspace virtual filesystem"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
-
-inherit gnome bash-completion gettext
-
-DEPENDS += "libsecret glib-2.0 gconf intltool-native libgudev udisks2 polkit shadow-native"
-
-SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
-
-SRC_URI[archive.md5sum] = "216d461c5e96e2cea74253be407af6dc"
-SRC_URI[archive.sha256sum] = "9ec388afeb373a213f2cc489184f76a17ae273a000e8a4ec720c1995943256bb"
-
-do_configure_prepend() {
- # make automake happy..
- touch ${S}/ABOUT-NLS
-}
-
-EXTRA_OECONF = " \
- --disable-gdu \
- --enable-udisks2 \
- --disable-documentation \
-"
-
-PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
-
-FILES_${PN} += " \
- ${datadir}/glib-2.0 \
- ${datadir}/GConf \
- ${datadir}/dbus-1/services \
- ${libdir}/gio/modules/*.so \
- ${libdir}/tmpfiles.d \
- ${systemd_user_unitdir} \
-"
-RDEPENDS_${PN} = "udisks2"
-
-FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/*"
-FILES_${PN}-dev += "${libdir}/gio/modules/*.la"
-
-FILES_gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount"
-FILES_gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount"
-FILES_gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount"
-
-RRECOMMENDS_gvfsd-ftp += "openssh-sftp openssh-ssh"
-
-PACKAGECONFIG ?= "libgphoto2 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-
-PACKAGECONFIG[afc] = "--enable-afc, --disable-afc, libimobiledevice libplist"
-PACKAGECONFIG[archive] = "--enable-archive, --disable-archive, libarchive"
-PACKAGECONFIG[avahi] = "--enable-avahi, --disable-avahi, avahi"
-PACKAGECONFIG[gcr] = "--enable-gcr, --disable-gcr, gcr"
-PACKAGECONFIG[http] = "--enable-http, --disable-http, libsoup-2.4"
-PACKAGECONFIG[libmtp] = "--enable-libmtp, --disable-libmtp, libmtp"
-PACKAGECONFIG[libgphoto2] = "--enable-gphoto2, --disable-gphoto2, libgphoto2"
-PACKAGECONFIG[samba] = "--enable-samba, --disable-samba, samba"
-PACKAGECONFIG[systemd] = "--with-systemduserunitdir=${systemd_user_unitdir},--without-systemduserunitdir,systemd"
-
-# needs meta-filesystems
-PACKAGECONFIG[fuse] = "--enable-fuse, --disable-fuse, fuse"
-
-# libcdio-paranoia recipe doesn't exist yet
-PACKAGECONFIG[cdda] = "--enable-cdda, --disable-cdda, libcdio-paranoia"
-
-# Fix up permissions on polkit rules.d to work with rpm4 constraints
-do_install_append() {
- chmod 700 ${D}/${datadir}/polkit-1/rules.d
- chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
-}
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.39.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.39.1.bb
new file mode 100644
index 0000000..ca1eb6a
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.39.1.bb
@@ -0,0 +1,70 @@
+DESCRIPTION = "gvfs is a userspace virtual filesystem"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnome bash-completion gettext
+
+DEPENDS += "libsecret glib-2.0 gconf intltool-native libgudev udisks2 polkit shadow-native"
+
+SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
+
+SRC_URI[archive.md5sum] = "4c68899cfd80d57a153771534193bb9a"
+SRC_URI[archive.sha256sum] = "6e7213570389b17b67433695f515f3b17705ba976168a4c8828fc177cce50223"
+
+
+EXTRA_OEMESON = " \
+ -Dbluray=false \
+ -Dgdu=false \
+ -Dgoa=false \
+ -Dgoogle=false \
+ -Dnfs=false \
+ -Dudisks2=true \
+ -Ddocumentation=false \
+"
+
+PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
+
+FILES_${PN} += " \
+ ${datadir}/glib-2.0 \
+ ${datadir}/GConf \
+ ${datadir}/dbus-1/services \
+ ${libdir}/gio/modules/*.so \
+ ${libdir}/tmpfiles.d \
+ ${systemd_user_unitdir} \
+"
+RDEPENDS_${PN} = "udisks2"
+
+FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/*"
+FILES_${PN}-dev += "${libdir}/gio/modules/*.la"
+
+FILES_gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount"
+FILES_gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount"
+FILES_gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount"
+
+RRECOMMENDS_gvfsd-ftp += "openssh-sftp openssh-ssh"
+
+PACKAGECONFIG ?= "libgphoto2 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+PACKAGECONFIG[afc] = "-Dafc=true, -Dafc=false, libimobiledevice libplist"
+PACKAGECONFIG[archive] = "-Darchive=true, -Darchive=false, libarchive"
+PACKAGECONFIG[dnssd] = "-Ddnssd=true, -Ddnssd=false, avahi"
+PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr"
+PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-2.4"
+PACKAGECONFIG[libmtp] = "-Dmtp=true, -Dmtp=false, libmtp"
+PACKAGECONFIG[logind] = "-Dlogind=true, -Dlogind=false, systemd"
+PACKAGECONFIG[libgphoto2] = "-Dgphoto2=true, -Dgphoto2=false, libgphoto2"
+PACKAGECONFIG[samba] = "-Dsmb=true, -Dsmb=false, samba"
+PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd"
+
+# needs meta-filesystems
+PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse"
+
+# libcdio-paranoia recipe doesn't exist yet
+PACKAGECONFIG[cdda] = "-Dcdda=true, -Dcdda=false, libcdio-paranoia"
+
+# Fix up permissions on polkit rules.d to work with rpm4 constraints
+do_install_append() {
+ chmod 700 ${D}/${datadir}/polkit-1/rules.d
+ chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
+}
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb
deleted file mode 100644
index 40249fd..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "GNOME keyboard library"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812"
-
-SECTION = "x11/gnome/libs"
-
-DEPENDS = "gconf glib-2.0 libxklavier gtk+3 intltool-native"
-
-inherit distro_features_check gnome gobject-introspection gettext
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-GNOME_COMPRESS_TYPE = "xz"
-
-SRC_URI[archive.md5sum] = "7b1ebf99f4254c99922163c262c7ff04"
-SRC_URI[archive.sha256sum] = "340b30dabfebbd4e0e6c0fe34a378966dd5640b5d44595ab8a19b0be255d77df"
-
-EXTRA_OECONF_remove = "--disable-schemas-install"
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.0.bb
new file mode 100644
index 0000000..456a744
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "GNOME keyboard library"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812"
+
+SECTION = "x11/gnome/libs"
+
+DEPENDS = "gconf glib-2.0 libxklavier gtk+3 intltool-native"
+
+inherit distro_features_check gnome gobject-introspection gettext
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+GNOME_COMPRESS_TYPE = "xz"
+
+SRC_URI[archive.md5sum] = "8b9d13d46255cde910b3db5a6ebb4727"
+SRC_URI[archive.sha256sum] = "ea3b418c57c30615f7ee5b6f718def7c9d09ce34637324361150744258968875"
+
+EXTRA_OECONF_remove = "--disable-schemas-install"
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.20.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.20.1.bb
deleted file mode 100644
index 02149fb..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.20.1.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Window navigation construction toolkit"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-
-BPN = "libwnck"
-
-SECTION = "x11/libs"
-DEPENDS = "intltool-native gnome-common-native gtk+3 gdk-pixbuf-native libxres"
-
-PACKAGECONFIG ??= "startup-notification"
-PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
-
-inherit gnomebase gobject-introspection gtk-doc
-SRC_URI[archive.md5sum] = "487938d65d4bfae1f2501052b1bd7492"
-SRC_URI[archive.sha256sum] = "1cb03716bc477058dfdf3ebfa4f534de3b13b1aa067fcd064d0b7813291cba72"
-
-inherit distro_features_check
-# libxres means x11 only
-REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.30.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.30.0.bb
new file mode 100644
index 0000000..9cee9c9
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.30.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Window navigation construction toolkit"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+BPN = "libwnck"
+
+SECTION = "x11/libs"
+DEPENDS = "intltool-native gnome-common-native gtk+3 gdk-pixbuf-native libxres"
+
+PACKAGECONFIG ??= "startup-notification"
+PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
+
+inherit gnomebase gobject-introspection gtk-doc gettext
+
+SRC_URI[archive.md5sum] = "60109c2ab0b07da1099ee57980054de1"
+SRC_URI[archive.sha256sum] = "ac6d0d2646aa80676d3066651e73abb7bff7ed79be238c9b21a0083e2adc3439"
+
+inherit distro_features_check
+# libxres means x11 only
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.28.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.28.0.bb
new file mode 100644
index 0000000..189f6ec
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.28.0.bb
@@ -0,0 +1,41 @@
+SECTION = "x11/wm"
+SUMMARY = "Metacity is the boring window manager for the adult in you"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b4cce53560b8e619ffa7c830fb8761aa \
+ file://src/include/main.h;endline=24;md5=72148ede07a6dadd01de6a882d20a9ad"
+
+PE = "1"
+
+DEPENDS = "gsettings-desktop-schemas startup-notification \
+ gnome-doc-utils gdk-pixbuf-native \
+ gtk+3 glib-2.0 libcanberra libgtop intltool-native"
+
+inherit autotools gettext gnomebase distro_features_check
+# depends on startup-notification which depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "git://github.com/GNOME/metacity.git;branch=master \
+ file://0001-drop-zenity-detection.patch \
+"
+
+S = "${WORKDIR}/git"
+SRCREV = "c0d4b2fc0fcd6f2d3c37da935923f9e9ed5eb99f"
+
+EXTRA_OECONF += "--disable-xinerama"
+
+PACKAGECONFIG ?= ""
+
+# enable as neccessary until new warnings are dealt with
+PACKAGECONFIG[werror] = "--enable-Werror,--disable-Werror,,"
+
+do_configure_prepend() {
+ cd ${S}
+ aclocal --install || exit 1
+ autoreconf --verbose --force --install -Wno-portability || exit 1
+ cd -
+
+}
+
+FILES_${PN} += "${datadir}/themes ${datadir}/gnome-control-center ${datadir}/gnome"
+RDEPENDS_${PN} += "gsettings-desktop-schemas"
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.38.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.38.0.bb
deleted file mode 100644
index 48fc914..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.38.0.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SECTION = "x11/wm"
-SUMMARY = "Metacity is the boring window manager for the adult in you"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b4cce53560b8e619ffa7c830fb8761aa \
- file://src/include/main.h;endline=24;md5=72148ede07a6dadd01de6a882d20a9ad"
-
-DEPENDS = "gsettings-desktop-schemas startup-notification \
- gnome-doc-utils gdk-pixbuf-native \
- gtk+3 glib-2.0 libcanberra libgtop intltool-native"
-
-inherit autotools gettext gnomebase distro_features_check
-# depends on startup-notification which depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "git://github.com/GNOME/metacity.git;branch=master \
- file://0001-drop-zenity-detection.patch \
-"
-
-S = "${WORKDIR}/git"
-SRCREV = "c0d4b2fc0fcd6f2d3c37da935923f9e9ed5eb99f"
-
-EXTRA_OECONF += "--disable-xinerama"
-
-do_configure_prepend() {
- cd ${S}
- aclocal --install || exit 1
- autoreconf --verbose --force --install -Wno-portability || exit 1
- cd -
-
-}
-
-FILES_${PN} += "${datadir}/themes ${datadir}/gnome-control-center ${datadir}/gnome"
-RDEPENDS_${PN} += "gsettings-desktop-schemas"
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/0001-nautilus-drop-gnome-desktop-thumbnail-API-with-new-g.patch b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/0001-nautilus-drop-gnome-desktop-thumbnail-API-with-new-g.patch
new file mode 100644
index 0000000..f19eb49
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/0001-nautilus-drop-gnome-desktop-thumbnail-API-with-new-g.patch
@@ -0,0 +1,40 @@
+From a4ed38e95cbe07f02028249b8b315565a5ac1e43 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 5 May 2018 22:32:45 -0700
+Subject: [PATCH] nautilus: drop gnome-desktop thumbnail API with new
+ gdk-pixbuf
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+If gdk-pixbuf >= 2.36.5 is available, its scaling API can do what we
+want, so we don’t need to use the deprecated gnome-desktop one.
+
+Also fixes compile errors seen on master
+nautilus-properties-window.c:5101: undefined reference to `gnome_desktop_thumbnail_scale_down_pixbuf'
+
+Upstream-Status: Backport
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/nautilus-properties-window.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/nautilus-properties-window.c b/src/nautilus-properties-window.c
+index dea8b0f..fad9bd1 100644
+--- a/src/nautilus-properties-window.c
++++ b/src/nautilus-properties-window.c
+@@ -5098,10 +5098,11 @@ update_preview_callback (GtkFileChooser *icon_chooser,
+ scale = (double)gdk_pixbuf_get_height (pixbuf) /
+ gdk_pixbuf_get_width (pixbuf);
+
+- scaled_pixbuf = gnome_desktop_thumbnail_scale_down_pixbuf
++ scaled_pixbuf = gdk_pixbuf_scale_simple
+ (pixbuf,
+ PREVIEW_IMAGE_WIDTH,
+- scale * PREVIEW_IMAGE_WIDTH);
++ scale * PREVIEW_IMAGE_WIDTH,
++ GDK_INTERP_HYPER);
+ g_object_unref (pixbuf);
+ pixbuf = scaled_pixbuf;
+ }
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.18.5.bb b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.18.5.bb
index 8fdbf6a..bdb2f3c 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.18.5.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.18.5.bb
@@ -6,14 +6,18 @@
file://COPYING.EXTENSIONS;md5=7579d6678402a1868631bf82c93ff0d4 \
file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a"
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/nautilus/3.18/nautilus-${PV}.tar.xz"
+inherit distro_features_check autotools pkgconfig gobject-introspection
+
+MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/nautilus/${MAJ_VER}/nautilus-${PV}.tar.xz \
+ file://0001-nautilus-drop-gnome-desktop-thumbnail-API-with-new-g.patch \
+ "
SRC_URI[md5sum] = "0f578bda5655c0ce204befafca5803d7"
SRC_URI[sha256sum] = "60a927c0522b4cced9d8f62baed2ee5e2fd4305be4523eb5bc44805971a6cc15"
DEPENDS = "gtk+3 gnome-desktop3 gsettings-desktop-schemas glib-2.0-native intltool-native pango"
-inherit distro_features_check autotools pkgconfig gobject-introspection
REQUIRED_DISTRO_FEATURES = "x11"
EXTRA_OECONF = " \
@@ -23,7 +27,7 @@
--enable-tracker=no \
--disable-schemas-compile \
--enable-xmp=no \
- --enable-libexif=no \
+ --enable-libexif=no \
"
FILES_${PN} += "${datadir}/*"
diff --git a/poky/meta/recipes-extended/libuser/libuser/0001-Check-for-issetugid.patch b/meta-openembedded/meta-gnome/recipes-support/libuser/libuser/0001-Check-for-issetugid.patch
similarity index 100%
rename from poky/meta/recipes-extended/libuser/libuser/0001-Check-for-issetugid.patch
rename to meta-openembedded/meta-gnome/recipes-support/libuser/libuser/0001-Check-for-issetugid.patch
diff --git a/poky/meta/recipes-extended/libuser/libuser/0001-modules-files.c-parse_field-fix-string-formating-in-.patch b/meta-openembedded/meta-gnome/recipes-support/libuser/libuser/0001-modules-files.c-parse_field-fix-string-formating-in-.patch
similarity index 100%
rename from poky/meta/recipes-extended/libuser/libuser/0001-modules-files.c-parse_field-fix-string-formating-in-.patch
rename to meta-openembedded/meta-gnome/recipes-support/libuser/libuser/0001-modules-files.c-parse_field-fix-string-formating-in-.patch
diff --git a/poky/meta/recipes-extended/libuser/libuser/0002-remove-unused-execinfo.h.patch b/meta-openembedded/meta-gnome/recipes-support/libuser/libuser/0002-remove-unused-execinfo.h.patch
similarity index 100%
rename from poky/meta/recipes-extended/libuser/libuser/0002-remove-unused-execinfo.h.patch
rename to meta-openembedded/meta-gnome/recipes-support/libuser/libuser/0002-remove-unused-execinfo.h.patch
diff --git a/poky/meta/recipes-extended/libuser/libuser_0.62.bb b/meta-openembedded/meta-gnome/recipes-support/libuser/libuser_0.62.bb
similarity index 100%
rename from poky/meta/recipes-extended/libuser/libuser_0.62.bb
rename to meta-openembedded/meta-gnome/recipes-support/libuser/libuser_0.62.bb
diff --git a/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Include-sys-sysmacros.h-for-major-minor.patch b/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Include-sys-sysmacros.h-for-major-minor.patch
new file mode 100644
index 0000000..277f6e2
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Include-sys-sysmacros.h-for-major-minor.patch
@@ -0,0 +1,25 @@
+From 75539659396b18110d5a52a8a32845254b4d8eca Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 11 Aug 2018 18:25:47 -0700
+Subject: [PATCH] Include sys/sysmacros.h for major/minor
+
+usermount.c:238: undefined reference to `major'
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ usermount.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/usermount.c b/usermount.c
+index 4107027..21ef77f 100644
+--- a/usermount.c
++++ b/usermount.c
+@@ -40,6 +40,7 @@
+ #include <sys/stat.h>
+ #include <sys/time.h>
+ #include <sys/types.h>
++#include <sys/sysmacros.h>
+ #include <errno.h>
+ #include <glob.h>
+ #include <libintl.h>
diff --git a/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Missing-n-in-translated-string.patch b/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Missing-n-in-translated-string.patch
new file mode 100644
index 0000000..9db700e
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Missing-n-in-translated-string.patch
@@ -0,0 +1,28 @@
+From 7cbc6441cd06e0c0bb51ac37c8f22b0fd51f12f2 Mon Sep 17 00:00:00 2001
+From: Jiri Kucera <jkucera@redhat.com>
+Date: Wed, 11 Apr 2018 17:13:44 +0200
+Subject: [PATCH] Missing \n in translated string
+
+Upstream-Status: Backport
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ po/tr.po | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/po/tr.po b/po/tr.po
+index 84e5021..a28e947 100644
+--- a/po/tr.po
++++ b/po/tr.po
+@@ -408,7 +408,7 @@ msgstr "Grafik pencere açılamadı ve uçbirim denetimi bulunamadı.\n"
+ #: ../../po/../userpasswd.c:37
+ #, c-format
+ msgid "Unexpected command-line arguments\n"
+-msgstr "Beklenmeyen komut satırı argümanları"
++msgstr "Beklenmeyen komut satırı argümanları\n"
+
+ #: ../../po/../userinfo.c:411
+ #, c-format
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-formatting-issues.patch b/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-formatting-issues.patch
deleted file mode 100644
index 9d512d4..0000000
--- a/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-formatting-issues.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7a316dad0697af2ef4e8079a5af51565a8195aa6 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 24 Jul 2017 01:42:30 -0400
-Subject: [PATCH] userhelper.c: fix formatting issues
-
-Fixed when compile with "-Wformat -Wformat-security -Werror=format-security":
-|../usermode-1.111/userhelper.c:585:4: error: format not a string
-literal and no format arguments [-Werror=format-security]
-| text = g_strdup_printf(dgettext(data->domain, data->banner));
-| ^~~~
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- userhelper.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/userhelper.c b/userhelper.c
-index 76ad492..ee0da49 100644
---- a/userhelper.c
-+++ b/userhelper.c
-@@ -582,7 +582,7 @@ converse_console(int num_msg, const struct pam_message **msg,
-
- if (banner == 0) {
- if ((data->banner != NULL) && (data->domain != NULL)) {
-- text = g_strdup_printf(dgettext(data->domain, data->banner));
-+ text = g_strdup_printf("%s", dgettext(data->domain, data->banner));
- } else {
- if ((service != NULL) && (strlen(service) > 0)) {
- if (data->fallback_allowed) {
---
-2.8.1
-
diff --git a/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.111.bb b/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.111.bb
deleted file mode 100644
index 3aea2e6..0000000
--- a/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.111.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-DESCRIPTION = "The usermode contains the userhelper program, which can be used to allow configured \
-programs to be run with superuser privileges by ordinary users, and several \
-graphical tools for users: \
-* userinfo allows users to change their finger information. \
-* usermount lets users mount, unmount, and format filesystems. \
-* userpasswd allows users to change their passwords. \
-"
-HOMEPAGE = "https://pagure.io/usermode"
-LICENSE = "GPLv2+"
-DEPENDS = "libuser ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \
- gtk+ desktop-file-utils-native \
- startup-notification intltool-native \
- util-linux \
-"
-
-SRC_URI = "https://releases.pagure.org/${BPN}/${BPN}-${PV}.tar.xz \
- file://0001-formatting-issues.patch \
- file://0001-fix-compile-failure-against-musl-C-library.patch \
- file://0001-Makefile.am-Link-with-libm-for-powl-API.patch \
- "
-SRC_URI[md5sum] = "28ba510fbd8da9f4e86e57d6c31cff29"
-SRC_URI[sha256sum] = "3dd0b9639b5bd396b7ea5fada6aaa694dbfdaa3ad06eb95a6eabcdfd02f875c6"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit distro_features_check autotools gettext pkgconfig
-
-EXTRA_OEMAKE += "INSTALL='install -p'"
-
-REQUIRED_DISTRO_FEATURES = "x11 pam"
diff --git a/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.112.bb b/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.112.bb
new file mode 100644
index 0000000..82ccf3e
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.112.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "The usermode contains the userhelper program, which can be used to allow configured \
+programs to be run with superuser privileges by ordinary users, and several \
+graphical tools for users: \
+* userinfo allows users to change their finger information. \
+* usermount lets users mount, unmount, and format filesystems. \
+* userpasswd allows users to change their passwords. \
+"
+HOMEPAGE = "https://pagure.io/usermode"
+LICENSE = "GPLv2+"
+DEPENDS = "libuser ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \
+ gtk+ desktop-file-utils-native \
+ startup-notification intltool-native \
+ util-linux \
+"
+
+SRC_URI = "https://releases.pagure.org/${BPN}/${BPN}-${PV}.tar.xz \
+ file://0001-fix-compile-failure-against-musl-C-library.patch \
+ file://0001-Makefile.am-Link-with-libm-for-powl-API.patch \
+ file://0001-Missing-n-in-translated-string.patch \
+ file://0001-Include-sys-sysmacros.h-for-major-minor.patch \
+ "
+SRC_URI[md5sum] = "a766a9f7600f573fb6de4655d4162196"
+SRC_URI[sha256sum] = "37c4d667209da14082c08df6e48fe955d1532efebd5322f13f94683c6cc10370"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit distro_features_check autotools gettext pkgconfig
+
+EXTRA_OEMAKE += "INSTALL='install -p'"
+
+REQUIRED_DISTRO_FEATURES = "x11 pam"
diff --git a/meta-openembedded/meta-initramfs/README b/meta-openembedded/meta-initramfs/README
index 7185383..ba2ba5f 100644
--- a/meta-openembedded/meta-initramfs/README
+++ b/meta-openembedded/meta-initramfs/README
@@ -12,7 +12,7 @@
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: master
+branch: thud
revision: HEAD
@@ -20,12 +20,12 @@
-----------
Send patches / pull requests to openembedded-devel@lists.openembedded.org
-with '[meta-initramfs]' in the subject.
+with '[meta-initramfs][thud]' in the subject.
When sending single patches, please using something like:
-'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-initramfs][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-initramfs][thud][PATCH'
-Interm layer maintainer: Armin Kuster <akuster808@gmail.com>
+Thud maintainer: Armin Kuster <akuster808@gmail.com>
License
diff --git a/meta-openembedded/meta-initramfs/conf/layer.conf b/meta-openembedded/meta-initramfs/conf/layer.conf
index 97afc93..bd92ddf 100644
--- a/meta-openembedded/meta-initramfs/conf/layer.conf
+++ b/meta-openembedded/meta-initramfs/conf/layer.conf
@@ -16,7 +16,7 @@
BBFILE_PRIORITY_meta-initramfs = "8"
LAYERDEPENDS_meta-initramfs = "core"
-LAYERSERIES_COMPAT_meta-initramfs = "sumo"
+LAYERSERIES_COMPAT_meta-initramfs = "thud"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
dracut->virtual/kernel \
diff --git a/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.2.bb b/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.2.bb
index 804ec32..f90e234 100644
--- a/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.2.bb
+++ b/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.2.bb
@@ -19,9 +19,15 @@
# Specify full kernel path on target.
KERNEL=/boot/${KERNEL_IMAGETYPE}
#
+# Specify which device tree blob to use
+# DTB=/boot/my-own-dtb
+#
# Append this tags to the kernel cmdline.
APPEND=${CMDLINE} ${CMDLINE_DEBUG}
#
+# Overwrite kernel command line instead of appending to it
+# CMDLINE=console=/dev/tty0 root=/dev/sdb1
+#
# Specify optional initrd/initramfs.
# INITRD=/boot/initramfs.cpio.gz
#
diff --git a/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb b/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb
index 9f5dad7..6d79e8f 100644
--- a/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb
+++ b/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb
@@ -1,36 +1,3 @@
-###########################
-# Configure options:
-#
-# --enable-static-linking compile kexecboot as static executable [default=no]
-# --enable-fbui support framebuffer menu [default=yes]
-# --enable-fbui-width limit FB UI width to specified value [default=no]
-# --enable-fbui-height limit FB UI height to specified value [default=no]
-# --enable-textui support console text user interface [default=no]
-# --enable-cfgfiles support config files [default=yes]
-# --enable-icons support custom icons (depends on fbui) [default=yes]
-# --enable-zaurus compile Sharp Zaurus specific code [default=no]
-# --enable-zimage compile with zImage support [default=yes]
-# --enable-uimage compile with uImage support [default=no]
-# --enable-machine-kernel look for machine-specific zImage kernel [default=no]
-# --enable-devices-recreating
-# enable devices re-creating [default=yes]
-# --enable-debug enable debug output [default=no]
-# --enable-host-debug allow for non-destructive executing of kexecboot on
-# host system [default=no]
-# --enable-numkeys enable menu item selection by keys [0-9] [default=yes]
-# --enable-bg-buffer enable buffer for pre-drawed FB GUI background
-#
-# --enable-timeout allow to boot 1st kernel after timeout in seconds
-# [default=no]
-# --enable-delay specify delay before device scanning, allowing
-# initialization of old CF/SD cards [default=1]
-# --enable-bpp enable support of specified bpp modes
-# (all,32,24,18,16,4,2,1) [default=all]
-# --enable-evdev-rate change evdev (keyboard/mouse) repeat rate
-# in milliseconds e.g. "1000,250" [default=no]
-# --with-kexec-binary look for kexec binary at path
-# [default="/usr/sbin/kexec"]
-##########################
SUMMARY = "kexecboot linux-as-bootloader"
DESCRIPTION = "kexecboot is a graphical linux-as-bootloader implementation based on kexec."
HOMEPAGE = "http://kexecboot.org"
@@ -39,14 +6,13 @@
PV = "0.6+git${SRCPV}"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/kexecboot/kexecboot.git"
-SRCREV = "4c4f127e79ac5b8d6b6e2fbb938ccbf12b04c531"
+SRCREV = "4c01d6960aa6a9d03675605062469ab777fa2b01"
inherit autotools
EXTRA_OECONF = "--enable-textui --enable-delay=2 --enable-evdev-rate=1000,250"
do_install () {
- install -d ${D}${bindir}
- install -m 0755 kexecboot ${D}${bindir}
+ install -D -m 0755 ${B}/src/kexecboot ${D}${bindir}/kexecboot
install -d ${D}/proc
install -d ${D}/mnt
install -d ${D}/dev
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb b/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
index ccf9f6a..dd2e8bb 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
@@ -6,10 +6,10 @@
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
PE = "1"
-PV = "046+git${SRCREV}"
+PV = "049"
-# v046 tag
-SRCREV = "a0799ffb554487a370c2a1adafaedd2021b6dc8c"
+# v048 tag
+SRCREV = "225e4b94cbdb702cf512490dcd2ad9ca5f5b22c1"
SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git;protocol=http \
file://0001-util.h-include-sys-reg.h-when-libc-glibc.patch \
"
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch b/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch
index 1b1a993..dfbe7ba 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch
@@ -1,26 +1,24 @@
-From 22afaa21b4b258082be591e54c99e1ba6fbd7748 Mon Sep 17 00:00:00 2001
+From b7b3caa9b5c8abcd3c371d0683001cd681e104b3 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 15 Jul 2017 10:19:22 -0700
Subject: [PATCH 1/2] Add another variable LIBS to provides libraries from env
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
-index ac14404..92a8e73 100644
+index cc7e823..ae30a07 100644
--- a/Makefile
+++ b/Makefile
-@@ -27,7 +27,7 @@ RPM_OPT_FLAGS ?= -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector
- CFLAGS += $(RPM_OPT_FLAGS) -std=gnu99 -Wall -Werror -Wno-error=unused-function -Wno-unused-function -ggdb
- LDFLAGS :=
+@@ -31,7 +31,7 @@ ifneq ($(VERBOSE_TEST),)
+ VERBOSE_TEST="--verbose"
+ endif
-grubby_LIBS = -lblkid -lpopt
+grubby_LIBS = -lblkid -lpopt ${LIBS}
all: grubby
---
-2.13.3
-
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/grubby-rename-grub2-editenv-to-grub-editenv.patch b/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/grubby-rename-grub2-editenv-to-grub-editenv.patch
index d936249..e693916 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/grubby-rename-grub2-editenv-to-grub-editenv.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/grubby-rename-grub2-editenv-to-grub-editenv.patch
@@ -1,4 +1,4 @@
-From 0841706a5b5280e501c8e392c70c466c5fbcf0aa Mon Sep 17 00:00:00 2001
+From 15f0572f2f456c2c1b700bc790d9ce7a5c13cc74 Mon Sep 17 00:00:00 2001
From: Jackie Huang <jackie.huang@windriver.com>
Date: Tue, 4 Aug 2015 23:54:41 -0700
Subject: [PATCH] rename grub2-editenv to grub-editenv
@@ -8,38 +8,48 @@
Upstream-Status: Inappropriate
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
---
grubby.c | 4 ++--
- test.sh | 6 +++---
- 2 files changed, 5 insertions(+), 5 deletions(-)
+ test.sh | 8 ++++----
+ 2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/grubby.c b/grubby.c
-index d4ebb86..47a1a15 100644
+index 396041a..3ceae69 100644
--- a/grubby.c
+++ b/grubby.c
-@@ -290,7 +290,7 @@ static char *grub2GetEnv(struct configFileInfo *info, char *name)
- char *s = NULL;
- char *ret = NULL;
- char *envFile = info->envFile ? info->envFile : "/boot/grub2/grubenv";
-- int rc = asprintf(&s, "grub2-editenv %s list | grep '^%s='", envFile, name);
-+ int rc = asprintf(&s, "grub-editenv %s list | grep '^%s='", envFile, name);
+@@ -301,7 +301,7 @@ static char *grub2GetEnv(struct configFileInfo *info, char *name)
+ char *ret = NULL;
+ char *envFile = info->envFile ? info->envFile : "/boot/grub2/grubenv";
+ int rc =
+- asprintf(&s, "grub2-editenv %s list | grep '^%s='", envFile, name);
++ asprintf(&s, "grub-editenv %s list | grep '^%s='", envFile, name);
- if (rc < 0)
- return NULL;
-@@ -361,7 +361,7 @@ static int grub2SetEnv(struct configFileInfo *info, char *name, char *value)
- if (!value)
- return -1;
+ if (rc < 0)
+ return NULL;
+@@ -373,7 +373,7 @@ static int grub2SetEnv(struct configFileInfo *info, char *name, char *value)
+ if (!value)
+ return -1;
-- rc = asprintf(&s, "grub2-editenv %s set '%s=%s'", envFile, name, value);
-+ rc = asprintf(&s, "grub-editenv %s set '%s=%s'", envFile, name, value);
- free(value);
- if (rc <0)
- return -1;
+- rc = asprintf(&s, "grub2-editenv %s set '%s=%s'", envFile, name, value);
++ rc = asprintf(&s, "grub-editenv %s set '%s=%s'", envFile, name, value);
+ free(value);
+ if (rc < 0)
+ return -1;
diff --git a/test.sh b/test.sh
-index 6379698..f738388 100755
+index 33d24cf..009479c 100755
--- a/test.sh
+++ b/test.sh
-@@ -574,7 +574,7 @@ if [ "$testgrub2" == "y" ]; then
+@@ -573,7 +573,7 @@ if [ "$testgrub2" == "y" ]; then
+ --remove-kernel=/boot/vmlinuz-2.6.38.2-9.fc15.x86_64 \
+ --boot-filesystem=/boot/
+ commandTest "saved_default output" \
+- "grub2-editenv test/grub2-support_files/env_temp list" \
++ "grub-editenv test/grub2-support_files/env_temp list" \
+ "saved_entry=Linux, with Fedora 2.6.38.8-32.fc15.x86_64"
+
+ # copy a stanza and add arguments as well, while using --set-index=
+@@ -627,7 +627,7 @@ if [ "$testgrub2" == "y" ]; then
--title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
--copy-default
commandTest "saved_default output" \
@@ -48,7 +58,7 @@
"saved_entry=Linux, with Fedora 2.6.38.8-32.fc15.x86_64"
testing="GRUB2 add kernel with default=saved_entry and a terrible title"
-@@ -587,13 +587,13 @@ if [ "$testgrub2" == "y" ]; then
+@@ -640,13 +640,13 @@ if [ "$testgrub2" == "y" ]; then
testing="GRUB2 set default with default=saved_entry and a terrible name"
grub2Test grub2.9 add/g2-1.9 --env grubenv.1 --set-default-index=0
commandTest "saved_default output" \
@@ -64,6 +74,3 @@
"saved_entry=title"
testing="GRUB2 --default-index with default=saved_entry"
---
-2.3.5
-
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_git.bb b/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_git.bb
new file mode 100644
index 0000000..8430b7e
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_git.bb
@@ -0,0 +1,40 @@
+SUMMARY = "A command line tool for updating and displaying info about boot loaders"
+DESCRIPTION = "grubby is a command line tool for updating and displaying information \
+about the configuration files for the grub, lilo, elilo (ia64), yaboot (powerpc) and \
+zipl (s390) boot loaders. It is primarily designed to be used from scripts which install \
+new kernels and need to find information about the current boot environment. \
+"
+HOMEPAGE = "https://github.com/rhboot/grubby"
+LICENSE = "GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
+
+DEPENDS = "popt util-linux"
+DEPENDS_append_libc-musl = " libexecinfo"
+
+S = "${WORKDIR}/git"
+SRCREV = "a1d2ae93408c3408e672d7eba4550fdf27fb0201"
+SRC_URI = "git://github.com/rhboot/grubby.git;protocol=https; \
+ file://grubby-rename-grub2-editenv-to-grub-editenv.patch \
+ file://run-ptest \
+ file://0001-Add-another-variable-LIBS-to-provides-libraries-from.patch \
+ file://0002-include-paths.h-for-_PATH_MOUNTED.patch \
+ "
+
+RDEPENDS_${PN} += "dracut"
+
+inherit autotools-brokensep ptest
+
+EXTRA_OEMAKE = "-e 'CC=${CC}' 'LDFLAGS=${LDFLAGS}' LIBS='${LIBS}'"
+
+LIBS_libc-musl = "-lexecinfo"
+LIBS ?= ""
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}
+ cp -r ${S}/test ${S}/test.sh ${D}${PTEST_PATH}
+ sed -i 's|./grubby|grubby|' ${D}${PTEST_PATH}/test.sh
+}
+
+RDEPENDS_${PN}-ptest = "util-linux-getopt bash"
+
+COMPATIBLE_HOST = '(x86_64.*|i.86.*)-(linux|freebsd.*)'
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch
new file mode 100644
index 0000000..94818e3
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch
@@ -0,0 +1,28 @@
+From cdc6edc2cfcd0ce88d6e66654d605dad303b1a75 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 11 Sep 2018 17:03:36 -0700
+Subject: [PATCH] klibc/Kbuild: Accept EXTRA_KLIBCAFLAGS
+
+For passing additional assembler flags
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ usr/klibc/Kbuild | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/usr/klibc/Kbuild b/usr/klibc/Kbuild
+index 98caf2e9..b34521e0 100644
+--- a/usr/klibc/Kbuild
++++ b/usr/klibc/Kbuild
+@@ -168,7 +168,8 @@ $(SOHASH): $(SOLIB) $(SOLIB).hash
+ targets += interp.o
+
+ quiet_cmd_interp = BUILD $@
+- cmd_interp = $(KLIBCCC) $(klibccflags) -D__ASSEMBLY__ \
++ cmd_interp = $(KLIBCCC) $(klibccflags) $(EXTRA_KLIBCAFLAGS) \
++ -D__ASSEMBLY__ \
+ -DLIBDIR=\"$(SHLIBDIR)\" \
+ -DSOHASH=\"$(SOLIBHASH)\" \
+ -c -o $@ $<
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-add-getrandom-syscall.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-add-getrandom-syscall.patch
new file mode 100644
index 0000000..0768f6d
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-add-getrandom-syscall.patch
@@ -0,0 +1,27 @@
+From e4d5d5224609d7d5c824dd231f5baec868befdfa Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Tue, 4 Sep 2018 23:56:00 +0200
+Subject: [PATCH 1/1] klibc: add getrandom() syscall
+
+needed by latest kexec-tools for qemuarm64 (kashan)
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ usr/klibc/SYSCALLS.def | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/usr/klibc/SYSCALLS.def b/usr/klibc/SYSCALLS.def
+index 6b3bf4c..d4184ba 100644
+--- a/usr/klibc/SYSCALLS.def
++++ b/usr/klibc/SYSCALLS.def
+@@ -274,6 +274,7 @@ int syslog::klogctl(int, char *, int);
+ int sysinfo(struct sysinfo *);
+ long kexec_load(void *, unsigned long, struct kexec_segment *, unsigned long);
+ <x86_64,ppc64,s390x> long kexec_file_load(int, int, unsigned long, const char *, unsigned long);
++ssize_t getrandom(void *, size_t, unsigned int);
+
+ /*
+ * Low-level I/O (generally architecture-specific);
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-static-utils-do-not-build-shared-binaries.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-static-utils-do-not-build-shared-binaries.patch
new file mode 100644
index 0000000..2f7cd35
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-static-utils-do-not-build-shared-binaries.patch
@@ -0,0 +1,213 @@
+From c034dceae17b7d8d437871afe5eba55a55434222 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Wed, 10 Oct 2018 00:48:31 +0200
+Subject: [PATCH] klibc-static-utils: do not build shared binaries
+
+We were building some shared utilities and this was leading to linker errors
+for x86 with security flags enabled.
+
+Fix
+ i586-oe-linux-musl-ld.bfd: discarded output section: `.got.plt'
+
+Upstream-Status: Inappropriate [Embedded Specific]
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ usr/dash/Kbuild | 6 +-----
+ usr/kinit/Kbuild | 4 +---
+ usr/kinit/fstype/Kbuild | 4 +---
+ usr/kinit/ipconfig/Kbuild | 4 +---
+ usr/kinit/nfsmount/Kbuild | 4 +---
+ usr/kinit/resume/Kbuild | 5 +----
+ usr/kinit/run-init/Kbuild | 5 +----
+ usr/utils/Kbuild | 7 ++-----
+ 8 files changed, 9 insertions(+), 30 deletions(-)
+
+diff --git a/usr/dash/Kbuild b/usr/dash/Kbuild
+index 1a6920a..b3a4e64 100644
+--- a/usr/dash/Kbuild
++++ b/usr/dash/Kbuild
+@@ -25,12 +25,8 @@ gen-h-files := builtins.h nodes.h syntax.h token.h
+
+ static-y := sh
+
+-# The shared binary
+-shared-y := sh.shared
+-sh.shared-y := $(sh-y)
+-
+ # For cleaning
+-targets := sh sh.g sh.shared sh.shared.g $(gen-o-files)
++targets := sh sh.g $(gen-o-files)
+
+ # explicit dependency for all generated files
+ $(addprefix $(obj)/, $(sh-y)): $(addprefix $(obj)/, $(gen-h-files))
+diff --git a/usr/kinit/Kbuild b/usr/kinit/Kbuild
+index f7fdccd..8db06ab 100644
+--- a/usr/kinit/Kbuild
++++ b/usr/kinit/Kbuild
+@@ -18,8 +18,6 @@ kinit-y += fstype/
+ kinit-y += resume/
+
+ static-y := kinit
+-shared-y := kinit.shared
+-kinit.shared-y := $(kinit-y)
+
+ # Additional include paths files
+ KLIBCCFLAGS += -I$(srctree)/$(src)/fstype \
+@@ -29,7 +27,7 @@ KLIBCCFLAGS += -I$(srctree)/$(src)/fstype \
+ -I$(srctree)/$(src)/run-init
+
+ # Cleaning
+-targets += kinit kinit.g kinit.shared kinit.shared.g
++targets += kinit kinit.g
+ subdir- := fstype ipconfig nfsmount resume run-init
+
+
+diff --git a/usr/kinit/fstype/Kbuild b/usr/kinit/fstype/Kbuild
+index 367611d..8d453ea 100644
+--- a/usr/kinit/fstype/Kbuild
++++ b/usr/kinit/fstype/Kbuild
+@@ -3,7 +3,6 @@
+ #
+
+ static-y := static/fstype
+-shared-y := shared/fstype
+
+ # common .o files
+ objs := main.o fstype.o
+@@ -16,8 +15,7 @@ lib-y := $(objs)
+
+ # .o files used to built executables
+ static/fstype-y := $(objs)
+-shared/fstype-y := $(objs)
+
+ # Cleaning
+-clean-dirs := static shared
++clean-dirs := static
+
+diff --git a/usr/kinit/ipconfig/Kbuild b/usr/kinit/ipconfig/Kbuild
+index eb1d472..ef87e7e 100644
+--- a/usr/kinit/ipconfig/Kbuild
++++ b/usr/kinit/ipconfig/Kbuild
+@@ -3,7 +3,6 @@
+ #
+
+ static-y := static/ipconfig
+-shared-y := shared/ipconfig
+
+ # common .o files
+ objs := main.o netdev.o packet.o
+@@ -22,8 +21,7 @@ lib-y := $(objs)
+
+ # .o files used to built executables
+ static/ipconfig-y := $(objs)
+-shared/ipconfig-y := $(objs)
+
+ # Cleaning
+-clean-dirs := static shared
++clean-dirs := static
+
+diff --git a/usr/kinit/nfsmount/Kbuild b/usr/kinit/nfsmount/Kbuild
+index ba31708..01bedce 100644
+--- a/usr/kinit/nfsmount/Kbuild
++++ b/usr/kinit/nfsmount/Kbuild
+@@ -4,7 +4,6 @@
+
+ static-y := static/nfsmount
+ #FIXME - build is broken static-y := dummypmap
+-shared-y := shared/nfsmount
+
+ objs := main.o mount.o portmap.o dummypmap.o sunrpc.o
+
+@@ -13,7 +12,6 @@ lib-y := $(objs)
+
+ # .o files used for executables
+ static/nfsmount-y := $(objs)
+-shared/nfsmount-y := $(objs)
+
+ # dummypmap uses a single .o file (rename src file?)
+ dummypmap-y := dummypmap_test.o
+@@ -21,5 +19,5 @@ dummypmap-y := dummypmap_test.o
+ # TODO - do we want a stripped version
+ # TODO - do we want the static.g + shared.g directories?
+
+-clean-dirs := static shared
++clean-dirs := static
+
+diff --git a/usr/kinit/resume/Kbuild b/usr/kinit/resume/Kbuild
+index c1342e1..15b9590 100644
+--- a/usr/kinit/resume/Kbuild
++++ b/usr/kinit/resume/Kbuild
+@@ -3,7 +3,6 @@
+ #
+
+ static-y := static/resume
+-shared-y := shared/resume
+
+ # common .o files
+ objs := resume.o resumelib.o
+@@ -20,9 +19,7 @@ KLIBCCFLAGS += -I$(srctree)/$(src)/..
+ # .o files used to built executables
+ static/resume-y := $(objs)
+ static/resume-lib := ../lib.a
+-shared/resume-y := $(objs)
+-shared/resume-lib := ../lib.a
+
+ # Cleaning
+-clean-dirs := static shared
++clean-dirs := static
+
+diff --git a/usr/kinit/run-init/Kbuild b/usr/kinit/run-init/Kbuild
+index c153b0a..a1ea834 100644
+--- a/usr/kinit/run-init/Kbuild
++++ b/usr/kinit/run-init/Kbuild
+@@ -3,7 +3,6 @@
+ #
+
+ static-y := static/run-init
+-shared-y := shared/run-init
+
+ # common .o files
+ objs := run-init.o runinitlib.o
+@@ -24,9 +23,7 @@ KLIBCCFLAGS += -I$(srctree)/$(src)/..
+ # .o files used to built executables
+ static/run-init-y := $(objs)
+ static/run-init-lib := ../lib.a
+-shared/run-init-y := $(objs)
+-shared/run-init-lib := ../lib.a
+
+ # Cleaning
+-clean-dirs := static shared
++clean-dirs := static
+
+diff --git a/usr/utils/Kbuild b/usr/utils/Kbuild
+index 67d9486..1573363 100644
+--- a/usr/utils/Kbuild
++++ b/usr/utils/Kbuild
+@@ -7,7 +7,6 @@ progs += true false sleep ln mv nuke minips cat ls losetup
+ progs += uname halt kill readlink cpio sync dmesg
+
+ static-y := $(addprefix static/, $(progs))
+-shared-y := $(addprefix shared/, $(progs))
+
+ # The binary is placed in a subdir, so we need to tell kbuild this
+ static/chroot-y := chroot.o
+@@ -62,13 +61,11 @@ static/losetup-y := losetup.o
+ shared/losetup-y := losetup.o
+
+ # Additionally linked targets
+-always := static/reboot static/poweroff shared/reboot shared/poweroff
++always := static/reboot static/poweroff
+
+ $(obj)/static/reboot $(obj)/static/poweroff: $(obj)/static/halt
+ $(call cmd,ln)
+-$(obj)/shared/reboot $(obj)/shared/poweroff: $(obj)/shared/halt
+- $(call cmd,ln)
+
+ # Clean deletes the static and shared dir
+-clean-dirs := static shared
++clean-dirs := static
+
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch
new file mode 100644
index 0000000..3d8d987
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch
@@ -0,0 +1,27 @@
+From 90683d5eaabfa684a71411d6e3262153ac191ad8 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Tue, 4 Sep 2018 23:44:30 +0200
+Subject: [PATCH 1/1] klibc_2.0.4: add kexec_file_load syscall
+
+for supported archs only (matched in kexec-tools)
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ usr/klibc/SYSCALLS.def | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/usr/klibc/SYSCALLS.def b/usr/klibc/SYSCALLS.def
+index c56e8f9..6b3bf4c 100644
+--- a/usr/klibc/SYSCALLS.def
++++ b/usr/klibc/SYSCALLS.def
+@@ -273,6 +273,7 @@ int reboot::__reboot(int, int, int, void *);
+ int syslog::klogctl(int, char *, int);
+ int sysinfo(struct sysinfo *);
+ long kexec_load(void *, unsigned long, struct kexec_segment *, unsigned long);
++<x86_64,ppc64,s390x> long kexec_file_load(int, int, unsigned long, const char *, unsigned long);
+
+ /*
+ * Low-level I/O (generally architecture-specific);
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-cross-accept-clang-options.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-cross-accept-clang-options.patch
new file mode 100644
index 0000000..07703aa
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-cross-accept-clang-options.patch
@@ -0,0 +1,19 @@
+meta-clang passes this option to compiler defaults
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: git/klcc/klcc.in
+===================================================================
+--- git.orig/klcc/klcc.in
++++ git/klcc/klcc.in
+@@ -207,6 +207,9 @@ while ( defined($a = shift(@ARGV)) ) {
+ } elsif ( $a =~ /^--([sysroot=])(.*)$/ ) {
+ # Override gcc encoded sysroot
+ push(@ccopt, $a);
++ } elsif ( $a eq '-no-integrated-as' ) {
++ # Allow clang options
++ push(@ccopt, $a);
+ } else {
+ die "$0: unknown option: $a\n";
+ }
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb
index c835fd6..1677863 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb
@@ -10,3 +10,9 @@
require klibc-utils.inc
require klibc.inc
+
+SRC_URI += "file://0001-klibc-static-utils-do-not-build-shared-binaries.patch"
+
+# avoid textrel if linking with -pie
+SECURITY_CFLAGS = ""
+SECURITY_LDFLAGS = ""
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc
index 7df33d6..2aac9e6 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc
@@ -1,16 +1,16 @@
do_install() {
install -d ${D}${base_bindir}
install -d ${D}${base_sbindir}
- # debian packages kinit + kinit.shared but only sh.shared
if [ "${KLIBC_UTILS_VARIANT}" = "shared" ]; then
- install -m 755 usr/kinit/kinit ${D}${base_bindir}/kinit
install -m 755 usr/kinit/kinit.shared ${D}${base_bindir}/kinit.shared
install -m 755 usr/dash/sh.shared ${D}${base_bindir}/sh.shared
else
install -m 755 usr/dash/sh ${D}${base_bindir}/sh
install -m 755 usr/kinit/kinit ${D}${base_bindir}/kinit
+ install -m 755 usr/gzip/gzip ${D}${base_bindir}
+ ln -s gzip ${D}${base_bindir}/gunzip
+ ln -s gzip ${D}${base_bindir}/zcat
fi
- install -m 755 usr/gzip/gzip ${D}${base_bindir}
install -m 755 usr/kinit/fstype/${KLIBC_UTILS_VARIANT}/fstype ${D}${base_bindir}
install -m 755 usr/kinit/ipconfig/${KLIBC_UTILS_VARIANT}/ipconfig ${D}${base_bindir}
install -m 755 usr/kinit/nfsmount/${KLIBC_UTILS_VARIANT}/nfsmount ${D}${base_bindir}
@@ -44,8 +44,6 @@
install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/true ${D}${base_bindir}
install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/umount ${D}${base_bindir}
install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/uname ${D}${base_bindir}
- ln -s gzip ${D}${base_bindir}/gunzip
- ln -s gzip ${D}${base_bindir}/zcat
}
EXTRA_KLIBC_DEPS = "${@oe.utils.conditional('KLIBC_UTILS_VARIANT', 'shared', '${THIS_LIBKLIBC}', '', d)}"
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
index 30294b1..be01c2f 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
@@ -12,6 +12,7 @@
file://klibc-linux-libc-dev.patch \
file://staging.patch \
file://klcc-consider-sysroot.patch \
+ file://klcc-cross-accept-clang-options.patch \
file://0001-dash-Specify-format-string-in-fmtstr.patch \
file://0001-Define-in_-structs-for-non-glibc-system-libs.patch \
file://0001-include-linux-sysinfo.h-directly.patch \
@@ -20,7 +21,10 @@
file://0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch \
file://0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch \
file://0001-arm-Do-not-set-a-fallback-march-and-mtune.patch \
-"
+ file://0001-klibc_2.0.4-add-kexec_file_load-syscall.patch \
+ file://0001-klibc-add-getrandom-syscall.patch \
+ file://0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch \
+ "
ARMPATCHES ?= ""
@@ -28,7 +32,6 @@
file://armv4-fix-v4bx.patch \
"
-
S = "${WORKDIR}/git"
PARALLEL_MAKE = ""
@@ -44,6 +47,8 @@
'KLIBCOPTFLAGS=${TUNE_CCARGS} -Os' \
V=1 \
"
+EXTRA_OEMAKE += "'EXTRA_KLIBCAFLAGS=${SECURITY_CFLAGS} -Wa,--noexecstack' \
+ 'EXTRA_KLIBCLDFLAGS=${SECURITY_LDFLAGS} -z noexecstack'"
export FIX_ARMV4_EABI_BX = "${FIX_V4BX}"
KLIBCTHUMB = "${@['CONFIG_KLIBC_THUMB=n', 'CONFIG_KLIBC_THUMB=y'][(d.getVar('ARM_INSTRUCTION_SET') == 'thumb')]}"
@@ -70,5 +75,7 @@
KLIBC_ARCH_powerpc64 = "ppc64"
THIS_LIBKLIBC = "libklibc (= ${PV}-${PR})"
-SECURITY_CFLAGS = "-fno-PIE -no-pie"
-SECURITY_LDFLAGS = "-no-pie"
+GCCPIE ?= ""
+SECURITY_LDFLAGS = "${@'-z relro -z now -pie' if '${GCCPIE}' else ''}"
+SECURITY_LDFLAGS_mips = ""
+SECURITY_LDFLAGS_mips64 = ""
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0001-Makefile-build-ubi-utils-only.patch b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0001-Makefile-build-ubi-utils-only.patch
deleted file mode 100644
index 6ac2cca..0000000
--- a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0001-Makefile-build-ubi-utils-only.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 1c989e4c36d0bf76ab444f984bc73b98eeacd03f Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sun, 29 Jun 2014 00:32:29 +0200
-Subject: [PATCH 1/9] Makefile: build ubi-utils only
-
-We build all the static ubi-utils but actually only ubiattach is needed in
-a minimalistic initramfs for the mount of ubi volumes.
-
-More fixes are needed in order to build the full mtd-utils.
-The first issue is:
-
-| mkfs.jffs2.c:64:20: fatal error: libgen.h: No such file or directory
-| #include <libgen.h>
-
-Removing the include then the second error is:
-
-| mkfs.jffs2.c:1570:22: error: '_SC_PAGESIZE' undeclared
-| (first use in this function)
-| page_size = sysconf(_SC_PAGESIZE);
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- Makefile | 26 ++------------------------
- 1 file changed, 2 insertions(+), 24 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 3ce8587..8b79f71 100644
---- a/Makefile
-+++ b/Makefile
-@@ -16,28 +16,11 @@ endif
-
- TESTS = tests
-
--MTD_BINS = \
-- ftl_format flash_erase nanddump doc_loadbios \
-- ftl_check mkfs.jffs2 flash_lock flash_unlock \
-- flash_otp_info flash_otp_dump flash_otp_lock flash_otp_write \
-- mtd_debug flashcp nandwrite nandtest mtdpart \
-- jffs2dump \
-- nftldump nftl_format docfdisk \
-- rfddump rfdformat \
-- serve_image recv_image \
-- sumtool jffs2reader
- UBI_BINS = \
- ubiupdatevol ubimkvol ubirmvol ubicrc32 ubinfo ubiattach \
- ubidetach ubinize ubiformat ubirename mtdinfo ubirsvol ubiblock
-
--BINS = $(MTD_BINS)
--BINS += mkfs.ubifs/mkfs.ubifs
--BINS += $(addprefix ubi-utils/,$(UBI_BINS))
--SCRIPTS = flash_eraseall
--
--TARGETS = $(BINS)
--TARGETS += lib/libmtd.a
--TARGETS += ubi-utils/libubi.a
-+BINS = $(addprefix ubi-utils/,$(UBI_BINS))
-
- OBJDEPS = $(BUILDDIR)/include/version.h
-
-@@ -61,12 +44,9 @@ endif
- rm -f $(BUILDDIR)/include/version.h
- $(MAKE) -C $(TESTS) clean
-
--install:: $(addprefix $(BUILDDIR)/,${BINS}) ${SCRIPTS}
-+install:: $(addprefix $(BUILDDIR)/,${BINS})
- mkdir -p ${DESTDIR}/${SBINDIR}
- install -m 0755 $^ ${DESTDIR}/${SBINDIR}/
-- mkdir -p ${DESTDIR}/${MANDIR}/man1
-- install -m 0644 mkfs.jffs2.1 ${DESTDIR}/${MANDIR}/man1/
-- -gzip -9f ${DESTDIR}/${MANDIR}/man1/*.1
-
- tests::
- $(MAKE) -C $(TESTS)
-@@ -91,8 +71,6 @@ LDLIBS_mkfs.jffs2 = -lz $(LZOLDLIBS)
- LDFLAGS_jffs2reader = $(ZLIBLDFLAGS) $(LZOLDFLAGS)
- LDLIBS_jffs2reader = -lz $(LZOLDLIBS)
-
--$(foreach v,$(MTD_BINS),$(eval $(call mkdep,,$(v))))
--
- #
- # Common libmtd
- #
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0002-common.mk-for-klibc-CC-is-klcc.patch b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0002-common.mk-for-klibc-CC-is-klcc.patch
deleted file mode 100644
index c23d11f..0000000
--- a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0002-common.mk-for-klibc-CC-is-klcc.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 89c76bbe82a2029a25b0654eb0a1d0b22d6e6877 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sun, 29 Jun 2014 00:37:28 +0200
-Subject: [PATCH 2/9] common.mk: for klibc $(CC) is klcc
-
-Do not hardcode: assign the value to the variable if it is not already defined.
-
-Upstream-Status: Submitted
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- common.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/common.mk b/common.mk
-index ba87377..126d11a 100644
---- a/common.mk
-+++ b/common.mk
-@@ -1,4 +1,4 @@
--CC := $(CROSS)gcc
-+CC ?= $(CROSS)gcc
- AR := $(CROSS)ar
- RANLIB := $(CROSS)ranlib
-
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0003-libubi.c-add-klibc-specific-fixes-for-ioctl.patch b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0003-libubi.c-add-klibc-specific-fixes-for-ioctl.patch
deleted file mode 100644
index 9ad4a5b..0000000
--- a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0003-libubi.c-add-klibc-specific-fixes-for-ioctl.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From fecbb7056d621a30f7106e67f5fe209763571b70 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sun, 29 Jun 2014 00:40:15 +0200
-Subject: [PATCH 3/9] libubi.c: add klibc specific fixes for ioctl
-
-First issue is that ioctl() in klibc doesn't expect a constant as arg3.
-Second issue is that arg3 in klibc ioctl() implementation is not optional.
-
-Fixes:
-
-| ubi-utils/libubi.c: In function 'do_attach':
-| ubi-utils/libubi.c:698:8: warning: passing argument 3 of 'ioctl' discards
-| 'const' qualifier from pointer target type
-| ret = ioctl(fd, UBI_IOCATT, r);
-| ^
-| In file included from ubi-utils/libubi.c:32:0:
-| .../lib/klibc/include/sys/ioctl.h:15:14: note: expected 'void *' but argument
-| is of type 'const struct ubi_attach_req *'
-| __extern int ioctl(int, int, void *);
-| ^
-
-| ubi-utils/libubi.c: In function 'ubi_vol_block_create':
-| ubi-utils/libubi.c:1118:9: error: too few arguments to function 'ioctl'
-| return ioctl(fd, UBI_IOCVOLCRBLK);
-| ^
-| In file included from ubi-utils/libubi.c:32:0:
-| .../lib/klibc/include/sys/ioctl.h:15:14: note: declared here
-| __extern int ioctl(int, int, void *);
-| ^
-| ubi-utils/libubi.c: In function 'ubi_vol_block_remove':
-| ubi-utils/libubi.c:1123:9: error: too few arguments to function 'ioctl'
-| return ioctl(fd, UBI_IOCVOLRMBLK);
-| ^
-| In file included from ubi-utils/libubi.c:32:0:
-| .../usr/lib/klibc/include/sys/ioctl.h:15:14: note: declared here
-| __extern int ioctl(int, int, void *);
-| ^
-
-Upstream-Status: Accepted
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- ubi-utils/libubi.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/ubi-utils/libubi.c b/ubi-utils/libubi.c
-index 97c0434..2b49833 100644
---- a/ubi-utils/libubi.c
-+++ b/ubi-utils/libubi.c
-@@ -687,7 +687,7 @@ void libubi_close(libubi_t desc)
- * success and %-1 in case of failure. @r->ubi_num contains newly created UBI
- * device number.
- */
--static int do_attach(const char *node, const struct ubi_attach_req *r)
-+static int do_attach(const char *node, struct ubi_attach_req *r)
- {
- int fd, ret;
-
-@@ -1115,12 +1115,12 @@ int ubi_rsvol(libubi_t desc, const char *node, int vol_id, long long bytes)
-
- int ubi_vol_block_create(int fd)
- {
-- return ioctl(fd, UBI_IOCVOLCRBLK);
-+ return ioctl(fd, UBI_IOCVOLCRBLK, NULL);
- }
-
- int ubi_vol_block_remove(int fd)
- {
-- return ioctl(fd, UBI_IOCVOLRMBLK);
-+ return ioctl(fd, UBI_IOCVOLRMBLK, NULL);
- }
-
- int ubi_update_start(libubi_t desc, int fd, long long bytes)
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0004-Restore-compatibility-to-dietlibc-klibc-musl-libc-af.patch b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0004-Restore-compatibility-to-dietlibc-klibc-musl-libc-af.patch
deleted file mode 100644
index 2f31fb4..0000000
--- a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0004-Restore-compatibility-to-dietlibc-klibc-musl-libc-af.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From b668cb75cb7e72ff92055209130d4cd4b3cacbdb Mon Sep 17 00:00:00 2001
-From: Thorsten Glaser <tg@mirbsd.org>
-Date: Fri, 20 Jun 2014 10:56:27 +0000
-Subject: [PATCH 4/9] Restore compatibility to dietlibc, klibc, musl libc after
- commit 4f1b108
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Each C library has their own way to define off_t, and the <features.h>
-header is nonstandard and specific to the GNU libc and those that clone
-it (uClibc). Fefe’s dietlibc uses different flags, and klibc always uses
-a 64-bit off_t (like the BSDs); musl libc cannot be recognised using cpp
-instructions, so we assume 64 bit there (and on unknown C libraries) and
-leave it to the user to submit a follow-up fix if we guess wrong. I also
-added a static assertion to verify the 64 bit guess is correct.
-
-It would be really better using a configure script for this instead.
-
-Fixes:
-| CC lib/libmtd.o
-| In file included from ubi-utils/ubiutils-common.c:35:0:
-| ./include/common.h:29:22: fatal error: features.h: No such file or directory
-| #include <features.h>
-| ^
-| compilation terminated.
-
-Upstream-Status: Submitted
-
-Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- include/common.h | 24 ++++++++++++++++++++++++
- 1 file changed, 24 insertions(+)
-
-diff --git a/include/common.h b/include/common.h
-index fb0ca83..5a20964 100644
---- a/include/common.h
-+++ b/include/common.h
-@@ -26,7 +26,9 @@
- #include <string.h>
- #include <fcntl.h>
- #include <errno.h>
-+#if defined(__GLIBC__) || defined(__UCLIBC__)
- #include <features.h>
-+#endif
- #include <inttypes.h>
- #include "version.h"
-
-@@ -67,6 +69,21 @@ extern "C" {
- #endif
-
- /* define a print format specifier for off_t */
-+#if defined(__KLIBC__)
-+/* always 64 bit on klibc */
-+#define PRIxoff_t PRIx64
-+#define PRIdoff_t PRId64
-+#elif defined(__dietlibc__)
-+/* depends on compiler flags on dietlibc */
-+#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
-+#define PRIxoff_t PRIx64
-+#define PRIdoff_t PRId64
-+#else
-+#define PRIxoff_t "l"PRIx32
-+#define PRIdoff_t "l"PRId32
-+#endif
-+#elif defined(__GLIBC__) || defined(__UCLIBC__)
-+/* depends on compiler flags on glibc and uClibc */
- #ifdef __USE_FILE_OFFSET64
- #define PRIxoff_t PRIx64
- #define PRIdoff_t PRId64
-@@ -74,6 +91,13 @@ extern "C" {
- #define PRIxoff_t "l"PRIx32
- #define PRIdoff_t "l"PRId32
- #endif
-+#else
-+/* unknown libc or musl */
-+#define PRIxoff_t PRIx64
-+#define PRIdoff_t PRId64
-+/* verify our guess of 64 bit is correct */
-+static char __PRIxoff_t_static_assert[sizeof(off_t) == 8 ? 1 : -1];
-+#endif
-
- /* Verbose messages */
- #define bareverbose(verbose, fmt, ...) do { \
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0005-common.h-more-workarounds-for-klibc-compatibility.patch b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0005-common.h-more-workarounds-for-klibc-compatibility.patch
deleted file mode 100644
index 8309a72..0000000
--- a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0005-common.h-more-workarounds-for-klibc-compatibility.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 5d4a66b502003ef385dab31a17012246407e7364 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sun, 29 Jun 2014 00:44:03 +0200
-Subject: [PATCH 5/9] common.h: more workarounds for klibc compatibility
-
-Patch is addressing two issues:
-* First, Klibc doesn't have rpmatch().
-* Second, Klibc lacks getline()
-
-Fixes:
-| LD ubi-utils/ubiformat
-| .../git/ubi-utils/ubiformat.o: In function `prompt':
-| .../git/./include/common.h:157: undefined reference to `getline'
-| .../git/./include/common.h:164: undefined reference to `rpmatch'
-| .../git/./include/common.h:157: undefined reference to `getline'
-| .../git/./include/common.h:164: undefined reference to `rpmatch'
-
-Upstream-Status: Submitted
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- include/common.h | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/include/common.h b/include/common.h
-index 5a20964..2f51e1c 100644
---- a/include/common.h
-+++ b/include/common.h
-@@ -161,15 +161,17 @@ static inline int __rpmatch(const char *resp)
- */
- static inline bool prompt(const char *msg, bool def)
- {
-- char *line = NULL;
-- size_t len;
-+ char *line;
- bool ret = def;
-
-+ const int sizeof_line = 2;
-+ line = malloc(sizeof_line);
-+
- do {
- normsg_cont("%s (%c/%c) ", msg, def ? 'Y' : 'y', def ? 'n' : 'N');
- fflush(stdout);
-
-- while (getline(&line, &len, stdin) == -1) {
-+ while (fgets(line, sizeof_line, stdin) == NULL) {
- printf("failed to read prompt; assuming '%s'\n",
- def ? "yes" : "no");
- break;
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0006-libiniparser-remove-unused-function-needing-float.patch b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0006-libiniparser-remove-unused-function-needing-float.patch
deleted file mode 100644
index d046f95..0000000
--- a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0006-libiniparser-remove-unused-function-needing-float.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 2af30e9b2988111e45ed6ea6af55e49ec7cb1cb1 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sun, 29 Jun 2014 00:44:57 +0200
-Subject: [PATCH 6/9] libiniparser: remove unused function needing float
-
-Fixes:
-| LD ubi-utils/ubiformat
-| .../git/ubi-utils/libiniparser.a(libiniparser.o): In function
-| ` LD ubi-utils/ubirename
-| iniparser_getdouble':
-| .../git/ubi-utils/libiniparser.c:336: undefined reference to `atof'
-
-Grep doesn't reveal any occurrence of iniparser_getdouble(), using atof() so
-remove it: floating-point is not supported in klibc
-
-Upstream-Status: Accepted
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- ubi-utils/include/libiniparser.h | 15 ---------------
- ubi-utils/libiniparser.c | 22 ----------------------
- 2 files changed, 37 deletions(-)
-
-diff --git a/ubi-utils/include/libiniparser.h b/ubi-utils/include/libiniparser.h
-index be3c667..abd77aa 100644
---- a/ubi-utils/include/libiniparser.h
-+++ b/ubi-utils/include/libiniparser.h
-@@ -158,21 +158,6 @@ int iniparser_getint(dictionary * d, const char * key, int notfound);
-
- /*-------------------------------------------------------------------------*/
- /**
-- @brief Get the string associated to a key, convert to a double
-- @param d Dictionary to search
-- @param key Key string to look for
-- @param notfound Value to return in case of error
-- @return double
--
-- This function queries a dictionary for a key. A key as read from an
-- ini file is given as "section:key". If the key cannot be found,
-- the notfound value is returned.
-- */
--/*--------------------------------------------------------------------------*/
--double iniparser_getdouble(dictionary * d, char * key, double notfound);
--
--/*-------------------------------------------------------------------------*/
--/**
- @brief Get the string associated to a key, convert to a boolean
- @param d Dictionary to search
- @param key Key string to look for
-diff --git a/ubi-utils/libiniparser.c b/ubi-utils/libiniparser.c
-index 898f57f..ba70c08 100644
---- a/ubi-utils/libiniparser.c
-+++ b/ubi-utils/libiniparser.c
-@@ -316,28 +316,6 @@ int iniparser_getint(dictionary * d, const char * key, int notfound)
-
- /*-------------------------------------------------------------------------*/
- /**
-- @brief Get the string associated to a key, convert to a double
-- @param d Dictionary to search
-- @param key Key string to look for
-- @param notfound Value to return in case of error
-- @return double
--
-- This function queries a dictionary for a key. A key as read from an
-- ini file is given as "section:key". If the key cannot be found,
-- the notfound value is returned.
-- */
--/*--------------------------------------------------------------------------*/
--double iniparser_getdouble(dictionary * d, char * key, double notfound)
--{
-- char * str ;
--
-- str = iniparser_getstring(d, key, INI_INVALID_KEY);
-- if (str==INI_INVALID_KEY) return notfound ;
-- return atof(str);
--}
--
--/*-------------------------------------------------------------------------*/
--/**
- @brief Get the string associated to a key, convert to a boolean
- @param d Dictionary to search
- @param key Key string to look for
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0007-mtd-utils-common.c-convert-to-integer-arithmetic.patch b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0007-mtd-utils-common.c-convert-to-integer-arithmetic.patch
deleted file mode 100644
index 36b012f..0000000
--- a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0007-mtd-utils-common.c-convert-to-integer-arithmetic.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 41e7c76b0853bf5241b38b8167dfd57c27fef1eb Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sun, 28 Jan 2018 21:47:59 +0100
-Subject: [PATCH 7/9] mtd-utils: common.c: convert to integer arithmetic
-
-We use floating point just to print out KiB, MiB, GiB.
-Avoid that to be klibc friendly.
-
-Fixes compilation for aarch64 against klibc:
-
-error: '-mgeneral-regs-only' is incompatible with floating-point argument
-| printf("%s%.1f GiB", p, (double)bytes / (1024 * 1024 * 1024));
-etc.
-
-Note:
-* In the KiB case, we could apparently multiply by 100 before dividing
- without risking overflow. This code simply avoids multiplications.
-
-Upstream-Status: Submitted
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- ubi-utils/ubiutils-common.c | 18 ++++++++++++------
- 1 file changed, 12 insertions(+), 6 deletions(-)
-
-diff --git a/ubi-utils/ubiutils-common.c b/ubi-utils/ubiutils-common.c
-index 6609a6b..0ded2a4 100644
---- a/ubi-utils/ubiutils-common.c
-+++ b/ubi-utils/ubiutils-common.c
-@@ -107,6 +107,9 @@ long long ubiutils_get_bytes(const char *str)
- void ubiutils_print_bytes(long long bytes, int bracket)
- {
- const char *p;
-+ int GiB = 1024 * 1024 * 1024;
-+ int MiB = 1024 * 1024;
-+ int KiB = 1024;
-
- if (bracket)
- p = " (";
-@@ -115,12 +118,15 @@ void ubiutils_print_bytes(long long bytes, int bracket)
-
- printf("%lld bytes", bytes);
-
-- if (bytes > 1024 * 1024 * 1024)
-- printf("%s%.1f GiB", p, (double)bytes / (1024 * 1024 * 1024));
-- else if (bytes > 1024 * 1024)
-- printf("%s%.1f MiB", p, (double)bytes / (1024 * 1024));
-- else if (bytes > 1024 && bytes != 0)
-- printf("%s%.1f KiB", p, (double)bytes / 1024);
-+ if (bytes > GiB)
-+ printf("%s%lld.%lld GiB", p,
-+ bytes / GiB, bytes % GiB / (GiB / 10));
-+ else if (bytes > MiB)
-+ printf("%s%lld.%lld MiB", p,
-+ bytes / MiB, bytes % MiB / (MiB / 10));
-+ else if (bytes > KiB && bytes != 0)
-+ printf("%s%lld.%lld KiB", p,
-+ bytes / KiB, bytes % KiB / (KiB / 10));
- else
- return;
-
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0008-ubi-utils-ubiformat.c-convert-to-integer-arithmetic.patch b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0008-ubi-utils-ubiformat.c-convert-to-integer-arithmetic.patch
deleted file mode 100644
index 5bd0574..0000000
--- a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0008-ubi-utils-ubiformat.c-convert-to-integer-arithmetic.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From e6f1a85c0a3df24fe3ca9a520dc697105e75a80c Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sat, 27 Jan 2018 09:39:26 +0100
-Subject: [PATCH 8/9] ubi-utils: ubiformat.c: convert to integer arithmetic
-
-Do not cast percent to double, it is just used as upper limit.
-Avoid floating point to fix compilation for aarch64 against klibc:
-
-error: '-mgeneral-regs-only' is incompatible with floating-point code
-| int percent = ((double)si->ok_cnt)/si->good_cnt * 100;
-| ^~~~~~~
-
-Notes:
-* The checks in the code above this line ensure that si->good_cnt is not 0.
-
-* The code assumes si->good_cnt * 100 will not overflow, then we can use
- (si->ok_cnt * 100) safely because the former is bigger.
-
-* The truncated result does not affect the logic:
- i.e. a value of 49.9 is truncated to 49 and is still <50.
-
-Upstream-Status: Submitted
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- ubi-utils/ubiformat.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ubi-utils/ubiformat.c b/ubi-utils/ubiformat.c
-index 21409ca..d93164a 100644
---- a/ubi-utils/ubiformat.c
-+++ b/ubi-utils/ubiformat.c
-@@ -843,7 +843,7 @@ int main(int argc, char * const argv[])
- }
-
- if (!args.override_ec && si->empty_cnt < si->good_cnt) {
-- int percent = ((double)si->ok_cnt)/si->good_cnt * 100;
-+ int percent = (si->ok_cnt * 100) / si->good_cnt;
-
- /*
- * Make sure the majority of eraseblocks have valid
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0009-Eliminate-warnings-about-implicit-non-const-casting-.patch b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0009-Eliminate-warnings-about-implicit-non-const-casting-.patch
deleted file mode 100644
index 658246a..0000000
--- a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0009-Eliminate-warnings-about-implicit-non-const-casting-.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 2229f3b9fd4bad47794c28e558ad273173cea73d Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sat, 27 Jan 2018 09:52:46 +0100
-Subject: [PATCH 9/9] Eliminate warnings about implicit non-const casting in
- libmtd
-
-The mtd_get_dev_info1 function reads (among other things) name and type
-string into coresponding struct mtd_dev_info fields.
-
-The struct mtd_dev_info has the string fields marked const, requiring
-them to be cast to non-const version during initialization.
-
-This cast was previously omitted from the dev_read_data calls,
-triggering warnings during compilation.
-
-Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
-Signed-off-by: Richard Weinberger <richard@nod.at>
-
-Upstream-Status: Backport
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- lib/libmtd.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/lib/libmtd.c b/lib/libmtd.c
-index 60b4782..5f0bcbc 100644
---- a/lib/libmtd.c
-+++ b/lib/libmtd.c
-@@ -746,13 +746,13 @@ int mtd_get_dev_info1(libmtd_t desc, int mtd_num, struct mtd_dev_info *mtd)
- if (dev_get_major(lib, mtd_num, &mtd->major, &mtd->minor))
- return -1;
-
-- ret = dev_read_data(lib->mtd_name, mtd_num, &mtd->name,
-+ ret = dev_read_data(lib->mtd_name, mtd_num, (char *)&mtd->name,
- MTD_NAME_MAX + 1);
- if (ret < 0)
- return -1;
- ((char *)mtd->name)[ret - 1] = '\0';
-
-- ret = dev_read_data(lib->mtd_type, mtd_num, &mtd->type_str,
-+ ret = dev_read_data(lib->mtd_type, mtd_num, (char *)&mtd->type_str,
- MTD_TYPE_MAX + 1);
- if (ret < 0)
- return -1;
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0001-libmissing.h-fix-klibc-build-when-using-glibc-toolch.patch b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0001-libmissing.h-fix-klibc-build-when-using-glibc-toolch.patch
new file mode 100644
index 0000000..4ee9bd9
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0001-libmissing.h-fix-klibc-build-when-using-glibc-toolch.patch
@@ -0,0 +1,40 @@
+From e596ae99059c28fa9bb3461e03e7ecaacbf41727 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Wed, 23 May 2018 15:34:59 +0200
+Subject: [PATCH] libmissing.h: fix klibc build when using glibc toolchain
+
+klibc lacks execinfo.h so adda guard around it.
+Note: build with musl toolchain is ok even without this patch.
+
+Fix build error:
+
+| In file included from ../git/lib/execinfo.c:1:0:
+| ../git/include/libmissing.h:7:10: fatal error: execinfo.h:
+ No such file or directory
+
+Upstream-Status: Inappropriate [klibc specific]
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ include/libmissing.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/include/libmissing.h b/include/libmissing.h
+index 0196033..832c372 100644
+--- a/include/libmissing.h
++++ b/include/libmissing.h
+@@ -3,9 +3,11 @@
+
+ #include "config.h"
+
++#ifndef __KLIBC__
+ #ifdef HAVE_EXECINFO_H
+ #include <execinfo.h>
+ #endif
++#endif
+
+ #ifndef HAVE_EXECINFO_H
+ int backtrace(void **buffer, int size);
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0002-Instead-of-doing-preprocessor-magic-just-output-off_.patch b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0002-Instead-of-doing-preprocessor-magic-just-output-off_.patch
new file mode 100644
index 0000000..5c6e097
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0002-Instead-of-doing-preprocessor-magic-just-output-off_.patch
@@ -0,0 +1,326 @@
+From 01c98d5d5d044d9a125abcdbb2f3d771966365b0 Mon Sep 17 00:00:00 2001
+From: mirabilos <m@mirbsd.org>
+Date: Thu, 1 Feb 2018 15:34:07 +0100
+Subject: [PATCH] Instead of doing preprocessor magic, just output off_t as
+ long long
+
+Fix warnings abot PRIdoff_t in libmtd.c, in mtd_read (and mtd_write):
+
+In file included from ../git/lib/libmtd.c:40:0:
+../git/lib/libmtd.c: In function 'mtd_read':
+../git/include/common.h:110:18: warning: format '%ld' expects argument of
+ type 'long int', but argument 5 has type 'off_t {aka long long int}'
+ [-Wformat=]
+
+../git/include/common.h:120:2: note: in expansion of macro 'errmsg'
+ errmsg(fmt, ##__VA_ARGS__); \
+ ^~~~~~
+../git/lib/libmtd.c:1082:10: note: in expansion of macro 'sys_errmsg'
+ return sys_errmsg("cannot seek mtd%d to offset %"PRIdoff_t,
+ ^~~~~~~~~~
+
+/usr/lib/klibc/include/inttypes.h:28:17: note: format string is defined here
+ #define PRId32 "d"
+
+Upstream-Status: Submitted
+
+Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
+---
+ include/common.h | 18 ------------------
+ jffsX-utils/mkfs.jffs2.c | 20 ++++++++++----------
+ lib/libmtd.c | 8 ++++----
+ misc-utils/flash_erase.c | 6 +++---
+ misc-utils/flash_otp_write.c | 2 +-
+ misc-utils/ftl_check.c | 2 +-
+ misc-utils/mtd_debug.c | 4 ++--
+ misc-utils/serve_image.c | 4 ++--
+ tests/fs-tests/integrity/integck.c | 4 ++--
+ tests/mtd-tests/nandpagetest.c | 4 ++--
+ tests/ubi-tests/integ.c | 6 +++---
+ ubifs-utils/mkfs.ubifs/mkfs.ubifs.c | 6 +++---
+ 12 files changed, 33 insertions(+), 51 deletions(-)
+
+diff --git a/include/common.h b/include/common.h
+index f8f72ea..642c212 100644
+--- a/include/common.h
++++ b/include/common.h
+@@ -70,24 +70,6 @@ extern "C" {
+ #define O_CLOEXEC 0
+ #endif
+
+-/* define a print format specifier for off_t */
+-#if (SIZEOF_OFF_T >= 8)
+-#define PRIxoff_t PRIx64
+-#define PRIdoff_t PRId64
+-#else
+-#define PRIxoff_t "l"PRIx32
+-#define PRIdoff_t "l"PRId32
+-#endif
+-
+-/* define a print format specifier for loff_t */
+-#if (SIZEOF_LOFF_T >= 8)
+-#define PRIxloff_t PRIx64
+-#define PRIdloff_t PRId64
+-#else
+-#define PRIxloff_t "l"PRIx32
+-#define PRIdloff_t "l"PRId32
+-#endif
+-
+ /* Verbose messages */
+ #define bareverbose(verbose, fmt, ...) do { \
+ if (verbose) \
+diff --git a/jffsX-utils/mkfs.jffs2.c b/jffsX-utils/mkfs.jffs2.c
+index 9aa6c39..0661786 100644
+--- a/jffsX-utils/mkfs.jffs2.c
++++ b/jffsX-utils/mkfs.jffs2.c
+@@ -1237,8 +1237,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir)
+ } else switch (e->sb.st_mode & S_IFMT) {
+ case S_IFDIR:
+ if (verbose) {
+- printf("\td %04o %9" PRIdoff_t " %5d:%-3d %s\n",
+- e->sb.st_mode & ~S_IFMT, e->sb.st_size,
++ printf("\td %04o %9lld %5d:%-3d %s\n",
++ e->sb.st_mode & ~S_IFMT, (long long)e->sb.st_size,
+ (int) (e->sb.st_uid), (int) (e->sb.st_gid),
+ e->name);
+ }
+@@ -1247,8 +1247,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir)
+ break;
+ case S_IFSOCK:
+ if (verbose) {
+- printf("\ts %04o %9" PRIdoff_t " %5d:%-3d %s\n",
+- e->sb.st_mode & ~S_IFMT, e->sb.st_size,
++ printf("\ts %04o %9lld %5d:%-3d %s\n",
++ e->sb.st_mode & ~S_IFMT, (long long)e->sb.st_size,
+ (int) e->sb.st_uid, (int) e->sb.st_gid, e->name);
+ }
+ write_pipe(e);
+@@ -1256,8 +1256,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir)
+ break;
+ case S_IFIFO:
+ if (verbose) {
+- printf("\tp %04o %9" PRIdoff_t " %5d:%-3d %s\n",
+- e->sb.st_mode & ~S_IFMT, e->sb.st_size,
++ printf("\tp %04o %9lld %5d:%-3d %s\n",
++ e->sb.st_mode & ~S_IFMT, (long long)e->sb.st_size,
+ (int) e->sb.st_uid, (int) e->sb.st_gid, e->name);
+ }
+ write_pipe(e);
+@@ -1285,8 +1285,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir)
+ break;
+ case S_IFLNK:
+ if (verbose) {
+- printf("\tl %04o %9" PRIdoff_t " %5d:%-3d %s -> %s\n",
+- e->sb.st_mode & ~S_IFMT, e->sb.st_size,
++ printf("\tl %04o %9lld %5d:%-3d %s -> %s\n",
++ e->sb.st_mode & ~S_IFMT, (long long)e->sb.st_size,
+ (int) e->sb.st_uid, (int) e->sb.st_gid, e->name,
+ e->link);
+ }
+@@ -1297,8 +1297,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir)
+ wrote = write_regular_file(e);
+ write_xattr_entry(e);
+ if (verbose) {
+- printf("\tf %04o %9" PRIdoff_t " (%9u) %5d:%-3d %s\n",
+- e->sb.st_mode & ~S_IFMT, e->sb.st_size, wrote,
++ printf("\tf %04o %9lld (%9u) %5d:%-3d %s\n",
++ e->sb.st_mode & ~S_IFMT, (long long)e->sb.st_size, wrote,
+ (int) e->sb.st_uid, (int) e->sb.st_gid, e->name);
+ }
+ break;
+diff --git a/lib/libmtd.c b/lib/libmtd.c
+index 86c89ae..f375381 100644
+--- a/lib/libmtd.c
++++ b/lib/libmtd.c
+@@ -1079,8 +1079,8 @@ int mtd_read(const struct mtd_dev_info *mtd, int fd, int eb, int offs,
+ /* Seek to the beginning of the eraseblock */
+ seek = (off_t)eb * mtd->eb_size + offs;
+ if (lseek(fd, seek, SEEK_SET) != seek)
+- return sys_errmsg("cannot seek mtd%d to offset %"PRIdoff_t,
+- mtd->mtd_num, seek);
++ return sys_errmsg("cannot seek mtd%d to offset %lld",
++ mtd->mtd_num, (long long)seek);
+
+ while (rd < len) {
+ ret = read(fd, buf + rd, len - rd);
+@@ -1188,8 +1188,8 @@ int mtd_write(libmtd_t desc, const struct mtd_dev_info *mtd, int fd, int eb,
+ if (data) {
+ /* Seek to the beginning of the eraseblock */
+ if (lseek(fd, seek, SEEK_SET) != seek)
+- return sys_errmsg("cannot seek mtd%d to offset %"PRIdoff_t,
+- mtd->mtd_num, seek);
++ return sys_errmsg("cannot seek mtd%d to offset %lld",
++ mtd->mtd_num, (long long)seek);
+ ret = write(fd, data, len);
+ if (ret != len)
+ return sys_errmsg("cannot write %d bytes to mtd%d "
+diff --git a/misc-utils/flash_erase.c b/misc-utils/flash_erase.c
+index 0c9449f..ec4b2e1 100644
+--- a/misc-utils/flash_erase.c
++++ b/misc-utils/flash_erase.c
+@@ -53,8 +53,8 @@ int target_endian = __BYTE_ORDER;
+ static void show_progress(struct mtd_dev_info *mtd, off_t start, int eb,
+ int eb_start, int eb_cnt)
+ {
+- bareverbose(!quiet, "\rErasing %d Kibyte @ %"PRIxoff_t" -- %2i %% complete ",
+- mtd->eb_size / 1024, start, ((eb - eb_start) * 100) / eb_cnt);
++ bareverbose(!quiet, "\rErasing %d Kibyte @ %llx -- %2i %% complete ",
++ mtd->eb_size / 1024, (unsigned long long)start, ((eb - eb_start) * 100) / eb_cnt);
+ fflush(stdout);
+ }
+
+@@ -210,7 +210,7 @@ int main(int argc, char *argv[])
+ if (!noskipbad) {
+ int ret = mtd_is_bad(&mtd, fd, eb);
+ if (ret > 0) {
+- verbose(!quiet, "Skipping bad block at %08"PRIxoff_t, offset);
++ verbose(!quiet, "Skipping bad block at %08llx", (unsigned long long)offset);
+ continue;
+ } else if (ret < 0) {
+ if (errno == EOPNOTSUPP) {
+diff --git a/misc-utils/flash_otp_write.c b/misc-utils/flash_otp_write.c
+index b02d0b0..04c96c6 100644
+--- a/misc-utils/flash_otp_write.c
++++ b/misc-utils/flash_otp_write.c
+@@ -76,7 +76,7 @@ int main(int argc,char *argv[])
+ return errno;
+ }
+
+- printf("Writing OTP user data on %s at offset 0x%"PRIxoff_t"\n", argv[2], offset);
++ printf("Writing OTP user data on %s at offset 0x%llx\n", argv[2], (unsigned long long)offset);
+
+ if (mtd_type_is_nand_user(&mtdInfo))
+ len = mtdInfo.writesize;
+diff --git a/misc-utils/ftl_check.c b/misc-utils/ftl_check.c
+index a853cf4..e854922 100644
+--- a/misc-utils/ftl_check.c
++++ b/misc-utils/ftl_check.c
+@@ -131,7 +131,7 @@ static void check_partition(int fd)
+ perror("read failed");
+ break;
+ }
+- printf("\nErase unit %"PRIdoff_t":\n", i);
++ printf("\nErase unit %lld:\n", (long long)i);
+ if ((hdr2.FormattedSize != hdr.FormattedSize) ||
+ (hdr2.NumEraseUnits != hdr.NumEraseUnits) ||
+ (hdr2.SerialNumber != hdr.SerialNumber))
+diff --git a/misc-utils/mtd_debug.c b/misc-utils/mtd_debug.c
+index ac37e23..d65ad36 100644
+--- a/misc-utils/mtd_debug.c
++++ b/misc-utils/mtd_debug.c
+@@ -160,7 +160,7 @@ retry:
+ if (buf != NULL)
+ free(buf);
+ close(outfd);
+- printf("Copied %zu bytes from address 0x%.8"PRIxoff_t" in flash to %s\n", len, offset, filename);
++ printf("Copied %zu bytes from address 0x%.8llx in flash to %s\n", len, (unsigned long long)offset, filename);
+ return 0;
+
+ err2:
+@@ -225,7 +225,7 @@ retry:
+ if (buf != NULL)
+ free(buf);
+ fclose(fp);
+- printf("Copied %d bytes from %s to address 0x%.8"PRIxoff_t" in flash\n", len, filename, offset);
++ printf("Copied %d bytes from %s to address 0x%.8llx in flash\n", len, filename, (unsigned long long)offset);
+ return 0;
+ }
+
+diff --git a/misc-utils/serve_image.c b/misc-utils/serve_image.c
+index f2475d6..6c8c8fb 100644
+--- a/misc-utils/serve_image.c
++++ b/misc-utils/serve_image.c
+@@ -129,8 +129,8 @@ int main(int argc, char **argv)
+ }
+
+ if (st.st_size % erasesize) {
+- fprintf(stderr, "Image size %" PRIdoff_t " bytes is not a multiple of erasesize %d bytes\n",
+- st.st_size, erasesize);
++ fprintf(stderr, "Image size %lld bytes is not a multiple of erasesize %d bytes\n",
++ (long long)st.st_size, erasesize);
+ exit(1);
+ }
+ image = mmap(NULL, st.st_size, PROT_READ, MAP_PRIVATE, rfd, 0);
+diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c
+index 84753d6..0a7f142 100644
+--- a/tests/fs-tests/integrity/integck.c
++++ b/tests/fs-tests/integrity/integck.c
+@@ -897,8 +897,8 @@ static ssize_t file_write_data(struct file_info *file, int fd, off_t offset,
+ remains = size;
+ actual = 0;
+ written = IO_BUFFER_SIZE;
+- v("write %zd bytes, offset %"PRIdoff_t", file %s",
+- size, offset, get_file_name(file));
++ v("write %zd bytes, offset %lld, file %s",
++ size, (long long)offset, get_file_name(file));
+ while (remains) {
+ /* Fill up buffer with random data */
+ if (written < IO_BUFFER_SIZE) {
+diff --git a/tests/mtd-tests/nandpagetest.c b/tests/mtd-tests/nandpagetest.c
+index c6812df..465e548 100644
+--- a/tests/mtd-tests/nandpagetest.c
++++ b/tests/mtd-tests/nandpagetest.c
+@@ -232,8 +232,8 @@ static int verify_eraseblock(int ebnum)
+ return err;
+
+ if (lseek(fd, addr, SEEK_SET) != addr) {
+- fprintf(stderr, "cannot seek mtd%d to offset %"PRIdloff_t,
+- mtd.mtd_num, addr);
++ fprintf(stderr, "cannot seek mtd%d to offset %lld",
++ mtd.mtd_num, (long long)addr);
+ return -1;
+ }
+
+diff --git a/tests/ubi-tests/integ.c b/tests/ubi-tests/integ.c
+index 26c2ce5..1cd0649 100644
+--- a/tests/ubi-tests/integ.c
++++ b/tests/ubi-tests/integ.c
+@@ -243,7 +243,7 @@ static void check_erase_block(struct erase_block_info *erase_block, int fd)
+ while (size)
+ if (read_buffer[--size] != 0xff) {
+ fprintf(stderr, "block no. = %d\n" , erase_block->block_number);
+- fprintf(stderr, "offset = %"PRIdoff_t"\n" , gap_start);
++ fprintf(stderr, "offset = %lld\n" , (long long)gap_start);
+ fprintf(stderr, "size = %ld\n" , (long) bytes_read);
+ error_exit("verify 0xff failed");
+ }
+@@ -254,7 +254,7 @@ static void check_erase_block(struct erase_block_info *erase_block, int fd)
+ errno = 0;
+ bytes_read = read(fd, read_buffer, w->size);
+ if (bytes_read != w->size) {
+- fprintf(stderr, "offset = %"PRIdoff_t"\n" , w->offset);
++ fprintf(stderr, "offset = %lld\n" , (long long)w->offset);
+ fprintf(stderr, "size = %ld\n" , (long) w->size);
+ fprintf(stderr, "bytes_read = %ld\n" , (long) bytes_read);
+ error_exit("read failed");
+@@ -279,7 +279,7 @@ static void check_erase_block(struct erase_block_info *erase_block, int fd)
+ while (size)
+ if (read_buffer[--size] != 0xff) {
+ fprintf(stderr, "block no. = %d\n" , erase_block->block_number);
+- fprintf(stderr, "offset = %"PRIdoff_t"\n" , gap_start);
++ fprintf(stderr, "offset = %lld\n" , (long long)gap_start);
+ fprintf(stderr, "size = %ld\n" , (long) bytes_read);
+ error_exit("verify 0xff failed!");
+ }
+diff --git a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c
+index c916f48..f0237ab 100644
+--- a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c
++++ b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c
+@@ -772,11 +772,11 @@ int write_leb(int lnum, int len, void *buf)
+ return sys_err_msg("ubi_leb_change_start failed");
+
+ if (lseek(out_fd, pos, SEEK_SET) != pos)
+- return sys_err_msg("lseek failed seeking %"PRIdoff_t, pos);
++ return sys_err_msg("lseek failed seeking %lld", (long long)pos);
+
+ if (write(out_fd, buf, c->leb_size) != c->leb_size)
+- return sys_err_msg("write failed writing %d bytes at pos %"PRIdoff_t,
+- c->leb_size, pos);
++ return sys_err_msg("write failed writing %d bytes at pos %lld",
++ c->leb_size, (long long)pos);
+
+ return 0;
+ }
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0003-Makefile.am-only-build-ubi-utils.patch b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0003-Makefile.am-only-build-ubi-utils.patch
new file mode 100644
index 0000000..38ab7a9
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0003-Makefile.am-only-build-ubi-utils.patch
@@ -0,0 +1,34 @@
+From 139d93bc405272a3261d57be26da842e737fe4d0 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sun, 28 Jan 2018 23:10:34 +0100
+Subject: [PATCH] Makefile.am: only build ubi-utils
+
+We only target the ubi-utils, static, small.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ Makefile.am | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 5a6e77c..98715dd 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -34,9 +34,9 @@ EXTRA_DIST += $(GLOBAL_HEADER) $(GLOBAL_EXTRA)
+
+ include lib/Makemodule.am
+ include ubi-utils/Makemodule.am
+-include misc-utils/Makemodule.am
+-include nand-utils/Makemodule.am
+-include nor-utils/Makemodule.am
++#include misc-utils/Makemodule.am
++#include nand-utils/Makemodule.am
++#include nor-utils/Makemodule.am
+
+ if BUILD_UBIFS
+ include ubifs-utils/Makemodule.am
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0004-mtd-utils-common.h-no-features.h-for-klibc-builds.patch b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0004-mtd-utils-common.h-no-features.h-for-klibc-builds.patch
new file mode 100644
index 0000000..2844a50
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0004-mtd-utils-common.h-no-features.h-for-klibc-builds.patch
@@ -0,0 +1,38 @@
+From ae1cf6d0eb1833e46549328a4473222c259723d7 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Thu, 1 Feb 2018 00:25:00 +0100
+Subject: [PATCH] mtd-utils: common.h: no features.h for klibc builds
+
+Add guard around features.h to fix missing include (here first error):
+
+ ../git/include/common.h:29:10:
+ fatal error: features.h: No such file or directory
+ #include <features.h>
+ ^~~~~~~~~~~~
+ compilation terminated
+
+Upstream-Status: Submitted
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ include/common.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/include/common.h b/include/common.h
+index 642c212..f7c71fe 100644
+--- a/include/common.h
++++ b/include/common.h
+@@ -26,7 +26,10 @@
+ #include <string.h>
+ #include <fcntl.h>
+ #include <errno.h>
++#if defined(__KLIBC__)
++#else
+ #include <features.h>
++#endif
+ #include <inttypes.h>
+ #include <unistd.h>
+ #include <sys/sysmacros.h>
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0005-common.h-replace-getline-with-fgets.patch b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0005-common.h-replace-getline-with-fgets.patch
new file mode 100644
index 0000000..a556ed3
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0005-common.h-replace-getline-with-fgets.patch
@@ -0,0 +1,56 @@
+From 2137eb1a6cd0326510bd3b9faf8037d9bf34ca3d Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Wed, 23 May 2018 15:52:34 +0200
+Subject: [PATCH] common.h: replace getline() with fgets
+
+There is an unofficial upstream patch adding a simple getline()
+to libmissing.h. Unfortunately the patch creates issues if the
+toolchain is using glibc (autotools cache?) so for the moment
+keep the old hack and wait for commits upstream.
+
+Fix:
+
+| ubi-utils/ubiformat.o: In function `prompt.constprop.4':
+| ubiformat.c:(.text+0x70): undefined reference to `getline'
+
+Upstream-Status: Inappropriate [klibc specific]
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ include/common.h | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/include/common.h b/include/common.h
+index a1d59d0..96b0bdb 100644
+--- a/include/common.h
++++ b/include/common.h
+@@ -126,15 +126,26 @@ extern "C" {
+ */
+ static inline bool prompt(const char *msg, bool def)
+ {
++
++#ifndef __KLIBC__
+ char *line = NULL;
+ size_t len;
++#else
++ char *line;
++ const int sizeof_line = 2;
++ line = malloc(sizeof_line);
++#endif
+ bool ret = def;
+
+ do {
+ normsg_cont("%s (%c/%c) ", msg, def ? 'Y' : 'y', def ? 'n' : 'N');
+ fflush(stdout);
+
++#ifndef __KLIBC__
+ while (getline(&line, &len, stdin) == -1) {
++#else
++ while (fgets(line, sizeof_line, stdin) == NULL) {
++#endif
+ printf("failed to read prompt; assuming '%s'\n",
+ def ? "yes" : "no");
+ break;
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.2.bb b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.2.bb
deleted file mode 100644
index abb0d4b..0000000
--- a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.2.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "UBI utils statically compiled against klibc"
-DESCRIPTION = "Small sized tools from mtd-utils for use with initramfs."
-SECTION = "base"
-DEPENDS = "zlib lzo e2fsprogs util-linux"
-HOMEPAGE = "http://www.linux-mtd.infradead.org/"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
- file://include/common.h;beginline=1;endline=17;md5=ba05b07912a44ea2bf81ce409380049c"
-
-inherit klibc
-
-SRCREV = "aea36417067dade75192bafa03af70b6eb2677b1"
-SRC_URI = "git://git.infradead.org/mtd-utils.git \
- file://0001-Makefile-build-ubi-utils-only.patch \
- file://0002-common.mk-for-klibc-CC-is-klcc.patch \
- file://0003-libubi.c-add-klibc-specific-fixes-for-ioctl.patch \
- file://0004-Restore-compatibility-to-dietlibc-klibc-musl-libc-af.patch \
- file://0005-common.h-more-workarounds-for-klibc-compatibility.patch \
- file://0006-libiniparser-remove-unused-function-needing-float.patch \
- file://0007-mtd-utils-common.c-convert-to-integer-arithmetic.patch \
- file://0008-ubi-utils-ubiformat.c-convert-to-integer-arithmetic.patch \
- file://0009-Eliminate-warnings-about-implicit-non-const-casting-.patch \
- "
-
-S = "${WORKDIR}/git/"
-
-EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}include -DWITHOUT_XATTR' 'BUILDDIR=${S}'"
-
-do_install () {
- oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} INCLUDEDIR=${includedir}
-}
-
-PACKAGES = "ubi-utils-klibc-dbg"
-
-PACKAGES =+ "mtdinfo-klibc ubiattach-klibc ubiblock-klibc ubicrc32-klibc ubidetach-klibc \
- ubiformat-klibc ubimkvol-klibc ubinfo-klibc ubinize-klibc ubirename-klibc \
- ubirmvol-klibc ubirsvol-klibc ubiupdatevol-klibc"
-
-FILES_mtdinfo-klibc = "${sbindir}/mtdinfo"
-FILES_ubiattach-klibc = "${sbindir}/ubiattach"
-FILES_ubiblock-klibc = "${sbindir}/ubiblock"
-FILES_ubicrc32-klibc = "${sbindir}/ubicrc32"
-FILES_ubidetach-klibc = "${sbindir}/ubidetach"
-FILES_ubiformat-klibc = "${sbindir}/ubiformat"
-FILES_ubimkvol-klibc = "${sbindir}/ubimkvol"
-FILES_ubinfo-klibc = "${sbindir}/ubinfo"
-FILES_ubinize-klibc = "${sbindir}/ubinize"
-FILES_ubirename-klibc = "${sbindir}/ubirename"
-FILES_ubirmvol-klibc = "${sbindir}/ubirmvol"
-FILES_ubirsvol-klibc = "${sbindir}/ubirsvol"
-FILES_ubiupdatevol-klibc = "${sbindir}/ubiupdatevol"
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb
new file mode 100644
index 0000000..0475cbe
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb
@@ -0,0 +1,52 @@
+SUMMARY = "UBI utils statically compiled against klibc"
+DESCRIPTION = "Small sized tools from mtd-utils for use with initramfs."
+SECTION = "base"
+DEPENDS = "zlib lzo e2fsprogs util-linux"
+HOMEPAGE = "http://www.linux-mtd.infradead.org/"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
+ file://include/common.h;beginline=1;endline=17;md5=ba05b07912a44ea2bf81ce409380049c"
+
+inherit autotools pkgconfig klibc
+
+SRCREV = "64f61a9dc71b158c7084006cbce4ea23886f0b47"
+SRC_URI = "git://git.infradead.org/mtd-utils.git \
+ file://0001-libmissing.h-fix-klibc-build-when-using-glibc-toolch.patch \
+ file://0002-Instead-of-doing-preprocessor-magic-just-output-off_.patch \
+ file://0003-Makefile.am-only-build-ubi-utils.patch \
+ file://0004-mtd-utils-common.h-no-features.h-for-klibc-builds.patch \
+ file://0005-common.h-replace-getline-with-fgets.patch \
+ "
+
+S = "${WORKDIR}/git/"
+
+EXTRA_OECONF += "--disable-tests --without-jffs --without-ubifs"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'xattr', d)}"
+PACKAGECONFIG[xattr] = ",,acl,"
+
+EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} ${@bb.utils.contains('PACKAGECONFIG', 'xattr', '', '-DWITHOUT_XATTR', d)} -I${S}/include' 'BUILDDIR=${S}'"
+
+do_install () {
+ oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} INCLUDEDIR=${includedir}
+}
+
+PACKAGES = "ubi-utils-klibc-dbg ubi-utils-klibc-doc"
+
+PACKAGES =+ "mtdinfo-klibc ubiattach-klibc ubiblock-klibc ubicrc32-klibc ubidetach-klibc \
+ ubiformat-klibc ubimkvol-klibc ubinfo-klibc ubinize-klibc ubirename-klibc \
+ ubirmvol-klibc ubirsvol-klibc ubiupdatevol-klibc"
+
+FILES_mtdinfo-klibc = "${sbindir}/mtdinfo"
+FILES_ubiattach-klibc = "${sbindir}/ubiattach"
+FILES_ubiblock-klibc = "${sbindir}/ubiblock"
+FILES_ubicrc32-klibc = "${sbindir}/ubicrc32"
+FILES_ubidetach-klibc = "${sbindir}/ubidetach"
+FILES_ubiformat-klibc = "${sbindir}/ubiformat"
+FILES_ubimkvol-klibc = "${sbindir}/ubimkvol"
+FILES_ubinfo-klibc = "${sbindir}/ubinfo"
+FILES_ubinize-klibc = "${sbindir}/ubinize"
+FILES_ubirename-klibc = "${sbindir}/ubirename"
+FILES_ubirmvol-klibc = "${sbindir}/ubirmvol"
+FILES_ubirsvol-klibc = "${sbindir}/ubirsvol"
+FILES_ubiupdatevol-klibc = "${sbindir}/ubiupdatevol"
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch
deleted file mode 100644
index a7600b3..0000000
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 86b962e7c0de43b20b6210d059e4855ce87078bc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 13 Jul 2017 16:20:08 -0700
-Subject: [PATCH] Adjust the order of headers to fix build for musl
-
-Fixes
-kexec/ifdown.c:33:16: error: storage size of 'ifc' isn't known
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- kexec/ifdown.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/kexec/ifdown.c b/kexec/ifdown.c
-index 2215798..e13f777 100644
---- a/kexec/ifdown.c
-+++ b/kexec/ifdown.c
-@@ -16,8 +16,8 @@ char *v_ifdown = "@(#)ifdown.c 1.11 02-Jun-1998 miquels@cistron.nl";
- #include <sys/time.h>
- #include <errno.h>
-
--#include <net/if.h>
- #include <netinet/in.h>
-+#include <net/if.h>
-
- #define MAX_IFS 64
-
---
-2.13.2
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/arm_crashdump.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/arm_crashdump.patch
deleted file mode 100644
index 0ff61e5..0000000
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/arm_crashdump.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/kexec/arch/arm/crashdump-arm.c
-+++ b/kexec/arch/arm/crashdump-arm.c
-@@ -20,7 +20,7 @@
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
--#include <elf.h>
-+#include "../../../include/elf.h"
- #include <errno.h>
- #include <stdio.h>
- #include <stdlib.h>
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/cflags_static.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/cflags_static.patch
deleted file mode 100644
index 35100a3..0000000
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/cflags_static.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -46,7 +46,7 @@
- # where necessary.
- CPPFLAGS = @CPPFLAGS@ -I$(srcdir)/include -I$(srcdir)/util_lib/include \
- -Iinclude/
--CFLAGS = @CFLAGS@ -fno-strict-aliasing -Wall -Wstrict-prototypes
-+CFLAGS = @CFLAGS@ -static -fno-strict-aliasing -Wall -Wstrict-prototypes
- PURGATORY_EXTRA_CFLAGS = @PURGATORY_EXTRA_CFLAGS@
- ASFLAGS = @ASFLAGS@
- LDFLAGS = @LDFLAGS@
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/fix-out-of-tree-build.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/fix-out-of-tree-build.patch
deleted file mode 100644
index ccbb24d..0000000
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/fix-out-of-tree-build.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 37737527725e465833be649101c4a6f8352c5d5e Mon Sep 17 00:00:00 2001
-From: Tyler Hall <tylerwhall@gmail.com>
-Date: Tue, 7 Feb 2012 18:50:05 -0500
-Subject: Fix out-of-tree build
-
-Use automatic variables for prerequisites when copying man pages and
-include a makefile relative to $(srcdir).
-
-Backported to 2.0.2-klibc
-
-Signed-off-by: Tyler Hall <tylerwhall@gmail.com>
-Signed-off-by: Simon Horman <horms@verge.net.au>
-
-diff --git a/kdump/Makefile b/kdump/Makefile
-index 1e2b72c..5dfa928 100644
---- a/kdump/Makefile
-+++ b/kdump/Makefile
-@@ -22,7 +22,7 @@ $(KDUMP): $(KDUMP_OBJS)
-
- $(KDUMP_MANPAGE): kdump/kdump.8
- $(MKDIR) -p $(MANDIR)/man8
-- cp kdump/kdump.8 $(KDUMP_MANPAGE)
-+ cp $^ $(KDUMP_MANPAGE)
- echo::
- @echo "KDUMP_SRCS $(KDUMP_SRCS)"
- @echo "KDUMP_DEPS $(KDUMP_DEPS)"
-diff --git a/kexec/Makefile b/kexec/Makefile
-index 2137cab..8c815b5 100644
---- a/kexec/Makefile
-+++ b/kexec/Makefile
-@@ -82,7 +82,7 @@ $(KEXEC): CPPFLAGS+=-I$(srcdir)/kexec/arch/$(ARCH)/include
-
- $(KEXEC_MANPAGE): kexec/kexec.8
- @$(MKDIR) -p $(MANDIR)/man8
-- cp kexec/kexec.8 $(KEXEC_MANPAGE)
-+ cp $^ $(KEXEC_MANPAGE)
- echo::
- @echo "KEXEC_SRCS $(KEXEC_SRCS)"
- @echo "KEXEC_DEPS $(KEXEC_DEPS)"
-diff --git a/kexec/arch/ppc/Makefile b/kexec/arch/ppc/Makefile
-index 3dba7cf..41242a5 100644
---- a/kexec/arch/ppc/Makefile
-+++ b/kexec/arch/ppc/Makefile
-@@ -1,7 +1,7 @@
- #
- # kexec ppc (linux booting linux)
- #
--include kexec/arch/ppc/libfdt/Makefile.libfdt
-+include $(srcdir)/kexec/arch/ppc/libfdt/Makefile.libfdt
-
- ppc_KEXEC_SRCS = kexec/arch/ppc/kexec-ppc.c
- ppc_KEXEC_SRCS += kexec/arch/ppc/kexec-elf-ppc.c
-
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/ifdown_errno.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/ifdown_errno.patch
deleted file mode 100644
index 7f8cddd..0000000
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/ifdown_errno.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/kexec/ifdown.c
-+++ b/kexec/ifdown.c
-@@ -14,7 +14,7 @@
- #include <sys/ioctl.h>
- #include <sys/socket.h>
- #include <sys/time.h>
--#include <sys/errno.h>
-+#include <errno.h>
-
- #include <net/if.h>
- #include <netinet/in.h>
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/kexec-elf-rel.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/kexec-elf-rel.patch
deleted file mode 100644
index c666afc..0000000
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/kexec-elf-rel.patch
+++ /dev/null
@@ -1,61 +0,0 @@
---- a/kexec/kexec-elf-rel.c
-+++ b/kexec/kexec-elf-rel.c
-@@ -4,7 +4,7 @@
- #include <stdio.h>
- #include <errno.h>
- #include <stdlib.h>
--#include "elf.h"
-+#include "../include/elf.h"
- #include <boot/elf_boot.h>
- #include "kexec.h"
- #include "kexec-elf.h"
-
---- a/kexec/arch/arm/kexec-elf-rel-arm.c
-+++ b/kexec/arch/arm/kexec-elf-rel-arm.c
-@@ -1,5 +1,5 @@
- #include <stdio.h>
--#include <elf.h>
-+#include "../../../include/elf.h"
- #include "../../kexec.h"
- #include "../../kexec-elf.h"
-
-
---- a/kexec/arch/i386/kexec-elf-rel-x86.c
-+++ b/kexec/arch/i386/kexec-elf-rel-x86.c
-@@ -1,5 +1,5 @@
- #include <stdio.h>
--#include <elf.h>
-+#include "../../../include/elf.h"
- #include "../../kexec.h"
- #include "../../kexec-elf.h"
-
-
---- a/kexec/arch/ppc/kexec-elf-rel-ppc.c
-+++ b/kexec/arch/ppc/kexec-elf-rel-ppc.c
-@@ -1,5 +1,5 @@
- #include <stdio.h>
--#include <elf.h>
-+#include "../../../include/elf.h"
- #include "../../kexec.h"
- #include "../../kexec-elf.h"
-
-
---- a/kexec/arch/ppc64/kexec-elf-rel-ppc64.c
-+++ b/kexec/arch/ppc64/kexec-elf-rel-ppc64.c
-@@ -1,5 +1,5 @@
- #include <stdio.h>
--#include <elf.h>
-+#include "../../../include/elf.h"
- #include <string.h>
- #include "../../kexec.h"
- #include "../../kexec-elf.h"
-
---- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-+++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-@@ -1,5 +1,5 @@
- #include <stdio.h>
--#include <elf.h>
-+#include "../../../include/elf.h"
- #include "../../kexec.h"
- #include "../../kexec-elf.h"
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/kexec-syscall.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/kexec-syscall.patch
deleted file mode 100644
index 081de1b..0000000
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/kexec-syscall.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- a/kexec/kexec-syscall.h
-+++ b/kexec/kexec-syscall.h
-@@ -2,7 +2,7 @@
- #define KEXEC_SYSCALL_H
-
- #define __LIBRARY__
--#include <syscall.h>
-+/*#include <syscall.h>*/
- #include <sys/syscall.h>
- #include <unistd.h>
-
-@@ -23,6 +23,7 @@
- #define LINUX_REBOOT_CMD_KEXEC 0x45584543
-
- #ifndef __NR_kexec_load
-+/*
- #ifdef __i386__
- #define __NR_kexec_load 283
- #endif
-@@ -61,19 +62,21 @@
- #ifndef __NR_kexec_load
- #error Unknown processor architecture. Needs a kexec_load syscall number.
- #endif
-+*/
- #endif /*ifndef __NR_kexec_load*/
-
- struct kexec_segment;
--
-+/*
- static inline long kexec_load(void *entry, unsigned long nr_segments,
- struct kexec_segment *segments, unsigned long flags)
- {
- return (long) syscall(__NR_kexec_load, entry, nr_segments, segments, flags);
- }
--
-+*/
- static inline long kexec_reboot(void)
- {
-- return (long) syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_KEXEC, 0);
-+ //return (long) syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_KEXEC, 0);
-+ return __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_KEXEC, 0);
- }
-
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/ppc__lshrdi3.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/ppc__lshrdi3.patch
deleted file mode 100644
index 56cdfb0..0000000
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/ppc__lshrdi3.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/purgatory/arch/ppc/crt.S
-+++ b/purgatory/arch/ppc/crt.S
-@@ -249,6 +249,7 @@
- *
- */
-
-+/* already defined in misc.S
- _GLOBAL(__lshrdi3)
- subfic 6,5,32
- srw 4,4,5 # LSW = count > 31 ? 0 : LSW >> count
-@@ -259,5 +260,7 @@
- srw 3,3,5 # MSW = MSW >> count
- or 4,4,7 # LSW |= t2
- blr
-+*/
-+
- #endif
- #endif
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/purgatory_flags.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/purgatory_flags.patch
deleted file mode 100644
index 41fc116..0000000
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/purgatory_flags.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/purgatory/Makefile
-+++ b/purgatory/Makefile
-@@ -47,7 +47,7 @@
- $(PURGATORY): CC=$(TARGET_CC)
- $(PURGATORY): CFLAGS+=$(PURGATORY_EXTRA_CFLAGS) \
- $($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
-- -Os -fno-builtin -ffreestanding
-+ -Os -fno-builtin -ffreestanding -nostdinc
-
- $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
- -I$(srcdir)/purgatory/include \
-@@ -61,7 +61,8 @@
-
- $(PURGATORY): $(PURGATORY_OBJS)
- $(MKDIR) -p $(@D)
-- $(CC) $(LDFLAGS) -o $@ $^
-+# $(CC) $(LDFLAGS) -o $@ $^
-+ $(LD) $(LDFLAGS) -o $@ $^
-
- # $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) --no-undefined -e purgatory_start -r -o $@ $(PURGATORY_OBJS) $(UTIL_LIB)
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/purgatory_string.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/purgatory_string.patch
deleted file mode 100644
index 5710561..0000000
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/purgatory_string.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/purgatory/string.c
-+++ b/purgatory/string.c
-@@ -1,5 +1,5 @@
- #include <stddef.h>
--#include <string.h>
-+/* #include <string.h> */
-
- size_t strnlen(const char *s, size_t max)
- {
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/sha256.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/sha256.patch
deleted file mode 100644
index 85bf7aa..0000000
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/sha256.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/util_lib/include/sha256.h
-+++ b/util_lib/include/sha256.h
-@@ -1,7 +1,8 @@
- #ifndef SHA256_H
- #define SHA256_H
-
--#include <sys/types.h>
-+//#include <sys/types.h>
-+#include <stddef.h>
- #include <stdint.h>
-
- typedef struct
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/sysconf_nrprocessors.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/sysconf_nrprocessors.patch
deleted file mode 100644
index 04a97e6..0000000
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/sysconf_nrprocessors.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/kexec/crashdump-elf.c
-+++ b/kexec/crashdump-elf.c
-@@ -47,7 +47,8 @@
- if (xen_present())
- nr_cpus = xen_get_nr_phys_cpus();
- else
-- nr_cpus = sysconf(_SC_NPROCESSORS_CONF);
-+ /*nr_cpus = sysconf(_SC_NPROCESSORS_CONF);*/
-+ nr_cpus = 1;
-
- if (nr_cpus < 0) {
- return -1;
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_basename.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_basename.patch
deleted file mode 100644
index 77a1c01..0000000
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_basename.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/kexec/arch/i386/x86-linux-setup.c
-+++ b/kexec/arch/i386/x86-linux-setup.c
-@@ -280,9 +280,9 @@ static int add_edd_entry(struct x86_linu
- memset(edd_info, 0, sizeof(struct edd_info));
-
- /* extract the device number */
-- if (sscanf(basename(sysfs_name), "int13_dev%hhx", &devnum) != 1) {
-+ if (sscanf(strrchr(sysfs_name,'/') + 1, "int13_dev%hhx", &devnum) != 1) {
- fprintf(stderr, "Invalid format of int13_dev dir "
-- "entry: %s\n", basename(sysfs_name));
-+ "entry: %s\n", strrchr(sysfs_name,'/') + 1);
- return -1;
- }
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_kexec_test.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_kexec_test.patch
deleted file mode 100644
index 9500bd6..0000000
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_kexec_test.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -106,8 +106,8 @@
-
- MAN_PAGES:= kexec/kexec.8
- MAN_PAGES+= kdump/kdump.8
--BINARIES_i386:= $(SBINDIR)/kexec $(PKGLIBDIR)/kexec_test
--BINARIES_x86_64:=$(SBINDIR)/kexec $(PKGLIBDIR)/kexec_test
-+BINARIES_i386:= $(SBINDIR)/kexec
-+BINARIES_x86_64:=$(SBINDIR)/kexec
- BINARIES:=$(SBINDIR)/kexec $(SBINDIR)/kdump $(BINARIES_$(ARCH))
-
- TARGETS:=$(BINARIES) $(MAN_PAGES)
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_sys_io.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_sys_io.patch
deleted file mode 100644
index a497c9a..0000000
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_sys_io.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/purgatory/arch/i386/pic.c
-+++ b/purgatory/arch/i386/pic.c
-@@ -16,7 +16,7 @@
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
--#include <sys/io.h>
-+#include "include/arch/io.h"
- #include <purgatory.h>
- #include "purgatory-x86.h"
-
-
---- a/purgatory/arch/i386/vga.c
-+++ b/purgatory/arch/i386/vga.c
-@@ -1,4 +1,4 @@
--#include <sys/io.h>
-+#include "include/arch/io.h"
- #include <purgatory.h>
- #include "purgatory-x86.h"
-
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch
deleted file mode 100644
index cad6951..0000000
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- a/kexec/arch/i386/x86-linux-setup.c
-+++ b/kexec/arch/i386/x86-linux-setup.c
-@@ -176,6 +176,8 @@ static int file_scanf(const char *dir, c
- FILE *fp;
- int retno;
- char filename[PATH_MAX];
-+ long line_size = MAX_LINE;
-+ char *line;
-
- snprintf(filename, PATH_MAX, "%s/%s", dir, file);
- filename[PATH_MAX-1] = 0;
-@@ -186,7 +188,14 @@ static int file_scanf(const char *dir, c
- }
-
- va_start(argptr, scanf_line);
-- retno = vfscanf(fp, scanf_line, argptr);
-+
-+ line = xmalloc(sizeof(line) * line_size);
-+ while(fgets(line, sizeof(line), fp) != NULL ) {
-+ line_size += MAX_LINE;
-+ line = xrealloc(line,line_size);
-+ }
-+ retno = vsscanf(line, scanf_line, argptr);
-+
- va_end(argptr);
-
- fclose(fp);
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0001-force-static-build.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0001-force-static-build.patch
new file mode 100644
index 0000000..4744e7a
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0001-force-static-build.patch
@@ -0,0 +1,25 @@
+From d6af515cfcc8185f423860f80ff28719975b701f Mon Sep 17 00:00:00 2001
+From: OpenEmbedded <oe.patch@oe>
+Date: Wed, 11 Apr 2018 22:51:00 +0200
+Subject: [PATCH] force static build
+
+Upstream-Status: Inappropriate [embedded specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 54c206f..79188d8 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -47,7 +47,7 @@ TARGET_CFLAGS = @TARGET_CFLAGS@
+ # where necessary.
+ CPPFLAGS = @CPPFLAGS@ -I$(srcdir)/include -I$(srcdir)/util_lib/include \
+ -Iinclude/ $($(ARCH)_CPPFLAGS)
+-CFLAGS = @CFLAGS@ -fno-strict-aliasing -Wall -Wstrict-prototypes
++CFLAGS = @CFLAGS@ -static -fno-strict-aliasing -Wall -Wstrict-prototypes
+ PURGATORY_EXTRA_CFLAGS = @PURGATORY_EXTRA_CFLAGS@
+ ASFLAGS = @ASFLAGS@ $($(ARCH)_ASFLAGS)
+ LDFLAGS = @LDFLAGS@
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0002-Adjust-the-order-of-headers-to-fix-build-for-musl.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0002-Adjust-the-order-of-headers-to-fix-build-for-musl.patch
new file mode 100644
index 0000000..1d96a2b
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0002-Adjust-the-order-of-headers-to-fix-build-for-musl.patch
@@ -0,0 +1,29 @@
+From 0976d2d5be1ed44c2324b609c7d16c1e93181c4b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Jul 2017 16:20:08 -0700
+Subject: [PATCH] Adjust the order of headers to fix build for musl
+
+Fixes
+ kexec/ifdown.c:33:16: error: storage size of 'ifc' isn't known
+
+Upstream-Status: Inappropriate [embedded specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ kexec/ifdown.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kexec/ifdown.c b/kexec/ifdown.c
+index 9679ad7..82c6141 100644
+--- a/kexec/ifdown.c
++++ b/kexec/ifdown.c
+@@ -16,8 +16,8 @@ char *v_ifdown = "@(#)ifdown.c 1.11 02-Jun-1998 miquels@cistron.nl";
+ #include <sys/socket.h>
+ #include <sys/time.h>
+
+-#include <net/if.h>
+ #include <netinet/in.h>
++#include <net/if.h>
+
+ /*
+ * First, we find all shaper devices and down them. Then we
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0003-kexec-elf-rel-use-our-elf.h.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0003-kexec-elf-rel-use-our-elf.h.patch
new file mode 100644
index 0000000..ae9e7bb
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0003-kexec-elf-rel-use-our-elf.h.patch
@@ -0,0 +1,92 @@
+From 7f91875d65778154709e4fa0ccb23f3b2a98b0dc Mon Sep 17 00:00:00 2001
+From: OpenEmbedded <oe.patch@oe>
+Date: Wed, 11 Apr 2018 22:51:00 +0200
+Subject: [PATCH] kexec-elf-rel: use our elf.h
+
+Fix:
+
+ kexec-elf-rel.c: In function 'elf_rel_load':
+ kexec-elf-rel.c:386:39: error: 'STT_NOTYPE' undeclared
+
+and similar.
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ kexec/arch/arm/kexec-elf-rel-arm.c | 2 +-
+ kexec/arch/i386/kexec-elf-rel-x86.c | 2 +-
+ kexec/arch/ppc/kexec-elf-rel-ppc.c | 2 +-
+ kexec/arch/ppc64/kexec-elf-rel-ppc64.c | 2 +-
+ kexec/arch/x86_64/kexec-elf-rel-x86_64.c | 2 +-
+ kexec/kexec-elf-rel.c | 2 +-
+ 6 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/kexec/arch/arm/kexec-elf-rel-arm.c b/kexec/arch/arm/kexec-elf-rel-arm.c
+index a939cf4..2551dc0 100644
+--- a/kexec/arch/arm/kexec-elf-rel-arm.c
++++ b/kexec/arch/arm/kexec-elf-rel-arm.c
+@@ -1,5 +1,5 @@
+ #include <stdio.h>
+-#include <elf.h>
++#include "../../../include/elf.h"
+ #include "../../kexec.h"
+ #include "../../kexec-elf.h"
+
+diff --git a/kexec/arch/i386/kexec-elf-rel-x86.c b/kexec/arch/i386/kexec-elf-rel-x86.c
+index 55a214e..e7583d1 100644
+--- a/kexec/arch/i386/kexec-elf-rel-x86.c
++++ b/kexec/arch/i386/kexec-elf-rel-x86.c
+@@ -1,5 +1,5 @@
+ #include <stdio.h>
+-#include <elf.h>
++#include "../../../include/elf.h"
+ #include "../../kexec.h"
+ #include "../../kexec-elf.h"
+
+diff --git a/kexec/arch/ppc/kexec-elf-rel-ppc.c b/kexec/arch/ppc/kexec-elf-rel-ppc.c
+index 1acbd86..a60c66c 100644
+--- a/kexec/arch/ppc/kexec-elf-rel-ppc.c
++++ b/kexec/arch/ppc/kexec-elf-rel-ppc.c
+@@ -1,5 +1,5 @@
+ #include <stdio.h>
+-#include <elf.h>
++#include "../../../include/elf.h"
+ #include "../../kexec.h"
+ #include "../../kexec-elf.h"
+
+diff --git a/kexec/arch/ppc64/kexec-elf-rel-ppc64.c b/kexec/arch/ppc64/kexec-elf-rel-ppc64.c
+index 5f8e3f2..765bf6e 100644
+--- a/kexec/arch/ppc64/kexec-elf-rel-ppc64.c
++++ b/kexec/arch/ppc64/kexec-elf-rel-ppc64.c
+@@ -1,5 +1,5 @@
+ #include <stdio.h>
+-#include <elf.h>
++#include "../../../include/elf.h"
+ #include <string.h>
+ #include "../../kexec.h"
+ #include "../../kexec-elf.h"
+diff --git a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+index 7fdde73..cd5d729 100644
+--- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
++++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+@@ -1,5 +1,5 @@
+ #include <stdio.h>
+-#include <elf.h>
++#include "../../../include/elf.h"
+ #include "../../kexec.h"
+ #include "../../kexec-elf.h"
+
+diff --git a/kexec/kexec-elf-rel.c b/kexec/kexec-elf-rel.c
+index 9a6e63d..a856636 100644
+--- a/kexec/kexec-elf-rel.c
++++ b/kexec/kexec-elf-rel.c
+@@ -4,7 +4,7 @@
+ #include <stdio.h>
+ #include <errno.h>
+ #include <stdlib.h>
+-#include "elf.h"
++#include "../include/elf.h"
+ #include <boot/elf_boot.h>
+ #include "kexec.h"
+ #include "kexec-elf.h"
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0004-kexec-elf-exec.c-replace-with-our-err.h.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0004-kexec-elf-exec.c-replace-with-our-err.h.patch
new file mode 100644
index 0000000..1080e8b
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0004-kexec-elf-exec.c-replace-with-our-err.h.patch
@@ -0,0 +1,30 @@
+From 8b9da93ac9a4ea79ae953f80f6fe6e4f080341f2 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Tue, 17 Apr 2018 10:57:23 +0200
+Subject: [PATCH] kexec-elf-exec.c: replace with our elf.h
+
+Fix
+
+ kexec-elf-exec.c: In function 'elf_exec_load':
+ error: 'EM_AARCH64' undeclared
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ kexec/kexec-elf-exec.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kexec/kexec-elf-exec.c b/kexec/kexec-elf-exec.c
+index a9329ac..0dd0700 100644
+--- a/kexec/kexec-elf-exec.c
++++ b/kexec/kexec-elf-exec.c
+@@ -4,7 +4,7 @@
+ #include <stdio.h>
+ #include <errno.h>
+ #include <stdlib.h>
+-#include "elf.h"
++#include "../include/elf.h"
+ #include <boot/elf_boot.h>
+ #include "kexec.h"
+ #include "kexec-elf.h"
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0005-crashdump-elf.c-work-around-for-sysconf-_SC_NPROCESS.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0005-crashdump-elf.c-work-around-for-sysconf-_SC_NPROCESS.patch
new file mode 100644
index 0000000..4f7506d
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0005-crashdump-elf.c-work-around-for-sysconf-_SC_NPROCESS.patch
@@ -0,0 +1,134 @@
+From 1cfee75d9662c3382bb7cb8f1c952333837598ae Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Wed, 18 Apr 2018 02:21:30 +0200
+Subject: [PATCH] crashdump-elf.c: work around for _SC_NPROCESSORS_CONF
+
+klibc sysconf lacks this so the implementation
+of Linus Torvalds was taken (simplified):
+
+https://sourceware.org/ml/libc-alpha/2011-06/msg00079.html
+
+Have fun reding the thread!
+
+Fix
+
+ crashdump-elf.c:117:21: error: '_SC_NPROCESSORS_CONF' undeclared
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ kexec/crashdump-elf.c | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 92 insertions(+)
+
+diff --git a/kexec/crashdump-elf.c b/kexec/crashdump-elf.c
+index b8bb686..7e6767c 100644
+--- a/kexec/crashdump-elf.c
++++ b/kexec/crashdump-elf.c
+@@ -25,6 +25,94 @@ do { \
+ } while(0)
+ #endif
+
++#ifdef __KLIBC__
++#ifndef KLIBC_SYSFS_CPU_H
++#define KLIBC_SYSFS_CPU_H
++
++
++static int __get_sysfs_cpus(const char *path);
++int __get_nprocs (void);
++int __get_nprocs_conf (void);
++
++
++
++static int __get_sysfs_cpus(const char *path)
++{
++ FILE *file;
++ int nr_cpus = 0;
++ int prev = -1;
++ char *p;
++ char line[10];
++
++
++ file = fopen(path, "r");
++ if (!file)
++ return -1;
++ for (;;) {
++ char sep;
++ int cpu;
++ int n;
++
++ /* int n = fscanf(file, "%u%c", &cpu, &sep); */
++ p = fgets(line, sizeof(line), file);
++ if (p == NULL)
++ return -1;
++ else
++ n = sscanf(line, "%u%c", &cpu, &sep);
++
++ if (n <= 0)
++ break;
++
++ /* EOF == EOLN */
++ if (n == 1)
++ sep = '\n';
++
++ /* Was the previous CPU a range? */
++ if (prev >= 0) {
++ nr_cpus += cpu - prev + 1;
++ prev = -1;
++ } else if (sep == '-')
++ prev = cpu;
++ else
++ nr_cpus++;
++
++ if (sep == '\n')
++ break;
++ }
++ fclose(file);
++ return nr_cpus;
++}
++
++int __get_nprocs ()
++{
++ long ret;
++ static int cached = -1;
++
++ ret = cached;
++ if (ret < 0)
++ {
++ ret = __get_sysfs_cpus("/sys/devices/system/cpu/online");
++ cached = ret;
++ }
++ return ret;
++}
++
++int __get_nprocs_conf ()
++{
++ long ret;
++ static int cached = -1;
++
++ ret = cached;
++ if (ret < 0)
++ {
++ ret = __get_sysfs_cpus("/sys/devices/system/cpu/possible");
++ cached = ret;
++ }
++ return ret;
++}
++#endif
++#endif
++
+ /* Prepares the crash memory headers and stores in supplied buffer. */
+ int FUNC(struct kexec_info *info,
+ struct crash_elf_info *elf_info,
+@@ -46,7 +134,11 @@ int FUNC(struct kexec_info *info,
+ if (xen_present())
+ nr_cpus = xen_get_nr_phys_cpus();
+ else
++#ifndef __KLIBC__
+ nr_cpus = sysconf(_SC_NPROCESSORS_CONF);
++#else
++ nr_cpus = __get_nprocs_conf();
++#endif
+
+ if (nr_cpus < 0) {
+ return -1;
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0006-kexec-syscall.h-work-around-missing-syscall-wrapper.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0006-kexec-syscall.h-work-around-missing-syscall-wrapper.patch
new file mode 100644
index 0000000..3020f76
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0006-kexec-syscall.h-work-around-missing-syscall-wrapper.patch
@@ -0,0 +1,71 @@
+From 45a80fe7d247898d83edfeabe32b9de80a50a6be Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Fri, 31 Aug 2018 11:33:51 +0200
+Subject: [PATCH] kexec-syscall.h: work around missing syscall() wrapper
+
+Fix
+
+ kexec-syscall.h: In function 'kexec_load':
+ kexec-syscall.h:80:16: warning: implicit declaration of function 'syscall'
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ kexec/kexec-syscall.h | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+diff --git a/kexec/kexec-syscall.h b/kexec/kexec-syscall.h
+index 33638c2..204007d 100644
+--- a/kexec/kexec-syscall.h
++++ b/kexec/kexec-syscall.h
+@@ -74,11 +74,16 @@
+
+ struct kexec_segment;
+
++#ifndef __KLIBC__
+ static inline long kexec_load(void *entry, unsigned long nr_segments,
+ struct kexec_segment *segments, unsigned long flags)
+ {
+ return (long) syscall(__NR_kexec_load, entry, nr_segments, segments, flags);
+ }
++#else
++extern long kexec_load(void *entry, unsigned long nr_segments,
++ struct kexec_segment *segments, unsigned long flags);
++#endif
+
+ static inline int is_kexec_file_load_implemented(void) {
+ if (__NR_kexec_file_load != 0xffffffff)
+@@ -86,6 +91,21 @@ static inline int is_kexec_file_load_implemented(void) {
+ return 0;
+ }
+
++#ifdef __KLIBC__
++/* Stub provided by klibc only for the following archs */
++#if defined (__x86_64__) || defined (__powerpc_64__) || defined (__s390x__)
++extern long kexec_file_load(int kernel_fd, int initrd_fd,
++ unsigned long cmdline_len, const char *cmdline_ptr,
++ unsigned long flags);
++#else
++static inline long kexec_file_load(int kernel_fd, int initrd_fd,
++ unsigned long cmdline_len, const char *cmdline_ptr,
++ unsigned long flags)
++{
++ return -1;
++}
++#endif
++#else
+ static inline long kexec_file_load(int kernel_fd, int initrd_fd,
+ unsigned long cmdline_len, const char *cmdline_ptr,
+ unsigned long flags)
+@@ -93,6 +113,7 @@ static inline long kexec_file_load(int kernel_fd, int initrd_fd,
+ return (long) syscall(__NR_kexec_file_load, kernel_fd, initrd_fd,
+ cmdline_len, cmdline_ptr, flags);
+ }
++#endif
+
+ #define KEXEC_ON_CRASH 0x00000001
+ #define KEXEC_PRESERVE_CONTEXT 0x00000002
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0007-kexec.c-add-guard-around-ENOTSUP.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0007-kexec.c-add-guard-around-ENOTSUP.patch
new file mode 100644
index 0000000..3d44683
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0007-kexec.c-add-guard-around-ENOTSUP.patch
@@ -0,0 +1,37 @@
+From e6bd7a1bcfbd3e54efc81fbd7d60d915f9af0632 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Tue, 17 Apr 2018 11:35:14 +0200
+Subject: [PATCH] kexec.c: add guard around ENOTSUP
+
+Fix
+
+ kexec.c: In function 'main':
+ kexec.c:1515:11: error: 'ENOTSUP' undeclared
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ kexec/kexec.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/kexec/kexec.c b/kexec/kexec.c
+index 313d9fe..b5a8a1e 100644
+--- a/kexec/kexec.c
++++ b/kexec/kexec.c
+@@ -1501,6 +1501,7 @@ int main(int argc, char *argv[])
+ */
+ case -EINVAL:
+ case -ENOEXEC:
++#ifndef __KLIBC__
+ /*
+ * ENOTSUP can be unsupported image
+ * type or unsupported PE signature
+@@ -1513,6 +1514,7 @@ int main(int argc, char *argv[])
+ * kernel bug
+ */
+ case -ENOTSUP:
++#endif
+ do_kexec_file_syscall = 0;
+ break;
+ }
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0008-kexec.c-replace-mising-BLKGETSIZE64.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0008-kexec.c-replace-mising-BLKGETSIZE64.patch
new file mode 100644
index 0000000..cfc51cf
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0008-kexec.c-replace-mising-BLKGETSIZE64.patch
@@ -0,0 +1,32 @@
+From 12c7b09c3152f2b3475d081691a26bd1a5633256 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Tue, 17 Apr 2018 11:38:42 +0200
+Subject: [PATCH] kexec.c: replace missing BLKGETSIZE64
+
+Fix
+
+ kexec.c: In function 'slurp_file_generic':
+ kexec.c:564:19: error: 'BLKGETSIZE64' undeclared
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ kexec/kexec.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/kexec/kexec.c b/kexec/kexec.c
+index b5a8a1e..7842f8b 100644
+--- a/kexec/kexec.c
++++ b/kexec/kexec.c
+@@ -54,6 +54,10 @@
+ #define KEXEC_LOADED_PATH "/sys/kernel/kexec_loaded"
+ #define KEXEC_CRASH_LOADED_PATH "/sys/kernel/kexec_crash_loaded"
+
++#ifndef BLKGETSIZE64
++#define BLKGETSIZE64 _IOR(0x12,114,size_t)
++#endif
++
+ unsigned long long mem_min = 0;
+ unsigned long long mem_max = ULONG_MAX;
+ static unsigned long kexec_flags = 0;
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0009-vmcore-dmesg.c-work-around-missing-imaxdiv.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0009-vmcore-dmesg.c-work-around-missing-imaxdiv.patch
new file mode 100644
index 0000000..df980b1
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0009-vmcore-dmesg.c-work-around-missing-imaxdiv.patch
@@ -0,0 +1,57 @@
+From ad598a71ffff6f86462211f252ac0c7b5de53869 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Tue, 17 Apr 2018 13:14:12 +0200
+Subject: [PATCH] vmcore-dmesg.c: work around missing imaxdiv()
+
+Convert to integer arithmetic for klibc.
+
+Fix
+
+ vmcore-dmesg.c: In function 'dump_dmesg_structured':
+ vmcore-dmesg.c:578:2: error: unknown type name 'imaxdiv_t'
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ vmcore-dmesg/vmcore-dmesg.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/vmcore-dmesg/vmcore-dmesg.c b/vmcore-dmesg/vmcore-dmesg.c
+index e340ef4..1b27b71 100644
+--- a/vmcore-dmesg/vmcore-dmesg.c
++++ b/vmcore-dmesg/vmcore-dmesg.c
+@@ -575,8 +575,11 @@ static void dump_dmesg_structured(int fd)
+ ssize_t ret;
+ char *msg;
+ uint16_t text_len;
++#ifndef __KLIBC__
+ imaxdiv_t imaxdiv_sec, imaxdiv_usec;
+-
++#else
++ int64_t imaxdiv_sec, imaxdiv_usec;
++#endif
+ if (!log_buf_vaddr) {
+ fprintf(stderr, "Missing the log_buf symbol\n");
+ exit(60);
+@@ -645,12 +648,20 @@ static void dump_dmesg_structured(int fd)
+ exit(65);
+ }
+ ts_nsec = struct_val_u64(buf, log_offset_ts_nsec);
++#ifndef __KLIBC__
+ imaxdiv_sec = imaxdiv(ts_nsec, 1000000000);
+ imaxdiv_usec = imaxdiv(imaxdiv_sec.rem, 1000);
+
+ len += sprintf(out_buf + len, "[%5llu.%06llu] ",
+ (long long unsigned int)imaxdiv_sec.quot,
+ (long long unsigned int)imaxdiv_usec.quot);
++#else
++ imaxdiv_sec = ts_nsec / 1000000000;
++ imaxdiv_usec = (ts_nsec % 1000000000) / 1000;
++ len += sprintf(out_buf + len, "[%5llu.%06llu] ",
++ (long long unsigned int)imaxdiv_sec,
++ (long long unsigned int)imaxdiv_usec);
++#endif
+
+ /* escape non-printable characters */
+ text_len = struct_val_u16(buf, log_offset_text_len);
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0010-fs2dt.c-work-around-missing-getline.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0010-fs2dt.c-work-around-missing-getline.patch
new file mode 100644
index 0000000..cff1485
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0010-fs2dt.c-work-around-missing-getline.patch
@@ -0,0 +1,47 @@
+From edefda702d906d472ee7a675f6b506d5cfca7ac8 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Tue, 17 Apr 2018 13:48:25 +0200
+Subject: [PATCH] fs2dt.c: work around missing getline()
+
+This simple case can be rewrtten with fgets()
+
+Fix
+
+ fs2dt.c: In function 'dt_copy_old_root_param':
+ fs2dt.c:541:6: warning: implicit declaration of function 'getline'
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ kexec/fs2dt.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/kexec/fs2dt.c b/kexec/fs2dt.c
+index 07a5e2f..d635636 100644
+--- a/kexec/fs2dt.c
++++ b/kexec/fs2dt.c
+@@ -531,6 +531,9 @@ static void dt_copy_old_root_param(void)
+ char *last_cmdline = NULL;
+ char *p, *old_param;
+ size_t len = 0;
++#ifdef __KLIBC__
++ char buf[512];
++#endif
+
+ strcpy(filename, pathname);
+ strcat(filename, "bootargs");
+@@ -538,8 +541,13 @@ static void dt_copy_old_root_param(void)
+ if (!fp)
+ return;
+
++#ifndef __KLIBC__
+ if (getline(&last_cmdline, &len, fp) == -1)
+ die("unable to read %s\n", filename);
++#else
++ last_cmdline = fgets(buf, 200, fp);
++ last_cmdline[strlen(last_cmdline) - 1] = '\0';
++#endif
+
+ p = strstr(last_cmdline, "root=");
+ if (p) {
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch
new file mode 100644
index 0000000..636151b
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch
@@ -0,0 +1,38 @@
+From 9b6866b106eb3ad11115bd591a23e65a68dd847d Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Tue, 21 Aug 2018 16:31:44 +0200
+Subject: [PATCH 11/11] purgatory Makefile: adapt to klcc
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ purgatory/Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/purgatory/Makefile b/purgatory/Makefile
+index 49ce80a..72eefaa 100644
+--- a/purgatory/Makefile
++++ b/purgatory/Makefile
+@@ -47,7 +47,7 @@ purgatory/sha256.o: $(srcdir)/util_lib/sha256.c
+ $(PURGATORY): CC=$(TARGET_CC)
+ $(PURGATORY): CFLAGS+=$(PURGATORY_EXTRA_CFLAGS) \
+ $($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
+- -Os -fno-builtin -ffreestanding \
++ -Os -fno-builtin -ffreestanding -nostdinc \
+ -fno-zero-initialized-in-bss \
+ -fno-PIC -fno-PIE -fno-stack-protector
+
+@@ -59,8 +59,8 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
+ -Iinclude \
+ -I$(shell $(CC) -print-file-name=include)
+ $(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\
+- -Wl,--no-undefined -nostartfiles -nostdlib \
+- -nodefaultlibs -e purgatory_start -r \
++ -Wl,--no-undefined -Wl,-no-pie -Wl,-nostartfiles -Wl,-nostdlib \
++ -Wl,-nodefaultlibs -Wl,--entry=purgatory_start -Wl,-r \
+ -Wl,-Map=$(PURGATORY_MAP)
+
+ $(PURGATORY): $(PURGATORY_OBJS)
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0012-purgatory-string.c-avoid-inclusion-of-string.h.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0012-purgatory-string.c-avoid-inclusion-of-string.h.patch
new file mode 100644
index 0000000..20934da
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0012-purgatory-string.c-avoid-inclusion-of-string.h.patch
@@ -0,0 +1,31 @@
+From 2d2ad16f9328a7cbb3f5b8479ae93eb923a0727f Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Thu, 19 Apr 2018 00:28:14 +0200
+Subject: [PATCH] purgatory/string.c: avoid inclusion of string.h
+
+Fix
+
+ purgatory/string.c:39:5: error: conflicting types for 'memcmp'
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ purgatory/string.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/purgatory/string.c b/purgatory/string.c
+index f06c460..c5e978a 100644
+--- a/purgatory/string.c
++++ b/purgatory/string.c
+@@ -1,5 +1,7 @@
+ #include <stddef.h>
++#ifndef __KLIBC__
+ #include <string.h>
++#endif
+
+ size_t strnlen(const char *s, size_t max)
+ {
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0013-sha256.h-avoid-inclusion-of-sys-types.h.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0013-sha256.h-avoid-inclusion-of-sys-types.h.patch
new file mode 100644
index 0000000..5d1664f
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0013-sha256.h-avoid-inclusion-of-sys-types.h.patch
@@ -0,0 +1,36 @@
+From ec6000b9f287e62cb0746e26cfa4372c7ea528f4 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Thu, 19 Apr 2018 23:26:43 +0200
+Subject: [PATCH] sha256.h: avoid inclusion of sys/types.h
+
+Fix
+
+ purgatory/printf.c:2:10: fatal error: limits.h:
+ No such file or directory
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ util_lib/include/sha256.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/util_lib/include/sha256.h b/util_lib/include/sha256.h
+index 467fb22..40fd3ed 100644
+--- a/util_lib/include/sha256.h
++++ b/util_lib/include/sha256.h
+@@ -1,7 +1,11 @@
+ #ifndef SHA256_H
+ #define SHA256_H
+
++#ifndef __KLIBC__
+ #include <sys/types.h>
++#else
++#include <stddef.h>
++#endif
+ #include <stdint.h>
+
+ typedef struct
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch
new file mode 100644
index 0000000..ad21266
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch
@@ -0,0 +1,152 @@
+From b15e9610b4ab52c381e712241d50dea96d50d873 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Wed, 2 May 2018 23:14:19 +0200
+Subject: [PATCH 14/14] add if_nameindex from musl
+
+Taken from musl, minimal changes.
+klibc lacks struct and func
+
+Fix
+
+ ifdown.o: In function `ifdown':
+ ifdown.c (.text+0x30): undefined reference to `if_nameindex'
+
+While there add klibc-specific guard and include sys/types.h
+to fix :
+
+ /kexec/if_nameindex.c:2:
+ /usr/lib/klibc/include/linux/types.h:22:0:
+ warning: "__bitwise" redefined
+ #define __bitwise __bitwise__
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ kexec/Makefile | 2 +-
+ kexec/if_nameindex.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ kexec/if_nameindex.h | 15 ++++++++++++
+ kexec/ifdown.c | 3 +++
+ 4 files changed, 83 insertions(+), 1 deletion(-)
+ create mode 100644 kexec/if_nameindex.c
+ create mode 100644 kexec/if_nameindex.h
+
+diff --git a/kexec/Makefile b/kexec/Makefile
+index 4db84d8..fb7520b 100644
+--- a/kexec/Makefile
++++ b/kexec/Makefile
+@@ -11,7 +11,7 @@ KEXEC_SRCS = $(KEXEC_SRCS_base)
+ KEXEC_GENERATED_SRCS =
+
+ KEXEC_SRCS_base += kexec/kexec.c
+-KEXEC_SRCS_base += kexec/ifdown.c
++KEXEC_SRCS_base += kexec/if_nameindex kexec/ifdown.c
+ KEXEC_SRCS_base += kexec/kexec-elf.c
+ KEXEC_SRCS_base += kexec/kexec-elf-exec.c
+ KEXEC_SRCS_base += kexec/kexec-elf-core.c
+diff --git a/kexec/if_nameindex.c b/kexec/if_nameindex.c
+new file mode 100644
+index 0000000..e586e41
+--- /dev/null
++++ b/kexec/if_nameindex.c
+@@ -0,0 +1,64 @@
++#define _GNU_SOURCE
++#ifdef __KLIBC__
++#include <sys/types.h>
++#endif
++#include <netinet/in.h>
++#include <net/if.h>
++#include <stdlib.h>
++#include <sys/socket.h>
++#include <sys/ioctl.h>
++#include <errno.h>
++#include <sys/syscall.h>
++#include <stdio.h>
++#ifdef __KLIBC__
++#include "if_nameindex.h"
++#endif
++
++static void *do_nameindex(int s, size_t n)
++{
++ size_t i, len, k;
++ struct ifconf conf;
++ struct if_nameindex *idx;
++
++ idx = malloc(n * (sizeof(struct if_nameindex)+sizeof(struct ifreq)));
++ if (!idx) return 0;
++
++ conf.ifc_buf = (void *)&idx[n];
++ conf.ifc_len = len = n * sizeof(struct ifreq);
++ if (ioctl(s, SIOCGIFCONF, &conf) < 0) {
++ free(idx);
++ return 0;
++ }
++ if (conf.ifc_len == len) {
++ free(idx);
++ return (void *)-1;
++ }
++
++ n = conf.ifc_len / sizeof(struct ifreq);
++ for (i=k=0; i<n; i++) {
++ if (ioctl(s, SIOCGIFINDEX, &conf.ifc_req[i]) < 0) {
++ k++;
++ continue;
++ }
++ idx[i-k].if_index = conf.ifc_req[i].ifr_ifindex;
++ idx[i-k].if_name = conf.ifc_req[i].ifr_name;
++ }
++ idx[i-k].if_name = 0;
++ idx[i-k].if_index = 0;
++
++ return idx;
++}
++
++struct if_nameindex *if_nameindex()
++{
++ size_t n;
++ void *p = 0;
++ int s = socket(AF_UNIX, SOCK_DGRAM, 0);
++ if (s>=0) {
++ for (n=0; (p=do_nameindex(s, n)) == (void *)-1; n++);
++/* __syscall(SYS_close, s); */
++ close(s);
++ }
++ errno = ENOBUFS;
++ return p;
++}
+diff --git a/kexec/if_nameindex.h b/kexec/if_nameindex.h
+new file mode 100644
+index 0000000..1725fbd
+--- /dev/null
++++ b/kexec/if_nameindex.h
+@@ -0,0 +1,15 @@
++#ifndef _NET_IF__NAMEINDEX_H
++#define _NET_IF_NAMEINDEX_H
++
++struct if_nameindex
++{
++ unsigned int if_index;
++ char *if_name;
++};
++
++unsigned int if_nametoindex (const char *);
++char *if_indextoname (unsigned int, char *);
++struct if_nameindex *if_nameindex (void);
++void if_freenameindex (struct if_nameindex *);
++
++#endif
+diff --git a/kexec/ifdown.c b/kexec/ifdown.c
+index 82c6141..cc3ca9f 100644
+--- a/kexec/ifdown.c
++++ b/kexec/ifdown.c
+@@ -18,6 +18,9 @@ char *v_ifdown = "@(#)ifdown.c 1.11 02-Jun-1998 miquels@cistron.nl";
+
+ #include <netinet/in.h>
+ #include <net/if.h>
++#ifdef __KLIBC__
++#include "if_nameindex.h"
++#endif
+
+ /*
+ * First, we find all shaper devices and down them. Then we
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch
new file mode 100644
index 0000000..0b88b94
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch
@@ -0,0 +1,29 @@
+From 3294266c6a875c5009065c1ae5d0b86200c4147c Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sun, 29 Apr 2018 00:52:31 +0200
+Subject: [PATCH 6/6] vmcore-dmesg: fix warning
+
+ # define __bitwise
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ vmcore-dmesg/vmcore-dmesg.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/vmcore-dmesg/vmcore-dmesg.c b/vmcore-dmesg/vmcore-dmesg.c
+index e340ef4..91e4789 100644
+--- a/vmcore-dmesg/vmcore-dmesg.c
++++ b/vmcore-dmesg/vmcore-dmesg.c
+@@ -2,6 +2,9 @@
+ #define _GNU_SOURCE
+ #define _LARGEFILE_SOURCE 1
+ #define _FILE_OFFSET_BITS 64
++#ifdef __KLIBC__
++#include <sys/types.h>
++#endif
+ #include <endian.h>
+ #include <byteswap.h>
+ #include <stdio.h>
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch
new file mode 100644
index 0000000..24be4dd
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch
@@ -0,0 +1,34 @@
+From 6f69f489a442b3a192e4c08748ee8c4d31c75dae Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sun, 29 Apr 2018 00:46:16 +0200
+Subject: [PATCH 5/6] arm64: crashdump-arm64.c: fix warning
+
+ from ../git/kexec/kexec.h:6,
+ from ../git/kexec/arch/arm64/crashdump-arm64.c:18:
+/tmp/build/tmp-musl/work/aarch64-oe-linux-musl/kexec-tools-klibc/0.6+gitAUTOINC+
+0481e9ed61-r0/recipe-sysroot/usr/lib/klibc/include/klibc/compiler.h:144:0: warni
+ng: "__bitwise" redefined
+ # define __bitwise
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ kexec/arch/arm64/crashdump-arm64.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/kexec/arch/arm64/crashdump-arm64.c b/kexec/arch/arm64/crashdump-arm64.c
+index 4fd7aa8..890d88f 100644
+--- a/kexec/arch/arm64/crashdump-arm64.c
++++ b/kexec/arch/arm64/crashdump-arm64.c
+@@ -13,6 +13,9 @@
+ #define _GNU_SOURCE
+
+ #include <errno.h>
++#ifdef __KLIBC__
++#include <sys/types.h>
++#endif
+ #include <linux/elf.h>
+
+ #include "kexec.h"
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch
new file mode 100644
index 0000000..b22ac3a
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch
@@ -0,0 +1,61 @@
+From 10afeecd10499fbd64b2c68d3b076c6906df441f Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Wed, 5 Sep 2018 17:07:48 +0200
+Subject: [PATCH] kexec-arm64.c: workaround for getrandom() syscall
+
+The syscall was added to OE's klibc.
+Fix
+
+| ../git/kexec/arch/arm64/kexec-arm64.c:19:10: fatal error: syscall.h: No such file or directory
+| #include <syscall.h>
+
+and
+
+| ../git/kexec/arch/arm64/kexec-arm64.c: In function 'setup_2nd_dtb':
+| ../git/kexec/arch/arm64/kexec-arm64.c:499:12: warning: implicit declaration of function 'getrandom'; did you mean 'srandom'? [-Wimplicit-function-declaration]
+| result = getrandom(&fdt_val64,
+
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ kexec/arch/arm64/kexec-arm64.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/kexec/arch/arm64/kexec-arm64.c b/kexec/arch/arm64/kexec-arm64.c
+index 7a12479..8a7f5c5 100644
+--- a/kexec/arch/arm64/kexec-arm64.c
++++ b/kexec/arch/arm64/kexec-arm64.c
+@@ -16,7 +16,11 @@
+ #include <elf.h>
+
+ #include <unistd.h>
++
++#ifndef __KLIBC__
+ #include <syscall.h>
++#endif
++
+ #include <errno.h>
+ #include <linux/random.h>
+
+@@ -487,10 +491,16 @@ static int setup_2nd_dtb(struct dtb *dtb, char *command_line, int on_crash)
+ * have a valid random seed to pass to the
+ * secondary kernel.
+ */
++#ifndef __KLIBC__
+ result = syscall(SYS_getrandom, &fdt_val64,
+ sizeof(fdt_val64),
+ GRND_NONBLOCK);
+-
++#else
++ extern ssize_t getrandom(void *, size_t, unsigned int);
++ result = getrandom(&fdt_val64,
++ sizeof(fdt_val64),
++ GRND_NONBLOCK);
++#endif
+ if(result == -1) {
+ dbgprintf("%s: Reading random bytes failed.\n",
+ __func__);
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-image-header.h-add-missing-le64toh.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-image-header.h-add-missing-le64toh.patch
new file mode 100644
index 0000000..7decbac
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-image-header.h-add-missing-le64toh.patch
@@ -0,0 +1,40 @@
+From af7d06a753a4c377b7ffe587da67a6ba56048bea Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Thu, 19 Apr 2018 10:47:17 +0200
+Subject: [PATCH 2/2] kexec/arm64: image-header.h: add macro for le64toh
+
+Fix
+
+ kexec-arm64.c:(.text+0x370): undefined reference to `le64toh'
+ kexec-arm64.c:(.text+0x380): undefined reference to `le64toh'
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ kexec/arch/arm64/image-header.h | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/kexec/arch/arm64/image-header.h b/kexec/arch/arm64/image-header.h
+index 158d411..10ed2d6 100644
+--- a/kexec/arch/arm64/image-header.h
++++ b/kexec/arch/arm64/image-header.h
+@@ -8,6 +8,15 @@
+ #include <endian.h>
+ #include <stdint.h>
+
++#ifdef __KLIBC__
++#if __BYTE_ORDER == __LITTLE_ENDIAN
++#define le64toh(x) (x)
++#endif
++#if __BYTE_ORDER == __BIG_ENDIAN
++#define le64toh(x) __bswap_64(x)
++#endif
++#endif
++
+ /**
+ * struct arm64_image_header - arm64 kernel image header.
+ *
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch
new file mode 100644
index 0000000..c6afdfa
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch
@@ -0,0 +1,44 @@
+From 06b0d43c20f7c6200902d4c6db3d33416877f71c Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sun, 26 Aug 2018 21:40:06 +0200
+Subject: [PATCH 1/1] arm- backport from oe-core
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ kexec/arch/arm/crashdump-arm.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/kexec/arch/arm/crashdump-arm.c b/kexec/arch/arm/crashdump-arm.c
+index 2530b29..af2600d 100644
+--- a/kexec/arch/arm/crashdump-arm.c
++++ b/kexec/arch/arm/crashdump-arm.c
+@@ -240,6 +240,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)
+ void *buf;
+ int err;
+ int last_ranges;
++ unsigned short align_bit_shift = 20;
+
+ /*
+ * First fetch all the memory (RAM) ranges that we are going to pass to
+@@ -281,6 +282,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)
+
+ /* for support LPAE enabled kernel*/
+ elf_info.class = ELFCLASS64;
++ align_bit_shift = 21;
+
+ err = crash_create_elf64_headers(info, &elf_info,
+ usablemem_rgns.ranges,
+@@ -302,8 +304,9 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)
+ * 1MB) so that available memory passed in kernel command line will be
+ * aligned to 1MB. This is because kernel create_mapping() wants memory
+ * regions to be aligned to SECTION_SIZE.
++ * The SECTION_SIZE of LPAE kernel is '1UL << 21' defined in pgtable-3level.h
+ */
+- elfcorehdr = add_buffer_phys_virt(info, buf, bufsz, bufsz, 1 << 20,
++ elfcorehdr = add_buffer_phys_virt(info, buf, bufsz, bufsz, 1 << align_bit_shift,
+ crash_kernel_mem.start,
+ crash_kernel_mem.end, -1, 0);
+
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump.patch
new file mode 100644
index 0000000..9596263
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump.patch
@@ -0,0 +1,31 @@
+From 6dae4752a53973c152b3e91e8a4ca74a486dae8b Mon Sep 17 00:00:00 2001
+From: OpenEmbedded <oe.patch@oe>
+Date: Wed, 11 Apr 2018 22:51:00 +0200
+Subject: [PATCH] use our elf.h header
+
+Fix
+
+ kexec/arch/arm/crashdump-arm.c:70:13: error: 'EM_ARM' undeclared here
+ (not in a function); did you mean 'EM_860'?
+ .machine = EM_ARM,
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ kexec/arch/arm/crashdump-arm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kexec/arch/arm/crashdump-arm.c b/kexec/arch/arm/crashdump-arm.c
+index daa4788..2530b29 100644
+--- a/kexec/arch/arm/crashdump-arm.c
++++ b/kexec/arch/arm/crashdump-arm.c
+@@ -21,7 +21,7 @@
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+ #include <limits.h>
+-#include <elf.h>
++#include "../../../include/elf.h"
+ #include <errno.h>
+ #include <stdio.h>
+ #include <stdlib.h>
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/kexec-x32.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/kexec-x32.patch
new file mode 100644
index 0000000..26d18eb
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/kexec-x32.patch
@@ -0,0 +1,88 @@
+x86_64: Add support to build kexec-tools with x32 ABI
+
+Summary of changes,
+
+configure.ac: Add test for detect x32 ABI.
+purgatory/arch/x86_64/Makefile: Not use mcmodel large when
+ x32 ABI is set.
+kexec/arch/x86_64/kexec-elf-rel-x86_64.c: When x32 ABI is set
+ use ELFCLASS32 instead of ELFCLASS64.
+kexec/kexec-syscall.h: Add correct syscall number for x32 ABI.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
+Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
+
+---
+ configure.ac | 9 +++++++++
+ kexec/arch/x86_64/kexec-elf-rel-x86_64.c | 4 ++++
+ kexec/kexec-syscall.h | 4 ++++
+ purgatory/arch/x86_64/Makefile | 4 +++-
+ 4 files changed, 20 insertions(+), 1 deletion(-)
+
+Index: kexec-tools-2.0.10/configure.ac
+===================================================================
+--- kexec-tools-2.0.10.orig/configure.ac
++++ kexec-tools-2.0.10/configure.ac
+@@ -56,6 +56,15 @@ case $target_cpu in
+ ;;
+ ia64|x86_64|alpha|m68k )
+ ARCH="$target_cpu"
++
++ dnl ---Test for x32 ABI in x86_64
++ if test "x$ARCH" = "xx86_64" ; then
++ AC_EGREP_CPP(x32_test,
++ [#if defined(__x86_64__) && defined (__ILP32__)
++ x32_test
++ #endif
++ ], SUBARCH='x32', SUBARCH='64')
++ fi
+ ;;
+ * )
+ AC_MSG_ERROR([unsupported architecture $target_cpu])
+Index: kexec-tools-2.0.10/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+===================================================================
+--- kexec-tools-2.0.10.orig/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
++++ kexec-tools-2.0.10/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+@@ -8,7 +8,11 @@ int machine_verify_elf_rel(struct mem_eh
+ if (ehdr->ei_data != ELFDATA2LSB) {
+ return 0;
+ }
++#ifdef __ILP32__
++ if (ehdr->ei_class != ELFCLASS32) {
++#else
+ if (ehdr->ei_class != ELFCLASS64) {
++#endif
+ return 0;
+ }
+ if (ehdr->e_machine != EM_X86_64) {
+Index: kexec-tools-2.0.10/kexec/kexec-syscall.h
+===================================================================
+--- kexec-tools-2.0.10.orig/kexec/kexec-syscall.h
++++ kexec-tools-2.0.10/kexec/kexec-syscall.h
+@@ -31,8 +31,12 @@
+ #define __NR_kexec_load 268
+ #endif
+ #ifdef __x86_64__
++#ifdef __ILP32__
++#define __NR_kexec_load 528
++#else
+ #define __NR_kexec_load 246
+ #endif
++#endif
+ #ifdef __s390x__
+ #define __NR_kexec_load 277
+ #endif
+Index: kexec-tools-2.0.10/purgatory/arch/x86_64/Makefile
+===================================================================
+--- kexec-tools-2.0.10.orig/purgatory/arch/x86_64/Makefile
++++ kexec-tools-2.0.10/purgatory/arch/x86_64/Makefile
+@@ -23,4 +23,6 @@ x86_64_PURGATORY_SRCS += purgatory/arch/
+ x86_64_PURGATORY_SRCS += purgatory/arch/i386/vga.c
+ x86_64_PURGATORY_SRCS += purgatory/arch/i386/pic.c
+
+-x86_64_PURGATORY_EXTRA_CFLAGS = -mcmodel=large
++ifeq ($(SUBARCH),64)
++ x86_64_PURGATORY_EXTRA_CFLAGS = -mcmodel=large
++endif
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc-purgatory-Makefile-remove-unknown-flags.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc-purgatory-Makefile-remove-unknown-flags.patch
new file mode 100644
index 0000000..c3b2071
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc-purgatory-Makefile-remove-unknown-flags.patch
@@ -0,0 +1,34 @@
+From 709dfe457c07aa0275f3da14634cbce5cf1029dc Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Thu, 19 Apr 2018 19:26:53 +0200
+Subject: [PATCH 3/3] powerpc/purgatory: Makefile: remove unknown flags for
+ powerpc
+
+Fix
+
+ powerpc-oe-linux-musl-ld: unrecognised emulation mode: soft-float
+ Supported emulations: elf32ppclinux elf32ppc elf32ppcsim elf32lppclinux
+ elf32lppc elf32lppcsim elf64ppc elf64lppc
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ purgatory/arch/ppc/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/purgatory/arch/ppc/Makefile b/purgatory/arch/ppc/Makefile
+index c85c58a..cd44a16 100644
+--- a/purgatory/arch/ppc/Makefile
++++ b/purgatory/arch/ppc/Makefile
+@@ -7,7 +7,7 @@ ppc_PURGATORY_SRCS += purgatory/arch/ppc/misc.S
+ ppc_PURGATORY_SRCS += purgatory/arch/ppc/purgatory-ppc.c
+ ppc_PURGATORY_SRCS += purgatory/arch/ppc/console-ppc.c
+
+-ppc_PURGATORY_EXTRA_CFLAGS += -msoft-float
++#ppc_PURGATORY_EXTRA_CFLAGS += -msoft-float
+
+ dist += purgatory/arch/ppc/Makefile $(ppc_PURGATORY_SRCS) \
+ purgatory/arch/ppc/purgatory-ppc.h purgatory/arch/ppc/ppc_asm.h
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc_change-the-memory-size-limit.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc_change-the-memory-size-limit.patch
new file mode 100644
index 0000000..dc97d93
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc_change-the-memory-size-limit.patch
@@ -0,0 +1,35 @@
+From b19b68eab567aa534cf8dec79fe18e3dc0e14043 Mon Sep 17 00:00:00 2001
+From: Quanyang Wang <quanyang.wang@windriver.com>
+Date: Tue, 16 Jun 2015 12:59:57 +0800
+Subject: [PATCH] powerpc: change the memory size limit
+
+When run "kexec" in powerpc board, the kexec has a limit that
+the kernel text and bss size must be less than 24M. But now
+some kernel size exceed the limit. So we need to change the limit,
+else will get the error log as below:
+
+my_load:669: do
+Could not find a free area of memory of 0x12400 bytes...
+Could not find a free area of memory of 0x13000 bytes...
+locate_hole failed
+
+Upstream-Status: Pending
+
+Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
+---
+ kexec/arch/ppc/kexec-ppc.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: kexec-tools-2.0.10/kexec/arch/ppc/kexec-ppc.h
+===================================================================
+--- kexec-tools-2.0.10.orig/kexec/arch/ppc/kexec-ppc.h
++++ kexec-tools-2.0.10/kexec/arch/ppc/kexec-ppc.h
+@@ -42,7 +42,7 @@ void dol_ppc_usage(void);
+ * During inital setup the kernel does not map the whole memory but a part of
+ * it. On Book-E that is 64MiB, 601 24MiB or 256MiB (if possible).
+ */
+-#define KERNEL_ACCESS_TOP (24 * 1024 * 1024)
++#define KERNEL_ACCESS_TOP (36 * 1024 * 1024)
+
+ /* boot block version 17 as defined by the linux kernel */
+ struct bootblock {
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_basename.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_basename.patch
new file mode 100644
index 0000000..0d0ed23
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_basename.patch
@@ -0,0 +1,30 @@
+From 5f47c30759684cea9a7a409646686c1a358b78ac Mon Sep 17 00:00:00 2001
+From: OpenEmbedded <oe.patch@oe>
+Date: Wed, 11 Apr 2018 22:51:05 +0200
+Subject: [PATCH] replace basename() with sscanf()
+
+klibc lacks basename()
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ kexec/arch/i386/x86-linux-setup.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c
+index 6c7d260..7850083 100644
+--- a/kexec/arch/i386/x86-linux-setup.c
++++ b/kexec/arch/i386/x86-linux-setup.c
+@@ -304,9 +304,9 @@ static int add_edd_entry(struct x86_linux_param_header *real_mode,
+ memset(edd_info, 0, sizeof(struct edd_info));
+
+ /* extract the device number */
+- if (sscanf(basename(sysfs_name), "int13_dev%hhx", &devnum) != 1) {
++ if (sscanf(strrchr(sysfs_name,'/') + 1, "int13_dev%hhx", &devnum) != 1) {
+ fprintf(stderr, "Invalid format of int13_dev dir "
+- "entry: %s\n", basename(sysfs_name));
++ "entry: %s\n", strrchr(sysfs_name,'/') + 1);
+ return -1;
+ }
+
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_kexec_test.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_kexec_test.patch
new file mode 100644
index 0000000..1c471f5
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_kexec_test.patch
@@ -0,0 +1,30 @@
+From 9de68ec5af8db2eff352f12da28145fe5e96244d Mon Sep 17 00:00:00 2001
+From: OpenEmbedded <oe.patch@oe>
+Date: Wed, 11 Apr 2018 22:51:05 +0200
+Subject: [PATCH] do not build test
+
+The purpose of this recipe is to build the smallest
+binaries. kexek klibc-static for armv5 is around 86 KiB
+
+Upstream-Status: Inappropriate [embedded specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ Makefile.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index fb01134..440730d 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -173,8 +173,8 @@ PSRCS:=$(foreach s, $(SRCS), $(PACKAGE_NAME)-$(PACKAGE_VERSION)/$(s))
+ PGSRCS:=$(foreach s, $(GENERATED_SRCS), $(PACKAGE_NAME)-$(PACKAGE_VERSION)/$(s))
+
+ MAN_PAGES:=$(KEXEC_MANPAGE) $(VMCORE_DMESG_MANPAGE)
+-BINARIES_i386:=$(KEXEC_TEST)
+-BINARIES_x86_64:=$(KEXEC_TEST)
++#BINARIES_i386:=$(KEXEC_TEST)
++#BINARIES_x86_64:=$(KEXEC_TEST)
+ BINARIES:=$(KEXEC) $(VMCORE_DMESG) $(BINARIES_$(ARCH))
+
+ UNINSTALL_KDUMP = $(sbindir)/kdump
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_sys_io.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_sys_io.patch
new file mode 100644
index 0000000..493f298
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_sys_io.patch
@@ -0,0 +1,36 @@
+From a992ee014efacdc98d5658be9930dcab0eaadfd7 Mon Sep 17 00:00:00 2001
+From: OpenEmbedded <oe.patch@oe>
+Date: Wed, 11 Apr 2018 22:51:04 +0200
+Subject: [PATCH] i386: replace with our io.h
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ purgatory/arch/i386/pic.c | 2 +-
+ purgatory/arch/i386/vga.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/purgatory/arch/i386/pic.c b/purgatory/arch/i386/pic.c
+index c23c459..c5f7046 100644
+--- a/purgatory/arch/i386/pic.c
++++ b/purgatory/arch/i386/pic.c
+@@ -16,7 +16,7 @@
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+-#include <sys/io.h>
++#include "include/arch/io.h"
+ #include <purgatory.h>
+ #include "purgatory-x86.h"
+
+diff --git a/purgatory/arch/i386/vga.c b/purgatory/arch/i386/vga.c
+index e65976c..d079d96 100644
+--- a/purgatory/arch/i386/vga.c
++++ b/purgatory/arch/i386/vga.c
+@@ -1,4 +1,4 @@
+-#include <sys/io.h>
++#include "include/arch/io.h"
+ #include <purgatory.h>
+ #include "purgatory-x86.h"
+
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_vfscanf.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_vfscanf.patch
new file mode 100644
index 0000000..2f0ad2e
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_vfscanf.patch
@@ -0,0 +1,43 @@
+From 423c3f6f41fe04f4512e2a97a130f072d53dd4cf Mon Sep 17 00:00:00 2001
+From: OpenEmbedded <oe.patch@oe>
+Date: Wed, 11 Apr 2018 22:51:05 +0200
+Subject: [PATCH] x86-linux-setup.c: replace vfscanf() with vsscanf()
+
+klibc lacks vfscanf()
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ kexec/arch/i386/x86-linux-setup.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c
+index 7850083..e190356 100644
+--- a/kexec/arch/i386/x86-linux-setup.c
++++ b/kexec/arch/i386/x86-linux-setup.c
+@@ -200,6 +200,8 @@ static int file_scanf(const char *dir, const char *file, const char *scanf_line,
+ FILE *fp;
+ int retno;
+ char filename[PATH_MAX];
++ long line_size = MAX_LINE;
++ char *line;
+
+ snprintf(filename, PATH_MAX, "%s/%s", dir, file);
+ filename[PATH_MAX-1] = 0;
+@@ -210,7 +212,14 @@ static int file_scanf(const char *dir, const char *file, const char *scanf_line,
+ }
+
+ va_start(argptr, scanf_line);
+- retno = vfscanf(fp, scanf_line, argptr);
++
++ line = xmalloc(sizeof(line) * line_size);
++ while(fgets(line, sizeof(line), fp) != NULL ) {
++ line_size += MAX_LINE;
++ line = xrealloc(line,line_size);
++ }
++ retno = vsscanf(line, scanf_line, argptr);
++
+ va_end(argptr);
+
+ fclose(fp);
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb
deleted file mode 100644
index 2e27033..0000000
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-# the binaries are statically linked against klibc
-SUMMARY = "Kexec tools, statically compiled against klibc"
-AUTHOR = "Eric Biederman"
-HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kexec/"
-SECTION = "kernel/userland"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \
- file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09"
-DEPENDS = "zlib xz"
-
-PR = "r1"
-
-inherit klibc autotools
-
-FILESPATH =. "${FILE_DIRNAME}/kexec-tools-${PV}:"
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz"
-
-SRC_URI += " \
- file://kexec-elf-rel.patch \
- file://kexec-syscall.patch \
- file://cflags_static.patch \
- file://ifdown_errno.patch \
- file://purgatory_flags.patch \
- file://purgatory_string.patch \
- file://sha256.patch \
- file://sysconf_nrprocessors.patch \
- file://fix-out-of-tree-build.patch \
- file://0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch \
- "
-
-SRC_URI[md5sum] = "92eff93b097475b7767f8c98df84408a"
-SRC_URI[sha256sum] = "09e180ff36dee087182cdc939ba6c6917b6adbb5fc12d589f31fd3659b6471f2"
-
-SRC_URI_append_arm = " file://arm_crashdump.patch"
-SRC_URI_append_powerpc = " file://ppc__lshrdi3.patch"
-SRC_URI_append_x86 = " file://x86_sys_io.patch file://x86_basename.patch file://x86_vfscanf.patch file://x86_kexec_test.patch"
-SRC_URI_append_x86-64 = " file://x86_sys_io.patch file://x86_basename.patch file://x86_vfscanf.patch file://x86_kexec_test.patch"
-
-S = "${WORKDIR}/kexec-tools-${PV}"
-
-EXTRA_OECONF += "--without-zlib --without-lzma --without-xen"
-
-CFLAGS += "-I${STAGING_DIR_HOST}${libdir}/klibc/include -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits32"
-CFLAGS_x86-64 += "-I${STAGING_DIR_HOST}${libdir}/klibc/include -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits64"
-
-do_compile_prepend() {
- # Remove the prepackaged config.h from the source tree as it overrides
- # the same file generated by configure and placed in the build tree
- rm -f ${S}/include/config.h
-
- # Remove the '*.d' file to make sure the recompile is OK
- for dep in `find ${B} -type f -name '*.d'`; do
- dep_no_d="`echo $dep | sed 's#.d$##'`"
- # Remove file.d when there is a file.o
- if [ -f "$dep_no_d.o" ]; then
- rm -f $dep
- fi
- done
-}
-
-PACKAGES =+ "kexec-klibc kdump-klibc"
-
-FILES_kexec-klibc = "${sbindir}/kexec"
-FILES_kdump-klibc = "${sbindir}/kdump"
-
-INSANE_SKIP_${PN} = "arch"
-
-COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|powerpc.*|mips.*)-(linux|freebsd.*)'
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
new file mode 100644
index 0000000..25f5da4
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
@@ -0,0 +1,94 @@
+# the binaries are statically linked against klibc
+SUMMARY = "Kexec tools, statically compiled against klibc"
+AUTHOR = "Eric Biederman"
+HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kexec/"
+SECTION = "kernel/userland"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \
+ file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09"
+PV = "2.0.17+git${SRCPV}"
+
+DEPENDS = "zlib xz"
+
+inherit klibc autotools
+
+SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git"
+SRCREV = "b9de21ef51a7ceab7122a707c188602eae22c4ee"
+
+BUILD_PATCHES = "file://0001-force-static-build.patch \
+ file://0002-Adjust-the-order-of-headers-to-fix-build-for-musl.patch"
+
+KLIBC_PATCHES += " \
+ file://0003-kexec-elf-rel-use-our-elf.h.patch \
+ file://0004-kexec-elf-exec.c-replace-with-our-err.h.patch \
+ file://0005-crashdump-elf.c-work-around-for-sysconf-_SC_NPROCESS.patch \
+ file://0006-kexec-syscall.h-work-around-missing-syscall-wrapper.patch \
+ file://0007-kexec.c-add-guard-around-ENOTSUP.patch \
+ file://0008-kexec.c-replace-mising-BLKGETSIZE64.patch \
+ file://0009-vmcore-dmesg.c-work-around-missing-imaxdiv.patch \
+ file://0010-fs2dt.c-work-around-missing-getline.patch \
+ file://0011-purgatory-Makefile-adapt-to-klcc.patch \
+ file://0012-purgatory-string.c-avoid-inclusion-of-string.h.patch \
+ file://0013-sha256.h-avoid-inclusion-of-sys-types.h.patch \
+ file://0014-add-if_nameindex-from-musl.patch \
+ file://0015-vmcore-dmesg-fix-warning.patch"
+
+WARNING_FIXES = ""
+FROM_OE_CORE = "file://arm_crashdump-fix-buffer-align.patch \
+ file://powerpc_change-the-memory-size-limit.patch \
+ file://kexec-x32.patch"
+
+SRC_URI += "${BUILD_PATCHES} ${KLIBC_PATCHES} ${WARNING_FIXES} ${FROM_OE_CORE}"
+
+SRC_URI_append_arm = " file://arm_crashdump.patch"
+
+SRC_URI_append_x86 = " file://x86_sys_io.patch file://x86_basename.patch \
+ file://x86_vfscanf.patch file://x86_kexec_test.patch"
+
+SRC_URI_append_x86-64 = " file://x86_sys_io.patch file://x86_basename.patch \
+ file://x86_vfscanf.patch file://x86_kexec_test.patch"
+
+SRC_URI_append_aarch64 = " file://arm64_kexec-image-header.h-add-missing-le64toh.patch \
+ file://arm64-crashdump-arm64.c-fix-warning.patch \
+ file://arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch"
+
+SRC_URI_append_powerpc = " file://powerpc-purgatory-Makefile-remove-unknown-flags.patch"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += "--without-zlib --without-lzma --without-xen"
+
+# fix purgatory/printf.c:2:10: fatal error: limits.h: No such file or directory
+# fix include/limits.h:42:10: fatal error: bitsize/limits.h: No such file or directory
+COMMON_CFLAGS += "-O2 -I${STAGING_DIR_HOST}${libdir}/klibc/include -I${S}/purgatory/include"
+CFLAGS_x86_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits32"
+CFLAGS_x86-64_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits64"
+CFLAGS_arm_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits32"
+CFLAGS_aarch64_append = "${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits64"
+CFLAGS_mips_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits32"
+CFLAGS_mips64_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits64"
+CFLAGS_powerpc_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits32"
+
+do_compile_prepend() {
+ # Remove the prepackaged config.h from the source tree as it overrides
+ # the same file generated by configure and placed in the build tree
+ rm -f ${S}/include/config.h
+
+ # Remove the '*.d' file to make sure the recompile is OK
+ for dep in `find ${B} -type f -name '*.d'`; do
+ dep_no_d="`echo $dep | sed 's#.d$##'`"
+ # Remove file.d when there is a file.o
+ if [ -f "$dep_no_d.o" ]; then
+ rm -f $dep
+ fi
+ done
+}
+
+PACKAGES =+ "kexec-klibc vmcore-dmesg-klibc"
+
+FILES_kexec-klibc = "${sbindir}/kexec"
+FILES_vmcore-dmesg-klibc = "${sbindir}/vmcore-dmesg"
+
+INSANE_SKIP_${PN} = "arch"
+
+COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|powerpc.*|mips.*)-(linux|freebsd.*)'
diff --git a/meta-openembedded/meta-multimedia/README b/meta-openembedded/meta-multimedia/README
index 20f4fb8..050392d 100644
--- a/meta-openembedded/meta-multimedia/README
+++ b/meta-openembedded/meta-multimedia/README
@@ -1,19 +1,19 @@
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: master
+branch: thud
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
layers: meta-oe
-branch: master
+branch: thud
revision: HEAD
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-multimedia]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-multimedia][thud]' in the subject'
When sending single patches, please use something like:
-'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-multimedia][PATCH
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-multimedia][thud][PATCH
You are encouraged to fork the mirror on github https://github.com/openembedded/meta-oe/ to share your patches, this is preferred for patch sets consisting of more than one patch. Other services like gitorious, repo.or.cz or self hosted setups are of course accepted as well, 'git fetch <remote>' works the same on all of them. We recommend github because it is free, easy to use, has been proven to be reliable and has a really good web GUI.
-Layer maintainer: Andreas Müller <schnitzeltony@googlemail.com>
+Thud maintainer: Armin Kuster <akuster808@gmail.com>
diff --git a/meta-openembedded/meta-multimedia/conf/layer.conf b/meta-openembedded/meta-multimedia/conf/layer.conf
index a1dfed4..e2a7701 100644
--- a/meta-openembedded/meta-multimedia/conf/layer.conf
+++ b/meta-openembedded/meta-multimedia/conf/layer.conf
@@ -27,6 +27,6 @@
# cause compatibility issues with other layers
LAYERVERSION_multimedia-layer = "1"
-LAYERDEPENDS_multimedia-layer = "core openembedded-layer"
+LAYERDEPENDS_multimedia-layer = "core"
-LAYERSERIES_COMPAT_multimedia-layer = "sumo"
+LAYERSERIES_COMPAT_multimedia-layer = "thud"
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb
index f13f5ce..21331ff 100644
--- a/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb
+++ b/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb
@@ -8,7 +8,7 @@
LICENSE = "LGPL-2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-DEPENDS = "libxml2 glib-2.0 gssdp gupnp gupnp-av gupnp-dlna gstreamer1.0 gstreamer1.0-plugins-base ossp-uuid libgee libsoup-2.4 libmediaart-2.0 libunistring sqlite3 intltool-native"
+DEPENDS = "libxml2 glib-2.0 gssdp gupnp gupnp-av gupnp-dlna gstreamer1.0 gstreamer1.0-plugins-base libgee libsoup-2.4 libmediaart-2.0 libunistring sqlite3 intltool-native"
RDEPENDS_${PN} = "gstreamer1.0-plugins-base-playback shared-mime-info"
RRECOMMENDS_${PN} = "rygel-plugin-media-export"
diff --git a/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch b/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch
new file mode 100644
index 0000000..d3d89e3
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch
@@ -0,0 +1,26 @@
+From a372fe467495a674ad6244b67e83dfbfa8455f51 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 11 Aug 2018 13:54:32 -0700
+Subject: [PATCH] include sys/sysmacros.h for major/minor definitions
+
+csctapi/ifd_db2com.c:27: undefined reference to `minor'
+collect2: error: ld returned 1 exit status
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ globals.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/globals.h b/globals.h
+index bd12244..9e10225 100644
+--- a/globals.h
++++ b/globals.h
+@@ -36,6 +36,7 @@
+ #include <termios.h>
+ #include <inttypes.h>
+ #include <sys/utsname.h>
++#include <sys/sysmacros.h>
+
+ /*
+ * The following hack is taken from Linux: include/linux/kconfig.h
diff --git a/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam/respect-cflags.patch b/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam/respect-cflags.patch
deleted file mode 100644
index 179d04a..0000000
--- a/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam/respect-cflags.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Upstream-Status: Backport
-http://www.streamboard.tv/oscam/changeset/10068
-http://www.streamboard.tv/oscam/changeset/10070
-
-Index: /CMakeLists.txt
-===================================================================
---- a/CMakeLists.txt (revision 10067)
-+++ b/CMakeLists.txt (revision 10068)
-@@ -625,8 +625,8 @@
- list(GET GCC_VERSION_COMPONENTS 0 GCC_MINOR)
- add_definitions ("-W -Wall ")
-- set (CMAKE_C_FLAGS "-Wall -O2")
-- set (CMAKE_CXX_FLAGS "-Wall -O2")
-- set (CMAKE_C_FLAGS_DEBUG "-O0 -ggdb")
-- set (CMAKE_CXX_FLAGS_DEBUG "-O0 -ggdb")
-+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O2")
-+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O2")
-+ set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -ggdb")
-+ set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -ggdb")
- endif (CMAKE_COMPILER_IS_GNUCC)
- # some optimisations
-Index: /csctapi/CMakeLists.txt
-===================================================================
---- a/csctapi/CMakeLists.txt (revision 10069)
-+++ b/csctapi/CMakeLists.txt (revision 10070)
-@@ -6,8 +6,8 @@
- list(GET GCC_VERSION_COMPONENTS 0 GCC_MINOR)
- add_definitions ("-W -Wall ")
-- set (CMAKE_C_FLAGS "-Wall -O2")
-- set (CMAKE_CXX_FLAGS "-Wall -O2")
-- set (CMAKE_C_FLAGS_DEBUG "-O0 -ggdb")
-- set (CMAKE_CXX_FLAGS_DEBUG "-O0 -ggdb")
-+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O2")
-+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O2")
-+ set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -ggdb")
-+ set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -ggdb")
- endif (CMAKE_COMPILER_IS_GNUCC)
- # Mac extra removes to avoid ranlib warnings in some situations
diff --git a/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb b/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb
index cac517f..a8aec11 100644
--- a/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb
+++ b/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb
@@ -4,12 +4,12 @@
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "libusb1 openssl pcsc-lite"
+DEPENDS = "libusb1 openssl10 pcsc-lite"
SRC_URI = "svn://www.streamboard.tv/svn/oscam;module=trunk;protocol=http \
- file://respect-cflags.patch \
-"
-SRCREV = "9164"
+ file://0001-include-sys-sysmacros.h-for-major-minor-definitions.patch \
+ "
+SRCREV = "11431"
PV = "1.10+${SRCPV}"
S = "${WORKDIR}/trunk"
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/jsonschemabuilder-native.bb b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/jsonschemabuilder-native.bb
deleted file mode 100644
index fdb7699..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/jsonschemabuilder-native.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Kodi Media Center"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://JsonSchemaBuilder.cpp;beginline=2;endline=18;md5=1f67721215c03f66545390f6e45b99c7"
-
-SRCREV = "661dd08d221f5b2bf509a696a6aca5ee7d45bb27"
-
-PV = "17.1+gitr${SRCPV}"
-SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Krypton"
-
-inherit autotools-brokensep gettext native
-
-S = "${WORKDIR}/git/tools/depends/native/JsonSchemaBuilder/src"
-
-do_compile_prepend() {
- for i in $(find . -name "Makefile") ; do
- sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i
- done
-
- for i in $(find . -name "*.mak*" -o -name "Makefile") ; do
- sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i
- done
-}
-
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-Fix-file_Emu-on-musl.patch b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-Fix-file_Emu-on-musl.patch
deleted file mode 100644
index 20b6377..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-Fix-file_Emu-on-musl.patch
+++ /dev/null
@@ -1,496 +0,0 @@
-From 7ae4fcf290ffb0b76374efafeaee575456ac9023 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 6 Nov 2016 23:08:27 -0800
-Subject: [PATCH 01/10] Fix file_Emu on musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- xbmc/cores/DllLoader/exports/emu_msvcrt.cpp | 28 ++--
- xbmc/cores/DllLoader/exports/emu_msvcrt.h | 2 +-
- .../DllLoader/exports/util/EmuFileWrapper.cpp | 172 +++++++++------------
- xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h | 27 ++--
- xbmc/cores/DllLoader/exports/wrapper.c | 4 +-
- 5 files changed, 99 insertions(+), 134 deletions(-)
-
-diff --git a/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp b/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp
-index ab14942..a39014a 100644
---- a/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp
-+++ b/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp
-@@ -51,6 +51,7 @@
- #include <fcntl.h>
- #include <time.h>
- #include <signal.h>
-+#include <paths.h>
- #ifdef TARGET_POSIX
- #include "PlatformDefs.h" // for __stat64
- #include "XFileUtils.h"
-@@ -476,13 +477,10 @@ extern "C"
- EmuFileObject* o = g_emuFileWrapper.GetFileObjectByDescriptor(fd);
- if (o)
- {
-- if(!o->used)
-- return NULL;
--
- int nmode = convert_fmode(mode);
- if( (o->mode & nmode) != nmode)
- CLog::Log(LOGWARNING, "dll_fdopen - mode 0x%x differs from fd mode 0x%x", nmode, o->mode);
-- return &o->file_emu;
-+ return g_emuFileWrapper.GetStreamByFileObject(o);
- }
- else if (!IS_STD_DESCRIPTOR(fd))
- {
-@@ -545,7 +543,7 @@ extern "C"
- return -1;
- }
- object->mode = iMode;
-- return g_emuFileWrapper.GetDescriptorByStream(&object->file_emu);
-+ return g_emuFileWrapper.GetDescriptorByFileObject(object);
- }
- delete pFile;
- return -1;
-@@ -1214,8 +1212,8 @@ extern "C"
- {
- FILE* file = NULL;
- #if defined(TARGET_LINUX) && !defined(TARGET_ANDROID)
-- if (strcmp(filename, MOUNTED) == 0
-- || strcmp(filename, MNTTAB) == 0)
-+ if (strcmp(filename, _PATH_MOUNTED) == 0
-+ || strcmp(filename, _PATH_MNTTAB) == 0)
- {
- CLog::Log(LOGINFO, "%s - something opened the mount file, let's hope it knows what it's doing", __FUNCTION__);
- return fopen(filename, mode);
-@@ -1622,7 +1620,7 @@ extern "C"
- int ret;
-
- ret = dll_fgetpos64(stream, &tmpPos);
--#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
-+#if !defined(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
- *pos = (fpos_t)tmpPos;
- #else
- pos->__pos = (off_t)tmpPos.__pos;
-@@ -1635,8 +1633,9 @@ extern "C"
- CFile* pFile = g_emuFileWrapper.GetFileXbmcByStream(stream);
- if (pFile != NULL)
- {
--#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
-- *pos = pFile->GetPosition();
-+#if !defined(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
-+ uint64_t *ppos = (uint64_t *) pos;
-+ *ppos = pFile->GetPosition();
- #else
- pos->__pos = pFile->GetPosition();
- #endif
-@@ -1657,8 +1656,9 @@ extern "C"
- int fd = g_emuFileWrapper.GetDescriptorByStream(stream);
- if (fd >= 0)
- {
--#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
-- if (dll_lseeki64(fd, *pos, SEEK_SET) >= 0)
-+#if !defined(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
-+ const uint64_t *ppos = (const uint64_t *) pos;
-+ if (dll_lseeki64(fd, *ppos, SEEK_SET) >= 0)
- #else
- if (dll_lseeki64(fd, (__off64_t)pos->__pos, SEEK_SET) >= 0)
- #endif
-@@ -1674,7 +1674,7 @@ extern "C"
- {
- // it might be something else than a file, or the file is not emulated
- // let the operating system handle it
--#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
-+#if !defined(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
- return fsetpos(stream, pos);
- #else
- return fsetpos64(stream, pos);
-@@ -1690,7 +1690,7 @@ extern "C"
- if (fd >= 0)
- {
- fpos64_t tmpPos;
--#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
-+#if !defined(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
- tmpPos= *pos;
- #else
- tmpPos.__pos = (off64_t)(pos->__pos);
-diff --git a/xbmc/cores/DllLoader/exports/emu_msvcrt.h b/xbmc/cores/DllLoader/exports/emu_msvcrt.h
-index 3294d9a..c7c483f 100644
---- a/xbmc/cores/DllLoader/exports/emu_msvcrt.h
-+++ b/xbmc/cores/DllLoader/exports/emu_msvcrt.h
-@@ -24,7 +24,7 @@
- #define _onexit_t void*
- #endif
-
--#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
-+#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) || !defined(__GLIBC__)
- typedef off_t __off_t;
- typedef int64_t off64_t;
- typedef off64_t __off64_t;
-diff --git a/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.cpp b/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.cpp
-index 8927d41..e9a2ab0 100644
---- a/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.cpp
-+++ b/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.cpp
-@@ -52,16 +52,7 @@ constexpr bool isValidFilePtr(FILE* f)
- }
- CEmuFileWrapper::CEmuFileWrapper()
- {
-- // since we always use dlls we might just initialize it directly
-- for (int i = 0; i < MAX_EMULATED_FILES; i++)
-- {
-- memset(&m_files[i], 0, sizeof(EmuFileObject));
-- m_files[i].used = false;
--#if defined(TARGET_WINDOWS) && (_MSC_VER >= 1900)
-- m_files[i].file_emu._Placeholder = new kodi_iobuf();
--#endif
-- FileDescriptor(m_files[i].file_emu)->_file = -1;
-- }
-+ memset(m_files, 0, sizeof(m_files));
- }
-
- CEmuFileWrapper::~CEmuFileWrapper()
-@@ -73,29 +64,7 @@ void CEmuFileWrapper::CleanUp()
- {
- CSingleLock lock(m_criticalSection);
- for (int i = 0; i < MAX_EMULATED_FILES; i++)
-- {
-- if (m_files[i].used)
-- {
-- m_files[i].file_xbmc->Close();
-- delete m_files[i].file_xbmc;
--
-- if (m_files[i].file_lock)
-- {
-- delete m_files[i].file_lock;
-- m_files[i].file_lock = nullptr;
-- }
--#if !defined(TARGET_WINDOWS)
-- //Don't memset on Windows as it overwrites our pointer
-- memset(&m_files[i], 0, sizeof(EmuFileObject));
--#endif
-- m_files[i].used = false;
-- FileDescriptor(m_files[i].file_emu)->_file = -1;
-- }
--#if defined(TARGET_WINDOWS) && (_MSC_VER >= 1900)
-- delete static_cast<kodi_iobuf*>(m_files[i].file_emu._Placeholder);
-- m_files[i].file_emu._Placeholder = nullptr;
--#endif
-- }
-+ UnRegisterFileObject(&m_files[i], true);
- }
-
- EmuFileObject* CEmuFileWrapper::RegisterFileObject(XFILE::CFile* pFile)
-@@ -106,13 +75,11 @@ EmuFileObject* CEmuFileWrapper::RegisterFileObject(XFILE::CFile* pFile)
-
- for (int i = 0; i < MAX_EMULATED_FILES; i++)
- {
-- if (!m_files[i].used)
-+ if (!m_files[i].file_xbmc)
- {
- // found a free location
- object = &m_files[i];
-- object->used = true;
- object->file_xbmc = pFile;
-- FileDescriptor(object->file_emu)->_file = (i + FILE_WRAPPER_OFFSET);
- object->file_lock = new CCriticalSection();
- break;
- }
-@@ -121,82 +88,74 @@ EmuFileObject* CEmuFileWrapper::RegisterFileObject(XFILE::CFile* pFile)
- return object;
- }
-
--void CEmuFileWrapper::UnRegisterFileObjectByDescriptor(int fd)
-+void CEmuFileWrapper::UnRegisterFileObject(EmuFileObject *object, bool free_file)
-+
- {
-- int i = fd - FILE_WRAPPER_OFFSET;
-- if (! (i >= 0 && i < MAX_EMULATED_FILES))
-- return;
-+ if (object && object->file_xbmc)
-+ {
-+ if (object->file_xbmc && free_file)
-+ {
-+ object->file_xbmc->Close();
-+ delete object->file_xbmc;
-+ }
-+ if (object->file_lock)
-+ {
-+ delete object->file_lock;
-+ }
-
-- if (!m_files[i].used)
-- return;
-+ memset(object, 0, sizeof(*object));
-+ }
-+}
-
-+void CEmuFileWrapper::UnRegisterFileObjectByDescriptor(int fd)
-+{
- CSingleLock lock(m_criticalSection);
--
-- // we assume the emulated function alreay deleted the CFile object
-- if (m_files[i].file_lock)
-- {
-- delete m_files[i].file_lock;
-- m_files[i].file_lock = nullptr;
-- }
--#if !defined(TARGET_WINDOWS)
-- //Don't memset on Windows as it overwrites our pointer
-- memset(&m_files[i], 0, sizeof(EmuFileObject));
--#endif
-- m_files[i].used = false;
-- FileDescriptor(m_files[i].file_emu)->_file = -1;
-+ UnRegisterFileObject(GetFileObjectByDescriptor(fd), false);
- }
-
- void CEmuFileWrapper::UnRegisterFileObjectByStream(FILE* stream)
- {
- if (isValidFilePtr(stream))
- {
-- return UnRegisterFileObjectByDescriptor(FileDescriptor(*stream)->_file);
-+ CSingleLock lock(m_criticalSection);
-+ UnRegisterFileObject(GetFileObjectByStream(stream), false);
- }
- }
-
- void CEmuFileWrapper::LockFileObjectByDescriptor(int fd)
- {
-- int i = fd - FILE_WRAPPER_OFFSET;
-- if (i >= 0 && i < MAX_EMULATED_FILES)
-+ EmuFileObject* object = GetFileObjectByDescriptor(fd);
-+ if (object && object->file_xbmc)
- {
-- if (m_files[i].used)
-- {
-- m_files[i].file_lock->lock();
-- }
-+ object->file_lock->lock();
- }
- }
-
- bool CEmuFileWrapper::TryLockFileObjectByDescriptor(int fd)
- {
-- int i = fd - FILE_WRAPPER_OFFSET;
-- if (i >= 0 && i < MAX_EMULATED_FILES)
-+ EmuFileObject* object = GetFileObjectByDescriptor(fd);
-+ if (object && object->file_xbmc)
- {
-- if (m_files[i].used)
-- {
-- return m_files[i].file_lock->try_lock();
-- }
-+ return object->file_lock->try_lock();
- }
- return false;
- }
-
- void CEmuFileWrapper::UnlockFileObjectByDescriptor(int fd)
- {
-- int i = fd - FILE_WRAPPER_OFFSET;
-- if (i >= 0 && i < MAX_EMULATED_FILES)
-+ EmuFileObject* object = GetFileObjectByDescriptor(fd);
-+ if (object && object->file_xbmc)
- {
-- if (m_files[i].used)
-- {
-- m_files[i].file_lock->unlock();
-- }
-+ object->file_lock->unlock();
- }
- }
-
- EmuFileObject* CEmuFileWrapper::GetFileObjectByDescriptor(int fd)
- {
-- int i = fd - FILE_WRAPPER_OFFSET;
-+ int i = fd - 0x7000000;
- if (i >= 0 && i < MAX_EMULATED_FILES)
- {
-- if (m_files[i].used)
-+ if (m_files[i].file_xbmc)
- {
- return &m_files[i];
- }
-@@ -204,20 +163,39 @@ EmuFileObject* CEmuFileWrapper::GetFileObjectByDescriptor(int fd)
- return nullptr;
- }
-
-+int CEmuFileWrapper::GetDescriptorByFileObject(EmuFileObject *object)
-+{
-+ int i = object - m_files;
-+ if (i >= 0 && i < MAX_EMULATED_FILES)
-+ {
-+ return 0x7000000 + i;
-+ }
-+
-+ return -1;
-+}
-+
- EmuFileObject* CEmuFileWrapper::GetFileObjectByStream(FILE* stream)
- {
-- if (isValidFilePtr(stream))
-+ EmuFileObject *object = (EmuFileObject*) stream;
-+ if (object >= &m_files[0] || object < &m_files[MAX_EMULATED_FILES])
- {
-- return GetFileObjectByDescriptor(FileDescriptor(*stream)->_file);
-+ if (object->file_xbmc)
-+ {
-+ return object;
-+ }
- }
-+ return NULL;
-+}
-
-- return nullptr;
-+FILE* CEmuFileWrapper::GetStreamByFileObject(EmuFileObject *object)
-+{
-+ return (FILE*) object;
- }
-
- XFILE::CFile* CEmuFileWrapper::GetFileXbmcByDescriptor(int fd)
- {
- auto object = GetFileObjectByDescriptor(fd);
-- if (object != nullptr && object->used)
-+ if (object != nullptr)
- {
- return object->file_xbmc;
- }
-@@ -228,8 +206,9 @@ XFILE::CFile* CEmuFileWrapper::GetFileXbmcByStream(FILE* stream)
- {
- if (isValidFilePtr(stream))
- {
-- auto object = GetFileObjectByDescriptor(FileDescriptor(*stream)->_file);
-- if (object != nullptr && object->used)
-+ EmuFileObject* object = GetFileObjectByStream(stream);
-+ if (object != NULL)
-+
- {
- return object->file_xbmc;
- }
-@@ -239,32 +218,21 @@ XFILE::CFile* CEmuFileWrapper::GetFileXbmcByStream(FILE* stream)
-
- int CEmuFileWrapper::GetDescriptorByStream(FILE* stream)
- {
-- if (isValidFilePtr(stream))
-- {
-- int i = FileDescriptor(*stream)->_file - FILE_WRAPPER_OFFSET;
-- if (i >= 0 && i < MAX_EMULATED_FILES)
-- {
-- return i + FILE_WRAPPER_OFFSET;
-- }
-- }
-- return -1;
-+ return GetDescriptorByFileObject(GetFileObjectByStream(stream));
- }
-
- FILE* CEmuFileWrapper::GetStreamByDescriptor(int fd)
- {
-- auto object = GetFileObjectByDescriptor(fd);
-- if (object != nullptr && object->used)
-- {
-- return &object->file_emu;
-- }
-- return nullptr;
-+ return GetStreamByFileObject(GetFileObjectByDescriptor(fd));
-+}
-+
-+bool CEmuFileWrapper::DescriptorIsEmulatedFile(int fd)
-+{
-+ return GetFileObjectByDescriptor(fd) != NULL;
- }
-
- bool CEmuFileWrapper::StreamIsEmulatedFile(FILE* stream)
- {
-- if (isValidFilePtr(stream))
-- {
-- return DescriptorIsEmulatedFile(FileDescriptor(*stream)->_file);
-- }
-- return false;
-+ return GetFileObjectByStream(stream) != NULL;
- }
-+
-diff --git a/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h b/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h
-index 786fa85..311a5cf 100644
---- a/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h
-+++ b/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h
-@@ -25,14 +25,14 @@
- #include "system.h"
- #include "threads/CriticalSection.h"
-
--#if defined(TARGET_POSIX) && !defined(TARGET_DARWIN) && !defined(TARGET_FREEBSD) && !defined(TARGET_ANDROID) && !defined(__UCLIBC__)
--#define _file _fileno
--#elif defined(__UCLIBC__)
--#define _file __filedes
--#endif
-+//#if defined(TARGET_POSIX) && !defined(TARGET_DARWIN) && !defined(TARGET_FREEBSD) && !defined(TARGET_ANDROID) && !defined(__UCLIBC__)
-+//#define _file _fileno
-+//#elif defined(__UCLIBC__)
-+//#define _file __filedes
-+//#endif
-
- #define MAX_EMULATED_FILES 50
--#define FILE_WRAPPER_OFFSET 0x00000200
-+//#define FILE_WRAPPER_OFFSET 0x00000200
-
- namespace XFILE
- {
-@@ -47,12 +47,9 @@ struct kodi_iobuf {
-
- typedef struct stEmuFileObject
- {
-- FILE file_emu;
- XFILE::CFile* file_xbmc;
- CCriticalSection *file_lock;
- int mode;
-- //Stick this last to avoid 3-7 bytes of padding
-- bool used;
- } EmuFileObject;
-
- class CEmuFileWrapper
-@@ -67,22 +64,22 @@ public:
- void CleanUp();
-
- EmuFileObject* RegisterFileObject(XFILE::CFile* pFile);
-+ void UnRegisterFileObject(EmuFileObject*, bool free_file);
- void UnRegisterFileObjectByDescriptor(int fd);
- void UnRegisterFileObjectByStream(FILE* stream);
- void LockFileObjectByDescriptor(int fd);
- bool TryLockFileObjectByDescriptor(int fd);
- void UnlockFileObjectByDescriptor(int fd);
- EmuFileObject* GetFileObjectByDescriptor(int fd);
-+ int GetDescriptorByFileObject(EmuFileObject*);
- EmuFileObject* GetFileObjectByStream(FILE* stream);
-+ FILE* GetStreamByFileObject(EmuFileObject*);
- XFILE::CFile* GetFileXbmcByDescriptor(int fd);
- XFILE::CFile* GetFileXbmcByStream(FILE* stream);
-- static int GetDescriptorByStream(FILE* stream);
-+ int GetDescriptorByStream(FILE* stream);
- FILE* GetStreamByDescriptor(int fd);
-- static constexpr bool DescriptorIsEmulatedFile(int fd)
-- {
-- return fd >= FILE_WRAPPER_OFFSET && fd < FILE_WRAPPER_OFFSET + MAX_EMULATED_FILES;
-- }
-- static bool StreamIsEmulatedFile(FILE* stream);
-+ bool DescriptorIsEmulatedFile(int fd);
-+ bool StreamIsEmulatedFile(FILE* stream);
- private:
- EmuFileObject m_files[MAX_EMULATED_FILES];
- CCriticalSection m_criticalSection;
-diff --git a/xbmc/cores/DllLoader/exports/wrapper.c b/xbmc/cores/DllLoader/exports/wrapper.c
-index e363662..07825f3 100644
---- a/xbmc/cores/DllLoader/exports/wrapper.c
-+++ b/xbmc/cores/DllLoader/exports/wrapper.c
-@@ -39,13 +39,13 @@
- #endif
- #include <dlfcn.h>
-
--#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
-+#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) || !defined(__GLIBC__)
- typedef off_t __off_t;
- typedef int64_t off64_t;
- typedef off64_t __off64_t;
- typedef fpos_t fpos64_t;
- #define stat64 stat
--#if defined(TARGET_DARWIN) || defined(TARGET_ANDROID)
-+#if defined(TARGET_DARWIN) || defined(TARGET_ANDROID) || !defined(__GLIBC__)
- #define _G_va_list va_list
- #endif
- #endif
---
-2.10.2
-
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-change-order-of-detecting-libegl-and-libgles2.patch b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-change-order-of-detecting-libegl-and-libgles2.patch
deleted file mode 100644
index 12a6c06..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-change-order-of-detecting-libegl-and-libgles2.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 21524598110e7a55113205dda4bc1a6d5987111c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 9 May 2017 06:41:33 +0000
-Subject: [PATCH] change order of detecting libegl and libgles2
-
-This actually helps building it on rpi/userland
-where libEGL depends on few functions from libGLESv2
-see
-https://www.raspberrypi.org/forums/viewtopic.php?t=7090
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index b9e4240..1ca0297 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -951,8 +951,8 @@ if test "$use_gles" = "yes"; then
- AC_MSG_RESULT(== WARNING: OpenGLES support is assumed.)
- LIBS="$LIBS -lEGL -lGLESv2 -lbcm_host -lvcos -lvchiq_arm -lmmal -lmmal_core -lmmal_util -lvcsm"
- else
-- AC_CHECK_LIB([EGL], [main],, AC_MSG_ERROR($missing_library))
- AC_CHECK_LIB([GLESv2],[main],, AC_MSG_ERROR($missing_library))
-+ AC_CHECK_LIB([EGL], [main],, AC_MSG_ERROR($missing_library))
- fi
- fi
- else
---
-1.9.1
-
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-Remove-FILEWRAP.patch b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-Remove-FILEWRAP.patch
deleted file mode 100644
index 463a5c4..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-Remove-FILEWRAP.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From ad1977a358319093b305df6d84be6db676ef1e4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 6 Nov 2016 22:35:16 -0800
-Subject: [PATCH 02/10] Remove FILEWRAP
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- xbmc/utils/posix/PosixInterfaceForCLog.cpp | 6 +-----
- xbmc/utils/posix/PosixInterfaceForCLog.h | 4 +---
- 2 files changed, 2 insertions(+), 8 deletions(-)
-
-Index: git/xbmc/utils/posix/PosixInterfaceForCLog.cpp
-===================================================================
---- git.orig/xbmc/utils/posix/PosixInterfaceForCLog.cpp
-+++ git/xbmc/utils/posix/PosixInterfaceForCLog.cpp
-@@ -29,10 +29,6 @@
- #include "platform/android/activity/XBMCApp.h"
- #endif // TARGET_ANDROID
-
--struct FILEWRAP : public FILE
--{};
--
--
- CPosixInterfaceForCLog::CPosixInterfaceForCLog() :
- m_file(NULL)
- { }
-@@ -52,7 +48,7 @@ bool CPosixInterfaceForCLog::OpenLogFile
- (void)remove(backupOldLogToFilename.c_str()); // if it's failed, try to continue
- (void)rename(logFilename.c_str(), backupOldLogToFilename.c_str()); // if it's failed, try to continue
-
-- m_file = (FILEWRAP*)fopen(logFilename.c_str(), "wb");
-+ m_file = fopen(logFilename.c_str(), "wb");
- if (!m_file)
- return false; // error, can't open log file
-
-Index: git/xbmc/utils/posix/PosixInterfaceForCLog.h
-===================================================================
---- git.orig/xbmc/utils/posix/PosixInterfaceForCLog.h
-+++ git/xbmc/utils/posix/PosixInterfaceForCLog.h
-@@ -34,5 +34,5 @@ public:
- void PrintDebugString(const std::string& debugString);
- static void GetCurrentLocalTime(int& hour, int& minute, int& second, double& millisecond);
- private:
-- FILEWRAP* m_file;
-+ FILE* m_file;
- };
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch
deleted file mode 100644
index 49217a4..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From a91a3ba229dc5903935f7dd98dd03bbb4fe5ac1f Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Sat, 6 Feb 2016 15:43:01 +0100
-Subject: [PATCH 03/10] configure: don't try to run stuff to find tinyxml
-
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 34fe643..3132dc1 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1043,7 +1043,7 @@ fi
- AC_LANG_PUSH([C++])
- PKG_CHECK_MODULES([TINYXML], [tinyxml >= 2.6.2],
- [INCLUDES="$INCLUDES $TINYXML_CFLAGS"; LIBS="$LIBS $TINYXML_LIBS"],
-- [AC_RUN_IFELSE(
-+ [AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE([[
- #include <stdlib.h>
- #include <tinyxml.h>
---
-2.10.2
-
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-handle-SIGTERM.patch b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-handle-SIGTERM.patch
deleted file mode 100644
index dc37439..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-handle-SIGTERM.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-From 49046c1685465a5486fe9e1c04b99c585aab6862 Mon Sep 17 00:00:00 2001
-From: Stefan Saraev <stefan@saraev.ca>
-Date: Wed, 2 Nov 2016 11:28:34 -0700
-Subject: [PATCH 04/10] handle SIGTERM
-
-0. CApplication::Stop cant be trusted. (deadlocks crashes and boo)
-
-so, when shutdown/reboot is requested:
-
-1. save an exit code (for CEC...)
-2. call CPowerManager::{Reboot,PowerDown}
-3. ... then systemd sends TERM and waits xx seconds before sending KILL
-4. CApplication::Stop has xx seconds to save guisettings.xml and boo
-5. CEC thread has xx seconds to switch off after it received OnQuit
-6. addons / pvrmanager / cec / everything else.. are free to deadlock / crash now, we dont care
-7. KILL
-
-Signed-off-by: Stefan Saraev <stefan@saraev.ca>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- xbmc/Application.cpp | 17 ++++++++++++-----
- xbmc/Application.h | 1 +
- xbmc/XBApplicationEx.cpp | 1 +
- xbmc/XBApplicationEx.h | 1 +
- xbmc/platform/posix/main.cpp | 15 +++++++++++++++
- 5 files changed, 30 insertions(+), 5 deletions(-)
-
-diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
-index 100a2f2..fda892d 100644
---- a/xbmc/Application.cpp
-+++ b/xbmc/Application.cpp
-@@ -2426,12 +2426,12 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
- switch (pMsg->dwMessage)
- {
- case TMSG_POWERDOWN:
-- Stop(EXITCODE_POWERDOWN);
-+ SetExitCode(EXITCODE_POWERDOWN);
- g_powerManager.Powerdown();
- break;
-
- case TMSG_QUIT:
-- Stop(EXITCODE_QUIT);
-+ SetExitCode(EXITCODE_QUIT);
- break;
-
- case TMSG_SHUTDOWN:
-@@ -2452,12 +2452,13 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
-
- case TMSG_RESTART:
- case TMSG_RESET:
-- Stop(EXITCODE_REBOOT);
-+ SetExitCode(EXITCODE_REBOOT);
- g_powerManager.Reboot();
- break;
-
- case TMSG_RESTARTAPP:
- #if defined(TARGET_WINDOWS) || defined(TARGET_LINUX)
-+ SetExitCode(EXITCODE_RESTARTAPP);
- Stop(EXITCODE_RESTARTAPP);
- #endif
- break;
-@@ -2881,6 +2882,13 @@ bool CApplication::Cleanup()
- }
- }
-
-+void CApplication::SetExitCode(int exitCode)
-+{
-+ // save it for CEC
-+ m_ExitCode = exitCode;
-+ m_ExitCodeSet = true;
-+}
-+
- void CApplication::Stop(int exitCode)
- {
- try
-@@ -2888,7 +2896,7 @@ void CApplication::Stop(int exitCode)
- m_frameMoveGuard.unlock();
-
- CVariant vExitCode(CVariant::VariantTypeObject);
-- vExitCode["exitcode"] = exitCode;
-+ vExitCode["exitcode"] = m_ExitCode;
- CAnnouncementManager::GetInstance().Announce(System, "xbmc", "OnQuit", vExitCode);
-
- // Abort any active screensaver
-@@ -2922,7 +2930,6 @@ void CApplication::Stop(int exitCode)
-
- m_bStop = true;
- m_AppFocused = false;
-- m_ExitCode = exitCode;
- CLog::Log(LOGNOTICE, "stop all");
-
- // cancel any jobs from the jobmanager
-diff --git a/xbmc/Application.h b/xbmc/Application.h
-index a9d9bf5..e536deb 100644
---- a/xbmc/Application.h
-+++ b/xbmc/Application.h
-@@ -159,6 +159,7 @@ public:
- void StopPVRManager();
- void ReinitPVRManager();
- bool IsCurrentThread() const;
-+ void SetExitCode(int exitCode);
- void Stop(int exitCode);
- void RestartApp();
- void UnloadSkin(bool forReload = false);
-diff --git a/xbmc/XBApplicationEx.cpp b/xbmc/XBApplicationEx.cpp
-index 035aed2..34102f5 100644
---- a/xbmc/XBApplicationEx.cpp
-+++ b/xbmc/XBApplicationEx.cpp
-@@ -46,6 +46,7 @@ CXBApplicationEx::CXBApplicationEx()
- m_bStop = false;
- m_AppFocused = true;
- m_ExitCode = EXITCODE_QUIT;
-+ m_ExitCodeSet = false;
- m_renderGUI = false;
- }
-
-diff --git a/xbmc/XBApplicationEx.h b/xbmc/XBApplicationEx.h
-index 9bc14fa..f696b89 100644
---- a/xbmc/XBApplicationEx.h
-+++ b/xbmc/XBApplicationEx.h
-@@ -42,6 +42,7 @@ public:
- // Variables for timing
- bool m_bStop;
- int m_ExitCode;
-+ bool m_ExitCodeSet;
- bool m_AppFocused;
- bool m_renderGUI;
-
-diff --git a/xbmc/platform/posix/main.cpp b/xbmc/platform/posix/main.cpp
-index a8b64e5..3d80032 100644
---- a/xbmc/platform/posix/main.cpp
-+++ b/xbmc/platform/posix/main.cpp
-@@ -41,12 +41,27 @@
- #include "input/linux/LIRC.h"
- #endif
- #include "platform/XbmcContext.h"
-+#include "Application.h"
-+
-+void xbmc_term_handler(int signum)
-+{
-+ CLog::Log(LOGINFO, "Received SIGTERM...");
-+ if (!g_application.m_ExitCodeSet)
-+ g_application.SetExitCode(EXITCODE_RESTARTAPP);
-+ g_application.Stop(EXITCODE_RESTARTAPP);
-+}
-
- #ifdef __cplusplus
- extern "C"
- #endif
- int main(int argc, char* argv[])
- {
-+ // SIGTERM handler
-+ struct sigaction action;
-+ memset(&action, 0, sizeof(struct sigaction));
-+ action.sa_handler = xbmc_term_handler;
-+ sigaction(SIGTERM, &action, NULL);
-+
- // set up some xbmc specific relationships
- XBMC::Context context;
-
---
-2.10.2
-
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0005-add-support-to-read-frequency-output-if-using-intel-.patch b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0005-add-support-to-read-frequency-output-if-using-intel-.patch
deleted file mode 100644
index ee10c40..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0005-add-support-to-read-frequency-output-if-using-intel-.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 4d1368d20f04216aec9551d9845b305f96a21015 Mon Sep 17 00:00:00 2001
-From: Stephan Raue <stephan@openelec.tv>
-Date: Mon, 1 Sep 2014 03:16:37 +0200
-Subject: [PATCH 05/10] add support to read frequency output if using intel's
- pstate driver
-
----
- xbmc/utils/CPUInfo.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/xbmc/utils/CPUInfo.cpp b/xbmc/utils/CPUInfo.cpp
-index 5e2ebbd..fd04d5a 100644
---- a/xbmc/utils/CPUInfo.cpp
-+++ b/xbmc/utils/CPUInfo.cpp
-@@ -274,6 +274,8 @@ CCPUInfo::CCPUInfo(void)
- m_fProcTemperature = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); // On Raspberry PIs
-
- m_fCPUFreq = fopen ("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq", "r");
-+ if (m_fCPUFreq == NULL)
-+ m_fCPUFreq = fopen ("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq", "r");
- if (!m_fCPUFreq)
- {
- m_cpuInfoForFreq = true;
---
-2.10.2
-
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0006-Disable-DVD-support.patch b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0006-Disable-DVD-support.patch
deleted file mode 100644
index 08dfac3..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0006-Disable-DVD-support.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 3d3ec391038c6ee73897a7fab753b11b589de1ed Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 2 Nov 2016 12:39:20 -0700
-Subject: [PATCH 06/10] Disable DVD support
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile.in | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index 0d70e9b..050c7ca 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -10,8 +10,7 @@ EC_DIRS= \
- tools/EventClients
-
- DVDPCODECS_DIRS= \
-- lib \
-- lib/libdvd
-+ lib
-
- VideoPlayer_ARCHIVES=xbmc/cores/VideoPlayer/VideoPlayer.a \
- xbmc/cores/VideoPlayer/DVDCodecs/DVDCodecs.a \
-@@ -347,7 +346,6 @@ libaddon: exports
- $(MAKE) -C lib/addons/library.xbmc.pvr
- $(MAKE) -C lib/addons/library.kodi.inputstream
- dvdpcodecs: dllloader
-- $(MAKE) -C lib/libdvd
-
- dvdpextcodecs:
-
---
-2.10.2
-
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0007-Always-compile-libcpluff-as-PIC.patch b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0007-Always-compile-libcpluff-as-PIC.patch
deleted file mode 100644
index 8fd7ece..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0007-Always-compile-libcpluff-as-PIC.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From d989cbdb7686c3b95dc749967f89b93e47f955a6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 3 Nov 2016 13:10:00 -0700
-Subject: [PATCH 07/10] Always compile libcpluff as PIC
-
-Fixes errors e.g.
-
-ld: lib/cpluff/libcpluff/.libs/libcpluff.a(pcontrol.o): relocation R_X86_64_PC32 against symbol `cp_stop_plugins' can not be used when making a shared object; recompile with -fPIC
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 3132dc1..ab4eea3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -2385,7 +2385,7 @@ XB_CONFIG_MODULE([lib/cpluff], [
- --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
- --host=$host_alias \
- --build=$build_alias \
-- --target=$target_alias CFLAGS="$CFLAGS" CC="$CC" CXX="$CXX" LDFLAGS="$LDFLAGS" LIBS=""
-+ --target=$target_alias --with-pic=yes CFLAGS="$CFLAGS" CC="$CC" CXX="$CXX" LDFLAGS="$LDFLAGS" LIBS=""
- #LDFLAGS="$LDFLAGS -Wl,-read_only_relocs,suppress"
- ], [0])
-
---
-2.10.2
-
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch
deleted file mode 100644
index 9390144..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 51cd8d5f084013360b29fe497193288ebde2f4f9 Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Wed, 29 Jul 2015 23:13:33 +0200
-Subject: [PATCH 08/10] kodi-config.cmake: use CMAKE_FIND_ROOT_PATH to fix
- cross-compilation
-
-When cross-compiling, the location at build time of the libraries is
-not the same as the one at run-time. The CMAKE_FIND_ROOT_PATH variable
-is here to handle this difference, so use it in kodi-config.cmake.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- project/cmake/KodiConfig.cmake.in | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/project/cmake/KodiConfig.cmake.in b/project/cmake/KodiConfig.cmake.in
-index c02a680..9d6a566 100644
---- a/project/cmake/KodiConfig.cmake.in
-+++ b/project/cmake/KodiConfig.cmake.in
-@@ -7,10 +7,10 @@ if(NOT @APP_NAME_UC@_PREFIX)
- set(@APP_NAME_UC@_PREFIX @APP_PREFIX@)
- endif()
- if(NOT @APP_NAME_UC@_INCLUDE_DIR)
-- set(@APP_NAME_UC@_INCLUDE_DIR @APP_INCLUDE_DIR@)
-+ set(@APP_NAME_UC@_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}/@APP_INCLUDE_DIR@)
- endif()
- if(NOT @APP_NAME_UC@_LIB_DIR)
-- set(@APP_NAME_UC@_LIB_DIR @APP_LIB_DIR@)
-+ set(@APP_NAME_UC@_LIB_DIR ${CMAKE_FIND_ROOT_PATH}/@APP_LIB_DIR@)
- endif()
- if(NOT @APP_NAME_UC@_DATA_DIR)
- set(@APP_NAME_UC@_DATA_DIR @APP_DATA_DIR@)
-@@ -19,6 +19,7 @@ if(NOT WIN32)
- set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} @CXX11_SWITCH@")
- endif()
- list(APPEND CMAKE_MODULE_PATH @APP_LIB_DIR@ @APP_DATA_DIR@/cmake)
-+list(APPEND CMAKE_MODULE_PATH ${CMAKE_FIND_ROOT_PATH}/@APP_LIB_DIR@ ${CMAKE_FIND_ROOT_PATH}/@APP_DATA_DIR@/cmake)
-
- string(REPLACE ";" " " ARCH_DEFINES "@ARCH_DEFINES@")
- add_definitions(${ARCH_DEFINES} -DBUILD_KODI_ADDON)
---
-2.10.2
-
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0009-build-Add-support-for-musl-triplets.patch b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0009-build-Add-support-for-musl-triplets.patch
deleted file mode 100644
index f3e739a..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0009-build-Add-support-for-musl-triplets.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-From 8b2bad58585af0f829fb06e19c9bd2b6caf30808 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 6 Nov 2016 11:54:41 -0800
-Subject: [PATCH 09/10] build: Add support for musl triplets
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac | 12 ++++++------
- m4/xbmc_arch.m4 | 22 +++++++++++-----------
- tools/depends/configure.ac | 12 ++++++------
- 3 files changed, 23 insertions(+), 23 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index ab4eea3..925466a 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -526,7 +526,7 @@ case $host in
- use_x11=no
- build_shared_lib=yes
- ;;
-- i*86*-linux-gnu*|i*86*-*-linux-uclibc*)
-+ i*86*-linux-gnu*|i*86*-*-linux-uclibc*|i*86*-*-linux-musl*)
- target_platform=target_linux
- CORE_SYSTEM_NAME=linux
- ARCH="i486-linux"
-@@ -549,7 +549,7 @@ case $host in
- fi
- fi
- ;;
-- x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*)
-+ x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*|x86_64-*-linux-musl*)
- target_platform=target_linux
- CORE_SYSTEM_NAME=linux
- ARCH="x86_64-linux"
-@@ -601,17 +601,17 @@ case $host in
- DEPENDS_ROOT_FOR_XCODE=$(echo ${prefix%/*})
- AC_SUBST([DEPENDS_ROOT_FOR_XCODE])
- ;;
-- powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*)
-+ powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*|powerpc-*-linux-musl*)
- target_platform=target_linux
- CORE_SYSTEM_NAME=linux
- ARCH="powerpc-linux"
- ;;
-- powerpc64*-*-linux-gnu*|powerpc64*-*-linux-uclibc*)
-+ powerpc64*-*-linux-gnu*|powerpc64*-*-linux-uclibc*|powerpc64*-*-linux-musl*)
- target_platform=target_linux
- CORE_SYSTEM_NAME=linux
- ARCH="powerpc64-linux"
- ;;
-- arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
-+ arm*-*-linux-gnu*|arm*-*-linux-uclibc*|arm*-*-linux-musl*)
- target_platform=target_linux
- CORE_SYSTEM_NAME=linux
- ARCH="arm"
-@@ -621,7 +621,7 @@ case $host in
- use_gl=no
- USE_STATIC_FFMPEG=1
- ;;
-- aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*)
-+ aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*|aarch64*-*-linux-musl*)
- target_platform=target_linux
- ARCH="aarch64"
- use_arch="aarch64"
-diff --git a/m4/xbmc_arch.m4 b/m4/xbmc_arch.m4
-index d28f263..ff5dc20 100644
---- a/m4/xbmc_arch.m4
-+++ b/m4/xbmc_arch.m4
-@@ -2,10 +2,10 @@ AC_DEFUN([XBMC_SETUP_ARCH_DEFINES],[
-
- # build detection and setup - this is the native arch
- case $build in
-- i*86*-linux-gnu*|i*86*-*-linux-uclibc*)
-+ i*86*-linux-gnu*|i*86*-*-linux-uclibc*|i*86*-*-linux-musl*)
- AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
- ;;
-- x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*)
-+ x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*|x86_64-*-linux-musl*)
- AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
- ;;
- i386-*-freebsd*)
-@@ -17,13 +17,13 @@ case $build in
- *86*-apple-darwin*)
- AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX -D_LINUX")
- ;;
-- powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*)
-+ powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*|powerpc-*-linux-musl*)
- AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_POWERPC")
- ;;
-- powerpc64-*-linux-gnu*|powerpc64-*-linux-uclibc*)
-+ powerpc64-*-linux-gnu*|powerpc64-*-linux-uclibc*|powerpc64-*-linux-musl*)
- AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_POWERPC64")
- ;;
-- arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
-+ arm*-*-linux-gnu*|arm*-*-linux-uclibc*|arm*-*-linux-musl*)
- AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
- ;;
- *)
-@@ -33,10 +33,10 @@ esac
-
- # host detection and setup - this is the target arch
- case $host in
-- i*86*-linux-gnu*|i*86*-*-linux-uclibc*)
-+ i*86*-linux-gnu*|i*86*-*-linux-uclibc*|i*86*-*-linux-musl*)
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
- ;;
-- x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*)
-+ x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*|x86_64-*-linux-musl*)
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
- ;;
- i386-*-freebsd*)
-@@ -54,16 +54,16 @@ case $host in
- powerpc-apple-darwin*)
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX -D_LINUX")
- ;;
-- powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*)
-+ powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*|powerpc-*-linux-musl*)
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_POWERPC")
- ;;
-- powerpc64*-*-linux-gnu*|powerpc64*-*-linux-uclibc*)
-+ powerpc64*-*-linux-gnu*|powerpc64*-*-linux-uclibc*|powerpc64*-*-linux-musl*)
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_POWERPC64")
- ;;
-- arm*-*-linux-gnu*|arm*-*-linux-uclibc*|aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*)
-+ arm*-*-linux-gnu*|arm*-*-linux-uclibc*|arm*-*-linux-musl*|aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*|aarch64*-*-linux-musl*)
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
- ;;
-- mips*-*-linux-gnu*|mips*-*-linux-uclibc*)
-+ mips*-*-linux-gnu*|mips*-*-linux-uclibc*|mips*-*-linux-musl*)
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
- ;;
- *-*linux-android*)
-diff --git a/tools/depends/configure.ac b/tools/depends/configure.ac
-index f438e5d..409f4d7 100644
---- a/tools/depends/configure.ac
-+++ b/tools/depends/configure.ac
-@@ -120,13 +120,13 @@ platform_cc=gcc
- platform_cxx=g++
-
- case $build in
-- arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
-+ arm*-*-linux-gnu*|arm*-*-linux-uclibc*|arm*-*-linux-musl*)
- build_os="linux"
- ;;
-- *i686*-linux-gnu*|i*86*-*-linux-uclibc*)
-+ *i686*-linux-gnu*|i*86*-*-linux-uclibc*|i*86*-*-linux-musl*)
- build_os="linux"
- ;;
-- x86_64*-linux-gnu*|x86_64-*-linux-uclibc*)
-+ x86_64*-linux-gnu*|x86_64-*-linux-uclibc*|x86_64-*-linux-musl*)
- build_os="linux"
- ;;
- *darwin*)
-@@ -186,7 +186,7 @@ case $host in
- #android builds are always cross
- cross_compiling="yes"
- ;;
-- arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
-+ arm*-*-linux-gnu*|arm*-*-linux-uclibc*|arm*-*-linux-musl*)
- if test "$use_platform" = "auto"; then
- if test "x$use_cpu" = "xauto"; then
- use_cpu=$host_cpu
-@@ -210,12 +210,12 @@ case $host in
- platform_os="linux"
- fi
- ;;
-- *i686*-linux-gnu*|i*86*-*-linux-uclibc*)
-+ *i686*-linux-gnu*|i*86*-*-linux-uclibc*|i*86*-*-linux-musl*)
- use_cpu=$host_cpu
- use_toolchain="${use_toolchain:-/usr}"
- platform_os="linux"
- ;;
-- x86_64*-linux-gnu*|x86_64-*-linux-uclibc*)
-+ x86_64*-linux-gnu*|x86_64-*-linux-uclibc*|x86_64-*-linux-musl*)
- use_cpu=$host_cpu
- use_toolchain="${use_toolchain:-/usr}"
- platform_cflags="-fPIC -DPIC"
---
-2.10.2
-
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0010-RssReader-Fix-compiler-warning-comparing-pointer-to-.patch b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0010-RssReader-Fix-compiler-warning-comparing-pointer-to-.patch
deleted file mode 100644
index e34a5b7..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0010-RssReader-Fix-compiler-warning-comparing-pointer-to-.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 55233024648b5673dbf223586968e71cc4c70711 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 16 Nov 2016 18:49:36 -0800
-Subject: [PATCH 10/10] RssReader: Fix compiler warning comparing pointer to
- zero
-
-Clang finds this warning
-RssReader.cpp:272:19: error: ordered comparison between pointer and zero ('TiXmlElement *' and 'int')
- while (itemNode > 0)
- ~~~~~~~~ ^ ~
-RssReader.cpp:276:22: error: ordered comparison between pointer and zero ('TiXmlNode *' and 'int')
- while (childNode > 0)
- ~~~~~~~~~ ^ ~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- xbmc/utils/RssReader.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/xbmc/utils/RssReader.cpp b/xbmc/utils/RssReader.cpp
-index 9186f56..2494dc8 100644
---- a/xbmc/utils/RssReader.cpp
-+++ b/xbmc/utils/RssReader.cpp
-@@ -269,11 +269,11 @@ void CRssReader::GetNewsItems(TiXmlElement* channelXmlNode, int iFeed)
- if (m_tagSet.empty())
- AddTag("title");
-
-- while (itemNode > 0)
-+ while (itemNode != NULL)
- {
- TiXmlNode* childNode = itemNode->FirstChild();
- mTagElements.clear();
-- while (childNode > 0)
-+ while (childNode != NULL)
- {
- std::string strName = childNode->ValueStr();
-
---
-2.10.2
-
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0011-Let-configure-pass-on-unknown-architectures-setting-.patch b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0011-Let-configure-pass-on-unknown-architectures-setting-.patch
deleted file mode 100644
index 7ee44f1..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0011-Let-configure-pass-on-unknown-architectures-setting-.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 19a1ffc1450bd3ecfb7419d74c733b2e16bf47f3 Mon Sep 17 00:00:00 2001
-From: Balint Reczey <balint@balintreczey.hu>
-Date: Wed, 26 Aug 2015 08:14:41 +0200
-Subject: [PATCH 11/12] Let configure pass on unknown architectures setting
- sane defaults
-
-This helps porting Kodi to new architectures while emitting warnings about
-entering uncharted territory.
----
- configure.ac | 3 ++-
- m4/xbmc_arch.m4 | 6 ++++--
- 2 files changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 925466a..8369615 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -658,7 +658,8 @@ case $host in
- USE_STATIC_FFMPEG=1
- ;;
- *)
-- AC_MSG_ERROR(unsupported host ($host))
-+ ARCH=$host_cpu"-"$host_os
-+ AC_MSG_WARN([unsupported host ($host), guessing ARCH as $ARCH.])
- esac
- AC_SUBST([ARCH])
-
-diff --git a/m4/xbmc_arch.m4 b/m4/xbmc_arch.m4
-index ff5dc20..dfb45fd 100644
---- a/m4/xbmc_arch.m4
-+++ b/m4/xbmc_arch.m4
-@@ -27,7 +27,8 @@ case $build in
- AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
- ;;
- *)
-- AC_MSG_ERROR(unsupported native build platform: $build)
-+ AC_MSG_WARN([unsupported native build platform: $build])
-+ AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
- esac
-
-
-@@ -70,7 +71,8 @@ case $host in
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -DTARGET_ANDROID")
- ;;
- *)
-- AC_MSG_ERROR(unsupported build target: $host)
-+ AC_MSG_WARN([unsupported native build platform: $build])
-+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
- esac
-
- if test "$target_platform" = "target_android" ; then
---
-2.10.2
-
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0012-Revert-droid-fix-builds-with-AML-disabled.patch b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0012-Revert-droid-fix-builds-with-AML-disabled.patch
deleted file mode 100644
index 8d70b3f..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0012-Revert-droid-fix-builds-with-AML-disabled.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 9e88aa086083b80c05b2bf057b92682186c4e6dc Mon Sep 17 00:00:00 2001
-From: Balint Reczey <balint@balintreczey.hu>
-Date: Thu, 6 Oct 2016 18:12:18 +0200
-Subject: [PATCH 12/12] Revert "[droid] fix builds with AML disabled"
-
-This reverts commit 4733383b8f1c1dd0b95e9e5358425d8a0b7ba8fc.
----
- xbmc/utils/SystemInfo.cpp | 4 ----
- xbmc/windowing/egl/EGLWrapper.cpp | 16 ++++++----------
- 2 files changed, 6 insertions(+), 14 deletions(-)
-
-diff --git a/xbmc/utils/SystemInfo.cpp b/xbmc/utils/SystemInfo.cpp
-index fcc6733..52e7fa3 100644
---- a/xbmc/utils/SystemInfo.cpp
-+++ b/xbmc/utils/SystemInfo.cpp
-@@ -57,10 +57,8 @@
- #include "utils/XMLUtils.h"
- #if defined(TARGET_ANDROID)
- #include "platform/android/jni/Build.h"
--#if defined(HAS_LIBAMCODEC)
- #include "utils/AMLUtils.h"
- #endif
--#endif
-
- /* Platform identification */
- #if defined(TARGET_DARWIN)
-@@ -873,11 +871,9 @@ bool CSysInfo::IsAeroDisabled()
- bool CSysInfo::HasHW3DInterlaced()
- {
- #if defined(TARGET_ANDROID)
--#if defined(HAS_LIBAMCODEC)
- if (aml_hw3d_present())
- return true;
- #endif
--#endif
- return false;
- }
-
-diff --git a/xbmc/windowing/egl/EGLWrapper.cpp b/xbmc/windowing/egl/EGLWrapper.cpp
-index 30f5757..583d43a 100644
---- a/xbmc/windowing/egl/EGLWrapper.cpp
-+++ b/xbmc/windowing/egl/EGLWrapper.cpp
-@@ -24,19 +24,15 @@
- #include <assert.h>
- #if defined(TARGET_ANDROID)
- #include "EGLNativeTypeAndroid.h"
--#if defined(HAS_LIBAMCODEC)
- #include "EGLNativeTypeAmlAndroid.h"
- #endif
--#endif
- #if defined(TARGET_RASPBERRY_PI)
- #include "EGLNativeTypeRaspberryPI.h"
- #endif
- #if defined(HAS_IMXVPU)
- #include "EGLNativeTypeIMX.h"
- #endif
--#if defined(TARGET_LINUX) && defined(HAS_LIBAMCODEC)
- #include "EGLNativeTypeAmlogic.h"
--#endif
- #include "EGLWrapper.h"
-
- #define CheckError() m_result = eglGetError(); if(m_result != EGL_SUCCESS) CLog::Log(LOGERROR, "EGL error in %s: %x",__FUNCTION__, m_result);
-@@ -91,15 +87,15 @@ bool CEGLWrapper::Initialize(const std::string &implementation)
- // Try to create each backend in sequence and go with the first one
- // that we know will work
- if (
--#if defined(TARGET_ANDROID) && defined(HAS_LIBAMCODEC)
-- (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAmlAndroid>(implementation))
--#elif defined(TARGET_ANDROID)
-- (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAndroid>(implementation))
--#elif defined(TARGET_RASPBERRY_PI)
-+#if defined(TARGET_ANDROID)
-+ (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAmlAndroid>(implementation)) ||
-+ (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAndroid>(implementation)) ||
-+#endif
-+#if defined(TARGET_RASPBERRY_PI)
- (nativeGuess = CreateEGLNativeType<CEGLNativeTypeRaspberryPI>(implementation))
- #elif defined(HAS_IMXVPU)
- (nativeGuess = CreateEGLNativeType<CEGLNativeTypeIMX>(implementation))
--#elif defined(TARGET_LINUX) && defined(HAS_LIBAMCODEC)
-+#else
- (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAmlogic>(implementation))
- #endif
- )
---
-2.10.2
-
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0013-FTPParse.cpp-use-std-string.patch b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0013-FTPParse.cpp-use-std-string.patch
deleted file mode 100644
index c9c9066..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0013-FTPParse.cpp-use-std-string.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 5fa10ff6b1b60abee172296d9c1dec8dfc10615c Mon Sep 17 00:00:00 2001
-From: Stefan Saraev <stefan@saraev.ca>
-Date: Sun, 7 May 2017 17:30:47 +0300
-Subject: [PATCH] FTPParse.cpp: use std::string
-
-Fixes build with newer gcc versions.
-
-Taken from [1]
-
-Upstream-Status: Backport [2]
-
-[1] https://git.busybox.net/buildroot/plain/package/kodi/0003-FTPParse.cpp-use-std-string.patch?id=e2f03a6bde19766a1ac047c5ccfb049b5c4f61ca
-[2] https://github.com/xbmc/xbmc/commit/5fa10ff6b1b60abee172296d9c1dec8dfc10615c
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- xbmc/filesystem/FTPParse.cpp | 44 ++++++++++++++++++++++----------------------
- 1 file changed, 22 insertions(+), 22 deletions(-)
-
-diff --git a/xbmc/filesystem/FTPParse.cpp b/xbmc/filesystem/FTPParse.cpp
-index cfcc7c64ed..b0f676ae1a 100644
---- a/xbmc/filesystem/FTPParse.cpp
-+++ b/xbmc/filesystem/FTPParse.cpp
-@@ -34,7 +34,7 @@ CFTPParse::CFTPParse()
- m_time = 0;
- }
-
--string CFTPParse::getName()
-+std::string CFTPParse::getName()
- {
- return m_name;
- }
-@@ -59,16 +59,16 @@ time_t CFTPParse::getTime()
- return m_time;
- }
-
--void CFTPParse::setTime(string str)
-+void CFTPParse::setTime(std::string str)
- {
- /* Variables used to capture patterns via the regexes */
-- string month;
-- string day;
-- string year;
-- string hour;
-- string minute;
-- string second;
-- string am_or_pm;
-+ std::string month;
-+ std::string day;
-+ std::string year;
-+ std::string hour;
-+ std::string minute;
-+ std::string second;
-+ std::string am_or_pm;
-
- /* time struct used to set the time_t variable */
- struct tm time_struct = {};
-@@ -338,21 +338,21 @@ int CFTPParse::getDayOfWeek(int month, int date, int year)
- return day_of_week;
- }
-
--int CFTPParse::FTPParse(string str)
-+int CFTPParse::FTPParse(std::string str)
- {
- /* Various variable to capture patterns via the regexes */
-- string permissions;
-- string link_count;
-- string owner;
-- string group;
-- string size;
-- string date;
-- string name;
-- string type;
-- string stuff;
-- string facts;
-- string version;
-- string file_id;
-+ std::string permissions;
-+ std::string link_count;
-+ std::string owner;
-+ std::string group;
-+ std::string size;
-+ std::string date;
-+ std::string name;
-+ std::string type;
-+ std::string stuff;
-+ std::string facts;
-+ std::string version;
-+ std::string file_id;
-
- /* Regex for standard Unix listing formats */
- pcrecpp::RE unix_re("^([-bcdlps])" // type
---
-2.11.0
-
-
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-startup/kodi.service b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-startup/kodi.service
deleted file mode 100644
index 29d0394..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-startup/kodi.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=Kodi media thing
-
-[Service]
-User=root
-Type=simple
-SuccessExitStatus=0 1
-IOSchedulingClass=realtime
-IOSchedulingPriority=0
-
-ExecStart=/usr/bin/xinit /usr/bin/kodi-standalone -- /usr/bin/X :0
-
-[Install]
-WantedBy=basic.target
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
deleted file mode 100644
index 2956189..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
+++ /dev/null
@@ -1,216 +0,0 @@
-SUMMARY = "Kodi Media Center"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=930e2a5f63425d8dd72dbd7391c43c46"
-
-FILESPATH =. "${FILE_DIRNAME}/kodi-17:"
-
-DEPENDS = " \
- cmake-native \
- curl-native \
- gperf-native \
- jsonschemabuilder-native \
- nasm-native \
- swig-native \
- unzip-native \
- yasm-native \
- zip-native \
- avahi \
- boost \
- bzip2 \
- crossguid \
- curl \
- dcadec \
- enca \
- expat \
- faad2 \
- ffmpeg \
- fontconfig \
- fribidi \
- giflib \
- jasper \
- libass \
- libcdio \
- libcec \
- libmad \
- libmicrohttpd \
- libmms \
- libmms \
- libmodplug \
- libpcre \
- libplist \
- libsamplerate0 \
- libsdl-image \
- libsdl-mixer \
- libsquish \
- libssh \
- libtinyxml \
- libusb1 \
- libxslt \
- lzo \
- mpeg2dec \
- python \
- sqlite3 \
- taglib \
- virtual/egl \
- virtual/libsdl \
- wavpack \
- yajl \
- zlib \
- ${@enable_glew(bb, d)} \
-"
-
-PROVIDES = "xbmc"
-
-SRCREV = "6abeebd5ba371547c8f04272296433f5e4e28e86"
-PV = "17.3+gitr${SRCPV}"
-ADDONSPV = "17.1"
-SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Krypton \
- https://repo.voidlinux.eu/distfiles/${BPN}-${ADDONSPV}-generated-addons.tar.xz;name=addons;unpack=0 \
- file://0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch \
- file://0004-handle-SIGTERM.patch \
- file://0005-add-support-to-read-frequency-output-if-using-intel-.patch \
- file://0006-Disable-DVD-support.patch \
- file://0007-Always-compile-libcpluff-as-PIC.patch \
- file://0008-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch \
- file://0009-build-Add-support-for-musl-triplets.patch \
- file://0010-RssReader-Fix-compiler-warning-comparing-pointer-to-.patch \
- file://0011-Let-configure-pass-on-unknown-architectures-setting-.patch \
- file://0012-Revert-droid-fix-builds-with-AML-disabled.patch \
- file://0001-change-order-of-detecting-libegl-and-libgles2.patch \
- file://0013-FTPParse.cpp-use-std-string.patch \
-"
-
-SRC_URI_append_libc-musl = " \
- file://0001-Fix-file_Emu-on-musl.patch \
- file://0002-Remove-FILEWRAP.patch \
-"
-SRC_URI[addons.md5sum] = "719614fa764011a18665d08af5c8c92f"
-SRC_URI[addons.sha256sum] = "350da57408c27473eaf40e7f544bc94841bf101dc4346085260c5c4af0adac97"
-
-inherit autotools-brokensep gettext pythonnative distro_features_check
-
-REQUIRED_DISTRO_FEATURES += "opengl"
-
-S = "${WORKDIR}/git"
-
-# breaks compilation
-ASNEEDED = ""
-
-ACCEL ?= ""
-ACCEL_x86 = "vaapi vdpau"
-ACCEL_x86-64 = "vaapi vdpau"
-
-PACKAGECONFIG ??= "${ACCEL} opengl \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'openglesv2', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'samba', '', d)} \
-"
-
-PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,"
-PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,virtual/egl"
-PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
-PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
-PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5"
-PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxinerama libxmu libxrandr libxtst"
-PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
-PACKAGECONFIG[lcms] = "--enable-lcms2,--disable-lcms2,lcms"
-PACKAGECONFIG[samba] = "--enable-samba,--disable-samba,samba"
-
-EXTRA_OECONF = " \
- --disable-debug \
- --disable-libcap \
- --disable-ccache \
- --disable-mid \
- --enable-libusb \
- --enable-alsa \
- --enable-airplay \
- --disable-optical-drive \
- --with-ffmpeg=shared \
- --enable-texturepacker=no \
- ac_cv_path_JAVA_EXE=/bin/true \
-"
-
-FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O3 -ffast-math"
-FULL_OPTIMIZATION_armv7ve = "-fexpensive-optimizations -fomit-frame-pointer -O3 -ffast-math"
-BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
-
-LDFLAGS_append_mips = " -latomic"
-LDFLAGS_append_mipsel = " -latomic"
-LDFLAGS_append_powerpc = " -latomic"
-LDFLAGS_append_arm = " -latomic"
-
-EXTRA_OECONF_append = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool"
-
-# for python modules
-export HOST_SYS
-export BUILD_SYS
-export STAGING_LIBDIR
-export STAGING_INCDIR
-export PYTHON_DIR
-
-def enable_glew(bb, d):
- if bb.utils.contains('PACKAGECONFIG', 'x11', True, False, d) and bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d):
- return "glew"
- return ""
-
-do_configure() {
- tar xf ${WORKDIR}/${BPN}-${ADDONSPV}-generated-addons.tar.xz -C ${S}/
-
- ( for i in $(find ${S} -name configure.ac -or -name configure.in|grep -v ".pc") ; do
- cd $(dirname $i) && gnu-configize --force || true
- done )
- ( for f in ${S}/xbmc/interfaces/python/generated/*.cpp; do
- touch `echo $f|sed -e 's/.cpp$/.xml/g'`
- done )
-
- BOOTSTRAP_STANDALONE=1 make -f bootstrap.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder"
- BOOTSTRAP_STANDALONE=1 make JAVA=/bin/true -f codegenerator.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder"
- oe_runconf
-}
-
-do_compile_prepend() {
- for i in $(find . -name "Makefile") ; do
- sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i
- done
-
- for i in $(find . -name "*.mak*" -o -name "Makefile") ; do
- sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i
- done
-}
-
-INSANE_SKIP_${PN} = "rpaths"
-
-FILES_${PN} += "${datadir}/xsessions ${datadir}/icons ${libdir}/xbmc ${datadir}/xbmc"
-FILES_${PN}-dbg += "${libdir}/kodi/.debug ${libdir}/kodi/*/.debug ${libdir}/kodi/*/*/.debug ${libdir}/kodi/*/*/*/.debug"
-
-# kodi uses some kind of dlopen() method for libcec so we need to add it manually
-# OpenGL builds need glxinfo, that's in mesa-demos
-RRECOMMENDS_${PN}_append = " \
- libcec \
- python \
- python-ctypes \
- python-lang \
- python-re \
- python-netclient \
- python-html \
- python-difflib \
- python-json \
- python-zlib \
- python-shell \
- python-sqlite3 \
- python-compression \
- libcurl \
- ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'xrandr xdpyinfo', '', d)} \
-"
-RRECOMMENDS_${PN}_append_libc-glibc = " \
- glibc-charmap-ibm850 \
- glibc-gconv-ibm850 \
- glibc-gconv-unicode \
- glibc-gconv-utf-32 \
- glibc-charmap-utf-8 \
- glibc-localedata-en-us \
-"
-
-RPROVIDES_${PN} += "xbmc"
-
-TOOLCHAIN = "gcc"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb
index 4765c6c..d36f2f4 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb
@@ -1,9 +1,12 @@
SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)"
SECTION = "libs"
LICENSE = "LGPLv2+"
+HOMEPAGE = "http://www.audiocoding.com/faac.html"
LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0"
+LICENSE_FLAGS = "commercial"
+
inherit autotools
SRC_URI = " \
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.10.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.10.bb
deleted file mode 100644
index 0ec4c49..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.10.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Fluidsynth is a software synthesizer"
-HOMEPAGE = "http://www.fluidsynth.org/"
-SECTION = "libs/multimedia"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594"
-
-DEPENDS = "alsa-lib ncurses glib-2.0"
-
-SRC_URI = " \
- git://github.com/FluidSynth/fluidsynth.git;branch=1.1.x \
- file://0001-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch \
-"
-SRCREV = "f5a0fee6f7f2b2ab4c866df1acb649333464b3fd"
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig lib_package
-
-EXTRA_OECMAKE = "-Denable-floats=ON -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
-PACKAGECONFIG[sndfile] = "-Denable-libsndfile-support=ON,-Denable-libsndfile-support=OFF,libsndfile1"
-PACKAGECONFIG[jack] = "-Denable-jack-support=ON,-Denable-jack-support=OFF,jack"
-PACKAGECONFIG[pulseaudio] = "-Denable-pulseaudio=ON,--Denable-pulseaudio=OFF,pulseaudio"
-PACKAGECONFIG[portaudio] = "-Denable-portaudio=ON,-Denable-portaudio=OFF,portaudio-v19"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.11.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.11.bb
new file mode 100644
index 0000000..4df3102
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.11.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Fluidsynth is a software synthesizer"
+HOMEPAGE = "http://www.fluidsynth.org/"
+SECTION = "libs/multimedia"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594"
+
+DEPENDS = "alsa-lib ncurses glib-2.0"
+
+SRC_URI = " \
+ git://github.com/FluidSynth/fluidsynth.git;branch=1.1.x \
+ file://0001-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch \
+"
+SRCREV = "f65c6ba25fb2c7e37c89fc6a4afc5aa645e208c2"
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig lib_package
+
+EXTRA_OECMAKE = "-Denable-floats=ON -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
+PACKAGECONFIG[sndfile] = "-Denable-libsndfile-support=ON,-Denable-libsndfile-support=OFF,libsndfile1"
+PACKAGECONFIG[jack] = "-Denable-jack-support=ON,-Denable-jack-support=OFF,jack"
+PACKAGECONFIG[pulseaudio] = "-Denable-pulseaudio=ON,-Denable-pulseaudio=OFF,pulseaudio"
+PACKAGECONFIG[portaudio] = "-Denable-portaudio=ON,-Denable-portaudio=OFF,portaudio-v19"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb
index 5f97a20..56d8220 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb
@@ -45,9 +45,6 @@
# mv ${WORKDIR}/gstregistrybinary.[ch] ${S}/gst/
#}
-RRECOMMENDS_${PN}_qemux86 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi"
-RRECOMMENDS_${PN}_qemux86-64 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi"
-
FILES_${PN} += " ${libdir}/gstreamer-0.10/*.so"
FILES_${PN}-dev += " ${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a"
FILES_${PN}-dbg += " ${libdir}/gstreamer-0.10/.debug/ ${libexecdir}/gstreamer-0.10/.debug/"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.2.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.2.1.bb
new file mode 100644
index 0000000..5409f32
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.2.1.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Gst-Shark Tracers"
+DESCRIPTION = "Benchmarks and profiling tools for GStreamer"
+HOMEPAGE = "https://developer.ridgerun.com/wiki/index.php?title=GstShark"
+SECTION = "multimedia"
+LICENSE = "GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=e1caa368743492879002ad032445fa97"
+
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad "
+
+SRCBRANCH ?= "master"
+
+SRCREV_base = "a60b3996fe3376d42334fc89014e9d6f6af62899"
+SRCREV_common = "b64f03f6090245624608beb5d2fff335e23a01c0"
+
+SRC_URI = " \
+ git://github.com/RidgeRun/gst-shark.git;protocol=https;branch=${SRCBRANCH};name=base \
+ git://anongit.freedesktop.org/git/gstreamer/common.git;protocol=https;destsuffix=git/common;name=common; \
+ "
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG_CONFARGS = " \
+ --disable-graphviz \
+ --enable-gtk-doc=no \
+"
+
+FILES_${PN} += "\
+ ${libdir}/gstreamer-1.0/libgstsharktracers.so \
+ ${libdir}/gstreamer-1.0/libgstsharktracers.la \
+"
+
+inherit autotools gettext
+
+do_configure() {
+ ${S}/autogen.sh --noconfigure
+ oe_runconf
+}
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd.inc
index 10ee5bc..455d896 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd.inc
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd.inc
@@ -7,19 +7,15 @@
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-rtsp-server json-glib libdaemon"
SRCBRANCH ?= "master"
-SRCREV = "097a086a8606dcb368c7d38c7ec4fefc2497401b"
+SRCREV = "3526d0ffdbccc375db7d5fe33a72c68b134657c2"
SRC_URI = "git://git@github.com/RidgeRun/gstd-1.x.git;protocol=https;branch=${SRCBRANCH} \
- file://0001-gstd-yocto-compatibility.patch"
-
+ file://0001-gstd-yocto-compatibility.patch \
+ file://0001-Look-for-gtk-doc.make-in-builddir.patch \
+ "
S = "${WORKDIR}/git"
-PACKAGECONFIG_CONFARGS = " \
- --disable-gtk-doc \
-"
+inherit autotools pkgconfig gettext gtk-doc
-inherit autotools pkgconfig gettext
-
-do_configure() {
-${S}/autogen.sh
-oe_runconf
+do_configure_prepend() {
+ sed -i -e "s|include \$(top_builddir)/docs/gtk-doc.make||g" ${S}/docs/reference/gstd/Makefile.am
}
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-Look-for-gtk-doc.make-in-builddir.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-Look-for-gtk-doc.make-in-builddir.patch
new file mode 100644
index 0000000..5a28616
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-Look-for-gtk-doc.make-in-builddir.patch
@@ -0,0 +1,32 @@
+From a84e9a6e1dca685eda072d58b58556b5b35cb4c8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 10 Sep 2018 21:16:50 -0700
+Subject: [PATCH] Look for gtk-doc.make in builddir
+
+this is evident when S != B because gtkdocize
+generates this file and its actually built into
+build area
+
+Upstream-Status: Submitted [https://github.com/RidgeRun/gstd-1.x/pull/39]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ docs/reference/gstd/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/docs/reference/gstd/Makefile.am b/docs/reference/gstd/Makefile.am
+index f860fa1..62870da 100644
+--- a/docs/reference/gstd/Makefile.am
++++ b/docs/reference/gstd/Makefile.am
+@@ -66,7 +66,7 @@ GTKDOC_LIBS=$(top_builddir)/gstd/libgstd-core.la
+
+
+ # This includes the standard gtk-doc make rules, copied by gtkdocize.
+-include $(top_srcdir)/docs/gtk-doc.make
++include $(top_builddir)/docs/gtk-doc.make
+
+ # Comment this out if you want 'make check' to test you doc status
+ # and run some sanity checks
+--
+2.18.0
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch
index ddc1831..ffcc6ea 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch
@@ -4,47 +4,9 @@
Subject: [PATCH] gstd:yocto compatibility
---
- autogen.sh | 8 +++++++-
- docs/reference/gstd/Makefile.am | 2 +-
gstd/Makefile.am | 2 +-
3 files changed, 9 insertions(+), 3 deletions(-)
-diff --git a/autogen.sh b/autogen.sh
-index 66dbd42..793ee2f 100755
---- a/autogen.sh
-+++ b/autogen.sh
-@@ -21,7 +21,11 @@
- # ACLOCAL, AUTOPOINT and/or LIBTOOLIZE to the right versions, or leave them
- # unset and get the defaults
-
--gtkdocize || exit 1
-+test -n "$srcdir" || srcdir=`dirname "$0"`
-+test -n "$srcdir" || srcdir=.
-+
-+olddir=`pwd`
-+cd "$srcdir"
-
- autoreconf --verbose --force --install || {
- echo 'autogen.sh failed';
-@@ -31,3 +35,5 @@ autoreconf --verbose --force --install || {
- echo
- echo "Now run './configure' with your system settings followed by 'make' to compile this module."
- echo
-+
-+cd "$olddir"
-diff --git a/docs/reference/gstd/Makefile.am b/docs/reference/gstd/Makefile.am
-index f860fa1..153a13b 100644
---- a/docs/reference/gstd/Makefile.am
-+++ b/docs/reference/gstd/Makefile.am
-@@ -66,7 +66,7 @@ GTKDOC_LIBS=$(top_builddir)/gstd/libgstd-core.la
-
-
- # This includes the standard gtk-doc make rules, copied by gtkdocize.
--include $(top_srcdir)/docs/gtk-doc.make
-+# include $(top_srcdir)/docs/gtk-doc.make
-
- # Comment this out if you want 'make check' to test you doc status
- # and run some sanity checks
diff --git a/gstd/Makefile.am b/gstd/Makefile.am
index 13c551d..11fe202 100644
--- a/gstd/Makefile.am
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
index 8a9e9a1..b6bb447 100755
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
@@ -7,7 +7,8 @@
# libsdl to provide sdl.m4 with AM_PATH_SDL
DEPENDS += "libusb1 libraw1394 libsdl \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxv virtual/libx11', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virtual/libgl libglu', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virtual/libgl', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'libglu', '', d)} \
"
PV = "2.2.5+gitr${SRCPV}"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/files/run-ptest b/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/files/run-ptest
new file mode 100644
index 0000000..84981b2
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/files/run-ptest
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+./libopenmpttest >/dev/null 2>&1
+
+if [ $? -eq 0 ]; then
+ echo "PASS: libopenmpttest"
+else
+ echo "FAIL: libopenmpttest"
+fi
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.3.10.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.3.10.bb
new file mode 100644
index 0000000..d14246f
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.3.10.bb
@@ -0,0 +1,104 @@
+SUMMARY = "C and C++ cross-platform library for decoding tracked music files (modules)"
+DESCRIPTION = "libopenmpt is a cross-platform C++ and C library to decode tracked \
+music files (modules) into a raw PCM audio stream. It also comes with openmpt123, a \
+cross-platform command-line or terminal based module file player, and libopenmpt_modplug, \
+a wrapper around libopenmpt that provides an interface that is ABI compatile with \
+libmodplug. libopenmpt is based on the player code of the OpenMPT project."
+HOMEPAGE = "https://lib.openmpt.org/libopenmpt/"
+SECTION = "libs"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e804150573f149befef6c07e173f20c3"
+
+DEPENDS = "virtual/libiconv"
+
+SRC_URI = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${PV}+release.autotools.tar.gz \
+ file://run-ptest \
+ "
+SRC_URI[md5sum] = "66bbc6fbb5f27a554cb145d805e9ef9d"
+SRC_URI[sha256sum] = "14a137b8d1a20e1b6a5e67cbc9467ab7e5e4e67d5aa38a247afc825685c53939"
+
+S = "${WORKDIR}/libopenmpt-${PV}+release.autotools"
+
+inherit autotools pkgconfig ptest
+
+PACKAGECONFIG ??= " \
+ libopenmpt-modplug openmpt123 \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
+ flac mpg123 ogg sndfile vorbis vorbisfile zlib \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
+"
+
+# libopenmpt_modplug is a library that wraps libopenmpt calls into
+# functions that are ABI compatible with libmodplug. This allows for
+# using modplug headers and linking against libopenmpt_modplug
+# instead of against the original libmodplug library.
+# NOTE: The wrapper is compatible to the ABI from libmodplug version
+# 0.8.8 and newer.
+PACKAGECONFIG[libopenmpt-modplug] = "--enable-libopenmpt_modplug,--disable-libopenmpt_modplug"
+PACKAGECONFIG[openmpt123] = "--enable-openmpt123,--disable-openmpt123"
+PACKAGECONFIG[tests] = "--enable-tests,--disable-tests"
+
+# These packageconfigs affect openmpt123
+PACKAGECONFIG[flac] = "--with-flac,--without-flac,flac"
+PACKAGECONFIG[mpg123] = "--with-mpg123,--without-mpg123,mpg123"
+PACKAGECONFIG[ogg] = "--with-ogg,--without-ogg,libogg"
+PACKAGECONFIG[portaudio] = "--with-portaudio,--without-portaudio,portaudio-v19"
+PACKAGECONFIG[pulseaudio] = "--with-pulseaudio,--without-pulseaudio,pulseaudio"
+PACKAGECONFIG[sdl] = "--with-sdl,--without-sdl,virtual/libsdl"
+PACKAGECONFIG[sdl2] = "--with-sdl2,--without-sdl2,virtual/libsdl2"
+PACKAGECONFIG[sndfile] = "--with-sndfile,--without-sndfile,libsndfile1"
+PACKAGECONFIG[vorbis] = "--with-vorbis,--without-vorbis,libvorbis"
+PACKAGECONFIG[vorbisfile] = "--with-vorbisfile,--without-vorbisfile,libvorbis"
+PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
+
+# --disable-libmodplug is necessary, since otherwise we'd
+# have a collision with the libmodplug package, because of the
+# libmodplug.so file. (libmodplug.so from libopenmpt isintended
+# to be used as a drop-in replacement, and according to the
+# documentation, is not complete.)
+EXTRA_OECONF += " \
+ --disable-doxygen-doc \
+ --disable-examples \
+ --disable-libmodplug \
+ --without-portaudiocpp \
+"
+
+do_compile_ptest() {
+ oe_runmake ${PARALLEL_MAKE} libopenmpttest
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/test
+ install -m 0755 ${B}/libopenmpttest ${D}${PTEST_PATH}
+ install -m 0644 ${S}/test/test.mptm ${D}${PTEST_PATH}/test
+ install -m 0644 ${S}/test/test.s3m ${D}${PTEST_PATH}/test
+ install -m 0644 ${S}/test/test.xm ${D}${PTEST_PATH}/test
+
+ install -d ${D}${PTEST_PATH}/libopenmpt
+ install -m 0644 ${S}/libopenmpt/libopenmpt_version.mk ${D}${PTEST_PATH}/libopenmpt
+}
+
+python __anonymous() {
+ packageconfig = (d.getVar("PACKAGECONFIG") or "").split()
+ if ("sdl" in packageconfig) and ("sdl2" in packageconfig):
+ bb.error("sdl and sdl2 packageconfigs cannot be both enabled")
+}
+
+PACKAGES =+ "${PN}-modplug ${PN}-openmpt123 ${PN}-openmpt123-doc"
+FILES_${PN}-modplug = "${libdir}/libopenmpt_modplug.so.*"
+FILES_${PN}-openmpt123 = "${bindir}/openmpt123"
+FILES_${PN}-openmpt123-doc = "${mandir}/man1/openmpt123*"
+
+# Since version 0.3, libopenmpt uses SemVer 2.0.0 versioning.
+# The SemVer versioning scheme is incompatible with Debian/Ubuntu
+# package version names.
+DEBIAN_NOAUTONAME_${PN} = "1"
+DEBIAN_NOAUTONAME_${PN}-modplug = "1"
+
+RDEPENDS_${PN}_libc-glibc = " \
+ glibc-gconv-cp1252 \
+ glibc-gconv-ibm437 \
+ glibc-gconv-iso8859-1 \
+ glibc-gconv-iso8859-15 \
+"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc
new file mode 100644
index 0000000..187ff53
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc
@@ -0,0 +1,41 @@
+DESCRIPTION = "MiniDLNA (aka ReadyDLNA) is server software with the aim of \
+being fully compliant with DLNA/UPnP-AV clients."
+LICENSE = "GPL-2.0|BSD"
+DEPENDS = "ffmpeg flac libav jpeg sqlite3 libexif libogg libid3tag libvorbis"
+
+# because it depends on libav which has commercial flag
+LICENSE_FLAGS = "commercial"
+
+inherit gettext autotools-brokensep update-rc.d systemd
+
+SRC_URI = "git://git.code.sf.net/p/minidlna/git;branch=master;module=git \
+ file://minidlna-daemon.init.d \
+ file://minidlna.service \
+ file://0001-Update-Gettext-version.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+# This remove "--exclude=autopoint" option from autoreconf argument to avoid
+# configure.ac:30: error: required file './ABOUT-NLS' not found
+EXTRA_AUTORECONF = ""
+
+do_install_append(){
+ install -d ${D}${sysconfdir}
+ install -m 0755 minidlna.conf ${D}${sysconfdir}
+
+# Systemd script
+ install -d ${D}${nonarch_base_libdir}/systemd/system
+ install -m 0755 ${WORKDIR}/minidlna.service ${D}${nonarch_base_libdir}/systemd/system
+
+# Sysvinit script
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/minidlna-daemon.init.d ${D}${sysconfdir}/init.d/minidlna
+
+}
+
+SYSTEMD_SERVICE_${PN} = "minidlna.service"
+
+INITSCRIPT_NAME = "minidlna"
+INITSCRIPT_PARAMS = "defaults 90"
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Update-Gettext-version.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Update-Gettext-version.patch
new file mode 100644
index 0000000..c18095d
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Update-Gettext-version.patch
@@ -0,0 +1,34 @@
+From a4290bf1887f9203288858ca76bdd20b2edf337a Mon Sep 17 00:00:00 2001
+From: Baptiste Durand <baptiste.durand@gmail.com>
+Date: Sun, 9 Sep 2018 20:50:41 +0200
+Subject: [PATCH] Update Gettext version
+
+Upstream-Status: Inappropriate [oe-core specific]
+
+Signed-off-by: Baptiste Durand <baptiste.durand@gmail.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f343d21..a556b33 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -14,7 +14,7 @@
+ # License along with MiniDLNA; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ # USA.
+-AC_INIT(MiniDLNA,1.1.3,,minidlna)
++AC_INIT(MiniDLNA,1.2.1,,minidlna)
+ #LT_INIT
+
+ AC_CANONICAL_TARGET
+@@ -28,7 +28,7 @@ m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], [AC_USE_SYSTEM_EXTENSIONS])
+
+ AM_ICONV
+ AM_GNU_GETTEXT([external])
+-AM_GNU_GETTEXT_VERSION(0.18)
++AM_GNU_GETTEXT_VERSION(0.19)
+
+ # Checks for programs.
+ AC_PROG_AWK
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna/minidlna-daemon.init.d b/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna/minidlna-daemon.init.d
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna/minidlna-daemon.init.d
rename to meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna/minidlna-daemon.init.d
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna/minidlna.service b/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna/minidlna.service
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna/minidlna.service
rename to meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna/minidlna.service
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna_1.2.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna_1.2.1.bb
new file mode 100644
index 0000000..999d85c
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna_1.2.1.bb
@@ -0,0 +1,4 @@
+require ${BPN}.inc
+
+SRCREV = "c760a338e07ebd11d62fef701e3de824a91f8625"
+LIC_FILES_CHKSUM = "file://LICENCE.miniupnpd;md5=b0dabf9d8e0f871554e309d62ead8d2b"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
index 16e5213..ca9d94a 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
@@ -22,10 +22,12 @@
git clean -dfx -e /.pc/ -e /patches/ .
mkdir build-native
cd build-native
- cmake -DCMAKE_C_FLAGS=${BUILD_CFLAGS} \
+ LDFLAGS="${BUILD_LDFLAGS}" \
+ cmake -DCMAKE_C_FLAGS=${BUILD_CFLAGS} \
-DCMAKE_C_COMPILER=${BUILD_CC} \
-DCMAKE_CXX_FLAGS=${BUILD_CXXFLAGS} \
-DCMAKE_CXX_COMPILER=${BUILD_CXX} \
+ -DCMAKE_EXE_LINKER_FLAGS=${BUILD_LDFLAGS} \
..
make make-c-interface
cd ..
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.16.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.16.bb
new file mode 100644
index 0000000..455e76f
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.16.bb
@@ -0,0 +1,22 @@
+SUMMARY = "C client library for the Music Player Daemon"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=06b9dfd2f197dc514d8ef06549684b77"
+HOMEPAGE = "https://www.musicpd.org/libs/libmpdclient/"
+
+inherit meson
+
+SRC_URI = " \
+ git://github.com/MusicPlayerDaemon/libmpdclient \
+"
+SRCREV = "4e8d990eb5239566ee948f1cd79b7248e008620a"
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= "tcp"
+PACKAGECONFIG[tcp] = "-Dtcp=true,-Dtcp=false"
+
+do_install_append() {
+ # libmpdclient's Vala bindings are outdated and unmaintained; it
+ # is likely that nobody will ever use them, so let's not install
+ # them
+ rm -rf ${D}${datadir}/vala
+}
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpc_0.31.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpc_0.31.bb
new file mode 100644
index 0000000..41abe71
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpc_0.31.bb
@@ -0,0 +1,16 @@
+SUMMARY = "A minimalist command line interface to the Music Player Daemon"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+HOMEPAGE = "https://www.musicpd.org/clients/mpc/"
+
+inherit meson
+
+DEPENDS += " \
+ libmpdclient \
+"
+
+SRC_URI = " \
+ git://github.com/MusicPlayerDaemon/mpc \
+"
+SRCREV = "59875acdf34e5f0eac0c11453c49daef54f78413"
+S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.18.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.18.bb
deleted file mode 100644
index 6754f34..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.18.bb
+++ /dev/null
@@ -1,100 +0,0 @@
-SUMMARY = "Music Player Daemon"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-HOMEPAGE ="http://www.musicpd.org"
-
-inherit autotools useradd systemd pkgconfig
-
-DEPENDS += " \
- alsa-lib \
- libsamplerate0 \
- libsndfile1 \
- libvorbis \
- libogg \
- faad2 \
- ffmpeg \
- curl \
- sqlite \
- bzip2 \
- ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
- tcp-wrappers \
- openal-soft \
- yajl \
- jack \
- faad2 \
- flac \
- libao \
- fluidsynth \
- libcdio \
- wavpack \
- libopus \
- mpg123 \
- libmms \
- libmodplug \
- boost \
- icu \
- dbus \
- expat \
- zlib \
- libupnp \
-"
-
-# While this item does not require it, it depends on mpg123 which does
-LICENSE_FLAGS = "commercial"
-
-SRC_URI = " \
- http://www.musicpd.org/download/${BPN}/0.20/${BP}.tar.xz \
- file://mpd.conf.in \
-"
-SRC_URI[md5sum] = "8dc87ba95473fd738f2aff9bd69cc212"
-SRC_URI[sha256sum] = "6a582dc2ae90b94ff3853f9ffd7d80b2c2b5fe2e2c35cb1da0b36f3f3dfad434"
-
-EXTRA_OECONF = "enable_bzip2=yes"
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
-
-PACKAGECONFIG[audiofile] = "--enable-audiofile,--disable-audiofile,audiofile"
-PACKAGECONFIG[cdioparanoia] = "--enable-cdio-paranoia,--disable-cdio-paranoia,libcdio-paranoia"
-PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
-PACKAGECONFIG[id3tag] = "--enable-id3,--disable-id3,libid3tag"
-PACKAGECONFIG[lame] = "--enable-lame-encoder,--disable-lame-encoder,lame"
-PACKAGECONFIG[smb] = "--enable-smbclient,--disable-smbclient,samba"
-
-do_configure_prepend() {
- sed -i -e 's|libsystemd-daemon|libsystemd|' ${S}/configure.ac
-}
-
-do_install_append() {
- install -d ${D}/${localstatedir}/lib/mpd/music
- chmod 775 ${D}/${localstatedir}/lib/mpd/music
- install -d ${D}/${localstatedir}/lib/mpd/playlists
- chown -R mpd ${D}/${localstatedir}/lib/mpd
- chown mpd:mpd ${D}/${localstatedir}/lib/mpd/music
-
- install -d ${D}/${sysconfdir}
- install -m 644 ${WORKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf
- sed -i \
- -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \
- -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \
- -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \
- -e 's|%log_file%|${localstatedir}/log/mpd.log|' \
- -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \
- ${D}/${sysconfdir}/mpd.conf
-
- if [ -e ${D}/${systemd_unitdir}/system/mpd.service ] ; then
- sed -i \
- 's|^ExecStart=.*|ExecStart=${bindir}/mpd --no-daemon|' \
- ${D}/${systemd_unitdir}/system/mpd.service
- fi
-}
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "mpd.socket"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = " \
- --system --no-create-home \
- --home ${localstatedir}/lib/mpd \
- --groups audio \
- --user-group mpd"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb
new file mode 100644
index 0000000..6c6ad42
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb
@@ -0,0 +1,99 @@
+SUMMARY = "Music Player Daemon"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+HOMEPAGE ="http://www.musicpd.org"
+
+inherit autotools useradd systemd pkgconfig
+
+DEPENDS += " \
+ curl \
+ sqlite3 \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
+ yajl \
+ boost \
+ icu \
+ dbus \
+ expat \
+"
+
+SRC_URI = " \
+ git://github.com/MusicPlayerDaemon/MPD;branch=v0.20.x \
+ file://mpd.conf.in \
+"
+SRCREV = "9274bc15bc41bbe490fde847f8422468cc20375d"
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
+
+PACKAGECONFIG ??= "alsa ao bzip2 daemon ffmpeg fifo flac fluidsynth iso9660 jack libsamplerate libwrap httpd mms mpg123 modplug sndfile upnp openal opus oss recorder vorbis wavpack zlib"
+PACKAGECONFIG += "${@bb.utils.contains('LICENSE_FLAGS', 'commercial', 'aac', '', d)}"
+
+PACKAGECONFIG[aac] = "--enable-aac,--disable-aac,faad2"
+PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
+PACKAGECONFIG[ao] = "--enable-ao,--disable-ao,libao"
+PACKAGECONFIG[audiofile] = "--enable-audiofile,--disable-audiofile,audiofile"
+PACKAGECONFIG[bzip2] = "--enable-bzip2,--disable-bzip2,bzip2"
+PACKAGECONFIG[cdioparanoia] = "--enable-cdio-paranoia,--disable-cdio-paranoia,libcdio-paranoia"
+PACKAGECONFIG[daemon] = "--enable-daemon,--disable-daemon"
+PACKAGECONFIG[ffmpeg] = "--enable-ffmpeg,--disable-ffmpeg,ffmpeg"
+PACKAGECONFIG[fifo] = "--enable-fifo,--disable-fifo"
+PACKAGECONFIG[flac] = "--enable-flac,--disable-flac,flac"
+PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,--disable-fluidsynth,fluidsynth"
+PACKAGECONFIG[httpd] = "--enable-httpd-output,--disable-httpd-output"
+PACKAGECONFIG[id3tag] = "--enable-id3,--disable-id3,libid3tag"
+PACKAGECONFIG[iso9660] = "--enable-iso9660,--disable-iso9660,libcdio"
+PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
+PACKAGECONFIG[lame] = "--enable-lame-encoder,--disable-lame-encoder,lame"
+PACKAGECONFIG[libsamplerate] = "--enable-lsr,--disable-lsr,libsamplerate0"
+PACKAGECONFIG[libwrap] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
+PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
+PACKAGECONFIG[mms] = "--enable-mms,--disable-mms,libmms"
+PACKAGECONFIG[modplug] = "--enable-modplug,--disable-modplug,libmodplug"
+PACKAGECONFIG[mpg123] = "--enable-mpg123,--disable-mpg123,mpg123"
+PACKAGECONFIG[openal] = "--enable-openal,--disable-openal,openal-soft"
+PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus libogg"
+PACKAGECONFIG[oss] = "--enable-oss,--disable-oss,"
+PACKAGECONFIG[recorder] = "--enable-recorder-output,--disable-recorder-output"
+PACKAGECONFIG[smb] = "--enable-smbclient,--disable-smbclient,samba"
+PACKAGECONFIG[sndfile] = "--enable-sndfile,--disable-sndfile,libsndfile1"
+PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp"
+PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg"
+PACKAGECONFIG[wavpack] = "--enable-wavpack,--disable-wavpack,wavpack"
+PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
+
+do_configure_prepend() {
+ sed -i -e 's|libsystemd-daemon|libsystemd|' ${S}/configure.ac
+}
+
+do_install_append() {
+ install -o mpd -d \
+ ${D}/${localstatedir}/lib/mpd \
+ ${D}/${localstatedir}/lib/mpd/playlists
+ install -m775 -o mpd -g mpd -d \
+ ${D}/${localstatedir}/lib/mpd/music
+
+ install -d ${D}/${sysconfdir}
+ install -m 644 ${WORKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf
+ sed -i \
+ -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \
+ -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \
+ -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \
+ -e 's|%log_file%|${localstatedir}/log/mpd.log|' \
+ -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \
+ ${D}/${sysconfdir}/mpd.conf
+
+ # we don't need the icon
+ rm -rf ${D}${datadir}/icons
+}
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "mpd.socket"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = " \
+ --system --no-create-home \
+ --home ${localstatedir}/lib/mpd \
+ --groups audio \
+ --user-group mpd"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.33.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.33.bb
new file mode 100644
index 0000000..8468d12
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.33.bb
@@ -0,0 +1,37 @@
+SUMMARY = "A curses client for the Music Player Daemon"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+HOMEPAGE = "https://www.musicpd.org/clients/ncmpc/"
+
+inherit meson
+
+DEPENDS += " \
+ boost \
+ ncurses \
+ libmpdclient \
+"
+
+PACKAGECONFIG ??= "colors locale mouse nls regex help_screen artist_screen search_screen song_screen key_screen lyrics_screen outputs_screen"
+
+PACKAGECONFIG[colors] = "-Dcolors=true,-Dcolors=false"
+PACKAGECONFIG[lirc] = "-Dlirc=enabled,-Dlirc=disabled,lirc"
+PACKAGECONFIG[locale] = "-Dlocale=enabled,-Dlocale=disabled"
+PACKAGECONFIG[mini] = "-Dmini=true,-Dmini=false"
+PACKAGECONFIG[mouse] = "-Dmouse=enabled,-Dmouse=disabled"
+PACKAGECONFIG[nls] = "-Dnls=enabled,-Dnls=disabled,gettext-native"
+PACKAGECONFIG[regex] = "-Dregex=enabled,-Dregex=disabled,pcre"
+
+PACKAGECONFIG[help_screen] = "-Dhelp_screen=true,-Dhelp_screen=false"
+PACKAGECONFIG[artist_screen] = "-Dartist_screen=true,-Dartist_screen=false"
+PACKAGECONFIG[search_screen] = "-Dsearch_screen=true,-Dsearch_screen=false"
+PACKAGECONFIG[song_screen] = "-Dsong_screen=true,-Dsong_screen=false"
+PACKAGECONFIG[key_screen] = "-Dkey_screen=true,-Dkey_screen=false"
+PACKAGECONFIG[lyrics_screen] = "-Dlyrics_screen=true,-Dlyrics_screen=false"
+PACKAGECONFIG[outputs_screen] = "-Doutputs_screen=true,-Doutputs_screen=false"
+PACKAGECONFIG[chat_screen] = "-Dchat_screen=true,-Dchat_screen=false"
+
+SRC_URI = " \
+ git://github.com/MusicPlayerDaemon/ncmpc \
+"
+SRCREV = "8e98f89ff07b140e6357dab2a9a9f6432ae0e521"
+S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch
index bb3d8b0..6e11c97 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch
@@ -8,11 +8,11 @@
===================================================================
--- git.orig/librtmp/Makefile
+++ git/librtmp/Makefile
-@@ -107,6 +107,7 @@ install_base: librtmp.a librtmp.pc
+@@ -115,6 +115,7 @@ install_base: librtmp.a librtmp.pc
cp librtmp.3 $(MANDIR)/man3
- install_so: librtmp.$(SO_EXT)
+ install_so: librtmp$(SO_EXT)
+ -mkdir -p $(SODIR)
- cp librtmp.$(SO_EXT) $(SODIR)
- cd $(SODIR); ln -sf librtmp.$(SO_EXT) librtmp.$(SOX)
-
+ cp librtmp$(SO_EXT) $(SODIR)
+ $(INSTALL_IMPLIB)
+ cd $(SODIR); ln -sf librtmp$(SO_EXT) librtmp.$(SOX)
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb
index c5513b0..a72b0d6 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb
@@ -5,9 +5,9 @@
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "openssl zlib"
+DEPENDS = "openssl10 zlib"
-SRCREV = "3121324046e4ca1934e7e28293fc8326475d5053"
+SRCREV = "fa8646daeb19dfd12c181f7d19de708d623704c0"
SRC_URI = " \
git://git.ffmpeg.org/rtmpdump \
file://fix-racing-build-issue.patch"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb
new file mode 100644
index 0000000..157e4c9
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "TinyALSA is a small library to interface with ALSA in \
+the Linux kernel. It is a lightweight alternative to libasound."
+HOMEPAGE = "https://github.com/tinyalsa/tinyalsa"
+SECTION = "libs/multimedia"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://NOTICE;md5=dbdefe400d894b510a9de14813181d0b"
+
+SRCREV = "67b9210d344c34e8d1aa0cfe638abce71c5221ca"
+SRC_URI = "git://github.com/tinyalsa/tinyalsa"
+PV = "1.1.1+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+# tinyalsa is built as a static library. Enable PIC to avoid relocation
+# errors like these:
+#
+# unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol `stderr@@GLIBC_2.17'
+CFLAGS += " -fPIC -DPIC "
+
+PACKAGES =+ "${PN}-tools"
+FILES_${PN}-tools = "${bindir}/*"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_1.1.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_1.1.1.bb
deleted file mode 100644
index 66b95db..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_1.1.1.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "TinyALSA is a small library to interface with ALSA in \
-the Linux kernel. It is a lightweight alternative to libasound."
-HOMEPAGE = "https://github.com/tinyalsa/tinyalsa"
-SECTION = "libs/multimedia"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://NOTICE;md5=dbdefe400d894b510a9de14813181d0b"
-
-S = "${WORKDIR}/git"
-SRCREV = "df11091086b56e5fb71887f2fa320e1d2ffeff58"
-SRC_URI = "git://github.com/tinyalsa/tinyalsa.git;protocol=https;"
-
-do_configure() {
- :
-}
-
-do_compile() {
- oe_runmake CC='${CC}' LD='${CC}' AR='${AR}'
-}
-
-do_install() {
- oe_runmake install \
- PREFIX="${prefix}" DESTDIR="${D}" INCDIR="${includedir}/tinyalsa" \
- LIBDIR="${libdir}" BINDIR="${bindir}" MANDIR="${mandir}"
-}
-
-PACKAGES =+ "${PN}-tools"
-FILES_${PN}-tools = "${bindir}/*"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc
index 8e82b3b..f13c0ea 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc
@@ -5,7 +5,7 @@
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "libfribidi libtool libgcrypt libgcrypt-native \
+DEPENDS = "fribidi libtool libgcrypt libgcrypt-native \
dbus dbus-glib libxml2 gnutls \
tremor faad2 ffmpeg flac fluidsynth alsa-lib \
lua-native lua libidn \
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb
index e43cb40..8e9914b 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb
@@ -8,7 +8,7 @@
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "libogg libvorbis curl libao"
+DEPENDS = "libogg libvorbis"
SRC_URI = "http://downloads.xiph.org/releases/vorbis/${BP}.tar.gz \
file://0001-oggenc-Fix-large-alloca-on-bad-AIFF-input.patch \
@@ -20,6 +20,7 @@
inherit autotools pkgconfig gettext
-PACKAGECONFIG ??= "flac"
+PACKAGECONFIG ??= "flac ogg123"
PACKAGECONFIG[flac] = ",--without-flac,flac,libflac"
PACKAGECONFIG[speex] = ",--without-speex,speex,speex"
+PACKAGECONFIG[ogg123] = "--enable-ogg123,--disable-ogg123,libao curl"
diff --git a/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_0.2.3.bb b/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_0.2.3.bb
deleted file mode 100644
index 07d0c55..0000000
--- a/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_0.2.3.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Profiling utilities for GStreamer 1.0 pipelines"
-HOMEPAGE = "https://github.com/kirushyk/gst-instruments"
-SECTION = "multimedia"
-
-LICENSE = "LGPL-3.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e6a600fd5e1d9cbde2d983680233ad02"
-
-DEPENDS = "gstreamer1.0"
-
-S = "${WORKDIR}/git"
-SRCREV = "4ce8092636ee6572148b5fa044080734cf5a6b8d"
-SRC_URI = "git://github.com/kirushyk/gst-instruments.git;protocol=https;"
-
-FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*a"
-FILES_${PN} += "${libdir}/*"
-
-INSANE_SKIP_${PN} = "dev-so"
-
-inherit autotools pkgconfig
-
diff --git a/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb b/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb
new file mode 100644
index 0000000..feffa9f
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Profiling utilities for GStreamer 1.0 pipelines"
+HOMEPAGE = "https://github.com/kirushyk/gst-instruments"
+SECTION = "multimedia"
+
+LICENSE = "LGPL-3.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+DEPENDS = "gstreamer1.0"
+
+S = "${WORKDIR}/git"
+SRCREV = "3b862e52e5c53ad1023dc6808effa4cb75572c4b"
+SRC_URI = "git://github.com/kirushyk/gst-instruments.git;protocol=https;"
+
+FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*a"
+FILES_${PN} += "${libdir}/*"
+
+INSANE_SKIP_${PN} = "dev-so"
+
+inherit autotools pkgconfig
+
diff --git a/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb b/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb
deleted file mode 100644
index ee8c68b..0000000
--- a/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "library implementing Secure RTP (RFC 3711)"
-HOMEPAGE = "https://github.com/cisco/libsrtp"
-SECTION = "libs"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=15bc16b9d2e305974dde47e733883714"
-
-S = "${WORKDIR}/git"
-SRCREV = "e806a66bad35f4b215b7a825c24ef0ec4cc19569"
-SRC_URI = "git://github.com/cisco/libsrtp.git;protocol=https; \
- file://0001-Rename-conflicting-variable-mips.patch \
- "
-
-inherit autotools
-
-do_install[postfuncs] += " rm_unused_bindir "
-
-rm_unused_bindir() {
- rmdir ${D}/${bindir}
-}
-
-ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb b/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb
new file mode 100644
index 0000000..d3ab5b7
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "library implementing Secure RTP (RFC 3711)"
+HOMEPAGE = "https://github.com/cisco/libsrtp"
+SECTION = "libs"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=15bc16b9d2e305974dde47e733883714"
+
+S = "${WORKDIR}/git"
+SRCREV = "2b091a4fb21c9b06fc5d4b5763bdaec97542fcd7"
+SRC_URI = "git://github.com/cisco/libsrtp.git;protocol=https;branch=1_6_x_throttle; \
+ file://0001-Rename-conflicting-variable-mips.patch \
+ "
+
+inherit autotools
+
+ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-openembedded/meta-networking/MAINTAINERS b/meta-openembedded/meta-networking/MAINTAINERS
index bbb2d1b..945ee86 100644
--- a/meta-openembedded/meta-networking/MAINTAINERS
+++ b/meta-openembedded/meta-networking/MAINTAINERS
@@ -2,34 +2,12 @@
Please submit any patches against meta-networking to the OpenEmbedded
development mailing list (openembedded-devel@lists.openembedded.org) with
-'[meta-networking]' in the subject.
+'[meta-networking][thud]' in the subject.
When sending single patches, please use something like:
git send-email -1 -M \
--to openembedded-devel@lists.openembedded.org \
- --subject-prefix=meta-networking][PATCH
+ --subject-prefix=meta-networking][thud][PATCH
-You may also contact the maintainers directly.
-
-Descriptions of section entries:
-
- M: Mail patches to: FullName <address@domain>
- F: Files and directories with wildcard patterns.
- A trailing slash includes all files and subdirectory files.
- F: recipes-devtools/ all files in and below recipes-devtools
- F: recipes-selinux/* all files in recipes-selinux, but not below
- One pattern per line. Multiple F: lines acceptable.
-
-Please keep this list in alphabetical order.
-
-Maintainers List (try to look for most precise areas first)
-
-COMMON
-M: Joe MacDonald <joe_macdonald@mentor.com>
-F: conf
-F: recipes-*
-
-NETKIT
-M: Armin Kuster <akuster808@gmail.com>
-F: recipes-netkit
+Thud Maintainer: Armin Kuster <akuster808@gmail.com>
diff --git a/meta-openembedded/meta-networking/README b/meta-openembedded/meta-networking/README
index e1ba27d..7a4aca4 100644
--- a/meta-openembedded/meta-networking/README
+++ b/meta-openembedded/meta-networking/README
@@ -18,19 +18,19 @@
This layer depends on:
URI: git://github.com/openembedded/openembedded-core.git
-branch: master
+branch: thud
revision: HEAD
For some recipes, the meta-oe layer is required:
URI: git://github.com/openembedded/meta-openembedded.git
subdirectory: meta-oe
-branch: master
+branch: thud
revision: HEAD
URI: git://github.com/openembedded/meta-openembedded.git
subdirectory: meta-python
-branch: master
+branch: thud
revision: HEAD
Maintenance
diff --git a/meta-openembedded/meta-networking/classes/kernel_wireless_regdb.bbclass b/meta-openembedded/meta-networking/classes/kernel_wireless_regdb.bbclass
new file mode 100644
index 0000000..1238172
--- /dev/null
+++ b/meta-openembedded/meta-networking/classes/kernel_wireless_regdb.bbclass
@@ -0,0 +1,20 @@
+# Linux kernels before v4.15, allowed to be compiled with static
+# regulatory database if it was put under net/wireless/db.txt.
+#
+# This class copies the regulatory plaintext database to kernel sources before
+# compiling.
+#
+# Usage:
+# 1. The class should be inherited by kernel recipe (e.g. in
+# linux-yocto_%.bbappend).
+# 2. For Linux kernels up to v4.14, build kernel with CONFIG_EXPERT and
+# CONFIG_CFG80211_INTERNAL_REGDB.
+
+DEPENDS += "wireless-regdb-native"
+
+SRCTREECOVEREDTASKS += "do_kernel_add_regdb"
+do_kernel_add_regdb() {
+ cp ${STAGING_LIBDIR_NATIVE}/crda/db.txt ${S}/net/wireless/db.txt
+}
+do_kernel_add_regdb[dirs] = "${S}"
+addtask kernel_add_regdb before do_build after do_configure
diff --git a/meta-openembedded/meta-networking/conf/layer.conf b/meta-openembedded/meta-networking/conf/layer.conf
index e594b7b..d36ff5b 100644
--- a/meta-openembedded/meta-networking/conf/layer.conf
+++ b/meta-openembedded/meta-networking/conf/layer.conf
@@ -17,7 +17,7 @@
LAYERDEPENDS_networking-layer += "openembedded-layer"
LAYERDEPENDS_networking-layer += "meta-python"
-LAYERSERIES_COMPAT_networking-layer = "sumo"
+LAYERSERIES_COMPAT_networking-layer = "thud"
LICENSE_PATH += "${LAYERDIR}/licenses"
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
new file mode 100644
index 0000000..a5cd998
--- /dev/null
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
@@ -0,0 +1,40 @@
+Checking uname sysname type: "Linux"
+Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
+Checking simple C program: "hello world"
+rpath library support: OK
+-Wl,--version-script support: OK
+Checking getconf LFS_CFLAGS: NO
+Checking correct behavior of strtoll: NO
+Checking for working strptime: OK
+Checking for C99 vsnprintf: "1"
+Checking for HAVE_SHARED_MMAP: OK
+Checking for HAVE_MREMAP: OK
+Checking for HAVE_SECURE_MKSTEMP: OK
+Checking for HAVE_IFACE_GETIFADDRS: NO
+Checking for HAVE_IFACE_IFCONF: NO
+Checking for HAVE_IFACE_IFREQ: NO
+Checking for large file support without additional flags: NO
+Checking for -D_FILE_OFFSET_BITS=64: OK
+Checking for HAVE_INCOHERENT_MMAP: NO
+Checking value of NSIG: "65"
+Checking value of _NSIG: "65"
+Checking value of SIGRTMAX: "64"
+Checking value of SIGRTMIN: "34"
+Checking whether the WRFILE -keytab is supported: OK
+Checking for kernel change notify support: OK
+Checking for Linux kernel oplocks: OK
+Checking for kernel share modes: OK
+Checking whether POSIX capabilities are available: OK
+Checking if can we convert from CP850 to UCS-2LE: OK
+Checking if can we convert from UTF-8 to UCS-2LE: OK
+vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
+Checking whether we can use Linux thread-specific credentials with 32-bit system calls: OK
+Checking whether fcntl locking is available: OK
+Checking for the maximum value of the 'time_t' type: NO
+Checking whether the realpath function allows a NULL argument: OK
+Checking for ftruncate extend: OK
+getcwd takes a NULL argument: OK
+Checking for small off_t: NO
+Checking whether blkcnt_t is 32 bit: NO
+Checking whether blkcnt_t is 64 bit: OK
+Checking whether fcntl lock supports open file description locks: OK
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman/0001-Search-for-cython3.patch b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman/0001-Search-for-cython3.patch
new file mode 100644
index 0000000..269174b
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman/0001-Search-for-cython3.patch
@@ -0,0 +1,31 @@
+From 77db892cdee265e971270c06ca1ffbaeea6449a3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Tue, 26 Jun 2018 00:27:40 +0200
+Subject: [PATCH] Search for cython3
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 727089d1..6b565cdc 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -58,7 +58,7 @@ AC_SUBST([PYGOBJECT_LIBS])
+
+ AC_ARG_VAR([CYTHONEXEC], [Cython compiler])
+ if test "x$CYTHONEXEC" = "x"; then
+- AC_PATH_PROG([CYTHONEXEC],[cython])
++ AC_PATH_PROG([CYTHONEXEC],[cython3])
+ fi
+ AC_SUBST([CYTHONEXEC])
+ AC_MSG_CHECKING([for cython executable])
+--
+2.14.3
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_git.bb
new file mode 100644
index 0000000..947db78
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_git.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "Blueman is a GTK+ Bluetooth Manager"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "bluez5 python3-pygobject python3-cython-native python3-setuptools-native intltool-native"
+
+inherit autotools systemd gsettings python3native gtk-icon-cache
+
+SRC_URI = " \
+ git://github.com/blueman-project/blueman.git \
+ file://0001-Search-for-cython3.patch \
+"
+SRCREV = "c4a03417e81e21543d4568e8e7f7de307582eb50"
+PV = "2.0.5+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF = " \
+ --disable-runtime-deps-check \
+ --disable-schemas-compile \
+"
+
+SYSTEMD_SERVICE_${PN} = "${BPN}-mechanism.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+RRECOMENDS_${PN} += "adwaita-icon-theme"
+RDEPENDS_${PN} += " \
+ python3-dbus \
+ packagegroup-tools-bluetooth \
+"
+
+PACKAGECONFIG[thunar] = "--enable-thunar-sendto,--disable-thunar-sendto,,thunar"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/Thunar \
+ ${systemd_user_unitdir} \
+ ${exec_prefix}${systemd_system_unitdir} \
+ ${PYTHON_SITEPACKAGES_DIR} \
+"
+
+FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/_blueman.a"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-Unittest-Link-librt-and-libm-using-l-option.patch b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-Unittest-Link-librt-and-libm-using-l-option.patch
new file mode 100644
index 0000000..eecbc14
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-Unittest-Link-librt-and-libm-using-l-option.patch
@@ -0,0 +1,40 @@
+From 21e9a4bb214648ffd43c66b535fbf096bfcc9f4f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 24 Jun 2018 00:04:37 -0700
+Subject: [PATCH] Unittest: Link librt and libm using -l option
+
+cmake'ry forces full path to .so files when found using
+find_package and since we have proper sysrooted toolchain
+-lm and -lrt is all we need
+
+Upstream-Status: Inappropriate [Cross compile specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unittest/CMakeLists.txt | 10 ++--------
+ 1 file changed, 2 insertions(+), 8 deletions(-)
+
+diff --git a/unittest/CMakeLists.txt b/unittest/CMakeLists.txt
+index c4cdf229..e1b63caf 100644
+--- a/unittest/CMakeLists.txt
++++ b/unittest/CMakeLists.txt
+@@ -57,14 +57,8 @@ elseif (WIN32)
+ else()
+ set(CHECK_LIBRARIES "${CHECK_INSTALL_DIR}/lib/libcheck.a")
+ endif()
+-find_package(LibM)
+-if (LIBM_FOUND)
+- set(CHECK_LIBRARIES "${CHECK_LIBRARIES};LIBM::LIBM")
+-endif()
+-find_package(LibRt)
+-if (LIBRT_FOUND)
+- set(CHECK_LIBRARIES "${CHECK_LIBRARIES};LIBRT::LIBRT")
+-endif()
++set(CHECK_LIBRARIES "${CHECK_LIBRARIES};-lm")
++set(CHECK_LIBRARIES "${CHECK_LIBRARIES};-lrt")
+
+ # Build the C unit tests
+ add_library(shared-c-unit-tests STATIC shared.c)
+--
+2.18.0
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-undefine-macro-before-redefining.patch b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-undefine-macro-before-redefining.patch
new file mode 100644
index 0000000..8653302
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-undefine-macro-before-redefining.patch
@@ -0,0 +1,26 @@
+From 59f65235a7a690f50d1686e9977908c053697d8c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Aug 2018 22:59:13 -0700
+Subject: [PATCH] undefine macro before redefining
+
+Fixes
+src/main.c:89:9: error: 'printf' macro redefined [-Werror,-Wmacro-redefined]
+
+Upstream-Stats: Submitted [https://github.com/civetweb/civetweb/pull/649]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/main.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/main.c b/src/main.c
+index bbcb0aec..01191a3c 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -86,6 +86,7 @@
+
+ #include "civetweb.h"
+
++#undef printf
+ #define printf \
+ DO_NOT_USE_THIS_FUNCTION__USE_fprintf /* Required for unit testing */
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb
new file mode 100644
index 0000000..d681f7f
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Civetweb embedded web server"
+HOMEPAGE = "https://github.com/civetweb/civetweb"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6f28fdcba0dda735eed62bac6a397562"
+
+SRCREV = "19f31ba8dd8443e86c7028a4b4c37f4b299aa68c"
+PV = "1.10+git${SRCPV}"
+SRC_URI = "git://github.com/civetweb/civetweb.git \
+ file://0001-Unittest-Link-librt-and-libm-using-l-option.patch \
+ file://0001-undefine-macro-before-redefining.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+# civetweb supports building with make or cmake (although cmake lacks few features)
+inherit cmake
+
+# Disable Lua and Duktape because they do not compile from CMake (as of v1.8, v1.9 and v1.10).
+# Disable ASAN as it is included only in Debug build.
+EXTRA_OECMAKE = " \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCIVETWEB_ENABLE_DUKTAPE=OFF \
+ -DCIVETWEB_ENABLE_LUA=OFF \
+ -DCIVETWEB_ENABLE_ASAN=OFF \
+ -DCIVETWEB_BUILD_TESTING=OFF \
+"
+
+# Building with ninja fails on missing third_party/lib/libcheck.a (which
+# should come from external CMake project)
+OECMAKE_GENERATOR = "Unix Makefiles"
+
+PACKAGECONFIG ??= "caching ipv6 server ssl websockets"
+PACKAGECONFIG[caching] = "-DCIVETWEB_DISABLE_CACHING=OFF,-DCIVETWEB_DISABLE_CACHING=ON,"
+PACKAGECONFIG[cgi] = "-DCIVETWEB_DISABLE_CGI=OFF,-DCIVETWEB_DISABLE_CGI=ON,"
+PACKAGECONFIG[cpp] = "-DCIVETWEB_ENABLE_CXX=ON,-DCIVETWEB_ENABLE_CXX=OFF,"
+PACKAGECONFIG[debug] = "-DCIVETWEB_ENABLE_MEMORY_DEBUGGING=ON,-DCIVETWEB_ENABLE_MEMORY_DEBUGGING=OFF,"
+PACKAGECONFIG[ipv6] = "-DCIVETWEB_ENABLE_IPV6=ON,-DCIVETWEB_ENABLE_IPV6=OFF,"
+PACKAGECONFIG[server] = "-DCIVETWEB_INSTALL_EXECUTABLE=ON,-DCIVETWEB_INSTALL_EXECUTABLE=OFF,"
+PACKAGECONFIG[ssl] = "-DCIVETWEB_ENABLE_SSL=ON -DCIVETWEB_SSL_OPENSSL_API_1_1=OFF -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=OFF,-DCIVETWEB_ENABLE_SSL=OFF,openssl (=1.0.2%),"
+PACKAGECONFIG[websockets] = "-DCIVETWEB_ENABLE_WEBSOCKETS=ON,-DCIVETWEB_ENABLE_WEBSOCKETS=OFF,"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb b/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb
index 82a297b..d5d2ab6 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb
@@ -4,7 +4,10 @@
LICENSE = "copyleft-next-0.3.0"
LIC_FILES_CHKSUM = "file://copyleft-next-0.3.0;md5=8743a2c359037d4d329a31e79eabeffe"
-DEPENDS = "python-m2crypto-native python-typing-native python-native libgcrypt libnl openssl"
+DEPENDS = "python-m2crypto-native python-typing-native python-native libnl \
+ ${@oe.utils.conditional("DEFAULT_CRYPT", "gcrypt", "libgcrypt", "", d)} \
+ ${@oe.utils.conditional("DEFAULT_CRYPT", "openssl", "openssl10", "", d)} \
+ "
SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \
file://do-not-run-ldconfig-if-destdir-is-set.patch \
@@ -18,10 +21,15 @@
SRC_URI[md5sum] = "0431fef3067bf503dfb464069f06163a"
SRC_URI[sha256sum] = "43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e8ecdbf"
-inherit python-dir pythonnative
+inherit python-dir pythonnative siteinfo
+
+# "gcrypt" or "openssl"
+DEFAULT_CRYPT ??= "gcrypt"
+
# Recursive make problem
-EXTRA_OEMAKE = "MAKEFLAGS= DESTDIR=${D} LIBDIR=${libdir}/crda LDLIBREG='-Wl,-rpath,${libdir}/crda -lreg'"
-EXTRA_OEMAKE_append = " USE_OPENSSL=1"
+EXTRA_OEMAKE = "MAKEFLAGS= DESTDIR=${D} LIBDIR=${libdir}/crda LDLIBREG='-Wl,-rpath,${libdir}/crda -lreg' \
+ UDEV_RULE_DIR=${nonarch_libdir}/udev/rules.d/"
+EXTRA_OEMAKE_append = " ${@oe.utils.conditional("DEFAULT_CRYPT", "openssl", "USE_OPENSSL=1", "", d)}"
TARGET_BITS = "${SITEINFO_BITS}"
export TARGET_BITS
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.6.bb b/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.6.bb
index ec35175..42ffb17 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.6.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.6.bb
@@ -6,7 +6,7 @@
PARALLEL_MAKE = ""
-DEPENDS = "libpcap libpcre libdnet"
+DEPENDS = "libpcap libpcre libdnet bison-native"
SRC_URI = "http://fossies.org/linux/misc/daq-${PV}.tar.gz \
file://disable-run-test-program-while-cross-compiling.patch \
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch
new file mode 100644
index 0000000..9e1f5b2
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch
@@ -0,0 +1,44 @@
+From fecf974b63f72eeb12d3b43522e948ca2bc704d4 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 11 Oct 2018 09:45:52 +0800
+Subject: [PATCH] freeradius: correct version number of libssl defect
+
+Upstream-Status: Backport [https://github.com/FreeRADIUS/freeradius-server
+ /commit/ad039347beca4ded297813a1da6eabb61fcf2ddd]
+
+upstream have refactored this part code into
+src/lib/tls/base.c, and problem also have fixed
+by commit ad039347beca
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ src/main/tls.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/main/tls.c b/src/main/tls.c
+index acbfe79..d9c91f1 100644
+--- a/src/main/tls.c
++++ b/src/main/tls.c
+@@ -72,15 +72,15 @@ typedef struct libssl_defect {
+ static libssl_defect_t libssl_defects[] =
+ {
+ {
+- .low = 0x01010101f, /* 1.1.0a */
+- .high = 0x01010101f, /* 1.1.0a */
++ .low = 0x01010001f, /* 1.1.0a */
++ .high = 0x01010001f, /* 1.1.0a */
+ .id = "CVE-2016-6309",
+ .name = "OCSP status request extension",
+ .comment = "For more information see https://www.openssl.org/news/secadv/20160926.txt"
+ },
+ {
+- .low = 0x01010100f, /* 1.1.0 */
+- .high = 0x01010100f, /* 1.1.0 */
++ .low = 0x010100000f, /* 1.1.0 */
++ .high = 0x01010000f, /* 1.1.0 */
+ .id = "CVE-2016-6304",
+ .name = "OCSP status request extension",
+ .comment = "For more information see https://www.openssl.org/news/secadv/20160922.txt"
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-allow-cross-compilation.patch b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-allow-cross-compilation.patch
index 30497a6..38e7c36 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-allow-cross-compilation.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-allow-cross-compilation.patch
@@ -1,3 +1,6 @@
+From 0780b7053fb0d33d721aa70ab2ecd75299e5ba31 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 24 Jul 2018 15:03:39 +0800
Subject: [PATCH] configure.ac: allow cross-compilation
The checking OpenSSL library and header version consistency will
@@ -8,17 +11,20 @@
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+update to new version 3.0.17 to fix patch warning
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
src/modules/rlm_krb5/configure.ac | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/modules/rlm_krb5/configure.ac b/src/modules/rlm_krb5/configure.ac
-index eb43534..113a079 100644
+index efc9f29..98a97e4 100644
--- a/src/modules/rlm_krb5/configure.ac
+++ b/src/modules/rlm_krb5/configure.ac
@@ -137,7 +137,8 @@ if test x$with_[]modname != xno; then
FR_SMART_CHECK_LIB(krb5, krb5_is_thread_safe)
- if test "x$ac_cv_lib_krb5_krb5_is_thread_safe" == xyes; then
+ if test "x$ac_cv_lib_krb5_krb5_is_thread_safe" = xyes; then
AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <krb5.h>]], [[return krb5_is_thread_safe() ? 0 : 1]])],
- [krb5threadsafe="-DKRB5_IS_THREAD_SAFE"], [AC_MSG_WARN([[libkrb5 is not threadsafe]])])
+ [krb5threadsafe="-DKRB5_IS_THREAD_SAFE"], [AC_MSG_WARN([[libkrb5 is not threadsafe]])],
@@ -27,5 +33,5 @@
else
krb5threadsafe=""
--
-2.10.2
+2.7.4
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch
index d29b2ac..638d950 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch
@@ -1,32 +1,33 @@
-From d8e251ef97869ab2c1c82bd374016f402083997c Mon Sep 17 00:00:00 2001
-From: Jorge Pereira <jpereiran@gmail.com>
-Date: Mon, 7 Dec 2015 16:51:07 -0200
-Subject: [PATCH] Fixing issues related to m4 include path
+From 69cb6d4bb5dd56a48695c0581a7d853e427b0ea3 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 24 Jul 2018 14:54:41 +0800
+Subject: [PATCH] freeradius: Fixing issues related to m4 include path
Upstream-Status: Submitted [1]
[1]: https://github.com/FreeRADIUS/freeradius-server/pull/1428
Submmited by: Jorge Pereira <jpereiran@gmail.com>
+
+Update to version 3.0.17
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- src/modules/rlm_example/config.h.in | 39 ++--------------------
- src/modules/rlm_ldap/configure | 2 +-
- src/modules/rlm_pam/config.h.in | 3 ++
- src/modules/rlm_perl/config.h.in | 3 ++
- src/modules/rlm_perl/configure.ac | 2 +-
- src/modules/rlm_radutmp/config.h.in | 3 ++
- src/modules/rlm_ruby/configure | 1 +
- src/modules/rlm_ruby/configure.ac | 9 ++---
- src/modules/rlm_smsotp/config.h.in | 3 ++
- .../rlm_sql/drivers/rlm_sql_mysql/config.h.in | 3 ++
- src/modules/rlm_unix/config.h.in | 6 ++++
- 11 files changed, 32 insertions(+), 42 deletions(-)
+ src/modules/rlm_example/config.h.in | 35 +++--------------------------------
+ src/modules/rlm_pam/config.h.in | 3 +++
+ src/modules/rlm_perl/config.h.in | 3 +++
+ src/modules/rlm_perl/configure.ac | 2 +-
+ src/modules/rlm_radutmp/config.h.in | 3 +++
+ src/modules/rlm_ruby/configure.ac | 8 ++++----
+ src/modules/rlm_smsotp/config.h.in | 3 +++
+ src/modules/rlm_unix/config.h.in | 3 +++
+ 8 files changed, 23 insertions(+), 37 deletions(-)
diff --git a/src/modules/rlm_example/config.h.in b/src/modules/rlm_example/config.h.in
-index 2a81ef5..f80de9c 100644
+index 2a81ef5..4dbb8f4 100644
--- a/src/modules/rlm_example/config.h.in
+++ b/src/modules/rlm_example/config.h.in
-@@ -1,38 +1,5 @@
+@@ -1,37 +1,5 @@
/* config.h.in. Generated from configure.ac by autoheader. */
-/* Define to 1 if you have the <inttypes.h> header file. */
@@ -61,11 +62,10 @@
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
--
+
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
-
-@@ -45,8 +12,8 @@
+@@ -45,6 +13,9 @@
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
@@ -74,22 +74,7 @@
+
/* Define to the version of this package. */
#undef PACKAGE_VERSION
--
--/* Define to 1 if you have the ANSI C header files. */
--#undef STDC_HEADERS
-diff --git a/src/modules/rlm_ldap/configure b/src/modules/rlm_ldap/configure
-index e0c15d9..cdf96d5 100755
---- a/src/modules/rlm_ldap/configure
-+++ b/src/modules/rlm_ldap/configure
-@@ -3992,7 +3992,7 @@ smart_prefix=
- $as_echo "#define WITH_SASL 1" >>confdefs.h
- SASL=sasl.c
-- fi
-+ fi
- fi
-
- targetname=rlm_ldap
diff --git a/src/modules/rlm_pam/config.h.in b/src/modules/rlm_pam/config.h.in
index 32ef6ff..1ad20c5 100644
--- a/src/modules/rlm_pam/config.h.in
@@ -118,7 +103,7 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION
diff --git a/src/modules/rlm_perl/configure.ac b/src/modules/rlm_perl/configure.ac
-index 44c5fc9..6b2a043 100644
+index 4b3ff42..69c79cb 100644
--- a/src/modules/rlm_perl/configure.ac
+++ b/src/modules/rlm_perl/configure.ac
@@ -3,7 +3,7 @@ AC_INIT(rlm_perl.c)
@@ -144,23 +129,11 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION
-diff --git a/src/modules/rlm_ruby/configure b/src/modules/rlm_ruby/configure
-index 15868ab..c728af2 100755
---- a/src/modules/rlm_ruby/configure
-+++ b/src/modules/rlm_ruby/configure
-@@ -1875,6 +1875,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-+
- # ===========================================================================
- # http://www.gnu.org/software/autoconf-archive/ax_compare_version.html
- # ===========================================================================
diff --git a/src/modules/rlm_ruby/configure.ac b/src/modules/rlm_ruby/configure.ac
-index 9306382..f1c8118 100644
+index 9306382..ae86a14 100644
--- a/src/modules/rlm_ruby/configure.ac
+++ b/src/modules/rlm_ruby/configure.ac
-@@ -3,15 +3,16 @@ AC_INIT(rlm_ruby.c)
+@@ -3,15 +3,15 @@ AC_INIT(rlm_ruby.c)
AC_REVISION($Revision: 1.9 $)
AC_DEFUN(modname,[rlm_ruby])
@@ -174,7 +147,6 @@
-m4_include([ax_compare_version.m4])
-m4_include([ax_prog_ruby_version.m4])
-m4_include([ax_ruby_devel.m4])
-+
+m4_include([m4/ax_compare_version.m4])
+m4_include([m4/ax_prog_ruby_version.m4])
+m4_include([m4/ax_ruby_devel.m4])
@@ -195,33 +167,11 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION
-diff --git a/src/modules/rlm_sql/drivers/rlm_sql_mysql/config.h.in b/src/modules/rlm_sql/drivers/rlm_sql_mysql/config.h.in
-index e03d1a9..6262c48 100644
---- a/src/modules/rlm_sql/drivers/rlm_sql_mysql/config.h.in
-+++ b/src/modules/rlm_sql/drivers/rlm_sql_mysql/config.h.in
-@@ -18,5 +18,8 @@
- /* Define to the one symbol short name of this package. */
- #undef PACKAGE_TARNAME
-
-+/* Define to the home page for this package. */
-+#undef PACKAGE_URL
-+
- /* Define to the version of this package. */
- #undef PACKAGE_VERSION
diff --git a/src/modules/rlm_unix/config.h.in b/src/modules/rlm_unix/config.h.in
-index dcb9aa2..70b4680 100644
+index dcb9aa2..16107b8 100644
--- a/src/modules/rlm_unix/config.h.in
+++ b/src/modules/rlm_unix/config.h.in
-@@ -1,5 +1,8 @@
- /* config.h.in. Generated from configure.ac by autoheader. */
-
-+/* Define to 1 if you have the `getpwnam' function. */
-+#undef HAVE_GETPWNAM
-+
- /* Define to 1 if you have the `getspnam' function. */
- #undef HAVE_GETSPNAM
-
-@@ -54,6 +57,9 @@
+@@ -54,6 +54,9 @@
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
@@ -232,5 +182,5 @@
#undef PACKAGE_VERSION
--
-2.3.5
+2.7.4
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.15.bb b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.15.bb
deleted file mode 100644
index 4155a40..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.15.bb
+++ /dev/null
@@ -1,222 +0,0 @@
-DESCRIPTION = "FreeRADIUS is an Internet authentication daemon, which implements the RADIUS \
-protocol, as defined in RFC 2865 (and others). It allows Network Access \
-Servers (NAS boxes) to perform authentication for dial-up users. There are \
-also RADIUS clients available for Web servers, firewalls, Unix logins, and \
-more. Using RADIUS allows authentication and authorization for a network to \
-be centralized, and minimizes the amount of re-configuration which has to be \
-done when adding or deleting new users."
-
-SUMMARY = "High-performance and highly configurable RADIUS server"
-HOMEPAGE = "http://www.freeradius.org/"
-SECTION = "System/Servers"
-LICENSE = "GPLv2 & LGPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a"
-DEPENDS = "openssl-native openssl libidn libtool libpcap libtalloc"
-
-SRC_URI = "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${PV}.tar.bz2 \
- file://freeradius \
- file://volatiles.58_radiusd \
- file://freeradius-enble-user-in-conf.patch \
- file://freeradius-configure.ac-allow-cross-compilation.patch \
- file://freeradius-fix-issues-related-to-m4-include-path.patch \
- file://freeradius-libtool-detection.patch \
- file://freeradius-configure.ac-add-option-for-libcap.patch \
- file://freeradius-avoid-searching-host-dirs.patch \
- file://freeradius-rlm_python-add-PY_INC_DIR.patch \
- file://freeradius-libtool-do-not-use-jlibtool.patch \
- file://freeradius-fix-quoting-for-BUILT_WITH.patch \
- file://freeradius-fix-error-for-expansion-of-macro.patch \
- file://0001-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch \
- file://radiusd.service \
- file://radiusd-volatiles.conf \
-"
-SRC_URI[md5sum] = "0c81a4464ccf1d04f7ef1218a029d37a"
-SRC_URI[sha256sum] = "23267d8505e7b2909f5bdbf3938ca077c1fe122290dc969304d4f3b594f7e3ba"
-
-PARALLEL_MAKE = ""
-
-S = "${WORKDIR}/freeradius-server-${PV}"
-
-EXTRA_OECONF = " --enable-strict-dependencies \
- --with-docdir=${docdir}/freeradius-${PV} \
- --with-openssl-includes=${STAGING_INCDIR} \
- --with-openssl-libraries=${STAGING_LIBDIR} \
- --without-rlm_ippool \
- --without-rlm_cache_memcached \
- --without-rlm_counter \
- --without-rlm_couchbase \
- --without-rlm_dbm \
- --without-rlm_eap_tnc \
- --without-rlm_eap_ikev2 \
- --without-rlm_opendirectory \
- --without-rlm_redis \
- --without-rlm_rediswho \
- --without-rlm_sql_db2 \
- --without-rlm_sql_firebird \
- --without-rlm_sql_freetds \
- --without-rlm_sql_iodbc \
- --without-rlm_sql_oracle \
- --without-rlm_sql_sybase \
- --without-rlm_sqlhpwippool \
- ac_cv_path_PERL=${bindir}/perl \
- ax_cv_cc_builtin_choose_expr=no \
- ax_cv_cc_builtin_types_compatible_p=no \
- ax_cv_cc_builtin_bswap64=no \
- ax_cv_cc_bounded_attribute=no \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
- pcre libcap \
-"
-
-PACKAGECONFIG[krb5] = "--with-rlm_krb5,--without-rlm_krb5,krb5"
-PACKAGECONFIG[pam] = "--with-rlm_pam,--without-rlm_pam,libpam"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[ldap] = "--with-rlm_ldap,--without-rlm_ldap,openldap"
-PACKAGECONFIG[mysql] = "--with-rlm_sql_mysql,--without-rlm_sql_mysql,mysql5"
-PACKAGECONFIG[sqlite] = "--with-rlm_sql_sqlite,--without-rlm_sql_sqlite,sqlite3"
-PACKAGECONFIG[unixodbc] = "--with-rlm_sql_unixodbc,--without-rlm_sql_unixodbc,unixodbc"
-PACKAGECONFIG[postgresql] = "--with-rlm_sql_postgresql,--without-rlm_sql_postgresql,postgresql"
-PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
-PACKAGECONFIG[perl] = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl --with-rlm_perl,--without-rlm_perl,perl-native perl,perl"
-PACKAGECONFIG[python] = "--with-rlm_python --with-rlm-python-bin=${STAGING_BINDIR_NATIVE}/python-native/python --with-rlm-python-include-dir=${STAGING_INCDIR}/${PYTHON_DIR},--without-rlm_python,python-native python"
-PACKAGECONFIG[rest] = "--with-rlm_rest,--without-rlm_rest,curl json-c"
-PACKAGECONFIG[ruby] = "--with-rlm_ruby,--without-rlm_ruby,ruby"
-
-inherit useradd autotools-brokensep update-rc.d systemd
-
-# This is not a cpan or python based package, but it needs some definitions
-# from cpan-base and python-dir bbclasses for building rlm_perl and rlm_python
-# correctly.
-inherit cpan-base python-dir
-
-# The modules subdirs also need to be processed by autoreconf. Use autogen.sh
-# in order to handle the subdirs correctly.
-do_configure () {
- ./autogen.sh
-
- # the configure of rlm_perl needs this to get correct
- # mod_cflags and mod_ldflags
- if ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'true', 'false', d)}; then
- export PERL5LIB="${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
- fi
-
- oe_runconf
-
- # we don't need dhcpclient
- sed -i -e 's/dhcpclient.mk//' ${S}/src/modules/proto_dhcp/all.mk
-}
-
-INITSCRIPT_NAME = "radiusd"
-
-SYSTEMD_SERVICE_${PN} = "radiusd.service"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false --user-group radiusd"
-
-do_install() {
- rm -rf ${D}
- mkdir -p ${D}/${sysconfdir}/logrotate.d
- mkdir -p ${D}/${sysconfdir}/pam.d
- mkdir -p ${D}/${sysconfdir}/init.d
- mkdir -p ${D}/${localstatedir}/lib/radiusd
- mkdir -p ${D}${sysconfdir}/default/volatiles
-
- export LD_LIBRARY_PATH=${D}/${libdir}
- oe_runmake install R=${D} INSTALLSTRIP=""
-
- # remove unsupported config files
- rm -f ${D}/${sysconfdir}/raddb/experimental.conf
-
- # remove scripts that required Perl(DBI)
- rm -rf ${D}/${bindir}/radsqlrelay
-
- cp -f ${WORKDIR}/freeradius ${D}/etc/init.d/radiusd
- rm -f ${D}/${sbindir}/rc.radiusd
- chmod +x ${D}/${sysconfdir}/init.d/radiusd
- rm -rf ${D}/${localstatedir}/run/
- install -m 0644 ${WORKDIR}/volatiles.58_radiusd ${D}${sysconfdir}/default/volatiles/58_radiusd
-
- chown -R radiusd:radiusd ${D}/${sysconfdir}/raddb/
- chown -R radiusd:radiusd ${D}/${localstatedir}/lib/radiusd
-
- # For systemd
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/radiusd.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
- -e 's,@SBINDIR@,${sbindir},g' \
- -e 's,@STATEDIR@,${localstatedir},g' \
- -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- ${D}${systemd_unitdir}/system/radiusd.service
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d/
- install -m 0644 ${WORKDIR}/radiusd-volatiles.conf ${D}${sysconfdir}/tmpfiles.d/
- fi
-}
-
-# This is only needed when we install/update on a running target.
-#
-pkg_postinst_${PN} () {
- if [ -z "$D" ]; then
- if command -v systemd-tmpfiles >/dev/null; then
- # create /var/log/radius, /var/run/radiusd
- systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/radiusd-volatiles.conf
- elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
- ${sysconfdir}/init.d/populate-volatile.sh update
- fi
-
- # Fix ownership for /etc/raddb/*, /var/lib/radiusd
- chown -R radiusd:radiusd ${sysconfdir}/raddb
- chown -R radiusd:radiusd ${localstatedir}/lib/radiusd
- fi
-}
-
-# We really need the symlink :(
-INSANE_SKIP_${PN} = "dev-so"
-INSANE_SKIP_${PN}-krb5 = "dev-so"
-INSANE_SKIP_${PN}-ldap = "dev-so"
-INSANE_SKIP_${PN}-mysql = "dev-so"
-INSANE_SKIP_${PN}-perl = "dev-so"
-INSANE_SKIP_${PN}-postgresql = "dev-so"
-INSANE_SKIP_${PN}-python = "dev-so"
-INSANE_SKIP_${PN}-unixodbc = "dev-so"
-
-PACKAGES =+ "${PN}-utils ${PN}-ldap ${PN}-krb5 ${PN}-perl \
- ${PN}-python ${PN}-mysql ${PN}-postgresql ${PN}-unixodbc"
-
-FILES_${PN}-utils = "${bindir}/*"
-
-FILES_${PN}-ldap = "${libdir}/rlm_ldap.so* \
- ${sysconfdir}/raddb/mods-available/ldap \
-"
-
-FILES_${PN}-krb5 = "${libdir}/rlm_krb5.so* \
- ${sysconfdir}/raddb/mods-available/krb5 \
-"
-
-FILES_${PN}-perl = "${libdir}/rlm_perl.so* \
- ${sysconfdir}/raddb/mods-config/perl \
- ${sysconfdir}/raddb/mods-available/perl \
-"
-
-FILES_${PN}-python = "${libdir}/rlm_python.so* \
- ${sysconfdir}/raddb/mods-config/python \
- ${sysconfdir}/raddb/mods-available/python \
-"
-
-FILES_${PN}-mysql = "${libdir}/rlm_sql_mysql.so* \
- ${sysconfdir}/raddb/mods-config/sql/*/mysql \
- ${sysconfdir}/raddb/mods-available/sql \
-"
-
-FILES_${PN}-postgresql = "${libdir}/rlm_sql_postgresql.so* \
- ${sysconfdir}/raddb/mods-config/sql/*/postgresql \
-"
-
-FILES_${PN}-unixodbc = "${libdir}/rlm_sql_unixodbc.so*"
-
-FILES_${PN} =+ "${libdir}/rlm_*.so* ${libdir}/proto_*so*"
-
-RDEPENDS_${PN} += "perl"
-RDEPENDS_${PN}-utils = "${PN}"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb
new file mode 100644
index 0000000..c17d56d
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb
@@ -0,0 +1,223 @@
+DESCRIPTION = "FreeRADIUS is an Internet authentication daemon, which implements the RADIUS \
+protocol, as defined in RFC 2865 (and others). It allows Network Access \
+Servers (NAS boxes) to perform authentication for dial-up users. There are \
+also RADIUS clients available for Web servers, firewalls, Unix logins, and \
+more. Using RADIUS allows authentication and authorization for a network to \
+be centralized, and minimizes the amount of re-configuration which has to be \
+done when adding or deleting new users."
+
+SUMMARY = "High-performance and highly configurable RADIUS server"
+HOMEPAGE = "http://www.freeradius.org/"
+SECTION = "System/Servers"
+LICENSE = "GPLv2 & LGPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a"
+DEPENDS = "openssl-native openssl libidn libtool libpcap libtalloc"
+
+SRC_URI = "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${PV}.tar.bz2 \
+ file://freeradius \
+ file://volatiles.58_radiusd \
+ file://freeradius-enble-user-in-conf.patch \
+ file://freeradius-configure.ac-allow-cross-compilation.patch \
+ file://freeradius-fix-issues-related-to-m4-include-path.patch \
+ file://freeradius-libtool-detection.patch \
+ file://freeradius-configure.ac-add-option-for-libcap.patch \
+ file://freeradius-avoid-searching-host-dirs.patch \
+ file://freeradius-rlm_python-add-PY_INC_DIR.patch \
+ file://freeradius-libtool-do-not-use-jlibtool.patch \
+ file://freeradius-fix-quoting-for-BUILT_WITH.patch \
+ file://freeradius-fix-error-for-expansion-of-macro.patch \
+ file://0001-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch \
+ file://radiusd.service \
+ file://radiusd-volatiles.conf \
+ file://0001-freeradius-correct-version-number-of-libssl-defect.patch \
+"
+SRC_URI[md5sum] = "1f4ad38f32101a7d50d818afa6f17339"
+SRC_URI[sha256sum] = "3f03404b6e4a4f410e1f15ea2ababfec7f8a7ae8a49836d8a0c137436d913b96"
+
+PARALLEL_MAKE = ""
+
+S = "${WORKDIR}/freeradius-server-${PV}"
+
+EXTRA_OECONF = " --enable-strict-dependencies \
+ --with-docdir=${docdir}/freeradius-${PV} \
+ --with-openssl-includes=${STAGING_INCDIR} \
+ --with-openssl-libraries=${STAGING_LIBDIR} \
+ --without-rlm_ippool \
+ --without-rlm_cache_memcached \
+ --without-rlm_counter \
+ --without-rlm_couchbase \
+ --without-rlm_dbm \
+ --without-rlm_eap_tnc \
+ --without-rlm_eap_ikev2 \
+ --without-rlm_opendirectory \
+ --without-rlm_redis \
+ --without-rlm_rediswho \
+ --without-rlm_sql_db2 \
+ --without-rlm_sql_firebird \
+ --without-rlm_sql_freetds \
+ --without-rlm_sql_iodbc \
+ --without-rlm_sql_oracle \
+ --without-rlm_sql_sybase \
+ --without-rlm_sqlhpwippool \
+ ac_cv_path_PERL=${bindir}/perl \
+ ax_cv_cc_builtin_choose_expr=no \
+ ax_cv_cc_builtin_types_compatible_p=no \
+ ax_cv_cc_builtin_bswap64=no \
+ ax_cv_cc_bounded_attribute=no \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+ pcre libcap \
+"
+
+PACKAGECONFIG[krb5] = "--with-rlm_krb5,--without-rlm_krb5,krb5"
+PACKAGECONFIG[pam] = "--with-rlm_pam,--without-rlm_pam,libpam"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+PACKAGECONFIG[ldap] = "--with-rlm_ldap,--without-rlm_ldap,openldap"
+PACKAGECONFIG[mysql] = "--with-rlm_sql_mysql,--without-rlm_sql_mysql,mysql5"
+PACKAGECONFIG[sqlite] = "--with-rlm_sql_sqlite,--without-rlm_sql_sqlite,sqlite3"
+PACKAGECONFIG[unixodbc] = "--with-rlm_sql_unixodbc,--without-rlm_sql_unixodbc,unixodbc"
+PACKAGECONFIG[postgresql] = "--with-rlm_sql_postgresql,--without-rlm_sql_postgresql,postgresql"
+PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
+PACKAGECONFIG[perl] = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl --with-rlm_perl,--without-rlm_perl,perl-native perl,perl"
+PACKAGECONFIG[python] = "--with-rlm_python --with-rlm-python-bin=${STAGING_BINDIR_NATIVE}/python-native/python --with-rlm-python-include-dir=${STAGING_INCDIR}/${PYTHON_DIR},--without-rlm_python,python-native python"
+PACKAGECONFIG[rest] = "--with-rlm_rest,--without-rlm_rest,curl json-c"
+PACKAGECONFIG[ruby] = "--with-rlm_ruby,--without-rlm_ruby,ruby"
+
+inherit useradd autotools-brokensep update-rc.d systemd
+
+# This is not a cpan or python based package, but it needs some definitions
+# from cpan-base and python-dir bbclasses for building rlm_perl and rlm_python
+# correctly.
+inherit cpan-base python-dir
+
+# The modules subdirs also need to be processed by autoreconf. Use autogen.sh
+# in order to handle the subdirs correctly.
+do_configure () {
+ ./autogen.sh
+
+ # the configure of rlm_perl needs this to get correct
+ # mod_cflags and mod_ldflags
+ if ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'true', 'false', d)}; then
+ export PERL5LIB="${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
+ fi
+
+ oe_runconf
+
+ # we don't need dhcpclient
+ sed -i -e 's/dhcpclient.mk//' ${S}/src/modules/proto_dhcp/all.mk
+}
+
+INITSCRIPT_NAME = "radiusd"
+
+SYSTEMD_SERVICE_${PN} = "radiusd.service"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false --user-group radiusd"
+
+do_install() {
+ rm -rf ${D}
+ mkdir -p ${D}/${sysconfdir}/logrotate.d
+ mkdir -p ${D}/${sysconfdir}/pam.d
+ mkdir -p ${D}/${sysconfdir}/init.d
+ mkdir -p ${D}/${localstatedir}/lib/radiusd
+ mkdir -p ${D}${sysconfdir}/default/volatiles
+
+ export LD_LIBRARY_PATH=${D}/${libdir}
+ oe_runmake install R=${D} INSTALLSTRIP=""
+
+ # remove unsupported config files
+ rm -f ${D}/${sysconfdir}/raddb/experimental.conf
+
+ # remove scripts that required Perl(DBI)
+ rm -rf ${D}/${bindir}/radsqlrelay
+
+ cp -f ${WORKDIR}/freeradius ${D}/etc/init.d/radiusd
+ rm -f ${D}/${sbindir}/rc.radiusd
+ chmod +x ${D}/${sysconfdir}/init.d/radiusd
+ rm -rf ${D}/${localstatedir}/run/
+ install -m 0644 ${WORKDIR}/volatiles.58_radiusd ${D}${sysconfdir}/default/volatiles/58_radiusd
+
+ chown -R radiusd:radiusd ${D}/${sysconfdir}/raddb/
+ chown -R radiusd:radiusd ${D}/${localstatedir}/lib/radiusd
+
+ # For systemd
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/radiusd.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@STATEDIR@,${localstatedir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${D}${systemd_unitdir}/system/radiusd.service
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d/
+ install -m 0644 ${WORKDIR}/radiusd-volatiles.conf ${D}${sysconfdir}/tmpfiles.d/
+ fi
+}
+
+# This is only needed when we install/update on a running target.
+#
+pkg_postinst_${PN} () {
+ if [ -z "$D" ]; then
+ if command -v systemd-tmpfiles >/dev/null; then
+ # create /var/log/radius, /var/run/radiusd
+ systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/radiusd-volatiles.conf
+ elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+ ${sysconfdir}/init.d/populate-volatile.sh update
+ fi
+
+ # Fix ownership for /etc/raddb/*, /var/lib/radiusd
+ chown -R radiusd:radiusd ${sysconfdir}/raddb
+ chown -R radiusd:radiusd ${localstatedir}/lib/radiusd
+ fi
+}
+
+# We really need the symlink :(
+INSANE_SKIP_${PN} = "dev-so"
+INSANE_SKIP_${PN}-krb5 = "dev-so"
+INSANE_SKIP_${PN}-ldap = "dev-so"
+INSANE_SKIP_${PN}-mysql = "dev-so"
+INSANE_SKIP_${PN}-perl = "dev-so"
+INSANE_SKIP_${PN}-postgresql = "dev-so"
+INSANE_SKIP_${PN}-python = "dev-so"
+INSANE_SKIP_${PN}-unixodbc = "dev-so"
+
+PACKAGES =+ "${PN}-utils ${PN}-ldap ${PN}-krb5 ${PN}-perl \
+ ${PN}-python ${PN}-mysql ${PN}-postgresql ${PN}-unixodbc"
+
+FILES_${PN}-utils = "${bindir}/*"
+
+FILES_${PN}-ldap = "${libdir}/rlm_ldap.so* \
+ ${sysconfdir}/raddb/mods-available/ldap \
+"
+
+FILES_${PN}-krb5 = "${libdir}/rlm_krb5.so* \
+ ${sysconfdir}/raddb/mods-available/krb5 \
+"
+
+FILES_${PN}-perl = "${libdir}/rlm_perl.so* \
+ ${sysconfdir}/raddb/mods-config/perl \
+ ${sysconfdir}/raddb/mods-available/perl \
+"
+
+FILES_${PN}-python = "${libdir}/rlm_python.so* \
+ ${sysconfdir}/raddb/mods-config/python \
+ ${sysconfdir}/raddb/mods-available/python \
+"
+
+FILES_${PN}-mysql = "${libdir}/rlm_sql_mysql.so* \
+ ${sysconfdir}/raddb/mods-config/sql/*/mysql \
+ ${sysconfdir}/raddb/mods-available/sql \
+"
+
+FILES_${PN}-postgresql = "${libdir}/rlm_sql_postgresql.so* \
+ ${sysconfdir}/raddb/mods-config/sql/*/postgresql \
+"
+
+FILES_${PN}-unixodbc = "${libdir}/rlm_sql_unixodbc.so*"
+
+FILES_${PN} =+ "${libdir}/rlm_*.so* ${libdir}/proto_*so*"
+
+RDEPENDS_${PN} += "perl"
+RDEPENDS_${PN}-utils = "${PN}"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb
index 190cd5f..a27dbae 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb
@@ -4,7 +4,7 @@
talkd, telnet, telnetd, tftp, tftpd, and uucpd."
HOMEPAGE = "http://www.gnu.org/software/inetutils"
SECTION = "net"
-DEPENDS = "ncurses netbase readline"
+DEPENDS = "ncurses netbase readline virtual/crypt"
LICENSE = "GPLv3"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch
new file mode 100644
index 0000000..fb16ecb
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch
@@ -0,0 +1,89 @@
+From 8ea2ee451a1af7c5b5c8f4b36c1f77d44442064d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Sep 2018 13:02:35 -0700
+Subject: [PATCH] Fix error: call of overloaded distance is ambiguous
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The boost::iterators::distance function template is an adapted version
+of std::distance for the Boost iterator traversal in 2.68 it has started
+to fail with argument dependent lookup and compiler is erroring out
+
+with
+
+error: call of overloaded ‘distance'
+
+boost implementation of distance is protected against being found by ADL
+
+The way function is called in libdhcp means it will be found via ADL and
+all namespaces will be considered which is providing problematic since
+its getting it from both std:: and boost:: namespaces
+
+so let it not rely on ADL by qualifying then calls with std:: namespace
+
+Upstream-Status: Submitted [https://github.com/isc-projects/kea/pull/103]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lib/dhcp/libdhcp++.cc | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/lib/dhcp/libdhcp++.cc b/src/lib/dhcp/libdhcp++.cc
+index 330c02b..ced705d 100644
+--- a/src/lib/dhcp/libdhcp++.cc
++++ b/src/lib/dhcp/libdhcp++.cc
+@@ -419,14 +419,14 @@ size_t LibDHCP::unpackOptions6(const OptionBuffer& buf,
+ // We previously did the lookup only for dhcp6 option space, but with the
+ // addition of S46 options, we now do it for every space.
+ range = idx.equal_range(opt_type);
+- num_defs = distance(range.first, range.second);
++ num_defs = std::distance(range.first, range.second);
+
+ // Standard option definitions do not include the definition for
+ // our option or we're searching for non-standard option. Try to
+ // find the definition among runtime option definitions.
+ if (num_defs == 0) {
+ range = runtime_idx.equal_range(opt_type);
+- num_defs = distance(range.first, range.second);
++ num_defs = std::distance(range.first, range.second);
+ }
+
+ OptionPtr opt;
+@@ -538,14 +538,14 @@ size_t LibDHCP::unpackOptions4(const OptionBuffer& buf,
+ // may be standard options in other spaces (e.g. radius). So we now do
+ // the lookup for every space.
+ range = idx.equal_range(opt_type);
+- num_defs = distance(range.first, range.second);
++ num_defs = std::distance(range.first, range.second);
+
+ // Standard option definitions do not include the definition for
+ // our option or we're searching for non-standard option. Try to
+ // find the definition among runtime option definitions.
+ if (num_defs == 0) {
+ range = runtime_idx.equal_range(opt_type);
+- num_defs = distance(range.first, range.second);
++ num_defs = std::distance(range.first, range.second);
+ }
+
+ // Check if option unpacking must be deferred
+@@ -638,7 +638,7 @@ size_t LibDHCP::unpackVendorOptions6(const uint32_t vendor_id,
+ idx->equal_range(opt_type);
+ // Get the number of returned option definitions for the
+ // option code.
+- size_t num_defs = distance(range.first, range.second);
++ size_t num_defs = std::distance(range.first, range.second);
+
+ if (num_defs > 1) {
+ // Multiple options of the same code are not supported
+@@ -746,7 +746,7 @@ size_t LibDHCP::unpackVendorOptions4(const uint32_t vendor_id, const OptionBuffe
+ idx->equal_range(opt_type);
+ // Get the number of returned option definitions for
+ // the option code.
+- size_t num_defs = distance(range.first, range.second);
++ size_t num_defs = std::distance(range.first, range.second);
+
+ if (num_defs > 1) {
+ // Multiple options of the same code are not
+--
+2.18.0
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0003-Makefile.am-update-hooksdir-for-lease_cmds.patch b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0003-Makefile.am-update-hooksdir-for-lease_cmds.patch
new file mode 100644
index 0000000..381a3a7
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0003-Makefile.am-update-hooksdir-for-lease_cmds.patch
@@ -0,0 +1,31 @@
+From cd902b8b588681a27d5321f1ee078a1c8f6e6935 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <Mingli.Yu@windriver.com>
+Date: Wed, 21 Mar 2018 06:01:38 +0000
+Subject: [PATCH 3/3] Makefile.am: update hooksdir for lease_cmds
+
+update hooksdir for lease_cmds
+
+Upstream-Status: Pending
+
+Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+
+---
+ src/hooks/dhcp/lease_cmds/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/hooks/dhcp/lease_cmds/Makefile.am b/src/hooks/dhcp/lease_cmds/Makefile.am
+index cfd6779..22cc4a9 100644
+--- a/src/hooks/dhcp/lease_cmds/Makefile.am
++++ b/src/hooks/dhcp/lease_cmds/Makefile.am
+@@ -37,7 +37,7 @@ liblease_cmds_la_CXXFLAGS = $(AM_CXXFLAGS)
+ liblease_cmds_la_CPPFLAGS = $(AM_CPPFLAGS)
+
+ # install the shared object into $(libdir)/hooks
+-lib_hooksdir = $(libdir)/hooks
++lib_hooksdir = $(libdir)/kea/hooks
+ lib_hooks_LTLIBRARIES = libdhcp_lease_cmds.la
+
+ libdhcp_lease_cmds_la_SOURCES =
+--
+2.18.0
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp-ddns.service b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp-ddns.service
new file mode 100644
index 0000000..91aa2eb
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp-ddns.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Kea DHCP-DDNS Server
+Wants=network-online.target
+After=network-online.target
+After=time-sync.target
+
+[Service]
+ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/run/kea/
+ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/kea
+ExecStart=@SBINDIR@/kea-dhcp-ddns -c @SYSCONFDIR@/kea/kea-dhcp-ddns.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp4.service b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp4.service
new file mode 100644
index 0000000..f32edcb
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp4.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Kea DHCPv4 Server
+Wants=network-online.target
+After=network-online.target
+After=time-sync.target
+
+[Service]
+ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/run/kea/
+ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/kea
+ExecStart=@SBINDIR@/kea-dhcp4 -c @SYSCONFDIR@/kea/kea-dhcp4.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp6.service b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp6.service
new file mode 100644
index 0000000..26d2205
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp6.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Kea DHCPv6 Server
+Wants=network-online.target
+After=network-online.target
+After=time-sync.target
+
+[Service]
+ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/run/kea/
+ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/kea
+ExecStart=@SBINDIR@/kea-dhcp6 -c @SYSCONFDIR@/kea/kea-dhcp6.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.4.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.4.0.bb
new file mode 100644
index 0000000..67de07b
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.4.0.bb
@@ -0,0 +1,52 @@
+SUMMARY = "ISC Kea DHCP Server"
+DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It supports both DHCPv4 and DHCPv6 protocols along with their extensions, e.g. prefix delegation and dynamic updates to DNS."
+HOMEPAGE = "http://kea.isc.org"
+SECTION = "connectivity"
+LICENSE = "MPL-2.0 & Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1666a9c4bb55adbc8939d85643096bd3"
+
+DEPENDS += "kea-native"
+
+SRC_URI = "\
+ http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \
+ file://0003-Makefile.am-update-hooksdir-for-lease_cmds.patch \
+ file://0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch \
+ file://kea-dhcp4.service \
+ file://kea-dhcp6.service \
+ file://kea-dhcp-ddns.service \
+"
+SRC_URI[md5sum] = "26eedd749101642757d788431605aaa5"
+SRC_URI[sha256sum] = "c0f8ecb93657adfc5ab970c91706754e601084828493f053f159661d21b31128"
+
+inherit autotools systemd
+
+SYSTEMD_SERVICE_${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_configure_prepend_class-target() {
+ mkdir -p ${B}/src/lib/log/compiler/
+ ln -sf ${STAGING_BINDIR_NATIVE}/kea-msg-compiler ${B}/src/lib/log/compiler/kea-msg-compiler
+}
+
+do_install_append_class-target() {
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir}
+ sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${D}${systemd_system_unitdir}/kea-dhcp*service
+}
+
+do_install_append() {
+ rm -rf "${D}${localstatedir}"
+}
+
+PACKAGECONFIG ??= "openssl log4cplus boost"
+
+PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_TARGET}${prefix},,openssl,openssl"
+PACKAGECONFIG[log4cplus] = "--with-log4cplus=${STAGING_DIR_TARGET}${prefix},,log4cplus,log4cplus"
+PACKAGECONFIG[boost] = "--with-boost-include=${STAGING_INCDIR} --with-boost-lib-dir=${STAGING_LIBDIR} --with-boost-libs=-lboost_system,,boost,boost"
+
+FILES_${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a"
+FILES_${PN} += "${libdir}/hooks/*.so"
+
+BBCLASSEXTEND += "native"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.7.7.bb b/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.7.7.bb
deleted file mode 100644
index b6b65da..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.7.7.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-DESCRIPTION = "LFTP is a sophisticated file transfer program with \
- command line interface. It supports FTP, HTTP, \
- FISH, SFTP, HTTPS and FTPS protocols"
-HOMEPAGE = "http://lftp.yar.ru/"
-SECTION = "console/network"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "http://lftp.yar.ru/ftp/lftp-${PV}.tar.bz2 \
- file://fix-gcc-6-conflicts-signbit.patch \
- "
-SRC_URI[md5sum] = "3701e7675baa5619c92622eb141c8301"
-SRC_URI[sha256sum] = "fe441f20a9a317cfb99a8b8e628ba0457df472b6d93964d17374d5b5ebdf9280"
-
-inherit autotools gettext pkgconfig
-
-acpaths = "-I ./m4"
-
-EXTRA_OECONF += "--with-modules"
-
-PACKAGECONFIG ??= "libidn openssl zlib gnutls readline expat"
-PACKAGECONFIG[libidn] = "--with-libidn, --without-libidn, libidn"
-PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
-PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_INCDIR}/.., --without-zlib, zlib"
-PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls"
-PACKAGECONFIG[readline] = "--with-readline=${STAGING_INCDIR}/.. --with-readline-inc=${STAGING_INCDIR} --with-readline-lib=-lreadline, --with-readline=no, readline"
-PACKAGECONFIG[expat] = "--with-expat=${STAGING_INCDIR}/.. --with-expat-inc=${STAGING_INCDIR} --with-expat-lib=-lexpat, , expat"
-
-do_install_append() {
- rm -rf ${D}${libdir}/charset.alias
-}
-
-FILES_${PN}-dbg += "${libdir}/lftp/${PV}/.debug"
-RDEPENDS_${PN} = "perl bash readline"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.8.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.8.4.bb
new file mode 100644
index 0000000..bf793d9
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.8.4.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "LFTP is a sophisticated file transfer program with \
+ command line interface. It supports FTP, HTTP, \
+ FISH, SFTP, HTTPS and FTPS protocols"
+HOMEPAGE = "http://lftp.yar.ru/"
+SECTION = "console/network"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "http://lftp.yar.ru/ftp/lftp-${PV}.tar.bz2 \
+ file://fix-gcc-6-conflicts-signbit.patch \
+ "
+SRC_URI[md5sum] = "a56b5047dbfda052df4c1dfd197aa092"
+SRC_URI[sha256sum] = "a853edbd075b008c315679c7882b6dcc6821ed2365d2ed843a412acd3d40da0e"
+
+inherit autotools gettext pkgconfig
+
+acpaths = "-I ./m4"
+
+EXTRA_OECONF += "--with-modules --disable-rpath"
+
+PACKAGECONFIG ??= "openssl zlib gnutls readline expat"
+PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
+PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_INCDIR}/.., --without-zlib, zlib"
+PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls"
+PACKAGECONFIG[readline] = "--with-readline=${STAGING_INCDIR}/.. --with-readline-inc=${STAGING_INCDIR} --with-readline-lib=-lreadline, --with-readline=no, readline"
+PACKAGECONFIG[expat] = "--with-expat=${STAGING_INCDIR}/.. --with-expat-inc=${STAGING_INCDIR} --with-expat-lib=-lexpat, , expat"
+
+do_install_append() {
+ rm -rf ${D}${libdir}/charset.alias
+}
+FILES_${PN} += "${datadir}/icons/hicolor"
+FILES_${PN}-dbg += "${libdir}/lftp/${PV}/.debug"
+RDEPENDS_${PN} = "perl bash readline"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb b/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb
index e579de5..53ba25e 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb
@@ -7,6 +7,8 @@
SRC_URI = "git://github.com/dugsong/libdnet.git;nobranch=1"
SRCREV = "12fca29a6d4e99d1b923d6820887fe7b24226904"
+UPSTREAM_CHECK_GITTAGREGEX = "libdnet-(?P<pver>\d+(\.\d+)+)"
+
S = "${WORKDIR}/git"
inherit autotools
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.13.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.13.0.bb
new file mode 100644
index 0000000..ff3f7f0
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.13.0.bb
@@ -0,0 +1,42 @@
+SUMMARY = "Lightweight crypto and SSL/TLS library"
+DESCRIPTION = "mbedtls is a lean open source crypto library \
+for providing SSL and TLS support in your programs. It offers \
+an intuitive API and documented header files, so you can actually \
+understand what the code does. It features: \
+ \
+ - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4, \
+ Camellia and XTEA \
+ - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5 \
+ - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG \
+ - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \
+ ECDSA and ECDH \
+ - SSL v3 and TLS 1.0, 1.1 and 1.2 \
+ - Abstraction layers for ciphers, hashes, public key operations, \
+ platform abstraction and threading \
+"
+
+HOMEPAGE = "https://tls.mbed.org/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=302d50a6369f5f22efdb674db908167a"
+
+SECTION = "libs"
+
+SRC_URI = "https://tls.mbed.org/download/mbedtls-${PV}-apache.tgz"
+
+SRC_URI[md5sum] = "659d96bb03012ca6db414a9137fcdbd6"
+SRC_URI[sha256sum] = "593b4e4d2e1629fc407ab4750d69fa309a0ddb66565dc3deb5b60eddbdeb06da"
+
+inherit cmake
+
+PACKAGECONFIG ??= "shared-libs programs"
+PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-USE_SHARED_MBEDTLS_LIBRARY=OFF"
+PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF"
+
+EXTRA_OECMAKE = "-DENABLE_TESTING=OFF -DLIB_INSTALL_DIR:STRING=${libdir}"
+
+PROVIDES += "polarssl"
+RPROVIDES_${PN} = "polarssl"
+
+PACKAGES =+ "${PN}-programs"
+FILES_${PN}-programs = "${bindir}/"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.8.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.8.0.bb
deleted file mode 100644
index 736cce1..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.8.0.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Lightweight crypto and SSL/TLS library"
-DESCRIPTION = "mbedtls is a lean open source crypto library \
-for providing SSL and TLS support in your programs. It offers \
-an intuitive API and documented header files, so you can actually \
-understand what the code does. It features: \
- \
- - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4, \
- Camellia and XTEA \
- - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5 \
- - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG \
- - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \
- ECDSA and ECDH \
- - SSL v3 and TLS 1.0, 1.1 and 1.2 \
- - Abstraction layers for ciphers, hashes, public key operations, \
- platform abstraction and threading \
-"
-
-HOMEPAGE = "https://tls.mbed.org/"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=302d50a6369f5f22efdb674db908167a"
-
-SECTION = "libdevel"
-
-SRC_URI = "https://tls.mbed.org/download/mbedtls-${PV}-apache.tgz"
-
-SRC_URI[md5sum] = "2d4b0e2cb844efde1e73d3bcd9731fef"
-SRC_URI[sha256sum] = "ab8b62b995781bcf22e87a265ed06267f87c3041198e996b44441223d19fa9c3"
-
-inherit cmake
-
-PACKAGECONFIG ??= "shared-libs programs"
-PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-USE_SHARED_MBEDTLS_LIBRARY=OFF"
-PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF"
-
-EXTRA_OECMAKE = "-DENABLE_TESTING=OFF -DLIB_INSTALL_DIR:STRING=${libdir}"
-
-PROVIDES += "polarssl"
-RPROVIDES_${PN} = "polarssl"
-
-PACKAGES =+ "${PN}-programs"
-FILES_${PN}-programs = "${bindir}/"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/files/miniupnpd.service b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/files/miniupnpd.service
new file mode 100644
index 0000000..e7bfad0
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/files/miniupnpd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Lightweight UPnP IGD daemon
+Documentation=man:miniupnpd(8)
+After=network.target
+
+[Service]
+Type=forking
+ExecStartPre=/etc/miniupnpd/iptables_init.sh
+ExecStart=/usr/sbin/miniupnpd -f /etc/miniupnpd/miniupnpd.conf
+ExecStopPost=/etc/miniupnpd/iptables_removeall.sh
+PIDFile=/run/miniupnpd.pid
+
+[Install]
+WantedBy=network.target
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.20180203.bb b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.20180203.bb
new file mode 100644
index 0000000..04b5cd5
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.20180203.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Lightweight UPnP IGD daemon"
+DESCRIPTION = "The miniUPnP daemon is an UPnP IGD (internet gateway device) \
+which provide NAT traversal services to any UPnP enabled client on \
+the network."
+
+SECTION = "networking"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=91ac00c6b9f5c106e89291e196fe0234"
+
+inherit autotools gettext pkgconfig systemd
+
+DEPENDS += "iptables net-tools util-linux libmnl libnetfilter-conntrack"
+
+SRC_URI = "http://miniupnp.tuxfamily.org/files/download.php?file=${P}.tar.gz;downloadfilename=${P}.tar.gz \
+ file://miniupnpd.service"
+
+SRC_URI[md5sum] = "b4c7c938915edeee6ca4c65dd021f212"
+SRC_URI[sha256sum] = "860c15f2f8340fd69546b01cffe4c7fcff3e63a7bdfe5a2af6b2346f0e074bb6"
+
+IPV6 = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--ipv6', '', d)}"
+
+do_compile() {
+ cd ${S}
+ CONFIG_OPTIONS="${IPV6} --leasefile --vendorcfg" oe_runmake -f Makefile.linux
+}
+
+do_install() {
+ install -d ${D}/${sbindir}
+ install ${S}/miniupnpd ${D}/${sbindir}
+ install -d ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/iptables_init.sh ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/iptables_removeall.sh ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/ip6tables_init.sh ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/ip6tables_removeall.sh ${D}/${sysconfdir}/${BPN}
+ install -m 0644 -b ${S}/miniupnpd.conf ${D}/${sysconfdir}/${BPN}
+ install -d ${D}/${sysconfdir}/init.d
+ install ${S}/linux/miniupnpd.init.d.script ${D}/${sysconfdir}/init.d/miniupnpd
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/miniupnpd.service ${D}${systemd_unitdir}/system/
+}
+
+SYSTEMD_SERVICE_${PN} = "miniupnpd.service"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb
deleted file mode 100644
index c6f36e1..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Lightweight UPnP IGD daemon"
-DESCRIPTION = "The miniUPnP daemon is an UPnP IGD (internet gateway device) \
-which provide NAT traversal services to any UPnP enabled client on \
-the network."
-
-SECTION = "networking"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=aa71c78c373ccfe0ff207af0cd966d91"
-
-inherit autotools gettext pkgconfig
-
-DEPENDS += "iptables net-tools util-linux libmnl libnetfilter-conntrack"
-
-SRC_URI = "http://miniupnp.tuxfamily.org/files/download.php?file=${P}.tar.gz;downloadfilename=${P}.tar.gz \
-"
-SRC_URI[md5sum] = "1c07a215dd9b362e75a9efc05e2fb3b4"
-SRC_URI[sha256sum] = "d96aa3a00e0f5490826bba3cb97e68cd27479e5839adac4b9bcb66eae786bfb7"
-
-IPV6 = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--ipv6', '', d)}"
-
-do_compile() {
- cd ${S}
- CONFIG_OPTIONS="${IPV6} --leasefile --vendorcfg" oe_runmake -f Makefile.linux
-}
-
-do_install() {
- install -d ${D}/${sbindir}
- install ${S}/miniupnpd ${D}/${sbindir}
- install -d ${D}/${sysconfdir}/${BPN}
- install ${S}/netfilter/iptables_init.sh ${D}/${sysconfdir}/${BPN}
- install ${S}/netfilter/iptables_removeall.sh ${D}/${sysconfdir}/${BPN}
- install ${S}/netfilter/ip6tables_init.sh ${D}/${sysconfdir}/${BPN}
- install ${S}/netfilter/ip6tables_removeall.sh ${D}/${sysconfdir}/${BPN}
- install -m 0644 -b ${S}/miniupnpd.conf ${D}/${sysconfdir}/${BPN}
- install -d ${D}/${sysconfdir}/init.d
- install ${S}/linux/miniupnpd.init.d.script ${D}/${sysconfdir}/init.d/miniupnpd
-}
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch
rename to meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/mosquitto.init b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/mosquitto.init
new file mode 100644
index 0000000..6a0c127
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/mosquitto.init
@@ -0,0 +1,89 @@
+#! /bin/sh
+
+# Based on the Debian initscript for mosquitto
+
+### BEGIN INIT INFO
+# Provides: mosquitto
+# Required-Start: $remote_fs $syslog
+# Required-Stop: $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: mosquitto MQTT message broker
+# Description:
+# This is a message broker that supports version 3.1/3.1.1 of the MQ Telemetry
+# Transport (MQTT) protocol.
+#
+# MQTT provides a method of carrying out messaging using a publish/subscribe
+# model. It is lightweight, both in terms of bandwidth usage and ease of
+# implementation. This makes it particularly useful at the edge of the network
+# where a sensor or other simple device may be implemented using an arduino for
+# example.
+### END INIT INFO
+
+set -e
+
+PIDFILE=@LOCALSTATEDIR@/run/mosquitto.pid
+DAEMON=@SBINDIR@/mosquitto
+
+# start and stop the mosquitto MQTT message broker
+
+test -x ${DAEMON} || exit 0
+
+umask 022
+
+. @SYSCONFDIR@/init.d/functions
+
+export PATH="${PATH:+$PATH:}@SBINDIR@:@BASE_SBINDIR@"
+
+case "$1" in
+ start)
+ echo "Starting Mosquitto message broker" "mosquitto"
+ if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} ; then
+ exit 0
+ else
+ exit 1
+ fi
+ ;;
+ stop)
+ echo "Stopping Mosquitto message broker" "mosquitto"
+ if start-stop-daemon --stop --quiet --oknodo --pidfile ${PIDFILE}; then
+ rm -f ${PIDFILE}
+ exit 0
+ else
+ exit 1
+ fi
+ ;;
+
+
+ reload|force-reload)
+ if [ -f ${PIDFILE} ] ; then
+ echo "Reloading configuration for mosquitto"
+ pid=`cat ${PIDFILE}`
+ kill -HUP $pid
+ else
+ echo "mosquitto does not seem to be running"
+ fi
+ ;;
+
+ restart)
+ echo "Restarting Mosquitto message broker" "mosquitto"
+ if start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile ${PIDFILE}; then
+ rm -f ${PIDFILE}
+ fi
+ if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} -- -c @SYSCONFDIR@/mosquitto/mosquitto.conf ; then
+ exit 0
+ else
+ exit 1
+ fi
+ ;;
+
+ status)
+ status ${DAEMON} && exit 0 || exit $?
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|reload|force-reload|restart|status}"
+ exit 1
+esac
+
+exit 0
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb
new file mode 100644
index 0000000..b4adfda
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb
@@ -0,0 +1,96 @@
+SUMMARY = "Open source MQTT v3.1/3.1.1 implemention"
+DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker that implements the MQ Telemetry Transport protocol version 3.1 and 3.1.1. MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. "
+HOMEPAGE = "http://mosquitto.org/"
+SECTION = "console/network"
+LICENSE = "EPL-1.0 | EDL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=62ddc846179e908dc0c8efec4a42ef20 \
+ file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \
+ file://epl-v10;md5=8d383c379e91d20ba18a52c3e7d3a979 \
+ file://notice.html;md5=a00d6f9ab542be7babc2d8b80d5d2a4c \
+"
+DEPENDS = "uthash"
+
+SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \
+ file://0002-uthash-remove-in-tree-version.patch \
+ file://mosquitto.init \
+"
+
+SRC_URI[md5sum] = "f98c99998a36a234f3a9d9b402b991db"
+SRC_URI[sha256sum] = "8557bc7ae34dfaf32a0fb56d2491b7a7f731269c88337227233013502df4d5b0"
+
+inherit systemd update-rc.d useradd
+
+PACKAGECONFIG ??= "ssl uuid \
+ ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \
+ "
+
+PACKAGECONFIG[dns-srv] = ",,c-ares"
+PACKAGECONFIG[ssl] = ",,openssl"
+PACKAGECONFIG[uuid] = ",,util-linux"
+PACKAGECONFIG[systemd] = "WITH_SYSTEMD=yes,WITH_SYSTEMD=no,systemd"
+PACKAGECONFIG[websockets] = ",,libwebsockets"
+
+EXTRA_OEMAKE = " \
+ prefix=${prefix} \
+ mandir=${mandir} \
+ localedir=${localedir} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'dns-srv', 'WITH_SRV=yes', 'WITH_SRV=no', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'ssl', 'WITH_TLS=yes WITH_TLS_PSK=yes', 'WITH_TLS=no WITH_TLS_PSK=no', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'uuid', 'WITH_UUID=yes', 'WITH_UUID=no', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'websockets', 'WITH_WEBSOCKETS=yes', 'WITH_WEBSOCKETS=no', d)} \
+ STRIP=/bin/true \
+ WITH_DOCS=no \
+"
+
+export LIB_SUFFIX = "${@d.getVar('baselib', True).replace('lib', '')}"
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service
+
+ install -d ${D}${sysconfdir}/mosquitto
+ install -m 0644 ${D}${sysconfdir}/mosquitto/mosquitto.conf.example \
+ ${D}${sysconfdir}/mosquitto/mosquitto.conf
+
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto
+ sed -i -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
+ -e 's,@LOCALSTATEDIR@,${localstatedir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${D}${sysconfdir}/init.d/mosquitto
+}
+
+PACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients"
+
+PACKAGE_BEFORE_PN = "${PN}-examples"
+
+FILES_${PN} = "${sbindir}/mosquitto \
+ ${bindir}/mosquitto_passwd \
+ ${sysconfdir}/mosquitto \
+ ${sysconfdir}/init.d \
+ ${systemd_unitdir}/system/mosquitto.service \
+"
+
+CONFFILES_${PN} += "${sysconfdir}/mosquitto/mosquitto.conf"
+
+FILES_libmosquitto1 = "${libdir}/libmosquitto.so.1"
+
+FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.1"
+
+FILES_${PN}-clients = "${bindir}/mosquitto_pub \
+ ${bindir}/mosquitto_sub \
+"
+
+FILES_${PN}-examples = "${sysconfdir}/mosquitto/*.example"
+
+SYSTEMD_SERVICE_${PN} = "mosquitto.service"
+
+INITSCRIPT_NAME = "mosquitto"
+INITSCRIPT_PARAMS = "defaults 30"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false \
+ --user-group mosquitto"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.4.bb
new file mode 100644
index 0000000..fa6b43a
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.4.bb
@@ -0,0 +1,28 @@
+SUMMARY = "nanomsg socket library"
+DESCRIPTION = "nanomsg is a socket library that provides several common \
+communication patterns. It aims to make the networking layer fast, scalable, \
+and easy to use. Implemented in C, it works on a wide range of operating \
+systems with no further dependencies."
+HOMEPAGE = "https://nanomsg.org/"
+LICENSE = "MIT-X"
+LIC_FILES_CHKSUM = "file://COPYING;md5=587b3fd7fd291e418ff4d2b8f3904755"
+
+SECTION = "libs/networking"
+
+SRC_URI = "git://github.com/nanomsg/nanomsg.git;protocol=https"
+SRCREV = "e7f8a751316b942d8962cd0232c2d606c1d9a9db"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+# nanomsg documentation generation requires asciidoctor,
+# not asciidoc, and currently there's no asciidoctor-native
+# recipe anywhere in openembedded-core or meta-openembedded
+EXTRA_OECMAKE = " -DNN_ENABLE_DOC=OFF "
+
+# we don't want nanomsg-tools to be renamed to libnanomsg-tools
+DEBIAN_NOAUTONAME_${PN}-tools = "1"
+
+PACKAGES =+ "${PN}-tools"
+FILES_${PN}-tools = "${bindir}/*"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.10.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.10.bb
new file mode 100644
index 0000000..9159fcb
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.10.bb
@@ -0,0 +1,40 @@
+SUMMARY = "NetworkManager-openvpn-plugin"
+SECTION = "net/misc"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=100d5a599bead70ddcd70dcd73f2e29c"
+
+DEPENDS = "dbus dbus-glib networkmanager openvpn intltool-native glib-2.0-native"
+
+inherit gnomebase useradd gettext systemd
+
+SRC_URI = "${GNOME_MIRROR}/NetworkManager-openvpn/${@gnome_verdir("${PV}")}/NetworkManager-openvpn-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "f118226ed2bfbacfd64ac4d1e0bd0383"
+SRC_URI[sha256sum] = "ac86a7a539d78df90095676e9183f2d422fb93dbfe4b3afef22f81825d303d61"
+
+S = "${WORKDIR}/NetworkManager-openvpn-${PV}"
+
+PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome"
+
+do_install_append () {
+ rm -rf ${D}${libdir}/NetworkManager/*.la
+}
+
+# Create user and group nm-openvpn that are needed since version 1.0.6
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system nm-openvpn"
+
+FILES_${PN} += " \
+ ${libdir}/NetworkManager/*.so \
+ ${nonarch_libdir}/NetworkManager/VPN/nm-openvpn-service.name \
+"
+
+FILES_${PN}-staticdev += " \
+ ${libdir}/NetworkManager/*.a \
+"
+
+RDEPENDS_${PN} = " \
+ networkmanager \
+ openvpn \
+"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb
deleted file mode 100644
index 1b604ad..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "NetworkManager-openvpn-plugin"
-SECTION = "net/misc"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=100d5a599bead70ddcd70dcd73f2e29c"
-
-DEPENDS = "dbus dbus-glib networkmanager openvpn intltool-native glib-2.0-native"
-
-inherit gnomebase useradd gettext systemd
-
-SRC_URI = "${GNOME_MIRROR}/NetworkManager-openvpn/${@gnome_verdir("${PV}")}/NetworkManager-openvpn-${PV}.tar.xz"
-SRC_URI[md5sum] = "9f325be386aa906ff9b0b7c0bdf2a59a"
-SRC_URI[sha256sum] = "3e0b4007f248d96df4b8eb5d0f937536044af7053debbbf525e67c9bc5d30654"
-
-S = "${WORKDIR}/NetworkManager-openvpn-${PV}"
-
-PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome"
-
-do_install_append () {
- rm -rf ${D}${libdir}/NetworkManager/*.la
-}
-
-# Create user and group nm-openvpn that are needed since version 1.0.6
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system nm-openvpn"
-
-FILES_${PN} += " \
- ${libdir}/NetworkManager/*.so \
- ${nonarch_libdir}/NetworkManager/VPN/nm-openvpn-service.name \
-"
-
-FILES_${PN}-staticdev += " \
- ${libdir}/NetworkManager/*.a \
-"
-
-RDEPENDS_${PN} = " \
- networkmanager \
- openvpn \
-"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch
new file mode 100644
index 0000000..0c415bc
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch
@@ -0,0 +1,53 @@
+From 3f4b6319701834182304c4079119780f4ae5b49b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 7 Nov 2018 11:30:44 -0800
+Subject: [PATCH] Do not include net/ethernet.h and linux/if_ether.h
+
+They conflict when used together especially with musl
+removing them still keeps it working so it seems they are redundant
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ shared/n-acd/src/n-acd.c | 1 -
+ src/platform/wpan/nm-wpan-utils.h | 2 --
+ src/settings/nm-settings-connection.h | 2 --
+ 3 files changed, 5 deletions(-)
+
+diff --git a/shared/n-acd/src/n-acd.c b/shared/n-acd/src/n-acd.c
+index 9164f95..9538e50 100644
+--- a/shared/n-acd/src/n-acd.c
++++ b/shared/n-acd/src/n-acd.c
+@@ -23,7 +23,6 @@
+ #include <errno.h>
+ #include <limits.h>
+ #include <linux/filter.h>
+-#include <linux/if_ether.h>
+ #include <linux/if_packet.h>
+ #include <net/ethernet.h>
+ #include <netinet/if_ether.h>
+diff --git a/src/platform/wpan/nm-wpan-utils.h b/src/platform/wpan/nm-wpan-utils.h
+index f7d0c03..e1c81f5 100644
+--- a/src/platform/wpan/nm-wpan-utils.h
++++ b/src/platform/wpan/nm-wpan-utils.h
+@@ -20,8 +20,6 @@
+ #ifndef __WPAN_UTILS_H__
+ #define __WPAN_UTILS_H__
+
+-#include <net/ethernet.h>
+-
+ #include "nm-dbus-interface.h"
+ #include "platform/nm-netlink.h"
+
+diff --git a/src/settings/nm-settings-connection.h b/src/settings/nm-settings-connection.h
+index e796b71..c01fef6 100644
+--- a/src/settings/nm-settings-connection.h
++++ b/src/settings/nm-settings-connection.h
+@@ -22,8 +22,6 @@
+ #ifndef __NETWORKMANAGER_SETTINGS_CONNECTION_H__
+ #define __NETWORKMANAGER_SETTINGS_CONNECTION_H__
+
+-#include <net/ethernet.h>
+-
+ #include "nm-dbus-object.h"
+ #include "nm-connection.h"
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch
index 7194423..49a0735 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch
@@ -1,8 +1,7 @@
From 18f71c1b48730b8602826517f2b5b088283ae948 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 31 Mar 2017 16:48:00 -0700
-Subject: [PATCH 5/7] sd-lldp.h: Remove net/ethernet.h seems to be over
- specified
+Subject: [PATCH] sd-lldp.h: Remove net/ethernet.h seems to be over specified
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
@@ -14,7 +13,7 @@
index 31e2448..7721cc2 100644
--- a/src/systemd/src/libsystemd-network/sd-lldp.c
+++ b/src/systemd/src/libsystemd-network/sd-lldp.c
-@@ -21,6 +21,7 @@
+@@ -3,6 +3,7 @@
#include "nm-sd-adapt.h"
#include <arpa/inet.h>
@@ -26,7 +25,7 @@
index 3f35eeb..61b0e45 100644
--- a/src/systemd/src/systemd/sd-lldp.h
+++ b/src/systemd/src/systemd/sd-lldp.h
-@@ -22,7 +22,7 @@
+@@ -18,7 +18,7 @@
***/
#include <inttypes.h>
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch
index 28848d3..351f264 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch
@@ -1,7 +1,7 @@
From 583f0448fb7e9aba2b410c06eec6f420b41a6a0c Mon Sep 17 00:00:00 2001
From: Pablo Saavedra <psaavedra@igalia.com>
Date: Tue, 13 Mar 2018 17:36:20 +0100
-Subject: [PATCH 7/7] Fixed configure.ac: Fix pkgconfig sysroot locations
+Subject: [PATCH] Fixed configure.ac: Fix pkgconfig sysroot locations
---
configure.ac | 2 +-
@@ -11,7 +11,7 @@
index 51e5eb6..c9d3e56 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -669,7 +669,7 @@ else
+@@ -572,7 +572,7 @@ if test "$have_jansson" = "yes"; then
AC_DEFINE(WITH_JANSSON, 1, [Define if JANSSON is enabled])
AC_CHECK_TOOLS(READELF, [eu-readelf readelf])
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch
index 92485f0..c50293c 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch
@@ -13,15 +13,15 @@
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
- Makefile.am | 18 ++----------------
- configure.ac | 4 ----
- 2 files changed, 2 insertions(+), 20 deletions(-)
+ Makefile.am | 20 --------------------
+ configure.ac | 5 -----
+ 2 files changed, 25 deletions(-)
diff --git a/Makefile.am b/Makefile.am
-index 639921d..314a61d 100644
+index 1e100f6..d31e3c1 100644
--- a/Makefile.am
+++ b/Makefile.am
-@@ -961,9 +961,7 @@ endif
+@@ -1115,9 +1115,7 @@ EXTRA_DIST += \
if HAVE_INTROSPECTION
libnm_noinst_data = \
@@ -31,37 +31,39 @@
libnm/nm-settings-keyfile-docs.xml \
libnm/nm-settings-ifcfg-rh-docs.xml
-@@ -3317,23 +3315,11 @@ $(clients_common_libnmc_base_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
+@@ -3692,27 +3690,9 @@ $(clients_common_libnmc_base_la_OBJECTS): $(libnm_lib_h_pub_mkenums)
$(clients_common_libnmc_base_la_OBJECTS): clients/common/.dirstamp
- clients_common_settings_doc_c = clients/common/settings-docs.c
+ clients_common_settings_doc_h = clients/common/settings-docs.h
-if HAVE_INTROSPECTION
--$(clients_common_settings_doc_c): clients/common/settings-docs.xsl libnm/nm-property-docs.xml clients/common/.dirstamp
+-$(clients_common_settings_doc_h): clients/common/settings-docs.xsl libnm/nm-property-docs.xml clients/common/.dirstamp
- $(AM_V_GEN) $(XSLTPROC) --output $@ $< $(word 2,$^)
--DISTCLEANFILES += $(clients_common_settings_doc_c)
--check-local-settings-docs: $(clients_common_settings_doc_c)
-- @if test -z "$$NMTST_NO_CHECK_SETTINGS_DOCS" ; then \
-- if ! cmp -s "$(srcdir)/$(clients_common_settings_doc_c).in" "$(builddir)/$(clients_common_settings_doc_c)" ; then \
-- echo "The generated file \"$(builddir)/$(clients_common_settings_doc_c)\" differs from the source file \"$(srcdir)/$(clients_common_settings_doc_c).in\". You probably should copy the generated file over to the source file. You can skip this test by setting \$$NMTST_NO_CHECK_SETTINGS_DOCS=yes"; \
-- false; \
+-DISTCLEANFILES += $(clients_common_settings_doc_h)
+-check-local-settings-docs: $(clients_common_settings_doc_h)
+- @if test -z "$$NMTST_NO_CHECK_SETTINGS_DOCS" ; then \
+- if ! cmp -s "$(srcdir)/$(clients_common_settings_doc_h).in" "$(builddir)/$(clients_common_settings_doc_h)" ; then \
+- if test "$$NM_TEST_REGENERATE" == 1 ; then \
+- cp -f "$(builddir)/$(clients_common_settings_doc_h)" "$(srcdir)/$(clients_common_settings_doc_h).in"; \
+- else \
+- echo "The generated file \"$(builddir)/$(clients_common_settings_doc_h)\" differs from the source file \"$(srcdir)/$(clients_common_settings_doc_h).in\". You probably should copy the generated file over to the source file. You can skip this test by setting \$$NMTST_NO_CHECK_SETTINGS_DOCS=yes". You can also automatically copy the file by rerunning the test with \$$NM_TEST_REGENERATE=1 ; \
+- false; \
+- fi; \
- fi;\
- fi
-check_local += check-local-settings-docs
-else
-+
- $(clients_common_settings_doc_c): $(clients_common_settings_doc_c).in clients/common/.dirstamp
- $(AM_V_GEN) cp "$(srcdir)/$(clients_common_settings_doc_c).in" "$(builddir)/$(clients_common_settings_doc_c)"
+ $(clients_common_settings_doc_h): $(clients_common_settings_doc_h).in clients/common/.dirstamp
+ $(AM_V_GEN) cp "$(srcdir)/$(clients_common_settings_doc_h).in" "$(builddir)/$(clients_common_settings_doc_h)"
check-local-settings-docs:
-endif
-+
EXTRA_DIST += \
- $(clients_common_settings_doc_c) \
- $(clients_common_settings_doc_c).in
+ $(clients_common_settings_doc_h) \
+ $(clients_common_settings_doc_h).in
diff --git a/configure.ac b/configure.ac
-index c9d3e56..407222e 100644
+index 79dc3b9..23d14a6 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -1286,10 +1286,6 @@ GTK_DOC_CHECK(1.0)
+@@ -1195,11 +1195,6 @@ GTK_DOC_CHECK(1.0)
# check if we can build setting property documentation
build_docs=no
if test -n "$INTROSPECTION_MAKEFILE"; then
@@ -69,9 +71,10 @@
- if ! "$PYTHON" -c 'from gi.repository import GObject' >& /dev/null; then
- AC_MSG_ERROR(["--enable-introspection aims to build the settings documentation. This requires GObject introspection for python (pygobject)])
- fi
-
+-
AC_PATH_PROG(PERL, perl)
if test -z "$PERL"; then
+ AC_MSG_ERROR([--enable-introspection requires perl])
--
-2.14.3
+2.14.5
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch
index 9d208e1..00dda5b 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch
@@ -1,7 +1,7 @@
From e92de7409a3e107f90d108a9c5d49bd0418296dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Thu, 22 Mar 2018 17:54:10 +0100
-Subject: [PATCH 1/4] Usual fix for musl libc
+Subject: [PATCH] Usual fix for musl libc
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -13,18 +13,19 @@
[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+
---
src/systemd/src/basic/stdio-util.h | 2 ++
src/systemd/src/basic/util.h | 5 +++++
2 files changed, 7 insertions(+)
diff --git a/src/systemd/src/basic/stdio-util.h b/src/systemd/src/basic/stdio-util.h
-index bd1144b..9eafacb 100644
+index 73c0327..e1ce64f 100644
--- a/src/systemd/src/basic/stdio-util.h
+++ b/src/systemd/src/basic/stdio-util.h
-@@ -19,7 +19,9 @@
- along with systemd; If not, see <http://www.gnu.org/licenses/>.
- ***/
+@@ -1,7 +1,9 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+ #pragma once
+#if defined(__GLIBC__)
#include <printf.h>
@@ -36,7 +37,7 @@
index b31dfd1..9b7032c 100644
--- a/src/systemd/src/basic/util.h
+++ b/src/systemd/src/basic/util.h
-@@ -46,6 +46,11 @@
+@@ -28,6 +28,11 @@
#include "missing.h"
#include "time-util.h"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch
index 548cccb..c162c1d 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch
@@ -1,7 +1,7 @@
From 57239fda56b68a8f3e413f7b6af5290ba0d86636 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Thu, 22 Mar 2018 18:18:06 +0100
-Subject: [PATCH 2/4] musl: dlopen is included so LD_LIBS="" instead of
+Subject: [PATCH] musl: dlopen is included so LD_LIBS="" instead of
LD_LIBS="none required"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@@ -22,7 +22,7 @@
index 487a266..96ae4f7 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -305,6 +305,7 @@ dnl
+@@ -235,6 +235,7 @@ dnl
dnl Checks for libdl - on certain platforms its part of libc
dnl
AC_SEARCH_LIBS([dlopen], [dl dld], [], [ac_cv_search_dlopen=])
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch
index 5dd17b6..9a58c0e 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch
@@ -1,7 +1,7 @@
From 714b4731a238653e9c7d885c0dee10677b0a4df3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Thu, 22 Mar 2018 18:24:07 +0100
-Subject: [PATCH 3/4] musl: network support
+Subject: [PATCH] musl: network support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -15,7 +15,7 @@
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
libnm-core/nm-utils.h | 4 ++++
- src/platform/wifi/wifi-utils.h | 4 ++++
+ src/platform/wifi/nm-wifi-utils.h | 4 ++++
src/systemd/src/basic/socket-util.h | 5 +++++
3 files changed, 13 insertions(+)
@@ -35,10 +35,10 @@
#include <linux/if_infiniband.h>
#include "nm-core-enum-types.h"
-diff --git a/src/platform/wifi/wifi-utils.h b/src/platform/wifi/wifi-utils.h
+diff --git a/src/platform/wifi/nm-wifi-utils.h b/src/platform/wifi/nm-wifi-utils.h
index 705717b..da3edc4 100644
---- a/src/platform/wifi/wifi-utils.h
-+++ b/src/platform/wifi/wifi-utils.h
+--- a/src/platform/wifi/nm-wifi-utils.h
++++ b/src/platform/wifi/nm-wifi-utils.h
@@ -22,7 +22,11 @@
#ifndef __WIFI_UTILS_H__
#define __WIFI_UTILS_H__
@@ -50,12 +50,12 @@
+#endif
#include "nm-dbus-interface.h"
-
+ #include "nm-setting-wireless.h"
diff --git a/src/systemd/src/basic/socket-util.h b/src/systemd/src/basic/socket-util.h
index d7e2d85..d109c84 100644
--- a/src/systemd/src/basic/socket-util.h
+++ b/src/systemd/src/basic/socket-util.h
-@@ -29,6 +29,11 @@
+@@ -11,6 +11,11 @@
#include <linux/netlink.h>
#include <linux/if_infiniband.h>
#include <linux/if_packet.h>
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch
index fc55ce8..9e5c943 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch
@@ -1,7 +1,7 @@
From d513c8bfc982dbd976617178b040c512c95710b6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Thu, 22 Mar 2018 18:29:00 +0100
-Subject: [PATCH 4/4] musl: process-util
+Date: Thu, 25 Oct 2018 09:57:07 +0200
+Subject: [PATCH] musl: process-util
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -18,10 +18,10 @@
1 file changed, 9 insertions(+)
diff --git a/src/systemd/src/basic/process-util.c b/src/systemd/src/basic/process-util.c
-index 272030d..485f1db 100644
+index 1412f03..45f5049 100644
--- a/src/systemd/src/basic/process-util.c
+++ b/src/systemd/src/basic/process-util.c
-@@ -36,6 +36,9 @@
+@@ -21,6 +21,9 @@
#include <sys/wait.h>
#include <syslog.h>
#include <unistd.h>
@@ -31,7 +31,7 @@
#if 0 /* NM_IGNORED */
#if HAVE_VALGRIND_VALGRIND_H
#include <valgrind/valgrind.h>
-@@ -1015,11 +1018,13 @@ static void reset_cached_pid(void) {
+@@ -1153,11 +1156,13 @@ void reset_cached_pid(void) {
cached_pid = CACHED_PID_UNSET;
}
@@ -39,24 +39,24 @@
/* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc
* headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against
* libpthread, as it is part of glibc anyway. */
- extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void * __dso_handle);
+ extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void *dso_handle);
extern void* __dso_handle __attribute__ ((__weak__));
+#endif
pid_t getpid_cached(void) {
- pid_t current_value;
-@@ -1042,7 +1047,11 @@ pid_t getpid_cached(void) {
-
- new_pid = getpid();
+ static bool installed = false;
+@@ -1186,7 +1191,11 @@ pid_t getpid_cached(void) {
+ * only half-documented (glibc doesn't document it but LSB does — though only superficially)
+ * we'll check for errors only in the most generic fashion possible. */
+#ifdef __GLIBC__
- if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) {
+ if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) {
+#else
-+ if (pthread_atfork(NULL, NULL, reset_cached_pid) != 0) {
++ if (pthread_atfork(NULL, NULL, reset_cached_pid) != 0) {
+#endif
- /* OOM? Let's try again later */
- cached_pid = CACHED_PID_UNSET;
- return new_pid;
+ /* OOM? Let's try again later */
+ cached_pid = CACHED_PID_UNSET;
+ return new_pid;
--
-2.14.3
+2.14.5
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch
index 752fe4f..6bca95e 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch
@@ -17,10 +17,10 @@
4 files changed, 8 insertions(+)
diff --git a/src/systemd/src/systemd/sd-dhcp-client.h b/src/systemd/src/systemd/sd-dhcp-client.h
-index 5e46d8d..18a613f 100644
+index e388552..9c4dde8 100644
--- a/src/systemd/src/systemd/sd-dhcp-client.h
+++ b/src/systemd/src/systemd/sd-dhcp-client.h
-@@ -21,7 +21,9 @@
+@@ -20,7 +20,9 @@
***/
#include <inttypes.h>
@@ -31,10 +31,10 @@
#include <sys/types.h>
diff --git a/src/systemd/src/systemd/sd-dhcp-lease.h b/src/systemd/src/systemd/sd-dhcp-lease.h
-index 7ab99cc..85acdf2 100644
+index 2a60145..19d1814 100644
--- a/src/systemd/src/systemd/sd-dhcp-lease.h
+++ b/src/systemd/src/systemd/sd-dhcp-lease.h
-@@ -22,7 +22,9 @@
+@@ -19,7 +19,9 @@
***/
#include <inttypes.h>
@@ -45,24 +45,24 @@
#include <sys/types.h>
diff --git a/src/systemd/src/systemd/sd-dhcp6-client.h b/src/systemd/src/systemd/sd-dhcp6-client.h
-index 7819f0d..35f30ee 100644
+index fa36dca..2d25010 100644
--- a/src/systemd/src/systemd/sd-dhcp6-client.h
+++ b/src/systemd/src/systemd/sd-dhcp6-client.h
-@@ -21,7 +21,9 @@
+@@ -20,7 +20,9 @@
***/
#include <inttypes.h>
+#if defined(__GLIBC__)
#include <net/ethernet.h>
+#endif
+ #include <stdbool.h>
#include <sys/types.h>
- #include "sd-dhcp6-lease.h"
diff --git a/src/systemd/src/systemd/sd-ipv4ll.h b/src/systemd/src/systemd/sd-ipv4ll.h
-index 5ba9208..c90eca6 100644
+index 71bd4cf..1c667ba 100644
--- a/src/systemd/src/systemd/sd-ipv4ll.h
+++ b/src/systemd/src/systemd/sd-ipv4ll.h
-@@ -20,7 +20,9 @@
+@@ -19,7 +19,9 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
@@ -73,5 +73,5 @@
#include "sd-event.h"
--
-2.14.3
+2.14.5
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch
index 8ed7ee6..023a4d9 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch
@@ -18,7 +18,7 @@
index 2a02d90..a57c360 100644
--- a/src/systemd/src/basic/in-addr-util.c
+++ b/src/systemd/src/basic/in-addr-util.c
-@@ -30,6 +30,7 @@
+@@ -13,6 +13,7 @@
#include "in-addr-util.h"
#include "macro.h"
#include "parse-util.h"
@@ -30,7 +30,7 @@
index 4c94b18..a6dc446 100644
--- a/src/systemd/src/basic/string-util.h
+++ b/src/systemd/src/basic/string-util.h
-@@ -44,6 +44,11 @@
+@@ -26,6 +26,11 @@
#define strcaseeq(a,b) (strcasecmp((a),(b)) == 0)
#define strncaseeq(a, b, n) (strncasecmp((a), (b), (n)) == 0)
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.6.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.6.bb
deleted file mode 100644
index 09c5dbd..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.6.bb
+++ /dev/null
@@ -1,143 +0,0 @@
-SUMMARY = "NetworkManager"
-HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
-SECTION = "net/misc"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \
- file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \
- file://docs/api/html/license.html;md5=77b9e362690c149da196aefe7712db30 \
-"
-
-DEPENDS = " \
- intltool-native \
- libxslt-native \
- libnl \
- dbus \
- dbus-glib \
- dbus-glib-native \
- libgudev \
- util-linux \
- libndp \
- libnewt \
- polkit \
- jansson \
- curl \
-"
-
-inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection gtk-doc
-
-SRC_URI = " \
- ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
- file://0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch \
- file://0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \
- file://0003-Do-not-create-settings-settings-property-documentati.patch \
- file://musl/0001-musl-basic.patch \
- file://musl/0002-musl-dlopen-configure-ac.patch \
- file://musl/0003-musl-network-support.patch \
- file://musl/0004-musl-process-util.patch \
- file://musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch \
- file://musl/0006-Add-a-strndupa-replacement-for-musl.patch \
-"
-SRC_URI[md5sum] = "de3c7147a693da6f80eb22f126086a14"
-SRC_URI[sha256sum] = "6af0b1e856a3725f88791f55c4fbb04105dc0b20dbf182aaec8aad16481fac76"
-
-S = "${WORKDIR}/NetworkManager-${PV}"
-
-EXTRA_OECONF = " \
- --disable-ifcfg-rh \
- --disable-ifnet \
- --disable-ifcfg-suse \
- --disable-more-warnings \
- --with-iptables=${sbindir}/iptables \
- --with-tests \
- --with-nmtui=yes \
-"
-
-# gobject-introspection related
-GI_DATA_ENABLED_libc-musl = "False"
-
-# stolen from https://github.com/voidlinux/void-packages/blob/master/srcpkgs/NetworkManager/template
-CFLAGS_libc-musl_append = " \
- -DHAVE_SECURE_GETENV -Dsecure_getenv=getenv \
- -D__USE_POSIX199309 -DRTLD_DEEPBIND=0 \
-"
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs"
-}
-
-PACKAGECONFIG ??= "nss ifupdown netconfig dhclient dnsmasq \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'wifi', d)} \
-"
-PACKAGECONFIG[systemd] = " \
- --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd --enable-polkit, \
- --without-systemdsystemunitdir, \
- polkit \
-"
-PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5"
-# consolekit is not picked by shlibs, so add it to RDEPENDS too
-PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit"
-PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager"
-PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp"
-# Use full featured dhcp client instead of internal one
-PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client"
-PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
-PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
-PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls"
-PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,wireless-tools,wpa-supplicant wireless-tools"
-PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
-PACKAGECONFIG[netconfig] = "--with-netconfig=yes,--with-netconfig=no"
-PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free"
-
-PACKAGES =+ "libnmutil libnmglib libnmglib-vpn \
- ${PN}-nmtui ${PN}-nmtui-doc \
- ${PN}-adsl \
-"
-
-FILES_libnmutil += "${libdir}/libnm-util.so.*"
-FILES_libnmglib += "${libdir}/libnm-glib.so.*"
-FILES_libnmglib-vpn += "${libdir}/libnm-glib-vpn.so.*"
-
-FILES_${PN}-adsl = "${libdir}/NetworkManager/libnm-device-plugin-adsl.so"
-
-FILES_${PN} += " \
- ${libexecdir} \
- ${libdir}/pppd/*/nm-pppd-plugin.so \
- ${libdir}/NetworkManager/*.so \
- ${nonarch_libdir}/NetworkManager/VPN \
- ${nonarch_libdir}/NetworkManager/conf.d \
- ${datadir}/polkit-1 \
- ${datadir}/dbus-1 \
- ${base_libdir}/udev/* \
- ${systemd_unitdir}/system \
-"
-
-RRECOMMENDS_${PN} += "iptables \
- ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \
-"
-RCONFLICTS_${PN} = "connman"
-
-FILES_${PN}-dev += " \
- ${datadir}/NetworkManager/gdb-cmd \
- ${libdir}/pppd/*/*.la \
- ${libdir}/NetworkManager/*.la \
-"
-
-FILES_${PN}-nmtui = " \
- ${bindir}/nmtui \
- ${bindir}/nmtui-edit \
- ${bindir}/nmtui-connect \
- ${bindir}/nmtui-hostname \
-"
-
-FILES_${PN}-nmtui-doc = " \
- ${mandir}/man1/nmtui* \
-"
-
-SYSTEMD_SERVICE_${PN} = "NetworkManager.service NetworkManager-dispatcher.service"
-
-do_install_append() {
- rm -rf ${D}/run ${D}${localstatedir}/run
-}
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb
new file mode 100644
index 0000000..4cc4dba
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb
@@ -0,0 +1,142 @@
+SUMMARY = "NetworkManager"
+HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
+SECTION = "net/misc"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \
+ file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \
+ file://docs/api/html/license.html;md5=2d56a1b0c42e388aa86aef59b154e8c3 \
+"
+
+DEPENDS = " \
+ intltool-native \
+ libxslt-native \
+ libnl \
+ libgudev \
+ util-linux \
+ libndp \
+ libnewt \
+ polkit \
+ jansson \
+ curl \
+"
+
+inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection gtk-doc
+
+SRC_URI = " \
+ ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
+ file://0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch \
+ file://0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \
+ file://0003-Do-not-create-settings-settings-property-documentati.patch \
+ file://0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch \
+ file://musl/0001-musl-basic.patch \
+ file://musl/0002-musl-dlopen-configure-ac.patch \
+ file://musl/0003-musl-network-support.patch \
+ file://musl/0004-musl-process-util.patch \
+ file://musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch \
+ file://musl/0006-Add-a-strndupa-replacement-for-musl.patch \
+"
+SRC_URI[md5sum] = "54ce62f0aa18ef6c5e754eaac47494ac"
+SRC_URI[sha256sum] = "35a3ede4c7d12d6212033c9e44cb82b7692f38063b53a067567f02f5937c8c18"
+
+UPSTREAM_CHECK_URI = "${GNOME_MIRROR}/NetworkManager/1.10/"
+UPSTREAM_CHECK_REGEX = "NetworkManager\-(?P<pver>1\.10(\.\d+)+).tar.xz"