diff --git a/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.10.3.bb b/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.10.3.bb new file mode 100644 index 00000000000..37a8106bb0d --- /dev/null +++ b/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.10.3.bb @@ -0,0 +1,53 @@ +DESCRIPTION = "The NTFS-3G driver is an open source, freely available NTFS driver for Linux with read and write support." +HOMEPAGE = "http://www.ntfs-3g.org/" +DEPENDS = "fuse libgcrypt" +PROVIDES = "ntfsprogs ntfs-3g" +LICENSE = "GPL-2.0-only & LGPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a" + +SRC_URI = "http://tuxera.com/opensource/ntfs-3g_ntfsprogs-${PV}.tgz \ + file://0001-libntfs-3g-Makefile.am-fix-install-failed-while-host.patch \ +" +S = "${WORKDIR}/ntfs-3g_ntfsprogs-${PV}" +SRC_URI[sha256sum] = "f20e36ee68074b845e3629e6bced4706ad053804cbaf062fbae60738f854170c" + +UPSTREAM_CHECK_URI = "https://www.tuxera.com/community/open-source-ntfs-3g/" +UPSTREAM_CHECK_REGEX = "ntfs-3g_ntfsprogs-(?P\d+(\.\d+)+)\.tgz" + +inherit autotools pkgconfig + +PACKAGECONFIG ??= "" +PACKAGECONFIG[uuid] = "--with-uuid,--without-uuid,util-linux" + +# required or it calls ldconfig at install step +EXTRA_OEMAKE = "LDCONFIG=echo" + +PACKAGES =+ "ntfs-3g ntfsprogs libntfs-3g" + +FILES:ntfs-3g = "${base_sbindir}/*.ntfs-3g ${bindir}/ntfs-3g* ${base_sbindir}/mount.ntfs" +RDEPENDS:ntfs-3g += "fuse" +RRECOMMENDS:ntfs-3g = "util-linux-mount" + +FILES:ntfsprogs = "${base_sbindir}/* ${bindir}/* ${sbindir}/*" +FILES:libntfs-3g = "${libdir}/*${SOLIBS}" + +do_install:append() { + # Standard mount will execute the program /sbin/mount.TYPE when called. + # Add a symbolic link to let mount find ntfs. + ln -sf mount.ntfs-3g ${D}${base_sbindir}/mount.ntfs + rmdir ${D}${libdir}/ntfs-3g + + # Handle when usrmerge is in effect. Some files are installed to /sbin + # regardless of the value of ${base_sbindir}. + if [ "${base_sbindir}" != /sbin ] && [ -d ${D}/sbin ]; then + mkdir -p ${D}${base_sbindir} + mv ${D}/sbin/* ${D}${base_sbindir} + rmdir ${D}/sbin + fi +} + +# Satisfy the -dev runtime dependency +ALLOW_EMPTY:${PN} = "1" + +CVE_PRODUCT = "tuxera:ntfs-3g" diff --git a/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.5.17.bb b/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.5.17.bb deleted file mode 100644 index b29716ad493..00000000000 --- a/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.5.17.bb +++ /dev/null @@ -1,53 +0,0 @@ -DESCRIPTION = "The NTFS-3G driver is an open source, freely available NTFS driver for Linux with read and write support." -HOMEPAGE = "http://www.ntfs-3g.org/" -DEPENDS = "fuse libgcrypt" -PROVIDES = "ntfsprogs ntfs-3g" -LICENSE = "GPL-2.0-only & LGPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a" - -SRC_URI = "http://tuxera.com/opensource/ntfs-3g_ntfsprogs-${PV}.tgz \ - file://0001-libntfs-3g-Makefile.am-fix-install-failed-while-host.patch \ -" -S = "${WORKDIR}/ntfs-3g_ntfsprogs-${PV}" -SRC_URI[sha256sum] = "0489fbb6972581e1b417ab578d543f6ae522e7fa648c3c9b49c789510fd5eb93" - -UPSTREAM_CHECK_URI = "https://www.tuxera.com/community/open-source-ntfs-3g/" -UPSTREAM_CHECK_REGEX = "ntfs-3g_ntfsprogs-(?P\d+(\.\d+)+)\.tgz" - -inherit autotools pkgconfig - -PACKAGECONFIG ??= "" -PACKAGECONFIG[uuid] = "--with-uuid,--without-uuid,util-linux" - -# required or it calls ldconfig at install step -EXTRA_OEMAKE = "LDCONFIG=echo" - -PACKAGES =+ "ntfs-3g ntfsprogs libntfs-3g" - -FILES:ntfs-3g = "${base_sbindir}/*.ntfs-3g ${bindir}/ntfs-3g* ${base_sbindir}/mount.ntfs" -RDEPENDS:ntfs-3g += "fuse" -RRECOMMENDS:ntfs-3g = "util-linux-mount" - -FILES:ntfsprogs = "${base_sbindir}/* ${bindir}/* ${sbindir}/*" -FILES:libntfs-3g = "${libdir}/*${SOLIBS}" - -do_install:append() { - # Standard mount will execute the program /sbin/mount.TYPE when called. - # Add a symbolic link to let mount find ntfs. - ln -sf mount.ntfs-3g ${D}${base_sbindir}/mount.ntfs - rmdir ${D}${libdir}/ntfs-3g - - # Handle when usrmerge is in effect. Some files are installed to /sbin - # regardless of the value of ${base_sbindir}. - if [ "${base_sbindir}" != /sbin ] && [ -d ${D}/sbin ]; then - mkdir -p ${D}${base_sbindir} - mv ${D}/sbin/* ${D}${base_sbindir} - rmdir ${D}/sbin - fi -} - -# Satisfy the -dev runtime dependency -ALLOW_EMPTY:${PN} = "1" - -CVE_PRODUCT = "tuxera:ntfs-3g" diff --git a/meta-filesystems/recipes-support/fuse/fuse3_3.11.0.bb b/meta-filesystems/recipes-support/fuse/fuse3_3.11.0.bb deleted file mode 100644 index 8055fb06d3e..00000000000 --- a/meta-filesystems/recipes-support/fuse/fuse3_3.11.0.bb +++ /dev/null @@ -1,80 +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 = "GPL-2.0-only & LGPL-2.0-only" -LIC_FILES_CHKSUM = "file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \ - file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66" - -SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz \ -" -SRC_URI[sha256sum] = "8982c4c521daf3974dda8a5d55d575c988da13a571970f00aea149eb54fdf14c" - -S = "${WORKDIR}/fuse-${PV}" - -UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases" -UPSTREAM_CHECK_REGEX = "fuse\-(?P3(\.\d+)+).tar.xz" - -CVE_PRODUCT = "fuse_project:fuse" - -inherit meson pkgconfig ptest - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS:${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ - bash \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/test - install -d ${D}${PTEST_PATH}/example - install -d ${D}${PTEST_PATH}/util - cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/ - - example_excutables=`find ${B}/example -type f -executable` - util_excutables=`find ${B}/util -type f -executable` - test_excutables=`find ${B}/test -type f -executable` - - for e in $example_excutables - do - cp -rf $e ${D}${PTEST_PATH}/example/ - done - - for e in $util_excutables - do - cp -rf $e ${D}${PTEST_PATH}/util/ - done - - for e in $test_excutables - do - cp -rf $e ${D}${PTEST_PATH}/test - done -} - -DEPENDS = "udev" - -PACKAGES =+ "fuse3-utils" - -RPROVIDES:${PN}-dbg += "fuse3-utils-dbg" - -RRECOMMENDS:${PN}:class-target = "kernel-module-fuse fuse3-utils" - -FILES:${PN} += "${libdir}/libfuse3.so.*" -FILES:${PN}-dev += "${libdir}/libfuse3*.la" - -# Forbid auto-renaming to libfuse3-utils -FILES:fuse3-utils = "${bindir} ${base_sbindir}" -DEBIAN_NOAUTONAME:fuse3-utils = "1" -DEBIAN_NOAUTONAME:${PN}-dbg = "1" - -do_install:append() { - rm -rf ${D}${base_prefix}/dev -} diff --git a/meta-filesystems/recipes-support/fuse/fuse3_3.12.0.bb b/meta-filesystems/recipes-support/fuse/fuse3_3.12.0.bb new file mode 100644 index 00000000000..b886effc85b --- /dev/null +++ b/meta-filesystems/recipes-support/fuse/fuse3_3.12.0.bb @@ -0,0 +1,80 @@ +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 = "GPL-2.0-only & LGPL-2.0-only" +LIC_FILES_CHKSUM = "file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \ + file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66" + +SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz \ +" +SRC_URI[sha256sum] = "33b8a92d6f7a88e6a889f0009206933482f48f3eb85d88cf09ef551313ac7373" + +S = "${WORKDIR}/fuse-${PV}" + +UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases" +UPSTREAM_CHECK_REGEX = "fuse\-(?P3(\.\d+)+).tar.xz" + +CVE_PRODUCT = "fuse_project:fuse" + +inherit meson pkgconfig ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS:${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ + bash \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/test + install -d ${D}${PTEST_PATH}/example + install -d ${D}${PTEST_PATH}/util + cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/ + + example_excutables=`find ${B}/example -type f -executable` + util_excutables=`find ${B}/util -type f -executable` + test_excutables=`find ${B}/test -type f -executable` + + for e in $example_excutables + do + cp -rf $e ${D}${PTEST_PATH}/example/ + done + + for e in $util_excutables + do + cp -rf $e ${D}${PTEST_PATH}/util/ + done + + for e in $test_excutables + do + cp -rf $e ${D}${PTEST_PATH}/test + done +} + +DEPENDS = "udev" + +PACKAGES =+ "fuse3-utils" + +RPROVIDES:${PN}-dbg += "fuse3-utils-dbg" + +RRECOMMENDS:${PN}:class-target = "kernel-module-fuse fuse3-utils" + +FILES:${PN} += "${libdir}/libfuse3.so.*" +FILES:${PN}-dev += "${libdir}/libfuse3*.la" + +# Forbid auto-renaming to libfuse3-utils +FILES:fuse3-utils = "${bindir} ${base_sbindir}" +DEBIAN_NOAUTONAME:fuse3-utils = "1" +DEBIAN_NOAUTONAME:${PN}-dbg = "1" + +do_install:append() { + rm -rf ${D}${base_prefix}/dev +} diff --git a/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.10.bb b/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.10.bb deleted file mode 100644 index fdaebbe02de..00000000000 --- a/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.10.bb +++ /dev/null @@ -1,38 +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 = "GPL-2.0-only" -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 \ - ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-xfsdump-support-usrmerge.patch','',d)} \ - " -SRC_URI[sha256sum] = "9aab7a53aa05cd46edc97269ebf1456aab2b60ab8c1fffaaf8aa492f0b5f6517" - -inherit autotools-brokensep - -PARALLEL_MAKE = "" -PACKAGECONFIG ??= "" -PACKAGECONFIG[gettext] = "--enable-gettext=yes,--enable-gettext=no,gettext" - -CFLAGS += "-D_FILE_OFFSET_BITS=64" - -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-filesystems/recipes-utils/xfsdump/xfsdump_3.1.11.bb b/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.11.bb new file mode 100644 index 00000000000..2e5977cce7d --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.11.bb @@ -0,0 +1,38 @@ +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 = "GPL-2.0-only" +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 \ + ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-xfsdump-support-usrmerge.patch','',d)} \ + " +SRC_URI[sha256sum] = "5657a2ca26a55682dc9724fb0331c860fe362c778225cbfc8c710f1375f458a3" + +inherit autotools-brokensep + +PARALLEL_MAKE = "" +PACKAGECONFIG ??= "" +PACKAGECONFIG[gettext] = "--enable-gettext=yes,--enable-gettext=no,gettext" + +CFLAGS += "-D_FILE_OFFSET_BITS=64" + +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-filesystems/recipes-utils/xfstests/xfstests_2022.07.31.bb b/meta-filesystems/recipes-utils/xfstests/xfstests_2022.07.31.bb deleted file mode 100644 index 647b6fcd736..00000000000 --- a/meta-filesystems/recipes-utils/xfstests/xfstests_2022.07.31.bb +++ /dev/null @@ -1,64 +0,0 @@ -SUMMARY = "File system QA test suite" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038" - -SRCREV_FORMAT = "xfstests_unionmount" - -SRC_URI = "\ - git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master;name=xfstests \ - git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \ - file://0001-Add-a-return-type-to-aio_rw.patch \ - file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \ -" - -SRCREV_xfstests = "b91889d79e1d92e22860504e40108a2e4d054c33" -SRCREV_unionmount = "e3825b16b46f4c4574a1a69909944c059835f914" - -S = "${WORKDIR}/git" - -inherit autotools-brokensep useradd - -DEPENDS += "xfsprogs acl" -RDEPENDS:${PN} += "\ - bash \ - bc \ - coreutils \ - e2fsprogs \ - e2fsprogs-tune2fs \ - e2fsprogs-resize2fs \ - libaio \ - libcap-bin \ - overlayfs-progs \ - perl \ - python3 \ - python3-core \ - xfsprogs \ - acl \ -" - -USERADD_PACKAGES = "${PN}" -# these users are necessary to run the tests -USERADD_PARAM:${PN} = "-U -m fsgqa; -N 123456-fsgqa; -N fsgqa2" - -EXTRA_OECONF = "INSTALL_USER=root INSTALL_GROUP=root" - -# install-sh script in the project is outdated -# we use the one from the latest libtool to solve installation issues -# It looks like the upstream is not interested in having it fixed :( -# https://www.spinics.net/lists/fstests/msg16981.html -do_configure:prepend() { - cp ${STAGING_DIR_NATIVE}${datadir}/libtool/build-aux/install-sh ${B} -} - -do_install:append() { - unionmount_target_dir=${D}/usr/xfstests/unionmount-testsuite - install -d ${D}/usr/xfstests/unionmount-testsuite/tests - install -D ${WORKDIR}/unionmount-testsuite/tests/* -t $unionmount_target_dir/tests - install ${WORKDIR}/unionmount-testsuite/*.py -t $unionmount_target_dir - install ${WORKDIR}/unionmount-testsuite/run -t $unionmount_target_dir - install ${WORKDIR}/unionmount-testsuite/README -t $unionmount_target_dir -} - -FILES:${PN} += "\ - /usr/xfstests \ -" diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests_2022.10.30.bb b/meta-filesystems/recipes-utils/xfstests/xfstests_2022.10.30.bb new file mode 100644 index 00000000000..19e16c59107 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfstests/xfstests_2022.10.30.bb @@ -0,0 +1,63 @@ +SUMMARY = "File system QA test suite" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038" + +SRCREV_FORMAT = "xfstests_unionmount" + +SRC_URI = "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master;name=xfstests \ + git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \ + file://0001-Add-a-return-type-to-aio_rw.patch \ + file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \ + " + +SRCREV_xfstests = "7d839ccc1a13148d1a41d32fb9be83a0c8d31496" +SRCREV_unionmount = "e3825b16b46f4c4574a1a69909944c059835f914" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep useradd + +DEPENDS += "xfsprogs acl" +RDEPENDS:${PN} += "\ + bash \ + bc \ + coreutils \ + e2fsprogs \ + e2fsprogs-tune2fs \ + e2fsprogs-resize2fs \ + libaio \ + libcap-bin \ + overlayfs-progs \ + perl \ + python3 \ + python3-core \ + xfsprogs \ + acl \ +" + +USERADD_PACKAGES = "${PN}" +# these users are necessary to run the tests +USERADD_PARAM:${PN} = "-U -m fsgqa; -N 123456-fsgqa; -N fsgqa2" + +EXTRA_OECONF = "INSTALL_USER=root INSTALL_GROUP=root" + +# install-sh script in the project is outdated +# we use the one from the latest libtool to solve installation issues +# It looks like the upstream is not interested in having it fixed :( +# https://www.spinics.net/lists/fstests/msg16981.html +do_configure:prepend() { + cp ${STAGING_DIR_NATIVE}${datadir}/libtool/build-aux/install-sh ${B} +} + +do_install:append() { + unionmount_target_dir=${D}/usr/xfstests/unionmount-testsuite + install -d ${D}/usr/xfstests/unionmount-testsuite/tests + install -D ${WORKDIR}/unionmount-testsuite/tests/* -t $unionmount_target_dir/tests + install ${WORKDIR}/unionmount-testsuite/*.py -t $unionmount_target_dir + install ${WORKDIR}/unionmount-testsuite/run -t $unionmount_target_dir + install ${WORKDIR}/unionmount-testsuite/README -t $unionmount_target_dir +} + +FILES:${PN} += "\ + /usr/xfstests \ +" diff --git a/meta-gnome/recipes-connectivity/folks/folks_0.15.5.bb b/meta-gnome/recipes-connectivity/folks/folks_0.15.5.bb index 51620bba8ef..ad61ee610c1 100644 --- a/meta-gnome/recipes-connectivity/folks/folks_0.15.5.bb +++ b/meta-gnome/recipes-connectivity/folks/folks_0.15.5.bb @@ -8,8 +8,9 @@ DEPENDS = " \ " GNOMEBASEBUILDCLASS = "meson" -EXTRA_OEMESON += "-Dtests=false" +EXTRA_OEMESON += "-Dtests=false -Db_lto=false " +CFLAGS:append:toolchain-clang = " -Wno-error=implicit-function-declaration" # gobject-introspection is mandatory and cannot be configured REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" GIR_MESON_OPTION = "" diff --git a/meta-gnome/recipes-connectivity/geary/geary_40.0.bb b/meta-gnome/recipes-connectivity/geary/geary_40.0.bb deleted file mode 100644 index 4b454dc02d1..00000000000 --- a/meta-gnome/recipes-connectivity/geary/geary_40.0.bb +++ /dev/null @@ -1,57 +0,0 @@ -SUMMARY = "Geary is an email application built around conversations, for the GNOME 3 desktop." -SECTION = "network" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=2a2244d5a13871ad950c55877546a6a2" - -DEPENDS = " \ - appstream-glib \ - cairo \ - enchant2 \ - evolution-data-server \ - folks \ - gcr \ - gmime \ - gnome-online-accounts \ - gsound \ - gspell \ - gtk+3 \ - icu \ - iso-codes \ - json-glib \ - libhandy \ - libical \ - libpeas \ - libsecret \ - libstemmer \ - libxml2 \ - sqlite3 \ - webkitgtk \ -" - -RDEPENDS:${PN} = "gnome-keyring" - -inherit meson pkgconfig mime-xdg gtk-icon-cache gobject-introspection vala features_check - -SRC_URI = " \ - git://github.com/GNOME/geary.git;nobranch=1;protocol=https \ - file://0001-Util.Cache.Lru-Workaround-missing-generic-type-argum.patch \ - file://0002-Fix-accessibility-issues-with-initializer-of-constan.patch \ -" - -S = "${WORKDIR}/git" -SRCREV = "e561775c1580a9f60a726355b2b897bfc9cb3382" - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" - -GIR_MESON_OPTION = "" -EXTRA_OEMESON = "-Dprofile=release" - -PACKAGECONFIG[libunwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind" -PACKAGECONFIG[tnef] = "-Dtnef=enabled,-Dtnef=disabled,libytnef" -PACKAGECONFIG[valadoc] = "-Dvaladoc=enabled,-Dvaladoc=disabled" - -PACKAGECONFIG ??= "" - -FILES:${PN} += "${datadir}" - diff --git a/meta-gnome/recipes-connectivity/geary/geary_43.0.bb b/meta-gnome/recipes-connectivity/geary/geary_43.0.bb new file mode 100644 index 00000000000..8dd0ea67d01 --- /dev/null +++ b/meta-gnome/recipes-connectivity/geary/geary_43.0.bb @@ -0,0 +1,60 @@ +SUMMARY = "Geary is an email application built around conversations, for the GNOME 3 desktop." +SECTION = "network" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=2a2244d5a13871ad950c55877546a6a2" + +DEPENDS = " \ + appstream-glib \ + cairo \ + desktop-file-utils-native \ + enchant2 \ + evolution-data-server \ + folks \ + gcr \ + gmime \ + gnome-online-accounts \ + gsound \ + gspell \ + gtk+3 \ + icu \ + iso-codes \ + json-glib \ + libhandy \ + libical \ + libpeas \ + libsecret \ + libstemmer \ + libxml2 \ + sqlite3 \ + webkitgtk \ +" + +RDEPENDS:${PN} = "gnome-keyring" + +inherit meson pkgconfig mime-xdg gtk-icon-cache gobject-introspection vala features_check + +SRC_URI = " \ + git://github.com/GNOME/geary.git;nobranch=1;protocol=https \ +" + +S = "${WORKDIR}/git" +SRCREV = "94d6bec861daffb27efea85a296f347db7a5af6d" + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" + +GIR_MESON_OPTION = "" +EXTRA_OEMESON = "-Dprofile=release" + +PACKAGECONFIG[libunwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind" +PACKAGECONFIG[tnef] = "-Dtnef=enabled,-Dtnef=disabled,libytnef" +PACKAGECONFIG[valadoc] = "-Dvaladoc=enabled,-Dvaladoc=disabled" + +PACKAGECONFIG ??= "" +# rfc822/rfc822-message.c:2097:12: error: incompatible pointer to integer conversion returning 'void *' from a function with result type 'gboolean' (aka 'int') [-Wint-conversion] +#| return NULL; +#| ^~~~ +CFLAGS:append:toolchain-clang = " -Wno-error=int-conversion" + +FILES:${PN} += "${datadir}" + diff --git a/meta-gnome/recipes-connectivity/gtk-vnc/gtk-vnc_1.3.1.bb b/meta-gnome/recipes-connectivity/gtk-vnc/gtk-vnc_1.3.1.bb new file mode 100644 index 00000000000..36eb8ca1992 --- /dev/null +++ b/meta-gnome/recipes-connectivity/gtk-vnc/gtk-vnc_1.3.1.bb @@ -0,0 +1,26 @@ +SUMMARY = "A VNC client viewer widget for GTK" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4339efb5fd592e45b9e2641de9fe734f" + +DEPENDS = " \ + gdk-pixbuf \ + glib-2.0 \ + gnutls \ + gtk+3 \ + libgcrypt \ + libx11 \ + zlib \ +" + +GNOMEBASEBUILDCLASS = "meson" +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +GIR_MESON_OPTION = "" + +PACKAGECONFIG[pulseaudio] = "-Dpulseaudio=enabled,-Dpulseaudio=disabled,pulseaudio" +PACKAGECONFIG[sasl] = "-Dsasl=enabled,-Dsasl=disabled,cyrus-sasl" + +PACKAGECONFIG ??= "pulseaudio sasl" + +inherit pkgconfig gnomebase gettext gobject-introspection vala features_check + +SRC_URI[archive.sha256sum] = "512763ac4e0559d0158b6682ca5dd1a3bd633f082f5e4349d7158e6b5f80f1ce" diff --git a/meta-gnome/recipes-connectivity/libnma/libnma_1.8.38.bb b/meta-gnome/recipes-connectivity/libnma/libnma_1.8.38.bb index 75c704bc278..341e29c0805 100644 --- a/meta-gnome/recipes-connectivity/libnma/libnma_1.8.38.bb +++ b/meta-gnome/recipes-connectivity/libnma/libnma_1.8.38.bb @@ -7,7 +7,7 @@ DEPENDS = "glib-2.0 gtk+3 gtk4 networkmanager" GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gobject-introspection gtk-doc gettext vala features_check -REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG','gcr','x11','',d)}" +REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG','gcr','x11','',d)} opengl" ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" SRC_URI[archive.sha256sum] = "5ed93eae18456ff5a8a4f408178c1ee198dc8d3a46c65f9075b101916e64e8b4" diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.26.0.bb b/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.26.0.bb index 8046b139c04..0c4834c94d9 100644 --- a/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.26.0.bb +++ b/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.26.0.bb @@ -7,7 +7,7 @@ DEPENDS = "gtk+3 libnma libnotify libsecret libgudev networkmanager iso-codes ns GNOMEBASEBUILDCLASS = "meson" inherit features_check gnomebase gsettings gtk-icon-cache gettext -REQUIRED_DISTRO_FEATURES = "x11" +REQUIRED_DISTRO_FEATURES = "x11 opengl" SRC_URI[archive.sha256sum] = "69611b29064adbd57395fe3e51a9ebde1ea794615f776900453a2bbe3d8cddfd" diff --git a/meta-gnome/recipes-gimp/babl/babl/0001-meson-Do-not-run-git-rev-parse-during-configure.patch b/meta-gnome/recipes-gimp/babl/babl/0001-meson-Do-not-run-git-rev-parse-during-configure.patch deleted file mode 100644 index bb129a4178c..00000000000 --- a/meta-gnome/recipes-gimp/babl/babl/0001-meson-Do-not-run-git-rev-parse-during-configure.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 0e41b11b23c91293d1b39a8ec4cb80c68fb26ad7 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 28 Apr 2022 07:35:31 -0700 -Subject: [PATCH] meson: Do not run git rev-parse during configure - -This option will try to deduce if babl is being built from git tree or -release tarball, there should be a better way like checking for .git -directory etc. instead of doing git operations needing network - -see -https://gitlab.gnome.org/GNOME/babl/-/commit/2dc7fc403fe427a889913ef0cfb71de85b4326ec#note_1439732 - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 7e7a935..649b456 100644 ---- a/meson.build -+++ b/meson.build -@@ -451,7 +451,7 @@ if git_bin.found() and run_command( - git_bin, - 'rev-parse', - '--is-inside-work-tree', -- check: true, -+ check: false, - ).returncode() == 0 - git_version_h = vcs_tag( - input : 'git-version.h.in', --- -2.36.0 - diff --git a/meta-gnome/recipes-gimp/babl/babl/0001-meson-fix-misspelled-kwarg-name.patch b/meta-gnome/recipes-gimp/babl/babl/0001-meson-fix-misspelled-kwarg-name.patch deleted file mode 100644 index 111dac64840..00000000000 --- a/meta-gnome/recipes-gimp/babl/babl/0001-meson-fix-misspelled-kwarg-name.patch +++ /dev/null @@ -1,36 +0,0 @@ -From ebcf4795f1132c5124d73a5ae2ca5c01319e584d Mon Sep 17 00:00:00 2001 -From: Eli Schwartz -Date: Sun, 13 Mar 2022 20:26:05 -0400 -Subject: [PATCH 1/2] meson: fix misspelled kwarg name - -set10 doesn't have a `Description` kwarg, it does have a `description` -kwarg though. - -This caused the conf variable to not have a description when it should -have one, and newer versions of Meson with better argument validation -error out with: - -meson.build:58:5: ERROR: configuration_data.set10 got unknown keyword arguments "Description" - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/babl/-/commit/b05b2826365a7dbc6ca1bf0977b848055cd0cbb6] -Signed-off-by: Khem Raj ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 487e470..2623e93 100644 ---- a/meson.build -+++ b/meson.build -@@ -55,7 +55,7 @@ lib_name = meson.project_name() + '-' + api_version - stability_version_number = (major_version != 0 ? minor_version : micro_version) - stable = (stability_version_number % 2 == 0) - --conf.set10('BABL_UNSTABLE', not stable, Description: -+conf.set10('BABL_UNSTABLE', not stable, description: - 'Define to 1 if this is an unstable version of BABL.') - - conf.set ('BABL_MAJOR_VERSION', '@0@'.format(major_version)) --- -2.36.0 - diff --git a/meta-gnome/recipes-gimp/babl/babl/0002-meson-Various-fixes.patch b/meta-gnome/recipes-gimp/babl/babl/0002-meson-Various-fixes.patch deleted file mode 100644 index 919653bf22b..00000000000 --- a/meta-gnome/recipes-gimp/babl/babl/0002-meson-Various-fixes.patch +++ /dev/null @@ -1,132 +0,0 @@ -From 06e16da32dfaad02434fd9937d298ea1ece256ce Mon Sep 17 00:00:00 2001 -From: Xavier Claessens -Date: Sat, 23 Apr 2022 10:33:17 -0400 -Subject: [PATCH 2/2] meson: Various fixes - -- Add missing lcms dependencies. That's needed when lcms is a subproject - otherwise those targets does not find its headers. -- Add lcms2 wrap so meson can build it as subproject in case the - dependency is not found on system. -- Fix couple meson warnings -- Use meson.override_dependency() so babl can be used as subproject - without hardcoding "babl_dep" variable name in main project. - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/babl/-/commit/2dc7fc403fe427a889913ef0cfb71de85b4326ec] -Signed-off-by: Khem Raj ---- - babl/meson.build | 4 +++- - extensions/meson.build | 1 + - meson.build | 4 +++- - subprojects/lcms2.wrap | 12 ++++++++++++ - tests/meson.build | 2 +- - tools/meson.build | 2 +- - 6 files changed, 21 insertions(+), 4 deletions(-) - create mode 100644 subprojects/lcms2.wrap - -diff --git a/babl/meson.build b/babl/meson.build -index d432dca..70fb131 100644 ---- a/babl/meson.build -+++ b/babl/meson.build -@@ -138,7 +138,7 @@ babl = library( - link_args: babl_link_args, - link_with: simd_extra, - dependencies: babl_deps, -- link_depends: version_script, -+ link_depends: version_script[0], - version: so_version, - install: true, - ) -@@ -165,4 +165,6 @@ if build_gir - install: true, - ) - endif -+else -+ babl_gir = [] - endif -diff --git a/extensions/meson.build b/extensions/meson.build -index 23672bb..9935f29 100644 ---- a/extensions/meson.build -+++ b/extensions/meson.build -@@ -6,6 +6,7 @@ no_cflags = [] - babl_ext_dep = [ - math, - thread, -+ lcms, - ] - - # Include directories -diff --git a/meson.build b/meson.build -index 2623e93..7e7a935 100644 ---- a/meson.build -+++ b/meson.build -@@ -451,6 +451,7 @@ if git_bin.found() and run_command( - git_bin, - 'rev-parse', - '--is-inside-work-tree', -+ check: true, - ).returncode() == 0 - git_version_h = vcs_tag( - input : 'git-version.h.in', -@@ -531,13 +532,14 @@ babl_dep = declare_dependency( - link_with : babl, - sources: [ - babl_version_h, -- is_variable('babl_gir') ? babl_gir : [] -+ build_gir ? babl_gir : [] - ], - variables: { - 'babl_path' : babl_extensions_build_dir, - 'babl_libdir' : babl_library_build_dir, - }, - ) -+meson.override_dependency('babl', babl_dep) - - ################################################################################ - # Build summary -diff --git a/subprojects/lcms2.wrap b/subprojects/lcms2.wrap -new file mode 100644 -index 0000000..2cc69df ---- /dev/null -+++ b/subprojects/lcms2.wrap -@@ -0,0 +1,12 @@ -+[wrap-file] -+directory = Little-CMS-2.12 -+source_url = https://github.com/mm2/Little-CMS/archive/refs/tags/2.12.tar.gz -+source_filename = lcms2-2.12.tar.gz -+source_hash = e501f1482fc424550ef3abbf86bf1c66090e1661249e89552d39ed5bf935df66 -+patch_filename = lcms2_2.12-2_patch.zip -+patch_url = https://wrapdb.mesonbuild.com/v2/lcms2_2.12-2/get_patch -+patch_hash = 3ac6944ac4b8d8507b85961d98cb287532945183d0e8f094c77810e793b6bebe -+ -+[provide] -+lcms2 = liblcms2_dep -+ -diff --git a/tests/meson.build b/tests/meson.build -index eee8895..7c67e70 100644 ---- a/tests/meson.build -+++ b/tests/meson.build -@@ -42,7 +42,7 @@ foreach test_name : test_names - test_name + '.c', - include_directories: [rootInclude, bablInclude], - link_with: babl, -- dependencies: thread, -+ dependencies: [thread, lcms], - export_dynamic: true, - install: false, - ) -diff --git a/tools/meson.build b/tools/meson.build -index 2719335..89ccf40 100644 ---- a/tools/meson.build -+++ b/tools/meson.build -@@ -18,7 +18,7 @@ foreach tool_name : tool_names - tool_name + '.c', - include_directories: [rootInclude, bablInclude], - link_with: babl, -- dependencies: [math, thread], -+ dependencies: [math, thread, lcms], - install: false, - ) - --- -2.36.0 - diff --git a/meta-gnome/recipes-gimp/babl/babl_0.1.92.bb b/meta-gnome/recipes-gimp/babl/babl_0.1.92.bb deleted file mode 100644 index f2e11c1117a..00000000000 --- a/meta-gnome/recipes-gimp/babl/babl_0.1.92.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Babl is a dynamic, any to any, pixel format conversion library" -LICENSE = "LGPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" - -GNOMEBASEBUILDCLASS = "meson" - -GIR_MESON_OPTION = "enable-gir" - -inherit setuptools3 gnomebase gobject-introspection vala - -DEPENDS += "lcms" - -# https://bugs.llvm.org/show_bug.cgi?id=45555 -CFLAGS:append:toolchain-clang:mipsarch = " -ffp-exception-behavior=ignore " -CFLAGS:append:toolchain-clang:riscv64 = " -ffp-exception-behavior=ignore " - -SRC_URI = "https://download.gimp.org/pub/${BPN}/0.1/${BP}.tar.xz \ - file://0001-meson-fix-misspelled-kwarg-name.patch \ - file://0002-meson-Various-fixes.patch \ - file://0001-meson-Do-not-run-git-rev-parse-during-configure.patch \ -" -SRC_URI[sha256sum] = "f667735028944b6375ad18f160a64ceb93f5c7dccaa9d8751de359777488a2c1" - -BBCLASSEXTEND = "native" diff --git a/meta-gnome/recipes-gimp/babl/babl_0.1.96.bb b/meta-gnome/recipes-gimp/babl/babl_0.1.96.bb new file mode 100644 index 00000000000..85cc7793ccf --- /dev/null +++ b/meta-gnome/recipes-gimp/babl/babl_0.1.96.bb @@ -0,0 +1,20 @@ +SUMMARY = "Babl is a dynamic, any to any, pixel format conversion library" +LICENSE = "LGPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" + +GNOMEBASEBUILDCLASS = "meson" + +GIR_MESON_OPTION = "enable-gir" + +inherit setuptools3 gnomebase gobject-introspection vala + +DEPENDS += "lcms" + +# https://bugs.llvm.org/show_bug.cgi?id=45555 +CFLAGS:append:toolchain-clang:mipsarch = " -ffp-exception-behavior=ignore " +CFLAGS:append:toolchain-clang:riscv64 = " -ffp-exception-behavior=ignore " + +SRC_URI = "https://download.gimp.org/pub/${BPN}/0.1/${BP}.tar.xz" +SRC_URI[sha256sum] = "33673fe459a983f411245a49f81fd7f1966af1ea8eca9b095a940c542b8545f6" + +BBCLASSEXTEND = "native" diff --git a/meta-gnome/recipes-gnome/evince/evince_42.3.bb b/meta-gnome/recipes-gnome/evince/evince_42.3.bb index 0c97f75e901..5f35d5b33bd 100644 --- a/meta-gnome/recipes-gnome/evince/evince_42.3.bb +++ b/meta-gnome/recipes-gnome/evince/evince_42.3.bb @@ -19,7 +19,9 @@ DEPENDS = " \ GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase itstool gnome-help pkgconfig gsettings gobject-introspection gettext mime-xdg gtk-doc +inherit gnomebase itstool gnome-help pkgconfig gsettings gobject-introspection gettext mime-xdg gtk-doc features_check + +REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl', '', d)}" def gnome_verdir(v): return oe.utils.trim_version(v, 1) diff --git a/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.14.0.bb b/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.14.0.bb index afec302cb40..fed29da0fc4 100644 --- a/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.14.0.bb +++ b/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.14.0.bb @@ -19,3 +19,10 @@ EXTRA_OEMESON = " \ PACKAGES =+ "${PN}-python3" FILES:${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}" RDEPENDS:${PN}-python3 = "${PN}" + +PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess" +src_package_preprocess () { + # Trim build paths from comments in generated sources to ensure reproducibility + sed -i -e "s,${B}/../${BPN}-${PV}/${BPN}/,,g" \ + ${B}/gexiv2/gexiv2-enums.cpp +} diff --git a/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.2.bb b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.2.bb deleted file mode 100644 index c916aca0077..00000000000 --- a/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.2.bb +++ /dev/null @@ -1,44 +0,0 @@ -SUMMARY = "GNOME bluetooth manager" -LICENSE = "GPL-2.0-only & LGPL-2.1-only" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ - file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \ -" - -SECTION = "x11/gnome" - -DEPENDS = " \ - udev \ - libnotify \ - libcanberra \ - bluez5 \ - upower \ - gtk4 \ - gsound \ - libadwaita \ -" - -GNOMEBASEBUILDCLASS = "meson" -GTKDOC_MESON_OPTION = "gtk_doc" -GTKIC_VERSION = "4" - -inherit features_check gnomebase gtk-icon-cache gtk-doc gobject-introspection - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[archive.sha256sum] = "8ce8ecfab28272db1830a63f08f9ccb5304734d1be2dbfce795fe4029e629f0c" - -BT_PULSE_PACKS = " \ - pulseaudio-lib-bluez5-util \ - pulseaudio-module-bluetooth-discover \ - pulseaudio-module-bluetooth-policy \ - pulseaudio-module-bluez5-device \ - pulseaudio-module-bluez5-discover \ -" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}" -PACKAGECONFIG[pulseaudio] = ",,,${BT_PULSE_PACKS}" - -FILES:${PN} += "${datadir}/gnome-bluetooth-3.0" - -RDEPENDS:${PN} += "bluez5" diff --git a/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.4.bb b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.4.bb new file mode 100644 index 00000000000..1c3180f9d52 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.4.bb @@ -0,0 +1,44 @@ +SUMMARY = "GNOME bluetooth manager" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ + file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \ +" + +SECTION = "x11/gnome" + +DEPENDS = " \ + udev \ + libnotify \ + libcanberra \ + bluez5 \ + upower \ + gtk4 \ + gsound \ + libadwaita \ +" + +GNOMEBASEBUILDCLASS = "meson" +GTKDOC_MESON_OPTION = "gtk_doc" +GTKIC_VERSION = "4" + +inherit features_check gnomebase gtk-icon-cache gtk-doc gobject-introspection + +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +SRC_URI[archive.sha256sum] = "1d6fcf1cdb6cc9923ab334a2c0bc37a2c1bba9d18de153d484eedc04f3c0bcdc" + +BT_PULSE_PACKS = " \ + pulseaudio-lib-bluez5-util \ + pulseaudio-module-bluetooth-discover \ + pulseaudio-module-bluetooth-policy \ + pulseaudio-module-bluez5-device \ + pulseaudio-module-bluez5-discover \ +" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}" +PACKAGECONFIG[pulseaudio] = ",,,${BT_PULSE_PACKS}" + +FILES:${PN} += "${datadir}/gnome-bluetooth-3.0" + +RDEPENDS:${PN} += "bluez5" diff --git a/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_42.2.bb b/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_42.2.bb index 31513a5f619..66a29a094ee 100644 --- a/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_42.2.bb +++ b/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_42.2.bb @@ -26,7 +26,7 @@ inherit gnomebase gobject-introspection gnome-help vala gtk-icon-cache gettext f def gnome_verdir(v): return oe.utils.trim_version(v, 1) -REQUIRED_DISTRO_FEATURES = "x11" +REQUIRED_DISTRO_FEATURES = "x11 opengl" SRC_URI[archive.sha256sum] = "33dab1bca43658d66520958b0f674cb0ad3185cfd30c12e459e7f69481c5c6a0" diff --git a/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_42.0.bb b/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_42.0.bb index 7b32be611d2..5498bb6ea94 100644 --- a/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_42.0.bb +++ b/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_42.0.bb @@ -20,7 +20,7 @@ GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gsettings gtk-icon-cache gettext features_check upstream-version-is-even mime-xdg -REQUIRED_DISTRO_FEATURES = "x11" +REQUIRED_DISTRO_FEATURES = "x11 opengl" SRC_URI[archive.sha256sum] = "b63f73f55032fc1390442f94cdf6b3cab9c91c774ddd2e5c61ecfec9d2c5e9aa" diff --git a/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_42.0.bb b/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_42.0.bb index aae927a70b4..6eeaed0e1fd 100644 --- a/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_42.0.bb +++ b/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_42.0.bb @@ -10,7 +10,7 @@ GNOMEBASEBUILDCLASS = "meson" inherit gnomebase itstool pkgconfig upstream-version-is-even gobject-introspection features_check gtk-doc -REQUIRED_DISTRO_FEATURES = "x11" +REQUIRED_DISTRO_FEATURES = "x11 opengl" # gobject-introspection is mandatory and cannot be configured REQUIRED_DISTRO_FEATURES += "gobject-introspection-data" diff --git a/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_42.0.bb b/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_42.0.bb deleted file mode 100644 index c14e57c7c0f..00000000000 --- a/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_42.0.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "GNOME font viewer" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -SECTION = "x11/gnome" - -DEPENDS = " \ - gtk4 \ - gnome-desktop \ - libadwaita \ -" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gtk-icon-cache gettext features_check mime-xdg - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[archive.sha256sum] = "cfa2b8dfff21a105a1a021dadfa213f13627e6a179a77c7b59fdcedaca848dcc" - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${datadir}/thumbnailers \ -" diff --git a/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_43.0.bb b/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_43.0.bb new file mode 100644 index 00000000000..130c26924d2 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_43.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "GNOME font viewer" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +SECTION = "x11/gnome" + +DEPENDS = " \ + gtk4 \ + gnome-desktop \ + libadwaita \ +" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gtk-icon-cache gettext features_check mime-xdg + +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +SRC_URI[archive.sha256sum] = "81c6bffb06d5332346e00eaecaec1bdcfd617c51dfd95bcd058d6c76c76dd2b9" + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${datadir}/thumbnailers \ +" diff --git a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_40.0.bb b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_40.0.bb deleted file mode 100644 index a30303cd8c6..00000000000 --- a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_40.0.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "Password and keyring managing daemon" -HOMEPAGE = "http://www.gnome.org/" -BUGTRACKER = "https://bugzilla.gnome.org/" -SECTION = "x11/gnome" - -LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later & LGPL-2.1-or-later" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ -" - -DEPENDS = " \ - glib-2.0-native \ - gtk+3 \ - gcr \ - libgcrypt \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \ -" - -inherit gnomebase gsettings features_check gettext - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -SRC_URI[archive.sha256sum] = "a3d24db08ee2fdf240fbbf0971a98c8ee295aa0e1a774537f4ea938038a3b931" -SRC_URI += " \ - file://0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch \ - file://musl.patch \ -" - -PACKAGECONFIG ??= "ssh-agent" -PACKAGECONFIG[ssh-agent] = "--enable-ssh-agent --with-ssh-agent-path=${bindir}/ssh-agent --with-ssh-add-path=${bindir}/ssh-add,--disable-ssh-agent,,openssh-misc" - -EXTRA_OECONF = " \ - --disable-doc \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam --with-pam-dir=${base_libdir}/security', '--disable-pam', d)} \ -" - -FILES:${PN} += " \ - ${datadir}/dbus-1/services \ - ${datadir}/p11-kit \ - ${datadir}/xdg-desktop-portal \ - ${base_libdir}/security/*${SOLIBSDEV} \ - ${libdir}/pkcs11/gnome-keyring-pkcs11.so \ -" -# fix | gnome-keyring-daemon: insufficient process capabilities, unsecure memory might get used -pkg_postinst:${PN} () { - setcap cap_ipc_lock+ep $D/${bindir}/gnome-keyring-daemon -} -PACKAGE_WRITE_DEPS += "libcap-native" diff --git a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_42.1.bb b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_42.1.bb new file mode 100644 index 00000000000..5937e744239 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_42.1.bb @@ -0,0 +1,50 @@ +SUMMARY = "Password and keyring managing daemon" +HOMEPAGE = "http://www.gnome.org/" +BUGTRACKER = "https://bugzilla.gnome.org/" +SECTION = "x11/gnome" + +LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later & LGPL-2.1-or-later" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ +" + +DEPENDS = " \ + glib-2.0-native \ + gtk+3 \ + gcr \ + libgcrypt \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \ +" + +inherit gnomebase gsettings features_check gettext + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +SRC_URI[archive.sha256sum] = "c7f4d040cc76a6b7fe67e08ef9106911c3c80d40fc88cbfc8e2684a4c946e3e6" +SRC_URI += " \ + file://0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch \ + file://musl.patch \ +" + +PACKAGECONFIG ??= "ssh-agent" +PACKAGECONFIG[ssh-agent] = "--enable-ssh-agent --with-ssh-agent-path=${bindir}/ssh-agent --with-ssh-add-path=${bindir}/ssh-add,--disable-ssh-agent,,openssh-misc" + +EXTRA_OECONF = " \ + --disable-doc \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam --with-pam-dir=${base_libdir}/security', '--disable-pam', d)} \ +" + +FILES:${PN} += " \ + ${datadir}/dbus-1/services \ + ${datadir}/p11-kit \ + ${datadir}/xdg-desktop-portal \ + ${base_libdir}/security/*${SOLIBSDEV} \ + ${libdir}/pkcs11/gnome-keyring-pkcs11.so \ + ${systemd_user_unitdir} \ +" +# fix | gnome-keyring-daemon: insufficient process capabilities, unsecure memory might get used +pkg_postinst:${PN} () { + setcap cap_ipc_lock+ep $D/${bindir}/gnome-keyring-daemon +} +PACKAGE_WRITE_DEPS += "libcap-native" diff --git a/meta-gnome/recipes-gnome/gnome-online-accounts/files/0001-Update-to-rest-1.0.patch b/meta-gnome/recipes-gnome/gnome-online-accounts/files/0001-Update-to-rest-1.0.patch deleted file mode 100644 index 4a47fb2dbe5..00000000000 --- a/meta-gnome/recipes-gnome/gnome-online-accounts/files/0001-Update-to-rest-1.0.patch +++ /dev/null @@ -1,160 +0,0 @@ -From 3c4a6eda580c6e38aeedb63d73ae7b96cc7f9a07 Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos -Date: Mon, 7 Jun 2021 16:31:18 +0200 -Subject: [PATCH] Update to rest 1.0 - -Updates to use the rest 1.0 API - -Upstream-Status: Inappropriate [rest 1.0 is not released yet] - -Signed-off-by: Joshua Watt ---- - configure.ac | 2 +- - src/goabackend/goalastfmprovider.c | 26 +++++++++++++------------- - src/goabackend/goaoauthprovider.c | 17 +++++++++++------ - src/goabackend/goarestproxy.h | 2 -- - 4 files changed, 25 insertions(+), 22 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 1f88bbd..e43303d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -129,7 +129,7 @@ if test "$enable_backend" != "no"; then - AC_SUBST(JSON_GLIB_CFLAGS) - AC_SUBST(JSON_GLIB_LIBS) - -- PKG_CHECK_MODULES(REST, [rest-0.7]) -+ PKG_CHECK_MODULES(REST, [rest-1.0]) - AC_SUBST(REST_CFLAGS) - AC_SUBST(REST_LIBS) - -diff --git a/src/goabackend/goalastfmprovider.c b/src/goabackend/goalastfmprovider.c -index cb9a6f2..a2db037 100644 ---- a/src/goabackend/goalastfmprovider.c -+++ b/src/goabackend/goalastfmprovider.c -@@ -483,18 +483,18 @@ add_account_cb (GoaManager *manager, GAsyncResult *res, gpointer user_data) - - static void - check_cb (RestProxyCall *call, -- const GError *error, -- GObject *weak_object, -+ GAsyncResult *result, - gpointer user_data) - { - AddAccountData *data = user_data; - JsonNode *session; -- JsonParser *parser; -+ JsonParser *parser = NULL; - JsonObject *json_obj; - JsonObject *session_obj; - const gchar *payload; - -- parser = NULL; -+ if (!rest_proxy_call_invoke_finish (call, result, &data->error)) -+ goto out; - - parser = json_parser_new (); - payload = rest_proxy_call_get_payload (call); -@@ -562,12 +562,12 @@ on_rest_proxy_call_cancelled_cb (GCancellable *cancellable, RestProxyCall *call) - } - - static void --lastfm_login (GoaProvider *provider, -- const gchar *username, -- const gchar *password, -- GCancellable *cancellable, -- RestProxyCallAsyncCallback callback, -- gpointer user_data) -+lastfm_login (GoaProvider *provider, -+ const gchar *username, -+ const gchar *password, -+ GCancellable *cancellable, -+ GAsyncReadyCallback callback, -+ gpointer user_data) - { - AddAccountData *data = user_data; - RestProxyCall *call; -@@ -598,7 +598,7 @@ lastfm_login (GoaProvider *provider, - rest_proxy_call_add_param (call, "api_sig", sig_md5); - rest_proxy_call_add_param (call, "format", "json"); - -- rest_proxy_call_async (call, callback, NULL, data, &data->error); -+ rest_proxy_call_invoke_async (call, NULL, callback, data); - - g_signal_connect (cancellable, "cancelled", G_CALLBACK (on_rest_proxy_call_cancelled_cb), call); - -@@ -665,7 +665,7 @@ add_account (GoaProvider *provider, - username, - password, - data.cancellable, -- (RestProxyCallAsyncCallback) check_cb, -+ (GAsyncReadyCallback) check_cb, - &data); - - gtk_widget_set_sensitive (data.connect_button, FALSE); -@@ -819,7 +819,7 @@ refresh_account (GoaProvider *provider, - username, - password, - data.cancellable, -- (RestProxyCallAsyncCallback) check_cb, -+ (GAsyncReadyCallback) check_cb, - &data); - gtk_widget_set_sensitive (data.connect_button, FALSE); - gtk_widget_show (data.progress_grid); -diff --git a/src/goabackend/goaoauthprovider.c b/src/goabackend/goaoauthprovider.c -index 0bfab6b..6a69251 100644 ---- a/src/goabackend/goaoauthprovider.c -+++ b/src/goabackend/goaoauthprovider.c -@@ -699,9 +699,15 @@ on_web_view_decide_policy (WebKitWebView *web_view, - } - - static void --rest_proxy_call_cb (RestProxyCall *call, const GError *error, GObject *weak_object, gpointer user_data) -+rest_proxy_call_cb (GObject *source, GAsyncResult *result, gpointer user_data) - { -+ RestProxyCall *call = REST_PROXY_CALL (source); - IdentifyData *data = user_data; -+ -+ if (!rest_proxy_call_invoke_finish (call, result, &data->error)) -+ { -+ g_prefix_error (&data->error, _("Error getting a Request Token: ")); -+ } - g_main_loop_quit (data->loop); - } - -@@ -768,11 +774,7 @@ get_tokens_and_identity (GoaOAuthProvider *provider, - for (n = 0; request_params[n] != NULL; n += 2) - rest_proxy_call_add_param (call, request_params[n], request_params[n+1]); - } -- if (!rest_proxy_call_async (call, rest_proxy_call_cb, NULL, &data, &data.error)) -- { -- g_prefix_error (&data.error, _("Error getting a Request Token: ")); -- goto out; -- } -+ rest_proxy_call_invoke_async (call, NULL, rest_proxy_call_cb, &data); - - goa_utils_set_dialog_title (GOA_PROVIDER (provider), dialog, add_account); - -@@ -794,6 +796,9 @@ get_tokens_and_identity (GoaOAuthProvider *provider, - g_main_loop_run (data.loop); - gtk_container_remove (GTK_CONTAINER (grid), spinner); - -+ if (data.error) -+ goto out; -+ - if (rest_proxy_call_get_status_code (call) != 200) - { - gchar *msg; -diff --git a/src/goabackend/goarestproxy.h b/src/goabackend/goarestproxy.h -index 09fb076..4948cb7 100644 ---- a/src/goabackend/goarestproxy.h -+++ b/src/goabackend/goarestproxy.h -@@ -27,8 +27,6 @@ - - G_BEGIN_DECLS - --G_DEFINE_AUTOPTR_CLEANUP_FUNC (RestProxy, g_object_unref); -- - #define GOA_TYPE_REST_PROXY (goa_rest_proxy_get_type ()) - G_DECLARE_FINAL_TYPE (GoaRestProxy, goa_rest_proxy, GOA, REST_PROXY, RestProxy); - diff --git a/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.44.0.bb b/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.44.0.bb deleted file mode 100644 index 451670e64f0..00000000000 --- a/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.44.0.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "GNOME Online Accounts - Single sign-on framework for GNOME" -LICENSE = "LGPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=34c88b124db5fb2762c1676be7dadd36" - -GNOMEBASEBUILDCLASS = "autotools" - -inherit gnomebase gsettings gobject-introspection gsettings gtk-doc vala gettext features_check - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -DEPENDS = "glib-2.0" - -SRC_URI += "file://0001-Update-to-rest-1.0.patch" -SRC_URI[archive.sha256sum] = "381d5d4106f435b6f87786aa049be784774e15996adcc02789807afc87ea7342" - -# backend is required for gnome-control-center -PACKAGECONFIG = "backend other" - -PACKAGECONFIG[backend] = "--enable-backend,--disable-backend,gtk+3 webkitgtk libsoup-2.4 json-glib libsecret rest libxml2" -PACKAGECONFIG[krb5] = "--enable-kerberos, --disable-kerberos , krb5 gcr" - -# no extra dependencies! -PACKAGECONFIG[other] = " \ - --enable-facebook --enable-foursquare --enable-exchange --enable-flickr --enable-google --enable-imap-smtp --enable-owncloud --enable-windows-live,\ - --disable-facebook --disable-foursquare --disable-exchange --disable-flickr --disable-google --disable-imap-smtp --disable-owncloud --disable-windows-live, \ -" - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${libdir}/goa-1.0/web-extensions/*.so \ -" - -# looked into pkg-config file: it is not a bug - they mean it -FILES:${PN}-dev += "${libdir}/goa-1.0/include" diff --git a/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.46.0.bb b/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.46.0.bb new file mode 100644 index 00000000000..0603a2d89b1 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.46.0.bb @@ -0,0 +1,31 @@ +SUMMARY = "GNOME Online Accounts - Single sign-on framework for GNOME" +LICENSE = "LGPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=34c88b124db5fb2762c1676be7dadd36" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gsettings gobject-introspection gtk-icon-cache vala features_check + +DEPENDS = "gtk+3 gtk+3-native gdk-pixbuf dbus json-glib libxml2 webkitgtk glib-2.0 rest libsecret" + +SRC_URI[archive.sha256sum] = "5e7859ce4858a6b99d3995ed70527d66e297bb90bbf75ec8780fe9da22c1fcaa" + +PACKAGECONFIG_SOUP ?= "soup3" +PACKAGECONFIG ?= "kerberos owncloud lastfm google windows_live ${PACKAGECONFIG_SOUP}" + +PACKAGECONFIG[kerberos] = "-Dkerberos=true, -Dkerberos=false,krb5 gcr" +PACKAGECONFIG[exchange] = "-Dexchange=true, -Dexchange=false" +PACKAGECONFIG[google] = "-Dgoogle=true, -Dgoogle=false" +PACKAGECONFIG[owncloud] = "-Downcloud=true, -Downcloud=false" +PACKAGECONFIG[windows_live] = "-Dwindows_live=true, -Dwindows_live=false" +PACKAGECONFIG[lastfm] = "-Dlastfm=true, -Dlastfm=false" +PACKAGECONFIG[soup2] = ",,libsoup-2.4,,,soup3" +PACKAGECONFIG[soup3] = ",,libsoup-3.0,,,soup2" + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${libdir}/goa-1.0/web-extensions/*.so \ +" + +# looked into pkg-config file: it is not a bug - they mean it +FILES:${PN}-dev += "${libdir}/goa-1.0/include" diff --git a/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_42.2.bb b/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_42.2.bb index 1446b151c58..763384b7ea8 100644 --- a/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_42.2.bb +++ b/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_42.2.bb @@ -10,6 +10,7 @@ DEPENDS = " \ gtk4 \ gtksourceview5 \ enchant2 \ + libpcre \ " GTKIC_VERSION = "4" diff --git a/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.14.bb b/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.14.bb deleted file mode 100644 index d00e737f4ae..00000000000 --- a/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.14.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Grilo is a framework forsearching media content from various sources" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" - -DEPENDS = " \ - glib-2.0-native \ - gperf-native \ - itstool-native \ - grilo \ - tracker \ - lua \ - liboauth \ -" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gnome-help vala - -SRC_URI += "file://0001-Avoid-running-trackertestutils.patch" -SRC_URI[archive.sha256sum] = "686844b34ec73b24931ff6cc4f6033f0072947a6db60acdc7fb3eaf157a581c8" - -FILES:${PN} += "${libdir}/grilo-0.3" diff --git a/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.15.bb b/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.15.bb new file mode 100644 index 00000000000..b96194dec5c --- /dev/null +++ b/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.15.bb @@ -0,0 +1,22 @@ +SUMMARY = "Grilo is a framework forsearching media content from various sources" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" + +DEPENDS = " \ + glib-2.0-native \ + gperf-native \ + itstool-native \ + grilo \ + tracker \ + lua \ + liboauth \ +" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gnome-help vala + +SRC_URI += "file://0001-Avoid-running-trackertestutils.patch" +SRC_URI[archive.sha256sum] = "8518c3d954f93095d955624a044ce16a7345532f811d299dbfa1e114cfebab33" + +FILES:${PN} += "${libdir}/grilo-0.3" diff --git a/meta-gnome/recipes-gnome/gspell/gspell_1.11.1.bb b/meta-gnome/recipes-gnome/gspell/gspell_1.11.1.bb deleted file mode 100644 index c76a48f19a8..00000000000 --- a/meta-gnome/recipes-gnome/gspell/gspell_1.11.1.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "gspell adds spell-checking to a GTK+ applications" -HOMEPAGE = "https://wiki.gnome.org/Projects/gspell" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=8c2e1ec1540fb3e0beb68361344cba7e" - -DEPENDS = "gtk+3 iso-codes enchant2" - -inherit gnomebase gettext gobject-introspection vala - -SRC_URI[archive.sha256sum] = "ef6aa4e3f711775158a7e241a5f809cf2426bc0e02c23a7d2b5c71fc3de00292" diff --git a/meta-gnome/recipes-gnome/gspell/gspell_1.12.0.bb b/meta-gnome/recipes-gnome/gspell/gspell_1.12.0.bb new file mode 100644 index 00000000000..b7e49549646 --- /dev/null +++ b/meta-gnome/recipes-gnome/gspell/gspell_1.12.0.bb @@ -0,0 +1,10 @@ +SUMMARY = "gspell adds spell-checking to a GTK+ applications" +HOMEPAGE = "https://wiki.gnome.org/Projects/gspell" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=8c2e1ec1540fb3e0beb68361344cba7e" + +DEPENDS = "gtk+3 iso-codes enchant2" + +inherit gnomebase gettext gobject-introspection vala + +SRC_URI[archive.sha256sum] = "40d2850f1bb6e8775246fa1e39438b36caafbdbada1d28a19fa1ca07e1ff82ad" diff --git a/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.6.bb b/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.6.bb deleted file mode 100644 index dcebd0de5ad..00000000000 --- a/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.6.bb +++ /dev/null @@ -1,142 +0,0 @@ -SUMMARY = "Multi-platform toolkit for creating GUIs" -DESCRIPTION = "GTK is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \ -set of widgets, GTK is suitable for projects ranging from small one-off projects to complete application suites." -HOMEPAGE = "http://www.gtk.org" -BUGTRACKER = "https://bugzilla.gnome.org/" -SECTION = "libs" - -DEPENDS = " \ - sassc-native \ - glib-2.0 \ - libepoxy \ - graphene \ - cairo \ - pango \ - atk \ - jpeg \ - libpng \ - librsvg \ - tiff \ - gdk-pixbuf-native gdk-pixbuf \ -" - -LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ - file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \ - file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \ - file://tests/testgtk.c;endline=25;md5=49d06770681b8322466b52ed19d29fb2 \ -" - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -UPSTREAM_CHECK_REGEX = "gtk-(?P\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz" - -SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz" -SRC_URI[sha256sum] = "7bbfe4d13569f7c297ed49834ac7263e318b7bf102d3271cb466d5971f59ae70" - -S = "${WORKDIR}/gtk-${PV}" - -inherit meson gettext pkgconfig gtk-doc update-alternatives gsettings features_check gobject-introspection - -# TBD: nativesdk -# gobject-introspection.bbclass pins introspection off for nativesk. As long as -# we do not remove this wisdom or hack gtk4, it is not possible to build -# nativesdk-gtk4 -BBCLASSEXTEND = "native" - -GSETTINGS_PACKAGE:class-native = "" - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -REQUIRED_DISTRO_FEATURES = "opengl" - -GIR_MESON_ENABLE_FLAG = 'enabled' -GIR_MESON_DISABLE_FLAG = 'disabled' -GTKDOC_MESON_OPTION = 'gtk_doc' - -EXTRA_OEMESON = " -Dbuild-tests=false" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" -PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" -PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" - -PACKAGECONFIG[x11] = "-Dx11-backend=true,-Dx11-backend=false,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes xinerama" -PACKAGECONFIG[wayland] = "-Dwayland-backend=true,-Dwayland-backend=false,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native" -PACKAGECONFIG[cups] = "-Dprint-cups=enabled,-Dprint-cups=disabled,cups" -PACKAGECONFIG[colord] = "-Dcolord=enabled,-Dcolord=disabled,colord" -# gtk4 wants gstreamer-player-1.0 -> gstreamer1.0-plugins-bad -PACKAGECONFIG[gstreamer] = "-Dmedia-gstreamer=enabled,-Dmedia-gstreamer=disabled,gstreamer1.0-plugins-bad" -PACKAGECONFIG[tracker] = "-Dtracker=enabled,-Dtracker=disabled,tracker" - - -do_compile:prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs" -} - - -PACKAGES =+ "${PN}-demo" -LIBV = "4.0.0" - -FILES:${PN}-demo = " \ - ${datadir}/applications/org.gtk.Demo4.desktop \ - ${datadir}/applications/org.gtk.IconBrowser4.desktop \ - ${datadir}/applications/org.gtk.WidgetFactory4.desktop \ - ${datadir}/icons/hicolor/*/apps/org.gtk.Demo4*.* \ - ${datadir}/icons/hicolor/*/apps/org.gtk.IconBrowser4*.* \ - ${datadir}/icons/hicolor/*/apps/org.gtk.WidgetFactory4*.* \ - ${bindir}/gtk4-demo \ - ${bindir}/gtk4-demo-application \ - ${bindir}/gtk4-icon-browser \ - ${bindir}/gtk4-widget-factory \ -" - -FILES:${PN}:append = " \ - ${datadir}/glib-2.0/schemas/ \ - ${datadir}/gtk-4.0/emoji/ \ - ${datadir}/metainfo/ \ - ${datadir}/icons/hicolor/*/apps/org.gtk.PrintEditor4*.* \ - ${libdir}/gtk-4.0/${LIBV}/printbackends \ - ${bindir}/gtk4-update-icon-cache \ - ${bindir}/gtk4-launch \ -" - -FILES:${PN}-dev += " \ - ${datadir}/gtk-4.0/gtk4builder.rng \ - ${datadir}/gtk-4.0/include \ - ${datadir}/gtk-4.0/valgrind \ - ${datadir}/gettext/its \ - ${bindir}/gtk4-builder-tool \ - ${bindir}/gtk4-encode-symbolic-svg \ - ${bindir}/gtk4-query-settings \ -" - -GTKBASE_RRECOMMENDS ?= " \ - liberation-fonts \ - gdk-pixbuf-loader-png \ - gdk-pixbuf-loader-jpeg \ - gdk-pixbuf-loader-gif \ - gdk-pixbuf-loader-xpm \ - shared-mime-info \ - adwaita-icon-theme-symbolic \ -" - -GTKBASE_RRECOMMENDS:class-native ?= "" - -GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1" - -RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}" -RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}" -RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}" - -PACKAGES_DYNAMIC += "^gtk4-printbackend-.*" -python populate_packages:prepend () { - import os.path - - gtk_libdir = d.expand('${libdir}/gtk-3.0/${LIBV}') - printmodules_root = os.path.join(gtk_libdir, 'printbackends'); - - do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk4-printbackend-%s', 'GTK printbackend module for %s') - - if (d.getVar('DEBIAN_NAMES')): - d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-4.0') -} diff --git a/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.7.bb b/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.7.bb new file mode 100644 index 00000000000..c71be23a7d8 --- /dev/null +++ b/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.7.bb @@ -0,0 +1,142 @@ +SUMMARY = "Multi-platform toolkit for creating GUIs" +DESCRIPTION = "GTK is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \ +set of widgets, GTK is suitable for projects ranging from small one-off projects to complete application suites." +HOMEPAGE = "http://www.gtk.org" +BUGTRACKER = "https://bugzilla.gnome.org/" +SECTION = "libs" + +DEPENDS = " \ + sassc-native \ + glib-2.0 \ + libepoxy \ + graphene \ + cairo \ + pango \ + atk \ + jpeg \ + libpng \ + librsvg \ + tiff \ + gdk-pixbuf-native gdk-pixbuf \ +" + +LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ + file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \ + file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \ + file://tests/testgtk.c;endline=25;md5=49d06770681b8322466b52ed19d29fb2 \ +" + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +UPSTREAM_CHECK_REGEX = "gtk-(?P\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz" + +SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz" +SRC_URI[sha256sum] = "effd2e7c4b5e2a5c7fad43e0f24adea68baa4092abb0b752caff278e6bb010e8" + +S = "${WORKDIR}/gtk-${PV}" + +inherit meson gettext pkgconfig gtk-doc update-alternatives gsettings features_check gobject-introspection + +# TBD: nativesdk +# gobject-introspection.bbclass pins introspection off for nativesk. As long as +# we do not remove this wisdom or hack gtk4, it is not possible to build +# nativesdk-gtk4 +BBCLASSEXTEND = "native" + +GSETTINGS_PACKAGE:class-native = "" + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "opengl" + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' +GTKDOC_MESON_OPTION = 'gtk_doc' + +EXTRA_OEMESON = " -Dbuild-tests=false" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" +PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" + +PACKAGECONFIG[x11] = "-Dx11-backend=true,-Dx11-backend=false,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes xinerama" +PACKAGECONFIG[wayland] = "-Dwayland-backend=true,-Dwayland-backend=false,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native" +PACKAGECONFIG[cups] = "-Dprint-cups=enabled,-Dprint-cups=disabled,cups" +PACKAGECONFIG[colord] = "-Dcolord=enabled,-Dcolord=disabled,colord" +# gtk4 wants gstreamer-player-1.0 -> gstreamer1.0-plugins-bad +PACKAGECONFIG[gstreamer] = "-Dmedia-gstreamer=enabled,-Dmedia-gstreamer=disabled,gstreamer1.0-plugins-bad" +PACKAGECONFIG[tracker] = "-Dtracker=enabled,-Dtracker=disabled,tracker" + + +do_compile:prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs" +} + + +PACKAGES =+ "${PN}-demo" +LIBV = "4.0.0" + +FILES:${PN}-demo = " \ + ${datadir}/applications/org.gtk.Demo4.desktop \ + ${datadir}/applications/org.gtk.IconBrowser4.desktop \ + ${datadir}/applications/org.gtk.WidgetFactory4.desktop \ + ${datadir}/icons/hicolor/*/apps/org.gtk.Demo4*.* \ + ${datadir}/icons/hicolor/*/apps/org.gtk.IconBrowser4*.* \ + ${datadir}/icons/hicolor/*/apps/org.gtk.WidgetFactory4*.* \ + ${bindir}/gtk4-demo \ + ${bindir}/gtk4-demo-application \ + ${bindir}/gtk4-icon-browser \ + ${bindir}/gtk4-widget-factory \ +" + +FILES:${PN}:append = " \ + ${datadir}/glib-2.0/schemas/ \ + ${datadir}/gtk-4.0/emoji/ \ + ${datadir}/metainfo/ \ + ${datadir}/icons/hicolor/*/apps/org.gtk.PrintEditor4*.* \ + ${libdir}/gtk-4.0/${LIBV}/printbackends \ + ${bindir}/gtk4-update-icon-cache \ + ${bindir}/gtk4-launch \ +" + +FILES:${PN}-dev += " \ + ${datadir}/gtk-4.0/gtk4builder.rng \ + ${datadir}/gtk-4.0/include \ + ${datadir}/gtk-4.0/valgrind \ + ${datadir}/gettext/its \ + ${bindir}/gtk4-builder-tool \ + ${bindir}/gtk4-encode-symbolic-svg \ + ${bindir}/gtk4-query-settings \ +" + +GTKBASE_RRECOMMENDS ?= " \ + liberation-fonts \ + gdk-pixbuf-loader-png \ + gdk-pixbuf-loader-jpeg \ + gdk-pixbuf-loader-gif \ + gdk-pixbuf-loader-xpm \ + shared-mime-info \ + adwaita-icon-theme-symbolic \ +" + +GTKBASE_RRECOMMENDS:class-native ?= "" + +GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1" + +RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}" +RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}" +RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}" + +PACKAGES_DYNAMIC += "^gtk4-printbackend-.*" +python populate_packages:prepend () { + import os.path + + gtk_libdir = d.expand('${libdir}/gtk-3.0/${LIBV}') + printmodules_root = os.path.join(gtk_libdir, 'printbackends'); + + do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk4-printbackend-%s', 'GTK printbackend module for %s') + + if (d.getVar('DEBIAN_NAMES')): + d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-4.0') +} diff --git a/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.4.2.bb b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.4.2.bb index 52c270e6a02..297f79fe20f 100644 --- a/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.4.2.bb +++ b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.4.2.bb @@ -23,6 +23,7 @@ GNOMEBASEBUILDCLASS = "meson" inherit gnomebase lib_package gettext features_check gtk-doc gtk-icon-cache gobject-introspection vala ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "opengl" SRC_URI = "https://download.gnome.org/sources/gtksourceview/5.4/${PNAME}-${PV}.tar.xz" SRC_URI[sha256sum] = "ad140e07eb841910de483c092bd4885abd29baadd6e95fa22d93ed2df0b79de7" diff --git a/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.4.bb b/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.4.bb deleted file mode 100644 index 44d18f596bf..00000000000 --- a/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.4.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "Building blocks for modern GNOME applications" -LICENSE="LGPL-2.1-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -GNOMEBASEBUILDCLASS = "meson" - -DEPENDS = " \ - sassc-native \ - gtk4 \ -" - -inherit gnomebase gobject-introspection gtk-doc vala features_check - -SRC_URI[archive.sha256sum] = "fcc6d56669d33ac3d030098d7571d8045a02e18dc083b49a5a5a6325068e6b58" - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -REQUIRED_DISTRO_FEATURES = "opengl" - -GIR_MESON_ENABLE_FLAG = 'enabled' -GIR_MESON_DISABLE_FLAG = 'disabled' -GTKDOC_MESON_OPTION = 'gtk_doc' - -PACKAGECONFIG[examples] = "-Dexamples=true,-Dexamples=false" - -FILES:${PN} += "${datadir}/metainfo" diff --git a/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.2.0.bb b/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.2.0.bb new file mode 100644 index 00000000000..7a1f86a73db --- /dev/null +++ b/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.2.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "Building blocks for modern GNOME applications" +LICENSE="LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +GNOMEBASEBUILDCLASS = "meson" + +DEPENDS = " \ + sassc-native \ + gtk4 \ +" + +inherit gnomebase gobject-introspection gtk-doc vala features_check + +SRC_URI[archive.sha256sum] = "322f3e1be39ba67981d9fe7228a85818eccaa2ed0aa42bcafe263af881c6460c" + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "opengl" + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' +GTKDOC_MESON_OPTION = 'gtk_doc' + +PACKAGECONFIG[examples] = "-Dexamples=true,-Dexamples=false" + +FILES:${PN} += "${datadir}/metainfo" diff --git a/meta-gnome/recipes-gnome/libgtop/libgtop/0001-Pass-correct-parameter.patch b/meta-gnome/recipes-gnome/libgtop/libgtop/0001-Pass-correct-parameter.patch new file mode 100644 index 00000000000..5ea8eed516f --- /dev/null +++ b/meta-gnome/recipes-gnome/libgtop/libgtop/0001-Pass-correct-parameter.patch @@ -0,0 +1,29 @@ +From e969ac59335d3fb1cd228f8e7c4f6c2dda4fa536 Mon Sep 17 00:00:00 2001 +From: Avinash Sonawane +Date: Mon, 20 Dec 2021 13:33:42 +0530 +Subject: [PATCH] Pass correct parameter + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libgtop/-/merge_requests/35] +Signed-off-by: Khem Raj +--- + src/daemon/main.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/daemon/main.c b/src/daemon/main.c +index b51addf..eaee3b3 100644 +--- a/src/daemon/main.c ++++ b/src/daemon/main.c +@@ -222,8 +222,9 @@ handle_parent_connection (int s) + 0, NULL); + break; + case GLIBTOP_CMND_PROC_IO: ++ memcpy (&pid, parameter, sizeof (pid_t)); + glibtop_get_proc_io_l +- (server, &resp->u.data.proc_io, parameter); ++ (server, &resp->u.data.proc_io, pid); + do_output (s, resp, _offset_data (proc_io), + 0, NULL); + break; +-- +2.37.2 + diff --git a/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb b/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb index 2e60264e040..fa95e0bee0c 100644 --- a/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb +++ b/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb @@ -6,7 +6,9 @@ inherit gnomebase lib_package gtk-doc gobject-introspection gettext upstream-ver ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -SRC_URI += "file://0001-fix-compile-error-for-cross-compile.patch" +SRC_URI += "file://0001-fix-compile-error-for-cross-compile.patch \ + file://0001-Pass-correct-parameter.patch \ + " SRC_URI[archive.sha256sum] = "78f3274c0c79c434c03655c1b35edf7b95ec0421430897fb1345a98a265ed2d4" diff --git a/meta-gnome/recipes-gnome/metacity/metacity_3.44.0.bb b/meta-gnome/recipes-gnome/metacity/metacity_3.44.0.bb deleted file mode 100644 index b6708552ac3..00000000000 --- a/meta-gnome/recipes-gnome/metacity/metacity_3.44.0.bb +++ /dev/null @@ -1,39 +0,0 @@ -SECTION = "x11/wm" -SUMMARY = "Metacity is the boring window manager for the adult in you" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=b4cce53560b8e619ffa7c830fb8761aa \ - file://src/include/main.h;endline=24;md5=72148ede07a6dadd01de6a882d20a9ad" - -PE = "1" - -DEPENDS = " \ - gdk-pixbuf-native \ - gtk+3 \ - gsettings-desktop-schemas \ - startup-notification \ - libcanberra \ - libgtop \ - libxres \ - libxpresent \ -" - - -# depends on startup-notification which depends on virtual/libx11 -REQUIRED_DISTRO_FEATURES = "x11" - -inherit gnomebase gsettings gettext upstream-version-is-even features_check - -SRC_URI[archive.sha256sum] = "19c3c5d79d2171f45baa0f632cc8995f8607bf1231a16014439bac9ba165a7c0" -SRC_URI += "file://0001-drop-zenity-detection.patch" - -PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama" -# enable as neccessary until new warnings are dealt with -PACKAGECONFIG[werror] = "--enable-Werror,--disable-Werror,," - -FILES:${PN} += " \ - ${datadir}/themes \ - ${datadir}/gnome-control-center \ - ${datadir}/gnome\ -" - -RDEPENDS:${PN} += "gsettings-desktop-schemas" diff --git a/meta-gnome/recipes-gnome/metacity/metacity_3.46.0.bb b/meta-gnome/recipes-gnome/metacity/metacity_3.46.0.bb new file mode 100644 index 00000000000..2760d73dff8 --- /dev/null +++ b/meta-gnome/recipes-gnome/metacity/metacity_3.46.0.bb @@ -0,0 +1,39 @@ +SECTION = "x11/wm" +SUMMARY = "Metacity is the boring window manager for the adult in you" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=b4cce53560b8e619ffa7c830fb8761aa \ + file://src/include/main.h;endline=24;md5=72148ede07a6dadd01de6a882d20a9ad" + +PE = "1" + +DEPENDS = " \ + gdk-pixbuf-native \ + gtk+3 \ + gsettings-desktop-schemas \ + startup-notification \ + libcanberra \ + libgtop \ + libxres \ + libxpresent \ +" + + +# depends on startup-notification which depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +inherit gnomebase gsettings gettext upstream-version-is-even features_check + +SRC_URI[archive.sha256sum] = "4ba777e938547bfccbf9acca0967574c46643022e054c93a033419cb3cc7c1ec" +SRC_URI += "file://0001-drop-zenity-detection.patch" + +PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama" +# enable as neccessary until new warnings are dealt with +PACKAGECONFIG[werror] = "--enable-Werror,--disable-Werror,," + +FILES:${PN} += " \ + ${datadir}/themes \ + ${datadir}/gnome-control-center \ + ${datadir}/gnome\ +" + +RDEPENDS:${PN} += "gsettings-desktop-schemas" diff --git a/meta-gnome/recipes-gnome/nautilus/nautilus/0001-Provide-parameter-prototype-for-functions-without-pa.patch b/meta-gnome/recipes-gnome/nautilus/nautilus/0001-Provide-parameter-prototype-for-functions-without-pa.patch new file mode 100644 index 00000000000..6c743d8ce7d --- /dev/null +++ b/meta-gnome/recipes-gnome/nautilus/nautilus/0001-Provide-parameter-prototype-for-functions-without-pa.patch @@ -0,0 +1,94 @@ +From 76f1625bae95212ec6d4bc1bd1c8ff1232150c48 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 29 Aug 2022 13:14:09 -0700 +Subject: [PATCH] Provide parameter prototype for functions without parameter + +Fixes build with clang-15 with -Wstrict-prototypes + +src/nautilus-toolbar.c:1205:22: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] +nautilus_toolbar_new () + ^ + void + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/nautilus/-/commit/95d35aedf68f0398a6ee9e0b0af9ce80528fdc22] +Signed-off-by: Khem Raj +--- + src/nautilus-file-undo-manager.c | 4 ++-- + src/nautilus-list-model.c | 2 +- + src/nautilus-starred-directory.c | 2 +- + src/nautilus-toolbar.c | 2 +- + src/nautilus-view-model.c | 2 +- + 5 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/nautilus-file-undo-manager.c b/src/nautilus-file-undo-manager.c +index 2a886176f..f2d1eebcf 100644 +--- a/src/nautilus-file-undo-manager.c ++++ b/src/nautilus-file-undo-manager.c +@@ -258,13 +258,13 @@ nautilus_file_undo_manager_get_state (void) + + + gboolean +-nautilus_file_undo_manager_is_operating () ++nautilus_file_undo_manager_is_operating (void) + { + return undo_singleton->is_operating; + } + + NautilusFileUndoManager * +-nautilus_file_undo_manager_get () ++nautilus_file_undo_manager_get (void) + { + return undo_singleton; + } +diff --git a/src/nautilus-list-model.c b/src/nautilus-list-model.c +index 7e2aeeeee..741007105 100644 +--- a/src/nautilus-list-model.c ++++ b/src/nautilus-list-model.c +@@ -1625,7 +1625,7 @@ nautilus_list_model_get_drag_view (NautilusListModel *model, + } + + GtkTargetList * +-nautilus_list_model_get_drag_target_list () ++nautilus_list_model_get_drag_target_list (void) + { + GtkTargetList *target_list; + +diff --git a/src/nautilus-starred-directory.c b/src/nautilus-starred-directory.c +index fd41418a4..07ed62693 100644 +--- a/src/nautilus-starred-directory.c ++++ b/src/nautilus-starred-directory.c +@@ -556,7 +556,7 @@ nautilus_starred_directory_class_init (NautilusFavoriteDirectoryClass *klass) + } + + NautilusFavoriteDirectory * +-nautilus_starred_directory_new () ++nautilus_starred_directory_new (void) + { + NautilusFavoriteDirectory *self; + +diff --git a/src/nautilus-toolbar.c b/src/nautilus-toolbar.c +index 5fe4e63a4..15a696827 100644 +--- a/src/nautilus-toolbar.c ++++ b/src/nautilus-toolbar.c +@@ -1202,7 +1202,7 @@ nautilus_toolbar_class_init (NautilusToolbarClass *klass) + } + + GtkWidget * +-nautilus_toolbar_new () ++nautilus_toolbar_new (void) + { + return g_object_new (NAUTILUS_TYPE_TOOLBAR, + NULL); +diff --git a/src/nautilus-view-model.c b/src/nautilus-view-model.c +index 84c40302d..2935809ae 100644 +--- a/src/nautilus-view-model.c ++++ b/src/nautilus-view-model.c +@@ -190,7 +190,7 @@ compare_data_func (gconstpointer a, + } + + NautilusViewModel * +-nautilus_view_model_new () ++nautilus_view_model_new (void) + { + return g_object_new (NAUTILUS_TYPE_VIEW_MODEL, NULL); + } diff --git a/meta-gnome/recipes-gnome/nautilus/nautilus_42.2.bb b/meta-gnome/recipes-gnome/nautilus/nautilus_42.2.bb index f9c2ed020bb..ec16b68799e 100644 --- a/meta-gnome/recipes-gnome/nautilus/nautilus_42.2.bb +++ b/meta-gnome/recipes-gnome/nautilus/nautilus_42.2.bb @@ -21,9 +21,10 @@ inherit gnomebase gsettings gobject-introspection gtk-doc gettext features_check def gnome_verdir(v): return oe.utils.trim_version(v, 1) +SRC_URI += " file://0001-Provide-parameter-prototype-for-functions-without-pa.patch" SRC_URI[archive.sha256sum] = "99212d2eb75996f181728ad04a2e2d86f2577b064e68a34c8b81a7037df4ccb2" -REQUIRED_DISTRO_FEATURES = "x11" +REQUIRED_DISTRO_FEATURES = "x11 opengl" EXTRA_OEMESON += " \ -Dtests=none \ diff --git a/meta-gnome/recipes-gnome/rest/files/0001-Use-GUri-instead-of-SoupURI.patch b/meta-gnome/recipes-gnome/rest/files/0001-Use-GUri-instead-of-SoupURI.patch deleted file mode 100644 index 37ba0a0429a..00000000000 --- a/meta-gnome/recipes-gnome/rest/files/0001-Use-GUri-instead-of-SoupURI.patch +++ /dev/null @@ -1,181 +0,0 @@ -From d39fd6d5f4c0a63cc048b84b0f989cb83f31e5fe Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos -Date: Tue, 8 Jun 2021 10:57:06 +0200 -Subject: [PATCH 1/2] Use GUri instead of SoupURI - -Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/librest/-/merge_requests/6] ---- - configure.ac | 2 +- - rest-extras/flickr-proxy.c | 19 ++++++++++++++----- - rest/oauth-proxy-call.c | 19 ++++++++++++++----- - rest/oauth2-proxy.c | 22 +++++++++++----------- - 4 files changed, 40 insertions(+), 22 deletions(-) - -diff --git a/configure.ac b/configure.ac -index d15e592..d586e69 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -40,7 +40,7 @@ AM_PROG_CC_C_O - LT_PREREQ([2.2.6]) - LT_INIT([disable-static]) - --PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.44) -+PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.67.4) - PKG_CHECK_MODULES(SOUP, libsoup-2.4 >= 2.42) - PKG_CHECK_MODULES(XML, libxml-2.0) - PKG_CHECK_MODULES(GTHREAD, gthread-2.0) -diff --git a/rest-extras/flickr-proxy.c b/rest-extras/flickr-proxy.c -index 3342a4d..7726359 100644 ---- a/rest-extras/flickr-proxy.c -+++ b/rest-extras/flickr-proxy.c -@@ -304,13 +304,13 @@ flickr_proxy_build_login_url (FlickrProxy *proxy, - const char *frob, - const char *perms) - { -- SoupURI *uri; -+ GUri *uri; - GHashTable *params; - char *sig, *s; -+ char *query; - - g_return_val_if_fail (FLICKR_IS_PROXY (proxy), NULL); - -- uri = soup_uri_new ("http://flickr.com/services/auth/"); - params = g_hash_table_new (g_str_hash, g_str_equal); - - g_hash_table_insert (params, "api_key", proxy->priv->api_key); -@@ -321,14 +321,23 @@ flickr_proxy_build_login_url (FlickrProxy *proxy, - - sig = flickr_proxy_sign (proxy, params); - g_hash_table_insert (params, "api_sig", sig); -+ query = soup_form_encode_hash (params); - -- soup_uri_set_query_from_form (uri, params); -+ uri = g_uri_build (G_URI_FLAGS_ENCODED, -+ "http", -+ NULL, -+ "flickr.com", -+ -1, -+ "services/auth/", -+ query, -+ NULL); - -- s = soup_uri_to_string (uri, FALSE); -+ s = g_uri_to_string (uri); - -+ g_free (query); - g_free (sig); - g_hash_table_destroy (params); -- soup_uri_free (uri); -+ g_uri_unref (uri); - - return s; - } -diff --git a/rest/oauth-proxy-call.c b/rest/oauth-proxy-call.c -index c90c69d..e238c3c 100644 ---- a/rest/oauth-proxy-call.c -+++ b/rest/oauth-proxy-call.c -@@ -30,7 +30,7 @@ - - G_DEFINE_TYPE (OAuthProxyCall, oauth_proxy_call, REST_TYPE_PROXY_CALL) - --#define OAUTH_ENCODE_STRING(x_) (x_ ? soup_uri_encode( (x_), "!$&'()*+,;=@") : g_strdup ("")) -+#define OAUTH_ENCODE_STRING(x_) (x_ ? g_uri_escape_string( (x_), NULL, TRUE) : g_strdup ("")) - - static char * - sign_plaintext (OAuthProxyPrivate *priv) -@@ -136,15 +136,24 @@ sign_hmac (OAuthProxy *proxy, RestProxyCall *call, GHashTable *oauth_params) - if (priv->oauth_echo) { - g_string_append_uri_escaped (text, priv->service_url, NULL, FALSE); - } else if (priv->signature_host != NULL) { -- SoupURI *url = soup_uri_new (url_str); -+ GUri *url = g_uri_parse (url_str, G_URI_FLAGS_ENCODED, NULL); -+ GUri *new_url; - gchar *signing_url; - -- soup_uri_set_host (url, priv->signature_host); -- signing_url = soup_uri_to_string (url, FALSE); -+ new_url = g_uri_build (g_uri_get_flags (url), -+ g_uri_get_scheme (url), -+ g_uri_get_userinfo (url), -+ priv->signature_host, -+ g_uri_get_port (url), -+ g_uri_get_path (url), -+ g_uri_get_query (url), -+ g_uri_get_fragment (url)); -+ signing_url = g_uri_to_string (new_url); - - g_string_append_uri_escaped (text, signing_url, NULL, FALSE); - -- soup_uri_free (url); -+ g_uri_unref (new_url); -+ g_uri_unref (url); - g_free (signing_url); - } else { - g_string_append_uri_escaped (text, url_str, NULL, FALSE); -diff --git a/rest/oauth2-proxy.c b/rest/oauth2-proxy.c -index 24e5da0..3382f8b 100644 ---- a/rest/oauth2-proxy.c -+++ b/rest/oauth2-proxy.c -@@ -37,8 +37,6 @@ oauth2_proxy_error_quark (void) - return g_quark_from_static_string ("rest-oauth2-proxy"); - } - --#define EXTRA_CHARS_ENCODE "!$&'()*+,;=@" -- - enum { - PROP_0, - PROP_CLIENT_ID, -@@ -242,8 +240,8 @@ append_query_param (gpointer key, gpointer value, gpointer user_data) - char *encoded_val, *encoded_key; - char *param; - -- encoded_val = soup_uri_encode (value, EXTRA_CHARS_ENCODE); -- encoded_key = soup_uri_encode (key, EXTRA_CHARS_ENCODE); -+ encoded_val = g_uri_escape_string (value, NULL, TRUE); -+ encoded_key = g_uri_escape_string (key, NULL, TRUE); - - param = g_strdup_printf ("%s=%s", encoded_key, encoded_val); - g_free (encoded_key); -@@ -295,8 +293,8 @@ oauth2_proxy_build_login_url_full (OAuth2Proxy *proxy, - g_hash_table_foreach (extra_params, append_query_param, params); - } - -- encoded_uri = soup_uri_encode (redirect_uri, EXTRA_CHARS_ENCODE); -- encoded_id = soup_uri_encode (proxy->priv->client_id, EXTRA_CHARS_ENCODE); -+ encoded_uri = g_uri_escape_string (redirect_uri, NULL, TRUE); -+ encoded_id = g_uri_escape_string (proxy->priv->client_id, NULL, TRUE); - - url = g_strdup_printf ("%s?client_id=%s&redirect_uri=%s&type=user_agent", - proxy->priv->auth_endpoint, encoded_id, -@@ -378,20 +376,22 @@ oauth2_proxy_extract_access_token (const char *url) - { - GHashTable *params; - char *token = NULL; -- SoupURI *soupuri = soup_uri_new (url); -+ const char *fragment; -+ GUri *uri = g_uri_parse (url, G_URI_FLAGS_ENCODED, NULL); - -- if (soupuri->fragment != NULL) { -- params = soup_form_decode (soupuri->fragment); -+ fragment = g_uri_get_fragment (uri); -+ if (fragment != NULL) { -+ params = soup_form_decode (fragment); - - if (params) { - char *encoded = g_hash_table_lookup (params, "access_token"); - if (encoded) -- token = soup_uri_decode (encoded); -+ token = g_uri_unescape_string (encoded, NULL); - - g_hash_table_destroy (params); - } - } -- soup_uri_free (soupuri); -+ g_uri_unref (uri); - - return token; - } --- -2.33.1 - diff --git a/meta-gnome/recipes-gnome/rest/files/0002-Port-to-libsoup3.patch b/meta-gnome/recipes-gnome/rest/files/0002-Port-to-libsoup3.patch deleted file mode 100644 index eed522f776c..00000000000 --- a/meta-gnome/recipes-gnome/rest/files/0002-Port-to-libsoup3.patch +++ /dev/null @@ -1,1696 +0,0 @@ -From 3dc630ae5b9dc6cda1ba318de2cd654aaba7b4a2 Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos -Date: Tue, 8 Jun 2021 17:44:04 +0200 -Subject: [PATCH 2/2] Port to libsoup3 - -Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/librest/-/merge_requests/6] ---- - configure.ac | 39 ++++- - rest-extras.pc.in | 2 +- - rest-extras/youtube-proxy.c | 110 +++++++++++--- - rest.pc.in | 2 +- - rest/rest-private.h | 22 ++- - rest/rest-proxy-auth.c | 16 ++ - rest/rest-proxy-call.c | 296 +++++++++++++++++++++++++++++------- - rest/rest-proxy.c | 209 ++++++++++++++++++++++--- - tests/custom-serialize.c | 18 +++ - tests/proxy-continuous.c | 37 ++++- - tests/proxy.c | 63 +++++++- - tests/threaded.c | 17 +++ - 12 files changed, 719 insertions(+), 112 deletions(-) - -diff --git a/configure.ac b/configure.ac -index d586e69..75c02fe 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -20,12 +20,6 @@ AM_INIT_AUTOMAKE([1.11 foreign -Wno-portability no-define dist-xz]) - - AM_SILENT_RULES([yes]) - --API_MAJOR=1 --API_MINOR=0 --AC_SUBST([API_VERSION],[$API_MAJOR.$API_MINOR]) --AC_SUBST([API_VERSION_AM],[$API_MAJOR\_$API_MINOR]) --AC_DEFINE_UNQUOTED(API_VERSION, [$API_VERSION], [API version]) -- - AC_CANONICAL_HOST - - AC_PROG_CC -@@ -41,7 +35,6 @@ LT_PREREQ([2.2.6]) - LT_INIT([disable-static]) - - PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.67.4) --PKG_CHECK_MODULES(SOUP, libsoup-2.4 >= 2.42) - PKG_CHECK_MODULES(XML, libxml-2.0) - PKG_CHECK_MODULES(GTHREAD, gthread-2.0) - -@@ -58,6 +51,37 @@ AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums]) - localedir=${datadir}/locale - AC_SUBST(localedir) - -+AC_MSG_CHECKING([for libsoup version to use]) -+AC_ARG_WITH(soup, -+ [AC_HELP_STRING([--soup=2|3], -+ [version of libsoup library to use (default: 2)])], -+ [case "$withval" in -+ 2|3) ;; -+ *) AC_MSG_ERROR([invalid argument "$withval" for --with-soup]) ;; -+ esac], -+ [with_soup=2]) -+AC_MSG_RESULT([$with_soup]) -+ -+API_MAJOR=1 -+ -+if test "$with_soup" = "2"; then -+ PKG_CHECK_MODULES(SOUP, libsoup-2.4 >= 2.42) -+ SOUP_API_VERSION=2.4 -+ API_MINOR=0 -+ AC_DEFINE([WITH_SOUP_2],[1],[Define if libsoup version used is 2]) -+else -+ PKG_CHECK_MODULES(SOUP, libsoup-3.0 >= 2.99.8) -+ SOUP_API_VERSION=3.0 -+ API_MINOR=1 -+fi -+ -+AM_CONDITIONAL([WITH_SOUP_2],[test "$with_soup" = "2"]) -+AC_SUBST(SOUP_API_VERSION) -+ -+AC_SUBST([API_VERSION],[$API_MAJOR.$API_MINOR]) -+AC_SUBST([API_VERSION_AM],[$API_MAJOR\_$API_MINOR]) -+AC_DEFINE_UNQUOTED(API_VERSION, [$API_VERSION], [API version]) -+ - dnl === Coverage report ======================================================= - AC_PATH_PROG([GCOV], [lcov], [enable_gcov=no]) - -@@ -130,6 +154,7 @@ echo " LibRest $VERSION" - echo " ================" - echo "" - echo " prefix: ${prefix}" -+echo " libsoup version: ${with_soup}" - echo "" - echo " Documentation: ${enable_gtk_doc}" - echo " Introspection data: ${enable_introspection}" -diff --git a/rest-extras.pc.in b/rest-extras.pc.in -index 39f21bf..3723d6d 100644 ---- a/rest-extras.pc.in -+++ b/rest-extras.pc.in -@@ -9,4 +9,4 @@ Description: RESTful web api query library - Version: @VERSION@ - Libs: -L${libdir} -lrest-extras-${apiversion} - Cflags: -I${includedir}/rest-${apiversion} --Requires: glib-2.0 libsoup-2.4 libxml-2.0 -+Requires: glib-2.0 libsoup-@SOUP_API_VERSION@ libxml-2.0 -diff --git a/rest-extras/youtube-proxy.c b/rest-extras/youtube-proxy.c -index be0cf08..cd598f4 100644 ---- a/rest-extras/youtube-proxy.c -+++ b/rest-extras/youtube-proxy.c -@@ -246,6 +246,9 @@ typedef struct { - GObject *weak_object; - gpointer user_data; - gsize uploaded; -+#ifndef WITH_SOUP_2 -+ GCancellable *cancellable; -+#endif - } YoutubeProxyUploadClosure; - - static void -@@ -255,7 +258,11 @@ _upload_async_weak_notify_cb (gpointer *data, - YoutubeProxyUploadClosure *closure = - (YoutubeProxyUploadClosure *) data; - -+#ifdef WITH_SOUP_2 - _rest_proxy_cancel_message (REST_PROXY (closure->proxy), closure->message); -+#else -+ g_cancellable_cancel (closure->cancellable); -+#endif - } - - static void -@@ -267,6 +274,9 @@ _upload_async_closure_free (YoutubeProxyUploadClosure *closure) - closure); - - g_object_unref (closure->proxy); -+#ifndef WITH_SOUP_2 -+ g_object_unref (closure->cancellable); -+#endif - - g_slice_free (YoutubeProxyUploadClosure, closure); - } -@@ -286,6 +296,9 @@ _upload_async_closure_new (YoutubeProxy *self, - closure->message = message; - closure->weak_object = weak_object; - closure->user_data = user_data; -+#ifndef WITH_SOUP_2 -+ closure->cancellable = g_cancellable_new (); -+#endif - - if (weak_object != NULL) - g_object_weak_ref (weak_object, -@@ -295,41 +308,67 @@ _upload_async_closure_new (YoutubeProxy *self, - } - - static void --_upload_completed_cb (SoupSession *session, -- SoupMessage *message, -+_upload_completed_cb (SoupMessage *message, -+ GBytes *payload, -+ GError *error, - gpointer user_data) - { - YoutubeProxyUploadClosure *closure = - (YoutubeProxyUploadClosure *) user_data; -- GError *error = NULL; -+ gsize length; -+ gconstpointer data; -+ guint status_code; -+ const char *reason_phrase; - - if (closure->callback == NULL) - return; - -- if (message->status_code < 200 || message->status_code >= 300) -- error = g_error_new_literal (REST_PROXY_ERROR, -- message->status_code, -- message->reason_phrase); -- -- closure->callback (closure->proxy, message->response_body->data, -- message->request_body->length, -- message->request_body->length, -+#ifdef WITH_SOUP_2 -+ status_code = message->status_code; -+ reason_phrase = message->reason_phrase; -+#else -+ status_code = soup_message_get_status (message); -+ reason_phrase = soup_message_get_reason_phrase (message); -+#endif -+ -+ if (status_code < 200 || status_code >= 300) -+ { -+ g_clear_error (&error); -+ error = g_error_new_literal (REST_PROXY_ERROR, -+ status_code, -+ reason_phrase); -+ } -+ -+ data = g_bytes_get_data (payload, &length); -+ closure->callback (closure->proxy, data, length, length, - error, closure->weak_object, closure->user_data); -+ g_bytes_unref (payload); - - _upload_async_closure_free (closure); - } - - static void - _message_wrote_data_cb (SoupMessage *msg, -+#ifdef WITH_SOUP_2 - SoupBuffer *chunk, -+#else -+ gsize chunk_size, -+#endif - YoutubeProxyUploadClosure *closure) - { -- closure->uploaded = closure->uploaded + chunk->length; -+#ifdef WITH_SOUP_2 -+ gsize chunk_size = chunk->length; -+ goffset content_length = msg->request_body->length; -+#else -+ goffset content_length = soup_message_headers_get_content_length (soup_message_get_request_headers (msg)); -+#endif -+ -+ closure->uploaded = closure->uploaded + chunk_size; - -- if (closure->uploaded < msg->request_body->length) -+ if (closure->uploaded < content_length) - closure->callback (closure->proxy, - NULL, -- msg->request_body->length, -+ content_length, - closure->uploaded, - NULL, - closure->weak_object, -@@ -364,7 +403,12 @@ youtube_proxy_upload_async (YoutubeProxy *self, - SoupMultipart *mp; - SoupMessage *message; - SoupMessageHeaders *part_headers; -+ SoupMessageHeaders *request_headers; -+#ifdef WITH_SOUP_2 - SoupBuffer *sb; -+#else -+ GBytes *sb; -+#endif - gchar *content_type; - gchar *atom_xml; - GMappedFile *map; -@@ -380,10 +424,17 @@ youtube_proxy_upload_async (YoutubeProxy *self, - - atom_xml = _construct_upload_atom_xml (fields, incomplete); - -+#ifdef WITH_SOUP_2 - sb = soup_buffer_new_with_owner (atom_xml, - strlen(atom_xml), - atom_xml, - (GDestroyNotify) g_free); -+#else -+ sb = g_bytes_new_with_free_func (atom_xml, -+ strlen (atom_xml), -+ (GDestroyNotify) g_free, -+ atom_xml); -+#endif - - part_headers = soup_message_headers_new (SOUP_MESSAGE_HEADERS_MULTIPART); - -@@ -393,7 +444,11 @@ youtube_proxy_upload_async (YoutubeProxy *self, - - soup_multipart_append_part (mp, part_headers, sb); - -+#ifdef WITH_SOUP_2 - soup_buffer_free (sb); -+#else -+ g_bytes_unref (sb); -+#endif - - content_type = g_content_type_guess ( - filename, -@@ -401,24 +456,37 @@ youtube_proxy_upload_async (YoutubeProxy *self, - g_mapped_file_get_length (map), - NULL); - -+#ifdef WITH_SOUP_2 - sb = soup_buffer_new_with_owner (g_mapped_file_get_contents (map), - g_mapped_file_get_length (map), - map, - (GDestroyNotify) g_mapped_file_unref); -+#else -+ sb = g_bytes_new_with_free_func (g_mapped_file_get_contents (map), -+ g_mapped_file_get_length (map), -+ (GDestroyNotify) g_mapped_file_unref, -+ map); -+#endif - - soup_message_headers_replace (part_headers, "Content-Type", content_type); - - soup_multipart_append_part (mp, part_headers, sb); - -+#ifdef WITH_SOUP_2 - soup_buffer_free (sb); -- - soup_message_headers_free (part_headers); -- - message = soup_form_request_new_from_multipart (UPLOAD_URL, mp); -+ request_headers = message->request_headers; -+#else -+ g_bytes_unref (sb); -+ soup_message_headers_unref (part_headers); -+ message = soup_message_new_from_multipart (UPLOAD_URL, mp); -+ request_headers = soup_message_get_request_headers (message); -+#endif - - soup_multipart_free (mp); - -- _set_upload_headers (self, message->request_headers, filename); -+ _set_upload_headers (self, request_headers, filename); - - closure = _upload_async_closure_new (self, callback, message, weak_object, - user_data); -@@ -429,7 +497,13 @@ youtube_proxy_upload_async (YoutubeProxy *self, - closure); - - -- _rest_proxy_queue_message (REST_PROXY (self), message, _upload_completed_cb, -+ _rest_proxy_queue_message (REST_PROXY (self), message, -+#ifdef WITH_SOUP_2 -+ NULL, -+#else -+ closure->cancellable, -+#endif -+ _upload_completed_cb, - closure); - - return TRUE; -diff --git a/rest.pc.in b/rest.pc.in -index 94c384b..e6bae3e 100644 ---- a/rest.pc.in -+++ b/rest.pc.in -@@ -9,4 +9,4 @@ Description: RESTful web api query library - Version: @VERSION@ - Libs: -L${libdir} -lrest-${apiversion} - Cflags: -I${includedir}/rest-${apiversion} --Requires: glib-2.0 libsoup-2.4 libxml-2.0 -+Requires: glib-2.0 libsoup-@SOUP_API_VERSION@ libxml-2.0 -diff --git a/rest/rest-private.h b/rest/rest-private.h -index 9e91fa0..6e71322 100644 ---- a/rest/rest-private.h -+++ b/rest/rest-private.h -@@ -31,6 +31,11 @@ - - G_BEGIN_DECLS - -+typedef void (*RestMessageFinishedCallback) (SoupMessage *msg, -+ GBytes *body, -+ GError *error, -+ gpointer user_data); -+ - typedef enum - { - REST_DEBUG_XML_PARSER = 1 << 0, -@@ -53,12 +58,23 @@ gboolean _rest_proxy_get_binding_required (RestProxy *proxy); - const gchar *_rest_proxy_get_bound_url (RestProxy *proxy); - void _rest_proxy_queue_message (RestProxy *proxy, - SoupMessage *message, -- SoupSessionCallback callback, -+ GCancellable *cancellable, -+ RestMessageFinishedCallback callback, - gpointer user_data); - void _rest_proxy_cancel_message (RestProxy *proxy, - SoupMessage *message); --guint _rest_proxy_send_message (RestProxy *proxy, -- SoupMessage *message); -+GBytes *_rest_proxy_send_message (RestProxy *proxy, -+ SoupMessage *message, -+ GCancellable *cancellable, -+ GError **error); -+void _rest_proxy_send_message_async (RestProxy *proxy, -+ SoupMessage *message, -+ GCancellable *cancellable, -+ GAsyncReadyCallback callback, -+ gpointer user_data); -+GInputStream *_rest_proxy_send_message_finish (RestProxy *proxy, -+ GAsyncResult *result, -+ GError **error); - - RestXmlNode *_rest_xml_node_new (void); - void _rest_xml_node_reverse_children_siblings (RestXmlNode *node); -diff --git a/rest/rest-proxy-auth.c b/rest/rest-proxy-auth.c -index b96e443..0b2ec9f 100644 ---- a/rest/rest-proxy-auth.c -+++ b/rest/rest-proxy-auth.c -@@ -29,7 +29,9 @@ - struct _RestProxyAuthPrivate { - /* used to hold state during async authentication */ - RestProxy *proxy; -+#ifdef WITH_SOUP_2 - SoupSession *session; -+#endif - SoupMessage *message; - SoupAuth *auth; - gboolean paused; -@@ -43,7 +45,9 @@ rest_proxy_auth_dispose (GObject *object) - RestProxyAuthPrivate *priv = ((RestProxyAuth*)object)->priv; - - g_clear_object (&priv->proxy); -+#ifdef WITH_SOUP_2 - g_clear_object (&priv->session); -+#endif - g_clear_object (&priv->message); - g_clear_object (&priv->auth); - -@@ -73,13 +77,17 @@ rest_proxy_auth_new (RestProxy *proxy, - RestProxyAuth *rest_auth; - - g_return_val_if_fail (REST_IS_PROXY (proxy), NULL); -+#ifdef WITH_SOUP_2 - g_return_val_if_fail (SOUP_IS_SESSION (session), NULL); -+#endif - g_return_val_if_fail (SOUP_IS_MESSAGE (message), NULL); - g_return_val_if_fail (SOUP_IS_AUTH (soup_auth), NULL); - - rest_auth = REST_PROXY_AUTH (g_object_new (REST_TYPE_PROXY_AUTH, NULL)); - rest_auth->priv->proxy = g_object_ref(proxy); -+#ifdef WITH_SOUP_2 - rest_auth->priv->session = g_object_ref(session); -+#endif - rest_auth->priv->message = g_object_ref(message); - rest_auth->priv->auth = g_object_ref(soup_auth); - -@@ -104,7 +112,9 @@ rest_proxy_auth_pause (RestProxyAuth *auth) - return; - - auth->priv->paused = TRUE; -+#ifdef WITH_SOUP_2 - soup_session_pause_message (auth->priv->session, auth->priv->message); -+#endif - } - - /** -@@ -128,7 +138,9 @@ rest_proxy_auth_unpause (RestProxyAuth *auth) - soup_auth_authenticate (auth->priv->auth, username, password); - g_free (username); - g_free (password); -+#ifdef WITH_SOUP_2 - soup_session_unpause_message (auth->priv->session, auth->priv->message); -+#endif - auth->priv->paused = FALSE; - } - -@@ -146,7 +158,11 @@ rest_proxy_auth_cancel (RestProxyAuth *auth) - { - g_return_if_fail (REST_IS_PROXY_AUTH (auth)); - -+#ifdef WITH_SOUP_2 - soup_session_cancel_message (auth->priv->session, auth->priv->message, SOUP_STATUS_CANCELLED); -+#else -+ soup_auth_cancel (auth->priv->auth); -+#endif - } - - G_GNUC_INTERNAL gboolean rest_proxy_auth_is_paused (RestProxyAuth *auth) -diff --git a/rest/rest-proxy-call.c b/rest/rest-proxy-call.c -index 2ab722f..62b00da 100644 ---- a/rest/rest-proxy-call.c -+++ b/rest/rest-proxy-call.c -@@ -20,12 +20,14 @@ - * - */ - -+#include - #include - #include - #include - #include - - #include "rest-private.h" -+#include "rest-proxy-auth-private.h" - #include "rest-proxy-call-private.h" - - -@@ -38,12 +40,15 @@ struct _RestProxyCallAsyncClosure { - }; - typedef struct _RestProxyCallAsyncClosure RestProxyCallAsyncClosure; - -+#define READ_BUFFER_SIZE 8192 -+ - struct _RestProxyCallContinuousClosure { - RestProxyCall *call; - RestProxyCallContinuousCallback callback; - GObject *weak_object; - gpointer userdata; - SoupMessage *message; -+ guchar buffer[READ_BUFFER_SIZE]; - }; - typedef struct _RestProxyCallContinuousClosure RestProxyCallContinuousClosure; - -@@ -70,8 +75,7 @@ struct _RestProxyCallPrivate { - gchar *url; - - GHashTable *response_headers; -- goffset length; -- gchar *payload; -+ GBytes *payload; - guint status_code; - gchar *status_message; - -@@ -160,7 +164,7 @@ rest_proxy_call_finalize (GObject *object) - g_free (priv->method); - g_free (priv->function); - -- g_free (priv->payload); -+ g_clear_pointer (&priv->payload, g_bytes_unref); - g_free (priv->status_message); - - g_free (priv->url); -@@ -546,14 +550,23 @@ _populate_headers_hash_table (const gchar *name, - g_hash_table_insert (headers, g_strdup (name), g_strdup (value)); - } - -+#ifdef WITH_SOUP_2 - /* I apologise for this macro, but it saves typing ;-) */ - #define error_helper(x) g_set_error_literal(error, REST_PROXY_ERROR, x, message->reason_phrase) -+#endif - static gboolean - _handle_error_from_message (SoupMessage *message, GError **error) - { -- if (message->status_code < 100) -+ guint status_code; -+ const char *reason_phrase; -+ -+#ifdef WITH_SOUP_2 -+ status_code = message->status_code; -+ -+ if (status_code < 100) - { -- switch (message->status_code) -+ g_clear_error (error); -+ switch (status_code) - { - case SOUP_STATUS_CANCELLED: - error_helper (REST_PROXY_ERROR_CANCELLED); -@@ -580,61 +593,84 @@ _handle_error_from_message (SoupMessage *message, GError **error) - } - return FALSE; - } -+ reason_phrase = message->reason_phrase; -+#else -+ status_code = soup_message_get_status (message); -+ reason_phrase = soup_message_get_reason_phrase (message); -+#endif - -- if (message->status_code >= 200 && message->status_code < 300) -+ if (status_code >= 200 && status_code < 300) - { - return TRUE; - } - -+ if (*error != NULL) -+ return FALSE; -+ - /* If we are here we must be in some kind of HTTP error, lets try */ - g_set_error_literal (error, - REST_PROXY_ERROR, -- message->status_code, -- message->reason_phrase); -+ status_code, -+ reason_phrase); - return FALSE; - } - - static gboolean --finish_call (RestProxyCall *call, SoupMessage *message, GError **error) -+finish_call (RestProxyCall *call, SoupMessage *message, GBytes *payload, GError **error) - { - RestProxyCallPrivate *priv = GET_PRIVATE (call); -+ SoupMessageHeaders *response_headers; - - g_assert (call); - g_assert (message); -+ g_assert (payload); -+ -+#ifdef WITH_SOUP_2 -+ response_headers = message->response_headers; -+#else -+ response_headers = soup_message_get_response_headers (message); -+#endif - - /* Convert the soup headers in to hash */ - /* FIXME: Eeek..are you allowed duplicate headers? ... */ - g_hash_table_remove_all (priv->response_headers); -- soup_message_headers_foreach (message->response_headers, -+ soup_message_headers_foreach (response_headers, - (SoupMessageHeadersForeachFunc)_populate_headers_hash_table, - priv->response_headers); - -- priv->payload = g_memdup (message->response_body->data, -- message->response_body->length + 1); -- priv->length = message->response_body->length; -+ priv->payload = payload; - -+#ifdef WITH_SOUP_2 - priv->status_code = message->status_code; - priv->status_message = g_strdup (message->reason_phrase); -+#else -+ priv->status_code = soup_message_get_status (message); -+ priv->status_message = g_strdup (soup_message_get_reason_phrase (message)); -+#endif - - return _handle_error_from_message (message, error); - } - - static void --_continuous_call_message_completed_cb (SoupSession *session, -- SoupMessage *message, -- gpointer userdata) -+_continuous_call_message_completed (SoupMessage *message, -+ GError *error, -+ gpointer userdata) - { - RestProxyCallContinuousClosure *closure; - RestProxyCall *call; - RestProxyCallPrivate *priv; -- GError *error = NULL; - - closure = (RestProxyCallContinuousClosure *)userdata; - call = closure->call; - priv = GET_PRIVATE (call); - -+#ifdef WITH_SOUP_2 - priv->status_code = message->status_code; - priv->status_message = g_strdup (message->reason_phrase); -+#else -+ priv->status_code = soup_message_get_status (message); -+ priv->status_message = g_strdup (soup_message_get_reason_phrase (message)); -+#endif - - _handle_error_from_message (message, &error); - -@@ -657,6 +693,7 @@ _continuous_call_message_completed_cb (SoupSession *session, - - priv->cur_call_closure = NULL; - g_object_unref (closure->call); -+ g_object_unref (message); - g_slice_free (RestProxyCallContinuousClosure, closure); - } - -@@ -715,6 +752,49 @@ set_url (RestProxyCall *call) - return TRUE; - } - -+#ifndef WITH_SOUP_2 -+static gboolean -+authenticate (RestProxyCall *call, -+ SoupAuth *soup_auth, -+ gboolean retrying, -+ SoupMessage *message) -+{ -+ RestProxyCallPrivate *priv = GET_PRIVATE (call); -+ RestProxyAuth *rest_auth; -+ gboolean try_auth; -+ -+ rest_auth = rest_proxy_auth_new (priv->proxy, NULL, message, soup_auth); -+ g_signal_emit_by_name (priv->proxy, "authenticate", rest_auth, retrying, &try_auth); -+ if (try_auth && !rest_proxy_auth_is_paused (rest_auth)) { -+ char *username, *password; -+ -+ g_object_get (priv->proxy, "username", &username, "password", &password, NULL); -+ soup_auth_authenticate (soup_auth, username, password); -+ g_free (username); -+ g_free (password); -+ } -+ g_object_unref (rest_auth); -+ -+ return try_auth; -+} -+ -+static gboolean -+accept_certificate (RestProxyCall *call, -+ GTlsCertificate *tls_certificate, -+ GTlsCertificateFlags *tls_errors, -+ SoupMessage *message) -+{ -+ RestProxyCallPrivate *priv = GET_PRIVATE (call); -+ gboolean ssl_strict; -+ -+ if (tls_errors == 0) -+ return TRUE; -+ -+ g_object_get (priv->proxy, "ssl-strict", &ssl_strict, NULL); -+ return !ssl_strict; -+} -+#endif -+ - static SoupMessage * - prepare_message (RestProxyCall *call, GError **error_out) - { -@@ -722,6 +802,7 @@ prepare_message (RestProxyCall *call, GError **error_out) - RestProxyCallClass *call_class; - const gchar *user_agent; - SoupMessage *message; -+ SoupMessageHeaders *request_headers; - GError *error = NULL; - - call_class = REST_PROXY_CALL_GET_CLASS (call); -@@ -748,6 +829,9 @@ prepare_message (RestProxyCall *call, GError **error_out) - gchar *content; - gchar *content_type; - gsize content_len; -+#ifndef WITH_SOUP_2 -+ GBytes *body; -+#endif - - if (!call_class->serialize_params (call, &content_type, - &content, &content_len, &error)) -@@ -780,8 +864,14 @@ prepare_message (RestProxyCall *call, GError **error_out) - "Could not parse URI"); - return NULL; - } -+#ifdef WITH_SOUP_2 - soup_message_set_request (message, content_type, - SOUP_MEMORY_TAKE, content, content_len); -+#else -+ body = g_bytes_new_take (content, content_len); -+ soup_message_set_request_body_from_bytes (message, content_type, body); -+ g_bytes_unref (body); -+#endif - - g_free (content_type); - } else if (rest_params_are_strings (priv->params)) { -@@ -798,9 +888,15 @@ prepare_message (RestProxyCall *call, GError **error_out) - - hash = rest_params_as_string_hash_table (priv->params); - -+#ifdef WITH_SOUP_2 - message = soup_form_request_new_from_hash (priv->method, - priv->url, - hash); -+#else -+ message = soup_message_new_from_encoded_form (priv->method, -+ priv->url, -+ soup_form_encode_hash (hash)); -+#endif - - g_hash_table_unref (hash); - -@@ -827,19 +923,28 @@ prepare_message (RestProxyCall *call, GError **error_out) - if (rest_param_is_string (param)) { - soup_multipart_append_form_string (mp, name, rest_param_get_content (param)); - } else { -- SoupBuffer *sb; -- -- sb = soup_buffer_new_with_owner (rest_param_get_content (param), -- rest_param_get_content_length (param), -- rest_param_ref (param), -- (GDestroyNotify)rest_param_unref); -+#ifdef WITH_SOUP_2 -+ SoupBuffer *sb = soup_buffer_new_with_owner (rest_param_get_content (param), -+ rest_param_get_content_length (param), -+ rest_param_ref (param), -+ (GDestroyNotify)rest_param_unref); -+#else -+ GBytes *sb = g_bytes_new_with_free_func (rest_param_get_content (param), -+ rest_param_get_content_length (param), -+ (GDestroyNotify)rest_param_unref, -+ rest_param_ref (param)); -+#endif - - soup_multipart_append_form_file (mp, name, - rest_param_get_file_name (param), - rest_param_get_content_type (param), - sb); - -+#ifdef WITH_SOUP_2 - soup_buffer_free (sb); -+#else -+ g_bytes_unref (sb); -+#endif - } - } - -@@ -853,19 +958,36 @@ prepare_message (RestProxyCall *call, GError **error_out) - return NULL; - } - -+#ifdef WITH_SOUP_2 - message = soup_form_request_new_from_multipart (priv->url, mp); -+#else -+ message = soup_message_new_from_multipart (priv->url, mp); -+#endif - - soup_multipart_free (mp); - } - -+#ifdef WITH_SOUP_2 -+ request_headers = message->request_headers; -+#else -+ request_headers = soup_message_get_request_headers (message); -+ g_signal_connect_swapped (message, "authenticate", -+ G_CALLBACK (authenticate), -+ call); -+ g_signal_connect_swapped (message, "accept-certificate", -+ G_CALLBACK (accept_certificate), -+ call); -+#endif -+ -+ - /* Set the user agent, if one was set in the proxy */ - user_agent = rest_proxy_get_user_agent (priv->proxy); - if (user_agent) { -- soup_message_headers_append (message->request_headers, "User-Agent", user_agent); -+ soup_message_headers_append (request_headers, "User-Agent", user_agent); - } - - /* Set the headers */ -- g_hash_table_foreach (priv->headers, set_header, message->request_headers); -+ g_hash_table_foreach (priv->headers, set_header, request_headers); - - return message; - } -@@ -878,17 +1000,17 @@ _call_message_call_cancelled_cb (GCancellable *cancellable, - } - - static void --_call_message_call_completed_cb (SoupSession *session, -- SoupMessage *message, -+_call_message_call_completed_cb (SoupMessage *message, -+ GBytes *payload, -+ GError *error, - gpointer user_data) - { - GTask *task = user_data; - RestProxyCall *call; -- GError *error = NULL; - - call = REST_PROXY_CALL (g_task_get_source_object (task)); - -- finish_call (call, message, &error); -+ finish_call (call, message, payload, &error); - - if (error != NULL) - g_task_return_error (task, error); -@@ -938,6 +1060,7 @@ rest_proxy_call_invoke_async (RestProxyCall *call, - - _rest_proxy_queue_message (priv->proxy, - message, -+ priv->cancellable, - _call_message_call_completed_cb, - task); - } -@@ -962,16 +1085,55 @@ rest_proxy_call_invoke_finish (RestProxyCall *call, - } - - static void --_continuous_call_message_got_chunk_cb (SoupMessage *msg, -- SoupBuffer *chunk, -- RestProxyCallContinuousClosure *closure) -+_continuous_call_read_cb (GObject *source, -+ GAsyncResult *result, -+ gpointer user_data) - { -+ GInputStream *stream = G_INPUT_STREAM (source); -+ RestProxyCallContinuousClosure *closure = user_data; -+ RestProxyCallPrivate *priv = GET_PRIVATE (closure->call); -+ gssize bytes_read; -+ GError *error = NULL; -+ -+ bytes_read = g_input_stream_read_finish (stream, result, &error); -+ if (bytes_read <= 0) -+ { -+ _continuous_call_message_completed (closure->message, error, user_data); -+ return; -+ } -+ - closure->callback (closure->call, -- chunk->data, -- chunk->length, -+ (gconstpointer)closure->buffer, -+ bytes_read, - NULL, - closure->weak_object, - closure->userdata); -+ -+ g_input_stream_read_async (stream, closure->buffer, READ_BUFFER_SIZE, G_PRIORITY_DEFAULT, -+ priv->cancellable, _continuous_call_read_cb, closure); -+} -+ -+static void -+_continuous_call_message_sent_cb (GObject *source, -+ GAsyncResult *result, -+ gpointer user_data) -+{ -+ RestProxy *proxy = REST_PROXY (source); -+ RestProxyCallContinuousClosure *closure = user_data; -+ RestProxyCallPrivate *priv = GET_PRIVATE (closure->call); -+ GInputStream *stream; -+ GError *error = NULL; -+ -+ stream = _rest_proxy_send_message_finish (proxy, result, &error); -+ if (!stream) -+ { -+ _continuous_call_message_completed (closure->message, error, user_data); -+ return; -+ } -+ -+ g_input_stream_read_async (stream, closure->buffer, READ_BUFFER_SIZE, G_PRIORITY_DEFAULT, -+ priv->cancellable, _continuous_call_read_cb, closure); -+ g_object_unref (stream); - } - - -@@ -1021,9 +1183,6 @@ rest_proxy_call_continuous (RestProxyCall *call, - if (message == NULL) - return FALSE; - -- /* Must turn off accumulation */ -- soup_message_body_set_accumulate (message->response_body, FALSE); -- - closure = g_slice_new0 (RestProxyCallContinuousClosure); - closure->call = g_object_ref (call); - closure->callback = callback; -@@ -1041,33 +1200,29 @@ rest_proxy_call_continuous (RestProxyCall *call, - closure); - } - -- g_signal_connect (message, -- "got-chunk", -- (GCallback)_continuous_call_message_got_chunk_cb, -- closure); -- -- _rest_proxy_queue_message (priv->proxy, -- message, -- _continuous_call_message_completed_cb, -- closure); -+ _rest_proxy_send_message_async (priv->proxy, -+ message, -+ priv->cancellable, -+ _continuous_call_message_sent_cb, -+ closure); - return TRUE; - } - - static void --_upload_call_message_completed_cb (SoupSession *session, -- SoupMessage *message, -+_upload_call_message_completed_cb (SoupMessage *message, -+ GBytes *payload, -+ GError *error, - gpointer user_data) - { - RestProxyCall *call; - RestProxyCallPrivate *priv; -- GError *error = NULL; - RestProxyCallUploadClosure *closure; - - closure = (RestProxyCallUploadClosure *) user_data; - call = closure->call; - priv = GET_PRIVATE (call); - -- finish_call (call, message, &error); -+ finish_call (call, message, payload, &error); - - closure->callback (closure->call, - closure->uploaded, -@@ -1093,14 +1248,25 @@ _upload_call_message_completed_cb (SoupSession *session, - - static void - _upload_call_message_wrote_data_cb (SoupMessage *msg, -+#ifdef WITH_SOUP_2 - SoupBuffer *chunk, -+#else -+ gsize chunk_size, -+#endif - RestProxyCallUploadClosure *closure) - { -- closure->uploaded = closure->uploaded + chunk->length; -+#ifdef WITH_SOUP_2 -+ gsize chunk_size = chunk->length; -+ goffset content_length = msg->request_body->length; -+#else -+ goffset content_length = soup_message_headers_get_content_length (soup_message_get_request_headers (msg)); -+#endif - -- if (closure->uploaded < msg->request_body->length) -+ closure->uploaded = closure->uploaded + chunk_size; -+ -+ if (closure->uploaded < content_length) - closure->callback (closure->call, -- msg->request_body->length, -+ content_length, - closure->uploaded, - NULL, - closure->weak_object, -@@ -1178,6 +1344,7 @@ rest_proxy_call_upload (RestProxyCall *call, - - _rest_proxy_queue_message (priv->proxy, - message, -+ priv->cancellable, - _upload_call_message_completed_cb, - closure); - return TRUE; -@@ -1206,6 +1373,10 @@ rest_proxy_call_cancel (RestProxyCall *call) - if (priv->cancellable) - { - g_signal_handler_disconnect (priv->cancellable, priv->cancel_sig); -+#ifndef WITH_SOUP_2 -+ if (!g_cancellable_is_cancelled (priv->cancellable)) -+ g_cancellable_cancel (priv->cancellable); -+#endif - g_clear_object (&priv->cancellable); - } - -@@ -1240,6 +1411,7 @@ rest_proxy_call_sync (RestProxyCall *call, - RestProxyCallPrivate *priv = GET_PRIVATE (call); - SoupMessage *message; - gboolean ret; -+ GBytes *payload; - - g_return_val_if_fail (REST_IS_PROXY_CALL (call), FALSE); - -@@ -1247,9 +1419,9 @@ rest_proxy_call_sync (RestProxyCall *call, - if (!message) - return FALSE; - -- _rest_proxy_send_message (priv->proxy, message); -+ payload = _rest_proxy_send_message (priv->proxy, message, priv->cancellable, error_out); - -- ret = finish_call (call, message, error_out); -+ ret = finish_call (call, message, payload, error_out); - - g_object_unref (message); - -@@ -1314,9 +1486,16 @@ rest_proxy_call_get_response_headers (RestProxyCall *call) - goffset - rest_proxy_call_get_payload_length (RestProxyCall *call) - { -+ GBytes *payload; -+ - g_return_val_if_fail (REST_IS_PROXY_CALL (call), 0); - -- return GET_PRIVATE (call)->length; -+ payload = GET_PRIVATE (call)->payload; -+#ifdef WITH_SOUP_2 -+ return payload ? g_bytes_get_size (payload) - 1 : 0; -+#else -+ return payload ? g_bytes_get_size (payload) : 0; -+#endif - } - - /** -@@ -1331,9 +1510,12 @@ rest_proxy_call_get_payload_length (RestProxyCall *call) - const gchar * - rest_proxy_call_get_payload (RestProxyCall *call) - { -+ GBytes *payload; -+ - g_return_val_if_fail (REST_IS_PROXY_CALL (call), NULL); - -- return GET_PRIVATE (call)->payload; -+ payload = GET_PRIVATE (call)->payload; -+ return payload ? g_bytes_get_data (payload, NULL) : NULL; - } - - /** -diff --git a/rest/rest-proxy.c b/rest/rest-proxy.c -index 80972a3..171f6cb 100644 ---- a/rest/rest-proxy.c -+++ b/rest/rest-proxy.c -@@ -45,6 +45,9 @@ struct _RestProxyPrivate { - SoupSession *session; - gboolean disable_cookies; - char *ssl_ca_file; -+#ifndef WITH_SOUP_2 -+ gboolean ssl_strict; -+#endif - }; - - -@@ -116,11 +119,15 @@ rest_proxy_get_property (GObject *object, - g_value_set_string (value, priv->password); - break; - case PROP_SSL_STRICT: { -+#ifdef WITH_SOUP_2 - gboolean ssl_strict; - g_object_get (G_OBJECT(priv->session), - "ssl-strict", &ssl_strict, - NULL); - g_value_set_boolean (value, ssl_strict); -+#else -+ g_value_set_boolean (value, priv->ssl_strict); -+#endif - break; - } - case PROP_SSL_CA_FILE: -@@ -172,9 +179,13 @@ rest_proxy_set_property (GObject *object, - priv->password = g_value_dup_string (value); - break; - case PROP_SSL_STRICT: -+#ifdef WITH_SOUP_2 - g_object_set (G_OBJECT(priv->session), - "ssl-strict", g_value_get_boolean (value), - NULL); -+#else -+ priv->ssl_strict = g_value_get_boolean (value); -+#endif - break; - case PROP_SSL_CA_FILE: - g_free(priv->ssl_ca_file); -@@ -207,6 +218,7 @@ default_authenticate_cb (RestProxy *self, - return !retrying; - } - -+#ifdef WITH_SOUP_2 - static void - authenticate (RestProxy *self, - SoupMessage *msg, -@@ -224,6 +236,7 @@ authenticate (RestProxy *self, - soup_auth_authenticate (soup_auth, priv->username, priv->password); - g_object_unref (G_OBJECT (rest_auth)); - } -+#endif - - static void - rest_proxy_constructed (GObject *object) -@@ -238,14 +251,20 @@ rest_proxy_constructed (GObject *object) - } - - if (REST_DEBUG_ENABLED(PROXY)) { -+#ifdef WITH_SOUP_2 - SoupSessionFeature *logger = (SoupSessionFeature*)soup_logger_new (SOUP_LOGGER_LOG_BODY, 0); -+#else -+ SoupSessionFeature *logger = (SoupSessionFeature*)soup_logger_new (SOUP_LOGGER_LOG_HEADERS); -+#endif - soup_session_add_feature (priv->session, logger); - g_object_unref (logger); - } - -+#ifdef WITH_SOUP_2 - /* session lifetime is same as self, no need to keep signalid */ - g_signal_connect_swapped (priv->session, "authenticate", - G_CALLBACK(authenticate), object); -+#endif - } - - static void -@@ -391,23 +410,62 @@ rest_proxy_class_init (RestProxyClass *klass) - proxy_class->authenticate = default_authenticate_cb; - } - -+static gboolean -+transform_ssl_ca_file_to_tls_database (GBinding *binding, -+ const GValue *from_value, -+ GValue *to_value, -+ gpointer user_data) -+{ -+ g_value_take_object (to_value, -+ g_tls_file_database_new (g_value_get_string (from_value), NULL)); -+ return TRUE; -+} -+ -+static gboolean -+transform_tls_database_to_ssl_ca_file (GBinding *binding, -+ const GValue *from_value, -+ GValue *to_value, -+ gpointer user_data) -+{ -+ GTlsDatabase *tls_database; -+ char *path = NULL; -+ -+ tls_database = g_value_get_object (from_value); -+ if (tls_database) -+ g_object_get (tls_database, "anchors", &path, NULL); -+ g_value_take_string (to_value, path); -+ return TRUE; -+} -+ - static void - rest_proxy_init (RestProxy *self) - { - RestProxyPrivate *priv = GET_PRIVATE (self); -+ GTlsDatabase *tls_database; -+ -+#ifndef WITH_SOUP_2 -+ priv->ssl_strict = TRUE; -+#endif - - priv->session = soup_session_new (); - - #ifdef REST_SYSTEM_CA_FILE - /* with ssl-strict (defaults TRUE) setting ssl-ca-file forces all - * certificates to be trusted */ -- g_object_set (priv->session, -- "ssl-ca-file", REST_SYSTEM_CA_FILE, -- NULL); -+ tls_database = g_tls_file_database_new (REST_SYSTEM_CA_FILE, NULL); -+ if (tls_database) { -+ g_object_set (priv->session, -+ "tls-database", tls_database, -+ NULL); -+ g_object_unref (tls_database); -+ } - #endif -- g_object_bind_property (self, "ssl-ca-file", -- priv->session, "ssl-ca-file", -- G_BINDING_BIDIRECTIONAL); -+ g_object_bind_property_full (self, "ssl-ca-file", -+ priv->session, "tls-database", -+ G_BINDING_BIDIRECTIONAL, -+ transform_ssl_ca_file_to_tls_database, -+ transform_tls_database_to_ssl_ca_file, -+ NULL, NULL); - } - - /** -@@ -689,27 +747,127 @@ rest_proxy_simple_run (RestProxy *proxy, - return ret; - } - -+typedef struct { -+ RestMessageFinishedCallback callback; -+ gpointer user_data; -+} RestMessageQueueData; -+ -+#ifdef WITH_SOUP_2 -+static void -+message_finished_cb (SoupSession *session, -+ SoupMessage *message, -+ gpointer user_data) -+{ -+ RestMessageQueueData *data = user_data; -+ GBytes *body; -+ GError *error = NULL; -+ -+ body = g_bytes_new (message->response_body->data, -+ message->response_body->length + 1); -+ data->callback (message, body, error, data->user_data); -+ g_free (data); -+} -+#else -+static void -+message_send_and_read_ready_cb (GObject *source, -+ GAsyncResult *result, -+ gpointer user_data) -+{ -+ SoupSession *session = SOUP_SESSION (source); -+ RestMessageQueueData *data = user_data; -+ GBytes *body; -+ GError *error = NULL; -+ -+ body = soup_session_send_and_read_finish (session, result, &error); -+ data->callback (soup_session_get_async_result_message (session, result), body, error, data->user_data); -+ g_free (data); -+} -+#endif -+ - void --_rest_proxy_queue_message (RestProxy *proxy, -- SoupMessage *message, -- SoupSessionCallback callback, -- gpointer user_data) -+_rest_proxy_queue_message (RestProxy *proxy, -+ SoupMessage *message, -+ GCancellable *cancellable, -+ RestMessageFinishedCallback callback, -+ gpointer user_data) - { - RestProxyPrivate *priv = GET_PRIVATE (proxy); -+ RestMessageQueueData *data; - - g_return_if_fail (REST_IS_PROXY (proxy)); - g_return_if_fail (SOUP_IS_MESSAGE (message)); - -+ data = g_new0 (RestMessageQueueData, 1); -+ data->callback = callback; -+ data->user_data = user_data; -+ -+#ifdef WITH_SOUP_2 - soup_session_queue_message (priv->session, - message, -- callback, -- user_data); -+ message_finished_cb, -+ data); -+#else -+ soup_session_send_and_read_async (priv->session, -+ message, -+ G_PRIORITY_DEFAULT, -+ cancellable, -+ message_send_and_read_ready_cb, -+ data); -+#endif -+} -+ -+static void -+message_send_ready_cb (GObject *source, -+ GAsyncResult *result, -+ gpointer user_data) -+{ -+ SoupSession *session = SOUP_SESSION (source); -+ GTask *task = user_data; -+ GInputStream *stream; -+ GError *error = NULL; -+ -+ stream = soup_session_send_finish (session, result, &error); -+ if (stream) -+ g_task_return_pointer (task, stream, g_object_unref); -+ else -+ g_task_return_error (task, error); -+ g_object_unref (task); -+} -+ -+void -+_rest_proxy_send_message_async (RestProxy *proxy, -+ SoupMessage *message, -+ GCancellable *cancellable, -+ GAsyncReadyCallback callback, -+ gpointer user_data) -+{ -+ RestProxyPrivate *priv = GET_PRIVATE (proxy); -+ GTask *task; -+ -+ task = g_task_new (proxy, cancellable, callback, user_data); -+ soup_session_send_async (priv->session, -+ message, -+#ifndef WITH_SOUP_2 -+ G_PRIORITY_DEFAULT, -+#endif -+ cancellable, -+ message_send_ready_cb, -+ task); -+} -+ -+GInputStream * -+_rest_proxy_send_message_finish (RestProxy *proxy, -+ GAsyncResult *result, -+ GError **error) -+{ -+ return g_task_propagate_pointer (G_TASK (result), error); - } - - void - _rest_proxy_cancel_message (RestProxy *proxy, - SoupMessage *message) - { -+#ifdef WITH_SOUP_2 - RestProxyPrivate *priv = GET_PRIVATE (proxy); - - g_return_if_fail (REST_IS_PROXY (proxy)); -@@ -718,16 +876,31 @@ _rest_proxy_cancel_message (RestProxy *proxy, - soup_session_cancel_message (priv->session, - message, - SOUP_STATUS_CANCELLED); -+#endif - } - --guint --_rest_proxy_send_message (RestProxy *proxy, -- SoupMessage *message) -+GBytes * -+_rest_proxy_send_message (RestProxy *proxy, -+ SoupMessage *message, -+ GCancellable *cancellable, -+ GError **error) - { - RestProxyPrivate *priv = GET_PRIVATE (proxy); -+ GBytes *body; - -- g_return_val_if_fail (REST_IS_PROXY (proxy), 0); -- g_return_val_if_fail (SOUP_IS_MESSAGE (message), 0); -+ g_return_val_if_fail (REST_IS_PROXY (proxy), NULL); -+ g_return_val_if_fail (SOUP_IS_MESSAGE (message), NULL); -+ -+#ifdef WITH_SOUP_2 -+ soup_session_send_message (priv->session, message); -+ body = g_bytes_new (message->response_body->data, -+ message->response_body->length + 1); -+#else -+ body = soup_session_send_and_read (priv->session, -+ message, -+ cancellable, -+ error); -+#endif - -- return soup_session_send_message (priv->session, message); -+ return body; - } -diff --git a/tests/custom-serialize.c b/tests/custom-serialize.c -index c3fde93..01b3a56 100644 ---- a/tests/custom-serialize.c -+++ b/tests/custom-serialize.c -@@ -88,22 +88,40 @@ custom_proxy_call_init (CustomProxyCall *self) - } - - static void -+#ifdef WITH_SOUP_2 - server_callback (SoupServer *server, SoupMessage *msg, - const char *path, GHashTable *query, - SoupClientContext *client, gpointer user_data) -+#else -+server_callback (SoupServer *server, SoupServerMessage *msg, -+ const char *path, GHashTable *query, gpointer user_data) -+#endif - { - if (g_str_equal (path, "/ping")) { - const char *content_type = NULL; -+#ifdef WITH_SOUP_2 - SoupMessageHeaders *headers = msg->request_headers; - SoupMessageBody *body = msg->request_body; -+#else -+ SoupMessageHeaders *headers = soup_server_message_get_request_headers (msg); -+ SoupMessageBody *body = soup_server_message_get_request_body (msg); -+#endif - content_type = soup_message_headers_get_content_type (headers, NULL); - g_assert_cmpstr (content_type, ==, "application/json"); - - g_assert_cmpstr (body->data, ==, "{}"); - -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_OK); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL); -+#endif - } else { -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_NOT_IMPLEMENTED); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_NOT_IMPLEMENTED, NULL); -+#endif - } - } - -diff --git a/tests/proxy-continuous.c b/tests/proxy-continuous.c -index 8f4b7a8..7967bbd 100644 ---- a/tests/proxy-continuous.c -+++ b/tests/proxy-continuous.c -@@ -39,9 +39,15 @@ static SoupServer *server; - static gboolean - send_chunks (gpointer user_data) - { -- SoupMessage *msg = SOUP_MESSAGE (user_data); - guint i; - guint8 data[SIZE_CHUNK]; -+#ifdef WITH_SOUP_2 -+ SoupMessage *msg = SOUP_MESSAGE (user_data); -+ SoupMessageBody *response_body = msg->response_body; -+#else -+ SoupServerMessage *msg = SOUP_SERVER_MESSAGE (user_data); -+ SoupMessageBody *response_body = soup_server_message_get_response_body (msg); -+#endif - - for (i = 0; i < SIZE_CHUNK; i++) - { -@@ -49,12 +55,12 @@ send_chunks (gpointer user_data) - server_count++; - } - -- soup_message_body_append (msg->response_body, SOUP_MEMORY_COPY, data, SIZE_CHUNK); -+ soup_message_body_append (response_body, SOUP_MEMORY_COPY, data, SIZE_CHUNK); - soup_server_unpause_message (server, msg); - - if (server_count == NUM_CHUNKS * SIZE_CHUNK) - { -- soup_message_body_complete (msg->response_body); -+ soup_message_body_complete (response_body); - return FALSE; - } else { - return TRUE; -@@ -62,13 +68,28 @@ send_chunks (gpointer user_data) - } - - static void -+#ifdef WITH_SOUP_2 - server_callback (SoupServer *server, SoupMessage *msg, - const char *path, GHashTable *query, - SoupClientContext *client, gpointer user_data) -+#else -+server_callback (SoupServer *server, SoupServerMessage *msg, -+ const char *path, GHashTable *query, gpointer user_data) -+#endif - { -+#ifdef WITH_SOUP_2 -+ SoupMessageHeaders *response_headers = msg->response_headers; -+#else -+ SoupMessageHeaders *response_headers = soup_server_message_get_response_headers (msg); -+#endif -+ - g_assert_cmpstr (path, ==, "/stream"); -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_OK); -- soup_message_headers_set_encoding (msg->response_headers, -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL); -+#endif -+ soup_message_headers_set_encoding (response_headers, - SOUP_ENCODING_CHUNKED); - soup_server_pause_message (server, msg); - -@@ -142,13 +163,21 @@ continuous () - uris = soup_server_get_uris (server); - g_assert (g_slist_length (uris) > 0); - -+#ifdef WITH_SOUP_2 - url = soup_uri_to_string (uris->data, FALSE); -+#else -+ url = g_uri_to_string (uris->data); -+#endif - - loop = g_main_loop_new (NULL, FALSE); - - proxy = rest_proxy_new (url, FALSE); - stream_test (proxy); -+#ifdef WITH_SOUP_2 - g_slist_free_full (uris, (GDestroyNotify)soup_uri_free); -+#else -+ g_slist_free_full (uris, (GDestroyNotify)g_uri_unref); -+#endif - - g_main_loop_run (loop); - g_free (url); -diff --git a/tests/proxy.c b/tests/proxy.c -index 89a9325..652c600 100644 ---- a/tests/proxy.c -+++ b/tests/proxy.c -@@ -49,20 +49,35 @@ SoupServer *server; - GMainLoop *server_loop; - - static void -+#ifdef WITH_SOUP_2 - server_callback (SoupServer *server, SoupMessage *msg, - const char *path, GHashTable *query, - SoupClientContext *client, gpointer user_data) -+#else -+server_callback (SoupServer *server, SoupServerMessage *msg, -+ const char *path, GHashTable *query, gpointer user_data) -+#endif - { - if (g_str_equal (path, "/ping")) { -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_OK); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL); -+#endif - } - else if (g_str_equal (path, "/echo")) { - const char *value; - - value = g_hash_table_lookup (query, "value"); -+#ifdef WITH_SOUP_2 - soup_message_set_response (msg, "text/plain", SOUP_MEMORY_COPY, - value, strlen (value)); - soup_message_set_status (msg, SOUP_STATUS_OK); -+#else -+ soup_server_message_set_response (msg, "text/plain", SOUP_MEMORY_COPY, -+ value, strlen (value)); -+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL); -+#endif - } - else if (g_str_equal (path, "/reverse")) { - char *value; -@@ -70,9 +85,15 @@ server_callback (SoupServer *server, SoupMessage *msg, - value = g_strdup (g_hash_table_lookup (query, "value")); - g_strreverse (value); - -+#ifdef WITH_SOUP_2 - soup_message_set_response (msg, "text/plain", SOUP_MEMORY_TAKE, - value, strlen (value)); - soup_message_set_status (msg, SOUP_STATUS_OK); -+#else -+ soup_server_message_set_response (msg, "text/plain", SOUP_MEMORY_TAKE, -+ value, strlen (value)); -+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL); -+#endif - } - else if (g_str_equal (path, "/status")) { - const char *value; -@@ -81,25 +102,61 @@ server_callback (SoupServer *server, SoupMessage *msg, - value = g_hash_table_lookup (query, "status"); - if (value) { - status = atoi (value); -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, status ?: SOUP_STATUS_INTERNAL_SERVER_ERROR); -+#else -+ soup_server_message_set_status (msg, status ?: SOUP_STATUS_INTERNAL_SERVER_ERROR, NULL); -+#endif - } else { -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_INTERNAL_SERVER_ERROR); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_INTERNAL_SERVER_ERROR, NULL); -+#endif - } - } - else if (g_str_equal (path, "/useragent/none")) { -- if (soup_message_headers_get (msg->request_headers, "User-Agent") == NULL) { -+#ifdef WITH_SOUP_2 -+ SoupMessageHeaders *request_headers = msg->request_headers; -+#else -+ SoupMessageHeaders *request_headers = soup_server_message_get_request_headers (msg); -+#endif -+ -+ if (soup_message_headers_get (request_headers, "User-Agent") == NULL) { -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_OK); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL); -+#endif - } else { -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_EXPECTATION_FAILED); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_EXPECTATION_FAILED, NULL); -+#endif - } - } - else if (g_str_equal (path, "/useragent/testsuite")) { -+#ifdef WITH_SOUP_2 -+ SoupMessageHeaders *request_headers = msg->request_headers; -+#else -+ SoupMessageHeaders *request_headers = soup_server_message_get_request_headers (msg); -+#endif - const char *value; -- value = soup_message_headers_get (msg->request_headers, "User-Agent"); -+ value = soup_message_headers_get (request_headers, "User-Agent"); - if (g_strcmp0 (value, "TestSuite-1.0") == 0) { -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_OK); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL); -+#endif - } else { -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_EXPECTATION_FAILED); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_EXPECTATION_FAILED, NULL); -+#endif -+ - } - } - } -@@ -325,7 +382,7 @@ main (int argc, char **argv) - char *url; - RestProxy *proxy; - -- server = soup_server_new ("", NULL); -+ server = soup_server_new (NULL); - g_thread_new ("Server Thread", server_thread_func, NULL); - - url = g_strdup_printf ("http://127.0.0.1:%d/", PORT); -diff --git a/tests/threaded.c b/tests/threaded.c -index a251900..411361c 100644 ---- a/tests/threaded.c -+++ b/tests/threaded.c -@@ -36,13 +36,22 @@ GMainLoop *main_loop; - SoupServer *server; - - static void -+#ifdef WITH_SOUP_2 - server_callback (SoupServer *server, SoupMessage *msg, - const char *path, GHashTable *query, - SoupClientContext *client, gpointer user_data) -+#else -+server_callback (SoupServer *server, SoupServerMessage *msg, -+ const char *path, GHashTable *query, gpointer user_data) -+#endif - { - g_assert_cmpstr (path, ==, "/ping"); - -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_OK); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL); -+#endif - g_atomic_int_add (&threads_done, 1); - - if (threads_done == N_THREADS) { -@@ -96,7 +105,11 @@ static void ping () - uris = soup_server_get_uris (server); - g_assert (g_slist_length (uris) > 0); - -+#ifdef WITH_SOUP_2 - url = soup_uri_to_string (uris->data, FALSE); -+#else -+ url = g_uri_to_string (uris->data); -+#endif - - main_loop = g_main_loop_new (NULL, TRUE); - -@@ -109,7 +122,11 @@ static void ping () - g_main_loop_run (main_loop); - - g_free (url); -+#ifdef WITH_SOUP_2 - g_slist_free_full (uris, (GDestroyNotify)soup_uri_free); -+#else -+ g_slist_free_full (uris, (GDestroyNotify)g_uri_unref); -+#endif - g_object_unref (server); - g_main_loop_unref (main_loop); - } --- -2.33.1 - diff --git a/meta-gnome/recipes-gnome/rest/rest_0.8.1.bb b/meta-gnome/recipes-gnome/rest/rest_0.8.1.bb deleted file mode 100644 index f1c9915c093..00000000000 --- a/meta-gnome/recipes-gnome/rest/rest_0.8.1.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "library to access web services that claim to be "RESTful"" -HOMEPAGE = "https://wiki.gnome.org/Projects/Librest" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" - -GNOMEBASEBUILDCLASS = "autotools" - -DEPENDS = " \ - libxml2-native \ - glib-2.0-native \ - glib-2.0 \ - libsoup-2.4 \ -" - -inherit gnomebase gobject-introspection gtk-doc vala - -PV .= "+git${SRCPV}" -SRCREV = "7b46065dea860ef09861f4d70124728b8270c8b7" -SRC_URI = "git://gitlab.gnome.org/GNOME/librest;protocol=https;branch=master \ - file://0001-Use-GUri-instead-of-SoupURI.patch \ - file://0002-Port-to-libsoup3.patch \ -" -S = "${WORKDIR}/git" - -do_configure:prepend() { - # rest expects introspection.m4 at custom location (see aclocal.m4). - cp -f ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/build -} - -do_compile:prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/rest/.libs" -} - diff --git a/meta-gnome/recipes-gnome/rest/rest_0.9.0.bb b/meta-gnome/recipes-gnome/rest/rest_0.9.0.bb new file mode 100644 index 00000000000..2256a1899e1 --- /dev/null +++ b/meta-gnome/recipes-gnome/rest/rest_0.9.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "library to access web services that claim to be "RESTful"" +HOMEPAGE = "https://wiki.gnome.org/Projects/Librest" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" + +GNOMEBASEBUILDCLASS = "meson" + +DEPENDS = " \ + gi-docgen \ + gi-docgen-native \ + glib-2.0 \ + glib-2.0-native \ + json-glib \ + libxml2-native \ +" + +inherit gnomebase gobject-introspection vala pkgconfig + +PACKAGECONFIG_SOUP ?= "soup3" +PACKAGECONFIG ??= "${PACKAGECONFIG_SOUP}" + +PACKAGECONFIG[soup2] = "-Dsoup2=true,,libsoup-2.4" +PACKAGECONFIG[soup3] = "-Dsoup2=false,,libsoup-3.0" + +SRC_URI[archive.sha256sum] = "85b2bc9341128139539b53ee53f0533310bc96392fd645863a040410b81ebe66" diff --git a/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch b/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch new file mode 100644 index 00000000000..1332a958273 --- /dev/null +++ b/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch @@ -0,0 +1,41 @@ +From 6f6d7e3995c370b8121206a7f9cc0d234553bbfe Mon Sep 17 00:00:00 2001 +From: Lei Maohui +Date: Thu, 15 Sep 2022 16:35:39 +0900 +Subject: [PATCH] Set header file to a fixed path instead of a host path. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Lei Maohui +--- + src/libtracker-miner/tracker-miner-enum-types.c.template | 2 +- + .../tracker-miners-enum-types.c.template | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/libtracker-miner/tracker-miner-enum-types.c.template b/src/libtracker-miner/tracker-miner-enum-types.c.template +index 7be7a01..46a4dc9 100644 +--- a/src/libtracker-miner/tracker-miner-enum-types.c.template ++++ b/src/libtracker-miner/tracker-miner-enum-types.c.template +@@ -7,7 +7,7 @@ + + /*** BEGIN file-production ***/ + /* enumerations from "@basename@" */ +-#include "@filename@" ++#include "tracker-miner-enums.h" + /*** END file-production ***/ + + +diff --git a/src/libtracker-miners-common/tracker-miners-enum-types.c.template b/src/libtracker-miners-common/tracker-miners-enum-types.c.template +index c712dda..cb449e2 100644 +--- a/src/libtracker-miners-common/tracker-miners-enum-types.c.template ++++ b/src/libtracker-miners-common/tracker-miners-enum-types.c.template +@@ -7,7 +7,7 @@ + + /*** BEGIN file-production ***/ + /* enumerations from "@basename@" */ +-#include "@filename@" ++#include "tracker-enums.h" + /*** END file-production ***/ + + +-- +2.25.1 diff --git a/meta-gnome/recipes-gnome/tracker/tracker-miners_3.2.1.bb b/meta-gnome/recipes-gnome/tracker/tracker-miners_3.2.1.bb deleted file mode 100644 index 2847635b6db..00000000000 --- a/meta-gnome/recipes-gnome/tracker/tracker-miners_3.2.1.bb +++ /dev/null @@ -1,73 +0,0 @@ -SUMMARY = "Tracker miners and metadata extractors" -LICENSE = "GPL-2.0-only & LGPL-2.1-only" -LIC_FILES_CHKSUM = " \ - file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \ - file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ -" - -DEPENDS = " \ - intltool-native \ - tracker \ - zlib \ -" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gsettings gobject-introspection vala bash-completion features_check - -SRC_URI += "file://0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch" -SRC_URI[archive.sha256sum] = "44369f53e2edef41437406dbeecd477a97f8a9afdd9134832ea45d1ba2aa2c47" - -# gobject-introspection is mandatory and cannot be configured -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" -GIR_MESON_OPTION = "" - -PACKAGECONFIG ??= " \ - ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "ffmpeg", "", d)} \ - gexiv2 \ - gstreamer \ - icu \ - libexif \ - libgsf \ - jpeg \ - pdf \ - png \ - tiff \ - xml \ - ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \ -" - -PACKAGECONFIG[battery] = "-Dbattery_detection=upower,-Dbattery_detection=none,upower" -PACKAGECONFIG[ffmpeg] = ",,ffmpeg" -PACKAGECONFIG[gexiv2] = ",,gexiv2" -PACKAGECONFIG[gstreamer] = ",,gstreamer1.0 gstreamer1.0-plugins-base" -PACKAGECONFIG[gupnp] = ",,gupnp-dlna" -PACKAGECONFIG[gif] = "-Dgif=enabled,-Dgif=disabled,giflib" -PACKAGECONFIG[icu] = ",,icu" -PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg" -PACKAGECONFIG[libexif] = "-Dexif=enabled,-Dexif=disabled,libexif" -PACKAGECONFIG[libgsf] = "-Dgsf=enabled,-Dgsf=disabled,libgsf" -PACKAGECONFIG[pdf] = "-Dpdf=enabled,-Dpdf=disabled,poppler" -PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng" -PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff" -PACKAGECONFIG[xml] = "-Dxml=enabled,-Dxml=disabled,libxml2" -PACKAGECONFIG[networkmanager] = "-Dnetwork_manager=enabled,-Dnetwork_manager=disabled,networkmanger" - -# For security reasons it is strongly recommended to set add meta-security in -# your layers and 'libseccomp' to PACKAGECONFIG". -PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp" -# not yet in meta-gnome -PACKAGECONFIG[rss] = "-Dminer_rss=true,-Dminer_rss=false,libgrss" - -EXTRA_OEMESON += " \ - -Dman=false \ - -Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \ - -Dsystemd_user_services_dir=${systemd_user_unitdir} \ -" - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/tracker3-miners \ - ${libdir}/tracker-miners-3.0 \ - ${systemd_user_unitdir} \ -" diff --git a/meta-gnome/recipes-gnome/tracker/tracker-miners_3.4.1.bb b/meta-gnome/recipes-gnome/tracker/tracker-miners_3.4.1.bb new file mode 100644 index 00000000000..273110e8ef1 --- /dev/null +++ b/meta-gnome/recipes-gnome/tracker/tracker-miners_3.4.1.bb @@ -0,0 +1,76 @@ +SUMMARY = "Tracker miners and metadata extractors" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = " \ + file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \ + file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ +" + +DEPENDS = " \ + intltool-native \ + tracker \ + zlib \ +" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gsettings gobject-introspection vala bash-completion features_check + +SRC_URI += "file://0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch \ + file://0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch \ + " + +SRC_URI[archive.sha256sum] = "2fce0ec85fb7617c8b2887c22797740d5dec84ec036db74d6c208bbab5c58c24" + +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +GIR_MESON_OPTION = "" + +PACKAGECONFIG ??= " \ + ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "ffmpeg", "", d)} \ + gexiv2 \ + gstreamer \ + icu \ + libexif \ + libgsf \ + jpeg \ + pdf \ + png \ + tiff \ + xml \ + ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \ +" + +PACKAGECONFIG[battery] = "-Dbattery_detection=upower,-Dbattery_detection=none,upower" +PACKAGECONFIG[ffmpeg] = ",,ffmpeg" +PACKAGECONFIG[gexiv2] = ",,gexiv2" +PACKAGECONFIG[gstreamer] = ",,gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[gupnp] = ",,gupnp-dlna" +PACKAGECONFIG[gif] = "-Dgif=enabled,-Dgif=disabled,giflib" +PACKAGECONFIG[icu] = ",,icu" +PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg" +PACKAGECONFIG[libexif] = "-Dexif=enabled,-Dexif=disabled,libexif" +PACKAGECONFIG[libgsf] = "-Dgsf=enabled,-Dgsf=disabled,libgsf" +PACKAGECONFIG[pdf] = "-Dpdf=enabled,-Dpdf=disabled,poppler" +PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng" +PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff" +PACKAGECONFIG[xml] = "-Dxml=enabled,-Dxml=disabled,libxml2" +PACKAGECONFIG[networkmanager] = "-Dnetwork_manager=enabled,-Dnetwork_manager=disabled,networkmanger" + +# For security reasons it is strongly recommended to set add meta-security in +# your layers and 'libseccomp' to PACKAGECONFIG". +PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp" +# not yet in meta-gnome +PACKAGECONFIG[rss] = "-Dminer_rss=true,-Dminer_rss=false,libgrss" + +EXTRA_OEMESON += " \ + -Dman=false \ + -Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \ + -Dsystemd_user_services_dir=${systemd_user_unitdir} \ +" + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/tracker3-miners \ + ${libdir}/tracker-miners-3.0 \ + ${systemd_user_unitdir} \ +" diff --git a/meta-gnome/recipes-gnome/tracker/tracker_3.3.3.bb b/meta-gnome/recipes-gnome/tracker/tracker_3.3.3.bb deleted file mode 100644 index 91d90dde2a0..00000000000 --- a/meta-gnome/recipes-gnome/tracker/tracker_3.3.3.bb +++ /dev/null @@ -1,53 +0,0 @@ -SUMMARY = "Tracker is a file search engine" -LICENSE = "GPL-2.0-only & LGPL-2.1-only" -LIC_FILES_CHKSUM = " \ - file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \ - file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ -" - -DEPENDS = " \ - dbus-native \ - python3-pygobject-native \ - glib-2.0 \ - sqlite3 \ - libarchive \ - dbus \ - icu \ - json-glib \ - libsoup-2.4 \ - libstemmer \ -" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check python3native - -SRC_URI[archive.sha256sum] = "4094f704e338f2247fa6b94633279cfd07f7e952bb24627128fab78edb242464" - -# gobject-introspection is mandatory and cannot be configured -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" -GIR_MESON_OPTION = "" - -# text search is not an option anymore and requires sqlite3 build with -# PACKAGECONFIG[fts5] set (default) - -# set required cross property sqlite3_has_fts5 -do_write_config[vardeps] += "PACKAGECONFIG" -do_write_config:append() { - echo "[properties]" > ${WORKDIR}/meson-tracker.cross - echo "sqlite3_has_fts5 = 'true'" >> ${WORKDIR}/meson-tracker.cross -} - -EXTRA_OEMESON = " \ - --cross-file ${WORKDIR}/meson-tracker.cross \ - -Dman=false \ - -Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \ - -Dsystemd_user_services_dir=${systemd_user_unitdir} \ -" - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/tracker3 \ - ${libdir}/tracker-3.0 \ - ${systemd_user_unitdir} \ -" diff --git a/meta-gnome/recipes-gnome/tracker/tracker_3.4.1.bb b/meta-gnome/recipes-gnome/tracker/tracker_3.4.1.bb new file mode 100644 index 00000000000..1428159ce39 --- /dev/null +++ b/meta-gnome/recipes-gnome/tracker/tracker_3.4.1.bb @@ -0,0 +1,53 @@ +SUMMARY = "Tracker is a file search engine" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = " \ + file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \ + file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ +" + +DEPENDS = " \ + dbus-native \ + python3-pygobject-native \ + glib-2.0 \ + sqlite3 \ + libarchive \ + dbus \ + icu \ + json-glib \ + libsoup-2.4 \ + libstemmer \ +" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check python3native + +SRC_URI[archive.sha256sum] = "ea9d41a9fb9c2b42ad80fc2c82327b5c713d594c969b09e1a49be63fb74f4fae" + +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +GIR_MESON_OPTION = "" + +# text search is not an option anymore and requires sqlite3 build with +# PACKAGECONFIG[fts5] set (default) + +# set required cross property sqlite3_has_fts5 +do_write_config[vardeps] += "PACKAGECONFIG" +do_write_config:append() { + echo "[properties]" > ${WORKDIR}/meson-tracker.cross + echo "sqlite3_has_fts5 = 'true'" >> ${WORKDIR}/meson-tracker.cross +} + +EXTRA_OEMESON = " \ + --cross-file ${WORKDIR}/meson-tracker.cross \ + -Dman=false \ + -Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \ + -Dsystemd_user_services_dir=${systemd_user_unitdir} \ +" + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/tracker3 \ + ${libdir}/tracker-3.0 \ + ${systemd_user_unitdir} \ +" diff --git a/meta-gnome/recipes-gnome/yelp/yelp-tools_42.0.bb b/meta-gnome/recipes-gnome/yelp/yelp-tools_42.0.bb deleted file mode 100644 index a5da8590ff4..00000000000 --- a/meta-gnome/recipes-gnome/yelp/yelp-tools_42.0.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Collection of scripts and build utilities for documentation" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=d67c6f9f1515506abfea4f0d920c0774 \ - file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \ -" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase itstool - -DEPENDS += " \ - libxslt-native \ - libxml2-native \ - python3-lxml-native \ - yelp-xsl \ -" - -SRC_URI[archive.sha256sum] = "2cd43063ffa7262df15dd8d379aa3ea3999d42661f07563f4802daa1149f7df4" - -RDEPENDS:${PN} += "python3-core yelp-xsl" - -BBCLASSEXTEND = "native" diff --git a/meta-gnome/recipes-gnome/yelp/yelp-tools_42.1.bb b/meta-gnome/recipes-gnome/yelp/yelp-tools_42.1.bb new file mode 100644 index 00000000000..28ba392884f --- /dev/null +++ b/meta-gnome/recipes-gnome/yelp/yelp-tools_42.1.bb @@ -0,0 +1,23 @@ +SUMMARY = "Collection of scripts and build utilities for documentation" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=d67c6f9f1515506abfea4f0d920c0774 \ + file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \ +" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase itstool + +DEPENDS += " \ + libxslt-native \ + libxml2-native \ + python3-lxml-native \ + yelp-xsl \ +" + +SRC_URI[archive.sha256sum] = "3e496a4020d4145b99fd508a25fa09336a503a4e8900028421e72c6a4b11f905" + +RDEPENDS:${PN} += "python3-core yelp-xsl" + +BBCLASSEXTEND = "native" diff --git a/meta-gnome/recipes-gnome/yelp/yelp-xsl_42.0.bb b/meta-gnome/recipes-gnome/yelp/yelp-xsl_42.0.bb deleted file mode 100644 index 54a6aa6163d..00000000000 --- a/meta-gnome/recipes-gnome/yelp/yelp-xsl_42.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "XSL stylesheets for the yelp help browser" -LICENSE = "LGPL-2.1-only & GPL-2.0-only & BSD-3-Clause" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=8ca13a5a6972ac1620a1e42a3dacd774 \ - file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \ - file://COPYING.LGPL;md5=a6f89e2100d9b6cdffcea4f398e37343 \ -" - -inherit gnomebase gettext itstool - -DEPENDS += "libxml2" - -SRC_URI[archive.sha256sum] = "29b273cc0bd16efb6e983443803f1e9fdc03511e5c4ff6348fd30a604d4dc846" - -RDEPENDS:${PN}:append:class-target = " libxml2 itstool" - -# ensure our native consumers are forced to inherit itstool -RDEPENDS:${PN}:append:class-native = " libxml2-native" - -BBCLASSEXTEND = "native" diff --git a/meta-gnome/recipes-gnome/yelp/yelp-xsl_42.1.bb b/meta-gnome/recipes-gnome/yelp/yelp-xsl_42.1.bb new file mode 100644 index 00000000000..ba2536443f9 --- /dev/null +++ b/meta-gnome/recipes-gnome/yelp/yelp-xsl_42.1.bb @@ -0,0 +1,20 @@ +SUMMARY = "XSL stylesheets for the yelp help browser" +LICENSE = "LGPL-2.1-only & GPL-2.0-only & BSD-3-Clause" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=8ca13a5a6972ac1620a1e42a3dacd774 \ + file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \ + file://COPYING.LGPL;md5=a6f89e2100d9b6cdffcea4f398e37343 \ +" + +inherit gnomebase gettext itstool + +DEPENDS += "libxml2" + +SRC_URI[archive.sha256sum] = "238be150b1653080ce139971330fd36d3a26595e0d6a040a2c030bf3d2005bcd" + +RDEPENDS:${PN}:append:class-target = " libxml2 itstool" + +# ensure our native consumers are forced to inherit itstool +RDEPENDS:${PN}:append:class-native = " libxml2-native" + +BBCLASSEXTEND = "native" diff --git a/meta-gnome/recipes-gnome/yelp/yelp_42.1.bb b/meta-gnome/recipes-gnome/yelp/yelp_42.1.bb deleted file mode 100644 index ab8b9c37ba4..00000000000 --- a/meta-gnome/recipes-gnome/yelp/yelp_42.1.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "Help browser for the GNOME desktop" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=6e1b9cb787e76d7e6946887a65caa754 \ -" - -inherit gnomebase itstool autotools-brokensep gsettings gettext gtk-doc features_check mime-xdg - -# for webkitgtk -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[archive.sha256sum] = "25b1146ab8549888a5a8da067f63b470b0f0f800b6ae889cacd114d01d713b41" - -DEPENDS += " \ - libxml2-native \ - glib-2.0-native \ - gtk+3 \ - appstream-glib \ - libxslt \ - sqlite3 \ - libhandy \ - webkitgtk \ - yelp-xsl \ -" -PACKAGECONFIG ?= "" - -# Enable if soup3 is enabled in webkit recipe -PACKAGECONFIG[soup3] = ",--with-webkit2gtk-4-0," - -do_configure:prepend() { - export ITSTOOL=${STAGING_BINDIR_NATIVE}/itstool -} - -FILES:${PN} += " \ - ${datadir}/metainfo \ - ${datadir}/yelp-xsl \ -" - -RDEPENDS:${PN} += "yelp-xsl" diff --git a/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb b/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb new file mode 100644 index 00000000000..200ed0f709e --- /dev/null +++ b/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb @@ -0,0 +1,41 @@ +SUMMARY = "Help browser for the GNOME desktop" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=6e1b9cb787e76d7e6946887a65caa754 \ +" + +inherit gnomebase itstool autotools-brokensep gsettings gettext gtk-doc features_check mime-xdg + +# for webkitgtk +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[archive.sha256sum] = "a2c5fd0787a9089c722cc66bd0f85cdf7088d870e7b6cc85799f8e5bff9eac4b" + +DEPENDS += " \ + libxml2-native \ + glib-2.0-native \ + gtk+3 \ + appstream-glib \ + libxslt \ + sqlite3 \ + libhandy \ + webkitgtk \ + yelp-xsl \ +" +PACKAGECONFIG_SOUP ?= "soup3" +PACKAGECONFIG ??= "${PACKAGECONFIG_SOUP}" + +PACKAGECONFIG[soup2] = "--with-webkit2gtk-4-0,," +PACKAGECONFIG[soup3] = ",--with-webkit2gtk-4-0," + + +do_configure:prepend() { + export ITSTOOL=${STAGING_BINDIR_NATIVE}/itstool +} + +FILES:${PN} += " \ + ${datadir}/metainfo \ + ${datadir}/yelp-xsl \ +" + +RDEPENDS:${PN} += "yelp-xsl" diff --git a/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.7.18.bb b/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.7.18.bb index 45a28ed9670..c56e9e3dd9b 100644 --- a/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.7.18.bb +++ b/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.7.18.bb @@ -17,7 +17,7 @@ DEPENDS = " \ libstemmer \ " -inherit meson gobject-introspection gettext bash-completion pkgconfig +inherit meson gobject-introspection gettext bash-completion pkgconfig manpages SRC_URI = "https://people.freedesktop.org/~hughsient/${BPN}/releases/${BP}.tar.xz" SRC_URI[sha256sum] = "ca1ed22e3bde3912cb903aaa7de085d55771da454f1c0573fd9608e1de9c4002" @@ -26,6 +26,9 @@ EXTRA_OEMESON = " \ -Drpm=false \ " +PACKAGECONFIG ?= "" +PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,docbook-xml-dtd4-native docbook-xsl-stylesheets-native libxslt-native" + FILES:${PN} += "${libdir}/asb-plugins-5" FILES:${PN}-dev += " \ diff --git a/meta-gnome/recipes-support/ibus/ibus.bb b/meta-gnome/recipes-support/ibus/ibus.bb index be43d0d5006..7156081499e 100644 --- a/meta-gnome/recipes-support/ibus/ibus.bb +++ b/meta-gnome/recipes-support/ibus/ibus.bb @@ -8,7 +8,7 @@ DEPENDS += " \ iso-codes \ " -inherit gtk-icon-cache bash-completion +inherit gtk-icon-cache bash-completion features_check # for unicode-ucd EXTRA_OECONF += "--with-ucd-dir=${STAGING_DATADIR}/unicode/ucd" @@ -19,6 +19,8 @@ PACKAGECONFIG ??= " \ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ " +REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'gtk4', 'opengl', '', d)}" + do_configure:prepend() { # run native unicode-parser sed -i 's:$(builddir)/unicode-parser:unicode-parser:g' ${S}/src/Makefile.am diff --git a/meta-gnome/recipes-support/libuser/libuser/0001-docs-Disable-building.patch b/meta-gnome/recipes-support/libuser/libuser/0001-docs-Disable-building.patch new file mode 100644 index 00000000000..add2872cca2 --- /dev/null +++ b/meta-gnome/recipes-support/libuser/libuser/0001-docs-Disable-building.patch @@ -0,0 +1,29 @@ +From e6bdf74a424652c4f9a38457c7fa93a2051157f5 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 30 Aug 2022 13:09:07 -0700 +Subject: [PATCH] docs: Disable building + +It needs linuxdoc-tools which we do not have in OE anymore + +Upstream-Status: Inappropriate [OE-Specific] +Signed-off-by: Khem Raj +--- + docs/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/docs/Makefile.am b/docs/Makefile.am +index daa2288..b355185 100644 +--- a/docs/Makefile.am ++++ b/docs/Makefile.am +@@ -8,7 +8,7 @@ CLEANFILES = $(man_MANS) $(SGML_OUTPUTS) + EXTRA_DIST = attributes.txt libuser.conf.5.in rfc2307.txt sgml/libuser.sgml \ + $(SGML_OUTPUTS) + +-all: sgml/libuser.txt sgml/libuser.html ++all: + + libuser.conf.5: $(srcdir)/libuser.conf.5.in Makefile + sed 's,@sysconfdir\@,$(sysconfdir),g' \ +-- +2.37.2 + diff --git a/meta-gnome/recipes-support/libuser/libuser/0001-modules-files.c-parse_field-fix-string-formating-in-.patch b/meta-gnome/recipes-support/libuser/libuser/0001-modules-files.c-parse_field-fix-string-formating-in-.patch deleted file mode 100644 index 7c47df22e43..00000000000 --- a/meta-gnome/recipes-support/libuser/libuser/0001-modules-files.c-parse_field-fix-string-formating-in-.patch +++ /dev/null @@ -1,34 +0,0 @@ -From a4857911ece5ebfcdef42aee4c070eb216f39597 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= -Date: Fri, 13 May 2016 11:40:13 -0500 -Subject: [PATCH] modules/files.c: parse_field fix string formating in - g_warnings -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -[YOCTO #9547] - -Signed-off-by: Aníbal Limón - -Upstream-Status: Pending ---- - modules/files.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules/files.c b/modules/files.c -index 4ef0a57..35eafc9 100644 ---- a/modules/files.c -+++ b/modules/files.c -@@ -534,7 +534,7 @@ parse_field(const struct format_specifier *format, GValue *value, - string, &err); - if (ret == FALSE) { - g_assert(err != NULL); -- g_warning(lu_strerror(err)); -+ g_warning(lu_strerror(err), NULL); - lu_error_free(&err); - } - return ret; --- -2.1.4 - diff --git a/meta-gnome/recipes-support/libuser/libuser/0003-python-Compilation-warnings-update.patch b/meta-gnome/recipes-support/libuser/libuser/0003-python-Compilation-warnings-update.patch new file mode 100644 index 00000000000..45d69521509 --- /dev/null +++ b/meta-gnome/recipes-support/libuser/libuser/0003-python-Compilation-warnings-update.patch @@ -0,0 +1,84 @@ +From acd7b051993d501f4b5e3a593e0f18d1336ba2de Mon Sep 17 00:00:00 2001 +From: Tomas Halman +Date: Wed, 21 Jul 2021 15:36:59 +0200 +Subject: [PATCH] python: Compilation warnings update + +The compilation produces few warnings about discard const qualifier +and pointer to int conversion. This patch fixes the const qualifiers +and replaces the tp_print inicialization in PyTypeObject with 0 instead +of NULL + +Upstream-Status: Backport [https://pagure.io/libuser/c/3cb7ea54e7b50da6ea313a0e7c7187c8aa5e6ee9?branch=master] +Signed-off-by: Khem Raj +--- + python/admin.c | 2 +- + python/ent.c | 8 ++++---- + python/misc.c | 2 +- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/python/admin.c b/python/admin.c +index 83595af..e92fca4 100644 +--- a/python/admin.c ++++ b/python/admin.c +@@ -1512,7 +1512,7 @@ PyTypeObject AdminType = { + sizeof(struct libuser_admin), /* tp_basicsize */ + 0, /* tp_itemsize */ + libuser_admin_destroy, /* tp_dealloc */ +- NULL, /* tp_print */ ++ 0, /* tp_print */ + NULL, /* tp_getattr */ + NULL, /* tp_setattr */ + NULL, /* tp_compare */ +diff --git a/python/ent.c b/python/ent.c +index ee712d2..fc3d654 100644 +--- a/python/ent.c ++++ b/python/ent.c +@@ -255,7 +255,7 @@ libuser_convert_to_value(PyObject *item, GValue *value) + static int + libuser_entity_setattro(PyObject *self, PyObject *attr_name, PyObject *value) + { +- char *name; ++ const char *name; + struct libuser_entity *me; + PyObject *list; + struct lu_ent *copy; +@@ -616,7 +616,7 @@ static PyObject * + libuser_entity_get_item(PyObject *self, PyObject *item) + { + struct libuser_entity *me; +- char *attr; ++ const char *attr; + + DEBUG_ENTRY; + me = (struct libuser_entity *)self; +@@ -664,7 +664,7 @@ static int + libuser_entity_set_item(PyObject *self, PyObject *item, PyObject *args) + { + struct libuser_entity *me; +- char *attr = NULL; ++ const char *attr = NULL; + Py_ssize_t i, size; + int ret; + GValue value; +@@ -800,7 +800,7 @@ PyTypeObject EntityType = { + sizeof(struct libuser_entity), /* tp_basicsize */ + 0, /* tp_itemsize */ + libuser_entity_destroy, /* tp_dealloc */ +- NULL, /* tp_print */ ++ 0, /* tp_print */ + NULL, /* tp_getattr */ + NULL, /* tp_setattr */ + NULL, /* tp_compare */ +diff --git a/python/misc.c b/python/misc.c +index c4ce819..810a846 100644 +--- a/python/misc.c ++++ b/python/misc.c +@@ -488,7 +488,7 @@ PyTypeObject PromptType = { + sizeof(struct libuser_prompt), /* tp_basicsize */ + 0, /* tp_itemsize */ + libuser_prompt_destroy, /* tp_dealloc */ +- NULL, /* tp_print */ ++ 0, /* tp_print */ + NULL, /* tp_getattr */ + NULL, /* tp_setattr */ + NULL, /* tp_compare */ diff --git a/meta-gnome/recipes-support/libuser/libuser_0.62.bb b/meta-gnome/recipes-support/libuser/libuser_0.62.bb deleted file mode 100644 index 22ddd10a63f..00000000000 --- a/meta-gnome/recipes-support/libuser/libuser_0.62.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "user and group account administration library" -DESCRIPTION = "The libuser library implements a standardized interface for manipulating and administering user \ -and group accounts" -HOMEPAGE = "https://pagure.io/libuser" -BUGTRACKER = "https://pagure.io/libuser/issues" - -LICENSE = "LGPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ - file://lib/user.h;endline=19;md5=76b301f63c39fa992062395efbdc9558 \ - file://samples/testuser.c;endline=19;md5=3b87fa660fa3f4a6bb31d624afe30ba1" - -SECTION = "base" - -SRC_URI = "https://releases.pagure.org/libuser/libuser-${PV}.tar.xz \ - file://0002-remove-unused-execinfo.h.patch \ - file://0001-modules-files.c-parse_field-fix-string-formating-in-.patch \ - " - -SRC_URI[md5sum] = "63e5e5c551e99dc5302b40b80bd6d4f2" -SRC_URI[sha256sum] = "a58ff4fabb01a25043b142185a33eeea961109dd60d4b40b6a9df4fa3cace20b" - -DEPENDS = "popt libpam glib-2.0 python3" - -inherit features_check -REQUIRED_DISTRO_FEATURES = "pam" - -inherit autotools gettext python3native python3-dir pkgconfig gtk-doc - -EXTRA_OEMAKE = "PYTHON_CPPFLAGS=-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}" - -PACKAGES += "${PN}-python " - -FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}" - diff --git a/meta-gnome/recipes-support/libuser/libuser_0.63.bb b/meta-gnome/recipes-support/libuser/libuser_0.63.bb new file mode 100644 index 00000000000..e191e115a36 --- /dev/null +++ b/meta-gnome/recipes-support/libuser/libuser_0.63.bb @@ -0,0 +1,46 @@ +SUMMARY = "user and group account administration library" +DESCRIPTION = "The libuser library implements a standardized interface for manipulating and administering user \ +and group accounts" +HOMEPAGE = "https://pagure.io/libuser" +BUGTRACKER = "https://pagure.io/libuser/issues" + +LICENSE = "LGPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ + file://lib/user.h;endline=19;md5=76b301f63c39fa992062395efbdc9558 \ + file://samples/testuser.c;endline=19;md5=3b87fa660fa3f4a6bb31d624afe30ba1" + +SECTION = "base" + +SRC_URI = "https://releases.pagure.org/libuser/libuser-${PV}.tar.xz \ + file://0001-docs-Disable-building.patch \ + file://0002-remove-unused-execinfo.h.patch \ + file://0003-python-Compilation-warnings-update.patch \ + " + +SRC_URI[sha256sum] = "8dc377255452a68e82c4837ba22c3ee4ae3658971bf0f2ef67ed0b77fc497f91" + +DEPENDS = "bison-native popt libpam glib-2.0 python3" + +inherit autotools features_check gettext python3native python3-dir pkgconfig gtk-doc + +REQUIRED_DISTRO_FEATURES = "pam" + +EXTRA_OEMAKE = "PYTHON_CPPFLAGS=-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}" + +GTKDOC_DOCDIR = "${S}/docs/reference" + +# run autopoint since it needs ABOUT-NLS and admin/config.rpath from gettext +#EXTRA_AUTORECONF:remove = "--exclude=autopoint" + +do_configure:prepend() { + install -d ${S}/admin -d ${S}/m4 + touch ${S}/ABOUT-NLS ${S}/admin/config.rpath + cd ${S} + bison lib/getdate.y -o lib/getdate.c + cd - +} + +PACKAGES += "${PN}-python " + +FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}" + diff --git a/meta-gnome/recipes-support/libwacom/libwacom_2.4.0.bb b/meta-gnome/recipes-support/libwacom/libwacom_2.4.0.bb deleted file mode 100644 index d690df92291..00000000000 --- a/meta-gnome/recipes-support/libwacom/libwacom_2.4.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "A tablet description library" -DESCRIPTION = "libwacom is a library to identify Wacom tablets and their model-specific features. \ - It provides easy access to information such as 'is this a built-in on-screen tablet\', \ - 'what is the size of this model', etc." -HOMEPAGE = "https://github.com/linuxwacom/libwacom" -BUGTRACKER = "https://github.com/linuxwacom/libwacom/issues" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=40a21fffb367c82f39fd91a3b137c36e" - -SRC_URI = "git://github.com/linuxwacom/libwacom.git;branch=master;protocol=https" -SRCREV = "9fd28747534ef776ffecc245721a4faa43bdd89b" - -DEPENDS = " \ - libxml2-native \ - libgudev \ -" - -S = "${WORKDIR}/git" - -inherit meson pkgconfig - -EXTRA_OEMESON = " \ - -Dtests=disabled \ -" diff --git a/meta-gnome/recipes-support/libwacom/libwacom_2.5.0.bb b/meta-gnome/recipes-support/libwacom/libwacom_2.5.0.bb new file mode 100644 index 00000000000..a290d95b71a --- /dev/null +++ b/meta-gnome/recipes-support/libwacom/libwacom_2.5.0.bb @@ -0,0 +1,24 @@ +SUMMARY = "A tablet description library" +DESCRIPTION = "libwacom is a library to identify Wacom tablets and their model-specific features. \ + It provides easy access to information such as 'is this a built-in on-screen tablet\', \ + 'what is the size of this model', etc." +HOMEPAGE = "https://github.com/linuxwacom/libwacom" +BUGTRACKER = "https://github.com/linuxwacom/libwacom/issues" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=40a21fffb367c82f39fd91a3b137c36e" + +SRC_URI = "git://github.com/linuxwacom/libwacom.git;branch=master;protocol=https" +SRCREV = "c6c1b26ad149a88b22ff790dae377fcc935b7e08" + +DEPENDS = " \ + libxml2-native \ + libgudev \ +" + +S = "${WORKDIR}/git" + +inherit meson pkgconfig + +EXTRA_OEMESON = " \ + -Dtests=disabled \ +" diff --git a/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch b/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch deleted file mode 100644 index fda37895c96..00000000000 --- a/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 1c95f64aa342147387ce4b1b7269a5c8b34bd898 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 13 Jul 2017 09:01:04 -0700 -Subject: [PATCH] pypredict/lm: Define error API if platform does not have it - -error() API is not implemented across all libcs on linux -e.g. musl does not provide it. - -Signed-off-by: Khem Raj ---- - Onboard/pypredict/lm/lm.cpp | 1 - - Onboard/pypredict/lm/lm.h | 13 +++++++++++++ - Onboard/pypredict/lm/lm_dynamic.cpp | 2 -- - 3 files changed, 13 insertions(+), 3 deletions(-) - -diff --git a/Onboard/pypredict/lm/lm.cpp b/Onboard/pypredict/lm/lm.cpp -index 2e64296..37ae241 100644 ---- a/Onboard/pypredict/lm/lm.cpp -+++ b/Onboard/pypredict/lm/lm.cpp -@@ -19,7 +19,6 @@ - - #include - #include --#include - #include - #include - #include -diff --git a/Onboard/pypredict/lm/lm.h b/Onboard/pypredict/lm/lm.h -index ed4164a..b8b63ee 100644 ---- a/Onboard/pypredict/lm/lm.h -+++ b/Onboard/pypredict/lm/lm.h -@@ -32,6 +32,19 @@ - #include - #include - -+#if defined(HAVE_ERROR_H) -+#include -+#else -+#include -+#define _onboard_error(S, E, F, ...) do { \ -+ if (E) \ -+ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \ -+ else \ -+ err(S, F, ##__VA_ARGS__); \ -+} while(0) -+ -+#define error _onboard_error -+#endif - - // break into debugger - // step twice to come back out of the raise() call into known code -diff --git a/Onboard/pypredict/lm/lm_dynamic.cpp b/Onboard/pypredict/lm/lm_dynamic.cpp -index 7c62824..e7c7f40 100644 ---- a/Onboard/pypredict/lm/lm_dynamic.cpp -+++ b/Onboard/pypredict/lm/lm_dynamic.cpp -@@ -17,8 +17,6 @@ - * along with this program. If not, see . - */ - --#include -- - #include "lm_dynamic.h" - - using namespace std; --- -2.13.2 - diff --git a/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb b/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb deleted file mode 100644 index 9325ef9c254..00000000000 --- a/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "An onscreen keyboard" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING.GPL3;md5=8521fa4dd51909b407c5150498d34f4e" - -DEPENDS += "gtk+3 hunspell libcanberra libxkbfile dconf python3-distutils-extra-native intltool-native" - -SRC_URI = "https://launchpad.net/onboard/1.4/${PV}/+download/${BPN}-${PV}.tar.gz \ - file://0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch \ - " -SRC_URI[md5sum] = "1a2fbe82e934f5b37841d17ff51e80e8" -SRC_URI[sha256sum] = "01cae1ac5b1ef1ab985bd2d2d79ded6fc99ee04b1535cc1bb191e43a231a3865" - -inherit features_check setuptools3-base pkgconfig gtk-icon-cache gsettings mime-xdg - -REQUIRED_DISTRO_FEATURES = "x11" - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/icons \ - ${datadir}/gnome-shell \ - ${datadir}/help \ -" - -RDEPENDS:${PN} += " \ - ncurses \ - python3-dbus \ - python3-pycairo \ - python3-pygobject \ -" diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch index bd728ccb495..6e347c048e4 100644 --- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch @@ -22,8 +22,6 @@ Signed-off-by: Andrea Adami kexec/arch/mips/kexec-mips.h | 1 + 4 files changed, 39 insertions(+), 28 deletions(-) -diff --git a/kexec/arch/mips/include/arch/options.h b/kexec/arch/mips/include/arch/options.h -index 416e224..18d2811 100644 --- a/kexec/arch/mips/include/arch/options.h +++ b/kexec/arch/mips/include/arch/options.h @@ -5,6 +5,7 @@ @@ -44,11 +42,9 @@ index 416e224..18d2811 100644 #define KEXEC_ARCH_OPT_STR KEXEC_OPT_STR "" -diff --git a/kexec/arch/mips/kexec-elf-mips.c b/kexec/arch/mips/kexec-elf-mips.c -index 849a7ba..5c0e535 100644 --- a/kexec/arch/mips/kexec-elf-mips.c +++ b/kexec/arch/mips/kexec-elf-mips.c -@@ -141,35 +141,37 @@ int elf_mips_load(int argc, char **argv, const char *buf, off_t len, +@@ -141,45 +141,49 @@ int elf_mips_load(int argc, char **argv, else cmdline_addr = 0; @@ -63,9 +59,22 @@ index 849a7ba..5c0e535 100644 - } else { - create_flatten_tree(&dtb_buf, &dtb_length, cmdline_buf + strlen(CMDLINE_PREFIX)); - } - +- - if (arch_options.initrd_file) { - initrd_buf = slurp_file(arch_options.initrd_file, &initrd_size); + +- /* Create initrd entries in dtb - although at this time +- * they would not point to the correct location */ +- dtb_set_initrd(&dtb_buf, &dtb_length, initrd_buf, initrd_buf + initrd_size); +- +- initrd_base = add_buffer(info, initrd_buf, initrd_size, +- initrd_size, sizeof(void *), +- _ALIGN_UP(kernel_addr + kernel_size + dtb_length, +- pagesize), 0x0fffffff, 1); +- +- /* Now that the buffer for initrd is prepared, update the dtb +- * with an appropriate location */ +- dtb_set_initrd(&dtb_buf, &dtb_length, initrd_base, initrd_base + initrd_size); + if (!arch_options.no_dtb) { + /* MIPS systems that have been converted to use device tree + * passed through UHI will use commandline in the DTB and @@ -78,39 +87,29 @@ index 849a7ba..5c0e535 100644 + } else { + create_flatten_tree(&dtb_buf, &dtb_length, cmdline_buf + strlen(CMDLINE_PREFIX)); + } - -- /* Create initrd entries in dtb - although at this time -- * they would not point to the correct location */ -- dtb_set_initrd(&dtb_buf, &dtb_length, initrd_buf, initrd_buf + initrd_size); ++ + if (arch_options.initrd_file) { + initrd_buf = slurp_file(arch_options.initrd_file, &initrd_size); - -- initrd_base = add_buffer(info, initrd_buf, initrd_size, -- initrd_size, sizeof(void *), -- _ALIGN_UP(kernel_addr + kernel_size + dtb_length, -- pagesize), 0x0fffffff, 1); ++ + /* Create initrd entries in dtb - although at this time + * they would not point to the correct location */ -+ dtb_set_initrd(&dtb_buf, &dtb_length, initrd_buf, initrd_buf + initrd_size); - -- /* Now that the buffer for initrd is prepared, update the dtb -- * with an appropriate location */ -- dtb_set_initrd(&dtb_buf, &dtb_length, initrd_base, initrd_base + initrd_size); -- } ++ dtb_set_initrd(&dtb_buf, &dtb_length, (off_t)initrd_buf, (off_t)initrd_buf + initrd_size); ++ + initrd_base = add_buffer(info, initrd_buf, initrd_size, + initrd_size, sizeof(void *), + _ALIGN_UP(kernel_addr + kernel_size + dtb_length, + pagesize), 0x0fffffff, 1); - ++ + /* Now that the buffer for initrd is prepared, update the dtb + * with an appropriate location */ + dtb_set_initrd(&dtb_buf, &dtb_length, initrd_base, initrd_base + initrd_size); + } -+ } + } +- /* This is a legacy method for commandline passing used * currently by Octeon CPUs only */ -@@ -177,9 +179,11 @@ int elf_mips_load(int argc, char **argv, const char *buf, off_t len, + add_buffer(info, cmdline_buf, sizeof(cmdline_buf), sizeof(cmdline_buf), sizeof(void *), cmdline_addr, 0x0fffffff, 1); @@ -125,8 +124,6 @@ index 849a7ba..5c0e535 100644 return 0; } -diff --git a/kexec/arch/mips/kexec-mips.c b/kexec/arch/mips/kexec-mips.c -index 415c2ed..e557f8b 100644 --- a/kexec/arch/mips/kexec-mips.c +++ b/kexec/arch/mips/kexec-mips.c @@ -89,6 +89,7 @@ void arch_usage(void) @@ -137,7 +134,7 @@ index 415c2ed..e557f8b 100644 ); } -@@ -121,6 +122,9 @@ int arch_process_options(int argc, char **argv) +@@ -121,6 +122,9 @@ int arch_process_options(int argc, char case OPT_RAMDISK: arch_options.initrd_file = optarg; break; @@ -147,8 +144,6 @@ index 415c2ed..e557f8b 100644 default: break; } -diff --git a/kexec/arch/mips/kexec-mips.h b/kexec/arch/mips/kexec-mips.h -index 222c815..90b21c3 100644 --- a/kexec/arch/mips/kexec-mips.h +++ b/kexec/arch/mips/kexec-mips.h @@ -22,6 +22,7 @@ struct arch_options_t { diff --git a/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.4.0.1.bb b/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.4.0.1.bb index 1d8cbb1aeaa..ad99bbffa34 100644 --- a/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.4.0.1.bb +++ b/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.4.0.1.bb @@ -16,14 +16,16 @@ DEPENDS = " \ libsoup-2.4 \ " -inherit meson pkgconfig gobject-introspection vala gtk-doc +inherit meson pkgconfig gobject-introspection vala gtk-doc features_check SNIFFER = "${@bb.utils.contains("BBFILE_COLLECTIONS", "gnome-layer", "sniffer", "", d)}" -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', "${SNIFFER}", "", d)}" +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', "${SNIFFER}", "", d)}" PACKAGECONFIG[sniffer] = "-Dsniffer=true,-Dsniffer=false,gtk4," +REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'sniffer', 'opengl', '', d)}" + PACKAGES =+ "gssdp-tools" FILES:gssdp-tools = "${bindir}/gssdp* ${datadir}/gssdp/*.glade" diff --git a/meta-multimedia/recipes-connectivity/rygel/rygel_0.38.3.bb b/meta-multimedia/recipes-connectivity/rygel/rygel_0.38.3.bb deleted file mode 100644 index ec7824b60dd..00000000000 --- a/meta-multimedia/recipes-connectivity/rygel/rygel_0.38.3.bb +++ /dev/null @@ -1,72 +0,0 @@ -SUMMARY = "A UPnP AV media server and renderer" -DESCRIPTION = "Rygel is a home media solution (UPnP AV MediaServer) that \ -allow you to easily share audio, video and pictures to other devices. \ -Additionally, media player software may use Rygel to become a MediaRenderer \ -that may be controlled remotely by a UPnP or DLNA Controller." -HOMEPAGE = "http://live.gnome.org/Rygel" - -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -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" - -inherit gnomebase vala gobject-introspection gettext systemd features_check - -# gobject-introspection is mandatory for libmediaart-2.0 and cannot be configured -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" - -SRC_URI[archive.md5sum] = "7f95401903a3f855b464d5152b9d4c07" -SRC_URI[archive.sha256sum] = "08c21a577f7bdad26446a75ffa32778b26842c3b1188165f0b19818559747d00" - -EXTRA_OECONF = "--disable-tracker-plugin --with-media-engine=gstreamer" - -PACKAGECONFIG ?= "external mpris ruih media-export gst-launch" - -PACKAGECONFIG:append = "${@bb.utils.contains("DISTRO_FEATURES", "x11", " gtk+3", "", d)}" - -PACKAGECONFIG[external] = "--enable-external-plugin,--disable-external-plugin" -PACKAGECONFIG[mpris] = "--enable-mpris-plugin,--disable-mpris-plugin" -PACKAGECONFIG[ruih] = "--enable-ruih-plugin,--disable-ruih-plugin" -PACKAGECONFIG[media-export] = "--enable-media-export-plugin,--disable-media-export-plugin" -PACKAGECONFIG[gst-launch] = "--enable-gst-launch-plugin,--disable-gst-launch-plugin" -PACKAGECONFIG[gtk+3] = ",--without-ui,gtk+3" -PACKAGECONFIG[lms] = "--enable-lms-plugin,--disable-lms-plugin" - -LIBV = "2.6" - -do_install:append() { - # Remove .la files for loadable modules - rm -f ${D}/${libdir}/rygel-${LIBV}/engines/*.la - rm -f ${D}/${libdir}/rygel-${LIBV}/plugins/*.la - if [ -e ${D}${nonarch_libdir}/systemd/user/rygel.service ]; then - mkdir -p ${D}${systemd_unitdir}/system - mv ${D}${nonarch_libdir}/systemd/user/rygel.service ${D}${systemd_unitdir}/system - rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}/systemd/user \ - ${D}${nonarch_libdir}/systemd \ - ${D}${nonarch_libdir} - fi -} - -FILES:${PN} += "${libdir}/rygel-${LIBV}/engines ${datadir}/dbus-1 ${datadir}/icons" -FILES:${PN}-dbg += "${libdir}/rygel-${LIBV}/engines/.debug ${libdir}/rygel-${LIBV}/plugins/.debug" - -PACKAGES += "${PN}-meta" -ALLOW_EMPTY:${PN}-meta = "1" - -PACKAGES_DYNAMIC = "${PN}-plugin-*" - -SYSTEMD_SERVICE:${PN} = "rygel.service" - -python populate_packages:prepend () { - rygel_libdir = d.expand('${libdir}/rygel-${LIBV}') - postinst = d.getVar('plugin_postinst') - pkgs = [] - - pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), r'librygel-(.*)\.so$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}')) - pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), r'(.*)\.plugin$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}')) - - metapkg = d.getVar('PN') + '-meta' - d.setVar('RDEPENDS:' + metapkg, ' '.join(pkgs)) -} diff --git a/meta-multimedia/recipes-connectivity/rygel/rygel_0.40.4.bb b/meta-multimedia/recipes-connectivity/rygel/rygel_0.40.4.bb new file mode 100644 index 00000000000..8bc8767d8f9 --- /dev/null +++ b/meta-multimedia/recipes-connectivity/rygel/rygel_0.40.4.bb @@ -0,0 +1,93 @@ +SUMMARY = "A UPnP AV media server and renderer" +DESCRIPTION = "Rygel is a home media solution (UPnP AV MediaServer) that \ +allow you to easily share audio, video and pictures to other devices. \ +Additionally, media player software may use Rygel to become a MediaRenderer \ +that may be controlled remotely by a UPnP or DLNA Controller." +HOMEPAGE = "http://live.gnome.org/Rygel" + +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +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 gst-editing-services" + +RDEPENDS:${PN} = "gstreamer1.0-plugins-base-playback shared-mime-info" +RRECOMMENDS:${PN} = "rygel-plugin-media-export" + +inherit gnomebase features_check vala gobject-introspection gettext systemd meson + +# gobject-introspection is mandatory for libmediaart-2.0 and cannot be configured +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" + +SRC_URI[archive.sha256sum] = "736d8adbe8615f6cbc8fcfff9845dc985fd10e16629da236b4b52dbedf0a348b" + +GNOMEBASEBUILDCLASS = "meson" +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' + +EXTRA_OEMESON = "-Dengines=gstreamer -Dplugins=${@strip_comma('${RYGEL_PLUGINS}')}" +PACKAGECONFIG:append = "${@bb.utils.contains("DISTRO_FEATURES", "x11", " gtk+3", "", d)}" + +PACKAGECONFIG ?= "external mpris ruih media-export gst-launch" + +PACKAGECONFIG[external] = "" +PACKAGECONFIG[mpris] = "" +PACKAGECONFIG[ruih] = "" +PACKAGECONFIG[media-export] = "" +PACKAGECONFIG[gst-launch] = "" +PACKAGECONFIG[lms] = "" +PACKAGECONFIG[tracker3] = "" +PACKAGECONFIG[gtk+3] = ",-Dgtk=false,gtk+3" + +RYGEL_PLUGINS = "" +RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'external', ',external', '', d)}" +RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'mpris', ',mpris', '', d)}" +RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'ruih', ',ruih', '', d)}" +RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'gst-launch', ',gst-launch', '', d)}" +RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lms', ',lms', '', d)}" +RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'media-export', ',media-export', '', d)}" +RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'tracker3', ',tracker3', '', d)}" +RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'playbin', ',playbin', '', d)}" + +LIBV = "2.6" + +CFLAGS:append:toolchain-clang = " -Wno-error=int-conversion" + +def strip_comma(s): + return s.strip(',') + +do_install:append() { + # Remove .la files for loadable modules + rm -f ${D}/${libdir}/rygel-${LIBV}/engines/*.la + rm -f ${D}/${libdir}/rygel-${LIBV}/plugins/*.la + if [ -e ${D}${nonarch_libdir}/systemd/user/rygel.service ]; then + mkdir -p ${D}${systemd_unitdir}/system + mv ${D}${nonarch_libdir}/systemd/user/rygel.service ${D}${systemd_unitdir}/system + rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}/systemd/user \ + ${D}${nonarch_libdir}/systemd \ + ${D}${nonarch_libdir} + fi +} + +FILES:${PN} += "${libdir}/rygel-${LIBV}/engines ${datadir}/dbus-1 ${datadir}/icons" +FILES:${PN}-dbg += "${libdir}/rygel-${LIBV}/engines/.debug ${libdir}/rygel-${LIBV}/plugins/.debug" + +PACKAGES += "${PN}-meta" +ALLOW_EMPTY:${PN}-meta = "1" + +PACKAGES_DYNAMIC = "${PN}-plugin-*" + +SYSTEMD_SERVICE:${PN} = "rygel.service" + +python populate_packages:prepend () { + rygel_libdir = d.expand('${libdir}/rygel-${LIBV}') + postinst = d.getVar('plugin_postinst') + pkgs = [] + + pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), r'librygel-(.*)\.so$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}')) + pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), r'(.*)\.plugin$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}')) + + metapkg = d.getVar('PN') + '-meta' + d.setVar('RDEPENDS:' + metapkg, ' '.join(pkgs)) +} diff --git a/meta-multimedia/recipes-multimedia/aom/aom/0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch b/meta-multimedia/recipes-multimedia/aom/aom/0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch new file mode 100644 index 00000000000..100507cdec8 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/aom/aom/0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch @@ -0,0 +1,48 @@ +From c33e07f78982acfb0574a84fb523f8591e55c50e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 11 Sep 2022 19:46:28 -0700 +Subject: [PATCH] subpel_variance_neon: Provide prototypes for missing + functions + +Fixes build with clang-15 +aom_dsp/arm/subpel_variance_neon.c:121:10: error: call to undeclared function 'aom_variance8x8_neon'; ISO C99 and later do not support implicit function dec +larations [-Wimplicit-function-declaration] +| return aom_variance8x8_neon(temp2, 8, dst, dst_stride, sse); +| ^ + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + aom_dsp/arm/subpel_variance_neon.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/aom_dsp/arm/subpel_variance_neon.c b/aom_dsp/arm/subpel_variance_neon.c +index 4ecf891cbeb..859168ea0c5 100644 +--- a/aom_dsp/arm/subpel_variance_neon.c ++++ b/aom_dsp/arm/subpel_variance_neon.c +@@ -20,6 +20,22 @@ + #include "aom_dsp/aom_filter.h" + #include "aom_dsp/variance.h" + ++extern unsigned int aom_variance8x8_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ ++extern unsigned int aom_variance16x16_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ ++extern unsigned int aom_variance32x32_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ ++extern unsigned int aom_variance64x64_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ + // Load 2 sets of 4 bytes when alignment is not guaranteed. + static INLINE uint8x8_t load_unaligned_u8(const uint8_t *buf, int stride) { + uint32_t a; +-- +2.37.3 + diff --git a/meta-multimedia/recipes-multimedia/aom/aom_3.0.0.bb b/meta-multimedia/recipes-multimedia/aom/aom_3.0.0.bb deleted file mode 100644 index 778dc192c8f..00000000000 --- a/meta-multimedia/recipes-multimedia/aom/aom_3.0.0.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Alliance for Open Media - AV1 Codec Library" -DESCRIPTION = "Alliance for Open Media AV1 codec library" - -LICENSE = "BSD-2-Clause & AOM-Patent-License-1.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \ - file://PATENTS;md5=e69ad12202bd20da3c76a5d3648cfa83 \ - " - -SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=master" - -SRCREV = "307ce06ed82d93885ee8ed53e152c9268ac0d98d" - -S = "${WORKDIR}/git" - -inherit cmake pkgconfig -DEPENDS = " yasm-native" - -EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=1 -DENABLE_TESTS=0 \ - -DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl \ - " - -EXTRA_OECMAKE:append:arm = " ${@bb.utils.contains("TUNE_FEATURES","neon","-DENABLE_NEON=ON","-DENABLE_NEON=OFF",d)}" diff --git a/meta-multimedia/recipes-multimedia/aom/aom_3.4.0.bb b/meta-multimedia/recipes-multimedia/aom/aom_3.4.0.bb new file mode 100644 index 00000000000..9cd6f7a9e99 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/aom/aom_3.4.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "Alliance for Open Media - AV1 Codec Library" +DESCRIPTION = "Alliance for Open Media AV1 codec library" + +LICENSE = "BSD-2-Clause & AOM-Patent-License-1.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \ + file://PATENTS;md5=e69ad12202bd20da3c76a5d3648cfa83 \ + " + +SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=main \ + file://0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch \ + " + +SRCREV = "fd0c9275d36930a6eea6d3c35972e7cf9c512944" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig +DEPENDS = " yasm-native" + +EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=1 -DENABLE_TESTS=0 \ + -DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl \ + " + +CFLAGS:append:libc-musl = " -D_GNU_SOURCE" +EXTRA_OECMAKE:append:arm = " ${@bb.utils.contains("TUNE_FEATURES","neon","-DENABLE_NEON=ON","-DENABLE_NEON=OFF",d)}" diff --git a/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb b/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb new file mode 100644 index 00000000000..90a69e5e239 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb @@ -0,0 +1,102 @@ +SUMMARY = "Linux DVB API applications and utilities" +HOMEPAGE = "http://www.linuxtv.org" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "https://www.linuxtv.org/hg/dvb-apps/archive/3d43b280298c.tar.bz2;downloadfilename=${BPN}-3d43b280298c.tar.bz2 \ + file://dvb-scan-table \ + file://0001-Fix-generate-keynames.patch \ + file://0003-handle-static-shared-only-build.patch \ + file://0004-Makefile-remove-test.patch \ + file://0005-libucsi-optimization-removal.patch \ + file://0006-CA_SET_PID.patch \ + file://0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch \ + " +SRC_URI[sha256sum] = "f39e2f0ebed7e32bce83522062ad4d414f67fccd5df1b647618524497e15e057" +S = "${WORKDIR}/${BPN}-3d43b280298c" + +inherit perlnative + +export enable_static="no" + +export PERL_USE_UNSAFE_INC = "1" + +do_configure() { + sed -i -e s:/usr/include:${STAGING_INCDIR}:g util/av7110_loadkeys/generate-keynames.sh +} +do_install() { + make DESTDIR=${D} install + install -d ${D}/${bindir} + install -d ${D}/${docdir}/dvb-apps + install -d ${D}/${docdir}/dvb-apps/scan + install -d ${D}/${docdir}/dvb-apps/szap + chmod a+rx ${D}/${libdir}/*.so* + cp -R --no-dereference --preserve=mode,links ${S}/util/szap/channels-conf* ${D}/${docdir}/dvb-apps/szap/ + cp -R --no-dereference --preserve=mode,links ${S}/util/szap/README ${D}/${docdir}/dvb-apps/szap/ + cp -R --no-dereference --preserve=mode,links ${WORKDIR}/dvb-scan-table/* ${D}/usr/share/dvb +} + +PACKAGES =+ "dvb-evtest dvb-evtest-dbg \ + dvbapp-tests dvbapp-tests-dbg \ + dvbdate dvbdate-dbg \ + dvbtraffic dvbtraffic-dbg \ + dvbnet dvbnet-dbg \ + dvb-scan dvb-scan-dbg dvb-scan-data \ + dvb-azap dvb-azap-dbg \ + dvb-czap dvb-czap-dbg \ + dvb-szap dvb-szap-dbg \ + dvb-tzap dvb-tzap-dbg \ + dvb-femon dvb-femon-dbg \ + dvb-zap-data" +PACKAGES =+ "libdvbapi libdvbcfg libdvben50221 \ + libesg libucsi libdvbsec" + +RDEPENDS:dvbdate =+ "libdvbapi libucsi" +RDEPENDS:dvbtraffic =+ "libdvbapi" +RDEPENDS:dvb-scan =+ "libdvbapi libdvbcfg libdvbsec" +RDEPENDS:dvb-apps =+ "libdvbapi libdvbcfg libdvbsec libdvben50221 libucsi" +RDEPENDS:dvb-femon =+ "libdvbapi" +RDEPENDS:dvbnet =+ "libdvbapi" + +RCONFLICTS:dvb-evtest = "evtest" + +FILES:${PN} = "${bindir} ${datadir}/dvb" +FILES:${PN}-doc = "" +FILES:${PN}-dev = "${includedir}" +FILES:dvb-evtest = "${bindir}/evtest" +FILES:dvb-evtest-dbg = "${bindir}/.debug/evtest" +FILES:dvbapp-tests = "${bindir}/*test* " +FILES:dvbapp-tests-dbg = "${bindir}/.debug/*test*" +FILES:dvbdate = "${bindir}/dvbdate" +FILES:dvbdate-dbg = "${bindir}/.debug/dvbdate" +FILES:dvbtraffic = "${bindir}/dvbtraffic" +FILES:dvbtraffic-dbg = "${bindir}/.debug/dvbtraffic" +FILES:dvbnet = "${bindir}/dvbnet" +FILES:dvbnet-dbg = "${bindir}/.debug/dvbnet" +FILES:dvb-scan = "${bindir}/*scan " +FILES:dvb-scan-dbg = "${bindir}/.debug/*scan" +FILES:dvb-scan-data = "${docdir}/dvb-apps/scan" +FILES:dvb-azap = "${bindir}/azap" +FILES:dvb-azap-dbg = "${bindir}/.debug/azap" +FILES:dvb-czap = "${bindir}/czap" +FILES:dvb-czap-dbg = "${bindir}/.debug/czap" +FILES:dvb-szap = "${bindir}/szap" +FILES:dvb-szap-dbg = "${bindir}/.debug/szap" +FILES:dvb-tzap = "${bindir}/tzap" +FILES:dvb-tzap-dbg = "${bindir}/.debug/tzap" +FILES:dvb-femon = "${bindir}/femon" +FILES:dvb-femon-dbg = "${bindir}/.debug/femon" +FILES:dvb-zap-data = "${docdir}/dvb-apps/szap" + +python populate_packages:prepend () { + dvb_libdir = bb.data.expand('${libdir}', d) + do_split_packages(d, dvb_libdir, r'^lib(.*)\.so$', 'lib%s', 'DVB %s package', extra_depends='', allow_links=True) + do_split_packages(d, dvb_libdir, r'^lib(.*)\.la$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev') + do_split_packages(d, dvb_libdir, r'^lib(.*)\.a$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev') + do_split_packages(d, dvb_libdir, r'^lib(.*)\.so\.*', 'lib%s', 'DVB %s library', extra_depends='', allow_links=True) +} + +INSANE_SKIP:${PN} = "ldflags" +INSANE_SKIP:${PN}-dev = "ldflags" + +TARGET_CC_ARCH += "${LDFLAGS}" diff --git a/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb b/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb deleted file mode 100644 index 98970d5b712..00000000000 --- a/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb +++ /dev/null @@ -1,103 +0,0 @@ -SUMMARY = "Linux DVB API applications and utilities" -HOMEPAGE = "http://www.linuxtv.org" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -SRCREV = "3d43b280298c39a67d1d889e01e173f52c12da35" - -SRC_URI = "hg://linuxtv.org/hg;module=dvb-apps;protocol=http \ - file://dvb-scan-table \ - file://0001-Fix-generate-keynames.patch \ - file://0003-handle-static-shared-only-build.patch \ - file://0004-Makefile-remove-test.patch \ - file://0005-libucsi-optimization-removal.patch \ - file://0006-CA_SET_PID.patch \ - file://0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch \ - " - -S = "${WORKDIR}/${BPN}" - -inherit perlnative - -export enable_static="no" - -export PERL_USE_UNSAFE_INC = "1" - -do_configure() { - sed -i -e s:/usr/include:${STAGING_INCDIR}:g util/av7110_loadkeys/generate-keynames.sh -} -do_install() { - make DESTDIR=${D} install - install -d ${D}/${bindir} - install -d ${D}/${docdir}/dvb-apps - install -d ${D}/${docdir}/dvb-apps/scan - install -d ${D}/${docdir}/dvb-apps/szap - chmod a+rx ${D}/${libdir}/*.so* - cp -R --no-dereference --preserve=mode,links ${S}/util/szap/channels-conf* ${D}/${docdir}/dvb-apps/szap/ - cp -R --no-dereference --preserve=mode,links ${S}/util/szap/README ${D}/${docdir}/dvb-apps/szap/ - cp -R --no-dereference --preserve=mode,links ${WORKDIR}/dvb-scan-table/* ${D}/usr/share/dvb -} - -PACKAGES =+ "dvb-evtest dvb-evtest-dbg \ - dvbapp-tests dvbapp-tests-dbg \ - dvbdate dvbdate-dbg \ - dvbtraffic dvbtraffic-dbg \ - dvbnet dvbnet-dbg \ - dvb-scan dvb-scan-dbg dvb-scan-data \ - dvb-azap dvb-azap-dbg \ - dvb-czap dvb-czap-dbg \ - dvb-szap dvb-szap-dbg \ - dvb-tzap dvb-tzap-dbg \ - dvb-femon dvb-femon-dbg \ - dvb-zap-data" -PACKAGES =+ "libdvbapi libdvbcfg libdvben50221 \ - libesg libucsi libdvbsec" - -RDEPENDS:dvbdate =+ "libdvbapi libucsi" -RDEPENDS:dvbtraffic =+ "libdvbapi" -RDEPENDS:dvb-scan =+ "libdvbapi libdvbcfg libdvbsec" -RDEPENDS:dvb-apps =+ "libdvbapi libdvbcfg libdvbsec libdvben50221 libucsi" -RDEPENDS:dvb-femon =+ "libdvbapi" -RDEPENDS:dvbnet =+ "libdvbapi" - -RCONFLICTS:dvb-evtest = "evtest" - -FILES:${PN} = "${bindir} ${datadir}/dvb" -FILES:${PN}-doc = "" -FILES:${PN}-dev = "${includedir}" -FILES:dvb-evtest = "${bindir}/evtest" -FILES:dvb-evtest-dbg = "${bindir}/.debug/evtest" -FILES:dvbapp-tests = "${bindir}/*test* " -FILES:dvbapp-tests-dbg = "${bindir}/.debug/*test*" -FILES:dvbdate = "${bindir}/dvbdate" -FILES:dvbdate-dbg = "${bindir}/.debug/dvbdate" -FILES:dvbtraffic = "${bindir}/dvbtraffic" -FILES:dvbtraffic-dbg = "${bindir}/.debug/dvbtraffic" -FILES:dvbnet = "${bindir}/dvbnet" -FILES:dvbnet-dbg = "${bindir}/.debug/dvbnet" -FILES:dvb-scan = "${bindir}/*scan " -FILES:dvb-scan-dbg = "${bindir}/.debug/*scan" -FILES:dvb-scan-data = "${docdir}/dvb-apps/scan" -FILES:dvb-azap = "${bindir}/azap" -FILES:dvb-azap-dbg = "${bindir}/.debug/azap" -FILES:dvb-czap = "${bindir}/czap" -FILES:dvb-czap-dbg = "${bindir}/.debug/czap" -FILES:dvb-szap = "${bindir}/szap" -FILES:dvb-szap-dbg = "${bindir}/.debug/szap" -FILES:dvb-tzap = "${bindir}/tzap" -FILES:dvb-tzap-dbg = "${bindir}/.debug/tzap" -FILES:dvb-femon = "${bindir}/femon" -FILES:dvb-femon-dbg = "${bindir}/.debug/femon" -FILES:dvb-zap-data = "${docdir}/dvb-apps/szap" - -python populate_packages:prepend () { - dvb_libdir = bb.data.expand('${libdir}', d) - do_split_packages(d, dvb_libdir, r'^lib(.*)\.so$', 'lib%s', 'DVB %s package', extra_depends='', allow_links=True) - do_split_packages(d, dvb_libdir, r'^lib(.*)\.la$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev') - do_split_packages(d, dvb_libdir, r'^lib(.*)\.a$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev') - do_split_packages(d, dvb_libdir, r'^lib(.*)\.so\.*', 'lib%s', 'DVB %s library', extra_depends='', allow_links=True) -} - -INSANE_SKIP:${PN} = "ldflags" -INSANE_SKIP:${PN}-dev = "ldflags" - -TARGET_CC_ARCH += "${LDFLAGS}" diff --git a/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch b/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch index 9035b56f4ae..e89f9a3cdc0 100644 --- a/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch +++ b/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch @@ -11,22 +11,17 @@ Signed-off-by: Khem Raj util/dvbdate/dvbdate.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -diff --git a/util/dvbdate/dvbdate.c b/util/dvbdate/dvbdate.c -index f0df437..492ed79 100644 --- a/util/dvbdate/dvbdate.c +++ b/util/dvbdate/dvbdate.c -@@ -309,7 +309,10 @@ int atsc_scan_date(time_t *rx_time, unsigned int to) +@@ -309,7 +309,10 @@ int atsc_scan_date(time_t *rx_time, unsi */ int set_time(time_t * new_time) { - if (stime(new_time)) { -+ struct timespec ts; -+ ts.tv_sec = &new_time; -+ ts.tv_nsec = 0; -+ if (clock_settime(CLOCK_REALTIME, &ts)) { ++ struct timespec s = {0}; ++ s.tv_sec = *new_time; ++ ++ if (clock_settime(CLOCK_REALTIME, &s)) { perror("Unable to set time"); return -1; } --- -2.24.1 - diff --git a/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-Fix-build-with-fmt-9.0.patch b/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-Fix-build-with-fmt-9.0.patch new file mode 100644 index 00000000000..9de0e4f28e5 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-Fix-build-with-fmt-9.0.patch @@ -0,0 +1,35 @@ +From d7b8fafbc94405c20753fed569abd8878cccde89 Mon Sep 17 00:00:00 2001 +From: Felix Yan +Date: Fri, 19 Aug 2022 15:22:10 +0300 +Subject: [PATCH] Fix build with fmt 9.0 + +Fixes #2681 +--- + src/database/sql_format.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/database/sql_format.h b/src/database/sql_format.h +index 32dc00ef..e4e1909a 100644 +--- a/src/database/sql_format.h ++++ b/src/database/sql_format.h +@@ -42,7 +42,7 @@ struct SQLIdentifier { + template <> + struct fmt::formatter : formatter { + template +- auto format(const SQLIdentifier& tn, FormatContext& ctx) -> decltype(ctx.out()) ++ auto format(const SQLIdentifier& tn, FormatContext& ctx) const -> decltype(ctx.out()) + { + return format_to(ctx.out(), "{}{}{}", tn.quote_begin, tn.name, tn.quote_end); + } +@@ -61,7 +61,7 @@ struct ColumnUpdate { + template <> + struct fmt::formatter : formatter { + template +- auto format(const ColumnUpdate& a, FormatContext& ctx) -> decltype(ctx.out()) ++ auto format(const ColumnUpdate& a, FormatContext& ctx) const -> decltype(ctx.out()) + { + return format_to(ctx.out(), "{} = {}", a.column, a.value); + } +-- +2.38.0.rc1.362.ged0d419d3c-goog + diff --git a/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-Fix-for-fmt-8.0.patch b/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-Fix-for-fmt-8.0.patch deleted file mode 100644 index efd8dc066c6..00000000000 --- a/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-Fix-for-fmt-8.0.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 22b3a91473d548456a0823f9f170db0d7db5a444 Mon Sep 17 00:00:00 2001 -From: kyak -Date: Wed, 12 Jan 2022 19:41:37 +0300 -Subject: [PATCH] Fix for fmt > 8.0 - -Upstream-Status: Backport [https://github.com/gerbera/gerbera/commit/82d84ac5e62c23e717198fc7b2ef190ff95e70d1] -Signed-off-by: Khem Raj ---- - src/util/logger.h | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/src/util/logger.h b/src/util/logger.h -index 8a8f0b1f..0a512bff 100644 ---- a/src/util/logger.h -+++ b/src/util/logger.h -@@ -32,7 +32,9 @@ - #ifndef __LOGGER_H__ - #define __LOGGER_H__ - -+#include - #include -+#include - - #define log_debug SPDLOG_DEBUG - #define log_info SPDLOG_INFO -@@ -40,4 +42,17 @@ - #define log_error SPDLOG_ERROR - #define log_js SPDLOG_INFO - -+#if FMT_VERSION >= 80100 -+template -+struct fmt::formatter, char>> -+ : formatter> { -+ template -+ auto format(const T& value, FormatContext& ctx) -> decltype(ctx.out()) -+ { -+ return fmt::formatter>::format( -+ static_cast>(value), ctx); -+ } -+}; -+#endif -+ - #endif // __LOGGER_H__ --- -2.35.0 - diff --git a/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.11.0.bb b/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.11.0.bb new file mode 100644 index 00000000000..9f2f1b093e2 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.11.0.bb @@ -0,0 +1,31 @@ +Description = "Gerbera - An UPnP media server" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=25cdec9afe3f1f26212ead6bd2f7fac8" + +SRC_URI = "git://github.com/gerbera/gerbera.git;protocol=https;branch=master \ + file://0001-Fix-build-with-fmt-9.0.patch \ + " + +SRCREV = "d73d8c1346213d784753c02ea771970500e0df2a" + +S = "${WORKDIR}/git" + +DEPENDS = "expat fmt spdlog pugixml libebml libmatroska zlib curl libupnp e2fsprogs sqlite3 libnsl2" + +SYSTEMD_SERVICE:${PN} = "gerbera.service" + +inherit cmake pkgconfig systemd + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=TRUE,-DWITH_SYSTEMD=FALSE,systemd" +PACKAGECONFIG[taglib] = "-DWITH_TAGLIB=TRUE,-DWITH_TAGLIB=FALSE,taglib" +EXTRA_OECMAKE = "-DWITH_JS=FALSE -DWITH_MAGIC=FALSE -DWITH_EXIF=FALSE -DLIBUUID_INCLUDE_DIRS=${STAGING_INCDIR} -DLIBUUID_LIBRARIES=-luuid" + +do_install:append() { + install -d ${D}/root/.config/ +} + +FILES:${PN} += "/root/.config/" + +SECURITY_CFLAGS:riscv64 = "${SECURITY_NOPIE_CFLAGS}" diff --git a/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.9.2.bb b/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.9.2.bb deleted file mode 100644 index cbb127d3dc0..00000000000 --- a/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.9.2.bb +++ /dev/null @@ -1,31 +0,0 @@ -Description = "Gerbera - An UPnP media server" - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=25cdec9afe3f1f26212ead6bd2f7fac8" - -SRC_URI = "git://github.com/v00d00/gerbera.git;protocol=https;branch=master \ - file://0001-Fix-for-fmt-8.0.patch \ - " - -SRCREV = "3b93d362ec33f738868a4e896a2c9ee8e9d7a92a" - -S = "${WORKDIR}/git" - -DEPENDS = "expat fmt spdlog pugixml libebml libmatroska zlib curl libupnp e2fsprogs sqlite3 libnsl2" - -SYSTEMD_SERVICE:${PN} = "gerbera.service" - -inherit cmake pkgconfig systemd - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" -PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=TRUE,-DWITH_SYSTEMD=FALSE,systemd" -PACKAGECONFIG[taglib] = "-DWITH_TAGLIB=TRUE,-DWITH_TAGLIB=FALSE,taglib" -EXTRA_OECMAKE = "-DWITH_JS=FALSE -DWITH_MAGIC=FALSE -DWITH_EXIF=FALSE -DLIBUUID_INCLUDE_DIRS=${STAGING_INCDIR} -DLIBUUID_LIBRARIES=-luuid" - -do_install:append() { - install -d ${D}/root/.config/ -} - -FILES:${PN} += "/root/.config/" - -SECURITY_CFLAGS:riscv64 = "${SECURITY_NOPIE_CFLAGS}" diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb b/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb deleted file mode 100644 index 0b9f3f7a5d6..00000000000 --- a/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb +++ /dev/null @@ -1,74 +0,0 @@ -SUMMARY = "Linux libcamera framework" -SECTION = "libs" - -LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later" - -LIC_FILES_CHKSUM = "\ - file://LICENSES/GPL-2.0-or-later.txt;md5=fed54355545ffd980b814dab4a3b312c \ - file://LICENSES/LGPL-2.1-or-later.txt;md5=2a4f4fd2128ea2f65047ee63fbca9f68 \ -" - -SRC_URI = " \ - git://git.libcamera.org/libcamera/libcamera.git;protocol=https;branch=master \ -" - -SRCREV = "acf8d028edda0a59b10e15962c2606137a4940af" - -PV = "202105+git${SRCPV}" - -S = "${WORKDIR}/git" - -DEPENDS = "python3-pyyaml-native python3-jinja2-native python3-ply-native python3-jinja2-native udev gnutls boost chrpath-native libevent" -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'qt', 'qtbase qtbase-native', '', d)}" - -PACKAGES =+ "${PN}-gst" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[gst] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0 gstreamer1.0-plugins-base" - -EXTRA_OEMESON = " \ - -Dpipelines=uvcvideo,simple,vimc \ - -Dipas=vimc \ - -Dv4l2=true \ - -Dcam=enabled \ - -Dlc-compliance=disabled \ - -Dtest=false \ - -Ddocumentation=disabled \ -" - -RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland qt', 'qtwayland', '', d)}" - -inherit meson pkgconfig python3native - -do_configure:prepend() { - sed -i -e 's|py_compile=True,||' ${S}/utils/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py -} - -do_install:append() { - chrpath -d ${D}${libdir}/libcamera.so.0.0.0 - chrpath -d ${D}${libdir}/libcamera-base.so.0.0.0 -} - -addtask do_recalculate_ipa_signatures_package after do_package before do_packagedata -do_recalculate_ipa_signatures_package() { - local modules - for module in $(find ${PKGD}/usr/lib/libcamera -name "*.so.sign"); do - module="${module%.sign}" - if [ -f "${module}" ] ; then - modules="${modules} ${module}" - fi - done - - ${S}/src/ipa/ipa-sign-install.sh ${B}/src/ipa-priv-key.pem "${modules}" -} - -FILES:${PN}-dev = "${includedir} ${libdir}/pkgconfig" -FILES:${PN}-dev += " ${libdir}/libcamera.so" -FILES:${PN} += " ${libdir}/libcamera.so.0" -FILES:${PN} += " ${libdir}/libcamera.so.0.0.0" -FILES:${PN}-dev += " ${libdir}/libcamera-base.so" -FILES:${PN} += " ${libdir}/libcamera-base.so.0" -FILES:${PN} += " ${libdir}/libcamera-base.so.0.0.0" -FILES:${PN} += " ${libdir}/v4l2-compat.so" -FILES:${PN}-gst = "${libdir}/gstreamer-1.0/libgstlibcamera.so" -FILES:${PN} += " ${bindir}/cam" diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.1.bb b/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.1.bb new file mode 100644 index 00000000000..2b77d993719 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.1.bb @@ -0,0 +1,66 @@ +SUMMARY = "Linux libcamera framework" +SECTION = "libs" + +LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later" + +LIC_FILES_CHKSUM = "\ + file://LICENSES/GPL-2.0-or-later.txt;md5=fed54355545ffd980b814dab4a3b312c \ + file://LICENSES/LGPL-2.1-or-later.txt;md5=2a4f4fd2128ea2f65047ee63fbca9f68 \ +" + +SRC_URI = " \ + git://git.libcamera.org/libcamera/libcamera.git;protocol=https;branch=master \ +" + +SRCREV = "a83aed77df1258e469c0eb42d9cb4f1938db53f2" + +PE = "1" + +S = "${WORKDIR}/git" + +DEPENDS = "python3-pyyaml-native python3-jinja2-native python3-ply-native python3-jinja2-native udev gnutls chrpath-native libevent libyaml" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'qt', 'qtbase qtbase-native', '', d)}" + +PACKAGES =+ "${PN}-gst" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[gst] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0 gstreamer1.0-plugins-base" + +EXTRA_OEMESON = " \ + -Dpipelines=uvcvideo,simple,vimc \ + -Dipas=vimc \ + -Dv4l2=true \ + -Dcam=enabled \ + -Dlc-compliance=disabled \ + -Dtest=false \ + -Ddocumentation=disabled \ +" + +RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland qt', 'qtwayland', '', d)}" + +inherit meson pkgconfig python3native + +do_configure:prepend() { + sed -i -e 's|py_compile=True,||' ${S}/utils/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py +} + +do_install:append() { + chrpath -d ${D}${libdir}/libcamera.so + chrpath -d ${D}${libdir}/v4l2-compat.so +} + +addtask do_recalculate_ipa_signatures_package after do_package before do_packagedata +do_recalculate_ipa_signatures_package() { + local modules + for module in $(find ${PKGD}/usr/lib/libcamera -name "*.so.sign"); do + module="${module%.sign}" + if [ -f "${module}" ] ; then + modules="${modules} ${module}" + fi + done + + ${S}/src/ipa/ipa-sign-install.sh ${B}/src/ipa-priv-key.pem "${modules}" +} + +FILES:${PN} += " ${libdir}/v4l2-compat.so" +FILES:${PN}-gst = "${libdir}/gstreamer-1.0" diff --git a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz/0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz/0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch new file mode 100644 index 00000000000..1fae37614c5 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz/0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch @@ -0,0 +1,50 @@ +From 06b2a6aa70616aafab780514d9d26e85bd98d965 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 25 Aug 2022 14:02:16 -0700 +Subject: [PATCH] http/fetch: Pass a non-null buffer to + ne_set_request_body_buffer API + +Newer versions of neon has added a check for non-null arguments for +ne_set_request_body_buffer() API and this is triggered but older +compiler only treats -Wnonnull as warning so all was fine, however gcc +12.2 has started to throw this warning as error by default and builds +are breaking + +Fixes +src/HTTPFetch.cc:186:38: warning: null passed to a callee that requires a non-null argument [-Wnonnull] + ne_set_request_body_buffer(req,0,0); + ~ ^ +Upstream-Status: Submitted [https://github.com/metabrainz/libmusicbrainz/pull/18] +Signed-off-by: Khem Raj +--- + src/HTTPFetch.cc | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/HTTPFetch.cc b/src/HTTPFetch.cc +index baec359..0c0d919 100644 +--- a/src/HTTPFetch.cc ++++ b/src/HTTPFetch.cc +@@ -182,8 +182,10 @@ int MusicBrainz5::CHTTPFetch::Fetch(const std::string& URL, const std::string& R + } + + ne_request *req = ne_request_create(sess, Request.c_str(), URL.c_str()); ++ ne_buffer *body = ne_buffer_create(); ++ + if (Request=="PUT") +- ne_set_request_body_buffer(req,0,0); ++ ne_set_request_body_buffer(req, body->data, ne_buffer_size(body)); + + if (Request!="GET") + ne_set_request_flag(req, NE_REQFLAG_IDEMPOTENT, 0); +@@ -195,6 +197,8 @@ int MusicBrainz5::CHTTPFetch::Fetch(const std::string& URL, const std::string& R + + Ret=m_d->m_Data.size(); + ++ ne_buffer_destroy(body); ++ + ne_request_destroy(req); + + m_d->m_ErrorMessage = ne_get_error(sess); +-- +2.37.2 + diff --git a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb index 803c6279ce8..3b365444e2a 100644 --- a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb +++ b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb @@ -8,7 +8,9 @@ DEPENDS = "expat libxml2 libxml2-native neon neon-native libmusicbrainz-native" PV = "5.1.0+git${SRCPV}" SRCREV = "8be45b12a86bc0e46f2f836c8ac88e1e98d82aee" -SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git;branch=master;protocol=https" +SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git;branch=master;protocol=https \ + file://0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch \ + " S = "${WORKDIR}/git" diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-avb-fix-compilation-on-big-endian.patch b/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-avb-fix-compilation-on-big-endian.patch deleted file mode 100644 index fc618b4a7c8..00000000000 --- a/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-avb-fix-compilation-on-big-endian.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 1a5ec4452fa21592eaeeb823ad95a1db6eb60376 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Tue, 19 Jul 2022 13:49:42 +0200 -Subject: [PATCH 001/113] avb: fix compilation on big endian - -Patch-Status: Backport - ---- - src/modules/module-avb/aaf.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/modules/module-avb/aaf.h b/src/modules/module-avb/aaf.h -index cb4871ca6..b444ce251 100644 ---- a/src/modules/module-avb/aaf.h -+++ b/src/modules/module-avb/aaf.h -@@ -35,7 +35,7 @@ struct avb_packet_aaf { - unsigned gv:1; - unsigned tv:1; - -- uint8_t seq_number; -+ uint8_t seq_num; - - unsigned _r2:7; - unsigned tu:1; -diff --git a/src/modules/module-avb/iec61883.h b/src/modules/module-avb/iec61883.h -index d3b3a7daa..6ca8724ad 100644 ---- a/src/modules/module-avb/iec61883.h -+++ b/src/modules/module-avb/iec61883.h -@@ -37,7 +37,7 @@ struct avb_packet_iec61883 { - unsigned gv:1; - unsigned tv:1; - -- uint8_t seq_number; -+ uint8_t seq_num; - - unsigned _r2:7; - unsigned tu:1; -diff --git a/spa/plugins/avb/avbtp/packets.h b/spa/plugins/avb/avbtp/packets.h -index 7047456bf..3d4a652ee 100644 ---- a/spa/plugins/avb/avbtp/packets.h -+++ b/spa/plugins/avb/avbtp/packets.h -@@ -116,7 +116,7 @@ struct spa_avbtp_packet_aaf { - unsigned gv:1; - unsigned tv:1; - -- uint8_t seq_number; -+ uint8_t seq_num; - - unsigned _r2:7; - unsigned tu:1; --- -2.34.1 - diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.56.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.56.bb deleted file mode 100644 index 6c88e99f928..00000000000 --- a/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.56.bb +++ /dev/null @@ -1,367 +0,0 @@ -SUMMARY = "Multimedia processing server for Linux" -DESCRIPTION = "Linux server for handling and routing audio and video streams between applications and multimedia I/O devices" -HOMEPAGE = "https://pipewire.org/" -BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/pipewire/issues" -AUTHOR = "Wim Taymans " -SECTION = "multimedia" - -LICENSE = "MIT & LGPL-2.1-or-later & GPL-2.0-only" -LIC_FILES_CHKSUM = " \ - file://LICENSE;md5=2158739e172e58dc9ab1bdd2d6ec9c72 \ - file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a \ -" - -DEPENDS = "dbus ncurses" - -SRCREV = "f274e53d25ee8f483ac6fce9e516bb1830abe88b" -SRC_URI = " \ - git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https \ - file://0001-avb-fix-compilation-on-big-endian.patch \ -" - -S = "${WORKDIR}/git" - -inherit meson pkgconfig systemd gettext useradd - -USERADD_PACKAGES = "${PN}" - -GROUPADD_PARAM:${PN} = "--system pipewire" - -USERADD_PARAM:${PN} = "--system --home / --no-create-home \ - --comment 'PipeWire multimedia daemon' \ - --gid pipewire --groups audio,video \ - pipewire" - -SYSTEMD_PACKAGES = "${PN}" - -# For "EVL", look up https://evlproject.org/ . It involves -# a specially prepared kernel, and is currently unavailable -# in Yocto. -# -# Vulkan support is currently (as of version 0.3.44) not functional. -# -# manpage generation requires xmltoman, which is not available. -# -# The session-managers list specifies which session managers Meson -# shall download (via git clone) and build as subprojects. In OE, -# this is not how a session manager should be built. Instead, they -# should be integrated as separate OE recipes. To prevent PipeWire -# from using this Meson feature, set an empty list. -# This does not disable support or the need for session managers, -# it just prevents this subproject feature. -# -# AptX and LDAC are not available in OE. Currently, neither -# are lv2 and ROC. -# -# The RTKit module is deprecated in favor of the newer RT module. -# It still exists for legacy setups that still include it in -# their PipeWire configuration files. -EXTRA_OEMESON += " \ - -Devl=disabled \ - -Dtests=disabled \ - -Dudevrulesdir=${nonarch_base_libdir}/udev/rules.d/ \ - -Dsystemd-system-unit-dir=${systemd_system_unitdir} \ - -Dsystemd-user-unit-dir=${systemd_user_unitdir} \ - -Dman=disabled \ - -Dsession-managers='[]' \ - -Dlv2=disabled \ - -Droc=disabled \ - -Dbluez5-codec-aptx=disabled \ - -Dbluez5-codec-ldac=disabled \ - -Dlegacy-rtkit=false \ -" - -# spa alsa plugin code uses typedef redefinition, which is officially a C11 feature. -# Pipewire builds with 'c_std=gnu99' by default. Recent versions of gcc don't issue this warning in gnu99 -# mode but it looks like clang still does -CFLAGS:append = " -Wno-typedef-redefinition" - -# According to wireplumber documentation only one session manager should be installed at a time -# Possible options are media-session, which has fewer dependencies but is very simple, -# or wireplumber, which is more powerful. -PIPEWIRE_SESSION_MANAGER ??= "media-session" - -FFMPEG_AVAILABLE = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'ffmpeg', '', d)}" -BLUETOOTH_AAC = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'bluez-aac', '', d)}" - -PACKAGECONFIG:class-target ??= " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez ${BLUETOOTH_AAC}', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'alsa vulkan pulseaudio', d)} \ - ${PIPEWIRE_SESSION_MANAGER} \ - ${FFMPEG_AVAILABLE} gstreamer jack libusb pw-cat raop sndfile v4l2 udev volume \ -" - -# "jack" and "pipewire-jack" packageconfigs cannot be both enabled, -# since "jack" imports libjack, and "pipewire-jack" generates -# libjack.so* files, thus colliding with the libpack package. This -# is why these two are marked in their respective packageconfigs -# as being in conflict. -PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev,,pipewire-alsa pipewire-alsa-card-profile" -PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi" -PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc" -PACKAGECONFIG[bluez-aac] = "-Dbluez5-codec-aac=enabled,-Dbluez5-codec-aac=disabled,fdk-aac" -PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native graphviz-native" -PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg" -PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base,,gstreamer1.0-pipewire" -PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack,,,pipewire-jack" -PACKAGECONFIG[libcamera] = "-Dlibcamera=enabled,-Dlibcamera=disabled,libcamera libdrm" -PACKAGECONFIG[libcanberra] = "-Dlibcanberra=enabled,-Dlibcanberra=disabled,libcanberra" -PACKAGECONFIG[libusb] = "-Dlibusb=enabled,-Dlibusb=disabled,libusb" -PACKAGECONFIG[media-session] = ",,,pipewire-media-session" -PACKAGECONFIG[pulseaudio] = "-Dlibpulse=enabled,-Dlibpulse=disabled,pulseaudio,,pipewire-pulse" -PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=enabled,-Dpipewire-alsa=disabled,alsa-lib" -PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,,jack" -PACKAGECONFIG[pw-cat] = "-Dpw-cat=enabled,-Dpw-cat=disabled" -PACKAGECONFIG[raop] = "-Draop=enabled,-Draop=disabled,openssl" -PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,libsdl2" -PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" -PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd" -PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=enabled,-Dsystemd-system-service=disabled,systemd" -# "systemd-user-service" packageconfig will only install service -# files to rootfs but not enable them as systemd.bbclass -# currently lacks the feature of enabling user services. -PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=enabled,-Dsystemd-user-service=disabled,systemd" -# pw-cat needs sndfile packageconfig to be enabled -PACKAGECONFIG[udev] = "-Dudev=enabled,-Dudev=disabled,udev" -PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev" -PACKAGECONFIG[volume] = "-Dvolume=enabled,-Dvolume=disabled" -PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-headers vulkan-loader" -PACKAGECONFIG[webrtc-echo-cancelling] = "-Decho-cancel-webrtc=enabled,-Decho-cancel-webrtc=disabled,webrtc-audio-processing" -PACKAGECONFIG[wireplumber] = ",,,wireplumber" - -PACKAGESPLITFUNCS:prepend = " split_dynamic_packages " -PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends " - -SPA_SUBDIR = "spa-0.2" -PW_MODULE_SUBDIR = "pipewire-0.3" - -remove_unused_installed_files() { - # jack.conf is used by pipewire-jack (not the JACK SPA plugin). - # Remove it if pipewire-jack is not built to avoid creating the - # pipewire-jack package. - if ${@bb.utils.contains('PACKAGECONFIG', 'pipewire-jack', 'false', 'true', d)}; then - rm -f "${D}${datadir}/pipewire/jack.conf" - fi - - # minimal.conf is an example of how to minimally configure the - # daemon and is not meant to be used for production. - rm -f "${D}${datadir}/pipewire/minimal.conf" -} - -do_install[postfuncs] += "remove_unused_installed_files" - -python split_dynamic_packages () { - # Create packages for each SPA plugin. These plugins are located - # in individual subdirectories, so a recursive search is needed. - spa_libdir = d.expand('${libdir}/${SPA_SUBDIR}') - do_split_packages(d, spa_libdir, r'^libspa-(.*)\.so$', d.expand('${PN}-spa-plugins-%s'), 'PipeWire SPA plugin for %s', extra_depends='', recursive=True) - - # Create packages for each PipeWire module. - pw_module_libdir = d.expand('${libdir}/${PW_MODULE_SUBDIR}') - do_split_packages(d, pw_module_libdir, r'^libpipewire-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'PipeWire %s module', extra_depends='', recursive=False) -} - -python set_dynamic_metapkg_rdepends () { - import os - import oe.utils - - # Go through all generated SPA plugin and PipeWire module packages - # (excluding the main package and the -meta package itself) and - # add them to the -meta package as RDEPENDS. - - base_pn = d.getVar('PN') - - spa_pn = base_pn + '-spa-plugins' - spa_metapkg = spa_pn + '-meta' - - pw_module_pn = base_pn + '-modules' - pw_module_metapkg = pw_module_pn + '-meta' - - d.setVar('ALLOW_EMPTY:' + spa_metapkg, "1") - d.setVar('FILES:' + spa_metapkg, "") - - d.setVar('ALLOW_EMPTY:' + pw_module_metapkg, "1") - d.setVar('FILES:' + pw_module_metapkg, "") - - blacklist = [ spa_pn, spa_metapkg, pw_module_pn, pw_module_metapkg ] - spa_metapkg_rdepends = [] - pw_module_metapkg_rdepends = [] - pkgdest = d.getVar('PKGDEST') - - for pkg in oe.utils.packages_filter_out_system(d): - if pkg in blacklist: - continue - - is_spa_pkg = pkg.startswith(spa_pn) - is_pw_module_pkg = pkg.startswith(pw_module_pn) - if not is_spa_pkg and not is_pw_module_pkg: - continue - - if pkg in spa_metapkg_rdepends or pkg in pw_module_metapkg_rdepends: - continue - - # See if the package is empty by looking at the contents of its - # PKGDEST subdirectory. If this subdirectory is empty, then then - # package is empty as well. Empty packages do not get added to - # the meta package's RDEPENDS. - pkgdir = os.path.join(pkgdest, pkg) - if os.path.exists(pkgdir): - dir_contents = os.listdir(pkgdir) or [] - else: - dir_contents = [] - is_empty = len(dir_contents) == 0 - if not is_empty: - if is_spa_pkg: - spa_metapkg_rdepends.append(pkg) - if is_pw_module_pkg: - pw_module_metapkg_rdepends.append(pkg) - - d.setVar('RDEPENDS:' + spa_metapkg, ' '.join(spa_metapkg_rdepends)) - d.setVar('DESCRIPTION:' + spa_metapkg, spa_pn + ' meta package') - - d.setVar('RDEPENDS:' + pw_module_metapkg, ' '.join(pw_module_metapkg_rdepends)) - d.setVar('DESCRIPTION:' + pw_module_metapkg, pw_module_pn + ' meta package') -} - -PACKAGES =+ "\ - libpipewire \ - ${PN}-tools \ - ${PN}-pulse \ - ${PN}-alsa \ - ${PN}-jack \ - ${PN}-spa-plugins \ - ${PN}-spa-plugins-meta \ - ${PN}-spa-tools \ - ${PN}-modules \ - ${PN}-modules-meta \ - ${PN}-alsa-card-profile \ - ${PN}-v4l2 \ - gstreamer1.0-pipewire \ -" - -PACKAGES_DYNAMIC = "^${PN}-spa-plugins.* ^${PN}-modules.*" - -SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd-system-service', 'pipewire.service', '', d)}" -CONFFILES:${PN} += "${datadir}/pipewire/pipewire.conf" -FILES:${PN} = " \ - ${datadir}/pipewire \ - ${systemd_system_unitdir}/pipewire* \ - ${systemd_user_unitdir}/pipewire* \ - ${bindir}/pipewire \ - ${bindir}/pipewire-avb \ -" - -RRECOMMENDS:${PN}:class-target += " \ - pipewire-modules-meta \ - pipewire-spa-plugins-meta \ -" - -FILES:${PN}-dev += " \ - ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so \ -" - -CONFFILES:libpipewire += "${datadir}/pipewire/client.conf" -FILES:libpipewire = " \ - ${datadir}/pipewire/client.conf \ - ${libdir}/libpipewire-*.so.* \ -" -# Add the bare minimum modules and plugins required to be able -# to use libpipewire. Without these, it is essentially unusable. -RDEPENDS:libpipewire += " \ - ${PN}-modules-client-node \ - ${PN}-modules-protocol-native \ - ${PN}-spa-plugins-support \ -" - -FILES:${PN}-tools = " \ - ${bindir}/pw-cat \ - ${bindir}/pw-cli \ - ${bindir}/pw-dot \ - ${bindir}/pw-dsdplay \ - ${bindir}/pw-dump \ - ${bindir}/pw-link \ - ${bindir}/pw-loopback \ - ${bindir}/pw-metadata \ - ${bindir}/pw-mididump \ - ${bindir}/pw-midiplay \ - ${bindir}/pw-midirecord \ - ${bindir}/pw-mon \ - ${bindir}/pw-play \ - ${bindir}/pw-profiler \ - ${bindir}/pw-record \ - ${bindir}/pw-reserve \ - ${bindir}/pw-top \ -" - -# This is a shim daemon that is intended to be used as a -# drop-in PulseAudio replacement, providing a pulseaudio-compatible -# socket that can be used by applications that use libpulse. -CONFFILES:${PN}-pulse += "${datadir}/pipewire/pipewire-pulse.conf" -FILES:${PN}-pulse = " \ - ${datadir}/pipewire/pipewire-pulse.conf \ - ${systemd_system_unitdir}/pipewire-pulse.* \ - ${systemd_user_unitdir}/pipewire-pulse.* \ - ${bindir}/pipewire-pulse \ -" -RDEPENDS:${PN}-pulse += " \ - ${PN}-modules-protocol-pulse \ -" - -# ALSA plugin to redirect audio to pipewire. -FILES:${PN}-alsa = "\ - ${libdir}/alsa-lib/* \ - ${datadir}/alsa/alsa.conf.d/* \ -" - -# JACK drop-in libraries to redirect audio to pipewire. -CONFFILES:${PN}-jack = "${datadir}/pipewire/jack.conf" -FILES:${PN}-jack = "\ - ${bindir}/pw-jack \ - ${datadir}/pipewire/jack.conf \ - ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so.* \ -" - -# Dynamic SPA plugin packages (see set_dynamic_metapkg_rdepends). -FILES:${PN}-spa-plugins = "" -RRECOMMENDS:${PN}-spa-plugins += "${PN}-spa-plugins-meta" - -FILES:${PN}-spa-plugins-bluez5 += " \ - ${datadir}/${SPA_SUBDIR}/bluez5/* \ -" - -FILES:${PN}-spa-tools = " \ - ${bindir}/spa-* \ -" - -# Dynamic PipeWire module packages (see set_dynamic_metapkg_rdepends). -FILES:${PN}-modules = "" -RRECOMMENDS:${PN}-modules += "${PN}-modules-meta" - -CONFFILES:${PN}-modules-rt = "${datadir}/pipewire/client-rt.conf" -FILES:${PN}-modules-rt += " \ - ${datadir}/pipewire/client-rt.conf \ - " - -CONFFILES:${PN}-modules-filter-chain = "${datadir}/pipewire/filter-chain/*" -FILES:${PN}-modules-filter-chain += " \ - ${datadir}/pipewire/filter-chain/* \ -" - -FILES:${PN}-alsa-card-profile = " \ - ${datadir}/alsa-card-profile/* \ - ${nonarch_base_libdir}/udev/rules.d/90-pipewire-alsa.rules \ -" - -# V4L2 interface emulator for sending/receiving data between PipeWire and V4L2 applications. -FILES:${PN}-v4l2 += " \ - ${bindir}/pw-v4l2 \ - ${libdir}/${PW_MODULE_SUBDIR}/v4l2/libpw-v4l2.so \ -" - -FILES:gstreamer1.0-pipewire = " \ - ${libdir}/gstreamer-1.0/* \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.59.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.59.bb new file mode 100644 index 00000000000..757c88c9565 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.59.bb @@ -0,0 +1,365 @@ +SUMMARY = "Multimedia processing server for Linux" +DESCRIPTION = "Linux server for handling and routing audio and video streams between applications and multimedia I/O devices" +HOMEPAGE = "https://pipewire.org/" +BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/pipewire/issues" +AUTHOR = "Wim Taymans " +SECTION = "multimedia" + +LICENSE = "MIT & LGPL-2.1-or-later & GPL-2.0-only" +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=2158739e172e58dc9ab1bdd2d6ec9c72 \ + file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a \ +" + +DEPENDS = "dbus ncurses" + +SRCREV = "f54a72fd9a67eeb8d1502d6d75979dbddb00fdf2" +SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https" + +S = "${WORKDIR}/git" + +inherit meson pkgconfig systemd gettext useradd + +USERADD_PACKAGES = "${PN}" + +GROUPADD_PARAM:${PN} = "--system pipewire" + +USERADD_PARAM:${PN} = "--system --home / --no-create-home \ + --comment 'PipeWire multimedia daemon' \ + --gid pipewire --groups audio,video \ + pipewire" + +SYSTEMD_PACKAGES = "${PN}" + +# For "EVL", look up https://evlproject.org/ . It involves +# a specially prepared kernel, and is currently unavailable +# in Yocto. +# +# Vulkan support is currently (as of version 0.3.44) not functional. +# +# manpage generation requires xmltoman, which is not available. +# +# The session-managers list specifies which session managers Meson +# shall download (via git clone) and build as subprojects. In OE, +# this is not how a session manager should be built. Instead, they +# should be integrated as separate OE recipes. To prevent PipeWire +# from using this Meson feature, set an empty list. +# This does not disable support or the need for session managers, +# it just prevents this subproject feature. +# +# AptX and LDAC are not available in OE. Currently, neither +# are lv2 and ROC. +# +# The RTKit module is deprecated in favor of the newer RT module. +# It still exists for legacy setups that still include it in +# their PipeWire configuration files. +EXTRA_OEMESON += " \ + -Devl=disabled \ + -Dtests=disabled \ + -Dudevrulesdir=${nonarch_base_libdir}/udev/rules.d/ \ + -Dsystemd-system-unit-dir=${systemd_system_unitdir} \ + -Dsystemd-user-unit-dir=${systemd_user_unitdir} \ + -Dman=disabled \ + -Dsession-managers='[]' \ + -Dlv2=disabled \ + -Droc=disabled \ + -Dbluez5-codec-aptx=disabled \ + -Dbluez5-codec-ldac=disabled \ + -Dlegacy-rtkit=false \ +" + +# spa alsa plugin code uses typedef redefinition, which is officially a C11 feature. +# Pipewire builds with 'c_std=gnu99' by default. Recent versions of gcc don't issue this warning in gnu99 +# mode but it looks like clang still does +CFLAGS:append = " -Wno-typedef-redefinition" + +# According to wireplumber documentation only one session manager should be installed at a time +# Possible options are media-session, which has fewer dependencies but is very simple, +# or wireplumber, which is more powerful. +PIPEWIRE_SESSION_MANAGER ??= "media-session" + +FFMPEG_AVAILABLE = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'ffmpeg', '', d)}" +BLUETOOTH_AAC = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'bluez-aac', '', d)}" + +PACKAGECONFIG:class-target ??= " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez bluez-opus ${BLUETOOTH_AAC}', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa vulkan pulseaudio', d)} \ + ${PIPEWIRE_SESSION_MANAGER} \ + ${FFMPEG_AVAILABLE} gstreamer jack libusb pw-cat raop sndfile v4l2 udev volume \ +" + +# "jack" and "pipewire-jack" packageconfigs cannot be both enabled, +# since "jack" imports libjack, and "pipewire-jack" generates +# libjack.so* files, thus colliding with the libpack package. This +# is why these two are marked in their respective packageconfigs +# as being in conflict. +PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev,,pipewire-alsa pipewire-alsa-card-profile" +PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi" +PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc" +PACKAGECONFIG[bluez-aac] = "-Dbluez5-codec-aac=enabled,-Dbluez5-codec-aac=disabled,fdk-aac" +PACKAGECONFIG[bluez-opus] = "-Dbluez5-codec-opus=enabled,-Dbluez5-codec-opus=disabled,libopus" +PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native graphviz-native" +PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg" +PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base,,gstreamer1.0-pipewire" +PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack,,,pipewire-jack" +PACKAGECONFIG[libcamera] = "-Dlibcamera=enabled,-Dlibcamera=disabled,libcamera libdrm" +PACKAGECONFIG[libcanberra] = "-Dlibcanberra=enabled,-Dlibcanberra=disabled,libcanberra" +PACKAGECONFIG[libusb] = "-Dlibusb=enabled,-Dlibusb=disabled,libusb" +PACKAGECONFIG[media-session] = ",,,pipewire-media-session,,wireplumber" +PACKAGECONFIG[pulseaudio] = "-Dlibpulse=enabled,-Dlibpulse=disabled,pulseaudio,,pipewire-pulse" +PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=enabled,-Dpipewire-alsa=disabled,alsa-lib" +PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,pipewire-jack,jack" +PACKAGECONFIG[pw-cat] = "-Dpw-cat=enabled,-Dpw-cat=disabled" +PACKAGECONFIG[raop] = "-Draop=enabled,-Draop=disabled,openssl" +PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,libsdl2" +PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" +PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd" +PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=enabled,-Dsystemd-system-service=disabled,systemd" +# "systemd-user-service" packageconfig will only install service +# files to rootfs but not enable them as systemd.bbclass +# currently lacks the feature of enabling user services. +PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=enabled,-Dsystemd-user-service=disabled,systemd" +# pw-cat needs sndfile packageconfig to be enabled +PACKAGECONFIG[udev] = "-Dudev=enabled,-Dudev=disabled,udev" +PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev" +PACKAGECONFIG[volume] = "-Dvolume=enabled,-Dvolume=disabled" +PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-headers vulkan-loader" +PACKAGECONFIG[webrtc-echo-cancelling] = "-Decho-cancel-webrtc=enabled,-Decho-cancel-webrtc=disabled,webrtc-audio-processing" +PACKAGECONFIG[wireplumber] = ",,,wireplumber,,media-session" + +PACKAGESPLITFUNCS:prepend = " split_dynamic_packages " +PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends " + +SPA_SUBDIR = "spa-0.2" +PW_MODULE_SUBDIR = "pipewire-0.3" + +remove_unused_installed_files() { + # jack.conf is used by pipewire-jack (not the JACK SPA plugin). + # Remove it if pipewire-jack is not built to avoid creating the + # pipewire-jack package. + if ${@bb.utils.contains('PACKAGECONFIG', 'pipewire-jack', 'false', 'true', d)}; then + rm -f "${D}${datadir}/pipewire/jack.conf" + fi + + # minimal.conf is an example of how to minimally configure the + # daemon and is not meant to be used for production. + rm -f "${D}${datadir}/pipewire/minimal.conf" +} + +do_install[postfuncs] += "remove_unused_installed_files" + +python split_dynamic_packages () { + # Create packages for each SPA plugin. These plugins are located + # in individual subdirectories, so a recursive search is needed. + spa_libdir = d.expand('${libdir}/${SPA_SUBDIR}') + do_split_packages(d, spa_libdir, r'^libspa-(.*)\.so$', d.expand('${PN}-spa-plugins-%s'), 'PipeWire SPA plugin for %s', extra_depends='', recursive=True) + + # Create packages for each PipeWire module. + pw_module_libdir = d.expand('${libdir}/${PW_MODULE_SUBDIR}') + do_split_packages(d, pw_module_libdir, r'^libpipewire-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'PipeWire %s module', extra_depends='', recursive=False) +} + +python set_dynamic_metapkg_rdepends () { + import os + import oe.utils + + # Go through all generated SPA plugin and PipeWire module packages + # (excluding the main package and the -meta package itself) and + # add them to the -meta package as RDEPENDS. + + base_pn = d.getVar('PN') + + spa_pn = base_pn + '-spa-plugins' + spa_metapkg = spa_pn + '-meta' + + pw_module_pn = base_pn + '-modules' + pw_module_metapkg = pw_module_pn + '-meta' + + d.setVar('ALLOW_EMPTY:' + spa_metapkg, "1") + d.setVar('FILES:' + spa_metapkg, "") + + d.setVar('ALLOW_EMPTY:' + pw_module_metapkg, "1") + d.setVar('FILES:' + pw_module_metapkg, "") + + blacklist = [ spa_pn, spa_metapkg, pw_module_pn, pw_module_metapkg ] + spa_metapkg_rdepends = [] + pw_module_metapkg_rdepends = [] + pkgdest = d.getVar('PKGDEST') + + for pkg in oe.utils.packages_filter_out_system(d): + if pkg in blacklist: + continue + + is_spa_pkg = pkg.startswith(spa_pn) + is_pw_module_pkg = pkg.startswith(pw_module_pn) + if not is_spa_pkg and not is_pw_module_pkg: + continue + + if pkg in spa_metapkg_rdepends or pkg in pw_module_metapkg_rdepends: + continue + + # See if the package is empty by looking at the contents of its + # PKGDEST subdirectory. If this subdirectory is empty, then then + # package is empty as well. Empty packages do not get added to + # the meta package's RDEPENDS. + pkgdir = os.path.join(pkgdest, pkg) + if os.path.exists(pkgdir): + dir_contents = os.listdir(pkgdir) or [] + else: + dir_contents = [] + is_empty = len(dir_contents) == 0 + if not is_empty: + if is_spa_pkg: + spa_metapkg_rdepends.append(pkg) + if is_pw_module_pkg: + pw_module_metapkg_rdepends.append(pkg) + + d.setVar('RDEPENDS:' + spa_metapkg, ' '.join(spa_metapkg_rdepends)) + d.setVar('DESCRIPTION:' + spa_metapkg, spa_pn + ' meta package') + + d.setVar('RDEPENDS:' + pw_module_metapkg, ' '.join(pw_module_metapkg_rdepends)) + d.setVar('DESCRIPTION:' + pw_module_metapkg, pw_module_pn + ' meta package') +} + +PACKAGES =+ "\ + libpipewire \ + ${PN}-tools \ + ${PN}-pulse \ + ${PN}-alsa \ + ${PN}-jack \ + ${PN}-spa-plugins \ + ${PN}-spa-plugins-meta \ + ${PN}-spa-tools \ + ${PN}-modules \ + ${PN}-modules-meta \ + ${PN}-alsa-card-profile \ + ${PN}-v4l2 \ + gstreamer1.0-pipewire \ +" + +PACKAGES_DYNAMIC = "^${PN}-spa-plugins.* ^${PN}-modules.*" + +SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd-system-service', 'pipewire.service', '', d)}" +CONFFILES:${PN} += "${datadir}/pipewire/pipewire.conf" +FILES:${PN} = " \ + ${datadir}/pipewire \ + ${systemd_system_unitdir}/pipewire* \ + ${systemd_user_unitdir} \ + ${bindir}/pipewire \ + ${bindir}/pipewire-avb \ +" + +RRECOMMENDS:${PN}:class-target += " \ + pipewire-modules-meta \ + pipewire-spa-plugins-meta \ +" + +FILES:${PN}-dev += " \ + ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so \ +" + +CONFFILES:libpipewire += "${datadir}/pipewire/client.conf" +FILES:libpipewire = " \ + ${datadir}/pipewire/client.conf \ + ${libdir}/libpipewire-*.so.* \ +" +# Add the bare minimum modules and plugins required to be able +# to use libpipewire. Without these, it is essentially unusable. +RDEPENDS:libpipewire += " \ + ${PN}-modules-client-node \ + ${PN}-modules-protocol-native \ + ${PN}-spa-plugins-support \ +" + +FILES:${PN}-tools = " \ + ${bindir}/pw-cat \ + ${bindir}/pw-cli \ + ${bindir}/pw-dot \ + ${bindir}/pw-dsdplay \ + ${bindir}/pw-dump \ + ${bindir}/pw-link \ + ${bindir}/pw-loopback \ + ${bindir}/pw-metadata \ + ${bindir}/pw-mididump \ + ${bindir}/pw-midiplay \ + ${bindir}/pw-midirecord \ + ${bindir}/pw-mon \ + ${bindir}/pw-play \ + ${bindir}/pw-profiler \ + ${bindir}/pw-record \ + ${bindir}/pw-reserve \ + ${bindir}/pw-top \ +" + +# This is a shim daemon that is intended to be used as a +# drop-in PulseAudio replacement, providing a pulseaudio-compatible +# socket that can be used by applications that use libpulse. +CONFFILES:${PN}-pulse += "${datadir}/pipewire/pipewire-pulse.conf" +FILES:${PN}-pulse = " \ + ${datadir}/pipewire/pipewire-pulse.conf \ + ${systemd_system_unitdir}/pipewire-pulse.* \ + ${systemd_user_unitdir}/pipewire-pulse.* \ + ${bindir}/pipewire-pulse \ +" +RDEPENDS:${PN}-pulse += " \ + ${PN}-modules-protocol-pulse \ +" + +# ALSA plugin to redirect audio to pipewire. +FILES:${PN}-alsa = "\ + ${libdir}/alsa-lib/* \ + ${datadir}/alsa/alsa.conf.d/* \ +" + +# JACK drop-in libraries to redirect audio to pipewire. +CONFFILES:${PN}-jack = "${datadir}/pipewire/jack.conf" +FILES:${PN}-jack = "\ + ${bindir}/pw-jack \ + ${datadir}/pipewire/jack.conf \ + ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so.* \ +" + +# Dynamic SPA plugin packages (see set_dynamic_metapkg_rdepends). +FILES:${PN}-spa-plugins = "" +RRECOMMENDS:${PN}-spa-plugins += "${PN}-spa-plugins-meta" + +FILES:${PN}-spa-plugins-bluez5 += " \ + ${datadir}/${SPA_SUBDIR}/bluez5/* \ +" + +FILES:${PN}-spa-tools = " \ + ${bindir}/spa-* \ +" + +# Dynamic PipeWire module packages (see set_dynamic_metapkg_rdepends). +FILES:${PN}-modules = "" +RRECOMMENDS:${PN}-modules += "${PN}-modules-meta" + +CONFFILES:${PN}-modules-rt = "${datadir}/pipewire/client-rt.conf" +FILES:${PN}-modules-rt += " \ + ${datadir}/pipewire/client-rt.conf \ + " + +CONFFILES:${PN}-modules-filter-chain = "${datadir}/pipewire/filter-chain/*" +FILES:${PN}-modules-filter-chain += " \ + ${datadir}/pipewire/filter-chain/* \ +" + +FILES:${PN}-alsa-card-profile = " \ + ${datadir}/alsa-card-profile/* \ + ${nonarch_base_libdir}/udev/rules.d/90-pipewire-alsa.rules \ +" + +# V4L2 interface emulator for sending/receiving data between PipeWire and V4L2 applications. +FILES:${PN}-v4l2 += " \ + ${bindir}/pw-v4l2 \ + ${libdir}/${PW_MODULE_SUBDIR}/v4l2/libpw-v4l2.so \ +" + +FILES:gstreamer1.0-pipewire = " \ + ${libdir}/gstreamer-1.0/* \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb b/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb index 0791c85f747..ace8743f3af 100644 --- a/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb +++ b/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb @@ -4,7 +4,7 @@ and can apply different effects and filters to the audio data." HOMEPAGE = "http://sox.sourceforge.net" SECTION = "audio" -DEPENDS = "libpng ffmpeg libsndfile1" +DEPENDS = "libpng ffmpeg libsndfile1 libtool" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)} \ magic \ @@ -36,4 +36,7 @@ SRC_URI[sha256sum] = "b45f598643ffbd8e363ff24d61166ccec4836fea6d3888881b8df53e3b inherit autotools pkgconfig +# Enable largefile support +CFLAGS += "-D_FILE_OFFSET_BITS=64" + EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "0", "1", d)}" diff --git a/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch b/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch new file mode 100644 index 00000000000..36a31a85cd8 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch @@ -0,0 +1,27 @@ +From 8c10181547c93438fc10f753e7164ee004add6d1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 27 Aug 2022 10:28:47 -0700 +Subject: [PATCH] ogginfo: Include utf8.h for missing utf8_decode + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + ogginfo/codec_skeleton.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/ogginfo/codec_skeleton.c b/ogginfo/codec_skeleton.c +index a27f8da..3ac13f6 100644 +--- a/ogginfo/codec_skeleton.c ++++ b/ogginfo/codec_skeleton.c +@@ -25,6 +25,7 @@ + #include + + #include "i18n.h" ++#include "utf8.h" /* utf8_decode */ + + #include "private.h" + +-- +2.37.2 + diff --git a/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb b/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb index 290162127fc..61a4aedb855 100644 --- a/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb +++ b/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb @@ -12,6 +12,7 @@ DEPENDS = "libogg libvorbis" SRC_URI = "http://downloads.xiph.org/releases/vorbis/${BP}.tar.gz \ file://gettext.patch \ + file://0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch \ " SRC_URI[md5sum] = "998fca293bd4e4bdc2b96fb70f952f4e" diff --git a/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.11.bb b/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.11.bb deleted file mode 100644 index e093734ed27..00000000000 --- a/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.11.bb +++ /dev/null @@ -1,145 +0,0 @@ -SUMMARY = "Session / policy manager implementation for PipeWire" -HOMEPAGE = "https://gitlab.freedesktop.org/pipewire/wireplumber" -BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/wireplumber/issues" -AUTHOR = "George Kiagiadakis " -SECTION = "multimedia" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=17d1fe479cdec331eecbc65d26bc7e77" - -DEPENDS = "glib-2.0 glib-2.0-native lua pipewire \ - ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \ -" - -SRCREV = "80b3559963f0ad40a7bfa6c23b0098275c0b5ebe" -SRC_URI = "git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https \ - file://90-OE-disable-session-dbus-dependent-features.lua \ - " - -S = "${WORKDIR}/git" - -inherit meson pkgconfig gobject-introspection systemd - -GIR_MESON_ENABLE_FLAG = 'enabled' -GIR_MESON_DISABLE_FLAG = 'disabled' - -# Enable system-lua to let wireplumber use OE's lua. -# Documentation needs python-sphinx, which is not in oe-core or meta-python2 for now. -# elogind is not (yet) available in OE, so disable support. -EXTRA_OEMESON += " \ - -Ddoc=disabled \ - -Dsystem-lua=true \ - -Delogind=disabled \ - -Dsystemd-system-unit-dir=${systemd_system_unitdir} \ - -Dsystemd-user-unit-dir=${systemd_user_unitdir} \ - -Dtests=false \ -" - -PACKAGECONFIG ??= "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \ -" - -PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd" -PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=true,-Dsystemd-system-service=false,systemd" -# "systemd-user-service" packageconfig will only install service -# files to rootfs but not enable them as systemd.bbclass -# currently lacks the feature of enabling user services. -PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=true,-Dsystemd-user-service=false,systemd" - -PACKAGESPLITFUNCS:prepend = " split_dynamic_packages " -PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends " - -WP_MODULE_SUBDIR = "wireplumber-0.4" - -add_custom_lua_config_scripts() { - install -m 0644 ${WORKDIR}/90-OE-disable-session-dbus-dependent-features.lua ${D}${datadir}/wireplumber/main.lua.d -} - -do_install[postfuncs] += "add_custom_lua_config_scripts" - -python split_dynamic_packages () { - # Create packages for each WirePlumber module. - wp_module_libdir = d.expand('${libdir}/${WP_MODULE_SUBDIR}') - do_split_packages(d, wp_module_libdir, r'^libwireplumber-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'WirePlumber %s module', extra_depends='', recursive=False) -} - -python set_dynamic_metapkg_rdepends () { - import os - import oe.utils - - # Go through all generated WirePlumber module packages - # (excluding the main package and the -meta package itself) - # and add them to the -meta package as RDEPENDS. - - base_pn = d.getVar('PN') - - wp_module_pn = base_pn + '-modules' - wp_module_metapkg = wp_module_pn + '-meta' - - d.setVar('ALLOW_EMPTY:' + wp_module_metapkg, "1") - d.setVar('FILES:' + wp_module_metapkg, "") - - blacklist = [ wp_module_pn, wp_module_metapkg ] - wp_module_metapkg_rdepends = [] - pkgdest = d.getVar('PKGDEST') - - for pkg in oe.utils.packages_filter_out_system(d): - if pkg in blacklist: - continue - - is_wp_module_pkg = pkg.startswith(wp_module_pn) - if not is_wp_module_pkg: - continue - - if pkg in wp_module_metapkg_rdepends: - continue - - # See if the package is empty by looking at the contents of its - # PKGDEST subdirectory. If this subdirectory is empty, then then - # package is empty as well. Empty packages do not get added to - # the meta package's RDEPENDS. - pkgdir = os.path.join(pkgdest, pkg) - if os.path.exists(pkgdir): - dir_contents = os.listdir(pkgdir) or [] - else: - dir_contents = [] - is_empty = len(dir_contents) == 0 - if not is_empty: - if is_wp_module_pkg: - wp_module_metapkg_rdepends.append(pkg) - - d.setVar('RDEPENDS:' + wp_module_metapkg, ' '.join(wp_module_metapkg_rdepends)) - d.setVar('DESCRIPTION:' + wp_module_metapkg, wp_module_pn + ' meta package') -} - -PACKAGES =+ "\ - libwireplumber \ - ${PN}-default-config \ - ${PN}-scripts \ - ${PN}-modules \ - ${PN}-modules-meta \ -" - -PACKAGES_DYNAMIC = "^${PN}-modules.*" - -SYSTEMD_SERVICE:${PN} = "wireplumber.service" -CONFFILES:${PN} += " \ - ${datadir}/wireplumber/wireplumber.conf \ - ${datadir}/wireplumber/*.lua.d/* \ -" -# Add pipewire to RRECOMMENDS, since WirePlumber expects a PipeWire daemon to -# be present. While in theory any application that uses libpipewire can configure -# itself to become a daemon, in practice, the PipeWire daemon is used. -RRECOMMENDS:${PN} += "pipewire ${PN}-scripts ${PN}-modules-meta" - -FILES:${PN} += "${systemd_user_unitdir}" - -FILES:libwireplumber = " \ - ${libdir}/libwireplumber-*.so.* \ -" - -FILES:${PN}-scripts += "${datadir}/wireplumber/scripts/*" - -# Dynamic packages (see set_dynamic_metapkg_rdepends). -FILES:${PN}-modules = "" -RRECOMMENDS:${PN}-modules += "${PN}-modules-meta" diff --git a/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.12.bb b/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.12.bb new file mode 100644 index 00000000000..d80d9348a2f --- /dev/null +++ b/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.12.bb @@ -0,0 +1,145 @@ +SUMMARY = "Session / policy manager implementation for PipeWire" +HOMEPAGE = "https://gitlab.freedesktop.org/pipewire/wireplumber" +BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/wireplumber/issues" +AUTHOR = "George Kiagiadakis " +SECTION = "multimedia" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=17d1fe479cdec331eecbc65d26bc7e77" + +DEPENDS = "glib-2.0 glib-2.0-native lua pipewire \ + ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \ +" + +SRCREV = "6f6e5df9c1b223907efa8dcbfcd538821d0dabc4" +SRC_URI = "git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https \ + file://90-OE-disable-session-dbus-dependent-features.lua \ + " + +S = "${WORKDIR}/git" + +inherit meson pkgconfig gobject-introspection systemd + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' + +# Enable system-lua to let wireplumber use OE's lua. +# Documentation needs python-sphinx, which is not in oe-core or meta-python2 for now. +# elogind is not (yet) available in OE, so disable support. +EXTRA_OEMESON += " \ + -Ddoc=disabled \ + -Dsystem-lua=true \ + -Delogind=disabled \ + -Dsystemd-system-unit-dir=${systemd_system_unitdir} \ + -Dsystemd-user-unit-dir=${systemd_user_unitdir} \ + -Dtests=false \ +" + +PACKAGECONFIG ??= "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \ +" + +PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd" +PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=true,-Dsystemd-system-service=false,systemd" +# "systemd-user-service" packageconfig will only install service +# files to rootfs but not enable them as systemd.bbclass +# currently lacks the feature of enabling user services. +PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=true,-Dsystemd-user-service=false,systemd" + +PACKAGESPLITFUNCS:prepend = " split_dynamic_packages " +PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends " + +WP_MODULE_SUBDIR = "wireplumber-0.4" + +add_custom_lua_config_scripts() { + install -m 0644 ${WORKDIR}/90-OE-disable-session-dbus-dependent-features.lua ${D}${datadir}/wireplumber/main.lua.d +} + +do_install[postfuncs] += "add_custom_lua_config_scripts" + +python split_dynamic_packages () { + # Create packages for each WirePlumber module. + wp_module_libdir = d.expand('${libdir}/${WP_MODULE_SUBDIR}') + do_split_packages(d, wp_module_libdir, r'^libwireplumber-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'WirePlumber %s module', extra_depends='', recursive=False) +} + +python set_dynamic_metapkg_rdepends () { + import os + import oe.utils + + # Go through all generated WirePlumber module packages + # (excluding the main package and the -meta package itself) + # and add them to the -meta package as RDEPENDS. + + base_pn = d.getVar('PN') + + wp_module_pn = base_pn + '-modules' + wp_module_metapkg = wp_module_pn + '-meta' + + d.setVar('ALLOW_EMPTY:' + wp_module_metapkg, "1") + d.setVar('FILES:' + wp_module_metapkg, "") + + blacklist = [ wp_module_pn, wp_module_metapkg ] + wp_module_metapkg_rdepends = [] + pkgdest = d.getVar('PKGDEST') + + for pkg in oe.utils.packages_filter_out_system(d): + if pkg in blacklist: + continue + + is_wp_module_pkg = pkg.startswith(wp_module_pn) + if not is_wp_module_pkg: + continue + + if pkg in wp_module_metapkg_rdepends: + continue + + # See if the package is empty by looking at the contents of its + # PKGDEST subdirectory. If this subdirectory is empty, then then + # package is empty as well. Empty packages do not get added to + # the meta package's RDEPENDS. + pkgdir = os.path.join(pkgdest, pkg) + if os.path.exists(pkgdir): + dir_contents = os.listdir(pkgdir) or [] + else: + dir_contents = [] + is_empty = len(dir_contents) == 0 + if not is_empty: + if is_wp_module_pkg: + wp_module_metapkg_rdepends.append(pkg) + + d.setVar('RDEPENDS:' + wp_module_metapkg, ' '.join(wp_module_metapkg_rdepends)) + d.setVar('DESCRIPTION:' + wp_module_metapkg, wp_module_pn + ' meta package') +} + +PACKAGES =+ "\ + libwireplumber \ + ${PN}-default-config \ + ${PN}-scripts \ + ${PN}-modules \ + ${PN}-modules-meta \ +" + +PACKAGES_DYNAMIC = "^${PN}-modules.*" + +SYSTEMD_SERVICE:${PN} = "wireplumber.service" +CONFFILES:${PN} += " \ + ${datadir}/wireplumber/wireplumber.conf \ + ${datadir}/wireplumber/*.lua.d/* \ +" +# Add pipewire to RRECOMMENDS, since WirePlumber expects a PipeWire daemon to +# be present. While in theory any application that uses libpipewire can configure +# itself to become a daemon, in practice, the PipeWire daemon is used. +RRECOMMENDS:${PN} += "pipewire ${PN}-scripts ${PN}-modules-meta" + +FILES:${PN} += "${systemd_user_unitdir}" + +FILES:libwireplumber = " \ + ${libdir}/libwireplumber-*.so.* \ +" + +FILES:${PN}-scripts += "${datadir}/wireplumber/scripts/*" + +# Dynamic packages (see set_dynamic_metapkg_rdepends). +FILES:${PN}-modules = "" +RRECOMMENDS:${PN}-modules += "${PN}-modules-meta" diff --git a/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb b/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb index c36619b8192..d786afe81ed 100644 --- a/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb +++ b/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb @@ -18,7 +18,8 @@ SRC_URI[sha256sum] = "fb9badcf92364fd3567f8b5aa0e5e952aeea7a39a2b864387cec31e3b5 inherit lib_package pkgconfig cmake EXTRA_OECMAKE:append:x86 = " -DENABLE_ASSEMBLY=OFF" +EXTRA_OECMAKE:append:aarch64 = " -DENABLE_PIC=ON" AS[unexport] = "1" -COMPATIBLE_HOST = '(x86_64|i.86).*-linux' +COMPATIBLE_HOST = '(x86_64|i.86|aarch64).*-linux' diff --git a/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb b/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb index 9a6c71cb71b..8f0ad651204 100644 --- a/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb +++ b/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb @@ -4,17 +4,20 @@ SECTION = "multimedia" LICENSE = "LGPL-3.0-only" LIC_FILES_CHKSUM = "file://LICENSE;md5=e6a600fd5e1d9cbde2d983680233ad02" - DEPENDS = "gstreamer1.0" +SRCREV = "cb8977a6711657e32853159cd539d1d75fcbc772" +PV = "0.3.1+git${SRCPV}" + +SRC_URI = "git://github.com/kirushyk/gst-instruments.git;protocol=https;branch=master" S = "${WORKDIR}/git" -SRCREV = "3b862e52e5c53ad1023dc6808effa4cb75572c4b" -SRC_URI = "git://github.com/kirushyk/gst-instruments.git;protocol=https;;branch=master" + +inherit vala meson pkgconfig FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*a" FILES:${PN} += "${libdir}/*" -INSANE_SKIP:${PN} = "dev-so" - -inherit autotools pkgconfig +INSANE_SKIP:${PN}-dev = "dev-elf" +PACKAGECONFIG ??= "ui" +PACKAGECONFIG[ui] = "-Dui=enabled,-Dui=disabled,gtk+3" diff --git a/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/0001-reglib-Remove-unused-variables.patch b/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/0001-reglib-Remove-unused-variables.patch new file mode 100644 index 00000000000..c6c3c53f19c --- /dev/null +++ b/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/0001-reglib-Remove-unused-variables.patch @@ -0,0 +1,59 @@ +From 1bd6ff9d10c83afbc9954fc38b953e9167e6d4a9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 28 Aug 2022 14:01:55 -0700 +Subject: [PATCH] reglib: Remove unused variables + +These counters are not used anywhere therefore delete them +Fixes +reglib.c:1015:15: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable] + unsigned int i = 0; + ^ +reglib.c:1062:15: error: variable 'lines' set but not used [-Werror,-Wunused-but-set-variable] + unsigned int lines = 0; + ^ + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + reglib.c | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/reglib.c b/reglib.c +index 8565a0b..6c62c2c 100644 +--- a/reglib.c ++++ b/reglib.c +@@ -1012,7 +1012,6 @@ static int reglib_find_next_country_stream(FILE *fp) + { + fpos_t prev_pos; + int r; +- unsigned int i = 0; + + while(1) { + char line[1024]; +@@ -1030,7 +1029,6 @@ static int reglib_find_next_country_stream(FILE *fp) + line_p = fgets(line, sizeof(line), fp); + if (line_p == line) { + if (strspn(line, "\n") == strlen(line)) { +- i++; + continue; + } + if (strncmp(line, "country", 7) != 0) +@@ -1059,7 +1057,6 @@ struct ieee80211_regdomain *reglib_parse_country(FILE *fp) + + FILE *reglib_create_parse_stream(FILE *f) + { +- unsigned int lines = 0; + FILE *fp; + + fp = tmpfile(); +@@ -1076,7 +1073,6 @@ FILE *reglib_create_parse_stream(FILE *f) + if (line_p == line) { + if (strchr(line, '#') == NULL) { + fputs(line, fp); +- lines++; + } + continue; + } else +-- +2.37.2 + diff --git a/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda_3.18.bb b/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda_3.18.bb index a616557e7c3..2f4d4dac99f 100644 --- a/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda_3.18.bb +++ b/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda_3.18.bb @@ -16,6 +16,7 @@ SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \ file://fix-issues-when-USE_OPENSSL-1.patch \ file://crda-4.14-python-3.patch \ file://0001-Make-alpha2-to-be-3-characters-long.patch \ + file://0001-reglib-Remove-unused-variables.patch \ " SRC_URI[md5sum] = "0431fef3067bf503dfb464069f06163a" SRC_URI[sha256sum] = "43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e8ecdbf" diff --git a/meta-networking/recipes-connectivity/blueman/blueman/0001-meson-add-pythoninstalldir-option.patch b/meta-networking/recipes-connectivity/blueman/blueman/0001-meson-add-pythoninstalldir-option.patch index a52821915eb..cc448b4ffdb 100644 --- a/meta-networking/recipes-connectivity/blueman/blueman/0001-meson-add-pythoninstalldir-option.patch +++ b/meta-networking/recipes-connectivity/blueman/blueman/0001-meson-add-pythoninstalldir-option.patch @@ -16,14 +16,14 @@ Signed-off-by: Chen Qi 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build -index bc990cd..a37aacd 100644 +index e12d0ce6..e84457a5 100644 --- a/meson.build +++ b/meson.build @@ -26,7 +26,12 @@ pkgdatadir = join_paths([prefix, get_option('datadir'), package_name]) bindir = join_paths([prefix, get_option('bindir')]) libexecdir = join_paths([prefix, get_option('libexecdir')]) - schemadir = join_paths([datadir, 'glib-2.0', 'schemas']) --pythondir = join_paths([prefix, python.sysconfig_path('purelib')]) + schemadir = join_paths(['share', 'glib-2.0', 'schemas']) +-pythondir = pyinstall.get_install_dir() +pythoninstalldir = get_option('pythoninstalldir') +if pythoninstalldir != '' + pythondir = join_paths([prefix, pythoninstalldir]) @@ -34,16 +34,17 @@ index bc990cd..a37aacd 100644 if get_option('policykit') have_polkit = 'True' diff --git a/meson_options.txt b/meson_options.txt -index b3e939f..96acbbc 100644 +index 177d9ab8..3e397d8e 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -5,5 +5,6 @@ option('pulseaudio', type: 'boolean', value: true, description: 'Enable PulseAud - option('appindicator', type: 'boolean', value: true, description: 'Enable Libappindicator support') +@@ -2,6 +2,7 @@ option('runtime_deps_check', type: 'boolean', value: true, description: 'Disable + option('dhcp-config-path', type: 'string', value: '/etc/dhcp3/dhcpd.conf', description: 'Set dhcp3 server configuration path') + option('policykit', type: 'boolean', value: true, description: 'Enable policykit support') + option('pulseaudio', type: 'boolean', value: true, description: 'Enable PulseAudio support') ++option('pythoninstalldir', type: 'string', description: 'Path to python site-packages dir relative to ${prefix}') option('systemdsystemunitdir', type: 'string', description: 'Path to systemd system unit dir relative to ${prefix}') option('systemduserunitdir', type: 'string', description: 'Path to systemd user unit dir relative to ${prefix}') -+option('pythoninstalldir', type: 'string', description: 'Path to python site-packages dir relative to ${prefix}') option('sendto-plugins', type: 'array', choices: ['Caja', 'Nemo', 'Nautilus'], value: ['Caja', 'Nemo', 'Nautilus'], description: 'Install sendto plugins for various filemanagers') - option('thunar-sendto', type: 'boolean', value: true, description: 'Install Thunar sendto plugin') -- -2.33.0 +2.34.1 diff --git a/meta-networking/recipes-connectivity/blueman/blueman_2.2.4.bb b/meta-networking/recipes-connectivity/blueman/blueman_2.2.4.bb deleted file mode 100644 index 119752086e1..00000000000 --- a/meta-networking/recipes-connectivity/blueman/blueman_2.2.4.bb +++ /dev/null @@ -1,58 +0,0 @@ -DESCRIPTION = "Blueman is a GTK+ Bluetooth Manager" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -DEPENDS = "gtk+3 glib-2.0 bluez5 python3-pygobject python3-cython-native" - -inherit meson gettext systemd gsettings pkgconfig python3native gtk-icon-cache - -SRC_URI = " \ - https://github.com/blueman-project/blueman/releases/download/${PV}/blueman-${PV}.tar.xz \ - file://0001-Search-for-cython3.patch \ - file://0002-fix-fail-to-enable-bluetooth.patch \ - file://0001-meson-add-pythoninstalldir-option.patch \ -" -SRC_URI[sha256sum] = "55d639feeda0b43b18a659e65985213a54b47dcb1348f3b4effb5238db242602" - -EXTRA_OEMESON = "-Druntime_deps_check=false -Dappindicator=false -Dpythoninstalldir=${@noprefix('PYTHON_SITEPACKAGES_DIR', d)}" - -SYSTEMD_SERVICE:${PN} = "${BPN}-mechanism.service" -SYSTEMD_AUTO_ENABLE:${PN} = "disable" - -RRECOMMENDS:${PN} += "adwaita-icon-theme" -RDEPENDS:${PN} += " \ - python3-core \ - python3-dbus \ - python3-pygobject \ - python3-terminal \ - packagegroup-tools-bluetooth \ -" - -PACKAGECONFIG ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'polkit pulseaudio ', d)} \ - thunar \ -" -PACKAGECONFIG[thunar] = "-Dthunar-sendto=true,-Dthunar-sendto=false" -PACKAGECONFIG[pulseaudio] = "-Dpulseaudio=true,-Dpulseaudio=false" -PACKAGECONFIG[polkit] = "-Dpolicykit=true,-Dpolicykit=false" - -FILES:${PN} += " \ - ${datadir} \ - ${systemd_user_unitdir} \ - ${PYTHON_SITEPACKAGES_DIR} \ -" - -# In code, path to python is a variable that is replaced with path to native version of it -# during the configure stage, e.g ../recipe-sysroot-native/usr/bin/python3-native/python3. -# Replace it with #!/usr/bin/env python3 -do_install:append() { - sed -i "1s/.*/#!\/usr\/bin\/env python3/" ${D}${prefix}/libexec/blueman-rfcomm-watcher \ - ${D}${prefix}/libexec/blueman-mechanism \ - ${D}${bindir}/blueman-adapters \ - ${D}${bindir}/blueman-applet \ - ${D}${bindir}/blueman-manager \ - ${D}${bindir}/blueman-sendto \ - ${D}${bindir}/blueman-services \ - ${D}${bindir}/blueman-tray -} - diff --git a/meta-networking/recipes-connectivity/blueman/blueman_2.3.4.bb b/meta-networking/recipes-connectivity/blueman/blueman_2.3.4.bb new file mode 100644 index 00000000000..2822e8713a1 --- /dev/null +++ b/meta-networking/recipes-connectivity/blueman/blueman_2.3.4.bb @@ -0,0 +1,60 @@ +DESCRIPTION = "Blueman is a GTK+ Bluetooth Manager" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = "gtk+3 glib-2.0 bluez5 python3-pygobject python3-cython-native" + +inherit meson gettext systemd gsettings pkgconfig python3native gtk-icon-cache + +SRC_URI = " \ + git://github.com/blueman-project/blueman.git;protocol=https;branch=2-3-stable \ + file://0001-Search-for-cython3.patch \ + file://0002-fix-fail-to-enable-bluetooth.patch \ + file://0001-meson-add-pythoninstalldir-option.patch \ +" +S = "${WORKDIR}/git" +SRCREV = "89bb5313a7cc24ca6fdbeaf2b02f6142dc1a8e60" + +EXTRA_OEMESON = "-Druntime_deps_check=false -Dpythoninstalldir=${@noprefix('PYTHON_SITEPACKAGES_DIR', d)}" + +SYSTEMD_SERVICE:${PN} = "${BPN}-mechanism.service" +SYSTEMD_AUTO_ENABLE:${PN} = "disable" + +RRECOMMENDS:${PN} += "adwaita-icon-theme" +RDEPENDS:${PN} += " \ + python3-core \ + python3-dbus \ + python3-pygobject \ + python3-terminal \ + python3-fcntl \ + packagegroup-tools-bluetooth \ +" + +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'polkit pulseaudio ', d)} \ + thunar \ +" +PACKAGECONFIG[thunar] = "-Dthunar-sendto=true,-Dthunar-sendto=false" +PACKAGECONFIG[pulseaudio] = "-Dpulseaudio=true,-Dpulseaudio=false" +PACKAGECONFIG[polkit] = "-Dpolicykit=true,-Dpolicykit=false" + +FILES:${PN} += " \ + ${datadir} \ + ${systemd_user_unitdir} \ + ${PYTHON_SITEPACKAGES_DIR} \ +" + +# In code, path to python is a variable that is replaced with path to native version of it +# during the configure stage, e.g ../recipe-sysroot-native/usr/bin/python3-native/python3. +# Replace it with #!/usr/bin/env python3 +do_install:append() { + sed -i "1s/.*/#!\/usr\/bin\/env python3/" ${D}${prefix}/libexec/blueman-rfcomm-watcher \ + ${D}${prefix}/libexec/blueman-mechanism \ + ${D}${bindir}/blueman-adapters \ + ${D}${bindir}/blueman-applet \ + ${D}${bindir}/blueman-manager \ + ${D}${bindir}/blueman-sendto \ + ${D}${bindir}/blueman-services \ + ${D}${bindir}/blueman-tray +} + diff --git a/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.3.bb b/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.3.bb deleted file mode 100644 index 92c648708e3..00000000000 --- a/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.3.bb +++ /dev/null @@ -1,62 +0,0 @@ -SECTION = "console/network" -SUMMARY = "Internet Software Consortium DHCP Relay Agent" -DESCRIPTION = "A DHCP relay agent passes DHCP requests from one \ -LAN to another, so that a DHCP server is not needed on every LAN." - -HOMEPAGE = "http://www.isc.org/" - -LICENSE = "MPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c463f4afde26d9eb60f14f50aeb85f8f" - -DEPENDS = "openssl libcap zlib" - -SRC_URI = "https://downloads.isc.org/isc/dhcp/${PV}/dhcp-${PV}.tar.gz \ - file://default-relay \ - file://init-relay \ - file://dhcrelay.service \ - file://0001-Makefile.am-only-build-dhcrelay.patch \ - file://0002-bind-Makefile.in-disable-backtrace.patch \ - file://0003-bind-Makefile.in-regenerate-configure.patch \ - " - -SRC_URI[sha256sum] = "0e3ec6b4c2a05ec0148874bcd999a66d05518378d77421f607fb0bc9d0135818" - -UPSTREAM_CHECK_URI = "http://ftp.isc.org/isc/dhcp/" -UPSTREAM_CHECK_REGEX = "(?P\d+\.\d+\.(\d+?))/" - -S = "${WORKDIR}/dhcp-${PV}" - -inherit autotools-brokensep systemd pkgconfig - -SYSTEMD_SERVICE:${PN} = "dhcrelay.service" -SYSTEMD_AUTO_ENABLE:${PN} = "disable" - -CFLAGS += "-D_GNU_SOURCE -fcommon" -LDFLAGS:append = " -pthread" - -EXTRA_OECONF = "--enable-paranoia \ - --disable-static \ - --enable-libtool \ - --with-randomdev=/dev/random \ - " - -# Enable shared libs per dhcp README -do_configure:prepend () { - cp configure.ac+lt configure.ac -} - -do_install:append () { - install -Dm 0644 ${WORKDIR}/default-relay ${D}${sysconfdir}/default/dhcp-relay - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/dhcrelay.service ${D}${systemd_unitdir}/system - sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/dhcrelay.service - sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhcrelay.service - else - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/init-relay ${D}${sysconfdir}/init.d/dhcp-relay - fi -} - -PARALLEL_MAKE = "" diff --git a/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.3p1.bb b/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.3p1.bb new file mode 100644 index 00000000000..2fd86bc28aa --- /dev/null +++ b/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.3p1.bb @@ -0,0 +1,62 @@ +SECTION = "console/network" +SUMMARY = "Internet Software Consortium DHCP Relay Agent" +DESCRIPTION = "A DHCP relay agent passes DHCP requests from one \ +LAN to another, so that a DHCP server is not needed on every LAN." + +HOMEPAGE = "http://www.isc.org/" + +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c463f4afde26d9eb60f14f50aeb85f8f" + +DEPENDS = "openssl libcap zlib" + +SRC_URI = "https://downloads.isc.org/isc/dhcp/4.4.3-P1/dhcp-4.4.3-P1.tar.gz \ + file://default-relay \ + file://init-relay \ + file://dhcrelay.service \ + file://0001-Makefile.am-only-build-dhcrelay.patch \ + file://0002-bind-Makefile.in-disable-backtrace.patch \ + file://0003-bind-Makefile.in-regenerate-configure.patch \ + " + +SRC_URI[sha256sum] = "0ac416bb55997ca8632174fd10737fd61cdb8dba2752160a335775bc21dc73c7" + +UPSTREAM_CHECK_URI = "http://ftp.isc.org/isc/dhcp/" +UPSTREAM_CHECK_REGEX = "(?P\d+\.\d+\.(\d+?))/" + +S = "${WORKDIR}/dhcp-4.4.3-P1" + +inherit autotools-brokensep systemd pkgconfig + +SYSTEMD_SERVICE:${PN} = "dhcrelay.service" +SYSTEMD_AUTO_ENABLE:${PN} = "disable" + +CFLAGS += "-D_GNU_SOURCE -fcommon" +LDFLAGS:append = " -pthread" + +EXTRA_OECONF = "--enable-paranoia \ + --disable-static \ + --enable-libtool \ + --with-randomdev=/dev/random \ + " + +# Enable shared libs per dhcp README +do_configure:prepend () { + cp configure.ac+lt configure.ac +} + +do_install:append () { + install -Dm 0644 ${WORKDIR}/default-relay ${D}${sysconfdir}/default/dhcp-relay + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/dhcrelay.service ${D}${systemd_unitdir}/system + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/dhcrelay.service + sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhcrelay.service + else + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init-relay ${D}${sysconfdir}/init.d/dhcp-relay + fi +} + +PARALLEL_MAKE = "" diff --git a/meta-networking/recipes-connectivity/dibbler/dibbler/0001-port-linux-Re-order-header-includes.patch b/meta-networking/recipes-connectivity/dibbler/dibbler/0001-port-linux-Re-order-header-includes.patch new file mode 100644 index 00000000000..27a562bf225 --- /dev/null +++ b/meta-networking/recipes-connectivity/dibbler/dibbler/0001-port-linux-Re-order-header-includes.patch @@ -0,0 +1,33 @@ +From cbb33e1548fe526c3e7dead294617bde1f087ae3 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 24 Aug 2022 16:40:38 -0700 +Subject: [PATCH] port-linux: Re-order header includes + +linux/if.h when included before net/if.h casues duplicate definitions + +Upstream-Status: Iappropriate [Upstream is Dead] +Signed-off-by: Khem Raj +--- + Port-linux/interface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Port-linux/interface.c b/Port-linux/interface.c +index 18777e91..19aefb2b 100644 +--- a/Port-linux/interface.c ++++ b/Port-linux/interface.c +@@ -25,7 +25,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -42,6 +41,7 @@ + #include + #include + #include ++#include + + int interface_auto_up = 0; + int interface_do_message = 0; diff --git a/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb b/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb index bdda35a24bc..f57767e9b8a 100644 --- a/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb +++ b/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb @@ -9,6 +9,7 @@ SRCREV = "a7c6cf58a88a510cb00841351e75030ce78d36bf" SRC_URI = "git://github.com/tomaszmrugalski/dibbler;branch=master;protocol=https \ file://dibbler_fix_getSize_crash.patch \ + file://0001-port-linux-Re-order-header-includes.patch \ " PV = "1.0.1+1.0.2RC1+git${SRCREV}" @@ -29,6 +30,7 @@ inherit autotools DEPENDS += "flex-native" +CFLAGS += "-D_GNU_SOURCE" LDFLAGS += "-pthread" PACKAGES =+ "${PN}-requestor ${PN}-client ${PN}-relay ${PN}-server" diff --git a/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b7.bb b/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b7.bb index 8648f2e0e6e..42ecf9bac41 100644 --- a/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b7.bb +++ b/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b7.bb @@ -5,11 +5,12 @@ LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=7783169b4be06b54e86730eb01bc3a31" SRC_URI = "http://sourceforge.net/projects/ez-ipupdate/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ - file://Makefile.am.patch \ - file://cache_file.c.patch \ - file://conf_file.c.patch \ - file://wformat.patch \ - " + file://Makefile.am.patch \ + file://cache_file.c.patch \ + file://conf_file.c.patch \ + file://wformat.patch \ + file://0001-ez-ipupdate-Include-time.h-for-time-API-prototype.patch \ + " SRC_URI[md5sum] = "525be4550b4461fdf105aed8e753b020" SRC_URI[sha256sum] = "a15ec0dc0b78ec7578360987c68e43a67bc8d3591cbf528a323588830ae22c20" diff --git a/meta-networking/recipes-connectivity/ez-ipupdate/files/0001-ez-ipupdate-Include-time.h-for-time-API-prototype.patch b/meta-networking/recipes-connectivity/ez-ipupdate/files/0001-ez-ipupdate-Include-time.h-for-time-API-prototype.patch new file mode 100644 index 00000000000..b2a2ebdae36 --- /dev/null +++ b/meta-networking/recipes-connectivity/ez-ipupdate/files/0001-ez-ipupdate-Include-time.h-for-time-API-prototype.patch @@ -0,0 +1,44 @@ +From 6c8fe883df993b9e7987c8f1c849962f8007a373 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 29 Aug 2022 12:50:37 -0700 +Subject: [PATCH] ez-ipupdate: Include time.h for time() API prototype + +Fix printf format specifiers for snprintf + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + ez-ipupdate.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/ez-ipupdate.c b/ez-ipupdate.c +index 15a4c13..5cbe7f3 100644 +--- a/ez-ipupdate.c ++++ b/ez-ipupdate.c +@@ -38,6 +38,8 @@ + # include + #endif + ++#include ++ + // you man very well need to edit this, don't worry though, email is only sent + // if bad things happend and it has to exit when in daemon mode. + #define SEND_EMAIL_CMD "mail" +@@ -2483,7 +2485,7 @@ int DHS_update_entry(void) + p += strlen(p); + limit = BUFFER_SIZE - 1 - strlen(buf); + +- snprintf(buf, BUFFER_SIZE, "Content-length: %d\015\012", strlen(putbuf)); ++ snprintf(buf, BUFFER_SIZE, "Content-length: %lu\015\012", strlen(putbuf)); + output(buf); + snprintf(buf, BUFFER_SIZE, "\015\012"); + output(buf); +@@ -2620,7 +2622,7 @@ int DHS_update_entry(void) + p += strlen(p); + limit = BUFFER_SIZE - 1 - strlen(buf); + +- snprintf(buf, BUFFER_SIZE, "Content-length: %d\015\012", strlen(putbuf)); ++ snprintf(buf, BUFFER_SIZE, "Content-length: %lu\015\012", strlen(putbuf)); + output(buf); + snprintf(buf, BUFFER_SIZE, "\015\012"); + output(buf); diff --git a/meta-networking/recipes-connectivity/freeradius/files/radiusd-volatiles.conf b/meta-networking/recipes-connectivity/freeradius/files/radiusd-volatiles.conf index fa629629759..f3619dddb69 100644 --- a/meta-networking/recipes-connectivity/freeradius/files/radiusd-volatiles.conf +++ b/meta-networking/recipes-connectivity/freeradius/files/radiusd-volatiles.conf @@ -1,2 +1,2 @@ d /var/log/radius 0755 radiusd radiusd - -d /var/run/radiusd 0755 radiusd radiusd - +d /run/radiusd 0755 radiusd radiusd - diff --git a/meta-networking/recipes-connectivity/freeradius/files/radiusd.service b/meta-networking/recipes-connectivity/freeradius/files/radiusd.service index 2d766488e69..7969bfb690d 100644 --- a/meta-networking/recipes-connectivity/freeradius/files/radiusd.service +++ b/meta-networking/recipes-connectivity/freeradius/files/radiusd.service @@ -4,10 +4,11 @@ After=syslog.target network.target [Service] Type=forking +EnvironmentFile=-/etc/sysconfig/radiusd PIDFile=/run/radiusd/radiusd.pid -ExecStartPre=-@BASE_BINDIR@/chown -R radiusd.radiusd /run/radiusd +ExecStartPre=-@BASE_BINDIR@/chown -R radiusd:radiusd /run/radiusd ExecStartPre=@SBINDIR@/radiusd -C -ExecStart=@SBINDIR@/radiusd -d @SYSCONFDIR@/raddb +ExecStart=@SBINDIR@/radiusd -d @SYSCONFDIR@/${MLPREFIX}raddb ExecReload=@SBINDIR@/radiusd -C ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID diff --git a/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb b/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb index 1407b798b5c..b459412e04e 100644 --- a/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb +++ b/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb @@ -199,7 +199,37 @@ pkg_postinst:${PN} () { # Fix ownership for /etc/raddb/*, /var/lib/radiusd chown -R radiusd:radiusd ${raddbdir} chown -R radiusd:radiusd ${localstatedir}/lib/radiusd + + # for radiusd.service with multilib + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${sysconfdir}/sysconfig + echo "MLPREFIX=${MLPREFIX}" > ${sysconfdir}/sysconfig/radiusd + fi + else + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d $D${sysconfdir}/sysconfig + echo "MLPREFIX=${MLPREFIX}" > $D${sysconfdir}/sysconfig/radiusd + fi + fi +} + +pkg_postrm:${PN} () { + # only try to remove ${sysconfdir}/sysconfig/radiusd for systemd + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'false', 'true', d)}; then + exit 0 + fi + + if [ -d ${sysconfdir}/raddb ]; then + exit 0 fi + for variant in ${MULTILIB_GLOBAL_VARIANTS}; do + if [ -d ${sysconfdir}/${variant}-raddb ]; then + exit 0 + fi + done + + rm -f ${sysconfdir}/sysconfig/radiusd + rmdir --ignore-fail-on-non-empty ${sysconfdir}/sysconfig } # We really need the symlink :( diff --git a/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.0.bb b/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.0.bb deleted file mode 100644 index d4a9c7bf8d5..00000000000 --- a/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.0.bb +++ /dev/null @@ -1,44 +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=3b83ef96387f14655fc854ddc3c6bd57" - -SECTION = "libs" - -S = "${WORKDIR}/git" -SRCREV = "8b3f26a5ac38d4fdccbc5c5366229f3e01dafcc0" -SRC_URI = "git://github.com/ARMmbed/mbedtls.git;protocol=https;branch=mbedtls-2.28" - -inherit cmake - -PACKAGECONFIG ??= "shared-libs programs" -PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-DUSE_SHARED_MBEDTLS_LIBRARY=OFF" -PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF" -PACKAGECONFIG[werror] = "-DMBEDTLS_FATAL_WARNINGS=ON,-DMBEDTLS_FATAL_WARNINGS=OFF" - -EXTRA_OECMAKE = "-DENABLE_TESTING=OFF -DLIB_INSTALL_DIR:STRING=${libdir}" - -PROVIDES += "polarssl" -RPROVIDES:${PN} = "polarssl" - -PACKAGES =+ "${PN}-programs" -FILES:${PN}-programs = "${bindir}/" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.1.bb b/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.1.bb new file mode 100644 index 00000000000..742414dd8ae --- /dev/null +++ b/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.1.bb @@ -0,0 +1,51 @@ +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=3b83ef96387f14655fc854ddc3c6bd57" + +SECTION = "libs" + +S = "${WORKDIR}/git" +SRCREV = "dd79db10014d85b26d11fe57218431f2e5ede6f2" +SRC_URI = "git://github.com/ARMmbed/mbedtls.git;protocol=https;branch=mbedtls-2.28" + +inherit cmake + +PACKAGECONFIG ??= "shared-libs programs" +PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-DUSE_SHARED_MBEDTLS_LIBRARY=OFF" +PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF" +PACKAGECONFIG[werror] = "-DMBEDTLS_FATAL_WARNINGS=ON,-DMBEDTLS_FATAL_WARNINGS=OFF" + +EXTRA_OECMAKE = "-DENABLE_TESTING=OFF -DLIB_INSTALL_DIR:STRING=${libdir}" + +PROVIDES += "polarssl" +RPROVIDES:${PN} = "polarssl" + +PACKAGES =+ "${PN}-programs" +FILES:${PN}-programs = "${bindir}/" + +BBCLASSEXTEND = "native nativesdk" + +CVE_PRODUCT = "mbed_tls" + +# Fix merged upstream https://github.com/Mbed-TLS/mbedtls/pull/5310 +CVE_CHECK_IGNORE += "CVE-2021-43666" +# Fix merged upstream https://github.com/Mbed-TLS/mbedtls/commit/9a4a9c66a48edfe9ece03c7e4a53310adf73a86c +CVE_CHECK_IGNORE += "CVE-2021-45451" diff --git a/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.14.bb b/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.14.bb deleted file mode 100644 index 739b7de6259..00000000000 --- a/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.14.bb +++ /dev/null @@ -1,90 +0,0 @@ -SUMMARY = "Open source MQTT implementation" -DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \ -that implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \ -5, providing both an MQTT broker and several command-line clients. MQTT \ -provides a lightweight method of carrying out messaging using a \ -publish/subscribe model. " -HOMEPAGE = "http://mosquitto.org/" -SECTION = "console/network" -LICENSE = "EPL-2.0 | EDL-1.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ca9a8f366c6babf593e374d0d7d58749 \ - file://edl-v10;md5=9f6accb1afcb570f8be65039e2fcd49e \ - file://epl-v20;md5=2dd765ca47a05140be15ebafddbeadfe \ - file://NOTICE.md;md5=a7a91b4754c6f7995020d1b49bc829c6 \ -" -DEPENDS = "uthash cjson" - -SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \ - file://mosquitto.init \ - file://1571.patch \ -" - -SRC_URI[sha256sum] = "d0dde8fdb12caf6e2426b4f28081919a2fce3448773bdb8af0d3cd5fe5776925" - -inherit systemd update-rc.d useradd cmake pkgconfig - -PACKAGECONFIG ??= "ssl dlt websockets \ - ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \ - " - -PACKAGECONFIG[manpages] = "-DDOCUMENTATION=ON,-DDOCUMENTATION=OFF,libxslt-native docbook-xsl-stylesheets-native" -PACKAGECONFIG[dns-srv] = "-DWITH_SRV=ON,-DWITH_SRV=OFF,c-ares" -PACKAGECONFIG[ssl] = "-DWITH_TLS=ON -DWITH_TLS_PSK=ON -DWITH_EC=ON,-DWITH_TLS=OFF -DWITH_TLS_PSK=OFF -DWITH_EC=OFF,openssl" -PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd" -PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,libwebsockets" -PACKAGECONFIG[dlt] = "-DWITH_DLT=ON,-DWITH_DLT=OFF,dlt-daemon" - -EXTRA_OECMAKE = " \ - -DWITH_BUNDLED_DEPS=OFF \ - -DWITH_ADNS=ON \ -" - -do_install:append() { - 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}/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 \ - ${bindir}/mosquitto_ctrl \ - ${libdir}/mosquitto_dynamic_security.so \ - ${sysconfdir}/mosquitto \ - ${sysconfdir}/init.d \ - ${systemd_unitdir}/system/mosquitto.service \ -" - -CONFFILES:${PN} += "${sysconfdir}/mosquitto/mosquitto.conf" - -FILES:libmosquitto1 = "${libdir}/libmosquitto.so.*" - -FILES:libmosquittopp1 = "${libdir}/libmosquittopp.so.*" - -FILES:${PN}-clients = "${bindir}/mosquitto_pub \ - ${bindir}/mosquitto_sub \ - ${bindir}/mosquitto_rr \ -" - -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" - -BBCLASSEXTEND += "native nativesdk" diff --git a/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.15.bb b/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.15.bb new file mode 100644 index 00000000000..d06dd2d9cae --- /dev/null +++ b/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.15.bb @@ -0,0 +1,90 @@ +SUMMARY = "Open source MQTT implementation" +DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \ +that implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \ +5, providing both an MQTT broker and several command-line clients. MQTT \ +provides a lightweight method of carrying out messaging using a \ +publish/subscribe model. " +HOMEPAGE = "http://mosquitto.org/" +SECTION = "console/network" +LICENSE = "EPL-2.0 | EDL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ca9a8f366c6babf593e374d0d7d58749 \ + file://edl-v10;md5=9f6accb1afcb570f8be65039e2fcd49e \ + file://epl-v20;md5=2dd765ca47a05140be15ebafddbeadfe \ + file://NOTICE.md;md5=a7a91b4754c6f7995020d1b49bc829c6 \ +" +DEPENDS = "uthash cjson" + +SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \ + file://mosquitto.init \ + file://1571.patch \ +" + +SRC_URI[sha256sum] = "4735b1d32e3f91c7a8896741d88a3022e89730a1ee897946decfa0df27039ac6" + +inherit systemd update-rc.d useradd cmake pkgconfig + +PACKAGECONFIG ??= "ssl dlt websockets \ + ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \ + " + +PACKAGECONFIG[manpages] = "-DDOCUMENTATION=ON,-DDOCUMENTATION=OFF,libxslt-native docbook-xsl-stylesheets-native" +PACKAGECONFIG[dns-srv] = "-DWITH_SRV=ON,-DWITH_SRV=OFF,c-ares" +PACKAGECONFIG[ssl] = "-DWITH_TLS=ON -DWITH_TLS_PSK=ON -DWITH_EC=ON,-DWITH_TLS=OFF -DWITH_TLS_PSK=OFF -DWITH_EC=OFF,openssl" +PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd" +PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,libwebsockets" +PACKAGECONFIG[dlt] = "-DWITH_DLT=ON,-DWITH_DLT=OFF,dlt-daemon" + +EXTRA_OECMAKE = " \ + -DWITH_BUNDLED_DEPS=OFF \ + -DWITH_ADNS=ON \ +" + +do_install:append() { + 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}/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 \ + ${bindir}/mosquitto_ctrl \ + ${libdir}/mosquitto_dynamic_security.so \ + ${sysconfdir}/mosquitto \ + ${sysconfdir}/init.d \ + ${systemd_unitdir}/system/mosquitto.service \ +" + +CONFFILES:${PN} += "${sysconfdir}/mosquitto/mosquitto.conf" + +FILES:libmosquitto1 = "${libdir}/libmosquitto.so.*" + +FILES:libmosquittopp1 = "${libdir}/libmosquittopp.so.*" + +FILES:${PN}-clients = "${bindir}/mosquitto_pub \ + ${bindir}/mosquitto_sub \ + ${bindir}/mosquitto_rr \ +" + +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" + +BBCLASSEXTEND += "native nativesdk" diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.10.0.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.10.0.bb new file mode 100644 index 00000000000..1fcb4353954 --- /dev/null +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.10.0.bb @@ -0,0 +1,52 @@ +SUMMARY = "NetworkManager-openvpn-plugin" +SECTION = "net/misc" + +LICENSE = "GPL-2.0-or-later" +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[sha256sum] = "5745d4107f3398a97afbb93f69239b510c9e45eb7fb62d60d9ed0a7297f4d101" + +S = "${WORKDIR}/NetworkManager-openvpn-${PV}" + +# meta-gnome in layers is required using gnome: +PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome,gtk+3 libnma libsecret" + +do_configure:append() { + # network-manager-openvpn.metainfo.xml is created in source folder but + # compile expects it in build folder. As long as nobody comes up with a + # better solution just support build: + if [ -e ${S}/appdata/network-manager-openvpn.metainfo.xml ]; then + mkdir -p ${B}/appdata + cp -f ${S}/appdata/network-manager-openvpn.metainfo.xml ${B}/appdata/ + fi +} + +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} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${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-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.18.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.18.bb deleted file mode 100644 index 1d0c38e0350..00000000000 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.18.bb +++ /dev/null @@ -1,52 +0,0 @@ -SUMMARY = "NetworkManager-openvpn-plugin" -SECTION = "net/misc" - -LICENSE = "GPL-2.0-or-later" -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[sha256sum] = "53dfb0acf64478adc728074f162f62e60bff62a605bd897eb88b267e7057927a" - -S = "${WORKDIR}/NetworkManager-openvpn-${PV}" - -# meta-gnome in layers is required using gnome: -PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome,gtk+3 libnma libsecret" - -do_configure:append() { - # network-manager-openvpn.metainfo.xml is created in source folder but - # compile expects it in build folder. As long as nobody comes up with a - # better solution just support build: - if [ -e ${S}/appdata/network-manager-openvpn.metainfo.xml ]; then - mkdir -p ${B}/appdata - cp -f ${S}/appdata/network-manager-openvpn.metainfo.xml ${B}/appdata/ - fi -} - -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} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${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-networking/recipes-connectivity/networkmanager/networkmanager/0001-do-not-ask-host-for-ifcfg-defaults.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-do-not-ask-host-for-ifcfg-defaults.patch deleted file mode 100644 index 92b129320cb..00000000000 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-do-not-ask-host-for-ifcfg-defaults.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 37559b659e22886d5f55837d4f167ba5fda73e85 Mon Sep 17 00:00:00 2001 -From: Adrian Freihofer -Date: Sun, 29 Aug 2021 15:50:35 +0200 -Subject: [PATCH] do-not-ask-host-for-ifcfg-defaults - ---- - meson.build | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/meson.build b/meson.build -index d0cec83..289aa1b 100644 ---- a/meson.build -+++ b/meson.build -@@ -304,8 +304,8 @@ else - distro = 'unknown' - endif - --enable_ifcfg_rh = get_option('ifcfg_rh') or (distro == 'redhat') --enable_ifupdown = get_option('ifupdown') or (distro == 'debian') -+enable_ifcfg_rh = get_option('ifcfg_rh') -+enable_ifupdown = get_option('ifupdown') - - config_plugins_default = get_option('config_plugins_default') - config_h.set_quoted('NM_CONFIG_DEFAULT_MAIN_PLUGINS', config_plugins_default) diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb deleted file mode 100644 index ebd25a8f8ad..00000000000 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb +++ /dev/null @@ -1,301 +0,0 @@ -SUMMARY = "NetworkManager" -HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager" -SECTION = "net/misc" - -LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ -" - -DEPENDS = " \ - coreutils-native \ - intltool-native \ - libxslt-native \ - libnl \ - udev \ - util-linux \ - libndp \ - libnewt \ - curl \ - dbus \ -" -DEPENDS:append:class-target = " bash-completion" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase gettext update-rc.d systemd gobject-introspection gtk-doc update-alternatives upstream-version-is-even - -SRC_URI = " \ - ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \ - file://${BPN}.initd \ - file://enable-dhcpcd.conf \ - file://enable-iwd.conf \ - file://0001-do-not-ask-host-for-ifcfg-defaults.patch \ -" -SRC_URI[sha256sum] = "82a4cf07ddfeb0816787b67c0f5058ae6c50d6259c0b0541a24e35156062b2ef" - -S = "${WORKDIR}/NetworkManager-${PV}" - -# ['auto', 'symlink', 'file', 'netconfig', 'resolvconf'] -NETWORKMANAGER_DNS_RC_MANAGER_DEFAULT ??= "auto" - -# ['dhcpcanon', 'dhclient', 'dhcpcd', 'internal', 'nettools'] -NETWORKMANAGER_DHCP_DEFAULT ??= "internal" - -# The default gets detected based on whether /usr/sbin/nft or /usr/sbin/iptables is installed, with nftables preferred. -# ['', 'iptables', 'nftables'] -NETWORKMANAGER_FIREWALL_DEFAULT ??= "nftables" - -EXTRA_OEMESON = "\ - -Difcfg_rh=false \ - -Dtests=yes \ - -Dnmtui=true \ - -Dudev_dir=${nonarch_base_libdir}/udev \ - -Dlibpsl=false \ - -Dqt=false \ - -Dconfig_dns_rc_manager_default=${NETWORKMANAGER_DNS_RC_MANAGER_DEFAULT} \ - -Dconfig_dhcp_default=${NETWORKMANAGER_DHCP_DEFAULT} \ - -Ddhcpcanon=false \ - -Diptables=${sbindir}/iptables \ - -Dnft=${sbindir}/nft \ -" - -# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template -# avoids: -# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'? -CFLAGS:append:libc-musl = " \ - -DRTLD_DEEPBIND=0 \ -" - -do_compile:prepend() { - export GI_TYPELIB_PATH="${B}}/src/libnm-client-impl${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}" -} - -PACKAGECONFIG ??= "readline nss ifupdown dnsmasq nmcli vala \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)} \ -" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'vala', 'vala', '', d)} - -PACKAGECONFIG[systemd] = "\ - -Dsystemdsystemunitdir=${systemd_unitdir}/system -Dsession_tracking=systemd,\ - -Dsystemdsystemunitdir=no -Dsystemd_journal=false -Dsession_tracking=no\ -" -PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false,polkit" -PACKAGECONFIG[bluez5] = "-Dbluez5_dun=true,-Dbluez5_dun=false,bluez5" -# consolekit is not picked by shlibs, so add it to RDEPENDS too -PACKAGECONFIG[consolekit] = "-Dsession_tracking_consolekit=true,-Dsession_tracking_consolekit=false,consolekit,consolekit" -PACKAGECONFIG[modemmanager] = "-Dmodem_manager=true,-Dmodem_manager=false,modemmanager mobile-broadband-provider-info" -PACKAGECONFIG[ppp] = "-Dppp=true -Dpppd=${sbindir}/pppd,-Dppp=false,ppp,ppp" -PACKAGECONFIG[dnsmasq] = "-Ddnsmasq=${bindir}/dnsmasq" -PACKAGECONFIG[nss] = "-Dcrypto=nss,,nss" -PACKAGECONFIG[resolvconf] = "-Dresolvconf=${base_sbindir}/resolvconf,-Dresolvconf=no,,resolvconf" -PACKAGECONFIG[gnutls] = "-Dcrypto=gnutls,,gnutls" -PACKAGECONFIG[crypto-null] = "-Dcrypto=null" -PACKAGECONFIG[wifi] = "-Dwext=true -Dwifi=true,-Dwext=false -Dwifi=false" -PACKAGECONFIG[iwd] = "-Diwd=true,-Diwd=false" -PACKAGECONFIG[ifupdown] = "-Difupdown=true,-Difupdown=false" -PACKAGECONFIG[cloud-setup] = "-Dnm_cloud_setup=true,-Dnm_cloud_setup=false" -PACKAGECONFIG[nmcli] = "-Dnmcli=true,-Dnmcli=false" -PACKAGECONFIG[readline] = "-Dreadline=libreadline,,readline" -PACKAGECONFIG[libedit] = "-Dreadline=libedit,,libedit" -PACKAGECONFIG[ovs] = "-Dovs=true,-Dovs=false,jansson" -PACKAGECONFIG[audit] = "-Dlibaudit=yes,-Dlibaudit=no" -PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux" -PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false" -PACKAGECONFIG[dhcpcd] = "-Ddhcpcd=yes,-Ddhcpcd=no,,dhcpcd" -PACKAGECONFIG[dhclient] = "-Ddhclient=yes,-Ddhclient=no,,dhcp" -PACKAGECONFIG[concheck] = "-Dconcheck=true,-Dconcheck=false" - - -PACKAGES =+ " \ - libnm \ - ${PN}-adsl \ - ${PN}-bluetooth \ - ${PN}-cloud-setup \ - ${PN}-nmcli \ - ${PN}-nmcli-bash-completion \ - ${PN}-nmtui \ - ${PN}-wifi \ - ${PN}-wwan \ - ${PN}-ovs \ - ${PN}-ppp \ - ${PN}-daemon \ -" - -SYSTEMD_PACKAGES = "${PN}-daemon ${PN}-cloud-setup" -INITSCRIPT_PACKAGES = "${PN}-daemon" - -NETWORKMANAGER_PLUGINDIR = "${libdir}/NetworkManager/${PV}" -NETWORKMANAGER_DISPATCHERDIR = "${nonarch_libdir}/NetworkManager/dispatcher.d" - - -SUMMARY:libnm = "Libraries for adding NetworkManager support to applications" -FILES:libnm = "\ - ${libdir}/libnm.so.* \ - ${libdir}/girepository-1.0/NM-1.0.typelib \ -" - -SUMMARY:${PN}-adsl = "ADSL device plugin for NetworkManager" -FILES:${PN}-adsl = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-adsl.so" -RDEPENDS:${PN}-adsl += "${PN}-daemon" - -SUMMARY:${PN}-bluetooth = "Bluetooth device plugin for NetworkManager" -FILES:${PN}-bluetooth = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-bluetooth.so" -RDEPENDS:${PN}-bluetooth += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG', 'bluez5', '${PN}-wwan bluez5', '', d)}" - -SUMMARY:${PN}-cloud-setup = "Automatically configure NetworkManager in cloud" -FILES:${PN}-cloud-setup = " \ - ${libexecdir}/nm-cloud-setup \ - ${systemd_system_unitdir}/nm-cloud-setup.service \ - ${systemd_system_unitdir}/nm-cloud-setup.timer \ - ${libdir}/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh \ - ${libdir}/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh \ -" -RDEPENDS:${PN}-cloud-setup += "${PN}-daemon" -ALLOW_EMPTY:${PN}-cloud-setup = "1" -SYSTEMD_SERVICE:${PN}-cloud-setup = "${@bb.utils.contains('PACKAGECONFIG', 'cloud-setup', 'nm-cloud-setup.service nm-cloud-setup.timer', '', d)}" - -SUMMARY:${PN}-nmcli = "NetworkManager command line client" -FILES:${PN}-nmcli = " \ - ${bindir}/nmcli \ -" -RDEPENDS:${PN}-nmcli += "${PN}-daemon" - -SUMMARY:${PN}-nmcli-bash-completion = "NetworkManager command line client bash completion" -FILES:${PN}-nmcli-bash-completion = "${datadir}/bash-completion/completions/nmcli" -RDEPENDS:${PN}-nmcli-bash-completion = "bash-completion" - -SUMMARY:${PN}-nmtui = "NetworkManager curses-based UI" -FILES:${PN}-nmtui = " \ - ${bindir}/nmtui \ - ${bindir}/nmtui-edit \ - ${bindir}/nmtui-connect \ - ${bindir}/nmtui-hostname \ -" -RDEPENDS:${PN}-nmtui += "${PN}-daemon" - -SUMMARY:${PN}-wifi = "Wifi plugin for NetworkManager" -FILES:${PN}-wifi = "\ - ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wifi.so \ - ${libdir}/NetworkManager/conf.d/enable-iwd.conf \ -" -def get_wifi_deps(d): - packageconfig = (d.getVar('PACKAGECONFIG') or "").split() - if 'wifi' in packageconfig: - if 'iwd' in packageconfig: - return 'iwd' - else: - return 'wpa-supplicant' - else: - return '' -RDEPENDS:${PN}-wifi += "${PN}-daemon ${@get_wifi_deps(d)}" - -SUMMARY:${PN}-wwan = "Mobile broadband device plugin for NetworkManager" -FILES:${PN}-wwan = "\ - ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wwan.so \ - ${NETWORKMANAGER_PLUGINDIR}/libnm-wwan.so \ -" -RDEPENDS:${PN}-wwan += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG','modemmanager','modemmanager','',d)}" - -SUMMARY:${PN}-ovs = "Open vSwitch device plugin for NetworkManager" -FILES:${PN}-ovs = "\ - ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-ovs.so \ - ${systemd_system_unitdir}/NetworkManager.service.d/NetworkManager-ovs.conf \ -" -RDEPENDS:${PN}-ovs += "${PN}-daemon" - -SUMMARY:${PN}-ppp = "PPP plugin for NetworkManager" -FILES:${PN}-ppp = "\ - ${NETWORKMANAGER_PLUGINDIR}/libnm-ppp-plugin.so \ - ${libdir}/pppd/*/nm-pppd-plugin.so \ -" -RDEPENDS:${PN}-ppp += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG','ppp','ppp','',d)}" - -FILES:${PN}-dev += " \ - ${libdir}/pppd/*/*.la \ - ${libdir}/NetworkManager/*.la \ - ${NETWORKMANAGER_PLUGINDIR}/*.la \ - ${datadir}/dbus-1/interfaces/*.xml \ -" - -SUMMARY:${PN}-daemon += "The NetworkManager daemon" -FILES:${PN}-daemon += " \ - ${bindir}/nm-online \ - ${datadir}/dbus-1 \ - ${datadir}/polkit-1 \ - ${libdir}/NetworkManager \ - ${libexecdir} \ - ${localstatedir}/lib/NetworkManager \ - ${NETWORKMANAGER_DISPATCHERDIR} \ - ${nonarch_base_libdir}/udev/* \ - ${nonarch_libdir}/firewalld \ - ${nonarch_libdir}/NetworkManager/conf.d \ - ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-down.d \ - ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-up.d \ - ${nonarch_libdir}/NetworkManager/dispatcher.d/no-wait.d \ - ${nonarch_libdir}/NetworkManager/system-connections \ - ${nonarch_libdir}/NetworkManager/VPN \ - ${sbindir}/NetworkManager \ - ${sysconfdir}/init.d/network-manager \ - ${sysconfdir}/NetworkManager \ - ${systemd_system_unitdir} \ -" -RRECOMMENDS:${PN}-daemon += "\ - ${NETWORKMANAGER_FIREWALL_DEFAULT} \ - ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \ -" -INITSCRIPT_NAME:${PN}-daemon = "network-manager" -SYSTEMD_SERVICE:${PN}-daemon = "\ - NetworkManager.service \ - NetworkManager-dispatcher.service \ -" -RCONFLICTS:${PN}-daemon += "connman" -ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE:${PN}-daemon = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}" -ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}" -ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}" - - -# The networkmanager package is an empty meta package which weakly depends on all the compiled features. -# Install this package to get all plugins and related dependencies installed. Alternatively just install -# plugins and related dependencies e.g. by installing networkmanager-wifi or networkmanager-wwan -# packages to the firmware. -ALLOW_EMPTY:${PN} = "1" -RRECOMMENDS:${PN} += "\ - ${@bb.utils.contains('PACKAGECONFIG','adsl','${PN}-adsl','',d)} \ - ${@bb.utils.contains('PACKAGECONFIG','bluez5','${PN}-bluetooth','',d)} \ - ${@bb.utils.contains('PACKAGECONFIG','cloud-setup','${PN}-cloud-setup','',d)} \ - ${@bb.utils.contains('PACKAGECONFIG','nmcli','${PN}-nmcli','',d)} \ - ${@bb.utils.contains('PACKAGECONFIG','nmtui','${PN}-nmtui','',d)} \ - ${@bb.utils.contains('PACKAGECONFIG','wifi','${PN}-wifi','',d)} \ - ${@bb.utils.contains('PACKAGECONFIG','wwan','${PN}-wwan','',d)} \ - ${@bb.utils.contains('PACKAGECONFIG','ovs','${PN}-ovs','',d)} \ - ${@bb.utils.contains('PACKAGECONFIG','ppp','${PN}-ppp','',d)} \ -" - -do_install:append() { - install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager - - rm -rf ${D}/run ${D}${localstatedir}/run - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - # For read-only filesystem, do not create links during bootup - ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager - - # systemd v210 and newer do not need this rule file - rm ${D}/${nonarch_base_libdir}/udev/rules.d/84-nm-drivers.rules - fi - - # Enable iwd if compiled - if ${@bb.utils.contains('PACKAGECONFIG','iwd','true','false',d)}; then - install -Dm 0644 ${WORKDIR}/enable-iwd.conf ${D}${libdir}/NetworkManager/conf.d/enable-iwd.conf - fi - - # Enable dhcpd if compiled - if ${@bb.utils.contains('PACKAGECONFIG','dhcpcd','true','false',d)}; then - install -Dm 0644 ${WORKDIR}/enable-dhcpcd.conf ${D}${libdir}/NetworkManager/conf.d/enable-dhcpcd.conf - fi -} diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.40.0.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.40.0.bb new file mode 100644 index 00000000000..10241e12a68 --- /dev/null +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.40.0.bb @@ -0,0 +1,305 @@ +SUMMARY = "NetworkManager" +HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager" +SECTION = "net/misc" + +LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ +" + +DEPENDS = " \ + coreutils-native \ + intltool-native \ + libxslt-native \ + libnl \ + udev \ + util-linux \ + libndp \ + libnewt \ + curl \ + dbus \ +" +DEPENDS:append:class-target = " bash-completion" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase gettext update-rc.d systemd gobject-introspection gtk-doc update-alternatives upstream-version-is-even + +SRC_URI = " \ + ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \ + file://${BPN}.initd \ + file://enable-dhcpcd.conf \ + file://enable-iwd.conf \ +" +SRC_URI[sha256sum] = "aee7e057bc2cca5dab84e41f15f1da8b795eb290747b04cbeee822bad9e9fc03" + +S = "${WORKDIR}/NetworkManager-${PV}" + +# ['auto', 'symlink', 'file', 'netconfig', 'resolvconf'] +NETWORKMANAGER_DNS_RC_MANAGER_DEFAULT ??= "auto" + +# ['dhcpcanon', 'dhclient', 'dhcpcd', 'internal', 'nettools'] +NETWORKMANAGER_DHCP_DEFAULT ??= "internal" + +# The default gets detected based on whether /usr/sbin/nft or /usr/sbin/iptables is installed, with nftables preferred. +# ['', 'iptables', 'nftables'] +NETWORKMANAGER_FIREWALL_DEFAULT ??= "nftables" + +EXTRA_OEMESON = "\ + -Difcfg_rh=false \ + -Dtests=yes \ + -Dnmtui=true \ + -Dudev_dir=${nonarch_base_libdir}/udev \ + -Dlibpsl=false \ + -Dqt=false \ + -Dconfig_dns_rc_manager_default=${NETWORKMANAGER_DNS_RC_MANAGER_DEFAULT} \ + -Dconfig_dhcp_default=${NETWORKMANAGER_DHCP_DEFAULT} \ + -Ddhcpcanon=false \ + -Diptables=${sbindir}/iptables \ + -Dnft=${sbindir}/nft \ +" + +# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template +# avoids: +# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'? +CFLAGS:append:libc-musl = " \ + -DRTLD_DEEPBIND=0 \ +" + +do_compile:prepend() { + export GI_TYPELIB_PATH="${B}}/src/libnm-client-impl${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}" +} + +PACKAGECONFIG ??= "readline nss ifupdown dnsmasq nmcli vala \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)} \ +" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'vala', 'vala', '', d)} + +PACKAGECONFIG[systemd] = "\ + -Dsystemdsystemunitdir=${systemd_unitdir}/system -Dsession_tracking=systemd,\ + -Dsystemdsystemunitdir=no -Dsystemd_journal=false -Dsession_tracking=no\ +" +PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false,polkit" +PACKAGECONFIG[bluez5] = "-Dbluez5_dun=true,-Dbluez5_dun=false,bluez5" +# consolekit is not picked by shlibs, so add it to RDEPENDS too +PACKAGECONFIG[consolekit] = "-Dsession_tracking_consolekit=true,-Dsession_tracking_consolekit=false,consolekit,consolekit" +PACKAGECONFIG[modemmanager] = "-Dmodem_manager=true,-Dmodem_manager=false,modemmanager mobile-broadband-provider-info" +PACKAGECONFIG[ppp] = "-Dppp=true -Dpppd=${sbindir}/pppd,-Dppp=false,ppp" +PACKAGECONFIG[dnsmasq] = "-Ddnsmasq=${bindir}/dnsmasq" +PACKAGECONFIG[nss] = "-Dcrypto=nss,,nss" +PACKAGECONFIG[resolvconf] = "-Dresolvconf=${base_sbindir}/resolvconf,-Dresolvconf=no,,resolvconf" +PACKAGECONFIG[gnutls] = "-Dcrypto=gnutls,,gnutls" +PACKAGECONFIG[crypto-null] = "-Dcrypto=null" +PACKAGECONFIG[wifi] = "-Dwext=true -Dwifi=true,-Dwext=false -Dwifi=false" +PACKAGECONFIG[iwd] = "-Diwd=true,-Diwd=false" +PACKAGECONFIG[ifupdown] = "-Difupdown=true,-Difupdown=false" +PACKAGECONFIG[cloud-setup] = "-Dnm_cloud_setup=true,-Dnm_cloud_setup=false" +PACKAGECONFIG[nmcli] = "-Dnmcli=true,-Dnmcli=false" +PACKAGECONFIG[readline] = "-Dreadline=libreadline,,readline" +PACKAGECONFIG[libedit] = "-Dreadline=libedit,,libedit" +PACKAGECONFIG[ovs] = "-Dovs=true,-Dovs=false,jansson" +PACKAGECONFIG[audit] = "-Dlibaudit=yes,-Dlibaudit=no" +PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux" +PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false" +PACKAGECONFIG[dhcpcd] = "-Ddhcpcd=yes,-Ddhcpcd=no,,dhcpcd" +PACKAGECONFIG[dhclient] = "-Ddhclient=yes,-Ddhclient=no,,dhcp" +PACKAGECONFIG[concheck] = "-Dconcheck=true,-Dconcheck=false" + + +PACKAGES =+ " \ + libnm \ + ${PN}-adsl \ + ${PN}-bluetooth \ + ${PN}-cloud-setup \ + ${PN}-nmcli \ + ${PN}-nmcli-bash-completion \ + ${PN}-nmtui \ + ${PN}-wifi \ + ${PN}-wwan \ + ${PN}-ovs \ + ${PN}-ppp \ + ${PN}-daemon \ +" + +SYSTEMD_PACKAGES = "${PN}-daemon ${PN}-cloud-setup" +INITSCRIPT_PACKAGES = "${PN}-daemon" + +NETWORKMANAGER_PLUGINDIR = "${libdir}/NetworkManager/${PV}" +NETWORKMANAGER_DISPATCHERDIR = "${nonarch_libdir}/NetworkManager/dispatcher.d" + + +SUMMARY:libnm = "Libraries for adding NetworkManager support to applications" +FILES:libnm = "\ + ${libdir}/libnm.so.* \ + ${libdir}/girepository-1.0/NM-1.0.typelib \ +" + +SUMMARY:${PN}-adsl = "ADSL device plugin for NetworkManager" +FILES:${PN}-adsl = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-adsl.so" +RDEPENDS:${PN}-adsl += "${PN}-daemon" + +SUMMARY:${PN}-bluetooth = "Bluetooth device plugin for NetworkManager" +FILES:${PN}-bluetooth = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-bluetooth.so" +RDEPENDS:${PN}-bluetooth += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG', 'bluez5', '${PN}-wwan bluez5', '', d)}" + +SUMMARY:${PN}-cloud-setup = "Automatically configure NetworkManager in cloud" +FILES:${PN}-cloud-setup = " \ + ${libexecdir}/nm-cloud-setup \ + ${systemd_system_unitdir}/nm-cloud-setup.service \ + ${systemd_system_unitdir}/nm-cloud-setup.timer \ + ${libdir}/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh \ + ${libdir}/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh \ +" +RDEPENDS:${PN}-cloud-setup += "${PN}-daemon" +ALLOW_EMPTY:${PN}-cloud-setup = "1" +SYSTEMD_SERVICE:${PN}-cloud-setup = "${@bb.utils.contains('PACKAGECONFIG', 'cloud-setup', 'nm-cloud-setup.service nm-cloud-setup.timer', '', d)}" + +SUMMARY:${PN}-nmcli = "NetworkManager command line client" +FILES:${PN}-nmcli = " \ + ${bindir}/nmcli \ +" +RDEPENDS:${PN}-nmcli += "${PN}-daemon" + +SUMMARY:${PN}-nmcli-bash-completion = "NetworkManager command line client bash completion" +FILES:${PN}-nmcli-bash-completion = "${datadir}/bash-completion/completions/nmcli" +RDEPENDS:${PN}-nmcli-bash-completion = "bash-completion" + +SUMMARY:${PN}-nmtui = "NetworkManager curses-based UI" +FILES:${PN}-nmtui = " \ + ${bindir}/nmtui \ + ${bindir}/nmtui-edit \ + ${bindir}/nmtui-connect \ + ${bindir}/nmtui-hostname \ +" +RDEPENDS:${PN}-nmtui += "${PN}-daemon" + +SUMMARY:${PN}-wifi = "Wifi plugin for NetworkManager" +FILES:${PN}-wifi = "\ + ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wifi.so \ + ${libdir}/NetworkManager/conf.d/enable-iwd.conf \ +" +def get_wifi_deps(d): + packageconfig = (d.getVar('PACKAGECONFIG') or "").split() + if 'wifi' in packageconfig: + if 'iwd' in packageconfig: + return 'iwd' + else: + return 'wpa-supplicant' + else: + return '' +RDEPENDS:${PN}-wifi += "${PN}-daemon ${@get_wifi_deps(d)}" + +SUMMARY:${PN}-wwan = "Mobile broadband device plugin for NetworkManager" +FILES:${PN}-wwan = "\ + ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wwan.so \ + ${NETWORKMANAGER_PLUGINDIR}/libnm-wwan.so \ +" +RDEPENDS:${PN}-wwan += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG','modemmanager','modemmanager','',d)}" + +SUMMARY:${PN}-ovs = "Open vSwitch device plugin for NetworkManager" +FILES:${PN}-ovs = "\ + ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-ovs.so \ + ${systemd_system_unitdir}/NetworkManager.service.d/NetworkManager-ovs.conf \ +" +RDEPENDS:${PN}-ovs += "${PN}-daemon" + +SUMMARY:${PN}-ppp = "PPP plugin for NetworkManager" +FILES:${PN}-ppp = "\ + ${NETWORKMANAGER_PLUGINDIR}/libnm-ppp-plugin.so \ + ${libdir}/pppd/*/nm-pppd-plugin.so \ +" +RDEPENDS:${PN}-ppp += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG','ppp','ppp','',d)}" + +FILES:${PN}-dev += " \ + ${libdir}/pppd/*/*.la \ + ${libdir}/NetworkManager/*.la \ + ${NETWORKMANAGER_PLUGINDIR}/*.la \ + ${datadir}/dbus-1/interfaces/*.xml \ +" + +SUMMARY:${PN}-daemon += "The NetworkManager daemon" +FILES:${PN}-daemon += " \ + ${bindir}/nm-online \ + ${datadir}/dbus-1 \ + ${datadir}/polkit-1 \ + ${libdir}/NetworkManager \ + ${libexecdir} \ + ${localstatedir}/lib/NetworkManager \ + ${NETWORKMANAGER_DISPATCHERDIR} \ + ${nonarch_base_libdir}/udev/* \ + ${nonarch_libdir}/firewalld \ + ${nonarch_libdir}/NetworkManager/conf.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d/no-wait.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-down.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-up.d \ + ${nonarch_libdir}/NetworkManager/system-connections \ + ${nonarch_libdir}/NetworkManager/VPN \ + ${sbindir}/NetworkManager \ + ${sysconfdir}/init.d/network-manager \ + ${sysconfdir}/NetworkManager \ + ${sysconfdir}/resolv-conf.NetworkManager \ + ${sysconfdir}/sysconfig/network-scripts \ + ${systemd_system_unitdir} \ +" +RDEPENDS:${PN}-daemon += "\ + ${@bb.utils.contains('PACKAGECONFIG', 'ifupdown', 'bash', '', d)} \ +" +RRECOMMENDS:${PN}-daemon += "\ + ${NETWORKMANAGER_FIREWALL_DEFAULT} \ + ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \ +" +INITSCRIPT_NAME:${PN}-daemon = "network-manager" +SYSTEMD_SERVICE:${PN}-daemon = "\ + NetworkManager.service \ + NetworkManager-dispatcher.service \ +" +RCONFLICTS:${PN}-daemon += "connman" +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE:${PN}-daemon = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}" +ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}" +ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}" + + +# The networkmanager package is an empty meta package which weakly depends on all the compiled features. +# Install this package to get all plugins and related dependencies installed. Alternatively just install +# plugins and related dependencies e.g. by installing networkmanager-wifi or networkmanager-wwan +# packages to the firmware. +ALLOW_EMPTY:${PN} = "1" +RRECOMMENDS:${PN} += "\ + ${@bb.utils.contains('PACKAGECONFIG','adsl','${PN}-adsl','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','bluez5','${PN}-bluetooth','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','cloud-setup','${PN}-cloud-setup','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','nmcli','${PN}-nmcli','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','nmtui','${PN}-nmtui','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','wifi','${PN}-wifi','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','wwan','${PN}-wwan','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','ovs','${PN}-ovs','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','ppp','${PN}-ppp','',d)} \ +" + +do_install:append() { + install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager + + rm -rf ${D}/run ${D}${localstatedir}/run + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + # For read-only filesystem, do not create links during bootup + ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager + + # systemd v210 and newer do not need this rule file + rm ${D}/${nonarch_base_libdir}/udev/rules.d/84-nm-drivers.rules + fi + + # Enable iwd if compiled + if ${@bb.utils.contains('PACKAGECONFIG','iwd','true','false',d)}; then + install -Dm 0644 ${WORKDIR}/enable-iwd.conf ${D}${libdir}/NetworkManager/conf.d/enable-iwd.conf + fi + + # Enable dhcpd if compiled + if ${@bb.utils.contains('PACKAGECONFIG','dhcpcd','true','false',d)}; then + install -Dm 0644 ${WORKDIR}/enable-dhcpcd.conf ${D}${libdir}/NetworkManager/conf.d/enable-dhcpcd.conf + fi +} diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch b/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch new file mode 100644 index 00000000000..8122e725e75 --- /dev/null +++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch @@ -0,0 +1,68 @@ +From c0546e351f6d7ab50eb1de8cef1d0d167760fccc Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Mon, 27 Aug 2018 22:50:57 +0200 +Subject: [PATCH] bn_mul.h: fix x86 PIC inline ASM compilation with GCC < 5 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes #1910 + +With ebx added to the MULADDC_STOP clobber list to fix #1550, the inline +assembly fails to build with GCC < 5 in PIC mode with the following error: + +include/mbedtls/bn_mul.h:46:13: error: PIC register clobbered by ‘ebx’ in ‘asm’ + +This is because older GCC versions treated the x86 ebx register (which is +used for the GOT) as a fixed reserved register when building as PIC. + +This is fixed by an improved register allocator in GCC 5+. From the release +notes: + +Register allocation improvements: Reuse of the PIC hard register, instead of +using a fixed register, was implemented on x86/x86-64 targets. This +improves generated PIC code performance as more hard registers can be used. + +https://www.gnu.org/software/gcc/gcc-5/changes.html + +As a workaround, detect this situation and disable the inline assembly, +similar to the MULADDC_CANNOT_USE_R7 logic. + +Upstream-Status: Backport [https://github.com/Mbed-TLS/mbedtls/commit/c0546e351f6d7ab50eb1de8cef1d0d167760fccc] +Signed-off-by: Peter Korsgaard +--- + library/bn_mul.h | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +--- a/third_party/openthread/repo/third_party/mbedtls/repo/include/mbedtls/bn_mul.h ++++ b/third_party/openthread/repo/third_party/mbedtls/repo/include/mbedtls/bn_mul.h +@@ -55,12 +55,28 @@ + ( !defined(__ARMCC_VERSION) || __ARMCC_VERSION >= 6000000 ) + + /* ++ * GCC < 5.0 treated the x86 ebx (which is used for the GOT) as a ++ * fixed reserved register when building as PIC, leading to errors ++ * like: bn_mul.h:46:13: error: PIC register clobbered by 'ebx' in 'asm' ++ * ++ * This is fixed by an improved register allocator in GCC 5+. From the ++ * release notes: ++ * Register allocation improvements: Reuse of the PIC hard register, ++ * instead of using a fixed register, was implemented on x86/x86-64 ++ * targets. This improves generated PIC code performance as more hard ++ * registers can be used. ++ */ ++#if defined(__GNUC__) && __GNUC__ < 5 && defined(__PIC__) ++#define MULADDC_CANNOT_USE_EBX ++#endif ++ ++/* + * Disable use of the i386 assembly code below if option -O0, to disable all + * compiler optimisations, is passed, detected with __OPTIMIZE__ + * This is done as the number of registers used in the assembly code doesn't + * work with the -O0 option. + */ +-#if defined(__i386__) && defined(__OPTIMIZE__) ++#if defined(__i386__) && defined(__OPTIMIZE__) && !defined(MULADDC_CANNOT_USE_EBX) + + #define MULADDC_INIT \ + asm( \ diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix/mbedtls.patch b/meta-networking/recipes-connectivity/openthread/ot-br-posix/mbedtls.patch new file mode 100644 index 00000000000..91b30464848 --- /dev/null +++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix/mbedtls.patch @@ -0,0 +1,43 @@ +mbedtls: Disable documentation warning as error with clang + +There are shortcomings with doxygen info which clang-15+ flags, dont +treat them as errors + +Remove unused variable + +Fixes +library/bignum.c:1395:29: error: variable 't' set but not used [-Werror,-Wunused-but-set-variable] + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- a/third_party/openthread/repo/third_party/mbedtls/repo/library/bignum.c ++++ b/third_party/openthread/repo/third_party/mbedtls/repo/library/bignum.c +@@ -1544,7 +1544,7 @@ __attribute__ ((noinline)) + #endif + void mpi_mul_hlp( size_t i, mbedtls_mpi_uint *s, mbedtls_mpi_uint *d, mbedtls_mpi_uint b ) + { +- mbedtls_mpi_uint c = 0, t = 0; ++ mbedtls_mpi_uint c = 0; + + #if defined(MULADDC_HUIT) + for( ; i >= 8; i -= 8 ) +@@ -1595,8 +1595,6 @@ void mpi_mul_hlp( size_t i, mbedtls_mpi_ + } + #endif /* MULADDC_HUIT */ + +- t++; +- + do { + *d += c; c = ( *d < c ); d++; + } +--- a/third_party/openthread/repo/third_party/mbedtls/repo/CMakeLists.txt ++++ b/third_party/openthread/repo/third_party/mbedtls/repo/CMakeLists.txt +@@ -192,7 +192,7 @@ if(CMAKE_COMPILER_IS_GNU) + endif(CMAKE_COMPILER_IS_GNU) + + if(CMAKE_COMPILER_IS_CLANG) +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wno-error=documentation") + set(CMAKE_C_FLAGS_RELEASE "-O2") + set(CMAKE_C_FLAGS_DEBUG "-O0 -g3") + set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage") diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix/unused_var.patch b/meta-networking/recipes-connectivity/openthread/ot-br-posix/unused_var.patch new file mode 100644 index 00000000000..9727cbafd8f --- /dev/null +++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix/unused_var.patch @@ -0,0 +1,10 @@ +--- a/third_party/openthread/repo/src/cli/cli.cpp ++++ b/third_party/openthread/repo/src/cli/cli.cpp +@@ -1785,6 +1785,7 @@ template <> otError Interpreter::Process + + for (uint8_t i = 0;; i++) + { ++ OT_UNUSED_VARIABLE(i); + SuccessOrExit(otThreadGetNextCacheEntry(GetInstancePtr(), &entry, &iterator)); + OutputEidCacheEntry(entry); + } diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb b/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb index a16b77849ed..720228dc143 100644 --- a/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb +++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb @@ -17,14 +17,18 @@ PV = "0.3.0+git${SRCPV}" SRC_URI = "gitsm://github.com/openthread/ot-br-posix.git;protocol=https;branch=main \ file://0001-otbr-agent.service.in-remove-pre-exec-hook-for-mdns-.patch \ file://0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch \ + file://0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch \ + file://mbedtls.patch \ + file://unused_var.patch \ " S = "${WORKDIR}/git" SYSTEMD_SERVICE:${PN} = "otbr-agent.service" inherit pkgconfig cmake systemd - -CXXFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare" +# openthread/repo/src/cli/cli.cpp:1786:18: fatal error: variable 'i' set but not used [-Wunused-but-set-variable] +# for (uint8_t i = 0;; i++) +CXXFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare -Wno-error=unused-but-set-variable" EXTRA_OECMAKE = "-DBUILD_TESTING=OFF \ -DOTBR_DBUS=ON \ @@ -53,7 +57,7 @@ EXTRA_OECMAKE = "-DBUILD_TESTING=OFF \ -DOT_DHCP6_SERVER=ON \ " -RDEPENDS:${PN} = "iproute2 avahi-daemon" +RDEPENDS:${PN} = "iproute2 ipset avahi-daemon" RCONFLICTS:${PN} = "ot-daemon" diff --git a/meta-networking/recipes-connectivity/openthread/ot-daemon/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch b/meta-networking/recipes-connectivity/openthread/ot-daemon/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch new file mode 100644 index 00000000000..c9edb0098b3 --- /dev/null +++ b/meta-networking/recipes-connectivity/openthread/ot-daemon/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch @@ -0,0 +1,68 @@ +From c0546e351f6d7ab50eb1de8cef1d0d167760fccc Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Mon, 27 Aug 2018 22:50:57 +0200 +Subject: [PATCH] bn_mul.h: fix x86 PIC inline ASM compilation with GCC < 5 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes #1910 + +With ebx added to the MULADDC_STOP clobber list to fix #1550, the inline +assembly fails to build with GCC < 5 in PIC mode with the following error: + +include/mbedtls/bn_mul.h:46:13: error: PIC register clobbered by ‘ebx’ in ‘asm’ + +This is because older GCC versions treated the x86 ebx register (which is +used for the GOT) as a fixed reserved register when building as PIC. + +This is fixed by an improved register allocator in GCC 5+. From the release +notes: + +Register allocation improvements: Reuse of the PIC hard register, instead of +using a fixed register, was implemented on x86/x86-64 targets. This +improves generated PIC code performance as more hard registers can be used. + +https://www.gnu.org/software/gcc/gcc-5/changes.html + +As a workaround, detect this situation and disable the inline assembly, +similar to the MULADDC_CANNOT_USE_R7 logic. + +Upstream-Status: Backport [https://github.com/Mbed-TLS/mbedtls/commit/c0546e351f6d7ab50eb1de8cef1d0d167760fccc] +Signed-off-by: Peter Korsgaard +--- + library/bn_mul.h | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +--- a/third_party/mbedtls/repo/include/mbedtls/bn_mul.h ++++ b/third_party/mbedtls/repo/include/mbedtls/bn_mul.h +@@ -55,12 +55,28 @@ + ( !defined(__ARMCC_VERSION) || __ARMCC_VERSION >= 6000000 ) + + /* ++ * GCC < 5.0 treated the x86 ebx (which is used for the GOT) as a ++ * fixed reserved register when building as PIC, leading to errors ++ * like: bn_mul.h:46:13: error: PIC register clobbered by 'ebx' in 'asm' ++ * ++ * This is fixed by an improved register allocator in GCC 5+. From the ++ * release notes: ++ * Register allocation improvements: Reuse of the PIC hard register, ++ * instead of using a fixed register, was implemented on x86/x86-64 ++ * targets. This improves generated PIC code performance as more hard ++ * registers can be used. ++ */ ++#if defined(__GNUC__) && __GNUC__ < 5 && defined(__PIC__) ++#define MULADDC_CANNOT_USE_EBX ++#endif ++ ++/* + * Disable use of the i386 assembly code below if option -O0, to disable all + * compiler optimisations, is passed, detected with __OPTIMIZE__ + * This is done as the number of registers used in the assembly code doesn't + * work with the -O0 option. + */ +-#if defined(__i386__) && defined(__OPTIMIZE__) ++#if defined(__i386__) && defined(__OPTIMIZE__) && !defined(MULADDC_CANNOT_USE_EBX) + + #define MULADDC_INIT \ + asm( \ diff --git a/meta-networking/recipes-connectivity/openthread/ot-daemon/mbedtls.patch b/meta-networking/recipes-connectivity/openthread/ot-daemon/mbedtls.patch new file mode 100644 index 00000000000..be26a20dad9 --- /dev/null +++ b/meta-networking/recipes-connectivity/openthread/ot-daemon/mbedtls.patch @@ -0,0 +1,43 @@ +mbedtls: Disable documentation warning as error with clang + +There are shortcomings with doxygen info which clang-15+ flags, dont +treat them as errors + +Remove unused variable + +Fixes +library/bignum.c:1395:29: error: variable 't' set but not used [-Werror,-Wunused-but-set-variable] + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- a/third_party/mbedtls/repo/library/bignum.c ++++ b/third_party/mbedtls/repo/library/bignum.c +@@ -1544,7 +1544,7 @@ __attribute__ ((noinline)) + #endif + void mpi_mul_hlp( size_t i, mbedtls_mpi_uint *s, mbedtls_mpi_uint *d, mbedtls_mpi_uint b ) + { +- mbedtls_mpi_uint c = 0, t = 0; ++ mbedtls_mpi_uint c = 0; + + #if defined(MULADDC_HUIT) + for( ; i >= 8; i -= 8 ) +@@ -1595,8 +1595,6 @@ void mpi_mul_hlp( size_t i, mbedtls_mpi_ + } + #endif /* MULADDC_HUIT */ + +- t++; +- + do { + *d += c; c = ( *d < c ); d++; + } +--- a/third_party/mbedtls/repo/CMakeLists.txt ++++ b/third_party/mbedtls/repo/CMakeLists.txt +@@ -192,7 +192,7 @@ if(CMAKE_COMPILER_IS_GNU) + endif(CMAKE_COMPILER_IS_GNU) + + if(CMAKE_COMPILER_IS_CLANG) +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wno-error=documentation") + set(CMAKE_C_FLAGS_RELEASE "-O2") + set(CMAKE_C_FLAGS_DEBUG "-O0 -g3") + set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage") diff --git a/meta-networking/recipes-connectivity/openthread/ot-daemon_git.bb b/meta-networking/recipes-connectivity/openthread/ot-daemon_git.bb index f3f4c70fa27..18703d6c4d8 100644 --- a/meta-networking/recipes-connectivity/openthread/ot-daemon_git.bb +++ b/meta-networking/recipes-connectivity/openthread/ot-daemon_git.bb @@ -12,6 +12,8 @@ SRCREV = "7dfde1f12923f03c9680be4d838b94b7a2320324" PV = "0.1+git${SRCPV}" SRC_URI = "git://github.com/openthread/openthread.git;protocol=https;branch=main \ + file://0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch \ + file://mbedtls.patch \ " S = "${WORKDIR}/git" diff --git a/meta-networking/recipes-connectivity/samba/samba/0001-Deleted-settiong-of-python-to-fix-the-install-confli.patch b/meta-networking/recipes-connectivity/samba/samba/0001-Deleted-settiong-of-python-to-fix-the-install-confli.patch new file mode 100644 index 00000000000..6e4cdf12d62 --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba/0001-Deleted-settiong-of-python-to-fix-the-install-confli.patch @@ -0,0 +1,122 @@ +From f8e1d71e702dfc6965ecb3109738b5d188af4267 Mon Sep 17 00:00:00 2001 +From: Lei Maohui +Date: Sun, 30 Oct 2022 11:59:31 +0900 +Subject: [PATCH] Deleted settiong of python to fix the install conflict error + when enable multilib. + + file /usr/bin/samba-tool conflicts between attempted installs of samba-4.14.14-r0.core2_64 and lib32-samba-4.14.14-r0.i686 + file /usr/sbin/samba-gpupdate conflicts between attempted installs of samba-4.14.14-r0.core2_64 and lib32-samba-4.14.14-r0.i686 + file /usr/sbin/samba_dnsupdate conflicts between attempted installs of samba-4.14.14-r0.core2_64 and lib32-samba-4.14.14-r0.i686 + file /usr/sbin/samba_downgrade_db conflicts between attempted installs of samba-4.14.14-r0.core2_64 and lib32-samba-4.14.14-r0.i686 + file /usr/sbin/samba_kcc conflicts between attempted installs of samba-4.14.14-r0.core2_64 and lib32-samba-4.14.14-r0.i686 + file /usr/sbin/samba_spnupdate conflicts between attempted installs of samba-4.14.14-r0.core2_64 and lib32-samba-4.14.14-r0.i686 + file /usr/sbin/samba_upgradedns conflicts between attempted installs of samba-4.14.14-r0.core2_64 and lib32-samba-4.14.14-r0.i686 + +The conflict is because there is a difference between of lib32-samba-* and samba-* as the following: +64bit: +sys.path.insert(0, "/usr/lib64/python3.10/site-packages") + +32bit: +sys.path.insert(0, "/usr/lib/python3.10/site-packages") + +But this setting is for environment when running from source tree. There +is no necessary on target. + +Upstream-Status: Inappropriate +Signed-off-by: Lei Maohui +--- + source4/scripting/bin/samba-gpupdate | 1 - + source4/scripting/bin/samba-tool | 1 - + source4/scripting/bin/samba_dnsupdate | 1 - + source4/scripting/bin/samba_downgrade_db | 1 - + source4/scripting/bin/samba_kcc | 1 - + source4/scripting/bin/samba_spnupdate | 1 - + source4/scripting/bin/samba_upgradedns | 1 - + 7 files changed, 7 deletions(-) + +diff --git a/source4/scripting/bin/samba-gpupdate b/source4/scripting/bin/samba-gpupdate +index 85300e1..02f40cd 100755 +--- a/source4/scripting/bin/samba-gpupdate ++++ b/source4/scripting/bin/samba-gpupdate +@@ -25,7 +25,6 @@ applied, have changed, or is in the right container''' + import os + import sys + +-sys.path.insert(0, "bin/python") + + import optparse + from samba import getopt as options +diff --git a/source4/scripting/bin/samba-tool b/source4/scripting/bin/samba-tool +index f8a70a6..3c818de 100755 +--- a/source4/scripting/bin/samba-tool ++++ b/source4/scripting/bin/samba-tool +@@ -22,7 +22,6 @@ + import sys + + # Find right direction when running from source tree +-sys.path.insert(0, "bin/python") + + # make sure the script dies immediately when hitting control-C, + # rather than raising KeyboardInterrupt. As we do all database +diff --git a/source4/scripting/bin/samba_dnsupdate b/source4/scripting/bin/samba_dnsupdate +index 518bb89..277f0ee 100755 +--- a/source4/scripting/bin/samba_dnsupdate ++++ b/source4/scripting/bin/samba_dnsupdate +@@ -36,7 +36,6 @@ os.environ['PYTHONUNBUFFERED'] = '1' + os.environ["TZ"] = "GMT" + + # Find right directory when running from source tree +-sys.path.insert(0, "bin/python") + + import samba + import optparse +diff --git a/source4/scripting/bin/samba_downgrade_db b/source4/scripting/bin/samba_downgrade_db +index 87a989b..93a7f8c 100755 +--- a/source4/scripting/bin/samba_downgrade_db ++++ b/source4/scripting/bin/samba_downgrade_db +@@ -24,7 +24,6 @@ import optparse + import sys + + # Find right directory when running from source tree +-sys.path.insert(0, "bin/python") + + + import samba +diff --git a/source4/scripting/bin/samba_kcc b/source4/scripting/bin/samba_kcc +index 122a5ed..79165f3 100755 +--- a/source4/scripting/bin/samba_kcc ++++ b/source4/scripting/bin/samba_kcc +@@ -37,7 +37,6 @@ os.environ['PYTHONUNBUFFERED'] = '1' + os.environ["TZ"] = "GMT" + + # Find right directory when running from source tree +-sys.path.insert(0, "bin/python") + + import optparse + import time +diff --git a/source4/scripting/bin/samba_spnupdate b/source4/scripting/bin/samba_spnupdate +index 84ff771..b6fe041 100755 +--- a/source4/scripting/bin/samba_spnupdate ++++ b/source4/scripting/bin/samba_spnupdate +@@ -32,7 +32,6 @@ os.environ['PYTHONUNBUFFERED'] = '1' + os.environ["TZ"] = "GMT" + + # Find right directory when running from source tree +-sys.path.insert(0, "bin/python") + + import samba, ldb + import optparse +diff --git a/source4/scripting/bin/samba_upgradedns b/source4/scripting/bin/samba_upgradedns +index 308dbb0..d00244f 100755 +--- a/source4/scripting/bin/samba_upgradedns ++++ b/source4/scripting/bin/samba_upgradedns +@@ -27,7 +27,6 @@ import grp + from base64 import b64encode + import shlex + +-sys.path.insert(0, "bin/python") + + import ldb + import samba +-- +2.25.1 diff --git a/meta-networking/recipes-connectivity/samba/samba/0001-smbtorture-skip-test-case-tfork_cmd_send.patch b/meta-networking/recipes-connectivity/samba/samba/0001-smbtorture-skip-test-case-tfork_cmd_send.patch new file mode 100644 index 00000000000..90ee317860f --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba/0001-smbtorture-skip-test-case-tfork_cmd_send.patch @@ -0,0 +1,38 @@ +From 059b517f9ef6cbdc696e0983ce255b1728042827 Mon Sep 17 00:00:00 2001 +From: Yi Zhao +Date: Thu, 25 Aug 2022 16:46:04 +0800 +Subject: [PATCH] smbtorture: skip test case tfork_cmd_send + +The test case tfork_cmd_send fails on target as it requires a script +located in the source directory: + +$ smbtorture ncalrpc:localhost local.tfork.tfork_cmd_send +test: tfork_cmd_send +/buildarea/build/tmp/work/core2-64-poky-linux/samba/4.14.14-r0/samba-4.14.14/testprogs/blackbox/tfork.sh: +Failed to exec child - No such file or directory + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Yi Zhao +--- + lib/util/tests/tfork.c | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/lib/util/tests/tfork.c b/lib/util/tests/tfork.c +index 70ae975..4826ce6 100644 +--- a/lib/util/tests/tfork.c ++++ b/lib/util/tests/tfork.c +@@ -839,10 +839,6 @@ struct torture_suite *torture_local_tfork(TALLOC_CTX *mem_ctx) + "tfork_threads", + test_tfork_threads); + +- torture_suite_add_simple_test(suite, +- "tfork_cmd_send", +- test_tfork_cmd_send); +- + torture_suite_add_simple_test(suite, + "tfork_event_file_handle", + test_tfork_event_file_handle); +-- +2.25.1 + diff --git a/meta-networking/recipes-connectivity/samba/samba/0001-waf-Fix-errors-with-Werror-implicit-function-declara.patch b/meta-networking/recipes-connectivity/samba/samba/0001-waf-Fix-errors-with-Werror-implicit-function-declara.patch new file mode 100644 index 00000000000..4a89f76782f --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba/0001-waf-Fix-errors-with-Werror-implicit-function-declara.patch @@ -0,0 +1,32 @@ +From 28ec4c9323e67cd114a0465015c9f3c2e64e6829 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 27 Aug 2022 13:05:26 -0700 +Subject: [PATCH] waf: Fix errors with Werror=implicit-function-declaration + turned on + +Clang-15 turns this option into errors by default, and it results in +rpath check failures + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + buildtools/wafsamba/samba_waf18.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/buildtools/wafsamba/samba_waf18.py b/buildtools/wafsamba/samba_waf18.py +index 7a0a08e..c0d2c3e 100644 +--- a/buildtools/wafsamba/samba_waf18.py ++++ b/buildtools/wafsamba/samba_waf18.py +@@ -209,7 +209,7 @@ def CHECK_LIBRARY_SUPPORT(conf, rpath=False, version_script=False, msg=None): + lib_node.parent.mkdir() + lib_node.write('int lib_func(void) { return 42; }\n', 'w') + main_node = bld.srcnode.make_node('main.c') +- main_node.write('int main(void) {return !(lib_func() == 42);}', 'w') ++ main_node.write('int lib_func(void); int main(void) {return !(lib_func() == 42);}', 'w') + linkflags = [] + if version_script: + script = bld.srcnode.make_node('ldscript') +-- +2.37.2 + diff --git a/meta-networking/recipes-connectivity/samba/samba_4.14.13.bb b/meta-networking/recipes-connectivity/samba/samba_4.14.13.bb deleted file mode 100644 index 49e93fc5363..00000000000 --- a/meta-networking/recipes-connectivity/samba/samba_4.14.13.bb +++ /dev/null @@ -1,347 +0,0 @@ -HOMEPAGE = "https://www.samba.org/" -SECTION = "console/network" - -LICENSE = "GPL-3.0-or-later & LGPL-3.0-or-later & GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://${COREBASE}/meta/files/common-licenses/LGPL-3.0-or-later;md5=c51d3eef3be114124d11349ca0d7e117 \ - file://${COREBASE}/meta/files/common-licenses/GPL-2.0-or-later;md5=fed54355545ffd980b814dab4a3b312c" - -SAMBA_MIRROR = "http://samba.org/samba/ftp" -MIRRORS += "\ -${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \ -${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \ -" - -SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ - file://smb.conf \ - file://volatiles.03_samba \ - file://0001-Don-t-check-xsltproc-manpages.patch \ - file://0002-do-not-import-target-module-while-cross-compile.patch \ - file://0003-Add-config-option-without-valgrind.patch \ - file://0004-Add-options-to-configure-the-use-of-libbsd.patch \ - file://0005-samba-build-dnsserver_common-code.patch \ - file://0001-Fix-pyext_PATTERN-for-cross-compilation.patch \ - " - -SRC_URI:append:libc-musl = " \ - file://netdb_defines.patch \ - file://samba-pam.patch \ - file://samba-4.3.9-remove-getpwent_r.patch \ - file://cmocka-uintptr_t.patch \ - file://samba-fix-musl-lib-without-innetgr.patch \ - " - -SRC_URI[sha256sum] = "e1df792818a17d8d21faf33580d32939214694c92b84fb499464210d86a7ff75" - -UPSTREAM_CHECK_REGEX = "samba\-(?P4\.14(\.\d+)+).tar.gz" - -inherit systemd waf-samba cpan-base perlnative update-rc.d perl-version pkgconfig - -# CVE-2011-2411 is valnerble only on HP NonStop Servers. -CVE_CHECK_IGNORE += "CVE-2011-2411" - -# remove default added RDEPENDS on perl -RDEPENDS:${PN}:remove = "perl" - -DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libaio libpam libtasn1 jansson libparse-yapp-perl-native gnutls" - -inherit features_check -REQUIRED_DISTRO_FEATURES = "pam" - -DEPENDS:append:libc-musl = " libtirpc" -CFLAGS:append:libc-musl = " -I${STAGING_INCDIR}/tirpc" -LDFLAGS:append:libc-musl = " -ltirpc" - -COMPATIBLE_HOST:riscv32 = "null" - -INITSCRIPT_NAME = "samba" -INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." - -SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind" -SYSTEMD_SERVICE:${PN}-base = "nmb.service smb.service" -SYSTEMD_SERVICE:${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}" -SYSTEMD_SERVICE:winbind = "winbind.service" - -# There are prerequisite settings to enable ad-dc, so disable the service by default. -# Reference: -# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller -SYSTEMD_AUTO_ENABLE:${PN}-ad-dc = "disable" - -#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen -#to cross Popen -export WAF_NO_PREFORK="yes" - -# Use krb5. Build active domain controller. -# -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \ - acl cups ad-dc ldap mitkrb5 \ -" - -RDEPENDS:${PN}-ctdb-tests += "bash util-linux-getopt" - -PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl" -PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin" -PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups" -PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" -PACKAGECONFIG[sasl] = ",,cyrus-sasl" -PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd" -PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi" -PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi" -PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind," -PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust" -PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive" -PACKAGECONFIG[libunwind] = ", , libunwind" -PACKAGECONFIG[gpgme] = ",--without-gpgme,," -PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb," -PACKAGECONFIG[libbsd] = "--with-libbsd, --without-libbsd, libbsd" -PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,python3-markdown python3-dnspython," -PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5," - -SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2" -SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4" -SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4" -SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}" - -# These libraries are supposed to replace others supplied by packages, but decorate the names of -# .so files so there will not be a conflict. This is not done consistantly, so be very careful -# when adding to this list. -# -SAMBA4_LIBS="heimdal,cmocka,NONE" - -EXTRA_OECONF += "--enable-fhs \ - --with-piddir=/run \ - --with-sockets-dir=/run/samba \ - --with-modulesdir=${libdir}/samba \ - --with-lockdir=${localstatedir}/lib/samba \ - --with-cachedir=${localstatedir}/lib/samba \ - --disable-rpath-install \ - --with-shared-modules=${SAMBA4_MODULES} \ - --bundled-libraries=${SAMBA4_LIBS} \ - ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \ - --with-cluster-support \ - --with-profiling-data \ - --with-libiconv=${STAGING_DIR_HOST}${prefix} \ - --with-pam --with-pammodulesdir=${base_libdir}/security \ - " - -LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" - -do_configure:append () { - cd ${S}/pidl/ - perl Makefile.PL PREFIX=${prefix} - sed -e 's,VENDORPREFIX)/lib/perl,VENDORPREFIX)/${baselib}/perl,g' \ - -e 's,PERLPREFIX)/lib/perl,PERLPREFIX)/${baselib}/perl,g' -i Makefile - -} - -do_compile:append () { - oe_runmake -C ${S}/pidl -} - -do_install:append() { - for section in 1 5 7; do - install -d ${D}${mandir}/man$section - install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section - done - for section in 1 5 7 8; do - install -d ${D}${mandir}/man$section - install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section - done - - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/ - sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \ - -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \ - -i ${D}${systemd_system_unitdir}/*.service - - if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then - rm -f ${D}${systemd_system_unitdir}/samba.service - fi - - install -d ${D}${sysconfdir}/tmpfiles.d - install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf - echo "d ${localstatedir}/log/samba 0755 root root -" \ - >> ${D}${sysconfdir}/tmpfiles.d/samba.conf - install -d ${D}${sysconfdir}/init.d - install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba - sed -e 's,/opt/samba/bin,${sbindir},g' \ - -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \ - -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \ - -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \ - -e 's,/usr/bin,${base_bindir},g' \ - -i ${D}${sysconfdir}/init.d/samba - - install -d ${D}${sysconfdir}/samba - echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts - install -m644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf - install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba - - install -d ${D}${sysconfdir}/default - install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba - - # the items are from ctdb/tests/run_tests.sh - for d in cunit eventd eventscripts onnode shellcheck takeover takeover_helper tool; do - testdir=${D}${datadir}/ctdb-tests/UNIT/$d - install -d $testdir - cp ${S}/ctdb/tests/UNIT/$d/*.sh $testdir - cp -r ${S}/ctdb/tests/UNIT/$d/scripts ${S}/ctdb/tests/UNIT/$d/stubs $testdir || true - done - - # fix file-rdeps qa warning - if [ -f ${D}${bindir}/onnode ]; then - sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode - fi - - chmod 0750 ${D}${sysconfdir}/sudoers.d || true - rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log - - for f in samba-gpupdate samba_upgradedns samba_spnupdate samba_kcc samba_dnsupdate samba_downgrade_db; do - if [ -f "${D}${sbindir}/$f" ]; then - sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${sbindir}/$f - fi - done - if [ -f "${D}${bindir}/samba-tool" ]; then - sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${bindir}/samba-tool - fi - - oe_runmake -C ${S}/pidl DESTDIR=${D} install_vendor - find ${D}${libdir}/ -type f -name "perllocal.pod" | xargs rm -f - rm -rf ${D}${libdir}/perl5/vendor_perl/${PERLVERSION}/${BUILD_SYS}/auto/Parse/Pidl/.packlist - sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${bindir}/pidl -} - -PACKAGES =+ "${PN}-python3 ${PN}-pidl \ - ${PN}-dsdb-modules ${PN}-testsuite registry-tools \ - winbind \ - ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \ - smbclient ${PN}-client ${PN}-server ${PN}-test" - -python samba_populate_packages() { - def module_hook(file, pkg, pattern, format, basename): - pn = d.getVar('PN') - d.appendVar('RRECOMMENDS:%s-base' % pn, ' %s' % pkg) - - mlprefix = d.getVar('MLPREFIX') or '' - pam_libdir = d.expand('${base_libdir}/security') - pam_pkgname = mlprefix + 'pam-plugin%s' - do_split_packages(d, pam_libdir, r'^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True) - - libdir = d.getVar('libdir') - do_split_packages(d, libdir, r'^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True) - pkglibdir = '%s/samba' % libdir - do_split_packages(d, pkglibdir, r'^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True) - moduledir = '%s/samba/auth' % libdir - do_split_packages(d, moduledir, r'^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True) - moduledir = '%s/samba/pdb' % libdir - do_split_packages(d, moduledir, r'^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True) -} - -PACKAGESPLITFUNCS:prepend = "samba_populate_packages " -PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*" - -RDEPENDS:${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3" -RDEPENDS:${PN}-python3 += "pytalloc python3-tdb pyldb" - -FILES:${PN}-base = "${sbindir}/nmbd \ - ${sbindir}/smbd \ - ${sysconfdir}/init.d \ - ${systemd_system_unitdir}/nmb.service \ - ${systemd_system_unitdir}/smb.service" - -FILES:${PN}-ad-dc = "${sbindir}/samba \ - ${systemd_system_unitdir}/samba.service \ - ${libdir}/krb5/plugins/kdb/samba.so \ -" -RDEPENDS:${PN}-ad-dc = "krb5-kdc" - -FILES:${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \ - ${bindir}/ctdb_run_cluster_tests \ - ${sysconfdir}/ctdb/nodes \ - ${datadir}/ctdb-tests \ - ${datadir}/ctdb/tests \ - ${localstatedir}/lib/ctdb \ - " - -FILES:${BPN}-common = "${sysconfdir}/default \ - ${sysconfdir}/samba \ - ${sysconfdir}/tmpfiles.d \ - ${localstatedir}/lib/samba \ - ${localstatedir}/spool/samba \ -" - -FILES:${PN} += "${libdir}/vfs/*.so \ - ${libdir}/charset/*.so \ - ${libdir}/*.dat \ - ${libdir}/auth/*.so \ - ${datadir}/ctdb/events/* \ -" - -FILES:${PN}-dsdb-modules = "${libdir}/samba/ldb" - -FILES:${PN}-testsuite = "${bindir}/gentest \ - ${bindir}/locktest \ - ${bindir}/masktest \ - ${bindir}/ndrdump \ - ${bindir}/smbtorture" - -FILES:registry-tools = "${bindir}/regdiff \ - ${bindir}/regpatch \ - ${bindir}/regshell \ - ${bindir}/regtree" - -FILES:winbind = "${sbindir}/winbindd \ - ${bindir}/wbinfo \ - ${bindir}/ntlm_auth \ - ${libdir}/samba/idmap \ - ${libdir}/samba/nss_info \ - ${libdir}/winbind_krb5_locator.so \ - ${libdir}/winbind-krb5-localauth.so \ - ${sysconfdir}/init.d/winbind \ - ${systemd_system_unitdir}/winbind.service" - -FILES:${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}" - -FILES:smbclient = "${bindir}/cifsdd \ - ${bindir}/rpcclient \ - ${bindir}/smbcacls \ - ${bindir}/smbclient \ - ${bindir}/smbcquotas \ - ${bindir}/smbget \ - ${bindir}/smbspool \ - ${bindir}/smbtar \ - ${bindir}/smbtree \ - ${libdir}/samba/smbspool_krb5_wrapper" - -RDEPENDS:${PN}-pidl:append = " perl libparse-yapp-perl" -FILES:${PN}-pidl = "${bindir}/pidl \ - ${libdir}/perl5 \ - " - -RDEPENDS:${PN}-client = "\ - smbclient \ - winbind \ - registry-tools \ - ${PN}-pidl \ - " - -ALLOW_EMPTY:${PN}-client = "1" - -RDEPENDS:${PN}-server = "\ - ${PN} \ - winbind \ - registry-tools \ - " - -ALLOW_EMPTY:${PN}-server = "1" - -RDEPENDS:${PN}-test = "\ - ${PN}-ctdb-tests \ - ${PN}-testsuite \ - " - -ALLOW_EMPTY:${PN}-test = "1" - -# Patch for CVE-2018-1050 is applied in version 4.5.15, 4.6.13, 4.7.5. -# Patch for CVE-2018-1057 is applied in version 4.3.13, 4.4.16. -CVE_CHECK_IGNORE += "CVE-2018-1050" -CVE_CHECK_IGNORE += "CVE-2018-1057" diff --git a/meta-networking/recipes-connectivity/samba/samba_4.14.14.bb b/meta-networking/recipes-connectivity/samba/samba_4.14.14.bb new file mode 100644 index 00000000000..9d7259e96f4 --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba_4.14.14.bb @@ -0,0 +1,352 @@ +HOMEPAGE = "https://www.samba.org/" +SECTION = "console/network" + +LICENSE = "GPL-3.0-or-later & LGPL-3.0-or-later & GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://${COREBASE}/meta/files/common-licenses/LGPL-3.0-or-later;md5=c51d3eef3be114124d11349ca0d7e117 \ + file://${COREBASE}/meta/files/common-licenses/GPL-2.0-or-later;md5=fed54355545ffd980b814dab4a3b312c" + +SAMBA_MIRROR = "http://samba.org/samba/ftp" +MIRRORS += "\ +${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \ +${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \ +" + +SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ + file://smb.conf \ + file://volatiles.03_samba \ + file://0001-Don-t-check-xsltproc-manpages.patch \ + file://0002-do-not-import-target-module-while-cross-compile.patch \ + file://0003-Add-config-option-without-valgrind.patch \ + file://0004-Add-options-to-configure-the-use-of-libbsd.patch \ + file://0005-samba-build-dnsserver_common-code.patch \ + file://0001-Fix-pyext_PATTERN-for-cross-compilation.patch \ + file://0001-smbtorture-skip-test-case-tfork_cmd_send.patch \ + file://0001-waf-Fix-errors-with-Werror-implicit-function-declara.patch \ + file://0001-Deleted-settiong-of-python-to-fix-the-install-confli.patch \ + " + +SRC_URI:append:libc-musl = " \ + file://netdb_defines.patch \ + file://samba-pam.patch \ + file://samba-4.3.9-remove-getpwent_r.patch \ + file://cmocka-uintptr_t.patch \ + file://samba-fix-musl-lib-without-innetgr.patch \ + " + +SRC_URI[sha256sum] = "abd5e9e6aa45e55114b188ba189ebdfc8fd3d7718d43f749e477ce7f791e5519" + +UPSTREAM_CHECK_REGEX = "samba\-(?P4\.14(\.\d+)+).tar.gz" + +inherit systemd waf-samba cpan-base perlnative update-rc.d perl-version pkgconfig + +# CVE-2011-2411 is valnerble only on HP NonStop Servers. +CVE_CHECK_IGNORE += "CVE-2011-2411" + +# remove default added RDEPENDS on perl +RDEPENDS:${PN}:remove = "perl" + +DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libaio libpam libtasn1 jansson libparse-yapp-perl-native gnutls" + +inherit features_check +REQUIRED_DISTRO_FEATURES = "pam" + +DEPENDS:append:libc-musl = " libtirpc" +CFLAGS:append:libc-musl = " -I${STAGING_INCDIR}/tirpc" +LDFLAGS:append:libc-musl = " -ltirpc" + +COMPATIBLE_HOST:riscv32 = "null" + +INITSCRIPT_NAME = "samba" +INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." + +SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind" +SYSTEMD_SERVICE:${PN}-base = "nmb.service smb.service" +SYSTEMD_SERVICE:${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}" +SYSTEMD_SERVICE:winbind = "winbind.service" + +# There are prerequisite settings to enable ad-dc, so disable the service by default. +# Reference: +# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller +SYSTEMD_AUTO_ENABLE:${PN}-ad-dc = "disable" + +#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen +#to cross Popen +export WAF_NO_PREFORK="yes" + +# Use krb5. Build active domain controller. +# +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \ + acl cups ad-dc ldap mitkrb5 \ +" + +RDEPENDS:${PN}-ctdb-tests += "bash util-linux-getopt" + +PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl" +PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin" +PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups" +PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" +PACKAGECONFIG[sasl] = ",,cyrus-sasl" +PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd" +PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi" +PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi" +PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind," +PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust" +PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive" +PACKAGECONFIG[libunwind] = ", , libunwind" +PACKAGECONFIG[gpgme] = ",--without-gpgme,," +PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb," +PACKAGECONFIG[libbsd] = "--with-libbsd, --without-libbsd, libbsd" +PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,python3-markdown python3-dnspython," +PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5," + +SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2" +SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4" +SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4" +SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}" + +# These libraries are supposed to replace others supplied by packages, but decorate the names of +# .so files so there will not be a conflict. This is not done consistantly, so be very careful +# when adding to this list. +# +SAMBA4_LIBS="heimdal,cmocka,NONE" + +EXTRA_OECONF += "--enable-fhs \ + --with-piddir=/run \ + --with-sockets-dir=/run/samba \ + --with-modulesdir=${libdir}/samba \ + --with-privatelibdir=${libdir}/samba \ + --with-lockdir=${localstatedir}/lib/samba \ + --with-cachedir=${localstatedir}/lib/samba \ + --disable-rpath-install \ + --disable-rpath \ + --with-shared-modules=${SAMBA4_MODULES} \ + --bundled-libraries=${SAMBA4_LIBS} \ + ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \ + --with-cluster-support \ + --with-profiling-data \ + --with-libiconv=${STAGING_DIR_HOST}${prefix} \ + --with-pam --with-pammodulesdir=${base_libdir}/security \ + " + +LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" + +do_configure:append () { + cd ${S}/pidl/ + perl Makefile.PL PREFIX=${prefix} + sed -e 's,VENDORPREFIX)/lib/perl,VENDORPREFIX)/${baselib}/perl,g' \ + -e 's,PERLPREFIX)/lib/perl,PERLPREFIX)/${baselib}/perl,g' -i Makefile + +} + +do_compile:append () { + oe_runmake -C ${S}/pidl +} + +do_install:append() { + for section in 1 5 7; do + install -d ${D}${mandir}/man$section + install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section + done + for section in 1 5 7 8; do + install -d ${D}${mandir}/man$section + install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section + done + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/ + sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \ + -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \ + -i ${D}${systemd_system_unitdir}/*.service + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then + rm -f ${D}${systemd_system_unitdir}/samba.service + fi + + install -d ${D}${sysconfdir}/tmpfiles.d + install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf + echo "d ${localstatedir}/log/samba 0755 root root -" \ + >> ${D}${sysconfdir}/tmpfiles.d/samba.conf + install -d ${D}${sysconfdir}/init.d + install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba + sed -e 's,/opt/samba/bin,${sbindir},g' \ + -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \ + -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \ + -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \ + -e 's,/usr/bin,${base_bindir},g' \ + -i ${D}${sysconfdir}/init.d/samba + + install -d ${D}${sysconfdir}/samba + echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts + install -m644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf + install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba + + install -d ${D}${sysconfdir}/default + install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba + + # the items are from ctdb/tests/run_tests.sh + for d in cunit eventd eventscripts onnode shellcheck takeover takeover_helper tool; do + testdir=${D}${datadir}/ctdb-tests/UNIT/$d + install -d $testdir + cp ${S}/ctdb/tests/UNIT/$d/*.sh $testdir + cp -r ${S}/ctdb/tests/UNIT/$d/scripts ${S}/ctdb/tests/UNIT/$d/stubs $testdir || true + done + + # fix file-rdeps qa warning + if [ -f ${D}${bindir}/onnode ]; then + sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode + fi + + chmod 0750 ${D}${sysconfdir}/sudoers.d || true + rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log + + for f in samba-gpupdate samba_upgradedns samba_spnupdate samba_kcc samba_dnsupdate samba_downgrade_db; do + if [ -f "${D}${sbindir}/$f" ]; then + sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${sbindir}/$f + fi + done + if [ -f "${D}${bindir}/samba-tool" ]; then + sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${bindir}/samba-tool + fi + + oe_runmake -C ${S}/pidl DESTDIR=${D} install_vendor + find ${D}${libdir}/ -type f -name "perllocal.pod" | xargs rm -f + rm -rf ${D}${libdir}/perl5/vendor_perl/${PERLVERSION}/${BUILD_SYS}/auto/Parse/Pidl/.packlist + sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${bindir}/pidl +} + +PACKAGES =+ "${PN}-python3 ${PN}-pidl \ + ${PN}-dsdb-modules ${PN}-testsuite registry-tools \ + winbind \ + ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \ + smbclient ${PN}-client ${PN}-server ${PN}-test" + +python samba_populate_packages() { + def module_hook(file, pkg, pattern, format, basename): + pn = d.getVar('PN') + d.appendVar('RRECOMMENDS:%s-base' % pn, ' %s' % pkg) + + mlprefix = d.getVar('MLPREFIX') or '' + pam_libdir = d.expand('${base_libdir}/security') + pam_pkgname = mlprefix + 'pam-plugin%s' + do_split_packages(d, pam_libdir, r'^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True) + + libdir = d.getVar('libdir') + do_split_packages(d, libdir, r'^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True) + pkglibdir = '%s/samba' % libdir + do_split_packages(d, pkglibdir, r'^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True) + moduledir = '%s/samba/auth' % libdir + do_split_packages(d, moduledir, r'^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True) + moduledir = '%s/samba/pdb' % libdir + do_split_packages(d, moduledir, r'^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True) +} + +PACKAGESPLITFUNCS:prepend = "samba_populate_packages " +PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*" + +RDEPENDS:${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3" +RDEPENDS:${PN}-python3 += "pytalloc python3-tdb pyldb" + +FILES:${PN}-base = "${sbindir}/nmbd \ + ${sbindir}/smbd \ + ${sysconfdir}/init.d \ + ${systemd_system_unitdir}/nmb.service \ + ${systemd_system_unitdir}/smb.service" + +FILES:${PN}-ad-dc = "${sbindir}/samba \ + ${systemd_system_unitdir}/samba.service \ + ${libdir}/krb5/plugins/kdb/samba.so \ +" +RDEPENDS:${PN}-ad-dc = "krb5-kdc" + +FILES:${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \ + ${bindir}/ctdb_run_cluster_tests \ + ${sysconfdir}/ctdb/nodes \ + ${datadir}/ctdb-tests \ + ${datadir}/ctdb/tests \ + ${localstatedir}/lib/ctdb \ + " + +FILES:${BPN}-common = "${sysconfdir}/default \ + ${sysconfdir}/samba \ + ${sysconfdir}/tmpfiles.d \ + ${localstatedir}/lib/samba \ + ${localstatedir}/spool/samba \ +" + +FILES:${PN} += "${libdir}/vfs/*.so \ + ${libdir}/charset/*.so \ + ${libdir}/*.dat \ + ${libdir}/auth/*.so \ + ${datadir}/ctdb/events/* \ +" + +FILES:${PN}-dsdb-modules = "${libdir}/samba/ldb" + +FILES:${PN}-testsuite = "${bindir}/gentest \ + ${bindir}/locktest \ + ${bindir}/masktest \ + ${bindir}/ndrdump \ + ${bindir}/smbtorture" + +FILES:registry-tools = "${bindir}/regdiff \ + ${bindir}/regpatch \ + ${bindir}/regshell \ + ${bindir}/regtree" + +FILES:winbind = "${sbindir}/winbindd \ + ${bindir}/wbinfo \ + ${bindir}/ntlm_auth \ + ${libdir}/samba/idmap \ + ${libdir}/samba/nss_info \ + ${libdir}/winbind_krb5_locator.so \ + ${libdir}/winbind-krb5-localauth.so \ + ${sysconfdir}/init.d/winbind \ + ${systemd_system_unitdir}/winbind.service" + +FILES:${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}" + +FILES:smbclient = "${bindir}/cifsdd \ + ${bindir}/rpcclient \ + ${bindir}/smbcacls \ + ${bindir}/smbclient \ + ${bindir}/smbcquotas \ + ${bindir}/smbget \ + ${bindir}/smbspool \ + ${bindir}/smbtar \ + ${bindir}/smbtree \ + ${libdir}/samba/smbspool_krb5_wrapper" + +RDEPENDS:${PN}-pidl:append = " perl libparse-yapp-perl" +FILES:${PN}-pidl = "${bindir}/pidl \ + ${libdir}/perl5 \ + " + +RDEPENDS:${PN}-client = "\ + smbclient \ + winbind \ + registry-tools \ + ${PN}-pidl \ + " + +ALLOW_EMPTY:${PN}-client = "1" + +RDEPENDS:${PN}-server = "\ + ${PN} \ + winbind \ + registry-tools \ + " + +ALLOW_EMPTY:${PN}-server = "1" + +RDEPENDS:${PN}-test = "\ + ${PN}-ctdb-tests \ + ${PN}-testsuite \ + " + +ALLOW_EMPTY:${PN}-test = "1" + +# Patch for CVE-2018-1050 is applied in version 4.5.15, 4.6.13, 4.7.5. +# Patch for CVE-2018-1057 is applied in version 4.3.13, 4.4.16. +CVE_CHECK_IGNORE += "CVE-2018-1050" +CVE_CHECK_IGNORE += "CVE-2018-1057" diff --git a/meta-networking/recipes-connectivity/ufw/ufw_0.36.1.bb b/meta-networking/recipes-connectivity/ufw/ufw_0.36.1.bb index b6a768e08ad..c479eefba06 100644 --- a/meta-networking/recipes-connectivity/ufw/ufw_0.36.1.bb +++ b/meta-networking/recipes-connectivity/ufw/ufw_0.36.1.bb @@ -70,5 +70,5 @@ FILES:${PN} += " \ REQUIRED_DISTRO_FEATURES = "ipv6" -DISTUTILS_BUILD_ARGS:append = " --iptables-dir /usr/sbin" -DISTUTILS_INSTALL_ARGS:append = " --iptables-dir /usr/sbin" +SETUPTOOLS_BUILD_ARGS:append = " --iptables-dir /usr/sbin" +SETUPTOOLS_INSTALL_ARGS:append = " --iptables-dir /usr/sbin" diff --git a/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.4.0.bb b/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.4.0.bb deleted file mode 100644 index 6918ece0b0f..00000000000 --- a/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.4.0.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "wolfSSL Lightweight Embedded SSL/TLS Library" -DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written \ - in C and optimized for embedded and RTOS environments. It can \ - be up to 20 times smaller than OpenSSL while still supporting \ - a full TLS client and server, up to TLS 1.3" -HOMEPAGE = "https://www.wolfssl.com/products/wolfssl" -BUGTRACKER = "https://github.com/wolfssl/wolfssl/issues" -SECTION = "libs" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -PROVIDES += "cyassl" -RPROVIDES:${PN} = "cyassl" - -SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https;branch=master" -SRCREV = "57aac1c50b45275c7a99eca32ad985998b292dc8" - -S = "${WORKDIR}/git" - -inherit autotools - -BBCLASSEXTEND += "native nativesdk" diff --git a/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.5.3.bb b/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.5.3.bb new file mode 100644 index 00000000000..cef2b16620c --- /dev/null +++ b/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.5.3.bb @@ -0,0 +1,22 @@ +SUMMARY = "wolfSSL Lightweight Embedded SSL/TLS Library" +DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written \ + in C and optimized for embedded and RTOS environments. It can \ + be up to 20 times smaller than OpenSSL while still supporting \ + a full TLS client and server, up to TLS 1.3" +HOMEPAGE = "https://www.wolfssl.com/products/wolfssl" +BUGTRACKER = "https://github.com/wolfssl/wolfssl/issues" +SECTION = "libs" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +PROVIDES += "cyassl" +RPROVIDES:${PN} = "cyassl" + +SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https;branch=master" +SRCREV = "a7635da9e64a43028d2f8f14bce75e4bed39f162" + +S = "${WORKDIR}/git" + +inherit autotools + +BBCLASSEXTEND += "native nativesdk" diff --git a/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb b/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb index d5a2dfad630..11437e2238b 100644 --- a/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb +++ b/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb @@ -259,6 +259,7 @@ RDEPENDS:packagegroup-meta-networking-support = "\ ettercap \ " RDEPENDS:packagegroup-meta-networking-support:remove:mipsarch = "memcached" +RDEPENDS:packagegroup-meta-networking-support:remove:libc-musl = "ypbind-mt" EXCLUDE_FROM_WORLD = "1" # Empty packages, only devel headers and libs diff --git a/meta-networking/recipes-daemons/autofs/autofs/0001-autofs-5.1.8-add-autofs_strerror_r-helper-for-musl.patch b/meta-networking/recipes-daemons/autofs/autofs/0001-autofs-5.1.8-add-autofs_strerror_r-helper-for-musl.patch new file mode 100644 index 00000000000..5fd9a8d1293 --- /dev/null +++ b/meta-networking/recipes-daemons/autofs/autofs/0001-autofs-5.1.8-add-autofs_strerror_r-helper-for-musl.patch @@ -0,0 +1,54 @@ +From 88f991b0ebb6fb8fcaad3d0eb8fb51a7439d053e Mon Sep 17 00:00:00 2001 +From: Fabian Groffen +Date: Wed, 2 Feb 2022 09:27:13 +0800 +Subject: [PATCH 1/2] autofs-5.1.8 - add autofs_strerror_r() helper for musl + +If using musl libc the XSI-compliant variant strerror_r() which returns +an integer instead of a pointer so add a helper function to handle this +case. + +Signed-off-by: Fabian Groffen +Signed-off-by: Ian Kent +Signed-off-by: Khem Raj +--- + include/automount.h | 5 +++++ + lib/log.c | 10 ++++++++++ + 2 files changed, 15 insertions(+) + +diff --git a/include/automount.h b/include/automount.h +index 8cd8b3a..f759e59 100644 +--- a/include/automount.h ++++ b/include/automount.h +@@ -51,6 +51,11 @@ + # endif + #endif + ++#ifndef __GLIBC__ ++# define strerror_r(N,B,S) autofs_strerror_r(N,B,S) ++char *autofs_strerror_r(int errnum, char *buf, size_t buflen); /* GNU */ ++#endif ++ + /* We MUST have the paths to mount(8) and umount(8) */ + #ifndef HAVE_MOUNT + #error Failed to locate mount(8)! +diff --git a/lib/log.c b/lib/log.c +index 39b1e3b..b99fa39 100644 +--- a/lib/log.c ++++ b/lib/log.c +@@ -368,3 +368,13 @@ pid_t log_pidinfo(struct autofs_point *ap, pid_t pid, char *label) { + + return ppid; + } ++ ++#ifndef __GLIBC__ ++# undef strerror_r ++char *autofs_strerror_r(int errnum, char *buf, size_t buflen) { ++ int s = strerror_r(errnum, buf, buflen); ++ if (s) ++ return NULL; ++ return buf; ++} ++#endif +-- +2.37.3 + diff --git a/meta-networking/recipes-daemons/autofs/autofs/0002-autofs-5.1.8-handle-innetgr-not-present-in-musl.patch b/meta-networking/recipes-daemons/autofs/autofs/0002-autofs-5.1.8-handle-innetgr-not-present-in-musl.patch new file mode 100644 index 00000000000..9d0caae3126 --- /dev/null +++ b/meta-networking/recipes-daemons/autofs/autofs/0002-autofs-5.1.8-handle-innetgr-not-present-in-musl.patch @@ -0,0 +1,106 @@ +From 1c0b0b70a276280f431d72319109a0bbc0267970 Mon Sep 17 00:00:00 2001 +From: Fabian Groffen +Date: Wed, 2 Feb 2022 10:15:22 +0800 +Subject: [PATCH 2/2] autofs-5.1.8 - handle innetgr() not present in musl + +The function innetgr(3) may not be present in musl libc, add a check +for this. + +Originally contributed by Fabian, modified by me. + +Upstream-Status: Backport [https://git.kernel.org/pub/scm/linux/storage/autofs/autofs.git/commit/?id=f60e40af3c038b8955325a11b7294ad38c15c9e8] +Signed-off-by: Fabian Groffen +Signed-off-by: Ian Kent +Signed-off-by: Khem Raj +--- + configure | 6 ++++++ + configure.in | 2 +- + include/config.h.in | 3 +++ + modules/parse_amd.c | 7 +++++++ + 4 files changed, 17 insertions(+), 1 deletion(-) + +--- a/configure.in ++++ b/configure.in +@@ -169,7 +169,7 @@ AF_CHECK_SSS_LIB(SSS_AUTOFS, libsss_auto + AC_SUBST(HAVE_SSS_AUTOFS) + AC_SUBST(sssldir) + +-AC_CHECK_FUNCS(pipe2) ++AC_CHECK_FUNCS(pipe2 innetgr) + + # + # Newer mounts have the -s (sloppy) option to ignore unknown options, +--- a/include/config.h.in ++++ b/include/config.h.in +@@ -30,6 +30,9 @@ + /* Define to 1 if you have the `getservbyname' function. */ + #undef HAVE_GETSERVBYNAME + ++/* Define to 1 if you have the `innetgr' function. */ ++#undef HAVE_INNETGR ++ + /* Define to 1 if you have the header file. */ + #undef HAVE_INTTYPES_H + +@@ -45,9 +48,6 @@ + /* Define if you have the Linux /proc filesystem. */ + #undef HAVE_LINUX_PROCFS + +-/* Define to 1 if you have the header file. */ +-#undef HAVE_MEMORY_H +- + /* define if you have MOUNT */ + #undef HAVE_MOUNT + +@@ -69,6 +69,9 @@ + /* Define to 1 if you have the header file. */ + #undef HAVE_STDINT_H + ++/* Define to 1 if you have the header file. */ ++#undef HAVE_STDIO_H ++ + /* Define to 1 if you have the header file. */ + #undef HAVE_STDLIB_H + +@@ -141,7 +144,9 @@ + /* define if you have YACC */ + #undef PATH_YACC + +-/* Define to 1 if you have the ANSI C header files. */ ++/* Define to 1 if all of the C90 standard headers exist (not just the ones ++ required in a freestanding environment). This macro is provided for ++ backward compatibility; new code need not use it. */ + #undef STDC_HEADERS + + /* Define to 1 to use the libtirpc tsd usage workaround */ +--- a/modules/parse_amd.c ++++ b/modules/parse_amd.c +@@ -424,6 +424,7 @@ static int sel_in_network(struct autofs_ + return ret; + } + ++#ifdef HAVE_INNETGR + static int sel_netgrp(struct autofs_point *ap, + struct selector *s, struct substvar *sv) + { +@@ -488,6 +489,7 @@ out: + + return ret; + } ++#endif + + static int eval_selector(struct autofs_point *ap, + struct amd_entry *this, struct substvar *sv) +@@ -627,7 +629,12 @@ static int eval_selector(struct autofs_p + switch (s->sel->selector) { + case SEL_NETGRP: + case SEL_NETGRPD: ++#ifndef HAVE_INNETGR ++ error(logopt, MODPREFIX ++ "netgroups not available, function innetgr(3) not available"); ++#else + ret = sel_netgrp(ap, s, sv); ++#endif + break; + + default: diff --git a/meta-networking/recipes-daemons/autofs/autofs_5.1.8.bb b/meta-networking/recipes-daemons/autofs/autofs_5.1.8.bb index cb808445864..ca11f1a1705 100644 --- a/meta-networking/recipes-daemons/autofs/autofs_5.1.8.bb +++ b/meta-networking/recipes-daemons/autofs/autofs_5.1.8.bb @@ -27,6 +27,8 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/autofs-${PV}.tar.gz \ file://0001-Bug-fix-for-pid_t-not-found-on-musl.patch \ file://0001-Define-__SWORD_TYPE-if-undefined.patch \ file://mount_conflict.patch \ + file://0001-autofs-5.1.8-add-autofs_strerror_r-helper-for-musl.patch \ + file://0002-autofs-5.1.8-handle-innetgr-not-present-in-musl.patch \ " SRC_URI[sha256sum] = "0bd401c56f0eb1ca6251344c3a3d70bface3eccf9c67117cd184422c4cace30c" diff --git a/meta-networking/recipes-daemons/ippool/ippool/0001-pppd-ippool.c-Fix-type-casting-issues-between-in_add.patch b/meta-networking/recipes-daemons/ippool/ippool/0001-pppd-ippool.c-Fix-type-casting-issues-between-in_add.patch new file mode 100644 index 00000000000..a98c179290c --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0001-pppd-ippool.c-Fix-type-casting-issues-between-in_add.patch @@ -0,0 +1,72 @@ +From da67444994bde603c7ff1483a6803bdab24e1f14 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 29 Aug 2022 09:36:55 -0700 +Subject: [PATCH 1/2] pppd/ippool.c: Fix type casting issues between in_addr + and ippool_api_ip_addr + +Also remove unused variabled + +Upstream-Status: Inappropriate [No upstream] +Signed-off-by: Khem Raj +--- + pppd/ippool.c | 13 ++++++------- + 1 file changed, 6 insertions(+), 7 deletions(-) + +--- a/pppd/ippool.c ++++ b/pppd/ippool.c +@@ -16,6 +16,7 @@ + #include + #include + #include ++#include + #include + + #include +@@ -24,7 +25,6 @@ + + const char pppd_version[] = VERSION; + +-static int ippool_fd = -1; + static char *ippool_pool_name = NULL; + static char *ippool_pool_name2 = NULL; + static char *ippool_server = "localhost"; +@@ -64,9 +64,9 @@ static int ippool_addr_alloc(CLIENT *cl, + } + + *addr = clnt_res.addr.s_addr; +- ++ struct in_addr temp_addr = {*addr}; + if (ippool_debug) { +- dbglog("Allocated address %s from pool %s", inet_ntoa(clnt_res.addr.s_addr), pool_name); ++ dbglog("Allocated address %s from pool %s", inet_ntoa(temp_addr), pool_name); + } + out: + return result; +@@ -85,14 +85,16 @@ static void ippool_addr_free(CLIENT *cl, + } + if (clnt_res < 0) { + if (ippool_debug) { ++ struct in_addr temp_addr = {free_addr.s_addr}; + warn("IP address %s free to pool %s failed: %s", +- inet_ntoa(free_addr), pool_name, strerror(-clnt_res)); ++ inet_ntoa(temp_addr), pool_name, strerror(-clnt_res)); + } + goto out; + } + + if (ippool_debug) { +- dbglog("Freed address %s to pool %s", inet_ntoa(free_addr), pool_name); ++ struct in_addr temp_addr = {free_addr.s_addr}; ++ dbglog("Freed address %s to pool %s", inet_ntoa(temp_addr), pool_name); + } + out: + return; +@@ -138,8 +140,6 @@ static void ippool_choose_ip(u_int32_t * + { + ipcp_options *wo = &ipcp_wantoptions[0]; + ipcp_options *go = &ipcp_gotoptions[0]; +- ipcp_options *ao = &ipcp_allowoptions[0]; +- ipcp_options *ho = &ipcp_hisoptions[0]; + CLIENT *cl; + int result = 0; + diff --git a/meta-networking/recipes-daemons/ippool/ippool/0002-ippool_rpc_server.c-Add-missing-prototype-for-ippool.patch b/meta-networking/recipes-daemons/ippool/ippool/0002-ippool_rpc_server.c-Add-missing-prototype-for-ippool.patch new file mode 100644 index 00000000000..b8fdedf0c81 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0002-ippool_rpc_server.c-Add-missing-prototype-for-ippool.patch @@ -0,0 +1,22 @@ +From f9ea91771f0d3c984e7d5fe9e15962db1ee686ad Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 29 Aug 2022 09:39:16 -0700 +Subject: [PATCH 2/2] ippool_rpc_server.c: Add missing prototype for + ippool_api_rpc_check_request + +Upstream-Status: Inappropriate [no upstream] +Signed-off-by: Khem Raj +--- + ippool_rpc_server.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/Makefile ++++ b/Makefile +@@ -123,6 +123,7 @@ $(IPPOOL_RPC_STEM)_server.c: $(IPPOOL_RP + -$(RM) $@ $@.tmp + rpcgen $(RPCGENFLAGS) -m -o $@.tmp $< + cat $@.tmp | sed -e 's/switch (rqstp->rq_proc) {/if (ippool_api_rpc_check_request(transp) < 0) return; switch (rqstp->rq_proc) {/' > $@ ++ sed -i '20i int ippool_api_rpc_check_request(SVCXPRT *xprt);' $@ + + $(IPPOOL_RPC_STEM)_client.c: $(IPPOOL_RPC_STEM).x + -$(RM) $@ diff --git a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb index b91ca536825..984acac76e2 100644 --- a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb +++ b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb @@ -27,6 +27,8 @@ SRC_URI = "https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-$ file://0002-link-with-libtirpc.patch \ file://0003-musl-fixes.patch \ file://strncpy-truncation.patch \ + file://0001-pppd-ippool.c-Fix-type-casting-issues-between-in_add.patch \ + file://0002-ippool_rpc_server.c-Add-missing-prototype-for-ippool.patch \ " LIC_FILES_CHKSUM = "file://LICENSE;md5=4c59283b82fc2b166455e0fc23c71c6f" diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Makefile-Do-not-set-Werror.patch b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Makefile-Do-not-set-Werror.patch index d5e0deb8995..ab6ff6e131b 100644 --- a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Makefile-Do-not-set-Werror.patch +++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Makefile-Do-not-set-Werror.patch @@ -1,4 +1,4 @@ -From 31d88f46bfc67de2659991674253a5d5dfb92afc Mon Sep 17 00:00:00 2001 +From 6afdfbdf1ecf3e7e9158734a3994a57ea151d680 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 12 Aug 2020 12:00:29 -0700 Subject: [PATCH] Makefile: Do not set -Werror @@ -9,16 +9,17 @@ warning as errors Upstream-Status: Inappropriate [OE-Specific] Signed-off-by: Khem Raj + --- usr/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr/Makefile b/usr/Makefile -index 21bb154..0018605 100644 +index 3fc2248..2b5a234 100644 --- a/usr/Makefile +++ b/usr/Makefile -@@ -35,7 +35,7 @@ endif - PKG_CONFIG = /usr/bin/pkg-config +@@ -44,7 +44,7 @@ HOMEDIR ?= $(etcdir)/iscsi + PKG_CONFIG ?= /usr/bin/pkg-config CFLAGS ?= -O2 -g -WARNFLAGS ?= -Wall -Wextra -Werror -Wstrict-prototypes -fno-common @@ -26,6 +27,3 @@ index 21bb154..0018605 100644 CFLAGS += $(WARNFLAGS) -I../include -I. -D_GNU_SOURCE \ -I$(TOPDIR)/libopeniscsiusr CFLAGS += $(shell $(PKG_CONFIG) --cflags libkmod) --- -2.28.0 - diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0002-iscsiuio-Use-pthread_t-for-INVALID_THREAD.patch b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0002-iscsiuio-Use-pthread_t-for-INVALID_THREAD.patch new file mode 100644 index 00000000000..02669e9c80f --- /dev/null +++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0002-iscsiuio-Use-pthread_t-for-INVALID_THREAD.patch @@ -0,0 +1,27 @@ +From ef54a6f4a81da8ab653d352bfbd3b2521ce9eb7c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 29 Aug 2022 15:55:32 -0700 +Subject: [PATCH] iscsiuio: Use pthread_t for INVALID_THREAD + +pthread_t is opaque, therefore avoid compiler errors on musl when +compiling since pthread_t is not a plain old data type, like glibc + +Upstream-Status: Submitted [https://github.com/open-iscsi/open-iscsi/pull/363] +Signed-off-by: Khem Raj +--- + iscsiuio/src/unix/options.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/iscsiuio/src/unix/options.h b/iscsiuio/src/unix/options.h +index 63b8635..873a98a 100644 +--- a/iscsiuio/src/unix/options.h ++++ b/iscsiuio/src/unix/options.h +@@ -86,7 +86,7 @@ + #define DEBUG_ON 0x2 + + #define INVALID_FD -1 +-#define INVALID_THREAD -1 ++#define INVALID_THREAD (pthread_t)-1 + #define INVALID_HOST_NO -1 + + struct options { diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.6.bb b/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.6.bb deleted file mode 100644 index 921f7d4883f..00000000000 --- a/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.6.bb +++ /dev/null @@ -1,117 +0,0 @@ -SUMMARY = "iSCSI daemon and utility programs" -DESCRIPTION = "Open-iSCSI project is a high performance, transport \ -independent, multi-platform implementation of RFC3720. The iscsi package \ -provides the server daemon for the iSCSI protocol, as well as the utility \ -programs used to manage it. iSCSI is a protocol for distributed \ -disk access using SCSI commands sent over Internet Protocol networks." -HOMEPAGE = "http://www.open-iscsi.com/" -LICENSE = "GPL-2.0-only & LGPL-2.1-only" -SECTION = "net" -DEPENDS = "openssl flex-native bison-native open-isns util-linux kmod" -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" - -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRCREV ?= "ee575fd19429ec6dc24b49f2ce3822b4a01f57de" - -SRC_URI = "git://github.com/open-iscsi/open-iscsi;branch=master;protocol=https \ - file://0001-Makefile-Do-not-set-Werror.patch \ - file://initd.debian \ - file://99_iscsi-initiator-utils \ - file://iscsi-initiator \ - file://iscsi-initiator.service \ - file://iscsi-initiator-targets.service \ - file://set_initiatorname \ - " -S = "${WORKDIR}/git" - -inherit update-rc.d systemd autotools pkgconfig - -EXTRA_OECONF = " \ - --target=${TARGET_SYS} \ - --host=${BUILD_SYS} \ -" - -EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '--without-systemd NO_SYSTEMD=1', d)}" - -EXTRA_OEMAKE = ' \ - OS="${TARGET_SYS}" \ - TARGET="${TARGET_OS}" \ - BASE="${prefix}" \ - MANDIR="${mandir}" \ - OPTFLAGS="-DNO_SYSTEMD ${CFLAGS}" \ - PKG_CONFIG="${STAGING_BINDIR_NATIVE}/pkg-config" \ -' - - -do_configure () { - cd ${S}/iscsiuio ; autoreconf --install; ./configure ${EXTRA_OECONF} -} - -do_compile () { - # Make sure we DO NOT regenerate prom_lex.c. - if [ -f ${S}/utils/fwparam_ibft/prom_lex.l ]; then - mv ${S}/utils/fwparam_ibft/prom_lex.l ${S}/utils/fwparam_ibft/prom_lex.l.unused - fi - oe_runmake -C ${S} ${EXTRA_OEMAKE} user -} - -do_install () { - #install necessary directories - install -d ${D}${sbindir} \ - ${D}${sysconfdir}/init.d \ - ${D}${sysconfdir}/iscsi \ - ${D}${localstatedir}/lib/iscsi/nodes \ - ${D}${localstatedir}/lib/iscsi/send_targets \ - ${D}${localstatedir}/lib/iscsi/static \ - ${D}${localstatedir}/lib/iscsi/isns \ - ${D}${localstatedir}/lib/iscsi/slp \ - ${D}${localstatedir}/lib/iscsi/ifaces \ - ${D}${libdir} \ - ${D}${mandir}/man8 - - install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \ - ${S}/utils/iscsi-iname \ - ${S}/usr/iscsistart ${D}/${sbindir} - - cp -dR ${S}/libopeniscsiusr/libopeniscsiusr.so* ${D}${libdir} - install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8 - install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi - install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid - - sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d /run/${BPN}/lock - - - -" \ - > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf - install -d ${D}/etc/default/ - install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/ - - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/iscsi-initiator.service \ - ${WORKDIR}/iscsi-initiator-targets.service \ - ${D}${systemd_unitdir}/system/ - install -d ${D}${nonarch_libdir}/iscsi - install -m 0755 ${WORKDIR}/set_initiatorname ${D}${nonarch_libdir}/iscsi - else - install -d ${D}/etc/default/volatiles - install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles - fi -} - -pkg_postinst:${PN}() { - if [ "x$D" = "x" ]; then - if [ -e /etc/init.d/populate-volatile.sh ]; then - /etc/init.d/populate-volatile.sh update - elif command -v systemd-tmpfiles >/dev/null; then - systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf - fi - fi -} - -SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service " -INITSCRIPT_NAME = "iscsid" -INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ." - -FILES:${PN} += "${nonarch_libdir}/iscsi" diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.7.bb b/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.7.bb new file mode 100644 index 00000000000..3ed55d65a01 --- /dev/null +++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.7.bb @@ -0,0 +1,119 @@ +SUMMARY = "iSCSI daemon and utility programs" +DESCRIPTION = "Open-iSCSI project is a high performance, transport \ +independent, multi-platform implementation of RFC3720. The iscsi package \ +provides the server daemon for the iSCSI protocol, as well as the utility \ +programs used to manage it. iSCSI is a protocol for distributed \ +disk access using SCSI commands sent over Internet Protocol networks." +HOMEPAGE = "http://www.open-iscsi.com/" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +SECTION = "net" +DEPENDS = "openssl flex-native bison-native open-isns util-linux kmod" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRCREV = "7b53fcc502da8617110fd64d675b476772c28a6f" + +SRC_URI = "git://github.com/open-iscsi/open-iscsi;branch=master;protocol=https \ + file://0001-Makefile-Do-not-set-Werror.patch \ + file://initd.debian \ + file://99_iscsi-initiator-utils \ + file://iscsi-initiator \ + file://iscsi-initiator.service \ + file://iscsi-initiator-targets.service \ + file://set_initiatorname \ + file://0002-iscsiuio-Use-pthread_t-for-INVALID_THREAD.patch \ + " +S = "${WORKDIR}/git" + +inherit update-rc.d systemd autotools pkgconfig + +EXTRA_OECONF = " \ + --target=${TARGET_SYS} \ + --host=${BUILD_SYS} \ +" + +EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '--without-systemd NO_SYSTEMD=1', d)}" + +EXTRA_OEMAKE = ' \ + OS="${TARGET_SYS}" \ + TARGET="${TARGET_OS}" \ + BASE="${prefix}" \ + MANDIR="${mandir}" \ + OPTFLAGS="-DNO_SYSTEMD ${CFLAGS}" \ + PKG_CONFIG="${STAGING_BINDIR_NATIVE}/pkg-config" \ + SED=sed \ +' + + +do_configure () { + cd ${S}/iscsiuio ; autoreconf --install; ./configure ${EXTRA_OECONF} +} + +do_compile () { + # Make sure we DO NOT regenerate prom_lex.c. + if [ -f ${S}/utils/fwparam_ibft/prom_lex.l ]; then + mv ${S}/utils/fwparam_ibft/prom_lex.l ${S}/utils/fwparam_ibft/prom_lex.l.unused + fi + oe_runmake -C ${S} ${EXTRA_OEMAKE} user +} + +do_install () { + #install necessary directories + install -d ${D}${sbindir} \ + ${D}${sysconfdir}/init.d \ + ${D}${sysconfdir}/iscsi \ + ${D}${localstatedir}/lib/iscsi/nodes \ + ${D}${localstatedir}/lib/iscsi/send_targets \ + ${D}${localstatedir}/lib/iscsi/static \ + ${D}${localstatedir}/lib/iscsi/isns \ + ${D}${localstatedir}/lib/iscsi/slp \ + ${D}${localstatedir}/lib/iscsi/ifaces \ + ${D}${libdir} \ + ${D}${mandir}/man8 + + install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \ + ${S}/utils/iscsi-iname \ + ${S}/usr/iscsistart ${D}/${sbindir} + + cp -dR ${S}/libopeniscsiusr/libopeniscsiusr.so* ${D}${libdir} + install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8 + install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi + install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid + + sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /run/${BPN}/lock - - - -" \ + > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf + install -d ${D}/etc/default/ + install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/ + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/iscsi-initiator.service \ + ${WORKDIR}/iscsi-initiator-targets.service \ + ${D}${systemd_unitdir}/system/ + install -d ${D}${nonarch_libdir}/iscsi + install -m 0755 ${WORKDIR}/set_initiatorname ${D}${nonarch_libdir}/iscsi + else + install -d ${D}/etc/default/volatiles + install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles + fi +} + +pkg_postinst:${PN}() { + if [ "x$D" = "x" ]; then + if [ -e /etc/init.d/populate-volatile.sh ]; then + /etc/init.d/populate-volatile.sh update + elif command -v systemd-tmpfiles >/dev/null; then + systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf + fi + fi +} + +SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service " +INITSCRIPT_NAME = "iscsid" +INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ." + +FILES:${PN} += "${nonarch_libdir}/iscsi" diff --git a/meta-networking/recipes-daemons/lldpd/files/run-ptest b/meta-networking/recipes-daemons/lldpd/files/run-ptest new file mode 100755 index 00000000000..da686eb4654 --- /dev/null +++ b/meta-networking/recipes-daemons/lldpd/files/run-ptest @@ -0,0 +1,16 @@ +#!/bin/sh + +num_fail=0 + +for test in tests/check* +do + ./"$test" \ + && echo "PASS: $test" \ + || { + echo "FAIL: $test" + num_fail=$(( ${num_fail} + 1)) + } + +done + +exit $num_fail diff --git a/meta-networking/recipes-daemons/lldpd/lldpd_1.0.14.bb b/meta-networking/recipes-daemons/lldpd/lldpd_1.0.14.bb deleted file mode 100644 index eda0129feb3..00000000000 --- a/meta-networking/recipes-daemons/lldpd/lldpd_1.0.14.bb +++ /dev/null @@ -1,63 +0,0 @@ -SUMMARY = "A 802.1ab implementation (LLDP) to help you locate neighbors of all your equipments" -SECTION = "net/misc" -LICENSE = "ISC" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d" - -DEPENDS = "libbsd libevent" - -SRC_URI = "\ - http://media.luffy.cx/files/${BPN}/${BPN}-${PV}.tar.gz \ - file://lldpd.init.d \ - file://lldpd.default \ - " - -SRC_URI[sha256sum] = "a74819214f116a5dbc407a3d490caa01ba401a249517ac826a374059c12d12e8" - -inherit autotools update-rc.d useradd systemd pkgconfig bash-completion - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system -g lldpd --shell /bin/false lldpd" -GROUPADD_PARAM:${PN} = "--system lldpd" - -EXTRA_OECONF += "--without-embedded-libevent \ - --disable-oldies \ - --with-privsep-user=lldpd \ - --with-privsep-group=lldpd \ - --with-systemdsystemunitdir=${systemd_system_unitdir} \ - --without-sysusersdir \ -" - -PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3" -PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxm2" -PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp" -PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" -PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp" -PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp" -PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp" -PACKAGECONFIG[edp] = "--enable-edp,--disable-edp" -PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp" -PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed" -PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1" -PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3" -PACKAGECONFIG[custom] = "--enable-custom,--disable-custom" - -INITSCRIPT_NAME = "lldpd" -INITSCRIPT_PARAMS = "defaults" - -SYSTEMD_SERVICE:${PN} = "lldpd.service" - -do_install:append() { - install -Dm 0755 ${WORKDIR}/lldpd.init.d ${D}${sysconfdir}/init.d/lldpd - install -Dm 0644 ${WORKDIR}/lldpd.default ${D}${sysconfdir}/default/lldpd - # Make an empty configuration file - touch ${D}${sysconfdir}/lldpd.conf -} - -PACKAGES =+ "${PN}-zsh-completion" - -FILES:${PN} += "${libdir}/sysusers.d" -RDEPENDS:${PN} += "os-release" - -FILES:${PN}-zsh-completion += "${datadir}/zsh/" -# FIXME: zsh is broken in meta-oe so this cannot be enabled for now -#RDEPENDS:${PN}-zsh-completion += "zsh" diff --git a/meta-networking/recipes-daemons/lldpd/lldpd_1.0.15.bb b/meta-networking/recipes-daemons/lldpd/lldpd_1.0.15.bb new file mode 100644 index 00000000000..c7237d74bbb --- /dev/null +++ b/meta-networking/recipes-daemons/lldpd/lldpd_1.0.15.bb @@ -0,0 +1,81 @@ +SUMMARY = "A 802.1ab implementation (LLDP) to help you locate neighbors of all your equipments" +SECTION = "net/misc" +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d" + +DEPENDS = "libbsd libevent" + +SRC_URI = "\ + http://media.luffy.cx/files/${BPN}/${BPN}-${PV}.tar.gz \ + file://lldpd.init.d \ + file://lldpd.default \ + file://run-ptest \ + " + +SRC_URI[sha256sum] = "f7fe3a130be98a19c491479ef60f36b8ee41a9e6bc4d7f2c41033f63956a3126" + +inherit autotools update-rc.d useradd systemd pkgconfig bash-completion github-releases ptest + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system -g lldpd --shell /bin/false lldpd" +GROUPADD_PARAM:${PN} = "--system lldpd" + +EXTRA_OECONF += "--without-embedded-libevent \ + --disable-oldies \ + --with-privsep-user=lldpd \ + --with-privsep-group=lldpd \ + --with-systemdsystemunitdir=${systemd_system_unitdir} \ + --without-sysusersdir \ +" + +PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3" +PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxm2" +PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp" +PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" +PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp" +PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp" +PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp" +PACKAGECONFIG[edp] = "--enable-edp,--disable-edp" +PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp" +PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed" +PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1" +PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3" +PACKAGECONFIG[custom] = "--enable-custom,--disable-custom" + +INITSCRIPT_NAME = "lldpd" +INITSCRIPT_PARAMS = "defaults" + +SYSTEMD_SERVICE:${PN} = "lldpd.service" + +do_install:append() { + install -Dm 0755 ${WORKDIR}/lldpd.init.d ${D}${sysconfdir}/init.d/lldpd + install -Dm 0644 ${WORKDIR}/lldpd.default ${D}${sysconfdir}/default/lldpd + # Make an empty configuration file + touch ${D}${sysconfdir}/lldpd.conf +} + +PACKAGES =+ "${PN}-zsh-completion" + +FILES:${PN} += "${libdir}/sysusers.d" +RDEPENDS:${PN} += "os-release" + +FILES:${PN}-zsh-completion += "${datadir}/zsh/" +# FIXME: zsh is broken in meta-oe so this cannot be enabled for now +#RDEPENDS:${PN}-zsh-completion += "zsh" + +RDEPENDS:${PN}-ptest = "libcheck" +DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'libcheck', '', d)}" + +TESTDIR = "tests" +do_compile_ptest () { + # hack to remove the call to `make check-TESTS` + sed -i 's/$(MAKE) $(AM_MAKEFLAGS) check-TESTS//g' ${TESTDIR}/Makefile + oe_runmake check +} + +do_install_ptest () { + # install the tests + cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} + # remove the object files + rm ${D}${PTEST_PATH}/${TESTDIR}/*.o +} diff --git a/meta-networking/recipes-daemons/ncftp/ncftp/0001-Forward-port-defining-PREFIX_BINDIR-to-use-new-autoc.patch b/meta-networking/recipes-daemons/ncftp/ncftp/0001-Forward-port-defining-PREFIX_BINDIR-to-use-new-autoc.patch new file mode 100644 index 00000000000..efd1f345e61 --- /dev/null +++ b/meta-networking/recipes-daemons/ncftp/ncftp/0001-Forward-port-defining-PREFIX_BINDIR-to-use-new-autoc.patch @@ -0,0 +1,25 @@ +From 53ca110d53ca82f6c4224e4c29dbcf7dfe6914cd Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 23 Aug 2022 00:25:06 -0700 +Subject: [PATCH] Forward port defining PREFIX_BINDIR to use new autoconf + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.in b/configure.in +index c3ef568..a320c56 100644 +--- a/configure.in ++++ b/configure.in +@@ -44,7 +44,7 @@ wi_EXTRA_SYSV_SUNOS_DIRS dnl For better curses library on SunOS 4 + + dnl Try to use PATH rather than hardcode the installation path, if possible. + if test "${prefix-NONE}" != "NONE" && test "$prefix" != "/usr/local" && test "$prefix" != "/usr"; then +- AC_DEFINE_UNQUOTED(PREFIX_BINDIR, "$prefix/bin") ++ AC_DEFINE([PREFIX_BINDIR], [${prefix}/bin], [Install bindir]) + fi + + diff --git a/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch b/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch index 1c8146edaf4..22e4f7837b2 100644 --- a/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch +++ b/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch @@ -16,13 +16,9 @@ Other solution would to fix sed.sh to ignore double definitions Upstream-Status: Pending Signed-of-by: Khem Raj - - -Index: ncftp-3.2.6/configure -=================================================================== ---- ncftp-3.2.6.orig/configure -+++ ncftp-3.2.6/configure -@@ -7859,7 +7859,6 @@ chmod 755 "$wi_tmpdir/prpp.pl" +--- a/autoconf_local/aclocal.m4 ++++ b/autoconf_local/aclocal.m4 +@@ -4220,7 +4220,6 @@ changequote({{, }})dnl cat << 'EOF' > "$wi_tmpdir/unistd.c" #include diff --git a/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb b/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb index 592f98f9d3c..e66325c8381 100644 --- a/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb +++ b/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb @@ -9,7 +9,8 @@ SRC_URI = "ftp://ftp.ncftp.com/${BPN}/${BP}-src.tar.xz \ file://ncftp-configure-use-BUILD_CC-for-ccdv.patch \ file://unistd.patch \ file://ncftp-3.2.5-gcc10.patch \ -" + file://0001-Forward-port-defining-PREFIX_BINDIR-to-use-new-autoc.patch \ + " SRC_URI[md5sum] = "42d0f896d69a4d603ec097546444245f" SRC_URI[sha256sum] = "5f200687c05d0807690d9fb770327b226f02dd86155b49e750853fce4e31098d" @@ -20,14 +21,9 @@ CFLAGS += "-DNO_SSLv2 -D_FILE_OFFSET_BITS=64 -Wall" PACKAGECONFIG ??= "" PACKAGECONFIG[ccdv] = "--enable-ccdv,--disable-ccdv,," -EXTRA_OECONF = "--disable-precomp" -TARGET_CC_ARCH:append = " ${SELECTED_OPTIMIZATION}" +EXTRA_OECONF = "--disable-precomp --disable-universal ac_cv_path_TAR=tar" +ACLOCALEXTRAPATH:append = " -I ${S}/autoconf_local" -do_configure() { - 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 () { install -d ${D}${bindir} ${D}${sysconfdir} ${D}${mandir} oe_runmake 'prefix=${D}${prefix}' 'BINDIR=${D}${bindir}' \ diff --git a/meta-networking/recipes-daemons/postfix/files/0006-makedefs-Account-for-linux-6.x-version.patch b/meta-networking/recipes-daemons/postfix/files/0006-makedefs-Account-for-linux-6.x-version.patch new file mode 100644 index 00000000000..ad1704520ce --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/files/0006-makedefs-Account-for-linux-6.x-version.patch @@ -0,0 +1,35 @@ +From e5ddcf9575437bacd64c2b68501b413014186a6a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 19 Oct 2022 10:15:01 -0700 +Subject: [PATCH] makedefs: Account for linux 6.x version + +Major version has bumped to 6 and script needs to know that + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + makedefs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/makedefs ++++ b/makedefs +@@ -613,7 +613,7 @@ EOF + : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"} + : ${PLUGIN_LD="${CC-gcc} -shared"} + ;; +- Linux.[345].*) SYSTYPE=LINUX$RELEASE_MAJOR ++ Linux.[3-6]*) SYSTYPE=LINUX$RELEASE_MAJOR + case "$CCARGS" in + *-DNO_DB*) ;; + *-DHAS_DB*) ;; +--- a/src/util/sys_defs.h ++++ b/src/util/sys_defs.h +@@ -751,7 +751,7 @@ extern int initgroups(const char *, int) + /* + * LINUX. + */ +-#if defined(LINUX2) || defined(LINUX3) || defined(LINUX4) || defined(LINUX5) ++#if defined(LINUX2) || defined(LINUX3) || defined(LINUX4) || defined(LINUX5) || defined(LINUX6) + #define SUPPORTED + #define UINT32_TYPE unsigned int + #define UINT16_TYPE unsigned short diff --git a/meta-networking/recipes-daemons/postfix/postfix_3.6.5.bb b/meta-networking/recipes-daemons/postfix/postfix_3.6.5.bb deleted file mode 100644 index 343a8b2df04..00000000000 --- a/meta-networking/recipes-daemons/postfix/postfix_3.6.5.bb +++ /dev/null @@ -1,17 +0,0 @@ -require postfix.inc - -SRC_URI += "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \ - file://main.cf \ - file://postfix \ - file://internal_recipient \ - file://postfix.service \ - file://aliasesdb \ - file://check_hostname.sh \ - file://0001-Fix-makedefs.patch \ - file://0002-Change-fixed-postconf-to-a-variable-for-cross-compil.patch \ - file://0003-makedefs-Use-native-compiler-to-build-makedefs.test.patch \ - file://0004-Fix-icu-config.patch \ - file://0005-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \ - " -SRC_URI[sha256sum] = "300fa8811cea20d01d25c619d359bffab82656e704daa719e0c9afc4ecff4808" -UPSTREAM_CHECK_REGEX = "postfix\-(?P3\.6(\.\d+)+).tar.gz" diff --git a/meta-networking/recipes-daemons/postfix/postfix_3.7.3.bb b/meta-networking/recipes-daemons/postfix/postfix_3.7.3.bb new file mode 100644 index 00000000000..b54a97aeaf1 --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/postfix_3.7.3.bb @@ -0,0 +1,18 @@ +require postfix.inc + +SRC_URI += "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \ + file://main.cf \ + file://postfix \ + file://internal_recipient \ + file://postfix.service \ + file://aliasesdb \ + file://check_hostname.sh \ + file://0001-Fix-makedefs.patch \ + file://0002-Change-fixed-postconf-to-a-variable-for-cross-compil.patch \ + file://0003-makedefs-Use-native-compiler-to-build-makedefs.test.patch \ + file://0004-Fix-icu-config.patch \ + file://0005-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \ + file://0006-makedefs-Account-for-linux-6.x-version.patch \ + " +SRC_URI[sha256sum] = "d22f3d37ef75613d5d573b56fc51ef097f2c0d0b0e407923711f71c1fb72911b" +UPSTREAM_CHECK_REGEX = "postfix\-(?P3\.6(\.\d+)+).tar.gz" diff --git a/meta-networking/recipes-daemons/radvd/files/0001-Reverts-the-include.h-change-in-46883f8a1a02fe42040d.patch b/meta-networking/recipes-daemons/radvd/files/0001-Reverts-the-include.h-change-in-46883f8a1a02fe42040d.patch new file mode 100644 index 00000000000..57338d4713e --- /dev/null +++ b/meta-networking/recipes-daemons/radvd/files/0001-Reverts-the-include.h-change-in-46883f8a1a02fe42040d.patch @@ -0,0 +1,32 @@ +From 15f439c555289f900eb33111b010bf1266f97edb Mon Sep 17 00:00:00 2001 +From: Jonathan Davies +Date: Thu, 25 Nov 2021 15:29:18 +0000 +Subject: [PATCH] Reverts the include.h change in + 46883f8a1a02fe42040dd8e48aec0ed871545d4d + +Closes: #158 + +Upstream-Status: Backport [https://github.com/radvd-project/radvd/commit/06689f8c06f44c7e87f7ff1d814428f88375b53f] +Signed-off-by: Jonathan Davies +Signed-off-by: Khem Raj +--- + includes.h | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/includes.h b/includes.h +index ef30b10..c528c86 100644 +--- a/includes.h ++++ b/includes.h +@@ -76,12 +76,7 @@ + #include + #endif + +-#if !defined(__GLIBC__) && defined(linux) +-#include +-#define IF_NAMESIZE IFNAMSIZ +-#else + #include +-#endif + + #ifdef HAVE_NET_IF_DL_H + #include diff --git a/meta-networking/recipes-daemons/radvd/radvd.inc b/meta-networking/recipes-daemons/radvd/radvd.inc deleted file mode 100644 index 2afaa484114..00000000000 --- a/meta-networking/recipes-daemons/radvd/radvd.inc +++ /dev/null @@ -1,67 +0,0 @@ -SUMMARY = "IPv6 router advertisement daemon" -DESCRIPTION = "radvd is the router advertisement daemon for IPv6. It \ -listens to router solicitations and sends router \ -advertisements as described in RFC 2461, Neighbor \ -Discovery for IP Version 6 (IPv6). With these \ -advertisements hosts can automatically configure their \ -addresses and some other parameters. They also can \ -choose a default router based on these advertisements." -HOMEPAGE = "http://www.litech.org/radvd/" -SECTION = "net" -DEPENDS = "flex-native bison-native libdaemon " - -# License is BSD-Style (with advertising clause) but also has an additional 0th clause -LICENSE = "radvd" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=73ebbf7182ae996e65e8fadc9a8c45db" - -SRC_URI = "http://v6web.litech.org/radvd/dist/radvd-${PV}.tar.gz \ - file://radvd.init \ - file://radvd.service \ - file://volatiles.03_radvd \ - file://radvd.default \ - file://radvd.conf" - -inherit autotools useradd pkgconfig systemd - -SYSTEMD_SERVICE:${PN} = "radvd.service" -SYSTEMD_AUTO_ENABLE = "disable" - -do_install:append () { - install -m 0755 -d ${D}${sysconfdir}/init.d \ - ${D}${sysconfdir}/default/volatiles \ - ${D}${docdir}/radvd - # Install init script and volatiles - install -m 0755 ${WORKDIR}/radvd.init ${D}${sysconfdir}/init.d/radvd - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/radvd - sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/radvd - sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/radvd - sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/radvd - - install -m 0644 ${WORKDIR}/volatiles.03_radvd ${D}${sysconfdir}/default/volatiles/03_radvd - - # Install systemd service files - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/radvd.service ${D}${systemd_unitdir}/system - sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' \ - -e 's#@SBINDIR@#${sbindir}#g' \ - -e 's#@BASE_BINDIR@#${base_bindir}#g' ${D}${systemd_unitdir}/system/radvd.service - - # Install default environment file - install -m 0644 ${WORKDIR}/radvd.default ${D}${sysconfdir}/default/radvd - - # Documentation - for i in radvd.conf.example README; do \ - install -m 0644 ${S}/$i ${D}${docdir}/radvd; \ - done - - install -m 0644 ${WORKDIR}/radvd.conf ${D}${sysconfdir}/radvd.conf -} - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --home ${localstatedir}/run/radvd/ -M -g nogroup radvd" - -pkg_postinst:${PN} () { - if [ -z "$D" -a -x /etc/init.d/populate-volatile.sh ]; then - /etc/init.d/populate-volatile.sh update - fi -} diff --git a/meta-networking/recipes-daemons/radvd/radvd_2.19.bb b/meta-networking/recipes-daemons/radvd/radvd_2.19.bb index 553987e3d08..f9f810abddd 100644 --- a/meta-networking/recipes-daemons/radvd/radvd_2.19.bb +++ b/meta-networking/recipes-daemons/radvd/radvd_2.19.bb @@ -1,5 +1,70 @@ +SUMMARY = "IPv6 router advertisement daemon" +DESCRIPTION = "radvd is the router advertisement daemon for IPv6. It \ +listens to router solicitations and sends router \ +advertisements as described in RFC 2461, Neighbor \ +Discovery for IP Version 6 (IPv6). With these \ +advertisements hosts can automatically configure their \ +addresses and some other parameters. They also can \ +choose a default router based on these advertisements." +HOMEPAGE = "http://www.litech.org/radvd/" +SECTION = "net" +DEPENDS = "flex-native bison-native libdaemon " -require radvd.inc +# License is BSD-Style (with advertising clause) but also has an additional 0th clause +LICENSE = "radvd" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=73ebbf7182ae996e65e8fadc9a8c45db" -SRC_URI[md5sum] = "e9c425ac48ecb96ea5ea2912c78969f9" +SRC_URI = "http://v6web.litech.org/radvd/dist/radvd-${PV}.tar.gz \ + file://radvd.init \ + file://radvd.service \ + file://volatiles.03_radvd \ + file://radvd.default \ + file://radvd.conf \ + file://0001-Reverts-the-include.h-change-in-46883f8a1a02fe42040d.patch \ + " SRC_URI[sha256sum] = "c36470706fec3a9e6bed394ffea08acaff5dac647848d26b96bb9b9c65d58da0" + +inherit autotools useradd pkgconfig systemd + +SYSTEMD_SERVICE:${PN} = "radvd.service" +SYSTEMD_AUTO_ENABLE = "disable" + +do_install:append () { + install -m 0755 -d ${D}${sysconfdir}/init.d \ + ${D}${sysconfdir}/default/volatiles \ + ${D}${docdir}/radvd + # Install init script and volatiles + install -m 0755 ${WORKDIR}/radvd.init ${D}${sysconfdir}/init.d/radvd + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/radvd + sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/radvd + sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/radvd + sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/radvd + + install -m 0644 ${WORKDIR}/volatiles.03_radvd ${D}${sysconfdir}/default/volatiles/03_radvd + + # Install systemd service files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/radvd.service ${D}${systemd_unitdir}/system + sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' \ + -e 's#@SBINDIR@#${sbindir}#g' \ + -e 's#@BASE_BINDIR@#${base_bindir}#g' ${D}${systemd_unitdir}/system/radvd.service + + # Install default environment file + install -m 0644 ${WORKDIR}/radvd.default ${D}${sysconfdir}/default/radvd + + # Documentation + for i in radvd.conf.example README; do \ + install -m 0644 ${S}/$i ${D}${docdir}/radvd; \ + done + + install -m 0644 ${WORKDIR}/radvd.conf ${D}${sysconfdir}/radvd.conf +} + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --home ${localstatedir}/run/radvd/ -M -g nogroup radvd" + +pkg_postinst:${PN} () { + if [ -z "$D" -a -x /etc/init.d/populate-volatile.sh ]; then + /etc/init.d/populate-volatile.sh update + fi +} diff --git a/meta-networking/recipes-daemons/squid/files/0001-Fix-build-on-Fedora-Rawhide-772.patch b/meta-networking/recipes-daemons/squid/files/0001-Fix-build-on-Fedora-Rawhide-772.patch deleted file mode 100644 index ff51f534489..00000000000 --- a/meta-networking/recipes-daemons/squid/files/0001-Fix-build-on-Fedora-Rawhide-772.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 1f8b5f0e1cc27634a7310be4c9674112f919d974 Mon Sep 17 00:00:00 2001 -From: uhliarik -Date: Thu, 18 Feb 2021 01:08:40 +0000 -Subject: [PATCH] Fix build on Fedora Rawhide (#772) - -* add SYSTEMD_LIBS to all binaries using client_side.cc, fixing linking -* add `` to all sources using std::numeric_limits, fixing gcc-11 - builds ---- -Upstream-Status: Backport [https://github.com/kraj/squid/commit/1f8b5f0e1cc27634a7310be4c9674112f919d974] - src/Makefile.am | 4 ++++ - src/ip/QosConfig.cc | 1 + - src/ipc/mem/PageStack.cc | 1 + - src/ssl/helper.cc | 2 ++ - 4 files changed, 8 insertions(+) - ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -2320,6 +2320,7 @@ tests_test_http_range_LDADD = \ - $(SSLLIB) \ - $(KRB5LIBS) \ - $(LIBCPPUNIT_LIBS) \ -+ $(SYSTEMD_LIBS) \ - $(COMPAT_LIB) \ - $(XTRA_LIBS) - tests_test_http_range_LDFLAGS = $(LIBADD_DL) -@@ -2624,6 +2625,7 @@ tests_testHttpRequest_LDADD = \ - $(SSLLIB) \ - $(KRB5LIBS) \ - $(LIBCPPUNIT_LIBS) \ -+ $(SYSTEMD_LIBS) \ - $(COMPAT_LIB) \ - $(XTRA_LIBS) - tests_testHttpRequest_LDFLAGS = $(LIBADD_DL) -@@ -3487,6 +3489,7 @@ tests_testURL_LDADD = \ - $(SSLLIB) \ - $(KRB5LIBS) \ - $(LIBCPPUNIT_LIBS) \ -+ $(SYSTEMD_LIBS) \ - $(COMPAT_LIB) \ - $(XTRA_LIBS) - tests_testURL_LDFLAGS = $(LIBADD_DL) -@@ -3646,6 +3649,7 @@ nodist_tests_testYesNoNone_SOURCES = \ - tests_testYesNoNone_LDADD= \ - base/libbase.la \ - $(LIBCPPUNIT_LIBS) \ -+ $(SYSTEMD_LIBS) \ - $(COMPAT_LIB) \ - $(XTRA_LIBS) - tests_testYesNoNone_LDFLAGS = $(LIBADD_DL) ---- a/src/ip/QosConfig.cc -+++ b/src/ip/QosConfig.cc -@@ -21,6 +21,7 @@ - #include "Parsing.h" - - #include -+#include - - CBDATA_CLASS_INIT(acl_tos); - ---- a/src/ipc/mem/PageStack.cc -+++ b/src/ipc/mem/PageStack.cc -@@ -14,6 +14,7 @@ - #include "Debug.h" - #include "ipc/mem/Page.h" - #include "ipc/mem/PageStack.h" -+#include - - /// used to mark a stack slot available for storing free page offsets - const Ipc::Mem::PageStack::Value Writable = 0; ---- a/src/ssl/helper.cc -+++ b/src/ssl/helper.cc -@@ -19,6 +19,8 @@ - #include "ssl/helper.h" - #include "wordlist.h" - -+#include -+ - Ssl::CertValidationHelper::LruCache *Ssl::CertValidationHelper::HelperCache = nullptr; - - #if USE_SSL_CRTD - diff --git a/meta-networking/recipes-daemons/squid/files/0001-splay.cc-fix-bind-is-not-a-member-of-std.patch b/meta-networking/recipes-daemons/squid/files/0001-splay.cc-fix-bind-is-not-a-member-of-std.patch deleted file mode 100644 index fbbad1597f2..00000000000 --- a/meta-networking/recipes-daemons/squid/files/0001-splay.cc-fix-bind-is-not-a-member-of-std.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 1def5b4278d97f197520d23c1dce52f93a1b2f46 Mon Sep 17 00:00:00 2001 -From: Andrej Valek -Date: Tue, 9 Apr 2019 09:40:30 +0200 -Subject: [PATCH] splay.cc: fix bind is not a member of std - -fix -| ../../squid-4.6/test-suite/splay.cc:134:28: error: 'bind' is not a member of 'std' -| auto nextRandom = std::bind (distribution, generator); -| ^~~~ -| ../../squid-4.6/test-suite/splay.cc:134:28: note: 'std::bind' is defined in header ''; did you forget to '#include '? - -Signed-off-by: Andrej Valek ---- - test-suite/splay.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/test-suite/splay.cc b/test-suite/splay.cc -index f71b337..4e21adc 100644 ---- a/test-suite/splay.cc -+++ b/test-suite/splay.cc -@@ -20,6 +20,7 @@ - #include - #endif - #include -+#include - - class intnode - { --- -2.11.0 - diff --git a/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch b/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch deleted file mode 100644 index f267875ed8c..00000000000 --- a/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 86dae8010310d13bd2a2beb006b4085d06ae1556 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 25 Jun 2017 00:59:24 -0700 -Subject: [PATCH] tools.cc: fixed unused-result warning - -fix -| ../../squid-3.5.26/src/tools.cc: In function 'void enter_suid()': -| ../../squid-3.5.26/src/tools.cc:616:11: error: ignoring return value of 'int setuid(__uid_t)', declared with attribute warn_unused_result [-Werror=unused-result] -| setuid(0); -| ~~~~~~^~~ - -Signed-off-by: Khem Raj - ---- - src/tools.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/tools.cc b/src/tools.cc -index 5829574..19f0836 100644 ---- a/src/tools.cc -+++ b/src/tools.cc -@@ -581,8 +581,10 @@ enter_suid(void) - debugs (21, 3, "enter_suid: setresuid failed: " << xstrerr(xerrno)); - } - #else -- -- setuid(0); -+ if (setuid(0) < 0) { -+ const auto xerrno = errno; -+ debugs(50, DBG_IMPORTANT, "WARNING: no_suid: setuid(0): " << xstrerr(xerrno)); -+ } - #endif - #if HAVE_PRCTL && defined(PR_SET_DUMPABLE) - /* Set Linux DUMPABLE flag */ diff --git a/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch b/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch index 1516bb014b4..a429b7b2db1 100644 --- a/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch +++ b/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch @@ -19,7 +19,7 @@ diff --git a/configure.ac b/configure.ac index d2f7feb..c7ae568 100644 --- a/configure.ac +++ b/configure.ac -@@ -3235,6 +3235,16 @@ case "$host" in +@@ -3268,6 +3268,16 @@ case "$host" in ;; esac diff --git a/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch b/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch index dd83b62e671..10853333e22 100644 --- a/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch +++ b/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch @@ -38,10 +38,10 @@ index ad0ba60..4477446 100644 ]) ]) dnl SQUID_CHECK_KRB5_HEIMDAL_BROKEN_KRB5_H diff --git a/acinclude/lib-checks.m4 b/acinclude/lib-checks.m4 -index 7624b56..b449c5a 100644 +index 1e9333527c..2d42787029 100644 --- a/acinclude/lib-checks.m4 +++ b/acinclude/lib-checks.m4 -@@ -217,7 +217,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_CONST_SSL_METHOD],[ +@@ -227,7 +227,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_CONST_SSL_METHOD],[ [ AC_MSG_RESULT([no]) ], @@ -52,14 +52,15 @@ index 7624b56..b449c5a 100644 SQUID_STATE_ROLLBACK(check_const_SSL_METHOD) ]) -@@ -377,7 +379,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_TXTDB],[ +@@ -386,8 +386,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_TXTDB],[ + [ AC_MSG_RESULT([yes]) AC_DEFINE(SQUID_USE_SSLLHASH_HACK, 1) - ], +- ], -[]) -+[ -+ AC_MSG_RESULT([skipped - can't test in cross-compiled env]) -+]) ++ ],[ ++ AC_MSG_RESULT([skipped - can't test in cross-compiled env]) ++ ]) SQUID_STATE_ROLLBACK(check_TXTDB) ]) diff --git a/meta-networking/recipes-daemons/squid/files/squid-don-t-do-squid-conf-tests-at-build-time.patch b/meta-networking/recipes-daemons/squid/files/squid-don-t-do-squid-conf-tests-at-build-time.patch index e5267ea2b27..ea27285e09d 100644 --- a/meta-networking/recipes-daemons/squid/files/squid-don-t-do-squid-conf-tests-at-build-time.patch +++ b/meta-networking/recipes-daemons/squid/files/squid-don-t-do-squid-conf-tests-at-build-time.patch @@ -20,11 +20,11 @@ Signed-off-by: Jackie Huang 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/test-suite/Makefile.am b/test-suite/Makefile.am -index 061a463..350dfb2 100644 +index 0233c0e..e0021b6 100644 --- a/test-suite/Makefile.am +++ b/test-suite/Makefile.am -@@ -41,8 +41,7 @@ TESTS += debug \ - MemPoolTest\ +@@ -40,8 +40,7 @@ TESTS += debug \ + splay\ mem_node_test\ mem_hdr_test\ - $(ESI_TESTS) \ @@ -33,7 +33,7 @@ index 061a463..350dfb2 100644 ## Sort by alpha - any build failures are significant. check_PROGRAMS += debug \ -@@ -125,19 +124,19 @@ VirtualDeleteOperator_SOURCES = VirtualDeleteOperator.cc $(DEBUG_SOURCE) +@@ -159,19 +158,19 @@ VirtualDeleteOperator_SOURCES = \ ##$(TARGLIB): $(LIBOBJS) ## $(AR_R) $(TARGLIB) $(LIBOBJS) diff --git a/meta-networking/recipes-daemons/squid/squid_4.15.bb b/meta-networking/recipes-daemons/squid/squid_4.15.bb deleted file mode 100644 index a1122a3cd45..00000000000 --- a/meta-networking/recipes-daemons/squid/squid_4.15.bb +++ /dev/null @@ -1,117 +0,0 @@ -SUMMARY = "A fully-featured http proxy and web-cache daemon for Linux" -DESCRIPTION = "A fully-featured http proxy and web-cache daemon for Linux. \ -Squid offers a rich access control, authorization and logging environment to \ -develop web proxy and content serving applications. \ -Squid offers a rich set of traffic optimization options, most of which are \ -enabled by default for simpler installation and high performance. \ -" -HOMEPAGE = "http://www.squid-cache.org" -SECTION = "web" -LICENSE = "GPL-2.0-or-later" - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 1)}" -MIN_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "http://www.squid-cache.org/Versions/v${MAJ_VER}/${BPN}-${PV}.tar.bz2 \ - file://Set-up-for-cross-compilation.patch \ - file://Skip-AC_RUN_IFELSE-tests.patch \ - file://Fix-flawed-dynamic-ldb-link-test-in-configure.patch \ - file://squid-use-serial-tests-config-needed-by-ptest.patch \ - file://run-ptest \ - file://volatiles.03_squid \ - file://set_sysroot_patch.patch \ - file://squid-don-t-do-squid-conf-tests-at-build-time.patch \ - file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \ - file://0001-tools.cc-fixed-unused-result-warning.patch \ - file://0001-splay.cc-fix-bind-is-not-a-member-of-std.patch \ - file://0001-Fix-build-on-Fedora-Rawhide-772.patch \ - " - -SRC_URI:remove:toolchain-clang = "file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch" - -SRC_URI[sha256sum] = "71635811e766ce8b155225a9e3c7757cfc7ff93df26b28d82e5e6fc021b9a605" - -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://errors/COPYRIGHT;md5=0e03cd976052c45697ad5d96e7dff8dc \ - " -DEPENDS = "libtool krb5 openldap db cyrus-sasl" - -inherit autotools pkgconfig useradd ptest perlnative - -LDFLAGS:append:mipsarch = " -latomic" -LDFLAGS:append:powerpc = " -latomic" -LDFLAGS:append:riscv64 = " -latomic" -LDFLAGS:append:riscv32 = " -latomic" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ - " -PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[werror] = "--enable-strict-error-checking,--disable-strict-error-checking," -PACKAGECONFIG[esi] = "--enable-esi,--disable-esi,expat libxml2" -PACKAGECONFIG[ssl] = "--with-openssl=yes,--with-openssl=no,openssl" - -BASIC_AUTH = "DB SASL LDAP" - -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" -BASIC_AUTH += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'PAM', '', d)}" - -EXTRA_OECONF += "--with-default-user=squid --enable-auth-basic='${BASIC_AUTH}' \ - --sysconfdir=${sysconfdir}/${BPN} \ - --with-logdir=${localstatedir}/log/${BPN} \ - 'PERL=${USRBINPATH}/env perl'" - -export BUILDCXXFLAGS="${BUILD_CXXFLAGS}" - -TESTDIR = "test-suite" - -do_configure:prepend() { - export SYSROOT=$PKG_CONFIG_SYSROOT_DIR -} - -do_compile_ptest() { - oe_runmake -C ${TESTDIR} buildtest-TESTS -} - -do_install_ptest() { - cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} - cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} - - # do NOT need to rebuild Makefile itself - sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - - # Add squid-conf-tests for runtime tests - sed -e 's/^\(runtest-TESTS:\)/\1 squid-conf-tests/' \ - -e "s/\(list=' \$(TESTS)\)/\1 squid-conf-tests/" \ - -i ${D}${PTEST_PATH}/${TESTDIR}/Makefile - - # Ensure the path for command true is correct - sed -i 's:^TRUE = .*$:TRUE = /bin/true:' ${D}${PTEST_PATH}/${TESTDIR}/Makefile -} - -do_install:append() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d ${localstatedir}/run/${BPN} 0755 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf - echo "d ${localstatedir}/log/${BPN} 0750 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf - fi - - install -d ${D}${sysconfdir}/default/volatiles - install -m 0644 ${WORKDIR}/volatiles.03_squid ${D}${sysconfdir}/default/volatiles/03_squid - - rmdir "${D}${localstatedir}/run/${BPN}" - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/run" - - rmdir "${D}${localstatedir}/log/${BPN}" - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/log" -} - -FILES:${PN} += "${libdir} ${datadir}/errors ${datadir}/icons" -FILES:${PN}-dbg += "/usr/src/debug" -FILES:${PN}-doc += "${datadir}/*.txt" - -RDEPENDS:${PN} += "perl" -RDEPENDS:${PN}-ptest += "make" diff --git a/meta-networking/recipes-daemons/squid/squid_5.7.bb b/meta-networking/recipes-daemons/squid/squid_5.7.bb new file mode 100644 index 00000000000..a208a2a88ff --- /dev/null +++ b/meta-networking/recipes-daemons/squid/squid_5.7.bb @@ -0,0 +1,124 @@ +SUMMARY = "A fully-featured http proxy and web-cache daemon for Linux" +DESCRIPTION = "A fully-featured http proxy and web-cache daemon for Linux. \ +Squid offers a rich access control, authorization and logging environment to \ +develop web proxy and content serving applications. \ +Squid offers a rich set of traffic optimization options, most of which are \ +enabled by default for simpler installation and high performance. \ +" +HOMEPAGE = "http://www.squid-cache.org" +SECTION = "web" +LICENSE = "GPL-2.0-or-later" + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 1)}" +MIN_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "http://www.squid-cache.org/Versions/v${MAJ_VER}/${BPN}-${PV}.tar.bz2 \ + file://Set-up-for-cross-compilation.patch \ + file://Skip-AC_RUN_IFELSE-tests.patch \ + file://Fix-flawed-dynamic-ldb-link-test-in-configure.patch \ + file://squid-use-serial-tests-config-needed-by-ptest.patch \ + file://run-ptest \ + file://volatiles.03_squid \ + file://set_sysroot_patch.patch \ + file://squid-don-t-do-squid-conf-tests-at-build-time.patch \ + file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \ + " + +SRC_URI:remove:toolchain-clang = "file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch" + +SRC_URI[sha256sum] = "4c17e1eb324c4b7aa3c6889eba66eeca7ed98625d44076f7db7b027b2b093bd5" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://errors/COPYRIGHT;md5=0a7deb73d8fb7a9849af7145987829a4 \ + " +DEPENDS = "libtool krb5 openldap db cyrus-sasl" + +inherit autotools pkgconfig useradd ptest perlnative + +LDFLAGS:append:mipsarch = " -latomic" +LDFLAGS:append:powerpc = " -latomic" +LDFLAGS:append:riscv64 = " -latomic" +LDFLAGS:append:riscv32 = " -latomic" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ + " +PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[werror] = "--enable-strict-error-checking,--disable-strict-error-checking," +PACKAGECONFIG[esi] = "--enable-esi,--disable-esi,expat libxml2" +PACKAGECONFIG[ssl] = "--with-openssl=yes,--with-openssl=no,openssl" + +BASIC_AUTH = "DB SASL LDAP" + +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" +BASIC_AUTH += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'PAM', '', d)}" + +EXTRA_OECONF += "--with-default-user=squid --enable-auth-basic='${BASIC_AUTH}' \ + --sysconfdir=${sysconfdir}/${BPN} \ + --with-logdir=${localstatedir}/log/${BPN} \ + 'PERL=${USRBINPATH}/env perl'" + +export BUILDCXXFLAGS="${BUILD_CXXFLAGS}" + +TESTDIR = "test-suite" + +do_configure:prepend() { + export SYSROOT=$PKG_CONFIG_SYSROOT_DIR +} + +do_compile_ptest() { + oe_runmake -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} + cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} + + # Needed to generate file squid.conf.default + oe_runmake DESTDIR=${D}${PTEST_PATH} -C src install-data-local + install -d ${D}${sysconfdir}/squid + install -m 0644 ${D}${PTEST_PATH}/${sysconfdir}/squid/squid.conf.default ${D}${sysconfdir}/squid + + # Don't need these directories + rm -rf ${D}${PTEST_PATH}/${sysconfdir} + rm -rf ${D}${PTEST_PATH}/usr + rm -rf ${D}${PTEST_PATH}/var + + # do NOT need to rebuild Makefile itself + sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # Add squid-conf-tests for runtime tests + sed -e 's/^\(runtest-TESTS:\)/\1 squid-conf-tests/' \ + -i ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # Ensure the path for command true is correct + sed -i 's:^TRUE = .*$:TRUE = /bin/true:' ${D}${PTEST_PATH}/${TESTDIR}/Makefile +} + +do_install:append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d ${localstatedir}/run/${BPN} 0755 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + echo "d ${localstatedir}/log/${BPN} 0750 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + fi + + install -d ${D}${sysconfdir}/default/volatiles + install -m 0644 ${WORKDIR}/volatiles.03_squid ${D}${sysconfdir}/default/volatiles/03_squid + + rmdir "${D}${localstatedir}/run/${BPN}" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/run" + + rmdir "${D}${localstatedir}/log/${BPN}" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/log" +} + +FILES:${PN} += "${libdir} ${datadir}/errors ${datadir}/icons" +FILES:${PN}-dbg += "/usr/src/debug" +FILES:${PN}-doc += "${datadir}/*.txt" +FILES:${PN}-ptest += "${sysconfdir}/squid/squid.conf.default" + +RDEPENDS:${PN} += "perl" +RDEPENDS:${PN}-ptest += "perl make" diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/0001-tftp-Remove-double-inclusion-of-signal.h.patch b/meta-networking/recipes-daemons/tftp-hpa/files/0001-tftp-Remove-double-inclusion-of-signal.h.patch new file mode 100644 index 00000000000..84658d667bd --- /dev/null +++ b/meta-networking/recipes-daemons/tftp-hpa/files/0001-tftp-Remove-double-inclusion-of-signal.h.patch @@ -0,0 +1,39 @@ +From e9ed48d91642d384ce07cbb9bec788f07fc6354c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 6 Sep 2022 14:51:42 -0700 +Subject: [PATCH] tftp: Remove double inclusion of signal.h + +Undefine __USE_XOPEN2K8 so we can get bsd_signal definition from system +headers + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + config.h | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/config.h b/config.h +index 3ff2915..ae1a14b 100644 +--- a/config.h ++++ b/config.h +@@ -93,7 +93,6 @@ + #endif + + #include +-#include + + #ifdef HAVE_SYS_SOCKET_H + #include +@@ -296,6 +295,9 @@ char *xstrdup(const char *); + + #ifndef HAVE_BSD_SIGNAL + void (*bsd_signal(int, void (*)(int))) (int); ++#else ++#undef __USE_XOPEN2K8 ++#include + #endif + #ifndef HAVE_DUP2 + int dup2(int, int); +-- +2.37.3 + diff --git a/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb b/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb index af42bda93c9..565f493ce2d 100644 --- a/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb +++ b/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb @@ -29,6 +29,7 @@ SRC_URI = "http://kernel.org/pub/software/network/tftp/tftp-hpa/tftp-hpa-${PV}.t file://fix-writing-emtpy-file.patch \ file://0001-__progname-is-provided-by-libc.patch \ file://0001-tftp-Mark-toplevel-definition-as-external.patch \ + file://0001-tftp-Remove-double-inclusion-of-signal.h.patch \ file://tftpd-hpa.socket \ file://tftpd-hpa.service \ " diff --git a/meta-networking/recipes-devtools/libcoap/libcoap/0001-coap_session.c-Balance-SESSIONS_ADD-and-SESSIONS_DEL.patch b/meta-networking/recipes-devtools/libcoap/libcoap/0001-coap_session.c-Balance-SESSIONS_ADD-and-SESSIONS_DEL.patch deleted file mode 100644 index c8ac8485a0a..00000000000 --- a/meta-networking/recipes-devtools/libcoap/libcoap/0001-coap_session.c-Balance-SESSIONS_ADD-and-SESSIONS_DEL.patch +++ /dev/null @@ -1,51 +0,0 @@ -From c56a64ff4df7eecb6c88ff929497bcd0d65934f2 Mon Sep 17 00:00:00 2001 -From: Jon Shallow -Date: Fri, 22 Apr 2022 13:15:39 +0100 -Subject: [PATCH] coap_session.c: Balance SESSIONS_ADD and SESSIONS_DELETE - usage - -Upstream-Status: Backport [https://github.com/obgm/libcoap/commit/7e20aa9ef17277f39203334404e6c776b1171a7d] -Signed-off-by: Alex Kiernan -Signed-off-by: Alex Kiernan ---- - src/coap_session.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/src/coap_session.c b/src/coap_session.c -index 77cae598f0af..536e57573361 100644 ---- a/src/coap_session.c -+++ b/src/coap_session.c -@@ -813,6 +813,12 @@ coap_session_create_client( - return session; - - error: -+ /* -+ * Need to add in the session as coap_session_release() -+ * will call SESSIONS_DELETE in coap_session_free(). -+ */ -+ if (session) -+ SESSIONS_ADD(ctx->sessions, session); - coap_session_release(session); - return NULL; - } -@@ -1133,11 +1139,17 @@ coap_session_t *coap_new_server_session( - if (session) { - coap_log(LOG_DEBUG, "***%s: new incoming session\n", - coap_session_str(session)); -+ /* Returned session may already have been released and is now NULL */ - session = coap_session_accept(session); - } - return session; - - error: -+ /* -+ * Need to add in the session as coap_session_release() -+ * will call SESSIONS_DELETE in coap_session_free(). -+ */ -+ SESSIONS_ADD(ep->sessions, session); - coap_session_free(session); - return NULL; - } --- -2.35.1 - diff --git a/meta-networking/recipes-devtools/libcoap/libcoap/0001-libcoap-Fix-gnu-configize-error.patch b/meta-networking/recipes-devtools/libcoap/libcoap/0001-libcoap-Fix-gnu-configize-error.patch deleted file mode 100644 index 64f8d3acc81..00000000000 --- a/meta-networking/recipes-devtools/libcoap/libcoap/0001-libcoap-Fix-gnu-configize-error.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 25f1bebf1bc4c8da47f976d24a7a424253744e2e Mon Sep 17 00:00:00 2001 -From: Alex Kiernan -Date: Wed, 24 Mar 2021 09:10:17 +0000 -Subject: [PATCH] libcoap: Fix gnu-configize error - -Fix: - - autoreconf: running: gnu-configize - gnu-configize: 'configure.ac' or 'configure.in' is required - autoreconf: gnu-configize failed with exit status: 1 - -We're not pulling in the ext/tinydtls submodule, so this fails. - -Upstream-Status: Inappropriate [oe-specific] -Signed-off-by: Alex Kiernan -Signed-off-by: Alex Kiernan ---- - configure.ac | 13 ------------- - 1 file changed, 13 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 9f51f4c67557..559808e03aa2 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -472,19 +472,6 @@ if test "x$build_dtls" = "xyes"; then - have_tinydtls="no" # don't confuse AC_MSG_RESULT at the end of the script - fi - -- # The user wants to use explicit TinyDTLS if '--with-tinydtls was set'. -- if test "x$with_tinydtls" = "xyes" ; then -- if test -d "$srcdir/ext/tinydtls"; then -- AC_CONFIG_SUBDIRS([ext/tinydtls]) -- have_tinydtls="yes" -- else -- have_tinydtls="no" # don't confuse AC_MSG_RESULT at the end of the script -- fi -- have_gnutls="no" # don't confuse AC_MSG_RESULT at the end of the script -- have_openssl="no" # don't confuse AC_MSG_RESULT at the end of the script -- have_mbedtls="no" # don't confuse AC_MSG_RESULT at the end of the script -- fi -- - if test "$TLSCOUNT" -eq 0; then - # The user hasn't requested the use of a specific cryptography library - # we try first GnuTLS for usability ... diff --git a/meta-networking/recipes-devtools/libcoap/libcoap_4.3.0.bb b/meta-networking/recipes-devtools/libcoap/libcoap_4.3.0.bb deleted file mode 100644 index aba81d126a6..00000000000 --- a/meta-networking/recipes-devtools/libcoap/libcoap_4.3.0.bb +++ /dev/null @@ -1,58 +0,0 @@ -SUMMARY = "A C implementation of the Constrained Application Protocol" -DESCRIPTION = "libcoap implements a lightweight application-protocol for \ -devices that are constrained their resources such as computing power, \ -RF range, memory, bandwith, or network packet sizes." -HOMEPAGE ="https://libcoap.net/" - -LICENSE = "BSD-2-Clause & BSD-1-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e44b3af4925ec58e9f49b9ff143b5493" - -SRC_URI = "git://github.com/obgm/libcoap.git;branch=main;protocol=https \ - file://0001-libcoap-Fix-gnu-configize-error.patch \ - file://0001-coap_session.c-Balance-SESSIONS_ADD-and-SESSIONS_DEL.patch \ - file://run-ptest \ - " -SRCREV = "1da37b9abbe871675d5939395b498324ccc8ecfe" - -S = "${WORKDIR}/git" - -inherit autotools manpages pkgconfig ptest - -PACKAGECONFIG ?= "\ - async openssl tcp \ - ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ -" -PACKAGECONFIG[async] = "--enable-async,--disable-async" -PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls,,openssl mbedtls" -PACKAGECONFIG[manpages] = "--enable-documentation --enable-doxygen --enable-manpages,--disable-documentation,asciidoc-native doxygen-native graphviz-native" -PACKAGECONFIG[mbedtls] = "--with-mbedtls,--without-mbedtls,mbedtls,,gnutls openssl" -PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,,gnutls mbedtls" -PACKAGECONFIG[small-stack] = "--enable-small-stack,--disable-small-stack" -PACKAGECONFIG[tcp] = "--enable-tcp,--disable-tcp" -PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,cunit" - -EXTRA_OECONF = "\ - --with-epoll --enable-add-default-names \ - --without-tinydtls \ - ${@bb.utils.contains_any('PACKAGECONFIG', 'gnutls openssl mbedtls', '--enable-dtls', '--disable-dtls', d)} \ -" - -python () { - if d.getVar('PTEST_ENABLED') == "1": - d.setVar('DISABLE_STATIC', '') -} - -export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog" - -do_install_ptest () { - install -d ${D}${PTEST_PATH} - install -m 0755 ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest - install -m 0755 ${B}/tests/testdriver ${D}${PTEST_PATH}/testdriver -} - -PACKAGE_BEFORE_PN += "\ - ${PN}-bin \ -" - -FILES:${PN}-bin = "${bindir}" -FILES:${PN}-dev += "${datadir}/${BPN}/examples" diff --git a/meta-networking/recipes-devtools/libcoap/libcoap_4.3.1.bb b/meta-networking/recipes-devtools/libcoap/libcoap_4.3.1.bb new file mode 100644 index 00000000000..0fc342560aa --- /dev/null +++ b/meta-networking/recipes-devtools/libcoap/libcoap_4.3.1.bb @@ -0,0 +1,56 @@ +SUMMARY = "A C implementation of the Constrained Application Protocol" +DESCRIPTION = "libcoap implements a lightweight application-protocol for \ +devices that are constrained their resources such as computing power, \ +RF range, memory, bandwith, or network packet sizes." +HOMEPAGE ="https://libcoap.net/" + +LICENSE = "BSD-2-Clause & BSD-1-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0fbe4435d52b2d27a16f980ffc8ffc80" + +SRC_URI = "git://github.com/obgm/libcoap.git;branch=main;protocol=https \ + file://run-ptest \ + " +SRCREV = "02b76470ab9168947152c78ad50835bf043d7c84" + +S = "${WORKDIR}/git" + +inherit autotools manpages pkgconfig ptest + +PACKAGECONFIG ?= "\ + async openssl tcp \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ +" +PACKAGECONFIG[async] = "--enable-async,--disable-async" +PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls,,,openssl mbedtls" +PACKAGECONFIG[manpages] = "--enable-documentation --enable-doxygen --enable-manpages,--disable-documentation,asciidoc-native doxygen-native graphviz-native" +PACKAGECONFIG[mbedtls] = "--with-mbedtls,--without-mbedtls,mbedtls,,,gnutls openssl" +PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,,,gnutls mbedtls" +PACKAGECONFIG[small-stack] = "--enable-small-stack,--disable-small-stack" +PACKAGECONFIG[tcp] = "--enable-tcp,--disable-tcp" +PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,cunit" + +EXTRA_OECONF = "\ + --with-epoll --enable-add-default-names \ + --without-tinydtls --without-submodule-tinydtls \ + ${@bb.utils.contains_any('PACKAGECONFIG', 'gnutls openssl mbedtls', '--enable-dtls', '--disable-dtls', d)} \ +" + +python () { + if d.getVar('PTEST_ENABLED') == "1": + d.setVar('DISABLE_STATIC', '') +} + +export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog" + +do_install_ptest () { + install -d ${D}${PTEST_PATH} + install -m 0755 ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest + install -m 0755 ${B}/tests/testdriver ${D}${PTEST_PATH}/testdriver +} + +PACKAGE_BEFORE_PN += "\ + ${PN}-bin \ +" + +FILES:${PN}-bin = "${bindir}" +FILES:${PN}-dev += "${datadir}/${BPN}/examples" diff --git a/meta-networking/recipes-extended/corosync/corosync_3.0.3.bb b/meta-networking/recipes-extended/corosync/corosync_3.0.3.bb deleted file mode 100644 index ec2a7852770..00000000000 --- a/meta-networking/recipes-extended/corosync/corosync_3.0.3.bb +++ /dev/null @@ -1,63 +0,0 @@ -SUMMARY = "The Corosync Cluster Engine and Application Programming Interfaces" -DESCRIPTION = "This package contains the Corosync Cluster Engine Executive, several default \ -APIs and libraries, default configuration files, and an init script." -HOMEPAGE = "http://corosync.github.io/corosync/" - -SECTION = "base" - -inherit autotools pkgconfig systemd - -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \ - file://corosync.conf \ - " -SRC_URI[sha256sum] = "20eb903eb984f6a728282c199825e442e8bba869acefd22390076ef3a33a4ded" -UPSTREAM_CHECK_REGEX = "(?P\d+\.(?!99)\d+(\.\d+)+)" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d" - -DEPENDS = "groff-native nss libqb kronosnet" - -SYSTEMD_SERVICE:${PN} = "corosync.service corosync-notifyd.service" -SYSTEMD_AUTO_ENABLE = "disable" - -INITSCRIPT_NAME = "corosync-daemon" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ - dbus snmp \ -" - -PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus" -PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp" -PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_system_unitdir},--disable-systemd --without-systemddir,systemd" - -EXTRA_OECONF = "ac_cv_path_BASHPATH=${base_bindir}/bash ap_cv_cc_pie=no" -EXTRA_OEMAKE = "tmpfilesdir_DATA=" - -#do_configure:prepend() { -# ( cd ${S} -# ${S}/autogen.sh ) -#} - -do_install:append() { - install -D -m 0644 ${WORKDIR}/corosync.conf ${D}${sysconfdir}/corosync/corosync.conf.example - install -d ${D}${sysconfdir}/sysconfig/ - install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync - install -m 0644 ${S}/tools/corosync-notifyd.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync-notifyd - - rmdir ${D}${localstatedir}/log/cluster ${D}${localstatedir}/log - rmdir --ignore-fail-on-non-empty ${D}${localstatedir} - - install -d ${D}${sysconfdir}/default/volatiles - echo "d root root 0755 ${localstatedir}/log/cluster none" > ${D}${sysconfdir}/default/volatiles/05_corosync - - if [ ${@bb.utils.filter('DISTRO_FEATURES','systemd',d)} ]; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d ${localstatedir}/log/cluster - - - -" > ${D}${sysconfdir}/tmpfiles.d/corosync.conf - fi -} - -RDEPENDS:${PN} += "bash ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit-pidof', 'procps', d)}" - -FILES:${PN}-dbg += "${libexecdir}/lcrso/.debug" -FILES:${PN}-doc += "${datadir}/snmp/mibs/COROSYNC-MIB.txt" diff --git a/meta-networking/recipes-extended/corosync/corosync_3.1.6.bb b/meta-networking/recipes-extended/corosync/corosync_3.1.6.bb new file mode 100644 index 00000000000..8fca5766143 --- /dev/null +++ b/meta-networking/recipes-extended/corosync/corosync_3.1.6.bb @@ -0,0 +1,63 @@ +SUMMARY = "The Corosync Cluster Engine and Application Programming Interfaces" +DESCRIPTION = "This package contains the Corosync Cluster Engine Executive, several default \ +APIs and libraries, default configuration files, and an init script." +HOMEPAGE = "http://corosync.github.io/corosync/" + +SECTION = "base" + +inherit autotools pkgconfig systemd + +SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \ + file://corosync.conf \ + " +SRC_URI[sha256sum] = "ca6ed32b4d7f33ed614afce8760fe58d0de92c68b575d4969ebacd892f3d1e27" +UPSTREAM_CHECK_REGEX = "(?P\d+\.(?!99)\d+(\.\d+)+)" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d" + +DEPENDS = "groff-native nss libqb kronosnet" + +SYSTEMD_SERVICE:${PN} = "corosync.service corosync-notifyd.service" +SYSTEMD_AUTO_ENABLE = "disable" + +INITSCRIPT_NAME = "corosync-daemon" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ + dbus snmp \ +" + +PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus" +PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp" +PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_system_unitdir},--disable-systemd --without-systemddir,systemd" + +EXTRA_OECONF = "ac_cv_path_BASHPATH=${base_bindir}/bash ap_cv_cc_pie=no" +EXTRA_OEMAKE = "tmpfilesdir_DATA=" + +#do_configure:prepend() { +# ( cd ${S} +# ${S}/autogen.sh ) +#} + +do_install:append() { + install -D -m 0644 ${WORKDIR}/corosync.conf ${D}${sysconfdir}/corosync/corosync.conf.example + install -d ${D}${sysconfdir}/sysconfig/ + install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync + install -m 0644 ${S}/tools/corosync-notifyd.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync-notifyd + + rmdir ${D}${localstatedir}/log/cluster ${D}${localstatedir}/log + rmdir --ignore-fail-on-non-empty ${D}${localstatedir} + + install -d ${D}${sysconfdir}/default/volatiles + echo "d root root 0755 ${localstatedir}/log/cluster none" > ${D}${sysconfdir}/default/volatiles/05_corosync + + if [ ${@bb.utils.filter('DISTRO_FEATURES','systemd',d)} ]; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d ${localstatedir}/log/cluster - - - -" > ${D}${sysconfdir}/tmpfiles.d/corosync.conf + fi +} + +RDEPENDS:${PN} += "bash ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit-pidof', 'procps', d)}" + +FILES:${PN}-dbg += "${libexecdir}/lcrso/.debug" +FILES:${PN}-doc += "${datadir}/snmp/mibs/COROSYNC-MIB.txt" diff --git a/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch b/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch index f56359a4732..3d1551574ed 100644 --- a/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch +++ b/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch @@ -1,4 +1,4 @@ -From ad207a6f83dac390b2d95e3a8262d27292921863 Mon Sep 17 00:00:00 2001 +From da08f5ec5e553bd43f92a0b0f7476179b0b74502 Mon Sep 17 00:00:00 2001 From: Changqing Li Date: Wed, 26 Jun 2019 11:49:33 +0800 Subject: [PATCH] dlm: fix compile error since xml2-config should not be used @@ -9,28 +9,27 @@ to find libxml2. Upstream-Status: Inappropriate [oe-specific] Signed-off-by: Changqing Li + --- fence/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fence/Makefile b/fence/Makefile -index b927879..6e16078 100644 +index 2b080468..ff2eda3f 100644 --- a/fence/Makefile +++ b/fence/Makefile -@@ -18,11 +18,11 @@ CFLAGS += -D_GNU_SOURCE -O2 -ggdb \ +@@ -18,12 +18,12 @@ CFLAGS += -D_GNU_SOURCE -O2 -ggdb \ -fstack-clash-protection -Wl,-z,now CFLAGS += -fPIE -DPIE -CFLAGS += `xml2-config --cflags` +CFLAGS += `pkg-config libxml-2.0 --cflags` CFLAGS += -I../include + CFLAGS += $(shell pkg-config --cflags pacemaker-fencing) - LDFLAGS += -Wl,-z,relro -pie + LDFLAGS += -Wl,-z,relro -Wl,-z,defs -pie -LDFLAGS += `xml2-config --libs` +LDFLAGS += `pkg-config libxml-2.0 --libs` LDFLAGS += -ldl all: $(BIN_TARGET) --- -2.7.4 - diff --git a/meta-networking/recipes-extended/dlm/dlm/0004-include-string.h-for-memset-prototype.patch b/meta-networking/recipes-extended/dlm/dlm/0004-include-string.h-for-memset-prototype.patch new file mode 100644 index 00000000000..257c5d02ffc --- /dev/null +++ b/meta-networking/recipes-extended/dlm/dlm/0004-include-string.h-for-memset-prototype.patch @@ -0,0 +1,23 @@ +From 9652e6b3c43b4c051f2ff0e000d7ebf5fbab418e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 29 Aug 2022 10:54:51 -0700 +Subject: [PATCH] include string.h for memset prototype + +Upstream-Status: Submitted [https://pagure.io/dlm/pull-request/3] +Signed-off-by: Khem Raj +--- + dlm_controld/lib.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dlm_controld/lib.c b/dlm_controld/lib.c +index 8cbdd27f..a7502fcd 100644 +--- a/dlm_controld/lib.c ++++ b/dlm_controld/lib.c +@@ -10,6 +10,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/meta-networking/recipes-extended/dlm/dlm_4.0.9.bb b/meta-networking/recipes-extended/dlm/dlm_4.0.9.bb deleted file mode 100644 index 3e699d2ff66..00000000000 --- a/meta-networking/recipes-extended/dlm/dlm_4.0.9.bb +++ /dev/null @@ -1,60 +0,0 @@ -DESCRIPTION = "dlm control daemon and tool" - -SECTION = "utils" -HOMEPAGE = "https://fedorahosted.org/cluster/wiki/HomePage" - -REQUIRED_DISTRO_FEATURES = "systemd" - -SRC_URI = "https://pagure.io/dlm/archive/dlm-${PV}/dlm-dlm-${PV}.tar.gz \ - file://0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch \ - file://0001-Include-sys-sysmacros.h-for-major-minor-macros-in-gl.patch \ - file://0001-make-Replace-cp-a-with-mode-preserving-options.patch \ - " - -SRC_URI[md5sum] = "4c57a941a15547859cd38fd55f66388e" -SRC_URI[sha256sum] = "d59142e067cbd603aaf66151a04e9fa34330219680b8827c953d20821b951991" - -UPSTREAM_CHECK_URI = "https://pagure.io/dlm/releases" -UPSTREAM_CHECK_REGEX = "dlm-(?P\d+(\.\d+)+)" - -LICENSE = "LGPL-2.0-or-later & GPL-2.0-only & GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://README.license;md5=8f0bbcdd678df1bce9863492b6c8832d" - -S = "${WORKDIR}/dlm-dlm-${PV}" - -DEPENDS += "corosync" - -inherit pkgconfig systemd features_check - -PACKAGECONFIG ??= "" - -PACKAGECONFIG[pacemaker] = ",,pacemaker" - -SYSTEMD_SERVICE:${PN} = "dlm.service" -SYSTEMD_AUTO_ENABLE = "enable" - -export EXTRA_OEMAKE = "" - -DONTBUILD = "${@bb.utils.contains('PACKAGECONFIG', 'pacemaker', '', 'fence', d)}" - -do_compile:prepend:toolchain-clang() { - sed -i -e "s/-fstack-clash-protection//g" ${S}/*/Makefile -} - -do_compile() { - sed -i "s/libsystemd-daemon/libsystemd/g" ${S}/dlm_controld/Makefile - sed -i -e "s/ ${DONTBUILD}//g" ${S}/Makefile - oe_runmake 'CC=${CC}' -} - -do_install() { - oe_runmake install DESTDIR=${D} LIBDIR=${libdir} - install -Dm 0644 ${S}/init/dlm.sysconfig ${D}${sysconfdir}/sysconfig/dlm - install -Dm 0644 ${S}/init/dlm.init ${D}${sysconfdir}/init.d/dlm - - # install systemd unit files - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -Dm 0644 ${S}/init/dlm.service ${D}${systemd_unitdir}/system/dlm.service - fi -} - diff --git a/meta-networking/recipes-extended/dlm/dlm_4.1.1.bb b/meta-networking/recipes-extended/dlm/dlm_4.1.1.bb new file mode 100644 index 00000000000..bb33890ec97 --- /dev/null +++ b/meta-networking/recipes-extended/dlm/dlm_4.1.1.bb @@ -0,0 +1,60 @@ +DESCRIPTION = "dlm control daemon and tool" + +SECTION = "utils" +HOMEPAGE = "https://fedorahosted.org/cluster/wiki/HomePage" + +REQUIRED_DISTRO_FEATURES = "systemd" + +SRC_URI = "https://pagure.io/dlm/archive/dlm-${PV}/dlm-dlm-${PV}.tar.gz \ + file://0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch \ + file://0001-Include-sys-sysmacros.h-for-major-minor-macros-in-gl.patch \ + file://0001-make-Replace-cp-a-with-mode-preserving-options.patch \ + file://0004-include-string.h-for-memset-prototype.patch \ + " + +SRC_URI[sha256sum] = "f12c0056b9196dfcecbec2fa8930feb87c605a86ef0f3d7bd6fb0b77cd7f45ca" + +UPSTREAM_CHECK_URI = "https://pagure.io/dlm/releases" +UPSTREAM_CHECK_REGEX = "dlm-(?P\d+(\.\d+)+)" + +LICENSE = "LGPL-2.0-or-later & GPL-2.0-only & GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://README.license;md5=8f0bbcdd678df1bce9863492b6c8832d" + +S = "${WORKDIR}/dlm-dlm-${PV}" + +DEPENDS += "corosync" + +inherit pkgconfig systemd features_check + +PACKAGECONFIG ??= "" + +PACKAGECONFIG[pacemaker] = ",,pacemaker" + +SYSTEMD_SERVICE:${PN} = "dlm.service" +SYSTEMD_AUTO_ENABLE = "enable" + +export EXTRA_OEMAKE = "" + +DONTBUILD = "${@bb.utils.contains('PACKAGECONFIG', 'pacemaker', '', 'fence', d)}" + +do_compile:prepend:toolchain-clang() { + sed -i -e "s/-fstack-clash-protection//g" ${S}/*/Makefile +} + +do_compile() { + sed -i "s/libsystemd-daemon/libsystemd/g" ${S}/dlm_controld/Makefile + sed -i -e "s/ ${DONTBUILD}//g" ${S}/Makefile + oe_runmake 'CC=${CC}' +} + +do_install() { + oe_runmake install DESTDIR=${D} LIBDIR=${libdir} + install -Dm 0644 ${S}/init/dlm.sysconfig ${D}${sysconfdir}/sysconfig/dlm + install -Dm 0644 ${S}/init/dlm.init ${D}${sysconfdir}/init.d/dlm + + # install systemd unit files + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -Dm 0644 ${S}/init/dlm.service ${D}${systemd_unitdir}/system/dlm.service + fi +} + diff --git a/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb b/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb deleted file mode 100644 index 8f57e823b88..00000000000 --- a/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "Connection tracking userspace tools for Linux" -SECTION = "net" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" - -DEPENDS = "libnfnetlink libnetfilter-conntrack libnetfilter-cttimeout \ - libnetfilter-cthelper libnetfilter-queue bison-native libtirpc" - -EXTRA_OECONF += "LIBS=-ltirpc CPPFLAGS=-I${STAGING_INCDIR}/tirpc" - -SRC_URI = "http://www.netfilter.org/projects/conntrack-tools/files/conntrack-tools-${PV}.tar.bz2;name=tar \ - file://conntrack-failover \ - file://init \ -" -SRC_URI[tar.md5sum] = "a9dc7567921213007def78ad72313109" -SRC_URI[tar.sha256sum] = "590859cc848245dbfd9c6487761dd303b3a1771e007f4f42213063ca56205d5f" - -inherit autotools update-rc.d pkgconfig - -INITSCRIPT_NAME = "conntrackd" - -do_install:append() { - install -d ${D}/${sysconfdir}/conntrackd - install -d ${D}/${sysconfdir}/init.d - install -m 0644 ${S}/doc/sync/ftfw/conntrackd.conf ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample - install -m 0755 ${WORKDIR}/conntrack-failover ${D}/${sysconfdir}/init.d/conntrack-failover - install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/conntrackd - - # Fix hardcoded paths in scripts - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd - sed -i 's!/etc/!${sysconfdir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd - sed -i 's!/var/!${localstatedir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample - sed -i 's!^export PATH=.*!export PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}/${sysconfdir}/init.d/conntrackd -} - -# fix error message: Do not forget that you need *root* or CAP_NET_ADMIN capabilities ;-) -pkg_postinst:${PN} () { - setcap cap_net_admin+ep "$D/${sbindir}/conntrack" -} -PACKAGE_WRITE_DEPS += "libcap-native" diff --git a/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.7.bb b/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.7.bb new file mode 100644 index 00000000000..8b47ceb1c05 --- /dev/null +++ b/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.7.bb @@ -0,0 +1,46 @@ +SUMMARY = "Connection tracking userspace tools for Linux" +SECTION = "net" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" + +DEPENDS = "libnfnetlink libnetfilter-conntrack libnetfilter-cttimeout \ + libnetfilter-cthelper libnetfilter-queue bison-native libtirpc" + +EXTRA_OECONF += "LIBS=-ltirpc CPPFLAGS=-I${STAGING_INCDIR}/tirpc" + +SRC_URI = "http://www.netfilter.org/projects/conntrack-tools/files/conntrack-tools-${PV}.tar.bz2 \ + file://conntrack-failover \ + file://init \ +" +SRC_URI[sha256sum] = "099debcf57e81690ced57f516b493588a73518f48c14d656f823b29b4fc24b5d" + +inherit autotools update-rc.d pkgconfig systemd + +PACKAGECONFIG ?= "cthelper cttimeout \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" + +PACKAGECONFIG[cthelper] = "--enable-cthelper,--disable-cthelper" +PACKAGECONFIG[cttimeout] = "--enable-cttimeout,--disable-cttimeout" +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" + +INITSCRIPT_NAME = "conntrackd" + +do_install:append() { + install -d ${D}/${sysconfdir}/conntrackd + install -d ${D}/${sysconfdir}/init.d + install -m 0644 ${S}/doc/sync/ftfw/conntrackd.conf ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample + install -m 0755 ${WORKDIR}/conntrack-failover ${D}/${sysconfdir}/init.d/conntrack-failover + install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/conntrackd + + # Fix hardcoded paths in scripts + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd + sed -i 's!/etc/!${sysconfdir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd + sed -i 's!/var/!${localstatedir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample + sed -i 's!^export PATH=.*!export PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}/${sysconfdir}/init.d/conntrackd +} + +# fix error message: Do not forget that you need *root* or CAP_NET_ADMIN capabilities ;-) +pkg_postinst:${PN} () { + setcap cap_net_admin+ep "$D/${sbindir}/conntrack" +} +PACKAGE_WRITE_DEPS += "libcap-native" diff --git a/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch b/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch deleted file mode 100644 index 68eb04a83e9..00000000000 --- a/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch +++ /dev/null @@ -1,650 +0,0 @@ -From e03b003610a176d608da9a02e433e7ded7e4b75f Mon Sep 17 00:00:00 2001 -From: Todd Cunningham -Date: Wed, 11 Dec 2019 10:18:56 +1000 -Subject: [PATCH] avoid naming local function as one of printf family - -Fixes build issues with clang -error: no member named '__builtin___snprintf_chk' in 'struct expr_ops' - -Signed-off-by: Khem Raj -Signed-off-by: Alex Kiernan - -Signed-off-by: Yuan Chao -Signed-off-by: Todd Cunningham - -Use wiggle to get the patch to apply for version 1.2.0. - -Add the same change in src/expr/last.c to make the patch apply for -1.2.1. Also correct the patch to show the original author and metadata. - -Signed-off-by: Trevor Gamblin ---- - include/expr_ops.h | 2 +- - include/obj.h | 2 +- - src/expr.c | 4 ++-- - src/expr/bitwise.c | 2 +- - src/expr/byteorder.c | 2 +- - src/expr/cmp.c | 2 +- - src/expr/connlimit.c | 2 +- - src/expr/counter.c | 2 +- - src/expr/ct.c | 2 +- - src/expr/dup.c | 2 +- - src/expr/dynset.c | 2 +- - src/expr/exthdr.c | 2 +- - src/expr/fib.c | 2 +- - src/expr/flow_offload.c | 2 +- - src/expr/fwd.c | 2 +- - src/expr/hash.c | 2 +- - src/expr/immediate.c | 2 +- - src/expr/last.c | 2 +- - src/expr/limit.c | 2 +- - src/expr/log.c | 2 +- - src/expr/lookup.c | 2 +- - src/expr/masq.c | 2 +- - src/expr/match.c | 2 +- - src/expr/meta.c | 2 +- - src/expr/nat.c | 2 +- - src/expr/numgen.c | 2 +- - src/expr/objref.c | 2 +- - src/expr/osf.c | 2 +- - src/expr/payload.c | 2 +- - src/expr/queue.c | 2 +- - src/expr/quota.c | 2 +- - src/expr/range.c | 2 +- - src/expr/redir.c | 2 +- - src/expr/reject.c | 2 +- - src/expr/rt.c | 2 +- - src/expr/socket.c | 2 +- - src/expr/synproxy.c | 2 +- - src/expr/target.c | 2 +- - src/expr/tproxy.c | 2 +- - src/expr/tunnel.c | 2 +- - src/expr/xfrm.c | 2 +- - src/obj/counter.c | 2 +- - src/obj/ct_expect.c | 2 +- - src/obj/ct_helper.c | 2 +- - src/obj/ct_timeout.c | 2 +- - src/obj/limit.c | 2 +- - src/obj/quota.c | 2 +- - src/obj/secmark.c | 2 +- - src/obj/synproxy.c | 2 +- - src/obj/tunnel.c | 2 +- - src/object.c | 2 +- - 51 files changed, 52 insertions(+), 52 deletions(-) - -diff --git a/include/expr_ops.h b/include/expr_ops.h -index 7a6aa23..d3a2855 100644 ---- a/include/expr_ops.h -+++ b/include/expr_ops.h -@@ -18,7 +18,7 @@ struct expr_ops { - const void *(*get)(const struct nftnl_expr *e, uint16_t type, uint32_t *data_len); - int (*parse)(struct nftnl_expr *e, struct nlattr *attr); - void (*build)(struct nlmsghdr *nlh, const struct nftnl_expr *e); -- int (*snprintf)(char *buf, size_t len, uint32_t flags, const struct nftnl_expr *e); -+ int (*snprintf_)(char *buf, size_t len, uint32_t flags, const struct nftnl_expr *e); - }; - - struct expr_ops *nftnl_expr_ops_lookup(const char *name); -diff --git a/include/obj.h b/include/obj.h -index 60dc853..1c1c3c1 100644 ---- a/include/obj.h -+++ b/include/obj.h -@@ -109,7 +109,7 @@ struct obj_ops { - const void *(*get)(const struct nftnl_obj *e, uint16_t type, uint32_t *data_len); - int (*parse)(struct nftnl_obj *e, struct nlattr *attr); - void (*build)(struct nlmsghdr *nlh, const struct nftnl_obj *e); -- int (*snprintf)(char *buf, size_t len, uint32_t flags, const struct nftnl_obj *e); -+ int (*snprintf_)(char *buf, size_t len, uint32_t flags, const struct nftnl_obj *e); - }; - - extern struct obj_ops obj_ops_counter; -diff --git a/src/expr.c b/src/expr.c -index 277bbde..2231b21 100644 ---- a/src/expr.c -+++ b/src/expr.c -@@ -279,10 +279,10 @@ int nftnl_expr_snprintf(char *buf, size_t remain, const struct nftnl_expr *expr, - if (remain) - buf[0] = '\0'; - -- if (!expr->ops->snprintf || type != NFTNL_OUTPUT_DEFAULT) -+ if (!expr->ops->snprintf_ || type != NFTNL_OUTPUT_DEFAULT) - return 0; - -- ret = expr->ops->snprintf(buf + offset, remain, flags, expr); -+ ret = expr->ops->snprintf_(buf + offset, remain, flags, expr); - SNPRINTF_BUFFER_SIZE(ret, remain, offset); - - return offset; -diff --git a/src/expr/bitwise.c b/src/expr/bitwise.c -index d0c7827..eded505 100644 ---- a/src/expr/bitwise.c -+++ b/src/expr/bitwise.c -@@ -282,5 +282,5 @@ struct expr_ops expr_ops_bitwise = { - .get = nftnl_expr_bitwise_get, - .parse = nftnl_expr_bitwise_parse, - .build = nftnl_expr_bitwise_build, -- .snprintf = nftnl_expr_bitwise_snprintf, -+ .snprintf_ = nftnl_expr_bitwise_snprintf, - }; -diff --git a/src/expr/byteorder.c b/src/expr/byteorder.c -index d299745..0068ab2 100644 ---- a/src/expr/byteorder.c -+++ b/src/expr/byteorder.c -@@ -220,5 +220,5 @@ struct expr_ops expr_ops_byteorder = { - .get = nftnl_expr_byteorder_get, - .parse = nftnl_expr_byteorder_parse, - .build = nftnl_expr_byteorder_build, -- .snprintf = nftnl_expr_byteorder_snprintf, -+ .snprintf_ = nftnl_expr_byteorder_snprintf, - }; -diff --git a/src/expr/cmp.c b/src/expr/cmp.c -index 6030693..7e548e6 100644 ---- a/src/expr/cmp.c -+++ b/src/expr/cmp.c -@@ -202,5 +202,5 @@ struct expr_ops expr_ops_cmp = { - .get = nftnl_expr_cmp_get, - .parse = nftnl_expr_cmp_parse, - .build = nftnl_expr_cmp_build, -- .snprintf = nftnl_expr_cmp_snprintf, -+ .snprintf_ = nftnl_expr_cmp_snprintf, - }; -diff --git a/src/expr/connlimit.c b/src/expr/connlimit.c -index 3b37587..39b7092 100644 ---- a/src/expr/connlimit.c -+++ b/src/expr/connlimit.c -@@ -135,5 +135,5 @@ struct expr_ops expr_ops_connlimit = { - .get = nftnl_expr_connlimit_get, - .parse = nftnl_expr_connlimit_parse, - .build = nftnl_expr_connlimit_build, -- .snprintf = nftnl_expr_connlimit_snprintf, -+ .snprintf_ = nftnl_expr_connlimit_snprintf, - }; -diff --git a/src/expr/counter.c b/src/expr/counter.c -index 1676d70..42c96d9 100644 ---- a/src/expr/counter.c -+++ b/src/expr/counter.c -@@ -133,5 +133,5 @@ struct expr_ops expr_ops_counter = { - .get = nftnl_expr_counter_get, - .parse = nftnl_expr_counter_parse, - .build = nftnl_expr_counter_build, -- .snprintf = nftnl_expr_counter_snprintf, -+ .snprintf_ = nftnl_expr_counter_snprintf, - }; -diff --git a/src/expr/ct.c b/src/expr/ct.c -index d5dfc81..8c15db1 100644 ---- a/src/expr/ct.c -+++ b/src/expr/ct.c -@@ -258,5 +258,5 @@ struct expr_ops expr_ops_ct = { - .get = nftnl_expr_ct_get, - .parse = nftnl_expr_ct_parse, - .build = nftnl_expr_ct_build, -- .snprintf = nftnl_expr_ct_snprintf, -+ .snprintf_ = nftnl_expr_ct_snprintf, - }; -diff --git a/src/expr/dup.c b/src/expr/dup.c -index f041b55..6238a43 100644 ---- a/src/expr/dup.c -+++ b/src/expr/dup.c -@@ -138,5 +138,5 @@ struct expr_ops expr_ops_dup = { - .get = nftnl_expr_dup_get, - .parse = nftnl_expr_dup_parse, - .build = nftnl_expr_dup_build, -- .snprintf = nftnl_expr_dup_snprintf, -+ .snprintf_ = nftnl_expr_dup_snprintf, - }; -diff --git a/src/expr/dynset.c b/src/expr/dynset.c -index 85d64bb..9afbb94 100644 ---- a/src/expr/dynset.c -+++ b/src/expr/dynset.c -@@ -373,5 +373,5 @@ struct expr_ops expr_ops_dynset = { - .get = nftnl_expr_dynset_get, - .parse = nftnl_expr_dynset_parse, - .build = nftnl_expr_dynset_build, -- .snprintf = nftnl_expr_dynset_snprintf, -+ .snprintf_ = nftnl_expr_dynset_snprintf, - }; -diff --git a/src/expr/exthdr.c b/src/expr/exthdr.c -index 1b813b1..25f1491 100644 ---- a/src/expr/exthdr.c -+++ b/src/expr/exthdr.c -@@ -262,5 +262,5 @@ struct expr_ops expr_ops_exthdr = { - .get = nftnl_expr_exthdr_get, - .parse = nftnl_expr_exthdr_parse, - .build = nftnl_expr_exthdr_build, -- .snprintf = nftnl_expr_exthdr_snprintf, -+ .snprintf_ = nftnl_expr_exthdr_snprintf, - }; -diff --git a/src/expr/fib.c b/src/expr/fib.c -index aaff52a..3916e18 100644 ---- a/src/expr/fib.c -+++ b/src/expr/fib.c -@@ -198,5 +198,5 @@ struct expr_ops expr_ops_fib = { - .get = nftnl_expr_fib_get, - .parse = nftnl_expr_fib_parse, - .build = nftnl_expr_fib_build, -- .snprintf = nftnl_expr_fib_snprintf, -+ .snprintf_ = nftnl_expr_fib_snprintf, - }; -diff --git a/src/expr/flow_offload.c b/src/expr/flow_offload.c -index a826202..c1ca678 100644 ---- a/src/expr/flow_offload.c -+++ b/src/expr/flow_offload.c -@@ -120,5 +120,5 @@ struct expr_ops expr_ops_flow = { - .get = nftnl_expr_flow_get, - .parse = nftnl_expr_flow_parse, - .build = nftnl_expr_flow_build, -- .snprintf = nftnl_expr_flow_snprintf, -+ .snprintf_ = nftnl_expr_flow_snprintf, - }; -diff --git a/src/expr/fwd.c b/src/expr/fwd.c -index 82e5a41..4e80687 100644 ---- a/src/expr/fwd.c -+++ b/src/expr/fwd.c -@@ -158,5 +158,5 @@ struct expr_ops expr_ops_fwd = { - .get = nftnl_expr_fwd_get, - .parse = nftnl_expr_fwd_parse, - .build = nftnl_expr_fwd_build, -- .snprintf = nftnl_expr_fwd_snprintf, -+ .snprintf_ = nftnl_expr_fwd_snprintf, - }; -diff --git a/src/expr/hash.c b/src/expr/hash.c -index 10b4a72..84ace31 100644 ---- a/src/expr/hash.c -+++ b/src/expr/hash.c -@@ -226,5 +226,5 @@ struct expr_ops expr_ops_hash = { - .get = nftnl_expr_hash_get, - .parse = nftnl_expr_hash_parse, - .build = nftnl_expr_hash_build, -- .snprintf = nftnl_expr_hash_snprintf, -+ .snprintf_ = nftnl_expr_hash_snprintf, - }; -diff --git a/src/expr/immediate.c b/src/expr/immediate.c -index 94b043c..a8a3c1f 100644 ---- a/src/expr/immediate.c -+++ b/src/expr/immediate.c -@@ -229,5 +229,5 @@ struct expr_ops expr_ops_immediate = { - .get = nftnl_expr_immediate_get, - .parse = nftnl_expr_immediate_parse, - .build = nftnl_expr_immediate_build, -- .snprintf = nftnl_expr_immediate_snprintf, -+ .snprintf_ = nftnl_expr_immediate_snprintf, - }; -diff --git a/src/expr/last.c b/src/expr/last.c -index e2a60c4..2f75464 100644 ---- a/src/expr/last.c -+++ b/src/expr/last.c -@@ -134,5 +134,5 @@ struct expr_ops expr_ops_last = { - .get = nftnl_expr_last_get, - .parse = nftnl_expr_last_parse, - .build = nftnl_expr_last_build, -- .snprintf = nftnl_expr_last_snprintf, -+ .snprintf_ = nftnl_expr_last_snprintf, - }; -diff --git a/src/expr/limit.c b/src/expr/limit.c -index 3dfd54a..f652df0 100644 ---- a/src/expr/limit.c -+++ b/src/expr/limit.c -@@ -202,5 +202,5 @@ struct expr_ops expr_ops_limit = { - .get = nftnl_expr_limit_get, - .parse = nftnl_expr_limit_parse, - .build = nftnl_expr_limit_build, -- .snprintf = nftnl_expr_limit_snprintf, -+ .snprintf_ = nftnl_expr_limit_snprintf, - }; -diff --git a/src/expr/log.c b/src/expr/log.c -index 86db548..d96b7ce 100644 ---- a/src/expr/log.c -+++ b/src/expr/log.c -@@ -253,5 +253,5 @@ struct expr_ops expr_ops_log = { - .get = nftnl_expr_log_get, - .parse = nftnl_expr_log_parse, - .build = nftnl_expr_log_build, -- .snprintf = nftnl_expr_log_snprintf, -+ .snprintf_ = nftnl_expr_log_snprintf, - }; -diff --git a/src/expr/lookup.c b/src/expr/lookup.c -index 83adce9..1fbace4 100644 ---- a/src/expr/lookup.c -+++ b/src/expr/lookup.c -@@ -206,5 +206,5 @@ struct expr_ops expr_ops_lookup = { - .get = nftnl_expr_lookup_get, - .parse = nftnl_expr_lookup_parse, - .build = nftnl_expr_lookup_build, -- .snprintf = nftnl_expr_lookup_snprintf, -+ .snprintf_ = nftnl_expr_lookup_snprintf, - }; -diff --git a/src/expr/masq.c b/src/expr/masq.c -index 684708c..1ce099c 100644 ---- a/src/expr/masq.c -+++ b/src/expr/masq.c -@@ -163,5 +163,5 @@ struct expr_ops expr_ops_masq = { - .get = nftnl_expr_masq_get, - .parse = nftnl_expr_masq_parse, - .build = nftnl_expr_masq_build, -- .snprintf = nftnl_expr_masq_snprintf, -+ .snprintf_ = nftnl_expr_masq_snprintf, - }; -diff --git a/src/expr/match.c b/src/expr/match.c -index 533fdf5..8561986 100644 ---- a/src/expr/match.c -+++ b/src/expr/match.c -@@ -189,5 +189,5 @@ struct expr_ops expr_ops_match = { - .get = nftnl_expr_match_get, - .parse = nftnl_expr_match_parse, - .build = nftnl_expr_match_build, -- .snprintf = nftnl_expr_match_snprintf, -+ .snprintf_ = nftnl_expr_match_snprintf, - }; -diff --git a/src/expr/meta.c b/src/expr/meta.c -index 34fbb9b..1ef79a4 100644 ---- a/src/expr/meta.c -+++ b/src/expr/meta.c -@@ -216,5 +216,5 @@ struct expr_ops expr_ops_meta = { - .get = nftnl_expr_meta_get, - .parse = nftnl_expr_meta_parse, - .build = nftnl_expr_meta_build, -- .snprintf = nftnl_expr_meta_snprintf, -+ .snprintf_ = nftnl_expr_meta_snprintf, - }; -diff --git a/src/expr/nat.c b/src/expr/nat.c -index 0a9cdd7..bc4a3fa 100644 ---- a/src/expr/nat.c -+++ b/src/expr/nat.c -@@ -274,5 +274,5 @@ struct expr_ops expr_ops_nat = { - .get = nftnl_expr_nat_get, - .parse = nftnl_expr_nat_parse, - .build = nftnl_expr_nat_build, -- .snprintf = nftnl_expr_nat_snprintf, -+ .snprintf_ = nftnl_expr_nat_snprintf, - }; -diff --git a/src/expr/numgen.c b/src/expr/numgen.c -index 159dfec..99bb442 100644 ---- a/src/expr/numgen.c -+++ b/src/expr/numgen.c -@@ -180,5 +180,5 @@ struct expr_ops expr_ops_ng = { - .get = nftnl_expr_ng_get, - .parse = nftnl_expr_ng_parse, - .build = nftnl_expr_ng_build, -- .snprintf = nftnl_expr_ng_snprintf, -+ .snprintf_ = nftnl_expr_ng_snprintf, - }; -diff --git a/src/expr/objref.c b/src/expr/objref.c -index a4b6470..1b2d387 100644 ---- a/src/expr/objref.c -+++ b/src/expr/objref.c -@@ -205,5 +205,5 @@ struct expr_ops expr_ops_objref = { - .get = nftnl_expr_objref_get, - .parse = nftnl_expr_objref_parse, - .build = nftnl_expr_objref_build, -- .snprintf = nftnl_expr_objref_snprintf, -+ .snprintf_ = nftnl_expr_objref_snprintf, - }; -diff --git a/src/expr/osf.c b/src/expr/osf.c -index 215a681..75a6b3c 100644 ---- a/src/expr/osf.c -+++ b/src/expr/osf.c -@@ -147,5 +147,5 @@ struct expr_ops expr_ops_osf = { - .get = nftnl_expr_osf_get, - .parse = nftnl_expr_osf_parse, - .build = nftnl_expr_osf_build, -- .snprintf = nftnl_expr_osf_snprintf, -+ .snprintf_ = nftnl_expr_osf_snprintf, - }; -diff --git a/src/expr/payload.c b/src/expr/payload.c -index 82747ec..e9130ec 100644 ---- a/src/expr/payload.c -+++ b/src/expr/payload.c -@@ -259,5 +259,5 @@ struct expr_ops expr_ops_payload = { - .get = nftnl_expr_payload_get, - .parse = nftnl_expr_payload_parse, - .build = nftnl_expr_payload_build, -- .snprintf = nftnl_expr_payload_snprintf, -+ .snprintf_ = nftnl_expr_payload_snprintf, - }; -diff --git a/src/expr/queue.c b/src/expr/queue.c -index 8f70977..6bc76ef 100644 ---- a/src/expr/queue.c -+++ b/src/expr/queue.c -@@ -193,5 +193,5 @@ struct expr_ops expr_ops_queue = { - .get = nftnl_expr_queue_get, - .parse = nftnl_expr_queue_parse, - .build = nftnl_expr_queue_build, -- .snprintf = nftnl_expr_queue_snprintf, -+ .snprintf_ = nftnl_expr_queue_snprintf, - }; -diff --git a/src/expr/quota.c b/src/expr/quota.c -index 8c841d8..1a5f2fa 100644 ---- a/src/expr/quota.c -+++ b/src/expr/quota.c -@@ -147,5 +147,5 @@ struct expr_ops expr_ops_quota = { - .get = nftnl_expr_quota_get, - .parse = nftnl_expr_quota_parse, - .build = nftnl_expr_quota_build, -- .snprintf = nftnl_expr_quota_snprintf, -+ .snprintf_ = nftnl_expr_quota_snprintf, - }; -diff --git a/src/expr/range.c b/src/expr/range.c -index f76843a..73a1930 100644 ---- a/src/expr/range.c -+++ b/src/expr/range.c -@@ -213,5 +213,5 @@ struct expr_ops expr_ops_range = { - .get = nftnl_expr_range_get, - .parse = nftnl_expr_range_parse, - .build = nftnl_expr_range_build, -- .snprintf = nftnl_expr_range_snprintf, -+ .snprintf_ = nftnl_expr_range_snprintf, - }; -diff --git a/src/expr/redir.c b/src/expr/redir.c -index 4f56cb4..51ec71c 100644 ---- a/src/expr/redir.c -+++ b/src/expr/redir.c -@@ -167,5 +167,5 @@ struct expr_ops expr_ops_redir = { - .get = nftnl_expr_redir_get, - .parse = nftnl_expr_redir_parse, - .build = nftnl_expr_redir_build, -- .snprintf = nftnl_expr_redir_snprintf, -+ .snprintf_ = nftnl_expr_redir_snprintf, - }; -diff --git a/src/expr/reject.c b/src/expr/reject.c -index 716d25c..acf32c2 100644 ---- a/src/expr/reject.c -+++ b/src/expr/reject.c -@@ -134,5 +134,5 @@ struct expr_ops expr_ops_reject = { - .get = nftnl_expr_reject_get, - .parse = nftnl_expr_reject_parse, - .build = nftnl_expr_reject_build, -- .snprintf = nftnl_expr_reject_snprintf, -+ .snprintf_ = nftnl_expr_reject_snprintf, - }; -diff --git a/src/expr/rt.c b/src/expr/rt.c -index 1ad9b2a..9f2fdf3 100644 ---- a/src/expr/rt.c -+++ b/src/expr/rt.c -@@ -162,5 +162,5 @@ struct expr_ops expr_ops_rt = { - .get = nftnl_expr_rt_get, - .parse = nftnl_expr_rt_parse, - .build = nftnl_expr_rt_build, -- .snprintf = nftnl_expr_rt_snprintf, -+ .snprintf_ = nftnl_expr_rt_snprintf, - }; -diff --git a/src/expr/socket.c b/src/expr/socket.c -index 02d86f8..49a126b 100644 ---- a/src/expr/socket.c -+++ b/src/expr/socket.c -@@ -165,5 +165,5 @@ struct expr_ops expr_ops_socket = { - .get = nftnl_expr_socket_get, - .parse = nftnl_expr_socket_parse, - .build = nftnl_expr_socket_build, -- .snprintf = nftnl_expr_socket_snprintf, -+ .snprintf_ = nftnl_expr_socket_snprintf, - }; -diff --git a/src/expr/synproxy.c b/src/expr/synproxy.c -index 630f3f4..b22ad2f 100644 ---- a/src/expr/synproxy.c -+++ b/src/expr/synproxy.c -@@ -152,5 +152,5 @@ struct expr_ops expr_ops_synproxy = { - .get = nftnl_expr_synproxy_get, - .parse = nftnl_expr_synproxy_parse, - .build = nftnl_expr_synproxy_build, -- .snprintf = nftnl_expr_synproxy_snprintf, -+ .snprintf_ = nftnl_expr_synproxy_snprintf, - }; -diff --git a/src/expr/target.c b/src/expr/target.c -index b7c595a..31a039c 100644 ---- a/src/expr/target.c -+++ b/src/expr/target.c -@@ -189,5 +189,5 @@ struct expr_ops expr_ops_target = { - .get = nftnl_expr_target_get, - .parse = nftnl_expr_target_parse, - .build = nftnl_expr_target_build, -- .snprintf = nftnl_expr_target_snprintf, -+ .snprintf_ = nftnl_expr_target_snprintf, - }; -diff --git a/src/expr/tproxy.c b/src/expr/tproxy.c -index d3ee8f8..1b01591 100644 ---- a/src/expr/tproxy.c -+++ b/src/expr/tproxy.c -@@ -170,5 +170,5 @@ struct expr_ops expr_ops_tproxy = { - .get = nftnl_expr_tproxy_get, - .parse = nftnl_expr_tproxy_parse, - .build = nftnl_expr_tproxy_build, -- .snprintf = nftnl_expr_tproxy_snprintf, -+ .snprintf_ = nftnl_expr_tproxy_snprintf, - }; -diff --git a/src/expr/tunnel.c b/src/expr/tunnel.c -index 1460fd2..6c2f653 100644 ---- a/src/expr/tunnel.c -+++ b/src/expr/tunnel.c -@@ -145,5 +145,5 @@ struct expr_ops expr_ops_tunnel = { - .get = nftnl_expr_tunnel_get, - .parse = nftnl_expr_tunnel_parse, - .build = nftnl_expr_tunnel_build, -- .snprintf = nftnl_expr_tunnel_snprintf, -+ .snprintf_ = nftnl_expr_tunnel_snprintf, - }; -diff --git a/src/expr/xfrm.c b/src/expr/xfrm.c -index c81d14d..e648ee5 100644 ---- a/src/expr/xfrm.c -+++ b/src/expr/xfrm.c -@@ -196,5 +196,5 @@ struct expr_ops expr_ops_xfrm = { - .get = nftnl_expr_xfrm_get, - .parse = nftnl_expr_xfrm_parse, - .build = nftnl_expr_xfrm_build, -- .snprintf = nftnl_expr_xfrm_snprintf, -+ .snprintf_ = nftnl_expr_xfrm_snprintf, - }; -diff --git a/src/obj/counter.c b/src/obj/counter.c -index ef0cd20..0c199f7 100644 ---- a/src/obj/counter.c -+++ b/src/obj/counter.c -@@ -127,5 +127,5 @@ struct obj_ops obj_ops_counter = { - .get = nftnl_obj_counter_get, - .parse = nftnl_obj_counter_parse, - .build = nftnl_obj_counter_build, -- .snprintf = nftnl_obj_counter_snprintf, -+ .snprintf_ = nftnl_obj_counter_snprintf, - }; -diff --git a/src/obj/ct_expect.c b/src/obj/ct_expect.c -index 8136ad9..b3e1d70 100644 ---- a/src/obj/ct_expect.c -+++ b/src/obj/ct_expect.c -@@ -196,5 +196,5 @@ struct obj_ops obj_ops_ct_expect = { - .get = nftnl_obj_ct_expect_get, - .parse = nftnl_obj_ct_expect_parse, - .build = nftnl_obj_ct_expect_build, -- .snprintf = nftnl_obj_ct_expect_snprintf, -+ .snprintf_ = nftnl_obj_ct_expect_snprintf, - }; -diff --git a/src/obj/ct_helper.c b/src/obj/ct_helper.c -index c52032a..12b783c 100644 ---- a/src/obj/ct_helper.c -+++ b/src/obj/ct_helper.c -@@ -150,5 +150,5 @@ struct obj_ops obj_ops_ct_helper = { - .get = nftnl_obj_ct_helper_get, - .parse = nftnl_obj_ct_helper_parse, - .build = nftnl_obj_ct_helper_build, -- .snprintf = nftnl_obj_ct_helper_snprintf, -+ .snprintf_ = nftnl_obj_ct_helper_snprintf, - }; -diff --git a/src/obj/ct_timeout.c b/src/obj/ct_timeout.c -index 1d4f8fb..0a12883 100644 ---- a/src/obj/ct_timeout.c -+++ b/src/obj/ct_timeout.c -@@ -316,5 +316,5 @@ struct obj_ops obj_ops_ct_timeout = { - .get = nftnl_obj_ct_timeout_get, - .parse = nftnl_obj_ct_timeout_parse, - .build = nftnl_obj_ct_timeout_build, -- .snprintf = nftnl_obj_ct_timeout_snprintf, -+ .snprintf_ = nftnl_obj_ct_timeout_snprintf, - }; -diff --git a/src/obj/limit.c b/src/obj/limit.c -index 8b40f9d..2f049b8 100644 ---- a/src/obj/limit.c -+++ b/src/obj/limit.c -@@ -168,5 +168,5 @@ struct obj_ops obj_ops_limit = { - .get = nftnl_obj_limit_get, - .parse = nftnl_obj_limit_parse, - .build = nftnl_obj_limit_build, -- .snprintf = nftnl_obj_limit_snprintf, -+ .snprintf_ = nftnl_obj_limit_snprintf, - }; -diff --git a/src/obj/quota.c b/src/obj/quota.c -index 8ab3300..8666334 100644 ---- a/src/obj/quota.c -+++ b/src/obj/quota.c -@@ -144,5 +144,5 @@ struct obj_ops obj_ops_quota = { - .get = nftnl_obj_quota_get, - .parse = nftnl_obj_quota_parse, - .build = nftnl_obj_quota_build, -- .snprintf = nftnl_obj_quota_snprintf, -+ .snprintf_ = nftnl_obj_quota_snprintf, - }; -diff --git a/src/obj/secmark.c b/src/obj/secmark.c -index 2ccc803..e96e06f 100644 ---- a/src/obj/secmark.c -+++ b/src/obj/secmark.c -@@ -116,5 +116,5 @@ struct obj_ops obj_ops_secmark = { - .get = nftnl_obj_secmark_get, - .parse = nftnl_obj_secmark_parse, - .build = nftnl_obj_secmark_build, -- .snprintf = nftnl_obj_secmark_snprintf, -+ .snprintf_ = nftnl_obj_secmark_snprintf, - }; -diff --git a/src/obj/synproxy.c b/src/obj/synproxy.c -index d689fee..d06cb6d 100644 ---- a/src/obj/synproxy.c -+++ b/src/obj/synproxy.c -@@ -143,5 +143,5 @@ struct obj_ops obj_ops_synproxy = { - .get = nftnl_obj_synproxy_get, - .parse = nftnl_obj_synproxy_parse, - .build = nftnl_obj_synproxy_build, -- .snprintf = nftnl_obj_synproxy_snprintf, -+ .snprintf_ = nftnl_obj_synproxy_snprintf, - }; -diff --git a/src/obj/tunnel.c b/src/obj/tunnel.c -index 5ede6bd..d3743ff 100644 ---- a/src/obj/tunnel.c -+++ b/src/obj/tunnel.c -@@ -547,5 +547,5 @@ struct obj_ops obj_ops_tunnel = { - .get = nftnl_obj_tunnel_get, - .parse = nftnl_obj_tunnel_parse, - .build = nftnl_obj_tunnel_build, -- .snprintf = nftnl_obj_tunnel_snprintf, -+ .snprintf_ = nftnl_obj_tunnel_snprintf, - }; -diff --git a/src/object.c b/src/object.c -index 46e208b..d321c50 100644 ---- a/src/object.c -+++ b/src/object.c -@@ -396,7 +396,7 @@ static int nftnl_obj_snprintf_dflt(char *buf, size_t remain, - SNPRINTF_BUFFER_SIZE(ret, remain, offset); - - if (obj->ops) { -- ret = obj->ops->snprintf(buf + offset, remain, flags, obj); -+ ret = obj->ops->snprintf_(buf + offset, remain, flags, obj); - SNPRINTF_BUFFER_SIZE(ret, remain, offset); - } - ret = snprintf(buf + offset, remain, "]"); --- -2.33.1 - diff --git a/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.2.bb b/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.2.bb deleted file mode 100644 index 3eca92dcec4..00000000000 --- a/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.2.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "Library for low-level interaction with nftables Netlink's API over libmnl" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=79808397c3355f163c012616125c9e26" -SECTION = "libs" -DEPENDS = "libmnl" - -SRCREV = "f6575131e60ab10f131ea3ff36f69af2b6c3f614" -SRC_URI = "git://git.netfilter.org/libnftnl;branch=master \ - file://0001-avoid-naming-local-function-as-one-of-printf-family.patch \ - file://0001-configure.ac-Add-serial-tests.patch \ - file://run-ptest \ - " - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig ptest - -RDEPENDS:${PN}-ptest += " bash python3-core make" - -TESTDIR = "tests" - -do_compile_ptest() { - cp -rf ${S}/build-aux . - oe_runmake buildtest-TESTS -} - -do_install_ptest() { - cp -rf ${B}/build-aux ${D}${PTEST_PATH} - install -d ${D}${PTEST_PATH}/${TESTDIR} - cp -rf ${B}/${TESTDIR}/Makefile ${D}${PTEST_PATH}/${TESTDIR} - - # the binaries compiled in ${TESTDIR} will look for a compiler to - # use, which will cause failures. Substitute the binaries in - # ${TESTDIR}/.libs instead - cp -rf ${B}/${TESTDIR}/.libs/* ${D}${PTEST_PATH}/${TESTDIR} - - # Alter the Makefile so that it does not try and rebuild anything in - # other nonexistent paths before running the actual tests - sed -i 's/^Makefile/_Makefile/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile -} - diff --git a/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.4.bb b/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.4.bb new file mode 100644 index 00000000000..ede35e76244 --- /dev/null +++ b/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.4.bb @@ -0,0 +1,39 @@ +SUMMARY = "Library for low-level interaction with nftables Netlink's API over libmnl" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=79808397c3355f163c012616125c9e26" +SECTION = "libs" + +SRC_URI = "git://git.netfilter.org/libnftnl;branch=master \ + file://0001-configure.ac-Add-serial-tests.patch \ + file://run-ptest \ + " +SRCREV = "141cc997755dd91e94dd64c5497f2a23bd9a894c" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig ptest + +DEPENDS = "libmnl" +RDEPENDS:${PN}-ptest += " bash python3-core make" + +TESTDIR = "tests" + +do_compile_ptest() { + cp -rf ${S}/build-aux . + oe_runmake buildtest-TESTS +} + +do_install_ptest() { + cp -rf ${B}/build-aux ${D}${PTEST_PATH} + install -d ${D}${PTEST_PATH}/${TESTDIR} + cp -rf ${B}/${TESTDIR}/Makefile ${D}${PTEST_PATH}/${TESTDIR} + + # the binaries compiled in ${TESTDIR} will look for a compiler to + # use, which will cause failures. Substitute the binaries in + # ${TESTDIR}/.libs instead + cp -rf ${B}/${TESTDIR}/.libs/* ${D}${PTEST_PATH}/${TESTDIR} + + # Alter the Makefile so that it does not try and rebuild anything in + # other nonexistent paths before running the actual tests + sed -i 's/^Makefile/_Makefile/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile +} diff --git a/meta-networking/recipes-filter/nftables/nftables/run-ptest b/meta-networking/recipes-filter/nftables/nftables/run-ptest index 611b8448532..27d780ace0d 100644 --- a/meta-networking/recipes-filter/nftables/nftables/run-ptest +++ b/meta-networking/recipes-filter/nftables/nftables/run-ptest @@ -1,2 +1,17 @@ #!/bin/sh -tests/shell/run-tests.sh -v + +NFTABLESLIB=@libdir@/nftables +cd ${NFTABLESLIB}/ptest + +LOG="${NFTABLESLIB}/ptest/nftables_ptest_$(date +%Y%m%d-%H%M%S).log" +tests/shell/run-tests.sh -v | sed -e '/OK/ s/^/PASS: / ; /FAILED/ s/^/FAIL: /' | sed "s,\x1B\[[0-9;]*[a-zA-Z],,g" | tee -a ${LOG} + +passed=`grep PASS: ${LOG}|wc -l` +failed=`grep FAIL: ${LOG}|wc -l` +all=$((passed + failed)) + +( echo "=== Test Summary ===" + echo "TOTAL: ${all}" + echo "PASSED: ${passed}" + echo "FAILED: ${failed}" +) | tee -a ${LOG} diff --git a/meta-networking/recipes-filter/nftables/nftables_1.0.4.bb b/meta-networking/recipes-filter/nftables/nftables_1.0.4.bb deleted file mode 100644 index 3466e16a62b..00000000000 --- a/meta-networking/recipes-filter/nftables/nftables_1.0.4.bb +++ /dev/null @@ -1,53 +0,0 @@ -SUMMARY = "Netfilter Tables userspace utillites" -SECTION = "net" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79" - -DEPENDS = "libmnl libnftnl bison-native \ - ${@bb.utils.contains('PACKAGECONFIG', 'mini-gmp', '', 'gmp', d)}" - -SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2 \ - file://0001-nftables-python-Split-root-from-prefix.patch \ - file://run-ptest \ - " - -SRC_URI[sha256sum] = "927fb1fea1f685a328c10cf791eb655d7e1ed49d310eea5cb3101dfd8d6cba35" - -inherit autotools manpages pkgconfig ptest - -PACKAGECONFIG ?= "python readline json" -PACKAGECONFIG[editline] = "--with-cli=editline, , libedit, , , linenoise readline" -PACKAGECONFIG[json] = "--with-json, --without-json, jansson" -PACKAGECONFIG[linenoise] = "--with-cli=linenoise, , linenoise, , , editline readline" -PACKAGECONFIG[manpages] = "--enable-man-doc, --disable-man-doc, asciidoc-native" -PACKAGECONFIG[mini-gmp] = "--with-mini-gmp, --without-mini-gmp" -PACKAGECONFIG[python] = "--enable-python --with-python-bin=${PYTHON}, --disable-python, python3-setuptools-native" -PACKAGECONFIG[readline] = "--with-cli=readline, , readline, , , editline linenoise" -PACKAGECONFIG[xtables] = "--with-xtables, --without-xtables, iptables" - -EXTRA_OECONF = "${@bb.utils.contains_any('PACKAGECONFIG', 'editline linenoise readline', '', '--without-cli', d)}" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)} - -RRECOMMENDS:${PN} += "kernel-module-nf-tables" - -PACKAGES =+ "${PN}-python" -FILES:${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}" -RDEPENDS:${PN}-python = "python3-core python3-json ${PN}" - -RDEPENDS:${PN}-ptest += " ${PN}-python make bash python3-core python3-ctypes python3-json python3-misc util-linux" - -TESTDIR = "tests" - -PRIVATE_LIBS:${PN}-ptest:append = "libnftables.so.1" - -do_install_ptest() { - cp -rf ${S}/build-aux ${D}${PTEST_PATH} - cp -rf ${S}/src ${D}${PTEST_PATH} - mkdir -p ${D}${PTEST_PATH}/src/.libs - cp -rf ${B}/src/.libs/* ${D}${PTEST_PATH}/src/.libs - cp -rf ${B}/src/.libs/nft ${D}${PTEST_PATH}/src/ - cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}/${TESTDIR} - sed -i 's#/usr/bin/python#/usr/bin/python3#' ${D}${PTEST_PATH}/${TESTDIR}/json_echo/run-test.py - sed -i 's#/usr/bin/env python#/usr/bin/env python3#' ${D}${PTEST_PATH}/${TESTDIR}/py/nft-test.py -} diff --git a/meta-networking/recipes-filter/nftables/nftables_1.0.5.bb b/meta-networking/recipes-filter/nftables/nftables_1.0.5.bb new file mode 100644 index 00000000000..c5a2968d181 --- /dev/null +++ b/meta-networking/recipes-filter/nftables/nftables_1.0.5.bb @@ -0,0 +1,55 @@ +SUMMARY = "Netfilter Tables userspace utillites" +SECTION = "net" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79" + +DEPENDS = "libmnl libnftnl bison-native \ + ${@bb.utils.contains('PACKAGECONFIG', 'mini-gmp', '', 'gmp', d)}" + +SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2 \ + file://0001-nftables-python-Split-root-from-prefix.patch \ + file://run-ptest \ + " + +SRC_URI[sha256sum] = "8d1b4b18393af43698d10baa25d2b9b6397969beecac7816c35dd0714e4de50a" + +inherit autotools manpages pkgconfig ptest + +PACKAGECONFIG ?= "python readline json" +PACKAGECONFIG[editline] = "--with-cli=editline, , libedit, , , linenoise readline" +PACKAGECONFIG[json] = "--with-json, --without-json, jansson" +PACKAGECONFIG[linenoise] = "--with-cli=linenoise, , linenoise, , , editline readline" +PACKAGECONFIG[manpages] = "--enable-man-doc, --disable-man-doc, asciidoc-native" +PACKAGECONFIG[mini-gmp] = "--with-mini-gmp, --without-mini-gmp" +PACKAGECONFIG[python] = "--enable-python --with-python-bin=${PYTHON}, --disable-python, python3-setuptools-native" +PACKAGECONFIG[readline] = "--with-cli=readline, , readline, , , editline linenoise" +PACKAGECONFIG[xtables] = "--with-xtables, --without-xtables, iptables" + +EXTRA_OECONF = "${@bb.utils.contains_any('PACKAGECONFIG', 'editline linenoise readline', '', '--without-cli', d)}" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)} + +RRECOMMENDS:${PN} += "kernel-module-nf-tables" + +PACKAGES =+ "${PN}-python" +FILES:${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}" +RDEPENDS:${PN}-python = "python3-core python3-json ${PN}" + +RDEPENDS:${PN}-ptest += " ${PN}-python bash make iproute2 iputils-ping procps python3-core python3-ctypes python3-json python3-misc sed util-linux" + +TESTDIR = "tests" + +PRIVATE_LIBS:${PN}-ptest:append = "libnftables.so.1" + +do_install_ptest() { + cp -rf ${S}/build-aux ${D}${PTEST_PATH} + cp -rf ${S}/src ${D}${PTEST_PATH} + mkdir -p ${D}${PTEST_PATH}/src/.libs + cp -rf ${B}/src/.libs/* ${D}${PTEST_PATH}/src/.libs + cp -rf ${B}/src/.libs/nft ${D}${PTEST_PATH}/src/ + cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}/${TESTDIR} + sed -i 's#/usr/bin/python#/usr/bin/python3#' ${D}${PTEST_PATH}/${TESTDIR}/json_echo/run-test.py + sed -i 's#/usr/bin/env python#/usr/bin/env python3#' ${D}${PTEST_PATH}/${TESTDIR}/py/nft-test.py + # handle multilib + sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest +} diff --git a/meta-networking/recipes-filter/ulogd2/ulogd2_2.0.7.bb b/meta-networking/recipes-filter/ulogd2/ulogd2_2.0.7.bb deleted file mode 100644 index 7a307dc292e..00000000000 --- a/meta-networking/recipes-filter/ulogd2/ulogd2_2.0.7.bb +++ /dev/null @@ -1,80 +0,0 @@ -SUMMARY = "Userspace logging daemon for netfilter/iptables" -DESCRIPTION = "ulogd-2.x provides a flexible, almost universal logging daemon for \ -netfilter logging. This encompasses both packet-based logging (logging of \ -policy violations) and flow-based logging, e.g. for accounting purpose." -HOMEPAGE = "https://www.netfilter.org/projects/ulogd/index.html" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" - -DEPENDS = "libnfnetlink" -PROVIDES = "ulogd" - -PV .= "+git${SRCPV}" - -SRC_URI = "git://git.netfilter.org/ulogd2;branch=master \ - file://ulogd.init \ - file://ulogd.service \ -" -SRCREV = "5f9628c9273815b6e560603427fe86118e7cb5bb" - -S = "${WORKDIR}/git" - -inherit autotools manpages pkgconfig systemd update-rc.d - -PACKAGECONFIG ?= "dbi json nfacct nfct nflog pcap sqlite3 ulog" -PACKAGECONFIG[dbi] = "--enable-dbi,--disable-dbi,libdbi" -PACKAGECONFIG[json] = "--enable-json,--disable-json,jansson" -PACKAGECONFIG[manpages] = "" -PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5" -PACKAGECONFIG[nfacct] = "--enable-nfacct,--disable-nfacct,libnetfilter-acct" -PACKAGECONFIG[nfct] = "--enable-nfct,--disable-nfct,libnetfilter-conntrack" -PACKAGECONFIG[nflog] = "--enable-nflog,--disable-nflog,libnetfilter-log" -PACKAGECONFIG[pcap] = "--enable-pcap,--disable-pcap,libpcap" -PACKAGECONFIG[pgsql] = "--enable-pgsql,--disable-pgsql,postgresql" -PACKAGECONFIG[sqlite3] = "--enable-sqlite3,--disable-sqlite3,sqlite3" -PACKAGECONFIG[ulog] = "--enable-ulog,--disable-ulog" - -do_install:append () { - install -d ${D}${sysconfdir} - install -m 0644 ${B}/ulogd.conf ${D}${sysconfdir}/ulogd.conf - - install -d ${D}${mandir}/man8 - install -m 0644 ${S}/ulogd.8 ${D}${mandir}/man8/ulogd.8 - - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/ulogd.service ${D}${systemd_system_unitdir} - sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/ulogd.service - - install -d ${D}${sysconfdir}/init.d - install -m 755 ${WORKDIR}/ulogd.init ${D}${sysconfdir}/init.d/ulogd -} - -PACKAGES += "${PN}-plugins" -ALLOW_EMPTY:${PN}-plugins = "1" - -PACKAGES_DYNAMIC += "^${PN}-plugin-.*$" -NOAUTOPACKAGEDEBUG = "1" - -CONFFILES:${PN} = "${sysconfdir}/ulogd.conf" -RRECOMMENDS:${PN} += "${PN}-plugins" - -FILES:${PN}-dbg += "${sbindir}/.debug" - -python split_ulogd_libs () { - libdir = d.expand('${libdir}/ulogd') - dbglibdir = os.path.join(libdir, '.debug') - - split_packages = do_split_packages(d, libdir, r'^ulogd_.*\_([A-Z0-9]*).so', '${PN}-plugin-%s', 'ulogd2 %s plugin', prepend=True) - split_dbg_packages = do_split_packages(d, dbglibdir, r'^ulogd_.*\_([A-Z0-9]*).so', '${PN}-plugin-%s-dbg', 'ulogd2 %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg') - - if split_packages: - pn = d.getVar('PN') - d.setVar('RRECOMMENDS:' + pn + '-plugins', ' '.join(split_packages)) - d.appendVar('RRECOMMENDS:' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages)) -} -PACKAGESPLITFUNCS:prepend = "split_ulogd_libs " - -SYSTEMD_SERVICE:${PN} = "ulogd.service" - -INITSCRIPT_NAME = "ulogd" -INITSCRIPT_PARAMS = "defaults" diff --git a/meta-networking/recipes-filter/ulogd2/ulogd2_2.0.8.bb b/meta-networking/recipes-filter/ulogd2/ulogd2_2.0.8.bb new file mode 100644 index 00000000000..19bd32ccd45 --- /dev/null +++ b/meta-networking/recipes-filter/ulogd2/ulogd2_2.0.8.bb @@ -0,0 +1,80 @@ +SUMMARY = "Userspace logging daemon for netfilter/iptables" +DESCRIPTION = "ulogd-2.x provides a flexible, almost universal logging daemon for \ +netfilter logging. This encompasses both packet-based logging (logging of \ +policy violations) and flow-based logging, e.g. for accounting purpose." +HOMEPAGE = "https://www.netfilter.org/projects/ulogd/index.html" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" + +DEPENDS = "libnfnetlink" +PROVIDES = "ulogd" + +PV .= "+git${SRCPV}" + +SRC_URI = "git://git.netfilter.org/ulogd2;branch=master \ + file://ulogd.init \ + file://ulogd.service \ +" +SRCREV = "79aa980f2df9dda0c097e8f883a62f414b9e5138" + +S = "${WORKDIR}/git" + +inherit autotools manpages pkgconfig systemd update-rc.d + +PACKAGECONFIG ?= "dbi json nfacct nfct nflog pcap sqlite3 ulog" +PACKAGECONFIG[dbi] = "--enable-dbi,--disable-dbi,libdbi" +PACKAGECONFIG[json] = "--enable-json,--disable-json,jansson" +PACKAGECONFIG[manpages] = "" +PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5" +PACKAGECONFIG[nfacct] = "--enable-nfacct,--disable-nfacct,libnetfilter-acct" +PACKAGECONFIG[nfct] = "--enable-nfct,--disable-nfct,libnetfilter-conntrack" +PACKAGECONFIG[nflog] = "--enable-nflog,--disable-nflog,libnetfilter-log" +PACKAGECONFIG[pcap] = "--enable-pcap,--disable-pcap,libpcap" +PACKAGECONFIG[pgsql] = "--enable-pgsql,--disable-pgsql,postgresql" +PACKAGECONFIG[sqlite3] = "--enable-sqlite3,--disable-sqlite3,sqlite3" +PACKAGECONFIG[ulog] = "--enable-ulog,--disable-ulog" + +do_install:append () { + install -d ${D}${sysconfdir} + install -m 0644 ${B}/ulogd.conf ${D}${sysconfdir}/ulogd.conf + + install -d ${D}${mandir}/man8 + install -m 0644 ${S}/ulogd.8 ${D}${mandir}/man8/ulogd.8 + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/ulogd.service ${D}${systemd_system_unitdir} + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/ulogd.service + + install -d ${D}${sysconfdir}/init.d + install -m 755 ${WORKDIR}/ulogd.init ${D}${sysconfdir}/init.d/ulogd +} + +PACKAGES += "${PN}-plugins" +ALLOW_EMPTY:${PN}-plugins = "1" + +PACKAGES_DYNAMIC += "^${PN}-plugin-.*$" +NOAUTOPACKAGEDEBUG = "1" + +CONFFILES:${PN} = "${sysconfdir}/ulogd.conf" +RRECOMMENDS:${PN} += "${PN}-plugins" + +FILES:${PN}-dbg += "${sbindir}/.debug" + +python split_ulogd_libs () { + libdir = d.expand('${libdir}/ulogd') + dbglibdir = os.path.join(libdir, '.debug') + + split_packages = do_split_packages(d, libdir, r'^ulogd_.*\_([A-Z0-9]*).so', '${PN}-plugin-%s', 'ulogd2 %s plugin', prepend=True) + split_dbg_packages = do_split_packages(d, dbglibdir, r'^ulogd_.*\_([A-Z0-9]*).so', '${PN}-plugin-%s-dbg', 'ulogd2 %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg') + + if split_packages: + pn = d.getVar('PN') + d.setVar('RRECOMMENDS:' + pn + '-plugins', ' '.join(split_packages)) + d.appendVar('RRECOMMENDS:' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages)) +} +PACKAGESPLITFUNCS:prepend = "split_ulogd_libs " + +SYSTEMD_SERVICE:${PN} = "ulogd.service" + +INITSCRIPT_NAME = "ulogd" +INITSCRIPT_PARAMS = "defaults" diff --git a/meta-networking/recipes-netkit/netkit-telnet/files/0001-utility-Include-time.h-form-time-and-strftime-protot.patch b/meta-networking/recipes-netkit/netkit-telnet/files/0001-utility-Include-time.h-form-time-and-strftime-protot.patch new file mode 100644 index 00000000000..a5e634caab0 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-telnet/files/0001-utility-Include-time.h-form-time-and-strftime-protot.patch @@ -0,0 +1,27 @@ +From 23b068e695881be0e8205ecccadf775fc3d5889d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 6 Sep 2022 21:25:50 -0700 +Subject: [PATCH] utility: Include time.h form time() and strftime() prototypes + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + telnetd/utility.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/telnetd/utility.c b/telnetd/utility.c +index 4811f14..b539777 100644 +--- a/telnetd/utility.c ++++ b/telnetd/utility.c +@@ -40,6 +40,7 @@ char util_rcsid[] = + #define PRINTOPTIONS + + #include ++#include /* for time() anf strftime() */ + #include + + #ifdef AUTHENTICATE +-- +2.37.3 + diff --git a/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb b/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb index 56860ea0987..6d60c6fbbe2 100644 --- a/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb +++ b/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb @@ -14,6 +14,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-telnet/netkit-telnet_${PV}.orig.tar.gz file://0001-telnet-telnetd-Fix-deadlock-on-cleanup.patch \ file://CVE-2020-10188.patch \ file://0001-telnetd-utility.c-Fix-buffer-overflow-in-netoprintf.patch \ + file://0001-utility-Include-time.h-form-time-and-strftime-protot.patch \ " UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/n/netkit-telnet/" diff --git a/meta-networking/recipes-protocols/dante/dante_1.4.1.bb b/meta-networking/recipes-protocols/dante/dante_1.4.1.bb deleted file mode 100644 index 48f97085603..00000000000 --- a/meta-networking/recipes-protocols/dante/dante_1.4.1.bb +++ /dev/null @@ -1,49 +0,0 @@ -SECTION = "console/utils" -SUMMARY = "A free SOCKS server" -DESCRIPTION = "Dante consists of a SOCKS server and a SOCKS client,\ -implementing RFC 1928 and related standards. It is a flexible product\ -that can be used to provide convenient and secure network\ -connectivity. Once installed, Dante can in most cases be made\ -transparent to clients, providing functionality somewhat similar to\ -what could be described as a non-transparent Layer 4 router." -HOMEPAGE = "http://www.inet.no/dante/" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=221118dda731fe93a85d0ed973467249" - -SRC_URI = "https://www.inet.no/dante/files/dante-${PV}.tar.gz \ - " -SRC_URI[md5sum] = "68c2ce12119e12cea11a90c7a80efa8f" -SRC_URI[sha256sum] = "b6d232bd6fefc87d14bf97e447e4fcdeef4b28b16b048d804b50b48f261c4f53" - -# without --without-gssapi, config.log will contain reference to /usr/lib -# as a consequence of GSSAPI path being set to /usr by default. -# --with-gssapi-path=PATH specify gssapi path -# --without-gssapi disable gssapi support -# --enable-release build prerelease as full release -EXTRA_OECONF += "--without-gssapi --sbindir=${bindir}" - -DEPENDS += "flex-native bison-native libpam" - -inherit autotools-brokensep features_check - -REQUIRED_DISTRO_FEATURES = "pam" - -EXTRA_AUTORECONF = "-I ${S}" - -PACKAGECONFIG[libwrap] = ",--disable-libwrap,tcp-wrappers,libwrap" -PACKAGECONFIG[krb5] = ",--without-krb5,krb5" - -PACKAGECONFIG ??= "" - -do_install:append() { - install -d ${D}${sysconfdir} - cp ${S}/example/sock[sd].conf ${D}${sysconfdir} -} - -PACKAGES =+ "${PN}-sockd ${PN}-libdsocks " - -FILES:${PN}-libdsocks = "${libdir}/libdsocks.so" -FILES:${PN}-sockd = "${bindir}/sockd ${sysconfdir}/sockd.conf" - -INSANE_SKIP:${PN}-libdsocks = "dev-elf" diff --git a/meta-networking/recipes-protocols/dante/dante_1.4.3.bb b/meta-networking/recipes-protocols/dante/dante_1.4.3.bb new file mode 100644 index 00000000000..746c08be6e9 --- /dev/null +++ b/meta-networking/recipes-protocols/dante/dante_1.4.3.bb @@ -0,0 +1,49 @@ +SECTION = "console/utils" +SUMMARY = "A free SOCKS server" +DESCRIPTION = "Dante consists of a SOCKS server and a SOCKS client,\ +implementing RFC 1928 and related standards. It is a flexible product\ +that can be used to provide convenient and secure network\ +connectivity. Once installed, Dante can in most cases be made\ +transparent to clients, providing functionality somewhat similar to\ +what could be described as a non-transparent Layer 4 router." +HOMEPAGE = "http://www.inet.no/dante/" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=edd508404db7339042dfc861a3a690ad" + +SRC_URI = "https://www.inet.no/dante/files/dante-${PV}.tar.gz \ + " +SRC_URI[sha256sum] = "418a065fe1a4b8ace8fbf77c2da269a98f376e7115902e76cda7e741e4846a5d" + +# without --without-gssapi, config.log will contain reference to /usr/lib +# as a consequence of GSSAPI path being set to /usr by default. +# --with-gssapi-path=PATH specify gssapi path +# --without-gssapi disable gssapi support +# --enable-release build prerelease as full release +EXTRA_OECONF += "--without-gssapi --sbindir=${bindir}" + +DEPENDS += "flex-native bison-native libpam libtirpc" +inherit autotools-brokensep features_check + +CFLAGS += "-I${STAGING_INCDIR}/tirpc" +LIBS += "-ltirpc" + +REQUIRED_DISTRO_FEATURES = "pam" + +EXTRA_AUTORECONF = "-I ${S}" + +PACKAGECONFIG[libwrap] = ",--disable-libwrap,tcp-wrappers,libwrap" + +PACKAGECONFIG ??= "" + +do_install:append() { + install -d ${D}${sysconfdir} + cp ${S}/example/sock[sd].conf ${D}${sysconfdir} +} + +PACKAGES =+ "${PN}-sockd ${PN}-libdsocks " + +FILES:${PN}-libdsocks = "${libdir}/libdsocks.so" +FILES:${PN}-sockd = "${bindir}/sockd ${sysconfdir}/sockd.conf" + +INSANE_SKIP:${PN}-libdsocks = "dev-elf" diff --git a/meta-networking/recipes-protocols/freediameter/files/0001-tests-use-EXTENSIONS_DIR.patch b/meta-networking/recipes-protocols/freediameter/files/0001-tests-use-EXTENSIONS_DIR.patch new file mode 100644 index 00000000000..4cedc21ce81 --- /dev/null +++ b/meta-networking/recipes-protocols/freediameter/files/0001-tests-use-EXTENSIONS_DIR.patch @@ -0,0 +1,92 @@ +From 935fcac46e2790e0e297ca855b8033895c1b8941 Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Wed, 24 Aug 2022 13:45:32 +0800 +Subject: [PATCH] tests: use EXTENSIONS_DIR + +Use EXTENSIONS_DIR to replace BUILD_DIR as the BUILD_DIR is meanlingless +on target and also fix buildpaths issue. + +Upstream-Status: Inappropriate [OE ptest specific] + +Signed-off-by: Mingli Yu +--- + tests/CMakeLists.txt | 1 + + tests/testloadext.c | 12 ++++++------ + tests/testmesg_stress.c | 12 ++++++------ + 3 files changed, 13 insertions(+), 12 deletions(-) + +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index 8b698ce..2c83cbb 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -37,6 +37,7 @@ SET(TEST_LIST + + ADD_DEFINITIONS(-DTEST_DEBUG) + ADD_DEFINITIONS(-DBUILD_DIR="${CMAKE_BINARY_DIR}") ++ADD_DEFINITIONS(-DEXTENSIONS_DIR="${EXTENSIONS_DIR}") + + INCLUDE_DIRECTORIES( "../libfdproto" ) + INCLUDE_DIRECTORIES( "../libfdcore" ) +diff --git a/tests/testloadext.c b/tests/testloadext.c +index 452737f..3fffef5 100644 +--- a/tests/testloadext.c ++++ b/tests/testloadext.c +@@ -35,9 +35,9 @@ + + #include "tests.h" + +-#ifndef BUILD_DIR +-#error "Missing BUILD_DIR information" +-#endif /* BUILD_DIR */ ++#ifndef EXTENSIONS_DIR ++#error "Missing EXTENSIONS_DIR information" ++#endif /* EXTENSIONS_DIR */ + + #include + #include +@@ -59,9 +59,9 @@ int main(int argc, char *argv[]) + CHECK( 0, fd_rtdisp_init() ); + + /* Find all extensions which have been compiled along the test */ +- TRACE_DEBUG(INFO, "Loading from: '%s'", BUILD_DIR "/extensions"); +- CHECK( 0, (dir = opendir (BUILD_DIR "/extensions")) == NULL ? 1 : 0 ); +- pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/"); ++ TRACE_DEBUG(INFO, "Loading from: '%s'", EXTENSIONS_DIR); ++ CHECK( 0, (dir = opendir (EXTENSIONS_DIR)) == NULL ? 1 : 0 ); ++ pathlen = snprintf(fullname, sizeof(fullname), EXTENSIONS_DIR "/"); + + while ((dp = readdir (dir)) != NULL) { + char * dot = strrchr(dp->d_name, '.'); +diff --git a/tests/testmesg_stress.c b/tests/testmesg_stress.c +index 310a9d2..97dfe07 100644 +--- a/tests/testmesg_stress.c ++++ b/tests/testmesg_stress.c +@@ -38,9 +38,9 @@ + #include + #include + +-#ifndef BUILD_DIR +-#error "Missing BUILD_DIR information" +-#endif /* BUILD_DIR */ ++#ifndef EXTENSIONS_DIR ++#error "Missing EXTENSIONS_DIR information" ++#endif /* EXTENSIONS_DIR */ + + + /* The number of times each operation is repeated to measure the average operation time */ +@@ -73,9 +73,9 @@ static void load_all_extensions(char * prefix) + struct fd_list ext_with_depends = FD_LIST_INITIALIZER(ext_with_depends); + + /* Find all extensions which have been compiled along the test */ +- LOG_D("Loading %s*.fdx from: '%s'", BUILD_DIR "/extensions", prefix ?: ""); +- CHECK( 0, (dir = opendir (BUILD_DIR "/extensions")) == NULL ? 1 : 0 ); +- pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/"); ++ LOG_D("Loading %s*.fdx from: '%s'", EXTENSIONS_DIR, prefix ?: ""); ++ CHECK( 0, (dir = opendir (EXTENSIONS_DIR)) == NULL ? 1 : 0 ); ++ pathlen = snprintf(fullname, sizeof(fullname), EXTENSIONS_DIR "/"); + + while ((dp = readdir (dir)) != NULL) { + char * dot = strrchr(dp->d_name, '.'); +-- +2.25.1 + diff --git a/meta-networking/recipes-protocols/freediameter/files/pass-ptest-env.patch b/meta-networking/recipes-protocols/freediameter/files/pass-ptest-env.patch deleted file mode 100644 index ea857af7d66..00000000000 --- a/meta-networking/recipes-protocols/freediameter/files/pass-ptest-env.patch +++ /dev/null @@ -1,72 +0,0 @@ -freediameter ptest cases testmesg_stress.c and testloadext.c need load -extensions both build time and runtime. Then they search extensions with -build directory that causes runtime failures. - -Pass an environment variable to define runtime extension path. - -Upstream-Status: Inappropriate [OE ptest specific] - -Signed-off-by: Kai Kang -Signed-off-by: Jackie Huang - -diff -Nur freeDiameter-1.2.0.orig/tests/testloadext.c freeDiameter-1.2.0/tests/testloadext.c ---- freeDiameter-1.2.0.orig/tests/testloadext.c 2014-02-19 17:33:24.785405032 +0800 -+++ freeDiameter-1.2.0/tests/testloadext.c 2014-02-19 20:08:03.871403924 +0800 -@@ -49,7 +49,7 @@ - { - DIR *dir; - struct dirent *dp; -- char fullname[512]; -+ char fullname[1024]; - int pathlen; - - /* First, initialize the daemon modules */ -@@ -57,11 +57,16 @@ - CHECK( 0, fd_queues_init() ); - CHECK( 0, fd_msg_init() ); - CHECK( 0, fd_rtdisp_init() ); -- -+ -+ char *ext_dir = getenv("EXTENSIONS_DIR"); -+ if (ext_dir) -+ pathlen = snprintf(fullname, sizeof(fullname), "%s", ext_dir); -+ else -+ pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/"); -+ - /* Find all extensions which have been compiled along the test */ -- TRACE_DEBUG(INFO, "Loading from: '%s'", BUILD_DIR "/extensions"); -- CHECK( 0, (dir = opendir (BUILD_DIR "/extensions")) == NULL ? 1 : 0 ); -- pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/"); -+ TRACE_DEBUG(INFO, "Loading from: '%s'", fullname); -+ CHECK( 0, (dir = opendir (fullname)) == NULL ? 1 : 0 ); - - while ((dp = readdir (dir)) != NULL) { - char * dot = strrchr(dp->d_name, '.'); -diff -Nur freeDiameter-1.2.0.orig/tests/testmesg_stress.c freeDiameter-1.2.0/tests/testmesg_stress.c ---- freeDiameter-1.2.0.orig/tests/testmesg_stress.c 2014-02-19 17:33:24.785405032 +0800 -+++ freeDiameter-1.2.0/tests/testmesg_stress.c 2014-02-19 20:08:03.928403924 +0800 -@@ -67,15 +67,20 @@ - { - DIR *dir; - struct dirent *dp; -- char fullname[512]; -+ char fullname[1024]; - int pathlen; - struct fd_list all_extensions = FD_LIST_INITIALIZER(all_extensions); - struct fd_list ext_with_depends = FD_LIST_INITIALIZER(ext_with_depends); - -+ char *ext_dir = getenv("EXTENSIONS_DIR"); -+ if (ext_dir) -+ pathlen = snprintf(fullname, sizeof(fullname), "%s", ext_dir); -+ else -+ pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/"); -+ - /* Find all extensions which have been compiled along the test */ -- LOG_D("Loading %s*.fdx from: '%s'", BUILD_DIR "/extensions", prefix ?: ""); -- CHECK( 0, (dir = opendir (BUILD_DIR "/extensions")) == NULL ? 1 : 0 ); -- pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/"); -+ TRACE_DEBUG(INFO, "Loading from: '%s'", fullname); -+ CHECK( 0, (dir = opendir (fullname)) == NULL ? 1 : 0 ); - - while ((dp = readdir (dir)) != NULL) { - char * dot = strrchr(dp->d_name, '.'); diff --git a/meta-networking/recipes-protocols/freediameter/files/run-ptest b/meta-networking/recipes-protocols/freediameter/files/run-ptest index d0ca8d96211..3c841644b7a 100644 --- a/meta-networking/recipes-protocols/freediameter/files/run-ptest +++ b/meta-networking/recipes-protocols/freediameter/files/run-ptest @@ -6,6 +6,5 @@ if ! lsmod | grep -q sctp && ! modprobe sctp 2>/dev/null; then echo fi -export EXTENSIONS_DIR=$EXTENSIONS_DIR cmake -E cmake_echo_color --cyan "Running tests..." ctest --force-new-ctest-process diff --git a/meta-networking/recipes-protocols/freediameter/freediameter_1.4.0.bb b/meta-networking/recipes-protocols/freediameter/freediameter_1.4.0.bb index 3ec20d3ab91..93a607d3cee 100644 --- a/meta-networking/recipes-protocols/freediameter/freediameter_1.4.0.bb +++ b/meta-networking/recipes-protocols/freediameter/freediameter_1.4.0.bb @@ -18,7 +18,7 @@ SRC_URI = "\ file://Replace-murmurhash-algorithm-with-Robert-Jenkin-s-ha.patch \ file://freediameter.service \ file://freediameter.init \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://install_test.patch file://run-ptest file://pass-ptest-env.patch', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://install_test.patch file://run-ptest file://0001-tests-use-EXTENSIONS_DIR.patch', '', d)} \ file://freeDiameter.conf \ file://0001-libfdcore-sctp.c-update-the-old-sctp-api-check.patch \ " @@ -46,6 +46,7 @@ EXTRA_OECMAKE = " \ -DBUILD_TEST_RT_ANY:BOOL=ON \ -DINSTALL_LIBRARY_SUFFIX:PATH=${baselib} \ -DINSTALL_EXTENSIONS_SUFFIX:PATH=${baselib}/${fd_pkgname} \ + -DEXTENSIONS_DIR:PATH=${libdir}/${fd_pkgname} \ -DINSTALL_TEST_SUFFIX:PATH=${PTEST_PATH}-tests \ -DCMAKE_SKIP_RPATH:BOOL=ON \ " @@ -107,13 +108,15 @@ EOF openssl req -x509 -config ${STAGING_DIR_NATIVE}/etc/ssl/openssl.cnf -newkey rsa:4096 -sha256 -nodes -out ${D}${sysconfdir}/freeDiameter/${FD_PEM} -keyout ${D}${sysconfdir}/freeDiameter/${FD_KEY} -days 3650 -subj '/CN=${FD_HOSTNAME}.${FD_REALM}' openssl dhparam -out ${D}${sysconfdir}/freeDiameter/${FD_DH_PEM} 1024 + find ${B} \( -name "*.c" -o -name "*.h" \) -exec sed -i -e 's#${WORKDIR}##g' {} \; } do_install_ptest() { - sed -i "s#\(EXTENSIONS_DIR=\).*\$#\1${libdir}/${fd_pkgname}/#" ${D}${PTEST_PATH}/run-ptest mv ${D}${PTEST_PATH}-tests/* ${D}${PTEST_PATH}/ rmdir ${D}${PTEST_PATH}-tests install -m 0644 ${B}/tests/CTestTestfile.cmake ${D}${PTEST_PATH}/ + sed -i -e 's#${WORKDIR}##g' ${D}${PTEST_PATH}/CTestTestfile.cmake + sed -i "/^set_tests_properties/d" ${D}${PTEST_PATH}/CTestTestfile.cmake } FILES:${PN}-dbg += "${libdir}/${fd_pkgname}/.debug/*" diff --git a/meta-networking/recipes-protocols/frr/frr/0001-bgpd-Make-sure-hdr-length-is-at-a-minimum-of-what-is.patch b/meta-networking/recipes-protocols/frr/frr/0001-bgpd-Make-sure-hdr-length-is-at-a-minimum-of-what-is.patch new file mode 100644 index 00000000000..52b39c1e869 --- /dev/null +++ b/meta-networking/recipes-protocols/frr/frr/0001-bgpd-Make-sure-hdr-length-is-at-a-minimum-of-what-is.patch @@ -0,0 +1,43 @@ +From 066770ac1c69ee5b484bb82581b22ad0423b004d Mon Sep 17 00:00:00 2001 +From: Donald Sharp +Date: Thu, 21 Jul 2022 08:11:58 -0400 +Subject: [PATCH] bgpd: Make sure hdr length is at a minimum of what is + expected + +Ensure that if the capability length specified is enough data. + +Signed-off-by: Donald Sharp +(cherry picked from commit ff6db1027f8f36df657ff2e5ea167773752537ed) + +CVE: CVE-2022-37032 + +Upstream-Status: Backport +[https://github.com/FRRouting/frr/commit/066770ac1c69ee5b484bb82581b22ad0423b004d] + +Signed-off-by: Yi Zhao +--- + bgpd/bgp_packet.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c +index 7613ccc7d..a5f065a15 100644 +--- a/bgpd/bgp_packet.c ++++ b/bgpd/bgp_packet.c +@@ -2621,6 +2621,14 @@ static int bgp_capability_msg_parse(struct peer *peer, uint8_t *pnt, + "%s CAPABILITY has action: %d, code: %u, length %u", + peer->host, action, hdr->code, hdr->length); + ++ if (hdr->length < sizeof(struct capability_mp_data)) { ++ zlog_info( ++ "%pBP Capability structure is not properly filled out, expected at least %zu bytes but header length specified is %d", ++ peer, sizeof(struct capability_mp_data), ++ hdr->length); ++ return BGP_Stop; ++ } ++ + /* Capability length check. */ + if ((pnt + hdr->length + 3) > end) { + zlog_info("%s Capability length error", peer->host); +-- +2.25.1 + diff --git a/meta-networking/recipes-protocols/frr/frr/0001-bgpd-avoid-notify-race-between-io-and-main-pthreads.patch b/meta-networking/recipes-protocols/frr/frr/0001-bgpd-avoid-notify-race-between-io-and-main-pthreads.patch new file mode 100644 index 00000000000..40284d6f4f2 --- /dev/null +++ b/meta-networking/recipes-protocols/frr/frr/0001-bgpd-avoid-notify-race-between-io-and-main-pthreads.patch @@ -0,0 +1,151 @@ +From 71ca5b09bc71e8cbe38177cf41e83fe164e52eee Mon Sep 17 00:00:00 2001 +From: Mark Stapp +Date: Thu, 8 Sep 2022 16:14:36 -0400 +Subject: [PATCH] bgpd: avoid notify race between io and main pthreads + +The "bgp_notify_" apis in bgp_packet.c generate a notification +to a peer, usually during error handling. The io pthread wants +to send notifications in a couple of cases during early +received-packet validation - but the existing api interacts +with the peer struct itself, and that's not safe. + +Add a new api for use by the io pthread, and adjust the main +notify api so that it can avoid touching the peer struct. + +Signed-off-by: Mark Stapp + +CVE: CVE-2022-37035 + +Upstream-Status: Backport +[https://github.com/FRRouting/frr/commit/71ca5b09bc71e8cbe38177cf41e83fe164e52eee] + +Signed-off-by: Yi Zhao +--- + bgpd/bgp_io.c | 17 ++++++++--------- + bgpd/bgp_packet.c | 32 ++++++++++++++++++++++++++++---- + bgpd/bgp_packet.h | 2 ++ + 3 files changed, 38 insertions(+), 13 deletions(-) + +diff --git a/bgpd/bgp_io.c b/bgpd/bgp_io.c +index 7af1fae28..f9bb8d518 100644 +--- a/bgpd/bgp_io.c ++++ b/bgpd/bgp_io.c +@@ -37,7 +37,7 @@ + #include "bgpd/bgp_debug.h" // for bgp_debug_neighbor_events, bgp_type_str + #include "bgpd/bgp_errors.h" // for expanded error reference information + #include "bgpd/bgp_fsm.h" // for BGP_EVENT_ADD, bgp_event +-#include "bgpd/bgp_packet.h" // for bgp_notify_send_with_data, bgp_notify... ++#include "bgpd/bgp_packet.h" // for bgp_notify_io_invalid... + #include "bgpd/bgp_trace.h" // for frrtraces + #include "bgpd/bgpd.h" // for peer, BGP_MARKER_SIZE, bgp_master, bm + /* clang-format on */ +@@ -526,8 +526,8 @@ static bool validate_header(struct peer *peer) + return false; + + if (memcmp(m_correct, m_rx, BGP_MARKER_SIZE) != 0) { +- bgp_notify_send(peer, BGP_NOTIFY_HEADER_ERR, +- BGP_NOTIFY_HEADER_NOT_SYNC); ++ bgp_notify_io_invalid(peer, BGP_NOTIFY_HEADER_ERR, ++ BGP_NOTIFY_HEADER_NOT_SYNC, NULL, 0); + return false; + } + +@@ -547,9 +547,8 @@ static bool validate_header(struct peer *peer) + zlog_debug("%s unknown message type 0x%02x", peer->host, + type); + +- bgp_notify_send_with_data(peer, BGP_NOTIFY_HEADER_ERR, +- BGP_NOTIFY_HEADER_BAD_MESTYPE, &type, +- 1); ++ bgp_notify_io_invalid(peer, BGP_NOTIFY_HEADER_ERR, ++ BGP_NOTIFY_HEADER_BAD_MESTYPE, &type, 1); + return false; + } + +@@ -574,9 +573,9 @@ static bool validate_header(struct peer *peer) + + uint16_t nsize = htons(size); + +- bgp_notify_send_with_data(peer, BGP_NOTIFY_HEADER_ERR, +- BGP_NOTIFY_HEADER_BAD_MESLEN, +- (unsigned char *)&nsize, 2); ++ bgp_notify_io_invalid(peer, BGP_NOTIFY_HEADER_ERR, ++ BGP_NOTIFY_HEADER_BAD_MESLEN, ++ (unsigned char *)&nsize, 2); + return false; + } + +diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c +index 7daac4494..90695219a 100644 +--- a/bgpd/bgp_packet.c ++++ b/bgpd/bgp_packet.c +@@ -871,8 +871,9 @@ bool bgp_notify_received_hard_reset(struct peer *peer, uint8_t code, + * @param data Data portion + * @param datalen length of data portion + */ +-void bgp_notify_send_with_data(struct peer *peer, uint8_t code, +- uint8_t sub_code, uint8_t *data, size_t datalen) ++static void bgp_notify_send_internal(struct peer *peer, uint8_t code, ++ uint8_t sub_code, uint8_t *data, ++ size_t datalen, bool use_curr) + { + struct stream *s; + bool hard_reset = bgp_notify_send_hard_reset(peer, code, sub_code); +@@ -917,8 +918,11 @@ void bgp_notify_send_with_data(struct peer *peer, uint8_t code, + * If possible, store last packet for debugging purposes. This check is + * in place because we are sometimes called with a doppelganger peer, + * who tends to have a plethora of fields nulled out. ++ * ++ * Some callers should not attempt this - the io pthread for example ++ * should not touch internals of the peer struct. + */ +- if (peer->curr) { ++ if (use_curr && peer->curr) { + size_t packetsize = stream_get_endp(peer->curr); + assert(packetsize <= peer->max_packet_size); + memcpy(peer->last_reset_cause, peer->curr->data, packetsize); +@@ -1001,7 +1005,27 @@ void bgp_notify_send_with_data(struct peer *peer, uint8_t code, + */ + void bgp_notify_send(struct peer *peer, uint8_t code, uint8_t sub_code) + { +- bgp_notify_send_with_data(peer, code, sub_code, NULL, 0); ++ bgp_notify_send_internal(peer, code, sub_code, NULL, 0, true); ++} ++ ++/* ++ * Enqueue notification; called from the main pthread, peer object access is ok. ++ */ ++void bgp_notify_send_with_data(struct peer *peer, uint8_t code, ++ uint8_t sub_code, uint8_t *data, size_t datalen) ++{ ++ bgp_notify_send_internal(peer, code, sub_code, data, datalen, true); ++} ++ ++/* ++ * For use by the io pthread, queueing a notification but avoiding access to ++ * the peer object. ++ */ ++void bgp_notify_io_invalid(struct peer *peer, uint8_t code, uint8_t sub_code, ++ uint8_t *data, size_t datalen) ++{ ++ /* Avoid touching the peer object */ ++ bgp_notify_send_internal(peer, code, sub_code, data, datalen, false); + } + + /* +diff --git a/bgpd/bgp_packet.h b/bgpd/bgp_packet.h +index a0eb579db..9f6d772bc 100644 +--- a/bgpd/bgp_packet.h ++++ b/bgpd/bgp_packet.h +@@ -62,6 +62,8 @@ extern void bgp_open_send(struct peer *); + extern void bgp_notify_send(struct peer *, uint8_t, uint8_t); + extern void bgp_notify_send_with_data(struct peer *, uint8_t, uint8_t, + uint8_t *, size_t); ++void bgp_notify_io_invalid(struct peer *peer, uint8_t code, uint8_t sub_code, ++ uint8_t *data, size_t datalen); + extern void bgp_route_refresh_send(struct peer *peer, afi_t afi, safi_t safi, + uint8_t orf_type, uint8_t when_to_refresh, + int remove, uint8_t subtype); +-- +2.25.1 + diff --git a/meta-networking/recipes-protocols/frr/frr/0001-configure-Check-for-readline-function-instead-of-mai.patch b/meta-networking/recipes-protocols/frr/frr/0001-configure-Check-for-readline-function-instead-of-mai.patch new file mode 100644 index 00000000000..20e8472233a --- /dev/null +++ b/meta-networking/recipes-protocols/frr/frr/0001-configure-Check-for-readline-function-instead-of-mai.patch @@ -0,0 +1,32 @@ +From 9399d58c13257849179d3c2b3698a2b43bc1b2a0 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 1 Sep 2022 10:39:23 -0700 +Subject: [PATCH] configure: Check for readline() function instead of main + +main is not a function found in libreadline, its better to check for a +function thats provided by it. + +Upstream-Status: Backport +[https://github.com/FRRouting/frr/commit/9399d58c13257849179d3c2b3698a2b43bc1b2a0] + +Signed-off-by: Khem Raj +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index b7e17d356..8c1fab0ea 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1372,7 +1372,7 @@ case "${enable_vtysh}" in + AC_DEFINE([VTYSH], [1], [VTY shell]) + + prev_libs="$LIBS" +- AC_CHECK_LIB([readline], [main], [ ++ AC_CHECK_LIB([readline], [readline], [ + LIBREADLINE="-lreadline" + ], [ + dnl readline failed - it might be incorrectly linked and missing its +-- +2.37.3 + diff --git a/meta-networking/recipes-protocols/frr/frr/0001-m4-ax_python.m4-check-for-python-x.y-emded.pc-not-py.patch b/meta-networking/recipes-protocols/frr/frr/0001-m4-ax_python.m4-check-for-python-x.y-emded.pc-not-py.patch new file mode 100644 index 00000000000..9e5cfd8f55a --- /dev/null +++ b/meta-networking/recipes-protocols/frr/frr/0001-m4-ax_python.m4-check-for-python-x.y-emded.pc-not-py.patch @@ -0,0 +1,28 @@ +From 6a2984718d7c47612b07be46d663e7b5e5b7c57d Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 9 Nov 2022 20:24:45 +0100 +Subject: [PATCH] m4/ax_python.m4: check for python-x.y-emded.pc, not + python-x.y.pc + +Only the embed version includes necessary linker flags to link +with libpython. + +Upstream-Status: Submitted [https://github.com/FRRouting/frr/pull/12298] +Signed-off-by: Alexander Kanavin +--- + m4/ax_python.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/m4/ax_python.m4 b/m4/ax_python.m4 +index 91d12b99b..f5e603b96 100644 +--- a/m4/ax_python.m4 ++++ b/m4/ax_python.m4 +@@ -206,7 +206,7 @@ AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl + AC_MSG_CHECKING([whether pkg-config python-${tryver} is available]) + unset PYTHON_CFLAGS + unset PYTHON_LIBS +- pkg="python-${tryver}" ++ pkg="python-${tryver}-embed" + pkg="${pkg%-}" + _PKG_CONFIG([PYTHON_CFLAGS], [cflags], [${pkg}]) + _PKG_CONFIG([PYTHON_LIBS], [libs], [${pkg}]) diff --git a/meta-networking/recipes-protocols/frr/frr/0001-ospfd-Adding-SUPPORT_OSPF_API-define-in-ospf_spf.c.patch b/meta-networking/recipes-protocols/frr/frr/0001-ospfd-Adding-SUPPORT_OSPF_API-define-in-ospf_spf.c.patch new file mode 100644 index 00000000000..09988946b67 --- /dev/null +++ b/meta-networking/recipes-protocols/frr/frr/0001-ospfd-Adding-SUPPORT_OSPF_API-define-in-ospf_spf.c.patch @@ -0,0 +1,48 @@ +From ec3bb054c331f9d928ac21a1747e0f921b51dfbc Mon Sep 17 00:00:00 2001 +From: Michal Ruprich +Date: Tue, 6 Sep 2022 12:25:01 +0200 +Subject: [PATCH] ospfd: Adding SUPPORT_OSPF_API define in ospf_spf.c + +It is not possible to build ospf_spf.c file with --disable-ospfapi because +ospf_apiserver.c has SUPPORT_OSPF_API around all function definitions and +that results in an undefined reference to the ospf_apiserver_notify_reachable +function error while building. + +Signed-off-by: Michal Ruprich + +Upstream-Status: Backport +[https://github.com/FRRouting/frr/commit/ec3bb054c331f9d928ac21a1747e0f921b51dfbc] + +Signed-off-by: Yi Zhao +--- + ospfd/ospf_spf.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/ospfd/ospf_spf.c b/ospfd/ospf_spf.c +index 46492ff6b..4edc1de81 100644 +--- a/ospfd/ospf_spf.c ++++ b/ospfd/ospf_spf.c +@@ -48,7 +48,10 @@ + #include "ospfd/ospf_sr.h" + #include "ospfd/ospf_ti_lfa.h" + #include "ospfd/ospf_errors.h" ++ ++#ifdef SUPPORT_OSPF_API + #include "ospfd/ospf_apiserver.h" ++#endif + + /* Variables to ensure a SPF scheduled log message is printed only once */ + +@@ -1895,7 +1898,9 @@ static void ospf_spf_calculate_schedule_worker(struct thread *thread) + /* Update all routers routing table */ + ospf->oall_rtrs = ospf->all_rtrs; + ospf->all_rtrs = all_rtrs; ++#ifdef SUPPORT_OSPF_API + ospf_apiserver_notify_reachable(ospf->oall_rtrs, ospf->all_rtrs); ++#endif + + /* Free old ABR/ASBR routing table */ + if (ospf->old_rtrs) +-- +2.25.1 + diff --git a/meta-networking/recipes-protocols/frr/frr_8.2.2.bb b/meta-networking/recipes-protocols/frr/frr_8.2.2.bb deleted file mode 100644 index f0d0dbf7cfc..00000000000 --- a/meta-networking/recipes-protocols/frr/frr_8.2.2.bb +++ /dev/null @@ -1,128 +0,0 @@ -SUMMARY = "BGP/OSPF/RIP routing daemon" -DESCRIPTION = "FRRouting is a free and open source Internet routing protocol suite for Linux \ -and Unix platforms. It implements BGP, OSPF, RIP, IS-IS, PIM, LDP, BFD, Babel, PBR, OpenFabric \ -and VRRP, with alpha support for EIGRP and NHRP." -HOMEPAGE = "https://frrouting.org/" -SECTION = "net" - -LICENSE = "GPL-2.0-only & LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING-LGPLv2.1;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI = "git://github.com/FRRouting/frr.git;protocol=https;branch=stable/8.2 \ - file://frr.pam \ - " - -SRCREV = "79188bf710e92acf42fb5b9b0a2e9593a5ee9b05" - -S = "${WORKDIR}/git" - -# Due to libyang not supported on these arches: -COMPATIBLE_HOST:riscv32 = "null" -COMPATIBLE_HOST:riscv64 = "null" -COMPATIBLE_HOST:armv5 = "null" - -# Fail to build on mips64 with error: -# Error: PC-relative reference to a different section -COMPATIBLE_HOST:mips64 = "null" - -inherit autotools-brokensep python3native pkgconfig useradd systemd - -DEPENDS:class-native = "bison-native elfutils-native" -DEPENDS:class-target = "bison-native json-c readline c-ares libyang frr-native" - -RDEPENDS:${PN}:class-target = "iproute2 python3-core bash" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" -PACKAGECONFIG:class-native = "" - -PACKAGECONFIG[fpm] = "--enable-fpm,--disable-fpm" -PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam" -PACKAGECONFIG[grpc] = "--enable-grpc,--disable-grpc,grpc-native grpc" -PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp" -PACKAGECONFIG[zeromq] = "--enable-zeromq,--disable-zeromq,zeromq" -PACKAGECONFIG[protobuf] = "--enable-protobuf,--disable-protobuf,protobuf-c-native protobuf-c" -PACKAGECONFIG[capabilities] = "--enable-capabilities,--disable-capabilities,libcap" -PACKAGECONFIG[cumulus] = "--enable-cumulus,--disable-cumulus" -PACKAGECONFIG[datacenter] = "--enable-datacenter,--disable-datacenter" -PACKAGECONFIG[ospfclient] = "--enable-ospfapi --enable-ospfclient,--disable-ospfapi --disable-ospfclient" - -EXTRA_OECONF:class-native = "--enable-clippy-only" - -EXTRA_OECONF:class-target = "--sbindir=${libdir}/frr \ - --sysconfdir=${sysconfdir}/frr \ - --localstatedir=${localstatedir}/run/frr \ - --enable-vtysh \ - --enable-multipath=64 \ - --enable-user=frr \ - --enable-group=frr \ - --enable-vty-group=frrvty \ - --enable-configfile-mask=0640 \ - --enable-logfile-mask=0640 \ - --disable-doc \ - --with-clippy=${RECIPE_SYSROOT_NATIVE}/usr/lib/clippy \ - " - -CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'" - -LDFLAGS:append:mips = " -latomic" -LDFLAGS:append:mipsel = " -latomic" -LDFLAGS:append:powerpc = " -latomic" - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE:${PN} = "frr.service" -SYSTEMD_AUTO_ENABLE = "disable" - -do_compile:prepend () { - sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' \ - -e 's#${RECIPE_SYSROOT}##g' ${S}/lib/version.h -} - -do_compile:class-native () { - oe_runmake clippy-only -} - -do_install:class-native () { - install -d ${D}${libdir} - install -m 755 ${S}/lib/clippy ${D}${libdir}/clippy -} - -do_install:append:class-target () { - install -m 0755 -d ${D}${sysconfdir}/frr - install -m 0640 ${S}/tools/etc/frr/* ${D}${sysconfdir}/frr/ - chown frr:frrvty ${D}${sysconfdir}/frr - chown frr:frr ${D}${sysconfdir}/frr/* - chown frr:frrvty ${D}${sysconfdir}/frr/vtysh.conf - chmod 640 ${D}${sysconfdir}/frr/* - - if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then - install -d ${D}/${sysconfdir}/pam.d - install -m 644 ${WORKDIR}/frr.pam ${D}/${sysconfdir}/pam.d/frr - fi - - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${B}/tools/frrinit.sh ${D}${sysconfdir}/init.d/frr - - install -d ${D}${sysconfdir}/default/volatiles - echo "d frr frr 0755 ${localstatedir}/run/frr none" \ - > ${D}${sysconfdir}/default/volatiles/99_frr - fi - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${B}/tools/frr*.service ${D}${systemd_system_unitdir} - - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d /run/frr 0755 frr frr -" \ - > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf - fi -} - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM:${PN} = "--system frr ; --system frrvty" -USERADD_PARAM:${PN} = "--system --home ${localstatedir}/run/frr/ -M -g frr -G frrvty --shell /bin/false frr" - -FILES:${PN} += "${datadir}/yang" - -BBCLASSEXTEND = "native" diff --git a/meta-networking/recipes-protocols/frr/frr_8.3.1.bb b/meta-networking/recipes-protocols/frr/frr_8.3.1.bb new file mode 100644 index 00000000000..67d50e3edca --- /dev/null +++ b/meta-networking/recipes-protocols/frr/frr_8.3.1.bb @@ -0,0 +1,133 @@ +SUMMARY = "BGP/OSPF/RIP routing daemon" +DESCRIPTION = "FRRouting is a free and open source Internet routing protocol suite for Linux \ +and Unix platforms. It implements BGP, OSPF, RIP, IS-IS, PIM, LDP, BFD, Babel, PBR, OpenFabric \ +and VRRP, with alpha support for EIGRP and NHRP." +HOMEPAGE = "https://frrouting.org/" +SECTION = "net" + +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING-LGPLv2.1;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "git://github.com/FRRouting/frr.git;protocol=https;branch=stable/8.3 \ + file://0001-configure-Check-for-readline-function-instead-of-mai.patch \ + file://0001-ospfd-Adding-SUPPORT_OSPF_API-define-in-ospf_spf.c.patch \ + file://0001-bgpd-avoid-notify-race-between-io-and-main-pthreads.patch \ + file://0001-bgpd-Make-sure-hdr-length-is-at-a-minimum-of-what-is.patch \ + file://frr.pam \ + file://0001-m4-ax_python.m4-check-for-python-x.y-emded.pc-not-py.patch \ + " + +SRCREV = "a74f7a9ad9623e6f9654fe4a7177e5da0b194828" + +S = "${WORKDIR}/git" + +# Due to libyang not supported on these arches: +COMPATIBLE_HOST:riscv32 = "null" +COMPATIBLE_HOST:riscv64 = "null" +COMPATIBLE_HOST:armv5 = "null" + +# Fail to build on mips64 with error: +# Error: PC-relative reference to a different section +COMPATIBLE_HOST:mips64 = "null" + +inherit autotools-brokensep python3native pkgconfig useradd systemd + +DEPENDS:class-native = "bison-native elfutils-native" +DEPENDS:class-target = "bison-native json-c readline c-ares libyang frr-native" + +RDEPENDS:${PN}:class-target = "iproute2 python3-core bash" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" +PACKAGECONFIG:class-native = "" + +PACKAGECONFIG[fpm] = "--enable-fpm,--disable-fpm" +PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam" +PACKAGECONFIG[grpc] = "--enable-grpc,--disable-grpc,grpc-native grpc" +PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp" +PACKAGECONFIG[zeromq] = "--enable-zeromq,--disable-zeromq,zeromq" +PACKAGECONFIG[protobuf] = "--enable-protobuf,--disable-protobuf,protobuf-c-native protobuf-c" +PACKAGECONFIG[capabilities] = "--enable-capabilities,--disable-capabilities,libcap" +PACKAGECONFIG[cumulus] = "--enable-cumulus,--disable-cumulus" +PACKAGECONFIG[datacenter] = "--enable-datacenter,--disable-datacenter" +PACKAGECONFIG[ospfclient] = "--enable-ospfapi --enable-ospfclient,--disable-ospfapi --disable-ospfclient" + +EXTRA_OECONF:class-native = "--enable-clippy-only" + +EXTRA_OECONF:class-target = "--sbindir=${libdir}/frr \ + --sysconfdir=${sysconfdir}/frr \ + --localstatedir=${localstatedir}/run/frr \ + --enable-vtysh \ + --enable-multipath=64 \ + --enable-user=frr \ + --enable-group=frr \ + --enable-vty-group=frrvty \ + --enable-configfile-mask=0640 \ + --enable-logfile-mask=0640 \ + --disable-doc \ + --with-clippy=${RECIPE_SYSROOT_NATIVE}/usr/lib/clippy \ + " + +CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'" + +LDFLAGS:append:mips = " -latomic" +LDFLAGS:append:mipsel = " -latomic" +LDFLAGS:append:powerpc = " -latomic" + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE:${PN} = "frr.service" +SYSTEMD_AUTO_ENABLE = "disable" + +do_compile:prepend () { + sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' \ + -e 's#${RECIPE_SYSROOT}##g' ${S}/lib/version.h +} + +do_compile:class-native () { + oe_runmake clippy-only +} + +do_install:class-native () { + install -d ${D}${libdir} + install -m 755 ${S}/lib/clippy ${D}${libdir}/clippy +} + +do_install:append:class-target () { + install -m 0755 -d ${D}${sysconfdir}/frr + install -m 0640 ${S}/tools/etc/frr/* ${D}${sysconfdir}/frr/ + chown frr:frrvty ${D}${sysconfdir}/frr + chown frr:frr ${D}${sysconfdir}/frr/* + chown frr:frrvty ${D}${sysconfdir}/frr/vtysh.conf + chmod 640 ${D}${sysconfdir}/frr/* + + if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then + install -d ${D}/${sysconfdir}/pam.d + install -m 644 ${WORKDIR}/frr.pam ${D}/${sysconfdir}/pam.d/frr + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${B}/tools/frrinit.sh ${D}${sysconfdir}/init.d/frr + + install -d ${D}${sysconfdir}/default/volatiles + echo "d frr frr 0755 ${localstatedir}/run/frr none" \ + > ${D}${sysconfdir}/default/volatiles/99_frr + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${B}/tools/frr*.service ${D}${systemd_system_unitdir} + + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /run/frr 0755 frr frr -" \ + > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + fi +} + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM:${PN} = "--system frr ; --system frrvty" +USERADD_PARAM:${PN} = "--system --home ${localstatedir}/run/frr/ -M -g frr -G frrvty --shell /bin/false frr" + +FILES:${PN} += "${datadir}/yang" + +BBCLASSEXTEND = "native" diff --git a/meta-networking/recipes-protocols/opcua/open62541/0001-fix-build-do-not-install-git-files.patch b/meta-networking/recipes-protocols/opcua/open62541/0001-fix-build-do-not-install-git-files.patch new file mode 100644 index 00000000000..44ee7b92c5b --- /dev/null +++ b/meta-networking/recipes-protocols/opcua/open62541/0001-fix-build-do-not-install-git-files.patch @@ -0,0 +1,22 @@ +From a490e82dca5a669b0af27a13d74759d8f77e2333 Mon Sep 17 00:00:00 2001 +From: Vyacheslav Yurkov +Date: Mon, 3 Oct 2022 18:25:15 +0200 +Subject: [PATCH] fix(build): do not install git files + +Signed-off-by: Vyacheslav Yurkov +--- + CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1934374e..bc5c8bad 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1703,6 +1703,7 @@ install(DIRECTORY ${UA_install_tools_dirs} + FILES_MATCHING + PATTERN "*" + PATTERN "*.pyc" EXCLUDE ++ PATTERN ".git*" EXCLUDE + ) + + install(FILES ${UA_install_tools_files} DESTINATION ${open62541_install_tools_dir}) diff --git a/meta-networking/recipes-protocols/opcua/open62541_1.3.3.bb b/meta-networking/recipes-protocols/opcua/open62541_1.3.3.bb new file mode 100644 index 00000000000..5af856ad344 --- /dev/null +++ b/meta-networking/recipes-protocols/opcua/open62541_1.3.3.bb @@ -0,0 +1,47 @@ +DESCRIPTION = "open62541 is an implementation of OPC UA (OPC Unified Architecture)" +HOMEPAGE = "https://github.com/open62541/open62541.git" +LICENSE = "MPL-2.0 & BSD-3-Clause & MIT" +LIC_FILES_CHKSUM = "\ + file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad \ + file://deps/mdnsd/LICENSE;md5=3bb4047dc4095cd7336de3e2a9be94f0 \ + file://deps/mqtt-c/LICENSE;md5=9226377baf0b79174c89a1ab55592456 \ +" + +SRCREV_FORMAT = "opcua_mdnsd_ua-nodeset_mqtt-c" +SRCREV_opcua = "ff73268829359639531ff02905c889f73a77b408" +SRCREV_mdnsd = "3151afe5899dba5125dffa9f4cf3ae1fe2edc0f0" +SRCREV_ua-nodeset = "f71b3f411d5cb16097c3ae0c744f67ad45535ffb" +SRCREV_mqtt-c = "f69ce1e7fd54f3b1834c9c9137ce0ec5d703cb4d" + +SRC_URI = " \ + git://github.com/open62541/open62541.git;name=opcua;branch=1.3;protocol=https \ + git://github.com/Pro/mdnsd.git;name=mdnsd;protocol=https;branch=master;destsuffix=git/deps/mdnsd \ + git://github.com/OPCFoundation/UA-Nodeset;name=ua-nodeset;protocol=https;branch=v1.04;destsuffix=git/deps/ua-nodeset \ + git://github.com/LiamBindle/MQTT-C.git;name=mqtt-c;protocol=https;branch=master;destsuffix=git/deps/mqtt-c \ + file://0001-fix-build-do-not-install-git-files.patch \ +" + +S = "${WORKDIR}/git" + +inherit cmake python3native + +EXTRA_OECMAKE += "\ + -DBUILD_SHARED_LIBS=ON \ + -DUA_NAMESPACE_ZERO=FULL \ + -DUA_LOGLEVEL=600 \ +" + +PACKAGECONFIG ?= "encryption pubsub pubsub-eth" +PACKAGECONFIG[amalgamation] = "-DUA_ENABLE_AMALGAMATION=ON, -DUA_ENABLE_AMALGAMATION=OFF" +PACKAGECONFIG[encryption] = "-DUA_ENABLE_ENCRYPTION=ON, -DUA_ENABLE_ENCRYPTION=OFF, mbedtls" +PACKAGECONFIG[pubsub] = "-DUA_ENABLE_PUBSUB=ON, -DUA_ENABLE_PUBSUB=OFF" +PACKAGECONFIG[pubsub-eth] = "-DUA_ENABLE_PUBSUB_ETH_UADP=ON, -DUA_ENABLE_PUBSUB_ETH_UADP=OFF" + +do_configure:prepend:toolchain-clang:riscv64() { + sed -i -e 's/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF)/' ${S}/CMakeLists.txt +} + +do_configure:prepend:toolchain-clang:riscv32() { + sed -i -e 's/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF)/' ${S}/CMakeLists.txt +} + diff --git a/meta-networking/recipes-protocols/openflow/openflow/0001-socket-util-Include-sys-stat.h-for-fchmod.patch b/meta-networking/recipes-protocols/openflow/openflow/0001-socket-util-Include-sys-stat.h-for-fchmod.patch new file mode 100644 index 00000000000..97e34221664 --- /dev/null +++ b/meta-networking/recipes-protocols/openflow/openflow/0001-socket-util-Include-sys-stat.h-for-fchmod.patch @@ -0,0 +1,23 @@ +From b875c6e264eaf7350ad4e4ebf427692d8fd3cd72 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 29 Aug 2022 12:58:53 -0700 +Subject: [PATCH] socket-util: Include sys/stat.h for fchmod + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + lib/socket-util.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/socket-util.c b/lib/socket-util.c +index c7b5d6d..5b3d602 100644 +--- a/lib/socket-util.c ++++ b/lib/socket-util.c +@@ -42,6 +42,7 @@ + #include + #include + #include ++#include + #include + #include + #include "fatal-signal.h" diff --git a/meta-networking/recipes-protocols/openflow/openflow_git.bb b/meta-networking/recipes-protocols/openflow/openflow_git.bb index b6cef0730af..1ac5dd4105e 100644 --- a/meta-networking/recipes-protocols/openflow/openflow_git.bb +++ b/meta-networking/recipes-protocols/openflow/openflow_git.bb @@ -3,8 +3,8 @@ include ${BPN}.inc SRCREV = "c84f33f09d5dbcfc9b489f64cb30475bf36f653a" PV = "1.0+git${SRCPV}" -SRC_URI += "\ - file://0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch \ +SRC_URI += "file://0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch \ file://0002-lib-netdev-Adjust-header-include-sequence.patch \ file://0001-generate-not-static-get_dh-functions.patch \ + file://0001-socket-util-Include-sys-stat.h-for-fchmod.patch \ " diff --git a/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-l2tp_rpc_server.c-Add-missing-prototype-for-l2tp_api.patch b/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-l2tp_rpc_server.c-Add-missing-prototype-for-l2tp_api.patch new file mode 100644 index 00000000000..d9aed8804a2 --- /dev/null +++ b/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-l2tp_rpc_server.c-Add-missing-prototype-for-l2tp_api.patch @@ -0,0 +1,28 @@ +From ded84ed583e9b0617bc35ab1798032d18b873144 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 29 Aug 2022 23:30:02 -0700 +Subject: [PATCH] l2tp_rpc_server.c: Add missing prototype for + l2tp_api_rpc_check_request + +Upstream-Status: Inappropriate [no upstream] + +Signed-off-by: Khem Raj +--- + Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile b/Makefile +index 0815b31..2fa5b2f 100644 +--- a/Makefile ++++ b/Makefile +@@ -236,6 +236,7 @@ endif + -$(RM) $@ $@.tmp + $(RPCGEN) $(RPCGENFLAGS) -m -o $@.tmp $< + cat $@.tmp | sed -e 's/switch (rqstp->rq_proc) {/if (l2tp_api_rpc_check_request(transp) < 0) return; switch (rqstp->rq_proc) {/' > $@ ++ sed -i '21i int l2tp_api_rpc_check_request(SVCXPRT *xprt);' $@ + + %_client.c: %.x + -$(RM) $@ +-- +2.37.2 + diff --git a/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-lex-yacc-Add-missing-function-prototypes.patch b/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-lex-yacc-Add-missing-function-prototypes.patch new file mode 100644 index 00000000000..8c21a742e00 --- /dev/null +++ b/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-lex-yacc-Add-missing-function-prototypes.patch @@ -0,0 +1,45 @@ +From 2bfdd02d288de92ff118bf41b54c135a6a318c19 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 29 Aug 2022 23:42:11 -0700 +Subject: [PATCH] lex/yacc: Add missing function prototypes + +Fixes build with clang15 + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + l2tp_config_parse.y | 3 +++ + l2tp_config_token.l | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/l2tp_config_parse.y b/l2tp_config_parse.y +index 4baf1e0..15392d0 100644 +--- a/l2tp_config_parse.y ++++ b/l2tp_config_parse.y +@@ -29,6 +29,9 @@ static struct l2tp_api_session_msg_data session; + + extern void l2tp_log(int level, char *fmt, ...); + extern void yyfatal(const char *s); ++extern const char *l2tp_strerror(int error); ++extern int yylex (void); ++extern void yyerror(const char *s); + + %} + +diff --git a/l2tp_config_token.l b/l2tp_config_token.l +index 9016af6..43b8f0a 100644 +--- a/l2tp_config_token.l ++++ b/l2tp_config_token.l +@@ -15,6 +15,9 @@ + #include "l2tp_config_types.h" + #include "l2tp_config_parse.h" + ++extern void l2tp_log(int level, char *fmt, ...); ++extern const char *l2tp_strerror(int error); ++ + void yyfatal(const char *s); + void yyerror(const char *s); + +-- +2.37.2 + diff --git a/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb b/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb index 15cebf40f1c..183c0066dfb 100644 --- a/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb +++ b/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb @@ -35,6 +35,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${PV}/${BP}.tar.gz \ file://run-ptest \ file://fix_linux_4.15_compile.patch \ file://0002-user-ipv6-structures.patch \ + file://0001-l2tp_rpc_server.c-Add-missing-prototype-for-l2tp_api.patch \ + file://0001-lex-yacc-Add-missing-function-prototypes.patch \ " SRC_URI[md5sum] = "e3d08dedfb9e6a9a1e24f6766f6dadd0" SRC_URI[sha256sum] = "1c97704d4b963a87fbc0e741668d4530933991515ae9ab0dffd11b5444f4860f" diff --git a/meta-networking/recipes-protocols/openlldp/files/0001-cmds-fix-enum-conversion.patch b/meta-networking/recipes-protocols/openlldp/files/0001-cmds-fix-enum-conversion.patch deleted file mode 100644 index 680f6b67d77..00000000000 --- a/meta-networking/recipes-protocols/openlldp/files/0001-cmds-fix-enum-conversion.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 090854e09fe18ebf1ba428864895a690086f78ee Mon Sep 17 00:00:00 2001 -From: Aaron Conole -Date: Mon, 19 Aug 2019 11:41:13 -0400 -Subject: [PATCH 1/9] cmds: fix enum conversion - -Multiple modules use implicit conversion between enum types, but -this triggers warnings with some compilers. ex: - - qbg/vdp_cmds.c:110:39: error: implicit conversion from enumeration type - 'lldp_cmd' to different enumeration type 'cmd_status' - [-Werror,-Wenum-conversion] - cmd_status good_cmd = vdp_cmdok(cmd, cmd_gettlv); - -Reported-at: https://github.com/intel/openlldp/issues/53 -Signed-off-by: Aaron Conole ---- - lldp_evb22_cmds.c | 2 +- - lldp_evb_cmds.c | 2 +- - qbg/vdp22_cmds.c | 2 +- - qbg/vdp_cmds.c | 2 +- - vdptool.c | 2 +- - 5 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/lldp_evb22_cmds.c b/lldp_evb22_cmds.c -index cebfeb2..51810bc 100644 ---- a/lldp_evb22_cmds.c -+++ b/lldp_evb22_cmds.c -@@ -225,7 +225,7 @@ int evb22_conf_enabletx(char *ifname, enum agent_type type) - TLVID(OUI_IEEE_8021Qbg22, LLDP_EVB22_SUBTYPE)); - } - --static int evb22_cmdok(struct cmd *cmd, cmd_status expected) -+static int evb22_cmdok(struct cmd *cmd, int expected) - { - if (cmd->cmd != expected) - return cmd_invalid; -diff --git a/lldp_evb_cmds.c b/lldp_evb_cmds.c -index eec4f33..e6af03b 100644 ---- a/lldp_evb_cmds.c -+++ b/lldp_evb_cmds.c -@@ -163,7 +163,7 @@ int evb_conf_enabletx(char *ifname, enum agent_type type) - return is_tlv_txenabled(ifname, type, TLVID_8021Qbg(LLDP_EVB_SUBTYPE)); - } - --static int evb_cmdok(struct cmd *cmd, cmd_status expected) -+static int evb_cmdok(struct cmd *cmd, int expected) - { - if (cmd->cmd != expected) - return cmd_invalid; -diff --git a/qbg/vdp22_cmds.c b/qbg/vdp22_cmds.c -index 479b1b0..2e1bbbd 100644 ---- a/qbg/vdp22_cmds.c -+++ b/qbg/vdp22_cmds.c -@@ -296,7 +296,7 @@ int vdp22_sendevent(struct vdpnl_vsi *p) - return 0; - } - --static int vdp22_cmdok(struct cmd *cmd, cmd_status expected) -+static int vdp22_cmdok(struct cmd *cmd, int expected) - { - if (cmd->cmd != expected) - return cmd_invalid; -diff --git a/qbg/vdp_cmds.c b/qbg/vdp_cmds.c -index 95bcfb1..50f2781 100644 ---- a/qbg/vdp_cmds.c -+++ b/qbg/vdp_cmds.c -@@ -85,7 +85,7 @@ static char *print_mode(char *s, size_t length, struct vsi_profile *p) - return s; - } - --static int vdp_cmdok(struct cmd *cmd, cmd_status expected) -+static int vdp_cmdok(struct cmd *cmd, int expected) - { - if (cmd->cmd != expected) - return cmd_invalid; -diff --git a/vdptool.c b/vdptool.c -index 9872348..8f36277 100644 ---- a/vdptool.c -+++ b/vdptool.c -@@ -141,7 +141,7 @@ static char *print_status(cmd_status status) - str = "TLV does not support agent type"; - break; - default: -- str = print_vdp_status(status); -+ str = print_vdp_status((enum vdp22_cmd_status)status); - break; - } - return str; --- -2.28.0 - diff --git a/meta-networking/recipes-protocols/openlldp/files/0002-lldp_head-rename-and-make-extern.patch b/meta-networking/recipes-protocols/openlldp/files/0002-lldp_head-rename-and-make-extern.patch deleted file mode 100644 index 8f65b799f02..00000000000 --- a/meta-networking/recipes-protocols/openlldp/files/0002-lldp_head-rename-and-make-extern.patch +++ /dev/null @@ -1,500 +0,0 @@ -From 07a83c583b9d508c7040dc6254a6a7113b2ce55f Mon Sep 17 00:00:00 2001 -From: Aaron Conole -Date: Mon, 3 Aug 2020 15:05:42 -0400 -Subject: [PATCH 2/9] lldp_head: rename and make extern - -Try to resolve this silly mod issue - -Signed-off-by: Aaron Conole ---- - config.c | 4 ++-- - event_iface.c | 4 ++-- - include/lldp_mod.h | 2 +- - lldp/agent.c | 2 +- - lldp/rx.c | 4 ++-- - lldp/tx.c | 4 ++-- - lldp_dcbx.c | 8 ++++---- - lldp_mand_cmds.c | 8 ++++---- - lldpad.c | 12 +++++++----- - lldptool.c | 14 ++++++++------ - lldptool_cmds.c | 2 +- - qbg/ecp22.c | 8 ++++---- - qbg/vdp.c | 4 ++-- - qbg/vdp22.c | 6 +++--- - qbg/vdp22_cmds.c | 2 +- - vdptool.c | 16 +++++++++------- - 16 files changed, 53 insertions(+), 47 deletions(-) - -diff --git a/config.c b/config.c -index be458fd..bc3fbae 100644 ---- a/config.c -+++ b/config.c -@@ -185,7 +185,7 @@ void scan_port(UNUSED void *eloop_data, UNUSED void *user_ctx) - LIST_FOREACH(agent, &port->agent_head, entry) { - LLDPAD_DBG("%s: calling ifdown for agent %p.\n", - __func__, agent); -- LIST_FOREACH(np, &lldp_head, lldp) { -+ LIST_FOREACH(np, &lldp_mod_head, lldp) { - ops = np->ops; - if (ops->lldp_mod_ifdown) - ops->lldp_mod_ifdown(ifname, agent); -@@ -394,7 +394,7 @@ void init_ports(void) - LIST_FOREACH(agent, &port->agent_head, entry) { - LLDPAD_DBG("%s: calling ifup for agent %p.\n", - __func__, agent); -- LIST_FOREACH(np, &lldp_head, lldp) { -+ LIST_FOREACH(np, &lldp_mod_head, lldp) { - if (np->ops->lldp_mod_ifup) - np->ops->lldp_mod_ifup(p->if_name, agent); - } -diff --git a/event_iface.c b/event_iface.c -index 43a95c7..1be2963 100644 ---- a/event_iface.c -+++ b/event_iface.c -@@ -216,7 +216,7 @@ int oper_add_device(char *device_name) - LIST_FOREACH(agent, &port->agent_head, entry) { - LLDPAD_DBG("%s: calling ifup for agent %p.\n", - __func__, agent); -- LIST_FOREACH(np, &lldp_head, lldp) { -+ LIST_FOREACH(np, &lldp_mod_head, lldp) { - if (np->ops->lldp_mod_ifup) - np->ops->lldp_mod_ifup(device_name, agent); - } -@@ -283,7 +283,7 @@ static void event_if_decode_nlmsg(int route_type, void *data, int len) - LIST_FOREACH(agent, &port->agent_head, entry) { - LLDPAD_DBG("%s: calling ifdown for agent %p.\n", - __func__, agent); -- LIST_FOREACH(np, &lldp_head, lldp) { -+ LIST_FOREACH(np, &lldp_mod_head, lldp) { - ops = np->ops; - if (ops->lldp_mod_ifdown) - ops->lldp_mod_ifdown(device_name, -diff --git a/include/lldp_mod.h b/include/lldp_mod.h -index 49a50e4..9733595 100644 ---- a/include/lldp_mod.h -+++ b/include/lldp_mod.h -@@ -96,7 +96,7 @@ struct lldp_module { - }; - - LIST_HEAD(lldp_head, lldp_module); --struct lldp_head lldp_head; -+extern struct lldp_head lldp_mod_head; - - static inline struct lldp_module *find_module_by_id(struct lldp_head *head, int id) - { -diff --git a/lldp/agent.c b/lldp/agent.c -index 333929a..aa4a8d1 100644 ---- a/lldp/agent.c -+++ b/lldp/agent.c -@@ -163,7 +163,7 @@ static void timer(UNUSED void *eloop_data, UNUSED void *user_ctx) - run_rx_sm(port, agent); - update_rx_timers(agent); - -- LIST_FOREACH(n, &lldp_head, lldp) { -+ LIST_FOREACH(n, &lldp_mod_head, lldp) { - if (n->ops && n->ops->timer) - n->ops->timer(port, agent); - } -diff --git a/lldp/rx.c b/lldp/rx.c -index 12d07bc..43aeeba 100644 ---- a/lldp/rx.c -+++ b/lldp/rx.c -@@ -359,7 +359,7 @@ void rxProcessFrame(struct port *port, struct lldp_agent *agent) - } - - /* rx per lldp module */ -- LIST_FOREACH(np, &lldp_head, lldp) { -+ LIST_FOREACH(np, &lldp_mod_head, lldp) { - if (!np->ops || !np->ops->lldp_mod_rchange) - continue; - -@@ -402,7 +402,7 @@ u8 mibDeleteObjects(struct port *port, struct lldp_agent *agent) - { - struct lldp_module *np; - -- LIST_FOREACH(np, &lldp_head, lldp) { -+ LIST_FOREACH(np, &lldp_mod_head, lldp) { - if (!np->ops || !np->ops->lldp_mod_mibdelete) - continue; - np->ops->lldp_mod_mibdelete(port, agent); -diff --git a/lldp/tx.c b/lldp/tx.c -index c3a5c62..0746e34 100644 ---- a/lldp/tx.c -+++ b/lldp/tx.c -@@ -71,7 +71,7 @@ bool mibConstrInfoLLDPDU(struct port *port, struct lldp_agent *agent) - fb_offset += sizeof(struct l2_ethhdr); - - /* Generic TLV Pack */ -- LIST_FOREACH(np, &lldp_head, lldp) { -+ LIST_FOREACH(np, &lldp_mod_head, lldp) { - if (!np->ops || !np->ops->lldp_mod_gettlv) - continue; - -@@ -206,7 +206,7 @@ bool mibConstrShutdownLLDPDU(struct port *port, struct lldp_agent *agent) - memcpy(agent->tx.frameout, (void *)ð, sizeof(struct l2_ethhdr)); - fb_offset += sizeof(struct l2_ethhdr); - -- np = find_module_by_id(&lldp_head, LLDP_MOD_MAND); -+ np = find_module_by_id(&lldp_mod_head, LLDP_MOD_MAND); - if (!np) - goto error; - if (!np->ops || !np->ops->lldp_mod_gettlv) -diff --git a/lldp_dcbx.c b/lldp_dcbx.c -index 7e53c0f..809086f 100644 ---- a/lldp_dcbx.c -+++ b/lldp_dcbx.c -@@ -129,7 +129,7 @@ struct dcbx_tlvs *dcbx_data(const char *ifname) - struct dcbd_user_data *dud; - struct dcbx_tlvs *tlv = NULL; - -- dud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_DCBX); -+ dud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_DCBX); - if (dud) { - LIST_FOREACH(tlv, &dud->head, entry) { - if (!strncmp(tlv->ifname, ifname, IFNAMSIZ)) -@@ -148,7 +148,7 @@ int dcbx_tlvs_rxed(const char *ifname, struct lldp_agent *agent) - if (agent->type != NEAREST_BRIDGE) - return 0; - -- dud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_DCBX); -+ dud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_DCBX); - if (dud) { - LIST_FOREACH(tlv, &dud->head, entry) { - if (!strncmp(tlv->ifname, ifname, IFNAMSIZ)) -@@ -172,7 +172,7 @@ int dcbx_check_active(const char *ifname) - struct dcbd_user_data *dud; - struct dcbx_tlvs *tlv = NULL; - -- dud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_DCBX); -+ dud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_DCBX); - if (dud) { - LIST_FOREACH(tlv, &dud->head, entry) { - if (!strncmp(tlv->ifname, ifname, IFNAMSIZ)) -@@ -507,7 +507,7 @@ void dcbx_ifup(char *ifname, struct lldp_agent *agent) - ifindex = get_ifidx(ifname); - port = port_find_by_ifindex(ifindex); - -- dud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_DCBX); -+ dud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_DCBX); - tlvs = dcbx_data(ifname); - - if (!port) -diff --git a/lldp_mand_cmds.c b/lldp_mand_cmds.c -index 8a88177..1c43bf4 100644 ---- a/lldp_mand_cmds.c -+++ b/lldp_mand_cmds.c -@@ -466,7 +466,7 @@ int handle_get_args(struct cmd *cmd, UNUSED char *arg, char *argvalue, - nbuf = obuf; - nbuf_len = obuf_len; - -- LIST_FOREACH(np, &lldp_head, lldp) { -+ LIST_FOREACH(np, &lldp_mod_head, lldp) { - if (!np->ops->get_arg_handler) - continue; - if (!(ah = np->ops->get_arg_handler())) -@@ -496,7 +496,7 @@ int handle_get_arg(struct cmd *cmd, char *arg, char *argvalue, - struct arg_handlers *ah; - int rval, status = cmd_not_applicable; - -- LIST_FOREACH(np, &lldp_head, lldp) { -+ LIST_FOREACH(np, &lldp_mod_head, lldp) { - if (!np->ops->get_arg_handler) - continue; - if (!(ah = np->ops->get_arg_handler())) -@@ -593,7 +593,7 @@ int handle_test_arg(struct cmd *cmd, char *arg, char *argvalue, - struct arg_handlers *ah; - int rval, status = cmd_not_applicable; - -- LIST_FOREACH(np, &lldp_head, lldp) { -+ LIST_FOREACH(np, &lldp_mod_head, lldp) { - if (!np->ops->get_arg_handler) - continue; - if (!(ah = np->ops->get_arg_handler())) -@@ -626,7 +626,7 @@ int handle_set_arg(struct cmd *cmd, char *arg, char *argvalue, - struct arg_handlers *ah; - int rval, status = cmd_not_applicable; - -- LIST_FOREACH(np, &lldp_head, lldp) { -+ LIST_FOREACH(np, &lldp_mod_head, lldp) { - if (!np->ops->get_arg_handler) - continue; - if (!(ah = np->ops->get_arg_handler())) -diff --git a/lldpad.c b/lldpad.c -index 01fb588..65e92c7 100644 ---- a/lldpad.c -+++ b/lldpad.c -@@ -80,6 +80,8 @@ struct lldp_module *(*register_tlv_table[])(void) = { - NULL, - }; - -+struct lldp_head lldp_mod_head; -+ - char *cfg_file_name = NULL; - bool daemonize = 0; - int loglvl = LOG_WARNING; -@@ -98,7 +100,7 @@ static void init_modules(void) - struct lldp_module *premod = NULL; - int i = 0; - -- LIST_INIT(&lldp_head); -+ LIST_INIT(&lldp_mod_head); - for (i = 0; register_tlv_table[i]; i++) { - module = register_tlv_table[i](); - if (!module) -@@ -106,7 +108,7 @@ static void init_modules(void) - if (premod) - LIST_INSERT_AFTER(premod, module, lldp); - else -- LIST_INSERT_HEAD(&lldp_head, module, lldp); -+ LIST_INSERT_HEAD(&lldp_mod_head, module, lldp); - premod = module; - } - } -@@ -115,9 +117,9 @@ void deinit_modules(void) - { - struct lldp_module *module; - -- while (lldp_head.lh_first != NULL) { -- module = lldp_head.lh_first; -- LIST_REMOVE(lldp_head.lh_first, lldp); -+ while (lldp_mod_head.lh_first != NULL) { -+ module = lldp_mod_head.lh_first; -+ LIST_REMOVE(lldp_mod_head.lh_first, lldp); - module->ops->lldp_mod_unregister(module); - } - } -diff --git a/lldptool.c b/lldptool.c -index 2b14f61..664a248 100644 ---- a/lldptool.c -+++ b/lldptool.c -@@ -64,6 +64,8 @@ - #include "lldp_util.h" - #include "lldpad_status.h" - -+struct lldp_head lldp_mod_head; -+ - static int show_raw; - - static const char *cli_version = -@@ -199,7 +201,7 @@ static void init_modules(void) - if (premod) - LIST_INSERT_AFTER(premod, module, lldp); - else -- LIST_INSERT_HEAD(&lldp_head, module, lldp); -+ LIST_INSERT_HEAD(&lldp_mod_head, module, lldp); - premod = module; - } - } -@@ -208,9 +210,9 @@ void deinit_modules(void) - { - struct lldp_module *module; - -- while (lldp_head.lh_first != NULL) { -- module = lldp_head.lh_first; -- LIST_REMOVE(lldp_head.lh_first, lldp); -+ while (lldp_mod_head.lh_first != NULL) { -+ module = lldp_mod_head.lh_first; -+ LIST_REMOVE(lldp_mod_head.lh_first, lldp); - module->ops->lldp_mod_unregister(module); - } - } -@@ -346,7 +348,7 @@ cli_cmd_help(UNUSED struct clif *clif, UNUSED int argc, UNUSED char *argv[], - printf("%s\n%s\n%s", commands_usage, commands_options, commands_help); - - printf("\nTLV identifiers:\n"); -- LIST_FOREACH(np, &lldp_head, lldp) -+ LIST_FOREACH(np, &lldp_mod_head, lldp) - if (np->ops->print_help) - np->ops->print_help(); - return 0; -@@ -406,7 +408,7 @@ u32 lookup_tlvid(char *tlvid_str) - struct lldp_module *np; - u32 tlvid = INVALID_TLVID; - -- LIST_FOREACH(np, &lldp_head, lldp) { -+ LIST_FOREACH(np, &lldp_mod_head, lldp) { - if (np->ops->lookup_tlv_name) { - tlvid = np->ops->lookup_tlv_name(tlvid_str); - if (tlvid != INVALID_TLVID) -diff --git a/lldptool_cmds.c b/lldptool_cmds.c -index daef8c8..70b7b0d 100644 ---- a/lldptool_cmds.c -+++ b/lldptool_cmds.c -@@ -464,7 +464,7 @@ static void print_tlvs(struct cmd *cmd, char *ibuf) - offset += 8; - - printed = 0; -- LIST_FOREACH(np, &lldp_head, lldp) { -+ LIST_FOREACH(np, &lldp_mod_head, lldp) { - if (np->ops->print_tlv(tlvid, tlv_len, ibuf+offset)) { - printed = 1; - break; -diff --git a/qbg/ecp22.c b/qbg/ecp22.c -index 6561d14..825392b 100644 ---- a/qbg/ecp22.c -+++ b/qbg/ecp22.c -@@ -774,7 +774,7 @@ void ecp22_start(char *ifname) - struct ecp22 *ecp; - - LLDPAD_DBG("%s:%s start ecp\n", __func__, ifname); -- eud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_ECP22); -+ eud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_ECP22); - if (!eud) { - LLDPAD_DBG("%s:%s no ECP module\n", __func__, ifname); - return; -@@ -837,7 +837,7 @@ void ecp22_stop(char *ifname) - struct ecp22 *ecp; - - LLDPAD_DBG("%s:%s stop ecp\n", __func__, ifname); -- eud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_ECP22); -+ eud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_ECP22); - ecp = find_ecpdata(ifname, eud); - if (ecp) - ecp22_remove(ecp); -@@ -852,7 +852,7 @@ static int ecp22_data_from_evb(char *ifname, struct evb22_to_ecp22 *ptr) - struct ecp22_user_data *eud; - struct ecp22 *ecp; - -- eud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_ECP22); -+ eud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_ECP22); - ecp = find_ecpdata(ifname, eud); - if (ecp) { - ecp->max_rte = ptr->max_rte; -@@ -930,7 +930,7 @@ static int ecp22_req2send(char *ifname, unsigned short subtype, - - LLDPAD_DBG("%s:%s subtype:%d\n", __func__, ifname, subtype); - -- eud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_ECP22); -+ eud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_ECP22); - ecp = find_ecpdata(ifname, eud); - if (!ecp) { - rc = -ENODEV; -diff --git a/qbg/vdp.c b/qbg/vdp.c -index d131560..c26bbd6 100644 ---- a/qbg/vdp.c -+++ b/qbg/vdp.c -@@ -188,7 +188,7 @@ struct vdp_data *vdp_data(char *ifname) - struct vdp_user_data *ud; - struct vdp_data *vd = NULL; - -- ud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_VDP02); -+ ud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_VDP02); - if (ud) { - LIST_FOREACH(vd, &ud->head, entry) { - if (!strncmp(ifname, vd->ifname, IFNAMSIZ)) -@@ -1624,7 +1624,7 @@ void vdp_ifup(char *ifname, struct lldp_agent *agent) - - LIST_INIT(&vd->profile_head); - -- ud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_VDP02); -+ ud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_VDP02); - LIST_INSERT_HEAD(&ud->head, vd, entry); - - out_start_again: -diff --git a/qbg/vdp22.c b/qbg/vdp22.c -index cf02310..81ea3a8 100644 ---- a/qbg/vdp22.c -+++ b/qbg/vdp22.c -@@ -694,7 +694,7 @@ static struct vdp22 *vdp22_findif(const char *ifname, - struct vdp22 *vdp = 0; - - if (!ud) { -- ud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_VDP22); -+ ud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_VDP22); - if (!ud) - LLDPAD_DBG("%s:%s no VDP22 module\n", __func__, - ifname); -@@ -794,7 +794,7 @@ void vdp22_stop(char *ifname) - struct vsi22 *vsi; - - LLDPAD_DBG("%s:%s stop vdp\n", __func__, ifname); -- vud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_VDP22); -+ vud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_VDP22); - if (!vud) { - LLDPAD_ERR("%s:%s no VDP22 module\n", __func__, ifname); - return; -@@ -874,7 +874,7 @@ void vdp22_start(const char *ifname, int role) - struct vsi22 *vsi; - - LLDPAD_DBG("%s:%s start vdp\n", __func__, ifname); -- vud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_VDP22); -+ vud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_VDP22); - if (!vud) { - LLDPAD_ERR("%s:%s no VDP22 module\n", __func__, ifname); - return; -diff --git a/qbg/vdp22_cmds.c b/qbg/vdp22_cmds.c -index 2e1bbbd..a8025ee 100644 ---- a/qbg/vdp22_cmds.c -+++ b/qbg/vdp22_cmds.c -@@ -57,7 +57,7 @@ static struct lldp_module *get_my_module(int thisid) - { - struct lldp_module *np = NULL; - -- LIST_FOREACH(np, &lldp_head, lldp) -+ LIST_FOREACH(np, &lldp_mod_head, lldp) - if (thisid == np->id) - break; - return np; -diff --git a/vdptool.c b/vdptool.c -index 8f36277..f1d946c 100644 ---- a/vdptool.c -+++ b/vdptool.c -@@ -61,6 +61,8 @@ - #define OUI_ENCODE_HNDLR(name) name##_oui_encode_hndlr - #define OUI_PRNT_DECODE_HNDLR(name) name##_oui_print_decode_hndlr - -+struct lldp_head lldp_mod_head; -+ - #define EXTERN_OUI_FN(name) \ - extern bool name##_oui_encode_hndlr(char *, char *, size_t); \ - extern void name##_oui_print_decode_hndlr(char *) -@@ -796,13 +798,13 @@ static void init_modules(void) - struct lldp_module *premod = NULL; - int i = 0; - -- LIST_INIT(&lldp_head); -+ LIST_INIT(&lldp_mod_head); - for (i = 0; register_tlv_table[i]; i++) { - module = register_tlv_table[i](); - if (premod) - LIST_INSERT_AFTER(premod, module, lldp); - else -- LIST_INSERT_HEAD(&lldp_head, module, lldp); -+ LIST_INSERT_HEAD(&lldp_mod_head, module, lldp); - premod = module; - } - } -@@ -811,9 +813,9 @@ void deinit_modules(void) - { - struct lldp_module *module; - -- while (lldp_head.lh_first != NULL) { -- module = lldp_head.lh_first; -- LIST_REMOVE(lldp_head.lh_first, lldp); -+ while (lldp_mod_head.lh_first != NULL) { -+ module = lldp_mod_head.lh_first; -+ LIST_REMOVE(lldp_mod_head.lh_first, lldp); - module->ops->lldp_mod_unregister(module); - } - } -@@ -953,7 +955,7 @@ cli_cmd_help(UNUSED struct clif *clif, UNUSED int argc, UNUSED char *argv[], - printf("%s\n%s\n%s", commands_usage, commands_options, commands_help); - - printf("\nTLV identifiers:\n"); -- LIST_FOREACH(np, &lldp_head, lldp) -+ LIST_FOREACH(np, &lldp_mod_head, lldp) - if (np->ops->print_help) - np->ops->print_help(); - return 0; -@@ -1006,7 +1008,7 @@ u32 lookup_tlvid(char *tlvid_str) - struct lldp_module *np; - u32 tlvid = INVALID_TLVID; - -- LIST_FOREACH(np, &lldp_head, lldp) { -+ LIST_FOREACH(np, &lldp_mod_head, lldp) { - if (np->ops->lookup_tlv_name) { - tlvid = np->ops->lookup_tlv_name(tlvid_str); - if (tlvid != INVALID_TLVID) --- -2.28.0 - diff --git a/meta-networking/recipes-protocols/openlldp/files/0003-lldp-add-packed-struct-definition.patch b/meta-networking/recipes-protocols/openlldp/files/0003-lldp-add-packed-struct-definition.patch deleted file mode 100644 index 4d0594cb6c6..00000000000 --- a/meta-networking/recipes-protocols/openlldp/files/0003-lldp-add-packed-struct-definition.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 702dd20f43d9ca7e0bcb917e8acfec3f1acdcb5c Mon Sep 17 00:00:00 2001 -From: Aaron Conole -Date: Mon, 3 Aug 2020 15:14:50 -0400 -Subject: [PATCH 3/9] lldp: add packed struct definition - -Signed-off-by: Aaron Conole ---- - include/lldp.h | 6 ++++++ - lldp/l2_packet.h | 5 ++--- - 2 files changed, 8 insertions(+), 3 deletions(-) - -diff --git a/include/lldp.h b/include/lldp.h -index fb5ee93..de6a4ad 100644 ---- a/include/lldp.h -+++ b/include/lldp.h -@@ -255,5 +255,11 @@ enum { - #define LLDP_EVB_DEFAULT_RTE 15 - #define LLDP_EVB_DEFAULT_MAX_RTE 31 - -+#ifndef _MSC_VER -+#define STRUCT_PACKED(STRUCT) STRUCT __attribute__((__packed__)) -+#else -+#define STRUCT_PACKED(STRUCT) __pragma(pack(push, 1)) STRUCT __pragma(pack(pop)) -+#endif -+ - void somethingChangedLocal(const char *ifname, int type); - #endif /* _LLDP_H */ -diff --git a/lldp/l2_packet.h b/lldp/l2_packet.h -index 607b8a3..831958c 100644 ---- a/lldp/l2_packet.h -+++ b/lldp/l2_packet.h -@@ -58,12 +58,11 @@ - */ - struct l2_packet_data; - -- --struct l2_ethhdr { -+STRUCT_PACKED(struct l2_ethhdr { - u8 h_dest[ETH_ALEN]; - u8 h_source[ETH_ALEN]; - u16 h_proto; --} STRUCT_PACKED; -+}); - - /** - * l2_packet_init - Initialize l2_packet interface --- -2.28.0 - diff --git a/meta-networking/recipes-protocols/openlldp/files/0004-clif-Include-string.h-for-mem-function-prototypes.patch b/meta-networking/recipes-protocols/openlldp/files/0004-clif-Include-string.h-for-mem-function-prototypes.patch new file mode 100644 index 00000000000..b6d9cf7707e --- /dev/null +++ b/meta-networking/recipes-protocols/openlldp/files/0004-clif-Include-string.h-for-mem-function-prototypes.patch @@ -0,0 +1,23 @@ +From d88aae2230683517b6d5b62cced51da81317a722 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 29 Aug 2022 22:37:14 -0700 +Subject: [PATCH] clif: Include string.h for mem* function prototypes + +Upstream-Status: Submitted [https://github.com/intel/openlldp/pull/86] +Signed-off-by: Khem Raj +--- + clif.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/clif.c b/clif.c +index cad6f75..0758a7e 100644 +--- a/clif.c ++++ b/clif.c +@@ -32,6 +32,7 @@ + + #include + #include ++#include + #include + #include + #include diff --git a/meta-networking/recipes-protocols/openlldp/files/0004-lldptool-make-extern.patch b/meta-networking/recipes-protocols/openlldp/files/0004-lldptool-make-extern.patch deleted file mode 100644 index 16b7def6841..00000000000 --- a/meta-networking/recipes-protocols/openlldp/files/0004-lldptool-make-extern.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 8229f4fb700ba4fcb2ec3e9956491bf5ee8c0ae2 Mon Sep 17 00:00:00 2001 -From: Aaron Conole -Date: Mon, 3 Aug 2020 15:17:31 -0400 -Subject: [PATCH 4/9] lldptool: make extern - -This should only exist per final linked object. - -Signed-off-by: Aaron Conole ---- - include/lldptool.h | 2 +- - lldptool.c | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/include/lldptool.h b/include/lldptool.h -index c919873..a190009 100644 ---- a/include/lldptool.h -+++ b/include/lldptool.h -@@ -29,7 +29,7 @@ - - #include "clif.h" - --struct lldp_head lldp_cli_head; -+extern struct lldp_head lldp_cli_head; - - int clif_command(struct clif *clif, char *cmd, int raw); - void print_raw_message(char *msg, int print); -diff --git a/lldptool.c b/lldptool.c -index 664a248..d76cc48 100644 ---- a/lldptool.c -+++ b/lldptool.c -@@ -64,6 +64,7 @@ - #include "lldp_util.h" - #include "lldpad_status.h" - -+struct lldp_head lldp_cli_head; - struct lldp_head lldp_mod_head; - - static int show_raw; --- -2.28.0 - diff --git a/meta-networking/recipes-protocols/openlldp/files/0005-cisco_oui-match-encode-handler-prototypes.patch b/meta-networking/recipes-protocols/openlldp/files/0005-cisco_oui-match-encode-handler-prototypes.patch deleted file mode 100644 index 4bdc5f2f622..00000000000 --- a/meta-networking/recipes-protocols/openlldp/files/0005-cisco_oui-match-encode-handler-prototypes.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 9203dec731e53fb72e1c0d62639e6e54378f66cc Mon Sep 17 00:00:00 2001 -From: Aaron Conole -Date: Mon, 3 Aug 2020 15:20:59 -0400 -Subject: [PATCH 5/9] cisco_oui: match encode handler prototypes - -The EXTERN_FN prototype generated requires size_t be the third parameter. - -Signed-off-by: Aaron Conole ---- - vdptool_cisco_oui.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/vdptool_cisco_oui.c b/vdptool_cisco_oui.c -index 7003521..3f88c76 100644 ---- a/vdptool_cisco_oui.c -+++ b/vdptool_cisco_oui.c -@@ -28,7 +28,7 @@ - #include "lldp_util.h" - #include "vdp_cisco.h" - --bool cisco_oui_encode_hndlr(char *dst, char *src, int len) -+bool cisco_oui_encode_hndlr(char *dst, char *src, size_t len) - { - char *src_temp = strdup(src); - char *key, *data; --- -2.28.0 - diff --git a/meta-networking/recipes-protocols/openlldp/files/0006-ecp22-make-enum-a-type-rather-than-instance.patch b/meta-networking/recipes-protocols/openlldp/files/0006-ecp22-make-enum-a-type-rather-than-instance.patch deleted file mode 100644 index 2b0289df28c..00000000000 --- a/meta-networking/recipes-protocols/openlldp/files/0006-ecp22-make-enum-a-type-rather-than-instance.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 2723219c08726efa08a6bad04ffb775f850a96bc Mon Sep 17 00:00:00 2001 -From: Aaron Conole -Date: Mon, 3 Aug 2020 15:23:28 -0400 -Subject: [PATCH 6/9] ecp22: make enum a type rather than instance - -The enum defined in the qbg header is setup as a discreet instance -rather than a type. Fix this. - -Signed-off-by: Aaron Conole ---- - include/qbg_ecp22.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/include/qbg_ecp22.h b/include/qbg_ecp22.h -index 567f6df..fe66bb3 100644 ---- a/include/qbg_ecp22.h -+++ b/include/qbg_ecp22.h -@@ -49,10 +49,10 @@ enum { /* ECP Transmit states */ - ECP22_TX_ERROR - }; - --enum { -+enum ecp22_mode { - ECP22_REQUEST = 0, - ECP22_ACK --} ecp22_mode; -+}; - - struct ecp22_hdr { /* ECP22 header */ - u16 ver_op_sub; /* ECP22 version, operation, subtype */ --- -2.28.0 - diff --git a/meta-networking/recipes-protocols/openlldp/files/0007-lldp_8021qaz-extern-config-object.patch b/meta-networking/recipes-protocols/openlldp/files/0007-lldp_8021qaz-extern-config-object.patch deleted file mode 100644 index 36b575c5662..00000000000 --- a/meta-networking/recipes-protocols/openlldp/files/0007-lldp_8021qaz-extern-config-object.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 275fe9da663193a843de450f03e810daedc06955 Mon Sep 17 00:00:00 2001 -From: Aaron Conole -Date: Mon, 3 Aug 2020 15:25:38 -0400 -Subject: [PATCH 7/9] lldp_8021qaz: extern config object - -The config object only exists as part of the config translation unit -so remove the extra config object in the 8021qaz module. - -Signed-off-by: Aaron Conole ---- - lldp_8021qaz.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lldp_8021qaz.c b/lldp_8021qaz.c -index a42fd11..673d758 100644 ---- a/lldp_8021qaz.c -+++ b/lldp_8021qaz.c -@@ -49,7 +49,7 @@ - - - struct lldp_head lldp_head; --struct config_t lldpad_cfg; -+extern config_t lldpad_cfg; - extern bool read_only_8021qaz; - - static int ieee8021qaz_check_pending(struct port *port, struct lldp_agent *); --- -2.28.0 - diff --git a/meta-networking/recipes-protocols/openlldp/files/0008-stringops-fix-some-string-copy-errors.patch b/meta-networking/recipes-protocols/openlldp/files/0008-stringops-fix-some-string-copy-errors.patch deleted file mode 100644 index 501b66699c2..00000000000 --- a/meta-networking/recipes-protocols/openlldp/files/0008-stringops-fix-some-string-copy-errors.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 61291de03cb6dd1aea2a633eb72951f3fe453e7f Mon Sep 17 00:00:00 2001 -From: Aaron Conole -Date: Mon, 3 Aug 2020 15:33:08 -0400 -Subject: [PATCH 8/9] stringops: fix some string copy errors - -Reported when using gcc-10. - -Signed-off-by: Aaron Conole ---- - dcb_protocol.c | 13 ++++--------- - lldp/ports.c | 2 +- - 2 files changed, 5 insertions(+), 10 deletions(-) - -diff --git a/dcb_protocol.c b/dcb_protocol.c -index 75ca139..930251b 100644 ---- a/dcb_protocol.c -+++ b/dcb_protocol.c -@@ -2257,13 +2257,8 @@ cmd_status get_bwg_descrpt(char *device_name, u8 bwgid, char **name) - - if ((it != NULL) && - (bwgid < it->second->max_pgid_desc)) { -- size = (int)strlen(it->second->pgid_desc[bwgid]) + -- sizeof(char); /* Localization OK */ -- *name = (char*)malloc(size); -- if (*name != NULL) { -- strncpy(*name, it->second->pgid_desc[bwgid], -- size); /* Localization OK */ -- } else { -+ *name = strdup(it->second->pgid_desc[bwgid]); -+ if (*name == NULL) { - goto Error; - } - } else { -@@ -2272,9 +2267,9 @@ cmd_status get_bwg_descrpt(char *device_name, u8 bwgid, char **name) - size = (int)strlen( - attribs.descript.pgid_desc[bwgid]) + - sizeof(char); -- *name = (char*)malloc(size); -+ *name = (char*)calloc(size, sizeof(char)); - if (*name != NULL) { -- memcpy(*name, attribs.descript.pgid_desc[bwgid], size); /* Localization OK */ -+ memcpy(*name, attribs.descript.pgid_desc[bwgid], size - 1); /* Localization OK */ - } else { - goto Error; - } -diff --git a/lldp/ports.c b/lldp/ports.c -index 6384f14..9b681f7 100644 ---- a/lldp/ports.c -+++ b/lldp/ports.c -@@ -264,7 +264,7 @@ struct port *add_port(int ifindex, const char *ifname) - memset(newport, 0, sizeof(*newport)); - newport->ifindex = ifindex; - newport->next = NULL; -- strncpy(newport->ifname, ifname, IFNAMSIZ); -+ strncpy(newport->ifname, ifname, IFNAMSIZ - 1); - - newport->bond_master = is_bond(ifname); - /* Initialize relevant port variables */ --- -2.28.0 - diff --git a/meta-networking/recipes-protocols/openlldp/files/0009-8021qaz-mark-prio-map-functions-static.patch b/meta-networking/recipes-protocols/openlldp/files/0009-8021qaz-mark-prio-map-functions-static.patch deleted file mode 100644 index 0f84426f9bd..00000000000 --- a/meta-networking/recipes-protocols/openlldp/files/0009-8021qaz-mark-prio-map-functions-static.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 7ae79b0dff53a23fa0a964f77b9e3bb387a293c4 Mon Sep 17 00:00:00 2001 -From: Aaron Conole -Date: Tue, 4 Aug 2020 09:17:50 -0400 -Subject: [PATCH 9/9] 8021qaz: mark prio map functions static - -Inline is not the correct way to mark a function for inclusion -in a single translation unit. Use 'static' to restrict export -of these functions. - -Signed-off-by: Aaron Conole ---- - lldp_8021qaz.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lldp_8021qaz.c b/lldp_8021qaz.c -index 673d758..16ae167 100644 ---- a/lldp_8021qaz.c -+++ b/lldp_8021qaz.c -@@ -397,7 +397,7 @@ static int read_cfg_file(char *ifname, struct lldp_agent *agent, - return 0; - } - --inline int get_prio_map(u32 prio_map, int prio) -+static int get_prio_map(u32 prio_map, int prio) - { - if (prio > 7) - return 0; -@@ -405,7 +405,7 @@ inline int get_prio_map(u32 prio_map, int prio) - return (prio_map >> (4 * (7-prio))) & 0xF; - } - --inline void set_prio_map(u32 *prio_map, u8 prio, int tc) -+static void set_prio_map(u32 *prio_map, u8 prio, int tc) - { - u32 mask = ~(0xffffffff & (0xF << (4 * (7-prio)))); - *prio_map &= mask; --- -2.28.0 - diff --git a/meta-networking/recipes-protocols/openlldp/files/lldp_head-remove-all-references.patch b/meta-networking/recipes-protocols/openlldp/files/lldp_head-remove-all-references.patch deleted file mode 100644 index bb3400cfa62..00000000000 --- a/meta-networking/recipes-protocols/openlldp/files/lldp_head-remove-all-references.patch +++ /dev/null @@ -1,331 +0,0 @@ -From ed6a8e5a75f56b7034a46294a0bf2a9a7fd14fbc Mon Sep 17 00:00:00 2001 -From: Aaron Conole -Date: Fri, 23 Oct 2020 14:40:32 -0400 -Subject: [PATCH] lldp_head: remove all references - -There were a number of references missed during the module cleanup. This hits the remaining -ones. - -Fixes: 07a83c583b9d ("lldp_head: rename and make extern") -Signed-off-by: Aaron Conole - -Reference to upstream patch: -https://github.com/intel/openlldp/commit/ed6a8e5a75f56b7034a46294a0bf2a9a7fd14fbc - -Signed-off-by: Li Wang ---- - ctrl_iface.c | 4 +--- - lldp_8021qaz.c | 11 +++++------ - lldp_8023.c | 6 ++---- - lldp_basman.c | 6 ++---- - lldp_evb.c | 6 ++---- - lldp_evb22.c | 6 ++---- - lldp_mand.c | 10 ++++------ - lldp_med.c | 6 ++---- - qbg_utils.c | 3 +-- - 9 files changed, 21 insertions(+), 37 deletions(-) - -diff --git a/ctrl_iface.c b/ctrl_iface.c -index 1734f49..666f7c8 100644 ---- a/ctrl_iface.c -+++ b/ctrl_iface.c -@@ -53,8 +53,6 @@ - #include "lldp_util.h" - #include "messages.h" - --extern struct lldp_head lldp_head; -- - struct ctrl_dst { - struct ctrl_dst *next; - struct sockaddr_un addr; -@@ -116,7 +114,7 @@ int clif_iface_module(struct clif_data *clifd, - return cmd_invalid; - } - -- mod = find_module_by_id(&lldp_head, module_id); -+ mod = find_module_by_id(&lldp_mod_head, module_id); - if (mod && mod->ops && mod->ops->client_cmd) - return (mod->ops->client_cmd)(clifd, from, fromlen, - cmd_start, cmd_len, rbuf+strlen(rbuf), rlen); -diff --git a/lldp_8021qaz.c b/lldp_8021qaz.c -index 16ae167..e747710 100644 ---- a/lldp_8021qaz.c -+++ b/lldp_8021qaz.c -@@ -48,7 +48,6 @@ - #include "lldp_dcbx.h" - - --struct lldp_head lldp_head; - extern config_t lldpad_cfg; - extern bool read_only_8021qaz; - -@@ -84,7 +83,7 @@ static int ieee8021qaz_check_pending(struct port *port, - if (!port->portEnabled) - return 0; - -- iud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_8021QAZ); -+ iud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_8021QAZ); - if (iud) { - LIST_FOREACH(tlv, &iud->head, entry) { - if (!strncmp(port->ifname, tlv->ifname, IFNAMSIZ)) { -@@ -143,7 +142,7 @@ struct ieee8021qaz_tlvs *ieee8021qaz_data(const char *ifname) - struct ieee8021qaz_user_data *iud; - struct ieee8021qaz_tlvs *tlv = NULL; - -- iud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_8021QAZ); -+ iud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_8021QAZ); - if (iud) { - LIST_FOREACH(tlv, &iud->head, entry) { - if (!strncmp(tlv->ifname, ifname, IFNAMSIZ)) -@@ -629,7 +628,7 @@ void ieee8021qaz_ifup(char *ifname, struct lldp_agent *agent) - LIST_INIT(&tlvs->app_head); - read_cfg_file(port->ifname, agent, tlvs); - -- iud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_8021QAZ); -+ iud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_8021QAZ); - LIST_INSERT_HEAD(&iud->head, tlvs, entry); - - initialized: -@@ -2179,7 +2178,7 @@ int ieee8021qaz_tlvs_rxed(const char *ifname) - struct ieee8021qaz_user_data *iud; - struct ieee8021qaz_tlvs *tlv = NULL; - -- iud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_8021QAZ); -+ iud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_8021QAZ); - if (iud) { - LIST_FOREACH(tlv, &iud->head, entry) { - if (!strncmp(tlv->ifname, ifname, IFNAMSIZ)) -@@ -2198,7 +2197,7 @@ int ieee8021qaz_check_active(const char *ifname) - struct ieee8021qaz_user_data *iud; - struct ieee8021qaz_tlvs *tlv = NULL; - -- iud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_8021QAZ); -+ iud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_8021QAZ); - if (iud) { - LIST_FOREACH(tlv, &iud->head, entry) { - if (!strncmp(tlv->ifname, ifname, IFNAMSIZ)) -diff --git a/lldp_8023.c b/lldp_8023.c -index 422026e..8a03211 100644 ---- a/lldp_8023.c -+++ b/lldp_8023.c -@@ -39,8 +39,6 @@ - #include "lldp_8023_clif.h" - #include "lldp_8023_cmds.h" - --extern struct lldp_head lldp_head; -- - struct tlv_info_8023_maccfg { - u8 oui[3]; - u8 sub; -@@ -84,7 +82,7 @@ static struct ieee8023_data *ieee8023_data(const char *ifname, enum agent_type t - struct ieee8023_user_data *ud; - struct ieee8023_data *bd = NULL; - -- ud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_8023); -+ ud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_8023); - if (ud) { - LIST_FOREACH(bd, &ud->head, entry) { - if (!strncmp(ifname, bd->ifname, IFNAMSIZ) && -@@ -456,7 +454,7 @@ void ieee8023_ifup(char *ifname, struct lldp_agent *agent) - goto out_err; - } - -- ud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_8023); -+ ud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_8023); - LIST_INSERT_HEAD(&ud->head, bd, entry); - LLDPAD_INFO("%s:port %s added\n", __func__, ifname); - return; -diff --git a/lldp_basman.c b/lldp_basman.c -index a4f69c1..614e2a2 100644 ---- a/lldp_basman.c -+++ b/lldp_basman.c -@@ -75,8 +75,6 @@ struct tlv_info_manaddr { - struct tlv_info_maoid o; - } __attribute__ ((__packed__)); - --extern struct lldp_head lldp_head; -- - static const struct lldp_mod_ops basman_ops = { - .lldp_mod_register = basman_register, - .lldp_mod_unregister = basman_unregister, -@@ -91,7 +89,7 @@ static struct basman_data *basman_data(const char *ifname, enum agent_type type) - struct basman_user_data *bud; - struct basman_data *bd = NULL; - -- bud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_BASIC); -+ bud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_BASIC); - if (bud) { - LIST_FOREACH(bd, &bud->head, entry) { - if (!strncmp(ifname, bd->ifname, IFNAMSIZ) && -@@ -688,7 +686,7 @@ void basman_ifup(char *ifname, struct lldp_agent *agent) - goto out_err; - } - -- bud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_BASIC); -+ bud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_BASIC); - LIST_INSERT_HEAD(&bud->head, bd, entry); - LLDPAD_DBG("%s:port %s added\n", __func__, ifname); - return; -diff --git a/lldp_evb.c b/lldp_evb.c -index dcdcc7e..a8f3965 100644 ---- a/lldp_evb.c -+++ b/lldp_evb.c -@@ -36,14 +36,12 @@ - #include "messages.h" - #include "config.h" - --extern struct lldp_head lldp_head; -- - struct evb_data *evb_data(char *ifname, enum agent_type type) - { - struct evb_user_data *ud; - struct evb_data *ed = NULL; - -- ud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_EVB); -+ ud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_EVB); - if (ud) { - LIST_FOREACH(ed, &ud->head, entry) { - if (!strncmp(ifname, ed->ifname, IFNAMSIZ) && -@@ -347,7 +345,7 @@ static void evb_ifup(char *ifname, struct lldp_agent *agent) - - evb_init_tlv(ed, agent); - -- ud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_EVB); -+ ud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_EVB); - LIST_INSERT_HEAD(&ud->head, ed, entry); - LLDPAD_DBG("%s:%s agent %d added\n", __func__, ifname, agent->type); - } -diff --git a/lldp_evb22.c b/lldp_evb22.c -index 76ba883..6e92d9d 100644 ---- a/lldp_evb22.c -+++ b/lldp_evb22.c -@@ -37,14 +37,12 @@ - #include "messages.h" - #include "config.h" - --extern struct lldp_head lldp_head; -- - struct evb22_data *evb22_data(char *ifname, enum agent_type type) - { - struct evb22_user_data *ud; - struct evb22_data *ed = NULL; - -- ud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_EVB22); -+ ud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_EVB22); - if (ud) { - LIST_FOREACH(ed, &ud->head, entry) { - if (!strncmp(ifname, ed->ifname, IFNAMSIZ) && -@@ -453,7 +451,7 @@ static void evb22_ifup(char *ifname, struct lldp_agent *agent) - STRNCPY_TERMINATED(ed->ifname, ifname, IFNAMSIZ); - ed->agenttype = agent->type; - evb22_init_tlv(ed, agent); -- ud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_EVB22); -+ ud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_EVB22); - LIST_INSERT_HEAD(&ud->head, ed, entry); - LLDPAD_DBG("%s:%s agent %d added\n", __func__, ifname, agent->type); - } -diff --git a/lldp_mand.c b/lldp_mand.c -index 0db63cb..b857a88 100644 ---- a/lldp_mand.c -+++ b/lldp_mand.c -@@ -42,8 +42,6 @@ - #include "lldp/l2_packet.h" - #include "lldp_tlv.h" - --extern struct lldp_head lldp_head; -- - static const struct lldp_mod_ops mand_ops = { - .lldp_mod_register = mand_register, - .lldp_mod_unregister = mand_unregister, -@@ -59,7 +57,7 @@ struct mand_data *mand_data(const char *ifname, enum agent_type type) - struct mand_user_data *mud; - struct mand_data *md = NULL; - -- mud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_MAND); -+ mud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_MAND); - if (mud) { - LIST_FOREACH(md, &mud->head, entry) { - if (!strncmp(ifname, md->ifname, IFNAMSIZ) && -@@ -608,7 +606,7 @@ void mand_ifup(char *ifname, struct lldp_agent *agent) - STRNCPY_TERMINATED(md->ifname, ifname, IFNAMSIZ); - md->agenttype = agent->type; - -- mud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_MAND); -+ mud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_MAND); - LIST_INSERT_HEAD(&mud->head, md, entry); - } - -@@ -636,7 +634,7 @@ struct lldp_module *mand_register(void) - LLDPAD_ERR("failed to malloc LLDP Mandatory module data\n"); - goto out_err; - } -- mud = malloc(sizeof(struct mand_user_data)); -+ mud = malloc(sizeof(struct mand_user_data)); - if (!mud) { - free(mod); - LLDPAD_ERR("failed to malloc LLDP Mandatory module user data\n"); -@@ -644,8 +642,8 @@ struct lldp_module *mand_register(void) - } - LIST_INIT(&mud->head); - mod->id = LLDP_MOD_MAND; -+ mod->data = mud; - mod->ops = &mand_ops; -- mod->data = mud; - LLDPAD_INFO("%s:done\n", __func__); - return mod; - out_err: -diff --git a/lldp_med.c b/lldp_med.c -index f6c373e..7b6996e 100644 ---- a/lldp_med.c -+++ b/lldp_med.c -@@ -40,8 +40,6 @@ - #include "lldp_mand_clif.h" - #include "lldp_med_cmds.h" - --extern struct lldp_head lldp_head; -- - struct tlv_info_medcaps { - u8 oui[OUI_SIZE]; - u8 subtype; -@@ -95,7 +93,7 @@ static struct med_data *med_data(const char *ifname, enum agent_type type) - struct med_user_data *mud; - struct med_data *md = NULL; - -- mud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_MED); -+ mud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_MED); - if (mud) { - LIST_FOREACH(md, &mud->head, entry) { - if (!strncmp(ifname, md->ifname, IFNAMSIZ) && -@@ -914,7 +912,7 @@ void med_ifup(char *ifname, struct lldp_agent *agent) - free(md); - goto out_err; - } -- mud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_MED); -+ mud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_MED); - LIST_INSERT_HEAD(&mud->head, md, entry); - LLDPAD_INFO("%s:port %s added\n", __func__, ifname); - return; -diff --git a/qbg_utils.c b/qbg_utils.c -index 9daeade..0d40c5b 100644 ---- a/qbg_utils.c -+++ b/qbg_utils.c -@@ -36,7 +36,6 @@ - #include "qbg_utils.h" - - extern int loglvl; /* Global lldpad log level */ --extern struct lldp_head lldp_head; - - /* - * hexdump_frame - print raw evb/ecp/vdp frame -@@ -73,7 +72,7 @@ void hexdump_frame(const char *ifname, char *txt, const unsigned char *buf, - */ - int modules_notify(int id, int sender_id, char *ifname, void *data) - { -- struct lldp_module *mp = find_module_by_id(&lldp_head, id); -+ struct lldp_module *mp = find_module_by_id(&lldp_mod_head, id); - int rc = 0; - - if (mp && mp->ops->lldp_mod_notify) --- -2.18.1 - diff --git a/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb b/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb deleted file mode 100644 index acde9c3659c..00000000000 --- a/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb +++ /dev/null @@ -1,44 +0,0 @@ -SUMMARY = "Open-LLDP" -DESCRIPTION = "Link Layer Discovery Protocol for Linux that includes support for DCBX" -HOMEPAGE = "http://open-lldp.org/start" - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=8c2bc283e65df398ced5f5b747e78162" - -S = "${WORKDIR}/git" - -inherit pkgconfig autotools -inherit ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} - -DEPENDS = "libnl libconfig readline" - -SRCREV = "b71bfb87fefb31c4b1a6a7ae351791c90966c3a8" -PV .= "+git${SRCPV}" -SRC_URI = "git://github.com/intel/openlldp.git;protocol=https;branch=master \ - file://0001-Fix-musl-libc-build-issue.patch \ - file://0001-autotools-Add-include-path-to-generated-version.h.patch \ - file://0001-autotools-Add-option-to-disable-installation-of-syst.patch \ - file://0001-cmds-fix-enum-conversion.patch \ - file://0002-lldp_head-rename-and-make-extern.patch \ - file://0003-lldp-add-packed-struct-definition.patch \ - file://0004-lldptool-make-extern.patch \ - file://0005-cisco_oui-match-encode-handler-prototypes.patch \ - file://0006-ecp22-make-enum-a-type-rather-than-instance.patch \ - file://0007-lldp_8021qaz-extern-config-object.patch \ - file://0008-stringops-fix-some-string-copy-errors.patch \ - file://0009-8021qaz-mark-prio-map-functions-static.patch \ - file://lldp_head-remove-all-references.patch \ - " - -# Makefile.am adds -Werror to AM_CFLAGS. There are warnings so disable it. -TARGET_CFLAGS += "-Wno-error" - -# Enable install of systemd conf files. -EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_system_unitdir}', '', d)}" - -SYSTEMD_SERVICE:${PN} = "lldpad.service lldpad.socket" - -# To enable service at boot set to enable in local.conf. -SYSTEMD_AUTO_ENABLE ?= "disable" - -RRECOMMENDS:${PN} = "iproute2-tc" diff --git a/meta-networking/recipes-protocols/openlldp/openlldp_1.1.0.bb b/meta-networking/recipes-protocols/openlldp/openlldp_1.1.0.bb new file mode 100644 index 00000000000..812f4fbcf0f --- /dev/null +++ b/meta-networking/recipes-protocols/openlldp/openlldp_1.1.0.bb @@ -0,0 +1,32 @@ +SUMMARY = "Open-LLDP" +DESCRIPTION = "Link Layer Discovery Protocol for Linux that includes support for DCBX" +HOMEPAGE = "http://open-lldp.org/start" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=8c2bc283e65df398ced5f5b747e78162" + +S = "${WORKDIR}/git" + +inherit pkgconfig autotools +inherit ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} + +DEPENDS = "libnl libconfig readline" + +SRCREV = "85e55837a81d710e5baa7da47f7ed0d205c8ede5" +PV .= "+git${SRCPV}" +SRC_URI = "git://github.com/intel/openlldp.git;protocol=https;branch=branch-1.1 \ + file://0001-Fix-musl-libc-build-issue.patch \ + file://0001-autotools-Add-include-path-to-generated-version.h.patch \ + file://0001-autotools-Add-option-to-disable-installation-of-syst.patch \ + file://0004-clif-Include-string.h-for-mem-function-prototypes.patch \ + " + +# Enable install of systemd conf files. +EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_system_unitdir}', '', d)}" + +SYSTEMD_SERVICE:${PN} = "lldpad.service lldpad.socket" + +# To enable service at boot set to enable in local.conf. +SYSTEMD_AUTO_ENABLE ?= "disable" + +RRECOMMENDS:${PN} = "iproute2-tc" diff --git a/meta-networking/recipes-protocols/quagga/files/0001-configure-Check-for-readline-instead-of-main-in-libr.patch b/meta-networking/recipes-protocols/quagga/files/0001-configure-Check-for-readline-instead-of-main-in-libr.patch new file mode 100644 index 00000000000..776c0958fab --- /dev/null +++ b/meta-networking/recipes-protocols/quagga/files/0001-configure-Check-for-readline-instead-of-main-in-libr.patch @@ -0,0 +1,32 @@ +From 675b35b7ed416c837267e493b157167319e8f5fa Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 1 Sep 2022 11:01:53 -0700 +Subject: [PATCH] configure: Check for readline() instead of main() in + libreadline + +while checking for presense of libreadline, poke for a function which is +provided by libreadline, main is not provided by it, so modern compiler +toolchains may complain about it. + +Upstream-Status: Submitted [https://github.com/Quagga/quagga/pull/9] +Signed-off-by: Khem Raj +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index ed279f48..d444ab4a 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -754,7 +754,7 @@ dnl [TODO] on Linux, and in [TODO] on Solaris. + )] + )] + ) +- AC_CHECK_LIB(readline, main, LIBREADLINE="-lreadline $LIBREADLINE",, ++ AC_CHECK_LIB(readline, readline, LIBREADLINE="-lreadline $LIBREADLINE",, + "$LIBREADLINE") + if test $ac_cv_lib_readline_main = no; then + AC_MSG_ERROR([vtysh needs libreadline but was not found and usable on your system.]) +-- +2.37.3 + diff --git a/meta-networking/recipes-protocols/quagga/quagga_1.2.4.bb b/meta-networking/recipes-protocols/quagga/quagga_1.2.4.bb index 984264a30f9..37cfc131c20 100644 --- a/meta-networking/recipes-protocols/quagga/quagga_1.2.4.bb +++ b/meta-networking/recipes-protocols/quagga/quagga_1.2.4.bb @@ -1,5 +1,7 @@ require quagga.inc +SRC_URI += "file://0001-configure-Check-for-readline-instead-of-main-in-libr.patch" + SRC_URI[md5sum] = "eced21b054d71c9e1b7c6ac43286a166" SRC_URI[sha256sum] = "e364c082c3309910e1eb7b068bf39ee298e2f2f3f31a6431a5c115193bd653d3" diff --git a/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch b/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch index 4a2769b8439..5ba20812627 100644 --- a/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch +++ b/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch @@ -1,4 +1,4 @@ -From f35e07aceb4a16121d83b47ee77990018bec98ea Mon Sep 17 00:00:00 2001 +From 28b9f115e36e2133301b02fa02ad71a8efbed9b9 Mon Sep 17 00:00:00 2001 From: Joe Slater Date: Thu, 9 Mar 2017 10:58:06 -0800 Subject: [PATCH] chrony: fix build failure for arma9 @@ -22,12 +22,13 @@ Subject: [PATCH] chrony: fix build failure for arma9 Refreshed for 4.0 Signed-off-by: Khem Raj + --- sys_linux.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/sys_linux.c b/sys_linux.c -index 9cab2ef..8104b8f 100644 +index f2baab1..14a9241 100644 --- a/sys_linux.c +++ b/sys_linux.c @@ -484,7 +484,6 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context) @@ -45,8 +46,8 @@ index 9cab2ef..8104b8f 100644 - SCMP_SYS(getrlimit), SCMP_SYS(getuid), SCMP_SYS(getuid32), - SCMP_SYS(rt_sigaction), -@@ -508,7 +506,6 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context) + #ifdef __NR_rseq +@@ -511,7 +509,6 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context) /* Memory */ SCMP_SYS(brk), SCMP_SYS(madvise), @@ -54,7 +55,7 @@ index 9cab2ef..8104b8f 100644 SCMP_SYS(mmap2), SCMP_SYS(mprotect), SCMP_SYS(mremap), -@@ -568,8 +565,6 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context) +@@ -571,8 +568,6 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context) SCMP_SYS(sendmsg), SCMP_SYS(sendto), SCMP_SYS(shutdown), @@ -63,7 +64,7 @@ index 9cab2ef..8104b8f 100644 /* General I/O */ SCMP_SYS(_newselect), -@@ -593,7 +588,6 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context) +@@ -596,7 +591,6 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context) #ifdef __NR_futex_time64 SCMP_SYS(futex_time64), #endif @@ -71,7 +72,7 @@ index 9cab2ef..8104b8f 100644 SCMP_SYS(set_robust_list), SCMP_SYS(write), -@@ -601,6 +595,15 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context) +@@ -604,6 +598,15 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context) SCMP_SYS(getrandom), SCMP_SYS(sysinfo), SCMP_SYS(uname), @@ -87,6 +88,3 @@ index 9cab2ef..8104b8f 100644 }; const int denied_any[] = { --- -2.25.1 - diff --git a/meta-networking/recipes-support/chrony/chrony/chrony.conf b/meta-networking/recipes-support/chrony/chrony/chrony.conf index 8d226d31a5e..d11e2d40692 100644 --- a/meta-networking/recipes-support/chrony/chrony/chrony.conf +++ b/meta-networking/recipes-support/chrony/chrony/chrony.conf @@ -1,3 +1,6 @@ +# Load config files matching the /etc/chrony/conf.d/*.conf pattern. +confdir /etc/chrony/conf.d + # Use public NTP servers from the pool.ntp.org project. # Please consider joining the pool project if possible by running your own # server(s). @@ -17,6 +20,10 @@ pool 0.openembedded.pool.ntp.org iburst # gpios = <&ps7_gpio_0 56 0>; # }; +# Load source files matching the /etc/chrony/sources.d/*.sources pattern. +# These can be reloaded using 'chronyc reload sources'. +sourcedir /etc/chrony/sources.d + # In first three updates step the system clock instead of slew # if the adjustment is larger than 1 second. makestep 1.0 3 diff --git a/meta-networking/recipes-support/chrony/chrony_4.2.bb b/meta-networking/recipes-support/chrony/chrony_4.2.bb deleted file mode 100644 index 8ce9e1db553..00000000000 --- a/meta-networking/recipes-support/chrony/chrony_4.2.bb +++ /dev/null @@ -1,151 +0,0 @@ -SUMMARY = "Versatile implementation of the Network Time Protocol" -DESCRIPTION = "Chrony can synchronize the system clock with NTP \ -servers, reference clocks (e.g. GPS receiver), and manual input using \ -wristwatch and keyboard. It can also operate as an NTPv4 (RFC 5905) \ -server and peer to provide a time service to other computers in the \ -network. \ -\ -It is designed to perform well in a wide range of conditions, \ -including intermittent network connections, heavily congested \ -networks, changing temperatures (ordinary computer clocks are \ -sensitive to temperature), and systems that do not run continuously, or \ -run on a virtual machine. \ -\ -Typical accuracy between two machines on a LAN is in tens, or a few \ -hundreds, of microseconds; over the Internet, accuracy is typically \ -within a few milliseconds. With a good hardware reference clock \ -sub-microsecond accuracy is possible. \ -\ -Two programs are included in chrony: chronyd is a daemon that can be \ -started at boot time and chronyc is a command-line interface program \ -which can be used to monitor chronyd's performance and to change \ -various operating parameters whilst it is running. \ -\ -This recipe produces two binary packages: 'chrony' which contains chronyd, \ -the configuration file and the init script, and 'chronyc' which contains \ -the client program only." - -HOMEPAGE = "https://chrony.tuxfamily.org/" -SECTION = "net" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI = "https://download.tuxfamily.org/chrony/chrony-${PV}.tar.gz \ - file://chrony.conf \ - file://chronyd \ - file://arm_eabi.patch \ -" - -SRC_URI:append:libc-musl = " \ - file://0001-Fix-compilation-with-musl.patch \ -" -SRC_URI[sha256sum] = "273f9fd15c328ed6f3a5f6ba6baec35a421a34a73bb725605329b1712048db9a" - -DEPENDS = "pps-tools" - -# Note: Despite being built via './configure; make; make install', -# chrony does not use GNU Autotools. -inherit update-rc.d systemd - -# Add chronyd user if privdrop packageconfig is selected -inherit ${@bb.utils.contains('PACKAGECONFIG', 'privdrop', 'useradd', '', d)} -USERADD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'privdrop', '${PN}', '', d)}" -USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'privdrop', '--system -d / -M --shell /bin/nologin chronyd;', '', d)}" - -# Configuration options: -# - For command line editing support in chronyc, you may specify either -# 'editline' or 'readline' but not both. editline is smaller, but -# many systems already have readline for other purposes so you might want -# to choose that instead. However, beware license incompatibility -# since chrony is GPLv2 and readline versions after 6.0 are GPLv3+. -# You can of course choose neither, but if you're that tight on space -# consider dropping chronyc entirely (you can use it remotely with -# appropriate chrony.conf options). -# - Security-related: -# - 'sechash' is omitted by default because it pulls in nss which is huge. -# - 'privdrop' allows chronyd to run as non-root; would need changes to -# chrony.conf and init script. -# - 'scfilter' enables support for system call filtering, but requires the -# kernel to have CONFIG_SECCOMP enabled. -PACKAGECONFIG ??= "editline \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ -" -PACKAGECONFIG[readline] = "--without-editline,--without-readline,readline" -PACKAGECONFIG[editline] = ",--without-editline,libedit" -PACKAGECONFIG[sechash] = "--without-tomcrypt,--disable-sechash,nss" -PACKAGECONFIG[privdrop] = "--with-libcap,--disable-privdrop --without-libcap,libcap" -PACKAGECONFIG[scfilter] = "--enable-scfilter,--without-seccomp,libseccomp" -PACKAGECONFIG[ipv6] = ",--disable-ipv6," -PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss" -PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap" - -# --disable-static isn't supported by chrony's configure script. -DISABLE_STATIC = "" - -do_configure() { - ./configure --sysconfdir=${sysconfdir} --bindir=${bindir} --sbindir=${sbindir} \ - --localstatedir=${localstatedir} --datarootdir=${datadir} \ - --with-ntp-era=$(shell date -d '1970-01-01 00:00:00+00:00' +'%s') \ - --with-pidfile=/run/chrony/chronyd.pid \ - --chronyrundir=/run/chrony \ - --host-system=Linux \ - ${PACKAGECONFIG_CONFARGS} -} - -do_install() { - # Binaries - install -d ${D}${bindir} - install -m 0755 ${S}/chronyc ${D}${bindir} - install -d ${D}${sbindir} - install -m 0755 ${S}/chronyd ${D}${sbindir} - - # Config file - install -d ${D}${sysconfdir} - install -m 644 ${WORKDIR}/chrony.conf ${D}${sysconfdir} - if ${@bb.utils.contains('PACKAGECONFIG', 'privdrop', 'true', 'false', d)}; then - echo "# Define user to drop to after dropping root privileges" >> ${D}${sysconfdir}/chrony.conf - echo "user chronyd" >> ${D}${sysconfdir}/chrony.conf - fi - - # System V init script - install -d ${D}${sysconfdir}/init.d - install -m 755 ${WORKDIR}/chronyd ${D}${sysconfdir}/init.d - - # systemd unit configuration file - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${S}/examples/chronyd.service ${D}${systemd_unitdir}/system/ - - # Variable data (for drift and/or rtc file) - install -d ${D}${localstatedir}/lib/chrony - - # Fix hard-coded paths in config files and init scripts - sed -i -e 's!/var/!${localstatedir}/!g' -e 's!/etc/!${sysconfdir}/!g' \ - -e 's!/usr/sbin/!${sbindir}/!g' -e 's!/usr/bin/!${bindir}/!g' \ - ${D}${sysconfdir}/chrony.conf \ - ${D}${sysconfdir}/init.d/chronyd \ - ${D}${systemd_unitdir}/system/chronyd.service - sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/chronyd - sed -i 's!^EnvironmentFile=.*!EnvironmentFile=-${sysconfdir}/default/chronyd!' ${D}${systemd_unitdir}/system/chronyd.service - - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d /var/lib/chrony 0755 root root -" > ${D}${sysconfdir}/tmpfiles.d/chronyd.conf - -} - -FILES:${PN} = "${sbindir}/chronyd ${sysconfdir} ${localstatedir}/lib/chrony ${localstatedir}" -CONFFILES:${PN} = "${sysconfdir}/chrony.conf" -INITSCRIPT_NAME = "chronyd" -INITSCRIPT_PARAMS = "defaults" -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE:${PN} = "chronyd.service" - -# It's probably a bad idea to run chrony and another time daemon on -# the same system. systemd includes the SNTP client 'timesyncd', which -# will be disabled by chronyd.service, however it will remain on the rootfs -# wasting 150 kB unless you put 'PACKAGECONFIG:remove:pn-systemd = "timesyncd"' -# in a conf file or bbappend somewhere. -RCONFLICTS:${PN} = "ntp ntimed" - -# Separate the client program into its own package -PACKAGES =+ "chronyc" -FILES:chronyc = "${bindir}/chronyc" diff --git a/meta-networking/recipes-support/chrony/chrony_4.3.bb b/meta-networking/recipes-support/chrony/chrony_4.3.bb new file mode 100644 index 00000000000..420cc78ca4c --- /dev/null +++ b/meta-networking/recipes-support/chrony/chrony_4.3.bb @@ -0,0 +1,140 @@ +SUMMARY = "Versatile implementation of the Network Time Protocol" +DESCRIPTION = "Chrony can synchronize the system clock with NTP \ +servers, reference clocks (e.g. GPS receiver), and manual input using \ +wristwatch and keyboard. It can also operate as an NTPv4 (RFC 5905) \ +server and peer to provide a time service to other computers in the \ +network. \ +\ +It is designed to perform well in a wide range of conditions, \ +including intermittent network connections, heavily congested \ +networks, changing temperatures (ordinary computer clocks are \ +sensitive to temperature), and systems that do not run continuously, or \ +run on a virtual machine. \ +\ +Typical accuracy between two machines on a LAN is in tens, or a few \ +hundreds, of microseconds; over the Internet, accuracy is typically \ +within a few milliseconds. With a good hardware reference clock \ +sub-microsecond accuracy is possible. \ +\ +Two programs are included in chrony: chronyd is a daemon that can be \ +started at boot time and chronyc is a command-line interface program \ +which can be used to monitor chronyd's performance and to change \ +various operating parameters whilst it is running. \ +\ +This recipe produces two binary packages: 'chrony' which contains chronyd, \ +the configuration file and the init script, and 'chronyc' which contains \ +the client program only." + +HOMEPAGE = "https://chrony.tuxfamily.org/" +SECTION = "net" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "https://download.tuxfamily.org/chrony/chrony-${PV}.tar.gz \ + file://chrony.conf \ + file://chronyd \ + file://arm_eabi.patch \ +" + +SRC_URI:append:libc-musl = " \ + file://0001-Fix-compilation-with-musl.patch \ +" +SRC_URI[sha256sum] = "9d0da889a865f089a5a21610ffb6713e3c9438ce303a63b49c2fb6eaff5b8804" + +DEPENDS = "pps-tools" + +# Note: Despite being built via './configure; make; make install', +# chrony does not use GNU Autotools. +inherit update-rc.d systemd pkgconfig + +# Add chronyd user if privdrop packageconfig is selected +inherit ${@bb.utils.contains('PACKAGECONFIG', 'privdrop', 'useradd', '', d)} +USERADD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'privdrop', '${PN}', '', d)}" +USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'privdrop', '--system -d / -M --shell /bin/nologin chronyd;', '', d)}" + +# Configuration options: +# - Security-related: +# - 'sechash' is omitted by default because it pulls in nss which is huge. +# - 'privdrop' allows chronyd to run as non-root; would need changes to +# chrony.conf and init script. +# - 'scfilter' enables support for system call filtering, but requires the +# kernel to have CONFIG_SECCOMP enabled. +PACKAGECONFIG ??= "editline \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ +" +PACKAGECONFIG[editline] = ",--without-editline,libedit" +PACKAGECONFIG[sechash] = "--without-tomcrypt,--disable-sechash,nss" +PACKAGECONFIG[privdrop] = ",--disable-privdrop,libcap" +PACKAGECONFIG[scfilter] = "--enable-scfilter,--without-seccomp,libseccomp" +PACKAGECONFIG[ipv6] = ",--disable-ipv6," + +# --disable-static isn't supported by chrony's configure script. +DISABLE_STATIC = "" + +do_configure() { + ./configure --sysconfdir=${sysconfdir} --bindir=${bindir} --sbindir=${sbindir} \ + --localstatedir=${localstatedir} --datarootdir=${datadir} \ + --with-ntp-era=$(shell date -d '1970-01-01 00:00:00+00:00' +'%s') \ + --with-pidfile=/run/chrony/chronyd.pid \ + --chronyrundir=/run/chrony \ + --host-system=Linux \ + ${PACKAGECONFIG_CONFARGS} +} + +do_install() { + # Binaries + install -d ${D}${bindir} + install -m 0755 ${S}/chronyc ${D}${bindir} + install -d ${D}${sbindir} + install -m 0755 ${S}/chronyd ${D}${sbindir} + + # Config file + install -d ${D}${sysconfdir} + install -m 644 ${WORKDIR}/chrony.conf ${D}${sysconfdir} + if ${@bb.utils.contains('PACKAGECONFIG', 'privdrop', 'true', 'false', d)}; then + echo "# Define user to drop to after dropping root privileges" >> ${D}${sysconfdir}/chrony.conf + echo "user chronyd" >> ${D}${sysconfdir}/chrony.conf + fi + + # System V init script + install -d ${D}${sysconfdir}/init.d + install -m 755 ${WORKDIR}/chronyd ${D}${sysconfdir}/init.d + + # systemd unit configuration file + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${S}/examples/chronyd.service ${D}${systemd_unitdir}/system/ + + # Variable data (for drift and/or rtc file) + install -d ${D}${localstatedir}/lib/chrony + + # Fix hard-coded paths in config files and init scripts + sed -i -e 's!/var/!${localstatedir}/!g' -e 's!/etc/!${sysconfdir}/!g' \ + -e 's!/usr/sbin/!${sbindir}/!g' -e 's!/usr/bin/!${bindir}/!g' \ + ${D}${sysconfdir}/chrony.conf \ + ${D}${sysconfdir}/init.d/chronyd \ + ${D}${systemd_unitdir}/system/chronyd.service + sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/chronyd + sed -i 's!^EnvironmentFile=.*!EnvironmentFile=-${sysconfdir}/default/chronyd!' ${D}${systemd_unitdir}/system/chronyd.service + + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /var/lib/chrony 0755 root root -" > ${D}${sysconfdir}/tmpfiles.d/chronyd.conf + +} + +FILES:${PN} = "${sbindir}/chronyd ${sysconfdir} ${localstatedir}/lib/chrony ${localstatedir}" +CONFFILES:${PN} = "${sysconfdir}/chrony.conf" +INITSCRIPT_NAME = "chronyd" +INITSCRIPT_PARAMS = "defaults" +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE:${PN} = "chronyd.service" + +# It's probably a bad idea to run chrony and another time daemon on +# the same system. systemd includes the SNTP client 'timesyncd', which +# will be disabled by chronyd.service, however it will remain on the rootfs +# wasting 150 kB unless you put 'PACKAGECONFIG:remove:pn-systemd = "timesyncd"' +# in a conf file or bbappend somewhere. +RCONFLICTS:${PN} = "ntp ntimed" + +# Separate the client program into its own package +PACKAGES =+ "chronyc" +FILES:chronyc = "${bindir}/chronyc" diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq.inc b/meta-networking/recipes-support/dnsmasq/dnsmasq.inc index 136c65d8fd7..a8ff21a125c 100644 --- a/meta-networking/recipes-support/dnsmasq/dnsmasq.inc +++ b/meta-networking/recipes-support/dnsmasq/dnsmasq.inc @@ -3,8 +3,9 @@ HOMEPAGE = "http://www.thekelleys.org.uk/dnsmasq/doc.html" SECTION = "net" # GPLv3 was added in version 2.41 as license option LICENSE = "GPL-2.0-only | GPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ - file://COPYING-v3;md5=d32239bcb673463ab874e80d47fae504" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING-v3;md5=d32239bcb673463ab874e80d47fae504 \ + " #at least versions 2.69 and prior are moved to the archive folder on the server SRC_URI = "http://www.thekelleys.org.uk/dnsmasq/${@['archive/', ''][float(d.getVar('PV').split('.')[1]) > 69]}dnsmasq-${PV}.tar.gz;name=dnsmasq-${PV} \ diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq/CVE-2022-0934.patch b/meta-networking/recipes-support/dnsmasq/dnsmasq/CVE-2022-0934.patch deleted file mode 100644 index 6bd734d756c..00000000000 --- a/meta-networking/recipes-support/dnsmasq/dnsmasq/CVE-2022-0934.patch +++ /dev/null @@ -1,191 +0,0 @@ -From 3cdecc159e0f417a2f8d43d99632af26beea630f Mon Sep 17 00:00:00 2001 -From: Simon Kelley -Date: Thu, 31 Mar 2022 21:35:20 +0100 -Subject: [PATCH] Fix write-after-free error in DHCPv6 code. CVE-2022-0934 - refers. - -CVE: CVE-2022-0934 - -Upstream-Status: Backport -[https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commitdiff;h=03345ecefe] - -Signed-off-by: Yi Zhao ---- - CHANGELOG | 3 +++ - src/rfc3315.c | 48 +++++++++++++++++++++++++++--------------------- - 2 files changed, 30 insertions(+), 21 deletions(-) - -diff --git a/CHANGELOG b/CHANGELOG -index 5e54df9..a28da2a 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -1,4 +1,7 @@ - version 2.86 -+ Fix write-after-free error in DHCPv6 server code. -+ CVE-2022-0934 refers. -+ - Handle DHCPREBIND requests in the DHCPv6 server code. - Thanks to Aichun Li for spotting this omission, and the initial - patch. -diff --git a/src/rfc3315.c b/src/rfc3315.c -index 5c2ff97..6ecfeeb 100644 ---- a/src/rfc3315.c -+++ b/src/rfc3315.c -@@ -33,9 +33,9 @@ struct state { - unsigned int mac_len, mac_type; - }; - --static int dhcp6_maybe_relay(struct state *state, void *inbuff, size_t sz, -+static int dhcp6_maybe_relay(struct state *state, unsigned char *inbuff, size_t sz, - struct in6_addr *client_addr, int is_unicast, time_t now); --static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_t sz, int is_unicast, time_t now); -+static int dhcp6_no_relay(struct state *state, int msg_type, unsigned char *inbuff, size_t sz, int is_unicast, time_t now); - static void log6_opts(int nest, unsigned int xid, void *start_opts, void *end_opts); - static void log6_packet(struct state *state, char *type, struct in6_addr *addr, char *string); - static void log6_quiet(struct state *state, char *type, struct in6_addr *addr, char *string); -@@ -104,12 +104,12 @@ unsigned short dhcp6_reply(struct dhcp_context *context, int interface, char *if - } - - /* This cost me blood to write, it will probably cost you blood to understand - srk. */ --static int dhcp6_maybe_relay(struct state *state, void *inbuff, size_t sz, -+static int dhcp6_maybe_relay(struct state *state, unsigned char *inbuff, size_t sz, - struct in6_addr *client_addr, int is_unicast, time_t now) - { - void *end = inbuff + sz; - void *opts = inbuff + 34; -- int msg_type = *((unsigned char *)inbuff); -+ int msg_type = *inbuff; - unsigned char *outmsgtypep; - void *opt; - struct dhcp_vendor *vendor; -@@ -259,15 +259,15 @@ static int dhcp6_maybe_relay(struct state *state, void *inbuff, size_t sz, - return 1; - } - --static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_t sz, int is_unicast, time_t now) -+static int dhcp6_no_relay(struct state *state, int msg_type, unsigned char *inbuff, size_t sz, int is_unicast, time_t now) - { - void *opt; -- int i, o, o1, start_opts; -+ int i, o, o1, start_opts, start_msg; - struct dhcp_opt *opt_cfg; - struct dhcp_netid *tagif; - struct dhcp_config *config = NULL; - struct dhcp_netid known_id, iface_id, v6_id; -- unsigned char *outmsgtypep; -+ unsigned char outmsgtype; - struct dhcp_vendor *vendor; - struct dhcp_context *context_tmp; - struct dhcp_mac *mac_opt; -@@ -296,12 +296,13 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_ - v6_id.next = state->tags; - state->tags = &v6_id; - -- /* copy over transaction-id, and save pointer to message type */ -- if (!(outmsgtypep = put_opt6(inbuff, 4))) -+ start_msg = save_counter(-1); -+ /* copy over transaction-id */ -+ if (!put_opt6(inbuff, 4)) - return 0; - start_opts = save_counter(-1); -- state->xid = outmsgtypep[3] | outmsgtypep[2] << 8 | outmsgtypep[1] << 16; -- -+ state->xid = inbuff[3] | inbuff[2] << 8 | inbuff[1] << 16; -+ - /* We're going to be linking tags from all context we use. - mark them as unused so we don't link one twice and break the list */ - for (context_tmp = state->context; context_tmp; context_tmp = context_tmp->current) -@@ -347,7 +348,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_ - (msg_type == DHCP6REQUEST || msg_type == DHCP6RENEW || msg_type == DHCP6RELEASE || msg_type == DHCP6DECLINE)) - - { -- *outmsgtypep = DHCP6REPLY; -+ outmsgtype = DHCP6REPLY; - o1 = new_opt6(OPTION6_STATUS_CODE); - put_opt6_short(DHCP6USEMULTI); - put_opt6_string("Use multicast"); -@@ -619,11 +620,11 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_ - struct dhcp_netid *solicit_tags; - struct dhcp_context *c; - -- *outmsgtypep = DHCP6ADVERTISE; -+ outmsgtype = DHCP6ADVERTISE; - - if (opt6_find(state->packet_options, state->end, OPTION6_RAPID_COMMIT, 0)) - { -- *outmsgtypep = DHCP6REPLY; -+ outmsgtype = DHCP6REPLY; - state->lease_allocate = 1; - o = new_opt6(OPTION6_RAPID_COMMIT); - end_opt6(o); -@@ -809,7 +810,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_ - int start = save_counter(-1); - - /* set reply message type */ -- *outmsgtypep = DHCP6REPLY; -+ outmsgtype = DHCP6REPLY; - state->lease_allocate = 1; - - log6_quiet(state, "DHCPREQUEST", NULL, ignore ? _("ignored") : NULL); -@@ -924,7 +925,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_ - int address_assigned = 0; - - /* set reply message type */ -- *outmsgtypep = DHCP6REPLY; -+ outmsgtype = DHCP6REPLY; - - log6_quiet(state, msg_type == DHCP6RENEW ? "DHCPRENEW" : "DHCPREBIND", NULL, NULL); - -@@ -1057,7 +1058,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_ - int good_addr = 0; - - /* set reply message type */ -- *outmsgtypep = DHCP6REPLY; -+ outmsgtype = DHCP6REPLY; - - log6_quiet(state, "DHCPCONFIRM", NULL, NULL); - -@@ -1121,7 +1122,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_ - log6_quiet(state, "DHCPINFORMATION-REQUEST", NULL, ignore ? _("ignored") : state->hostname); - if (ignore) - return 0; -- *outmsgtypep = DHCP6REPLY; -+ outmsgtype = DHCP6REPLY; - tagif = add_options(state, 1); - break; - } -@@ -1130,7 +1131,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_ - case DHCP6RELEASE: - { - /* set reply message type */ -- *outmsgtypep = DHCP6REPLY; -+ outmsgtype = DHCP6REPLY; - - log6_quiet(state, "DHCPRELEASE", NULL, NULL); - -@@ -1195,7 +1196,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_ - case DHCP6DECLINE: - { - /* set reply message type */ -- *outmsgtypep = DHCP6REPLY; -+ outmsgtype = DHCP6REPLY; - - log6_quiet(state, "DHCPDECLINE", NULL, NULL); - -@@ -1275,7 +1276,12 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_ - } - - } -- -+ -+ /* Fill in the message type. Note that we store the offset, -+ not a direct pointer, since the packet memory may have been -+ reallocated. */ -+ ((unsigned char *)(daemon->outpacket.iov_base))[start_msg] = outmsgtype; -+ - log_tags(tagif, state->xid); - log6_opts(0, state->xid, daemon->outpacket.iov_base + start_opts, daemon->outpacket.iov_base + save_counter(-1)); - --- -2.25.1 - diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq_2.86.bb b/meta-networking/recipes-support/dnsmasq/dnsmasq_2.86.bb deleted file mode 100644 index 0f7880ce8c7..00000000000 --- a/meta-networking/recipes-support/dnsmasq/dnsmasq_2.86.bb +++ /dev/null @@ -1,8 +0,0 @@ -require dnsmasq.inc - -SRC_URI[dnsmasq-2.86.sha256sum] = "ef15f608a83ee2b1d1d2c1f11d089a7e0ac401ffb0991de73fc01ce5f290e512" -SRC_URI += "\ - file://lua.patch \ - file://CVE-2022-0934.patch \ -" - diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq_2.87.bb b/meta-networking/recipes-support/dnsmasq/dnsmasq_2.87.bb new file mode 100644 index 00000000000..793b61d7129 --- /dev/null +++ b/meta-networking/recipes-support/dnsmasq/dnsmasq_2.87.bb @@ -0,0 +1,7 @@ +require dnsmasq.inc + +SRC_URI[dnsmasq-2.87.sha256sum] = "ae39bffde9c37e4d64849b528afeb060be6bad6d1044a3bd94a49fce41357284" +SRC_URI += "\ + file://lua.patch \ +" + diff --git a/meta-networking/recipes-support/ettercap/ettercap_0.8.3.1.bb b/meta-networking/recipes-support/ettercap/ettercap_0.8.3.1.bb index 99fcacd3efe..b0958e69757 100644 --- a/meta-networking/recipes-support/ettercap/ettercap_0.8.3.1.bb +++ b/meta-networking/recipes-support/ettercap/ettercap_0.8.3.1.bb @@ -10,6 +10,7 @@ DEPENDS += "ethtool \ librepo \ libnet \ libpcap \ + libpcre \ ncurses \ openssl \ zlib \ @@ -32,6 +33,7 @@ EXTRA_OECMAKE = " \ -DENABLE_GTK=OFF \ " +CFLAGS += "-D_GNU_SOURCE" # Replaces default encoding set (ISO-8859-1) with UTF-8 in ettercap # configuration file installed by the package. # It ensures that all characters are properly decoded and avoids diff --git a/meta-networking/recipes-support/fetchmail/fetchmail_6.4.23.bb b/meta-networking/recipes-support/fetchmail/fetchmail_6.4.23.bb index e4ad0a39e1f..266573681e8 100644 --- a/meta-networking/recipes-support/fetchmail/fetchmail_6.4.23.bb +++ b/meta-networking/recipes-support/fetchmail/fetchmail_6.4.23.bb @@ -18,5 +18,9 @@ inherit autotools gettext pkgconfig python3-dir python3native EXTRA_OECONF = "--with-ssl=${STAGING_DIR_HOST}${prefix}" +do_install:append() { + sed -i 's,${RECIPE_SYSROOT_NATIVE},,g' ${D}${bindir}/fetchmailconf +} + PACKAGES =+ "fetchmail-python" FILES:fetchmail-python = "${libdir}/${PYTHON_DIR}/*" diff --git a/meta-networking/recipes-support/fping/fping/0001-fping-Initialize-msghdr-struct-in-a-portable-way.patch b/meta-networking/recipes-support/fping/fping/0001-fping-Initialize-msghdr-struct-in-a-portable-way.patch new file mode 100644 index 00000000000..2a5b3e6193d --- /dev/null +++ b/meta-networking/recipes-support/fping/fping/0001-fping-Initialize-msghdr-struct-in-a-portable-way.patch @@ -0,0 +1,42 @@ +From c3f476a763412be51b4df0e748af04d4150a2c71 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 29 Aug 2022 15:41:51 -0700 +Subject: [PATCH] fping: Initialize msghdr struct in a portable way + +Initializing the structure assuming glibc layout results in +compile errors on musl, therefore do partial intialization and then +assigning the members individually. + +Upstream-status: Submitted [https://github.com/schweikert/fping/pull/263] +Signed-off-by: Khem Raj +--- + src/fping.c | 16 +++++++--------- + 1 file changed, 7 insertions(+), 9 deletions(-) + +diff --git a/src/fping.c b/src/fping.c +index e26b216..81a61d9 100644 +--- a/src/fping.c ++++ b/src/fping.c +@@ -1951,15 +1951,13 @@ int receive_packet(int64_t wait_time, + reply_buf, + reply_buf_len + }; +- struct msghdr recv_msghdr = { +- reply_src_addr, +- reply_src_addr_len, +- &msg_iov, +- 1, +- &msg_control, +- sizeof(msg_control), +- 0 +- }; ++ struct msghdr recv_msghdr = {0}; ++ recv_msghdr.msg_name = reply_src_addr; ++ recv_msghdr.msg_namelen = reply_src_addr_len; ++ recv_msghdr.msg_iov = &msg_iov; ++ recv_msghdr.msg_iovlen = 1; ++ recv_msghdr.msg_control = &msg_control; ++ recv_msghdr.msg_controllen = sizeof(msg_control); + #if HAVE_SO_TIMESTAMPNS + struct cmsghdr* cmsg; + #endif diff --git a/meta-networking/recipes-support/fping/fping_5.1.bb b/meta-networking/recipes-support/fping/fping_5.1.bb index f2dd8975613..0682eafa095 100644 --- a/meta-networking/recipes-support/fping/fping_5.1.bb +++ b/meta-networking/recipes-support/fping/fping_5.1.bb @@ -14,7 +14,9 @@ LICENSE = "fping" NO_GENERIC_LICENSE[fping] = "COPYING" LIC_FILES_CHKSUM = "file://COPYING;md5=c6170fbadddfcd74f011515291d96901" -SRC_URI = "http://www.fping.org/dist/fping-${PV}.tar.gz" +SRC_URI = "http://www.fping.org/dist/fping-${PV}.tar.gz \ + file://0001-fping-Initialize-msghdr-struct-in-a-portable-way.patch \ + " SRC_URI[sha256sum] = "1ee5268c063d76646af2b4426052e7d81a42b657e6a77d8e7d3d2e60fd7409fe" S = "${WORKDIR}/fping-${PV}" diff --git a/meta-networking/recipes-support/libesmtp/libesmtp_1.1.0.bb b/meta-networking/recipes-support/libesmtp/libesmtp_1.1.0.bb index bf1a12d48fb..3d0764a3b95 100644 --- a/meta-networking/recipes-support/libesmtp/libesmtp_1.1.0.bb +++ b/meta-networking/recipes-support/libesmtp/libesmtp_1.1.0.bb @@ -30,5 +30,11 @@ EXTRA_OEMESON = " \ -Dntlm=disabled \ " +CFLAGS += "-D_GNU_SOURCE" + +do_configure:prepend:libc-glibc() { + sed -i -e "s/conf.set('HAVE_WORKING_STRERROR_R', 0)/conf.set('HAVE_WORKING_STRERROR_R', 1)/g" ${S}/meson.build +} + FILES:${PN} = "${libdir}/lib*${SOLIBS} \ ${libdir}/esmtp-plugins-6.2.0/*${SOLIBSDEV}" diff --git a/meta-networking/recipes-support/libldb/libldb_2.3.3.bb b/meta-networking/recipes-support/libldb/libldb_2.3.3.bb deleted file mode 100644 index 6dd3ec3a9aa..00000000000 --- a/meta-networking/recipes-support/libldb/libldb_2.3.3.bb +++ /dev/null @@ -1,81 +0,0 @@ -SUMMARY = "Hierarchical, reference counted memory pool system with destructors" -HOMEPAGE = "http://ldb.samba.org" -SECTION = "libs" -LICENSE = "LGPL-3.0-or-later & LGPL-2.1-or-later & GPL-3.0-or-later" - -DEPENDS += "libtdb libtalloc libtevent popt" -RDEPENDS:pyldb += "python3" - -SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \ - file://0001-do-not-import-target-module-while-cross-compile.patch \ - file://0002-ldb-Add-configure-options-for-packages.patch \ - file://0001-Fix-pyext_PATTERN-for-cross-compilation.patch \ - file://libldb-fix-musl-libc-conflict-type-error.patch \ - " - -PACKAGECONFIG ??= "\ - ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \ -" -PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl" -PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr" -PACKAGECONFIG[ldap] = ",,openldap" -PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio" -PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd" -PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap" -PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind" -PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb," - -SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'ldap', '', 'file://0003-avoid-openldap-unless-wanted.patch', d)}" - -LIC_FILES_CHKSUM = "file://pyldb.h;endline=24;md5=dfbd238cecad76957f7f860fbe9adade \ - file://man/ldb.3.xml;beginline=261;endline=262;md5=137f9fd61040c1505d1aa1019663fd08 \ - file://tools/ldbdump.c;endline=19;md5=a7d4fc5d1f75676b49df491575a86a42" - -SRC_URI[md5sum] = "6824f69ea3bb58cb8a3be4c179e7569a" -SRC_URI[sha256sum] = "9ef39700ff05b3e8f5801d2a39fe1ba023218650f81c9d377caca22f49076807" - -inherit pkgconfig waf-samba - -S = "${WORKDIR}/ldb-${PV}" - -#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen -#to cross Popen -export WAF_NO_PREFORK="yes" - -EXTRA_OECONF += "--disable-rpath \ - --disable-rpath-install \ - --bundled-libraries=cmocka \ - --builtin-libraries=replace \ - --with-modulesdir=${libdir}/ldb/modules \ - --with-privatelibdir=${libdir}/ldb \ - --with-libiconv=${STAGING_DIR_HOST}${prefix}\ - " - -PACKAGES =+ "pyldb pyldb-dbg pyldb-dev" - -NOAUTOPACKAGEDEBUG = "1" - -FILES:${PN} += "${libdir}/ldb/*" -FILES:${PN}-dbg += "${bindir}/.debug/* \ - ${libdir}/.debug/* \ - ${libdir}/ldb/.debug/* \ - ${libdir}/ldb/modules/ldb/.debug/*" - -FILES:pyldb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \ - ${libdir}/libpyldb-util.*.so.* \ - " -FILES:pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \ - ${libdir}/.debug/libpyldb-util.*.so.*" -FILES:pyldb-dev = "${libdir}/libpyldb-util.*.so" - -# Prevent third_party/waf/waflib/Configure.py checking host's path which is -# incorrect for cross building. -export PREFIX = "/" -export LIBDIR = "${libdir}" -export BINDIR = "${bindir}" - -do_configure:prepend() { - # For a clean rebuild - rm -fr bin/ -} diff --git a/meta-networking/recipes-support/libldb/libldb_2.3.4.bb b/meta-networking/recipes-support/libldb/libldb_2.3.4.bb new file mode 100644 index 00000000000..af5f0427d47 --- /dev/null +++ b/meta-networking/recipes-support/libldb/libldb_2.3.4.bb @@ -0,0 +1,81 @@ +SUMMARY = "Hierarchical, reference counted memory pool system with destructors" +HOMEPAGE = "http://ldb.samba.org" +SECTION = "libs" +LICENSE = "LGPL-3.0-or-later & LGPL-2.1-or-later & GPL-3.0-or-later" + +DEPENDS += "libtdb libtalloc libtevent popt" +RDEPENDS:pyldb += "python3" + +SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \ + file://0001-do-not-import-target-module-while-cross-compile.patch \ + file://0002-ldb-Add-configure-options-for-packages.patch \ + file://0001-Fix-pyext_PATTERN-for-cross-compilation.patch \ + file://libldb-fix-musl-libc-conflict-type-error.patch \ + " + +PACKAGECONFIG ??= "\ + ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \ +" +PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl" +PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr" +PACKAGECONFIG[ldap] = ",,openldap" +PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio" +PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd" +PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap" +PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind" +PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb," + +SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'ldap', '', 'file://0003-avoid-openldap-unless-wanted.patch', d)}" + +LIC_FILES_CHKSUM = "file://pyldb.h;endline=24;md5=dfbd238cecad76957f7f860fbe9adade \ + file://man/ldb.3.xml;beginline=261;endline=262;md5=137f9fd61040c1505d1aa1019663fd08 \ + file://tools/ldbdump.c;endline=19;md5=a7d4fc5d1f75676b49df491575a86a42" + +SRC_URI[md5sum] = "b01d6913a06901c22c5bc6caedc548ac" +SRC_URI[sha256sum] = "f2e88dcab7b6007d92724b62f8a16e7c6e77275885c60eb4f87097e4aa4082c1" + +inherit pkgconfig waf-samba + +S = "${WORKDIR}/ldb-${PV}" + +#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen +#to cross Popen +export WAF_NO_PREFORK="yes" + +EXTRA_OECONF += "--disable-rpath \ + --disable-rpath-install \ + --bundled-libraries=cmocka \ + --builtin-libraries=replace \ + --with-modulesdir=${libdir}/ldb/modules \ + --with-privatelibdir=${libdir}/ldb \ + --with-libiconv=${STAGING_DIR_HOST}${prefix}\ + " + +PACKAGES =+ "pyldb pyldb-dbg pyldb-dev" + +NOAUTOPACKAGEDEBUG = "1" + +FILES:${PN} += "${libdir}/ldb/*" +FILES:${PN}-dbg += "${bindir}/.debug/* \ + ${libdir}/.debug/* \ + ${libdir}/ldb/.debug/* \ + ${libdir}/ldb/modules/ldb/.debug/*" + +FILES:pyldb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \ + ${libdir}/libpyldb-util.*.so.* \ + " +FILES:pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \ + ${libdir}/.debug/libpyldb-util.*.so.*" +FILES:pyldb-dev = "${libdir}/libpyldb-util.*.so" + +# Prevent third_party/waf/waflib/Configure.py checking host's path which is +# incorrect for cross building. +export PREFIX = "/" +export LIBDIR = "${libdir}" +export BINDIR = "${bindir}" + +do_configure:prepend() { + # For a clean rebuild + rm -fr bin/ +} diff --git a/meta-networking/recipes-support/linux-atm/linux-atm/0001-configure-Check-for-symbol-from-libresolv-instead-of.patch b/meta-networking/recipes-support/linux-atm/linux-atm/0001-configure-Check-for-symbol-from-libresolv-instead-of.patch new file mode 100644 index 00000000000..abae366d28f --- /dev/null +++ b/meta-networking/recipes-support/linux-atm/linux-atm/0001-configure-Check-for-symbol-from-libresolv-instead-of.patch @@ -0,0 +1,28 @@ +From a2a2e1b7a3f4f90e32912b5ba9b79e1a02275775 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 1 Sep 2022 11:17:13 -0700 +Subject: [PATCH] configure: Check for symbol from libresolv instead of main + +This checks will fail with modern autoconf and compilers + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/configure.in ++++ b/configure.in +@@ -45,12 +45,7 @@ AC_CHECK_HEADER(linux/atmsap.h, , + ) + + dnl Check for libraries +-dnl libresolv is required +-AC_CHECK_LIB(resolv, main, , +- AC_MSG_ERROR([*** Unable to find libresolv!!!]) +-) + +-dnl We don't want libresolv everywhere, just with libatm + LIBS="" + + INCLUDES="-I\$(top_srcdir)/src/include" diff --git a/meta-networking/recipes-support/linux-atm/linux-atm/0001-include-string-h-from-memcpy-and-strcpy-function-pro.patch b/meta-networking/recipes-support/linux-atm/linux-atm/0001-include-string-h-from-memcpy-and-strcpy-function-pro.patch new file mode 100644 index 00000000000..81c5efd1731 --- /dev/null +++ b/meta-networking/recipes-support/linux-atm/linux-atm/0001-include-string-h-from-memcpy-and-strcpy-function-pro.patch @@ -0,0 +1,87 @@ +From 5217cb7c829cf87771096c4ce41fd4648dca47cb Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 29 Aug 2022 16:36:21 -0700 +Subject: [PATCH] include string,h from memcpy and strcpy function prototype + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/led/address.c | 1 + + src/led/display.c | 1 + + src/lib/unix.c | 1 + + src/maint/hediag.c | 1 + + src/sigd/kernel.c | 1 + + src/sigd/policy.c | 1 + + 6 files changed, 6 insertions(+) + +diff --git a/src/led/address.c b/src/led/address.c +index 574e881..b5c5fbb 100644 +--- a/src/led/address.c ++++ b/src/led/address.c +@@ -31,6 +31,7 @@ + #endif + + #include ++#include + #include + #include + +diff --git a/src/led/display.c b/src/led/display.c +index d78a15d..b835e89 100644 +--- a/src/led/display.c ++++ b/src/led/display.c +@@ -5,6 +5,7 @@ + #if HAVE_CONFIG_H + #include + #endif ++#include + + #include + #include +diff --git a/src/lib/unix.c b/src/lib/unix.c +index 34aa465..d5bef54 100644 +--- a/src/lib/unix.c ++++ b/src/lib/unix.c +@@ -8,6 +8,7 @@ + + #include + #include ++#include + #include + #include + #include +diff --git a/src/maint/hediag.c b/src/maint/hediag.c +index 8a4312a..a4f792f 100644 +--- a/src/maint/hediag.c ++++ b/src/maint/hediag.c +@@ -1,5 +1,6 @@ + #include + #include ++#include + #include + #include + #include +diff --git a/src/sigd/kernel.c b/src/sigd/kernel.c +index 9ee74b1..2491626 100644 +--- a/src/sigd/kernel.c ++++ b/src/sigd/kernel.c +@@ -8,6 +8,7 @@ + + #include + #include ++#include + #include + #include + +diff --git a/src/sigd/policy.c b/src/sigd/policy.c +index 2cfb42d..87223a7 100644 +--- a/src/sigd/policy.c ++++ b/src/sigd/policy.c +@@ -6,6 +6,7 @@ + #include + #endif + ++#include + #include + #include + diff --git a/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb b/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb index bb79b785687..86b9112ba22 100644 --- a/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb +++ b/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb @@ -14,7 +14,9 @@ SRC_URI = "http://nchc.dl.sourceforge.net/project/${BPN}/${BPN}/${PV}/${BPN}-${P file://0001-IFNAMSIZ-is-defined-in-net-if.h.patch \ file://0001-saaldump-atmdump-Include-linux-sockios.h-for-SIOCGST.patch \ file://0001-make-Add-PREFIX-knob.patch \ -" + file://0001-include-string-h-from-memcpy-and-strcpy-function-pro.patch \ + file://0001-configure-Check-for-symbol-from-libresolv-instead-of.patch \ + " SRC_URI:append:libc-musl = " file://musl-no-on_exit.patch" diff --git a/meta-networking/recipes-support/mctp/mctp_git.bb b/meta-networking/recipes-support/mctp/mctp_git.bb index 602724da341..9e97a6a60aa 100644 --- a/meta-networking/recipes-support/mctp/mctp_git.bb +++ b/meta-networking/recipes-support/mctp/mctp_git.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=4cc91856b08b094b4f406a29dc61db21" PV = "1.0+git${SRCPV}" -SRCREV = "669740432af525c19a6a41cec777406fbbc24836" +SRCREV = "ae3a9162d6c5df0fa50abc34fc951dfd0e3d23c5" SRC_URI = "git://github.com/CodeConstruct/mctp;branch=main;protocol=https" @@ -22,13 +22,16 @@ PACKAGECONFIG ??= " \ # mctpd will only be built if pkg-config detects libsystemd; in which case # we'll want to declare the dep and install the service. PACKAGECONFIG[systemd] = ",,systemd,libsystemd" -SYSTEMD_SERVICE:${PN} = "mctpd.service" +SYSTEMD_SERVICE:${PN} = "mctpd.service mctp.target mctp-local.target" +SYSTEMD_AUTO_ENABLE_${PN} = "enable" do_install:append () { if ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'true', 'false', d)}; then install -d ${D}${systemd_system_unitdir} install -m 0644 ${S}/conf/mctpd.service \ ${D}${systemd_system_unitdir}/mctpd.service + install -m 0644 ${S}/conf/*.target \ + ${D}${systemd_system_unitdir}/ install -d ${D}${datadir}/dbus-1/system.d install -m 0644 ${S}/conf/mctpd-dbus.conf \ ${D}${datadir}/dbus-1/system.d/mctpd.conf diff --git a/meta-networking/recipes-support/mdio-tools/mdio-netlink_git.bb b/meta-networking/recipes-support/mdio-tools/mdio-netlink_1.2.0.bb similarity index 100% rename from meta-networking/recipes-support/mdio-tools/mdio-netlink_git.bb rename to meta-networking/recipes-support/mdio-tools/mdio-netlink_1.2.0.bb diff --git a/meta-networking/recipes-support/mdio-tools/mdio-tools.inc b/meta-networking/recipes-support/mdio-tools/mdio-tools.inc index a8a435fadd1..7afe1c56bd4 100644 --- a/meta-networking/recipes-support/mdio-tools/mdio-tools.inc +++ b/meta-networking/recipes-support/mdio-tools/mdio-tools.inc @@ -5,5 +5,4 @@ LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://${WORKDIR}/git/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "git://github.com/wkz/mdio-tools.git;protocol=https;branch=master" -SRCREV = "07cbff2d5e2de05037e5e7edd5044d678394c8d1" -PV = "1.1.1" +SRCREV = "ee47c32d958ae0dcb9900b3b06654a8c08001331" diff --git a/meta-networking/recipes-support/mdio-tools/mdio-tools_git.bb b/meta-networking/recipes-support/mdio-tools/mdio-tools_1.2.0.bb similarity index 100% rename from meta-networking/recipes-support/mdio-tools/mdio-tools_git.bb rename to meta-networking/recipes-support/mdio-tools/mdio-tools_1.2.0.bb diff --git a/meta-networking/recipes-support/memcached/memcached/0001-Fix-function-protypes.patch b/meta-networking/recipes-support/memcached/memcached/0001-Fix-function-protypes.patch new file mode 100644 index 00000000000..15ef54f80ea --- /dev/null +++ b/meta-networking/recipes-support/memcached/memcached/0001-Fix-function-protypes.patch @@ -0,0 +1,110 @@ +From 6021d3d60e64d9174f41515d2d962df9b5d7645e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 29 Aug 2022 17:15:28 -0700 +Subject: [PATCH] Fix function protypes + +clang-15+ has started diagnosing them as errors + +thread.c:925:18: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] +| void STATS_UNLOCK() { +| ^ +| void + +Upstream-Status: Submitted [https://github.com/memcached/memcached/pull/928] +Signed-off-by: Khem Raj +--- + assoc.c | 4 ++-- + memcached.c | 4 ++-- + slabs.c | 2 +- + testapp.c | 2 +- + thread.c | 4 ++-- + 5 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/assoc.c b/assoc.c +index bc68695..01063a9 100644 +--- a/assoc.c ++++ b/assoc.c +@@ -261,7 +261,7 @@ static void *assoc_maintenance_thread(void *arg) { + + static pthread_t maintenance_tid; + +-int start_assoc_maintenance_thread() { ++int start_assoc_maintenance_thread(void) { + int ret; + char *env = getenv("MEMCACHED_HASH_BULK_MOVE"); + if (env != NULL) { +@@ -279,7 +279,7 @@ int start_assoc_maintenance_thread() { + return 0; + } + +-void stop_assoc_maintenance_thread() { ++void stop_assoc_maintenance_thread(void) { + mutex_lock(&maintenance_lock); + do_run_maintenance_thread = 0; + pthread_cond_signal(&maintenance_cond); +diff --git a/memcached.c b/memcached.c +index 7871fe8..4d3b54a 100644 +--- a/memcached.c ++++ b/memcached.c +@@ -84,7 +84,7 @@ static int try_read_command_udp(conn *c); + static enum try_read_result try_read_network(conn *c); + static enum try_read_result try_read_udp(conn *c); + +-static int start_conn_timeout_thread(); ++static int start_conn_timeout_thread(void); + + /* stats */ + static void stats_init(void); +@@ -374,7 +374,7 @@ static void *conn_timeout_thread(void *arg) { + return NULL; + } + +-static int start_conn_timeout_thread() { ++static int start_conn_timeout_thread(void) { + int ret; + + if (settings.idle_timeout == 0) +diff --git a/slabs.c b/slabs.c +index 3c78d8a..0dadd35 100644 +--- a/slabs.c ++++ b/slabs.c +@@ -638,7 +638,7 @@ static void *memory_allocate(size_t size) { + } + + /* Must only be used if all pages are item_size_max */ +-static void memory_release() { ++static void memory_release(void) { + void *p = NULL; + if (mem_base != NULL) + return; +diff --git a/testapp.c b/testapp.c +index 5face54..387a847 100644 +--- a/testapp.c ++++ b/testapp.c +@@ -80,7 +80,7 @@ static struct conn *con = NULL; + static bool allow_closed_read = false; + static bool enable_ssl = false; + +-static void close_conn() { ++static void close_conn(void) { + if (con == NULL) return; + #ifdef TLS + if (con->ssl) { +diff --git a/thread.c b/thread.c +index d5ed052..f5efdc3 100644 +--- a/thread.c ++++ b/thread.c +@@ -918,11 +918,11 @@ enum store_item_type store_item(item *item, int comm, conn* c) { + + /******************************* GLOBAL STATS ******************************/ + +-void STATS_LOCK() { ++void STATS_LOCK(void) { + pthread_mutex_lock(&stats_lock); + } + +-void STATS_UNLOCK() { ++void STATS_UNLOCK(void) { + pthread_mutex_unlock(&stats_lock); + } + diff --git a/meta-networking/recipes-support/memcached/memcached_1.6.15.bb b/meta-networking/recipes-support/memcached/memcached_1.6.15.bb deleted file mode 100644 index b28bfe72b73..00000000000 --- a/meta-networking/recipes-support/memcached/memcached_1.6.15.bb +++ /dev/null @@ -1,51 +0,0 @@ -SUMMARY = "A high-performance memory object caching system" -DESCRIPTION = "\ - memcached optimizes specific high-load serving applications that are designed \ - to take advantage of its versatile no-locking memory access system. Clients \ - are available in several different programming languages, to suit the needs \ - of the specific application. Traditionally this has been used in mod_perl \ - apps to avoid storing large chunks of data in Apache memory, and to share \ - this burden across several machines." -SECTION = "web" -HOMEPAGE = "http://memcached.org/" -LICENSE = "BSD-3-Clause" - -LIC_FILES_CHKSUM = "file://COPYING;md5=7e5ded7363d335e1bb18013ca08046ff" - -inherit autotools - -DEPENDS += "libevent" -RDEPENDS:${PN} += "perl perl-module-posix perl-module-autoloader \ - perl-module-tie-hash bash \ - " - -SRC_URI = "http://www.memcached.org/files/${BP}.tar.gz \ - file://memcached-add-hugetlbfs-check.patch \ - " -SRC_URI[sha256sum] = "8d7abe3d649378edbba16f42ef1d66ca3f2ac075f2eb97145ce164388e6ed515" - -# set the same COMPATIBLE_HOST as libhugetlbfs -COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|aarch64|arm).*-linux*" - -python __anonymous () { - endianness = d.getVar('SITEINFO_ENDIANNESS') - if endianness == 'le': - d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=little") - else: - d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=big") -} - -PACKAGECONFIG ??= "" -PACKAGECONFIG[hugetlbfs] = "--enable-hugetlbfs, --disable-hugetlbfs, libhugetlbfs" - -inherit update-rc.d - -INITSCRIPT_NAME = "memcached" -INITSCRIPT_PARAMS = "defaults" - -do_install:append() { - install -D -m 755 ${S}/scripts/memcached-init ${D}${sysconfdir}/init.d/memcached - mkdir -p ${D}/usr/share/memcached/scripts - install -m 755 ${S}/scripts/memcached-tool ${D}/usr/share/memcached/scripts - install -m 755 ${S}/scripts/start-memcached ${D}/usr/share/memcached/scripts -} diff --git a/meta-networking/recipes-support/memcached/memcached_1.6.17.bb b/meta-networking/recipes-support/memcached/memcached_1.6.17.bb new file mode 100644 index 00000000000..270ad5486d1 --- /dev/null +++ b/meta-networking/recipes-support/memcached/memcached_1.6.17.bb @@ -0,0 +1,55 @@ +SUMMARY = "A high-performance memory object caching system" +DESCRIPTION = "\ + memcached optimizes specific high-load serving applications that are designed \ + to take advantage of its versatile no-locking memory access system. Clients \ + are available in several different programming languages, to suit the needs \ + of the specific application. Traditionally this has been used in mod_perl \ + apps to avoid storing large chunks of data in Apache memory, and to share \ + this burden across several machines." +SECTION = "web" +HOMEPAGE = "http://memcached.org/" +LICENSE = "BSD-3-Clause" + +LIC_FILES_CHKSUM = "file://COPYING;md5=7e5ded7363d335e1bb18013ca08046ff" + +inherit autotools pkgconfig + +DEPENDS += "libevent" +RDEPENDS:${PN} += "perl perl-module-posix perl-module-autoloader \ + perl-module-tie-hash bash \ + " + +SRC_URI = "http://www.memcached.org/files/${BP}.tar.gz \ + file://memcached-add-hugetlbfs-check.patch \ + file://0001-Fix-function-protypes.patch \ + " +SRC_URI[sha256sum] = "2055e373613d8fc21529aff9f0adce3e23b9ce01ba0478d30e7941d9f2bd1224" + +# set the same COMPATIBLE_HOST as libhugetlbfs +COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|aarch64|arm).*-linux*" + +# assoc.c:83:9: error: variable 'depth' set but not used [-Werror,-Wunused-but-set-variable] +CFLAGS:append:toolchain-clang = " -Wno-error=unused-but-set-variable" + +python __anonymous () { + endianness = d.getVar('SITEINFO_ENDIANNESS') + if endianness == 'le': + d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=little") + else: + d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=big") +} + +PACKAGECONFIG ??= "" +PACKAGECONFIG[hugetlbfs] = "--enable-hugetlbfs, --disable-hugetlbfs, libhugetlbfs" + +inherit update-rc.d + +INITSCRIPT_NAME = "memcached" +INITSCRIPT_PARAMS = "defaults" + +do_install:append() { + install -D -m 755 ${S}/scripts/memcached-init ${D}${sysconfdir}/init.d/memcached + mkdir -p ${D}/usr/share/memcached/scripts + install -m 755 ${S}/scripts/memcached-tool ${D}/usr/share/memcached/scripts + install -m 755 ${S}/scripts/start-memcached ${D}/usr/share/memcached/scripts +} diff --git a/meta-networking/recipes-support/nbdkit/nbdkit_1.32.1.bb b/meta-networking/recipes-support/nbdkit/nbdkit_1.32.1.bb deleted file mode 100644 index 56034ac422c..00000000000 --- a/meta-networking/recipes-support/nbdkit/nbdkit_1.32.1.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "nbdkit is a toolkit for creating NBD servers." -DESCRIPTION = "NBD — Network Block Device — is a protocol \ -for accessing Block Devices (hard disks and disk-like things) \ -over a Network. \ -\ -nbdkit is a toolkit for creating NBD servers." - -HOMEPAGE = "https://github.com/libguestfs/nbdkit" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f9dcc2d8acdde215fa4bd6ac12bb14f0" - -SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https;branch=master \ -" -SRCREV = "ea58c4f8a5475de6141f14dd0e37067ac8a7370a" - -S = "${WORKDIR}/git" - -DEPENDS = "curl xz e2fsprogs zlib" - -# autotools-brokensep is needed as nbdkit does not support build in external directory -inherit pkgconfig python3native perlnative bash-completion autotools-brokensep - -# Those are required to build standalone -EXTRA_OECONF = " --without-libvirt --without-libguestfs --disable-perl" - -# Disable some extended support (not desired for small embedded systems) -#EXTRA_OECONF += " --disable-python" -#EXTRA_OECONF += " --disable-ocaml" -#EXTRA_OECONF += " --disable-rust" -#EXTRA_OECONF += " --disable-ruby" -#EXTRA_OECONF += " --disable-tcl" -#EXTRA_OECONF += " --disable-lua" -#EXTRA_OECONF += " --disable-vddk" diff --git a/meta-networking/recipes-support/nbdkit/nbdkit_1.33.2.bb b/meta-networking/recipes-support/nbdkit/nbdkit_1.33.2.bb new file mode 100644 index 00000000000..ad7b9a6fab6 --- /dev/null +++ b/meta-networking/recipes-support/nbdkit/nbdkit_1.33.2.bb @@ -0,0 +1,33 @@ +SUMMARY = "nbdkit is a toolkit for creating NBD servers." +DESCRIPTION = "NBD — Network Block Device — is a protocol \ +for accessing Block Devices (hard disks and disk-like things) \ +over a Network. \ +\ +nbdkit is a toolkit for creating NBD servers." + +HOMEPAGE = "https://github.com/libguestfs/nbdkit" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f9dcc2d8acdde215fa4bd6ac12bb14f0" + +SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https;branch=master \ +" +SRCREV = "9e2fdefc1ba4c883c5e6aa4f32ab21777980a978" + +S = "${WORKDIR}/git" + +DEPENDS = "curl xz e2fsprogs zlib" + +# autotools-brokensep is needed as nbdkit does not support build in external directory +inherit pkgconfig python3native perlnative bash-completion autotools-brokensep + +# Those are required to build standalone +EXTRA_OECONF = " --without-libvirt --without-libguestfs --disable-perl" + +# Disable some extended support (not desired for small embedded systems) +#EXTRA_OECONF += " --disable-python" +#EXTRA_OECONF += " --disable-ocaml" +#EXTRA_OECONF += " --disable-rust" +#EXTRA_OECONF += " --disable-ruby" +#EXTRA_OECONF += " --disable-tcl" +#EXTRA_OECONF += " --disable-lua" +#EXTRA_OECONF += " --disable-vddk" diff --git a/meta-networking/recipes-support/nis/ypbind-mt/0001-Add-configure-time-check-for-gettid-API.patch b/meta-networking/recipes-support/nis/ypbind-mt/0001-Add-configure-time-check-for-gettid-API.patch deleted file mode 100644 index 9484d0b007c..00000000000 --- a/meta-networking/recipes-support/nis/ypbind-mt/0001-Add-configure-time-check-for-gettid-API.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 25d5daf30aa2dc451ba528712f668036d8506054 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 27 Jul 2019 07:50:26 -0700 -Subject: [PATCH] Add configure time check for gettid API - -glibc 2.30 has added this syscalls wrapper - -Signed-off-by: Khem Raj ---- - configure.ac | 1 + - src/log_msg.c | 2 ++ - 2 files changed, 3 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 9e32a4a..6d1067b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -33,6 +33,7 @@ if test -n "$TIRPC_LIBS"; then - AC_DEFINE(HAVE_TIRPC, 1, [Define to 1 if TIRPC is available]) - fi - -+AC_CHECK_FUNCS(gettid) - dnl The difficult part: could we reconfigure NSS or must we use DNS ? - AC_CHECK_FUNCS(__nss_configure_lookup) - if eval "test \"`echo '$ac_cv_func___nss_configure_lookup'`\" != yes"; then -diff --git a/src/log_msg.c b/src/log_msg.c -index 49f0905..37da311 100644 ---- a/src/log_msg.c -+++ b/src/log_msg.c -@@ -26,6 +26,7 @@ - #include "log_msg.h" - - #include -+#if !HAVE_GETTID - #ifdef __NR_gettid - static pid_t - gettid (void) -@@ -39,6 +40,7 @@ gettid (void) - return getpid (); - } - #endif -+#endif - - int debug_flag = 0; - int logfile_flag = 0; diff --git a/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb b/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb deleted file mode 100644 index 2c5e2bd9392..00000000000 --- a/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb +++ /dev/null @@ -1,63 +0,0 @@ -# This package builds the NIS ypbind daemon -# The source package is utils/net/NIS/ypbind-mt -# -require nis.inc - -DESCRIPTION = " \ -Multithreaded NIS bind service (ypbind-mt). \ -ypbind-mt is a complete new implementation of a NIS \ -binding daemon for Linux. It has the following \ -features. Supports ypbind protocol V1 and V2. \ -Uses threads for better response. Supports multiple \ -domain bindings. Supports /var/yp/binding/* file \ -for Linux libc 4/5 and glibc 2.x. Supports a list \ -of known secure NIS server (/etc/yp.conf) Binds to \ -the server which answered as first. \ -\ -This is the final IPv4-only version of ypbind-mt. \ -" -HOMEPAGE = "https://github.com/thkukuk/ypbind-mt/" -DEPENDS = " \ - yp-tools \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ - " -DEPENDS:append:libc-musl = " bsd-headers nss" -RDEPENDS:${PN} += "yp-tools" - -# ypbind-mt now provides all the functionality of ypbind -# and is used in place of it. -PROVIDES += "ypbind" - -SRC_URI = "https://github.com/thkukuk/ypbind-mt/releases/download/v${PV}/${BPN}-${PV}.tar.xz \ - file://ypbind.init \ - file://ypbind.service \ - file://0001-dns_hosts-Fix-build-with-musl.patch \ - file://0001-Add-configure-time-check-for-gettid-API.patch \ - " -SRC_URI[md5sum] = "7cf89641fdc128d0919207e4b7caaf1d" -SRC_URI[sha256sum] = "0696c0263c4fd48a4ff2ce6c109f05f37aab0f71646d81cb22c7c28591bf80eb" - -inherit systemd update-rc.d - -SYSTEMD_SERVICE:${PN} = "ypbind.service" -INITSCRIPT_NAME = "ypbind" -INITSCRIPT_PARAMS = "start 44 3 5 . stop 70 0 1 2 6 ." - -CACHED_CONFIGUREVARS = "ac_cv_prog_STRIP=/bin/true" - -CFLAGS:append = " -I${STAGING_INCDIR}/nss3 -I${STAGING_INCDIR}/nspr" - -do_install:append () { - install -d ${D}${sysconfdir}/init.d - install -d ${D}${sysconfdir}/rcS.d - - install -m 0755 ${WORKDIR}/ypbind.init ${D}${sysconfdir}/init.d/ypbind - - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/ypbind.service ${D}${systemd_unitdir}/system -} - - -RPROVIDES:${PN} += "${PN}-systemd" -RREPLACES:${PN} += "${PN}-systemd" -RCONFLICTS:${PN} += "${PN}-systemd" diff --git a/meta-networking/recipes-support/nis/ypbind-mt_2.7.2.bb b/meta-networking/recipes-support/nis/ypbind-mt_2.7.2.bb new file mode 100644 index 00000000000..a95062bc8b7 --- /dev/null +++ b/meta-networking/recipes-support/nis/ypbind-mt_2.7.2.bb @@ -0,0 +1,63 @@ +# This package builds the NIS ypbind daemon +# The source package is utils/net/NIS/ypbind-mt +# +require nis.inc + +DESCRIPTION = " \ +Multithreaded NIS bind service (ypbind-mt). \ +ypbind-mt is a complete new implementation of a NIS \ +binding daemon for Linux. It has the following \ +features. Supports ypbind protocol V1 and V2. \ +Uses threads for better response. Supports multiple \ +domain bindings. Supports /var/yp/binding/* file \ +for Linux libc 4/5 and glibc 2.x. Supports a list \ +of known secure NIS server (/etc/yp.conf) Binds to \ +the server which answered as first. \ +\ +This is the final IPv4-only version of ypbind-mt. \ +" +HOMEPAGE = "https://github.com/thkukuk/ypbind-mt/" +DEPENDS = " \ + yp-tools \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ + " +DEPENDS:append:libc-musl = " bsd-headers nss" +RDEPENDS:${PN} += "yp-tools" + +# ypbind-mt now provides all the functionality of ypbind +# and is used in place of it. +PROVIDES += "ypbind" + +SRC_URI = "https://github.com/thkukuk/ypbind-mt/releases/download/v${PV}/${BPN}-${PV}.tar.xz \ + file://0001-dns_hosts-Fix-build-with-musl.patch \ + file://ypbind.init \ + file://ypbind.service \ + " +SRC_URI[sha256sum] = "064f2f185673c5493df83f6400b799f3a359de56118b6ba37c4327111f2fcd8b" + +inherit systemd update-rc.d + +SYSTEMD_SERVICE:${PN} = "ypbind.service" +INITSCRIPT_NAME = "ypbind" +INITSCRIPT_PARAMS = "start 44 3 5 . stop 70 0 1 2 6 ." + +CACHED_CONFIGUREVARS = "ac_cv_prog_STRIP=/bin/true" + +CFLAGS:append = " -I${STAGING_INCDIR}/nss3 -I${STAGING_INCDIR}/nspr" + +do_install:append () { + install -d ${D}${sysconfdir}/init.d + install -d ${D}${sysconfdir}/rcS.d + + install -m 0755 ${WORKDIR}/ypbind.init ${D}${sysconfdir}/init.d/ypbind + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/ypbind.service ${D}${systemd_unitdir}/system +} + +# uses glibc internal APIs e.g. _hostalias +COMPATIBLE_HOST:libc-musl = "null" + +RPROVIDES:${PN} += "${PN}-systemd" +RREPLACES:${PN} += "${PN}-systemd" +RCONFLICTS:${PN} += "${PN}-systemd" diff --git a/meta-networking/recipes-support/ntp/ntp/0001-sntp-Fix-types-in-check-for-pthread_detach.patch b/meta-networking/recipes-support/ntp/ntp/0001-sntp-Fix-types-in-check-for-pthread_detach.patch new file mode 100644 index 00000000000..ca15470aceb --- /dev/null +++ b/meta-networking/recipes-support/ntp/ntp/0001-sntp-Fix-types-in-check-for-pthread_detach.patch @@ -0,0 +1,33 @@ +From 864f43ae09d18b1114d5c894e836698743e4e44c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 6 Sep 2022 21:36:35 -0700 +Subject: [PATCH] sntp: Fix types in check for pthread_detach + +New compilers are stricter and flag assigning NULL to pthread_t as error +therefore using a pthread_t variable constructed from -1 + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + sntp/m4/openldap-thread-check.m4 | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/sntp/m4/openldap-thread-check.m4 b/sntp/m4/openldap-thread-check.m4 +index 7768a5c..b9e54ad 100644 +--- a/sntp/m4/openldap-thread-check.m4 ++++ b/sntp/m4/openldap-thread-check.m4 +@@ -262,10 +262,7 @@ pthread_rwlock_t rwlock; + dnl save the flags + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + #include +-#ifndef NULL +-#define NULL (void*)0 +-#endif +-]], [[pthread_detach(NULL);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no]) ++]], [[pthread_detach((pthread_t)-1);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no]) + ]) + + if test $ol_cv_func_pthread_detach = no ; then +-- +2.37.3 + diff --git a/meta-networking/recipes-support/ntp/ntp_4.2.8p15.bb b/meta-networking/recipes-support/ntp/ntp_4.2.8p15.bb index a30f720bb5b..2ae53dc640d 100644 --- a/meta-networking/recipes-support/ntp/ntp_4.2.8p15.bb +++ b/meta-networking/recipes-support/ntp/ntp_4.2.8p15.bb @@ -15,6 +15,7 @@ SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.g file://reproducibility-fixed-path-to-posix-shell.patch \ file://0001-libntp-Do-not-use-PTHREAD_STACK_MIN-on-glibc.patch \ file://0001-test-Fix-build-with-new-compiler-defaults-to-fno-com.patch \ + file://0001-sntp-Fix-types-in-check-for-pthread_detach.patch \ file://ntpd \ file://ntp.conf \ file://ntpdate \ @@ -138,8 +139,9 @@ PACKAGES += "ntpdate sntp ntpdc ntpq ${PN}-tickadj ${PN}-utils" # ntp originally includes tickadj. It's split off for inclusion in small firmware images on platforms # with wonky clocks (e.g. OpenSlug) RDEPENDS:${PN} = "${PN}-tickadj" -# ntpd require libgcc for execution +# ntpd & sntp require libgcc for execution due to phtread_cancel/pthread_exit calls RDEPENDS:${PN} += "libgcc" +RDEPENDS:sntp += "libgcc" # Handle move from bin to utils package RPROVIDES:${PN}-utils = "${PN}-bin" RREPLACES:${PN}-utils = "${PN}-bin" diff --git a/meta-networking/recipes-support/ntpsec/ntpsec/0001-wscript-Widen-the-search-for-tags.patch b/meta-networking/recipes-support/ntpsec/ntpsec/0001-wscript-Widen-the-search-for-tags.patch new file mode 100644 index 00000000000..98c62eed497 --- /dev/null +++ b/meta-networking/recipes-support/ntpsec/ntpsec/0001-wscript-Widen-the-search-for-tags.patch @@ -0,0 +1,29 @@ +From 9a7dead72f41e79979625c9bdef2fb638427d3d6 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 22 Aug 2022 20:54:17 -0700 +Subject: [PATCH] wscript: Widen the search for tags + +Default is to look for annotated tags, howveer when using devtool we +create our own git tree from release tarballs which will have tags but +they are not annotated, therefore broaden the search to include all tags + +Upstream-Status: Inappropriate [OE-specific] + +Signed-off-by: Khem Raj +--- + wscript | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/wscript b/wscript +index 879ded1..dff835d 100644 +--- a/wscript ++++ b/wscript +@@ -177,7 +177,7 @@ def configure(ctx): + if build_desc: + build_desc = ' ' + build_desc + if ctx.env.BIN_GIT: +- cmd = ctx.env.BIN_GIT + shlex.split("describe --dirty") ++ cmd = ctx.env.BIN_GIT + shlex.split("describe --tags --dirty") + git_short_hash = ctx.cmd_and_log(cmd).strip() + git_short_hash = '-'.join(git_short_hash.split('-')[1:]) + diff --git a/meta-networking/recipes-support/ntpsec/ntpsec_1.2.1.bb b/meta-networking/recipes-support/ntpsec/ntpsec_1.2.1.bb index cd8b396f192..e975f903f93 100644 --- a/meta-networking/recipes-support/ntpsec/ntpsec_1.2.1.bb +++ b/meta-networking/recipes-support/ntpsec/ntpsec_1.2.1.bb @@ -16,7 +16,9 @@ SRC_URI = "https://ftp.ntpsec.org/pub/releases/ntpsec-${PV}.tar.gz \ file://0001-ntpd-ntp_sandbox.c-allow-clone3-for-glibc-2.34-in-se.patch \ file://0001-ntpd-ntp_sandbox.c-allow-newfstatat-on-all-archs-for.patch \ file://0002-ntpd-ntp_sandbox.c-match-riscv-to-aarch-in-seccomp-f.patch \ - file://volatiles.ntpsec" + file://volatiles.ntpsec \ + file://0001-wscript-Widen-the-search-for-tags.patch \ + " SRC_URI[sha256sum] = "f2684835116c80b8f21782a5959a805ba3c44e3a681dd6c17c7cb00cc242c27a" @@ -56,7 +58,7 @@ export PYTAG = "cpython${@ d.getVar('PYTHON_BASEVERSION').replace('.', '')}" export pyext_PATTERN = "%s.so" export PYTHON_LDFLAGS = "-lpthread -ldl" -CFLAGS:append = " -I${PYTHON_INCLUDE_DIR}" +CFLAGS:append = " -I${PYTHON_INCLUDE_DIR} -D_GNU_SOURCE" EXTRA_OECONF = "--cross-compiler='${CC}' \ --cross-cflags='${CFLAGS}' \ diff --git a/meta-networking/recipes-support/open-isns/open-isns_0.101.bb b/meta-networking/recipes-support/open-isns/open-isns_0.101.bb deleted file mode 100644 index f2a084d6355..00000000000 --- a/meta-networking/recipes-support/open-isns/open-isns_0.101.bb +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright (C) 2016 Joe MacDonald -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "iSNS daemon and utility programs" -DESCRIPTION = "This is a partial implementation of RFC4171, the Internet \ -Storage Name Service (iSNS). The distribution includes the iSNS server, \ -supporting persisten storage of registrations, isnsadm, a command line \ -utility for managing nodes, and isnsdd, a corresponding discovery daemon." -HOMEPAGE = "http://github.com/gonzoleeman/open-isns/" -LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785" -SECTION = "net" - -DEPENDS = "openssl" - -SRC_URI = "git://github.com/open-iscsi/open-isns;branch=master;protocol=https \ - file://0001-isnsd.socket-use-run-instead-of-var-run.patch \ - " - -SRCREV = "0d86dc31fae2e2d77a082ccea5aba95426b40c3c" - -S = "${WORKDIR}/git" - -inherit systemd autotools-brokensep update-rc.d - -EXTRA_OECONF = " --prefix=${prefix} --enable-shared" -EXTRA_OEMAKE += "SYSTEMDDIR=${D}${systemd_unitdir}/system" - -do_install:append () { - oe_runmake INCDIR=${D}${includedir}/libisns/ install_hdrs - oe_runmake LIBDIR=${D}${libdir} install_lib - - install -D -m 755 ${S}/etc/openisns.init ${D}${sysconfdir}/init.d/openisns - sed -i 's|daemon isnsd|start-stop-daemon --start --quiet --oknodo --exec ${sbindir}/isnsd --|' \ - ${D}${sysconfdir}/init.d/openisns -} - -FILES:${PN} += "${libdir} ${systemd_unitdir}" - -INITSCRIPT_NAME = "openisns" diff --git a/meta-networking/recipes-support/open-isns/open-isns_0.102.bb b/meta-networking/recipes-support/open-isns/open-isns_0.102.bb new file mode 100644 index 00000000000..24c520901d1 --- /dev/null +++ b/meta-networking/recipes-support/open-isns/open-isns_0.102.bb @@ -0,0 +1,40 @@ +# Copyright (C) 2016 Joe MacDonald +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "iSNS daemon and utility programs" +DESCRIPTION = "This is a partial implementation of RFC4171, the Internet \ +Storage Name Service (iSNS). The distribution includes the iSNS server, \ +supporting persisten storage of registrations, isnsadm, a command line \ +utility for managing nodes, and isnsdd, a corresponding discovery daemon." +HOMEPAGE = "http://github.com/gonzoleeman/open-isns/" +LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785" +SECTION = "net" + +DEPENDS = "openssl" + +SRC_URI = "git://github.com/open-iscsi/open-isns;branch=master;protocol=https \ + file://0001-isnsd.socket-use-run-instead-of-var-run.patch \ + " + +SRCREV = "c0e6d9fedc5a7041260de477fe1a8455fa074113" + +S = "${WORKDIR}/git" + +inherit systemd autotools-brokensep update-rc.d + +EXTRA_OECONF = " --prefix=${prefix} --enable-shared" +EXTRA_OEMAKE += "SYSTEMDDIR=${D}${systemd_unitdir}/system" + +do_install:append () { + oe_runmake INCDIR=${D}${includedir}/libisns/ install_hdrs + oe_runmake LIBDIR=${D}${libdir} install_lib + + install -D -m 755 ${S}/etc/openisns.init ${D}${sysconfdir}/init.d/openisns + sed -i 's|daemon isnsd|start-stop-daemon --start --quiet --oknodo --exec ${sbindir}/isnsd --|' \ + ${D}${sysconfdir}/init.d/openisns +} + +FILES:${PN} += "${libdir} ${systemd_unitdir}" + +INITSCRIPT_NAME = "openisns" diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch index c09bc12520a..4a97c26185b 100644 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch @@ -1,4 +1,4 @@ -From f93b680ec1a816ffe90d5f1bce609f8bf68a456e Mon Sep 17 00:00:00 2001 +From c1ee0b0a0a05379d0e6475dfceaaf41876192640 Mon Sep 17 00:00:00 2001 From: Trevor Gamblin Date: Wed, 14 Apr 2021 10:24:52 -0400 Subject: [PATCH] Add resolv_compat.h for musl builds @@ -10,7 +10,6 @@ https://gitweb.gentoo.org/proj/musl.git/tree/dev-qt/qtwebengine/files/qtwebengin Upstream-Status: Pending Signed-off-by: Trevor Gamblin - --- open-vm-tools/lib/nicInfo/nicInfoPosix.c | 4 +++ open-vm-tools/lib/nicInfo/resolv_compat.h | 30 +++++++++++++++++++++++ @@ -18,7 +17,7 @@ Signed-off-by: Trevor Gamblin create mode 100644 open-vm-tools/lib/nicInfo/resolv_compat.h diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c -index c56b73cf..8ae3b2f7 100644 +index c56b73cfe..8ae3b2f74 100644 --- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c +++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c @@ -70,6 +70,10 @@ @@ -34,7 +33,7 @@ index c56b73cf..8ae3b2f7 100644 * diff --git a/open-vm-tools/lib/nicInfo/resolv_compat.h b/open-vm-tools/lib/nicInfo/resolv_compat.h new file mode 100644 -index 00000000..d768464b +index 000000000..d768464b9 --- /dev/null +++ b/open-vm-tools/lib/nicInfo/resolv_compat.h @@ -0,0 +1,30 @@ @@ -68,3 +67,6 @@ index 00000000..d768464b +} +#endif + +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch deleted file mode 100644 index 61a681f17f1..00000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch +++ /dev/null @@ -1,78 +0,0 @@ -From caf80e220b055dbce259078be96e899dc78ec1d2 Mon Sep 17 00:00:00 2001 -From: Bartosz Brachaczek -Date: Tue, 12 Nov 2019 14:31:08 +0100 -Subject: [PATCH] Make HgfsConvertFromNtTimeNsec aware of 64-bit time_t on i386 - -I verified that this function behaves as expected on x86_64, i386 with -32-bit time_t, and i386 with 64-bit time_t for the following values of -ntTtime: - -UNIX_EPOCH-1, UNIX_EPOCH, UNIX_EPOCH+1, UNIX_S32_MAX-1, UNIX_S32_MAX, -UNIX_S32_MAX+1, UNIX_S32_MAX*2+1 - -I did not verify whether the use of Div643264 is optimal, performance -wise. - -Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/387] -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/hgfs/hgfsUtil.c | 34 +++++++++++++++++-------------- - 1 file changed, 19 insertions(+), 15 deletions(-) - -diff --git a/open-vm-tools/lib/hgfs/hgfsUtil.c b/open-vm-tools/lib/hgfs/hgfsUtil.c -index cc580ab8..49b10040 100644 ---- a/open-vm-tools/lib/hgfs/hgfsUtil.c -+++ b/open-vm-tools/lib/hgfs/hgfsUtil.c -@@ -110,23 +110,21 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format - uint64 ntTime) // IN: Time in Windows NT format - { - #ifdef __i386__ -- uint32 sec; -- uint32 nsec; -+ uint64 sec64; -+ uint32 sec32, nsec; -+#endif - - ASSERT(unixTime); -- /* We assume that time_t is 32bit */ -- ASSERT_ON_COMPILE(sizeof (unixTime->tv_sec) == 4); - -- /* Cap NT time values that are outside of Unix time's range */ -+ if (sizeof (unixTime->tv_sec) == 4) { -+ /* Cap NT time values that are outside of Unix time's range */ - -- if (ntTime >= UNIX_S32_MAX) { -- unixTime->tv_sec = 0x7FFFFFFF; -- unixTime->tv_nsec = 0; -- return 1; -+ if (ntTime >= UNIX_S32_MAX) { -+ unixTime->tv_sec = 0x7FFFFFFF; -+ unixTime->tv_nsec = 0; -+ return 1; -+ } - } --#else -- ASSERT(unixTime); --#endif - - if (ntTime < UNIX_EPOCH) { - unixTime->tv_sec = 0; -@@ -135,9 +133,15 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format - } - - #ifdef __i386__ -- Div643232(ntTime - UNIX_EPOCH, 10000000, &sec, &nsec); -- unixTime->tv_sec = sec; -- unixTime->tv_nsec = nsec * 100; -+ if (sizeof (unixTime->tv_sec) == 4) { -+ Div643232(ntTime - UNIX_EPOCH, 10000000, &sec32, &nsec); -+ unixTime->tv_sec = sec32; -+ unixTime->tv_nsec = nsec * 100; -+ } else { -+ Div643264(ntTime - UNIX_EPOCH, 10000000, &sec64, &nsec); -+ unixTime->tv_sec = sec64; -+ unixTime->tv_nsec = nsec * 100; -+ } - #else - unixTime->tv_sec = (ntTime - UNIX_EPOCH) / 10000000; - unixTime->tv_nsec = ((ntTime - UNIX_EPOCH) % 10000000) * 100; diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch index a711f5e5d29..3aa21e3ec30 100644 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch @@ -1,4 +1,4 @@ -From fc9bf1ce9f1a21150b10736a1c968d4ca6d4eaa3 Mon Sep 17 00:00:00 2001 +From c953564b9f029b31381a2c630b47133ffe6a33e7 Mon Sep 17 00:00:00 2001 From: Martin Kelly Date: Fri, 7 Apr 2017 15:20:30 -0700 Subject: [PATCH] configure.ac: don't use dnet-config @@ -14,9 +14,11 @@ Signed-off-by: Martin Kelly open-vm-tools/configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) +diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac +index 3c058135a..124781f99 100644 --- a/open-vm-tools/configure.ac +++ b/open-vm-tools/configure.ac -@@ -937,7 +937,7 @@ if test "$with_dnet" = "yes"; then +@@ -1227,7 +1227,7 @@ if test "$with_dnet" = "yes"; then AC_VMW_CHECK_LIB([dnet], [DNET], [], @@ -25,7 +27,7 @@ Signed-off-by: Martin Kelly [], [dnet.h], [intf_open], -@@ -947,7 +947,7 @@ if test "$with_dnet" = "yes"; then +@@ -1237,7 +1237,7 @@ if test "$with_dnet" = "yes"; then if test $have_dnet = "no"; then AC_MSG_ERROR( @@ -34,3 +36,6 @@ Signed-off-by: Martin Kelly fi fi +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-open-vm-tools-Correct-include-path-for-poll.h.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-open-vm-tools-Correct-include-path-for-poll.h.patch deleted file mode 100644 index d9823bdd5f2..00000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-open-vm-tools-Correct-include-path-for-poll.h.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 2cefed441753b012c385e2d3ea5374b4d67e5696 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 7 Feb 2022 13:32:32 -0800 -Subject: [PATCH] open-vm-tools: Correct include path for poll.h - -sys/poll.h is deprecated and musl calls it out explicitly. - -Fixes -| In file included from ../../../../git/open-vm-tools/services/plugins/gdp/gdpPlugin.c:35: -| /mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux-musl/open-vm-tools/11.3.5-r0/recipe-sysroot/usr/include/sys/poll.h:1:2: error: redirecting incorrect #include to [-Werror,-W#warnings] -| #warning redirecting incorrect #include to -| ^ -| 1 error generated. - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - open-vm-tools/services/plugins/gdp/gdpPlugin.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/open-vm-tools/services/plugins/gdp/gdpPlugin.c b/open-vm-tools/services/plugins/gdp/gdpPlugin.c -index 2bba2937e..025339595 100644 ---- a/open-vm-tools/services/plugins/gdp/gdpPlugin.c -+++ b/open-vm-tools/services/plugins/gdp/gdpPlugin.c -@@ -32,7 +32,7 @@ - #include - #include - #include --#include -+#include - #include - #endif - --- -2.35.1 - diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-Use-configure-test-for-struct-timespec.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-Use-configure-test-for-struct-timespec.patch new file mode 100644 index 00000000000..aa5ffde4183 --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-Use-configure-test-for-struct-timespec.patch @@ -0,0 +1,48 @@ +From 6384b37cdef4ea868c3cee27bb627e4cfbab7b50 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 09:03:00 +0000 +Subject: [PATCH] Use configure test for struct timespec + +Use the configure script to test for struct time spec instead of trying +to keep track of what platforms has it. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/configure.ac | 1 + + open-vm-tools/lib/include/hgfsUtil.h | 8 +------- + 2 files changed, 2 insertions(+), 7 deletions(-) + +diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac +index 124781f99..05f37f275 100644 +--- a/open-vm-tools/configure.ac ++++ b/open-vm-tools/configure.ac +@@ -1441,6 +1441,7 @@ AC_TYPE_OFF_T + AC_TYPE_PID_T + AC_TYPE_SIZE_T + AC_CHECK_MEMBERS([struct stat.st_rdev]) ++AC_CHECK_MEMBERS([struct timespec.tv_sec],[],[],[[#include ]]) + AC_HEADER_TIME + AC_STRUCT_TM + AC_C_VOLATILE +diff --git a/open-vm-tools/lib/include/hgfsUtil.h b/open-vm-tools/lib/include/hgfsUtil.h +index 609f4c000..a3a022d42 100644 +--- a/open-vm-tools/lib/include/hgfsUtil.h ++++ b/open-vm-tools/lib/include/hgfsUtil.h +@@ -53,13 +53,7 @@ + # include + # endif + # include "vm_basic_types.h" +-# if !defined _STRUCT_TIMESPEC && \ +- !defined _TIMESPEC_DECLARED && \ +- !defined __timespec_defined && \ +- !defined sun && \ +- !defined __FreeBSD__ && \ +- !__APPLE__ && \ +- !defined _WIN32 ++# if !defined HAVE_STRUCT_TIMESPEC_TV_SEC + struct timespec { + time_t tv_sec; + long tv_nsec; +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch deleted file mode 100644 index 97a4136ca49..00000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch +++ /dev/null @@ -1,42 +0,0 @@ -From c6836386549fb8f017761ce17a237fa42901434c Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 24 Mar 2021 17:36:26 -0400 -Subject: [PATCH] hgfsServerLinux: Consider 64bit time_t possibility - -Upstream-Status: Pending - -Refit for open-vm-tools-11.2.5. - -Signed-off-by: Khem Raj -Signed-off-by: Randy MacLeod -Signed-off-by: Trevor Gamblin - ---- - open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 14 -------------- - 1 file changed, 14 deletions(-) - -diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -index f5cc80b7..5a79d645 100644 ---- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -+++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -@@ -2566,20 +2566,6 @@ HgfsStatToFileAttr(struct stat *stats, // IN: stat information - LOG(4, "%s: done, permissions %o%o%o%o, size %"FMT64"u\n", __FUNCTION__, - attr->specialPerms, attr->ownerPerms, attr->groupPerms, - attr->otherPerms, attr->size); --#ifdef __FreeBSD__ --# if !defined(VM_X86_64) && !defined(VM_ARM_64) && __FreeBSD_version >= 500043 --# define FMTTIMET "" --# else --# define FMTTIMET "l" --# endif --#else --# define FMTTIMET "l" --#endif -- LOG(4, "access: %"FMTTIMET"d/%"FMT64"u \nwrite: %"FMTTIMET"d/%"FMT64"u \n" -- "attr: %"FMTTIMET"d/%"FMT64"u\n", -- stats->st_atime, attr->accessTime, stats->st_mtime, attr->writeTime, -- stats->st_ctime, attr->attrChangeTime); --#undef FMTTIMET - - attr->userId = stats->st_uid; - attr->groupId = stats->st_gid; diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch new file mode 100644 index 00000000000..24279e34a02 --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch @@ -0,0 +1,61 @@ +From 6be6cda5aea42b951212ec5f8a72778b1ef9c2da Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 09:10:14 +0000 +Subject: [PATCH] Fix definition of ALLPERMS and ACCESSPERMS + +The ALLPERMS and ACCESSPERMS defines are not specified in POSIX so +assume it is not there instead of testing for specific implementations. + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 8 +++++--- + open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +-- + 2 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +index 63c4e65f0..87d419a7b 100644 +--- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c ++++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +@@ -105,11 +105,13 @@ typedef struct DirectoryEntry { + #endif + + /* +- * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not defined in the +- * Solaris version of . ++ * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not specified in ++ * POSIX. + */ +-#ifdef sun ++#ifndef ACCESSPERMS + # define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) ++#endif ++#ifndef ALLPERMS + # define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) + #endif + +diff --git a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c +index 219065f74..b5b7e6203 100644 +--- a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c ++++ b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c +@@ -53,7 +53,7 @@ + + #define DND_ROOTDIR_PERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #define DND_STAGINGDIR_PERMS (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) +-#ifdef sun ++#ifndef ACCESSPERMS + #define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #endif + #ifdef __ANDROID__ +@@ -62,7 +62,6 @@ + */ + #define NO_SETMNTENT + #define NO_ENDMNTENT +-#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #endif + + +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch deleted file mode 100644 index 6d2e4981417..00000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch +++ /dev/null @@ -1,45 +0,0 @@ -From bf9292ff9bd25467a014d6c2070805d163daa4c9 Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Wed, 18 Nov 2015 09:03:00 +0000 -Subject: [PATCH] Use configure test for struct timespec - -Use the configure script to test for struct time spec instead of trying -to keep track of what platforms has it. - -Signed-off-by: Natanael Copa ---- - open-vm-tools/configure.ac | 1 + - open-vm-tools/lib/include/hgfsUtil.h | 8 +------- - 2 files changed, 2 insertions(+), 7 deletions(-) - -diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac -index 713ea683..48ff1ef3 100644 ---- a/open-vm-tools/configure.ac -+++ b/open-vm-tools/configure.ac -@@ -1208,6 +1208,7 @@ AC_TYPE_OFF_T - AC_TYPE_PID_T - AC_TYPE_SIZE_T - AC_CHECK_MEMBERS([struct stat.st_rdev]) -+AC_CHECK_MEMBERS([struct timespec.tv_sec],[],[],[[#include ]]) - AC_HEADER_TIME - AC_STRUCT_TM - AC_C_VOLATILE -diff --git a/open-vm-tools/lib/include/hgfsUtil.h b/open-vm-tools/lib/include/hgfsUtil.h -index 609f4c00..a3a022d4 100644 ---- a/open-vm-tools/lib/include/hgfsUtil.h -+++ b/open-vm-tools/lib/include/hgfsUtil.h -@@ -53,13 +53,7 @@ - # include - # endif - # include "vm_basic_types.h" --# if !defined _STRUCT_TIMESPEC && \ -- !defined _TIMESPEC_DECLARED && \ -- !defined __timespec_defined && \ -- !defined sun && \ -- !defined __FreeBSD__ && \ -- !__APPLE__ && \ -- !defined _WIN32 -+# if !defined HAVE_STRUCT_TIMESPEC_TV_SEC - struct timespec { - time_t tv_sec; - long tv_nsec; diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch deleted file mode 100644 index e107ecf235e..00000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 5a795b234c617150915a607776c76377948870a6 Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Wed, 18 Nov 2015 09:10:14 +0000 -Subject: [PATCH] Fix definition of ALLPERMS and ACCESSPERMS - -The ALLPERMS and ACCESSPERMS defines are not specified in POSIX so -assume it is not there instead of testing for specific implementations. - -This is needed for musl libc. - -Signed-off-by: Natanael Copa ---- - open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 8 +++++--- - open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +-- - 2 files changed, 6 insertions(+), 5 deletions(-) - -diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -index f2b7ce67..0e6351a9 100644 ---- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -+++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -@@ -105,11 +105,13 @@ typedef struct DirectoryEntry { - #endif - - /* -- * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not defined in the -- * Solaris version of . -+ * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not specified in -+ * POSIX. - */ --#ifdef sun -+#ifndef ACCESSPERMS - # define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) -+#endif -+#ifndef ALLPERMS - # define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) - #endif - -diff --git a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c -index 89133652..7e9c3a91 100644 ---- a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c -+++ b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c -@@ -52,7 +52,7 @@ - - #define DND_ROOTDIR_PERMS (S_IRWXU | S_IRWXG | S_IRWXO) - #define DND_STAGINGDIR_PERMS (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) --#ifdef sun -+#ifndef ACCESSPERMS - #define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) - #endif - #ifdef __ANDROID__ -@@ -61,7 +61,6 @@ - */ - #define NO_SETMNTENT - #define NO_ENDMNTENT --#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) - #endif - - diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Use-configure-to-test-for-feature-instead-of-platfor.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Use-configure-to-test-for-feature-instead-of-platfor.patch new file mode 100644 index 00000000000..613bba21269 --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Use-configure-to-test-for-feature-instead-of-platfor.patch @@ -0,0 +1,141 @@ +From 9d22fba096cd77101fc45420c918ec748d2cc31b Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 10:05:07 +0000 +Subject: [PATCH] Use configure to test for feature instead of platform + +Test for various functions instead of trying to keep track of what +platform and what version of the given platform has support for what. + +This should make it easier to port to currently unknown platforms and +will solve the issue if a platform add support for a missing feature in +the future. + +The features we test for are: +- getifaddrs +- getauxval +- issetugid +- __secure_getenv + +This is needed for musl libc. + +Refit patch of open-vm-tools/lib/nicInfo/nicInfoPosix.c + +Signed-off-by: Natanael Copa +Signed-off-by: Randy MacLeod +--- + open-vm-tools/configure.ac | 4 ++++ + open-vm-tools/lib/misc/idLinux.c | 30 +++++++++++------------- + open-vm-tools/lib/nicInfo/nicInfoPosix.c | 6 ++++- + 3 files changed, 23 insertions(+), 17 deletions(-) + +diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac +index 05f37f275..9a0c63cf6 100644 +--- a/open-vm-tools/configure.ac ++++ b/open-vm-tools/configure.ac +@@ -1169,6 +1169,7 @@ AC_CHECK_FUNCS( + + AC_CHECK_FUNCS([ecvt]) + AC_CHECK_FUNCS([fcvt]) ++AC_CHECK_FUNCS([getifaddrs getauxval issetugid __secure_getenv]) + + AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes]) + +@@ -1378,10 +1379,13 @@ fi + ### + + AC_CHECK_HEADERS([crypt.h]) ++AC_CHECK_HEADERS([ifaddrs.h]) + AC_CHECK_HEADERS([inttypes.h]) + AC_CHECK_HEADERS([stdint.h]) + AC_CHECK_HEADERS([stdlib.h]) + AC_CHECK_HEADERS([wchar.h]) ++AC_CHECK_HEADERS([net/if.h]) ++AC_CHECK_HEADERS([sys/auxv.h]) + AC_CHECK_HEADERS([sys/inttypes.h]) + AC_CHECK_HEADERS([sys/io.h]) + AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD +diff --git a/open-vm-tools/lib/misc/idLinux.c b/open-vm-tools/lib/misc/idLinux.c +index 1bb86f483..41c670cfc 100644 +--- a/open-vm-tools/lib/misc/idLinux.c ++++ b/open-vm-tools/lib/misc/idLinux.c +@@ -27,12 +27,9 @@ + #include + #include + #include +-#ifdef __linux__ +-#if defined(__GLIBC__) && \ +- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) ++#ifdef HAVE_SYS_AUXV_H + #include + #endif +-#endif + #ifdef __APPLE__ + #include + #include +@@ -1025,31 +1022,32 @@ Id_EndSuperUser(uid_t uid) // IN: + static Bool + IdIsSetUGid(void) + { +-#if defined(__ANDROID__) +- /* Android does not have a secure_getenv, so be conservative. */ +- return TRUE; +-#else + /* + * We use __secure_getenv, which returns NULL if the binary is +- * setuid or setgid. Alternatives include, ++ * setuid or setgid, when issetugid or getauxval(AT_SECURE) is not ++ * available. Alternatives include, + * +- * a) getauxval(AT_SECURE); not available until glibc 2.16. +- * b) __libc_enable_secure; may not be exported. ++ * a) issetugid(); not (yet?) available in glibc. ++ * b) getauxval(AT_SECURE); not available until glibc 2.16. ++ * c) __libc_enable_secure; may not be exported. + * +- * Use (a) when we are based on glibc 2.16, or newer. ++ * Use (b) when we are based on glibc 2.16, or newer. + */ + +-#if defined(__GLIBC__) && \ +- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) ++#if HAVE_ISSETUGID ++ return issetugid(); ++#elif HAVE_GETAUXVAL + return getauxval(AT_SECURE) != 0; +-#else ++#elif HAVE___SECURE_GETENV + static const char envName[] = "VMW_SETUGID_TEST"; + + if (setenv(envName, "1", TRUE) == -1) { + return TRUE; /* Conservative */ + } + return __secure_getenv(envName) == NULL; +-#endif ++#else ++ /* Android does not have a secure_getenv, so be conservative. */ ++ return TRUE; + #endif + } + #endif +diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c +index de57a4a90..c56b73cfe 100644 +--- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c ++++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c +@@ -35,9 +35,13 @@ + #include + #include + #include +-#if defined(__FreeBSD__) || defined(__APPLE__) ++#if HAVE_SYS_SYSCTL_H + # include ++#endif ++#if HAVE_IFADDRS_H + # include ++#endif ++#if HAVE_NET_IF_H + # include + #endif + #ifndef NO_DNET +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-sys-stat.h-include.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-sys-stat.h-include.patch new file mode 100644 index 00000000000..b52f242481f --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-sys-stat.h-include.patch @@ -0,0 +1,28 @@ +From 2bc09bc7d933bc3d91c687e1cc2befdaa38d2c86 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 10:41:01 +0000 +Subject: [PATCH] Use configure test for sys/stat.h include + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/services/plugins/vix/vixTools.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/open-vm-tools/services/plugins/vix/vixTools.c b/open-vm-tools/services/plugins/vix/vixTools.c +index 34f3125d2..cebf4dd8d 100644 +--- a/open-vm-tools/services/plugins/vix/vixTools.c ++++ b/open-vm-tools/services/plugins/vix/vixTools.c +@@ -66,7 +66,7 @@ + #include + #endif + +-#if defined(sun) || defined(__FreeBSD__) || defined(__APPLE__) ++#ifdef HAVE_SYS_STAT_H + #include + #endif + +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch deleted file mode 100644 index 34d4ce4a90b..00000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch +++ /dev/null @@ -1,141 +0,0 @@ -From b653a81da70c44af002dcbc7489ad9f4588ed11d Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Wed, 18 Nov 2015 10:05:07 +0000 -Subject: [PATCH] Use configure to test for feature instead of platform - -Test for various functions instead of trying to keep track of what -platform and what version of the given platform has support for what. - -This should make it easier to port to currently unknown platforms and -will solve the issue if a platform add support for a missing feature in -the future. - -The features we test for are: -- getifaddrs -- getauxval -- issetugid -- __secure_getenv - -This is needed for musl libc. - -Refit patch of open-vm-tools/lib/nicInfo/nicInfoPosix.c - -Signed-off-by: Natanael Copa -Signed-off-by: Randy MacLeod ---- - open-vm-tools/configure.ac | 4 ++++ - open-vm-tools/lib/misc/idLinux.c | 30 +++++++++++------------- - open-vm-tools/lib/nicInfo/nicInfoPosix.c | 6 ++++- - 3 files changed, 23 insertions(+), 17 deletions(-) - -diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac -index 27f3717f..6baab9e3 100644 ---- a/open-vm-tools/configure.ac -+++ b/open-vm-tools/configure.ac -@@ -923,6 +923,7 @@ AC_CHECK_FUNCS( - - AC_CHECK_FUNCS([ecvt]) - AC_CHECK_FUNCS([fcvt]) -+AC_CHECK_FUNCS([getifaddrs getauxval issetugid __secure_getenv]) - - AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes]) - -@@ -1132,10 +1133,13 @@ fi - ### - - AC_CHECK_HEADERS([crypt.h]) -+AC_CHECK_HEADERS([ifaddrs.h]) - AC_CHECK_HEADERS([inttypes.h]) - AC_CHECK_HEADERS([stdint.h]) - AC_CHECK_HEADERS([stdlib.h]) - AC_CHECK_HEADERS([wchar.h]) -+AC_CHECK_HEADERS([net/if.h]) -+AC_CHECK_HEADERS([sys/auxv.h]) - AC_CHECK_HEADERS([sys/inttypes.h]) - AC_CHECK_HEADERS([sys/io.h]) - AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD -diff --git a/open-vm-tools/lib/misc/idLinux.c b/open-vm-tools/lib/misc/idLinux.c -index 1bb86f48..41c670cf 100644 ---- a/open-vm-tools/lib/misc/idLinux.c -+++ b/open-vm-tools/lib/misc/idLinux.c -@@ -27,12 +27,9 @@ - #include - #include - #include --#ifdef __linux__ --#if defined(__GLIBC__) && \ -- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) -+#ifdef HAVE_SYS_AUXV_H - #include - #endif --#endif - #ifdef __APPLE__ - #include - #include -@@ -1025,31 +1022,32 @@ Id_EndSuperUser(uid_t uid) // IN: - static Bool - IdIsSetUGid(void) - { --#if defined(__ANDROID__) -- /* Android does not have a secure_getenv, so be conservative. */ -- return TRUE; --#else - /* - * We use __secure_getenv, which returns NULL if the binary is -- * setuid or setgid. Alternatives include, -+ * setuid or setgid, when issetugid or getauxval(AT_SECURE) is not -+ * available. Alternatives include, - * -- * a) getauxval(AT_SECURE); not available until glibc 2.16. -- * b) __libc_enable_secure; may not be exported. -+ * a) issetugid(); not (yet?) available in glibc. -+ * b) getauxval(AT_SECURE); not available until glibc 2.16. -+ * c) __libc_enable_secure; may not be exported. - * -- * Use (a) when we are based on glibc 2.16, or newer. -+ * Use (b) when we are based on glibc 2.16, or newer. - */ - --#if defined(__GLIBC__) && \ -- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) -+#if HAVE_ISSETUGID -+ return issetugid(); -+#elif HAVE_GETAUXVAL - return getauxval(AT_SECURE) != 0; --#else -+#elif HAVE___SECURE_GETENV - static const char envName[] = "VMW_SETUGID_TEST"; - - if (setenv(envName, "1", TRUE) == -1) { - return TRUE; /* Conservative */ - } - return __secure_getenv(envName) == NULL; --#endif -+#else -+ /* Android does not have a secure_getenv, so be conservative. */ -+ return TRUE; - #endif - } - #endif -diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c -index cc5fa281..8710c542 100644 ---- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c -+++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c -@@ -35,9 +35,13 @@ - #include - #include - #include --#if defined(__FreeBSD__) || defined(__APPLE__) -+#if HAVE_SYS_SYSCTL_H - # include -+#endif -+#if HAVE_IFADDRS_H - # include -+#endif -+#if HAVE_NET_IF_H - # include - #endif - #ifndef NO_DNET --- -2.27.0 - diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-subdir-objects-configure-error.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-subdir-objects-configure-error.patch new file mode 100644 index 00000000000..cb30966afe5 --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-subdir-objects-configure-error.patch @@ -0,0 +1,36 @@ +From dbe0943011c24d48de3df5a95f4e4606be0ef250 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 13 Jun 2018 23:48:04 -0700 +Subject: [PATCH] Fix subdir objects configure error + +Fix build on musl while here + +Signed-off-by: Khem Raj +--- + open-vm-tools/configure.ac | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac +index 9a0c63cf6..5845490f6 100644 +--- a/open-vm-tools/configure.ac ++++ b/open-vm-tools/configure.ac +@@ -326,7 +326,6 @@ AC_ARG_ENABLE( + [], + [enable_resolutionkms="auto"]) + +- + AC_ARG_ENABLE( + vmwgfxctrl, + AS_HELP_STRING( +@@ -335,7 +334,7 @@ AC_ARG_ENABLE( + [], + [enable_vmwgfxctrl="auto"]) + +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([subdir-objects]) + + ### + ### Constants +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch deleted file mode 100644 index 9a227f9ec77..00000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 11adcf43a1e7aa39ee4d82fa567f37e5b0c6ca81 Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Wed, 18 Nov 2015 10:41:01 +0000 -Subject: [PATCH] Use configure test for sys/stat.h include - -This is needed for musl libc. - -Signed-off-by: Natanael Copa ---- - open-vm-tools/services/plugins/vix/vixTools.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/open-vm-tools/services/plugins/vix/vixTools.c b/open-vm-tools/services/plugins/vix/vixTools.c -index e5273786..cabc4137 100644 ---- a/open-vm-tools/services/plugins/vix/vixTools.c -+++ b/open-vm-tools/services/plugins/vix/vixTools.c -@@ -66,7 +66,7 @@ - #include - #endif - --#if defined(sun) || defined(__FreeBSD__) || defined(__APPLE__) -+#ifdef HAVE_SYS_STAT_H - #include - #endif - diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch deleted file mode 100644 index fd7ebce0501..00000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 294a3f14b74f2020a5cf3ccc2b6adabbcfce4151 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 13 Jun 2018 23:48:04 -0700 -Subject: [PATCH] Fix subdir objects configure error - -Fix build on musl while here - -Signed-off-by: Khem Raj - ---- - open-vm-tools/configure.ac | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac -index 005814ef..edf1f21a 100644 ---- a/open-vm-tools/configure.ac -+++ b/open-vm-tools/configure.ac -@@ -326,7 +326,6 @@ AC_ARG_ENABLE( - [], - [enable_resolutionkms="auto"]) - -- - AC_ARG_ENABLE( - vmwgfxctrl, - AS_HELP_STRING( -@@ -335,7 +334,7 @@ AC_ARG_ENABLE( - [], - [enable_vmwgfxctrl="auto"]) - --AM_INIT_AUTOMAKE -+AM_INIT_AUTOMAKE([subdir-objects]) - - ### - ### Constants diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-include-poll.h-instead-of-sys-poll.h.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-include-poll.h-instead-of-sys-poll.h.patch new file mode 100644 index 00000000000..ff5fee6d4ed --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-include-poll.h-instead-of-sys-poll.h.patch @@ -0,0 +1,29 @@ +From 8c7f5895ed1f98bfc4101f8cfb93af3d13fd6bce Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 13 Jun 2018 23:02:50 -0700 +Subject: [PATCH] include poll.h instead of sys/poll.h + +including sys/poll.h is deprecated + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c +index 2bf97b549..b285c59c6 100644 +--- a/open-vm-tools/lib/asyncsocket/asyncsocket.c ++++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c +@@ -70,8 +70,8 @@ + #else + #include + #include ++#include + #include +-#include + #include + #include + #include +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-Rename-poll.h-to-vm_poll.h.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-Rename-poll.h-to-vm_poll.h.patch new file mode 100644 index 00000000000..b3906e827ae --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-Rename-poll.h-to-vm_poll.h.patch @@ -0,0 +1,112 @@ +From 0c695d910b3e136e116cdbe0bfc6231dfac255a1 Mon Sep 17 00:00:00 2001 +From: Randy MacLeod +Date: Wed, 24 Mar 2021 16:21:35 -0400 +Subject: [PATCH] Rename poll.h to vm_poll.h + +Rename poll.h to vm_poll.h and switch from: + #include +to + #include + +musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this +we rename poll.h to vm_poll.h. + +Update for open-vm-tools-11.2.5. + +Signed-off-by: Natanael Copa +Signed-off-by: Khem Raj +Signed-off-by: Randy MacLeod +--- + open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- + open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +- + open-vm-tools/lib/include/asyncsocket.h | 2 +- + open-vm-tools/lib/include/pollImpl.h | 2 +- + open-vm-tools/lib/include/{poll.h => vm_poll.h} | 2 +- + open-vm-tools/lib/rpcIn/rpcin.c | 2 +- + 6 files changed, 6 insertions(+), 6 deletions(-) + rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%) + +diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c +index b285c59c6..5c528820d 100644 +--- a/open-vm-tools/lib/asyncsocket/asyncsocket.c ++++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c +@@ -87,7 +87,7 @@ + #include "random.h" + #include "asyncsocket.h" + #include "asyncSocketBase.h" +-#include "poll.h" ++#include "vm_poll.h" + #include "log.h" + #include "err.h" + #include "hostinfo.h" +diff --git a/open-vm-tools/lib/hgfsServer/hgfsServer.c b/open-vm-tools/lib/hgfsServer/hgfsServer.c +index 98f5b3f06..b436f0c7e 100644 +--- a/open-vm-tools/lib/hgfsServer/hgfsServer.c ++++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c +@@ -51,7 +51,7 @@ + #include "hgfsDirNotify.h" + #include "hgfsThreadpool.h" + #include "userlock.h" +-#include "poll.h" ++#include "vm_poll.h" + #include "mutexRankLib.h" + #include "vm_basic_asm.h" + #include "unicodeOperations.h" +diff --git a/open-vm-tools/lib/include/asyncsocket.h b/open-vm-tools/lib/include/asyncsocket.h +index dad848093..b61a2561f 100644 +--- a/open-vm-tools/lib/include/asyncsocket.h ++++ b/open-vm-tools/lib/include/asyncsocket.h +@@ -171,7 +171,7 @@ typedef struct AsyncSocket AsyncSocket; + * Or the client can specify its favorite poll class and locking behavior. + * Use of IVmdbPoll is only supported for regular sockets and for Attach. + */ +-#include "poll.h" ++#include "vm_poll.h" + struct IVmdbPoll; + typedef struct AsyncSocketPollParams { + int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */ +diff --git a/open-vm-tools/lib/include/pollImpl.h b/open-vm-tools/lib/include/pollImpl.h +index 46442e556..8bc669970 100644 +--- a/open-vm-tools/lib/include/pollImpl.h ++++ b/open-vm-tools/lib/include/pollImpl.h +@@ -44,7 +44,7 @@ + #define INCLUDE_ALLOW_USERLEVEL + #include "includeCheck.h" + +-#include "poll.h" ++#include "vm_poll.h" + #include "vm_basic_asm.h" + + #if defined(__cplusplus) +diff --git a/open-vm-tools/lib/include/poll.h b/open-vm-tools/lib/include/vm_poll.h +similarity index 99% +rename from open-vm-tools/lib/include/poll.h +rename to open-vm-tools/lib/include/vm_poll.h +index ade356b9f..8759fb960 100644 +--- a/open-vm-tools/lib/include/poll.h ++++ b/open-vm-tools/lib/include/vm_poll.h +@@ -60,7 +60,7 @@ extern "C" { + #if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 + #include + #endif +-#include ++#include + #define HZ 100 + #endif + #ifdef __ANDROID__ +diff --git a/open-vm-tools/lib/rpcIn/rpcin.c b/open-vm-tools/lib/rpcIn/rpcin.c +index 8b1fe759d..f22fcd402 100644 +--- a/open-vm-tools/lib/rpcIn/rpcin.c ++++ b/open-vm-tools/lib/rpcIn/rpcin.c +@@ -57,7 +57,7 @@ + + #if defined(VMTOOLS_USE_VSOCKET) + # include +-# include "poll.h" ++# include "vm_poll.h" + # include "asyncsocket.h" + # include "vmci_defs.h" + #include "dataMap.h" +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch deleted file mode 100644 index 814b9e3b258..00000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch +++ /dev/null @@ -1,26 +0,0 @@ -From e4f0b99d90e26b15106f634caad1c3dea9e09cb8 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 13 Jun 2018 23:02:50 -0700 -Subject: [PATCH] include poll.h instead of sys/poll.h - -including sys/poll.h is deprecated - -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c -index 65b07109..b41aa29d 100644 ---- a/open-vm-tools/lib/asyncsocket/asyncsocket.c -+++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c -@@ -69,8 +69,8 @@ - #else - #include - #include -+#include - #include --#include - #include - #include - #include diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch deleted file mode 100644 index 214dac4717e..00000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch +++ /dev/null @@ -1,112 +0,0 @@ -From 7a5db1cf47e70e72d78a42468912c276e57f865e Mon Sep 17 00:00:00 2001 -From: Randy MacLeod -Date: Wed, 24 Mar 2021 16:21:35 -0400 -Subject: [PATCH] Rename poll.h to vm_poll.h - -Rename poll.h to vm_poll.h and switch from: - #include -to - #include - -musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this -we rename poll.h to vm_poll.h. - -Update for open-vm-tools-11.2.5. - -Signed-off-by: Natanael Copa -Signed-off-by: Khem Raj -Signed-off-by: Randy MacLeod ---- - open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- - open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +- - open-vm-tools/lib/include/asyncsocket.h | 2 +- - open-vm-tools/lib/include/pollImpl.h | 2 +- - open-vm-tools/lib/include/{poll.h => vm_poll.h} | 2 +- - open-vm-tools/lib/rpcIn/rpcin.c | 2 +- - 6 files changed, 6 insertions(+), 6 deletions(-) - rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%) - -diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c -index 9914ffc5..89679f7a 100644 ---- a/open-vm-tools/lib/asyncsocket/asyncsocket.c -+++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c -@@ -87,7 +87,7 @@ - #include "random.h" - #include "asyncsocket.h" - #include "asyncSocketBase.h" --#include "poll.h" -+#include "vm_poll.h" - #include "log.h" - #include "err.h" - #include "hostinfo.h" -diff --git a/open-vm-tools/lib/hgfsServer/hgfsServer.c b/open-vm-tools/lib/hgfsServer/hgfsServer.c -index 3a18a7e1..acdda54d 100644 ---- a/open-vm-tools/lib/hgfsServer/hgfsServer.c -+++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c -@@ -51,7 +51,7 @@ - #include "hgfsDirNotify.h" - #include "hgfsThreadpool.h" - #include "userlock.h" --#include "poll.h" -+#include "vm_poll.h" - #include "mutexRankLib.h" - #include "vm_basic_asm.h" - #include "unicodeOperations.h" -diff --git a/open-vm-tools/lib/include/asyncsocket.h b/open-vm-tools/lib/include/asyncsocket.h -index 746dd78b..82c22f46 100644 ---- a/open-vm-tools/lib/include/asyncsocket.h -+++ b/open-vm-tools/lib/include/asyncsocket.h -@@ -171,7 +171,7 @@ typedef struct AsyncSocket AsyncSocket; - * Or the client can specify its favorite poll class and locking behavior. - * Use of IVmdbPoll is only supported for regular sockets and for Attach. - */ --#include "poll.h" -+#include "vm_poll.h" - struct IVmdbPoll; - typedef struct AsyncSocketPollParams { - int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */ -diff --git a/open-vm-tools/lib/include/pollImpl.h b/open-vm-tools/lib/include/pollImpl.h -index 46442e55..8bc66997 100644 ---- a/open-vm-tools/lib/include/pollImpl.h -+++ b/open-vm-tools/lib/include/pollImpl.h -@@ -44,7 +44,7 @@ - #define INCLUDE_ALLOW_USERLEVEL - #include "includeCheck.h" - --#include "poll.h" -+#include "vm_poll.h" - #include "vm_basic_asm.h" - - #if defined(__cplusplus) -diff --git a/open-vm-tools/lib/include/poll.h b/open-vm-tools/lib/include/vm_poll.h -similarity index 99% -rename from open-vm-tools/lib/include/poll.h -rename to open-vm-tools/lib/include/vm_poll.h -index c90f5dcd..73a56204 100644 ---- a/open-vm-tools/lib/include/poll.h -+++ b/open-vm-tools/lib/include/vm_poll.h -@@ -60,7 +60,7 @@ extern "C" { - #if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 - #include - #endif --#include -+#include - #define HZ 100 - #endif - #ifdef __ANDROID__ -diff --git a/open-vm-tools/lib/rpcIn/rpcin.c b/open-vm-tools/lib/rpcIn/rpcin.c -index 8b1fe759..f22fcd40 100644 ---- a/open-vm-tools/lib/rpcIn/rpcin.c -+++ b/open-vm-tools/lib/rpcIn/rpcin.c -@@ -57,7 +57,7 @@ - - #if defined(VMTOOLS_USE_VSOCKET) - # include --# include "poll.h" -+# include "vm_poll.h" - # include "asyncsocket.h" - # include "vmci_defs.h" - #include "dataMap.h" --- -2.27.0 - diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-use-posix-strerror_r-unless-on-gnu-libc-system.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-use-posix-strerror_r-unless-on-gnu-libc-system.patch new file mode 100644 index 00000000000..9ae1a8e6b81 --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-use-posix-strerror_r-unless-on-gnu-libc-system.patch @@ -0,0 +1,42 @@ +From 921621a098f242953117747f5852d7e3136ae6c4 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 13 Jun 2018 23:16:53 -0700 +Subject: [PATCH] use posix strerror_r unless on gnu libc system + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/err/errPosix.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/open-vm-tools/lib/err/errPosix.c b/open-vm-tools/lib/err/errPosix.c +index c81b4c13f..7a4036402 100644 +--- a/open-vm-tools/lib/err/errPosix.c ++++ b/open-vm-tools/lib/err/errPosix.c +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + + #include "vmware.h" + #include "errInt.h" +@@ -63,11 +64,13 @@ ErrErrno2String(Err_Number errorNumber, // IN + { + char *p; + +-#if defined(__linux__) && !defined(__ANDROID__) ++#if defined(__GLIBC__) && !defined(__ANDROID__) + p = strerror_r(errorNumber, buf, bufSize); + #else +- p = strerror(errorNumber); +-#endif ++ if (strerror_r(errorNumber, buf, bufSize) != 0) ++ snprintf(buf, bufSize, "unknown error %i", errorNumber); ++ p = buf; ++#endif /* defined __GLIBC__ */ + ASSERT(p != NULL); + return p; + } +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-Use-uintmax_t-for-handling-rlim_t.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-Use-uintmax_t-for-handling-rlim_t.patch new file mode 100644 index 00000000000..36d0c641ae1 --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-Use-uintmax_t-for-handling-rlim_t.patch @@ -0,0 +1,36 @@ +From b44d1d4e4ba77f1d9cf7de73a3bd210d02b5ff36 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 24 Mar 2021 17:26:53 -0400 +Subject: [PATCH] Use uintmax_t for handling rlim_t + +rlimit types are not representable with long or long long +formats, therefore use uintmax_t to typecast rlim_t types +and use %j to print it + +Refit patch for open-vm-tools-11.2.5. + +Signed-off-by: Khem Raj +Signed-off-by: Randy MacLeod +Signed-off-by: Trevor Gamblin +--- + open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +index 87d419a7b..f5cc80b76 100644 +--- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c ++++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +@@ -5301,8 +5301,8 @@ HgfsWriteCheckIORange(off_t offset, // IN: + goto exit; + } + +- LOG(6, "%s: File Size limits: 0x%"FMT64"x 0x%"FMT64"x\n", +- __FUNCTION__, fileSize.rlim_cur, fileSize.rlim_max); ++ //LOG(6, ("%s: File Size limits: 0x%jx 0x%jx\n", ++ // __FUNCTION__, (uintmax_t)fileSize.rlim_cur, (uintmax_t)fileSize.rlim_max)); + + /* + * Check the offset is within the file size range. +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch deleted file mode 100644 index 784b4fc6c59..00000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch +++ /dev/null @@ -1,39 +0,0 @@ -From e86a259e1ce19c70ecfdece69ab53a07c63a34e1 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 13 Jun 2018 23:16:53 -0700 -Subject: [PATCH] use posix strerror_r unless on gnu libc system - -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/err/errPosix.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/open-vm-tools/lib/err/errPosix.c b/open-vm-tools/lib/err/errPosix.c -index c81b4c13..7a403640 100644 ---- a/open-vm-tools/lib/err/errPosix.c -+++ b/open-vm-tools/lib/err/errPosix.c -@@ -31,6 +31,7 @@ - #include - #include - #include -+#include - - #include "vmware.h" - #include "errInt.h" -@@ -63,11 +64,13 @@ ErrErrno2String(Err_Number errorNumber, // IN - { - char *p; - --#if defined(__linux__) && !defined(__ANDROID__) -+#if defined(__GLIBC__) && !defined(__ANDROID__) - p = strerror_r(errorNumber, buf, bufSize); - #else -- p = strerror(errorNumber); --#endif -+ if (strerror_r(errorNumber, buf, bufSize) != 0) -+ snprintf(buf, bufSize, "unknown error %i", errorNumber); -+ p = buf; -+#endif /* defined __GLIBC__ */ - ASSERT(p != NULL); - return p; - } diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-off64_t-instead-of-__off64_t.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-off64_t-instead-of-__off64_t.patch new file mode 100644 index 00000000000..98eecebcfb8 --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-off64_t-instead-of-__off64_t.patch @@ -0,0 +1,34 @@ +From 39a59ab7efe98c880c783b2ccf43e5a137d2b222 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 27 Aug 2018 23:22:21 -0700 +Subject: [PATCH] Use off64_t instead of __off64_t + +Fixes +unknown type name '__off64_t' + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/file/fileIOPosix.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/open-vm-tools/lib/file/fileIOPosix.c b/open-vm-tools/lib/file/fileIOPosix.c +index 492a4bf4a..a80a884cd 100644 +--- a/open-vm-tools/lib/file/fileIOPosix.c ++++ b/open-vm-tools/lib/file/fileIOPosix.c +@@ -211,10 +211,10 @@ static AlignedPool alignedPool; + * the symbols (and anyone building XOPEN<700 gets nothing). + */ + extern ssize_t preadv64(int fd, const struct iovec *iov, int iovcnt, +- __off64_t offset) __attribute__ ((weak)); ++ off64_t offset) __attribute__ ((weak)); + + extern ssize_t pwritev64(int fd, const struct iovec *iov, int iovcnt, +- __off64_t offset) __attribute__ ((weak)); ++ off64_t offset) __attribute__ ((weak)); + #else + #error "Large file support is unavailable." + #endif +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch deleted file mode 100644 index 144b5837cb1..00000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 4b69d8fd78bf6edbc8b4ace58e621d46071fd8dc Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 24 Mar 2021 17:26:53 -0400 -Subject: [PATCH 2/2] Use uintmax_t for handling rlim_t - -rlimit types are not representable with long or long long -formats, therefore use uintmax_t to typecast rlim_t types -and use %j to print it - -Refit patch for open-vm-tools-11.2.5. - -Signed-off-by: Khem Raj -Signed-off-by: Randy MacLeod -Signed-off-by: Trevor Gamblin ---- - open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -index ba2e5624..889f730a 100644 ---- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -+++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -@@ -5292,8 +5292,8 @@ HgfsWriteCheckIORange(off_t offset, // IN: - goto exit; - } - -- LOG(6, "%s: File Size limits: 0x%"FMT64"x 0x%"FMT64"x\n", -- __FUNCTION__, fileSize.rlim_cur, fileSize.rlim_max); -+ //LOG(6, ("%s: File Size limits: 0x%jx 0x%jx\n", -+ // __FUNCTION__, (uintmax_t)fileSize.rlim_cur, (uintmax_t)fileSize.rlim_max)); - - /* - * Check the offset is within the file size range. --- -2.30.2 - diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch deleted file mode 100644 index 5e37d7617b2..00000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 80b1c4236549b0194d1f0d6e9be887e3a5850843 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 27 Aug 2018 23:22:21 -0700 -Subject: [PATCH] Use off64_t instead of __off64_t - -Fixes -unknown type name '__off64_t' - -Upstream-Status: Pending -Signed-off-by: Khem Raj - ---- - open-vm-tools/lib/file/fileIOPosix.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/open-vm-tools/lib/file/fileIOPosix.c b/open-vm-tools/lib/file/fileIOPosix.c -index 82c0aa18..e9154541 100644 ---- a/open-vm-tools/lib/file/fileIOPosix.c -+++ b/open-vm-tools/lib/file/fileIOPosix.c -@@ -206,10 +206,10 @@ static AlignedPool alignedPool; - * the symbols (and anyone building XOPEN<700 gets nothing). - */ - extern ssize_t preadv64(int fd, const struct iovec *iov, int iovcnt, -- __off64_t offset) __attribute__ ((weak)); -+ off64_t offset) __attribute__ ((weak)); - - extern ssize_t pwritev64(int fd, const struct iovec *iov, int iovcnt, -- __off64_t offset) __attribute__ ((weak)); -+ off64_t offset) __attribute__ ((weak)); - #else - #error "Large file support is unavailable." - #endif diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-hgfsServerLinux-Consider-64bit-time_t-possibility.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-hgfsServerLinux-Consider-64bit-time_t-possibility.patch new file mode 100644 index 00000000000..c7e62da7eee --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-hgfsServerLinux-Consider-64bit-time_t-possibility.patch @@ -0,0 +1,44 @@ +From 859c21b9a21c53d936301b05044d0c649d6cf32b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 24 Mar 2021 17:36:26 -0400 +Subject: [PATCH] hgfsServerLinux: Consider 64bit time_t possibility + +Upstream-Status: Pending + +Refit for open-vm-tools-11.2.5. + +Signed-off-by: Khem Raj +Signed-off-by: Randy MacLeod +Signed-off-by: Trevor Gamblin +--- + open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 14 -------------- + 1 file changed, 14 deletions(-) + +diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +index f5cc80b76..5a79d6451 100644 +--- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c ++++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +@@ -2566,20 +2566,6 @@ HgfsStatToFileAttr(struct stat *stats, // IN: stat information + LOG(4, "%s: done, permissions %o%o%o%o, size %"FMT64"u\n", __FUNCTION__, + attr->specialPerms, attr->ownerPerms, attr->groupPerms, + attr->otherPerms, attr->size); +-#ifdef __FreeBSD__ +-# if !defined(VM_X86_64) && !defined(VM_ARM_64) && __FreeBSD_version >= 500043 +-# define FMTTIMET "" +-# else +-# define FMTTIMET "l" +-# endif +-#else +-# define FMTTIMET "l" +-#endif +- LOG(4, "access: %"FMTTIMET"d/%"FMT64"u \nwrite: %"FMTTIMET"d/%"FMT64"u \n" +- "attr: %"FMTTIMET"d/%"FMT64"u\n", +- stats->st_atime, attr->accessTime, stats->st_mtime, attr->writeTime, +- stats->st_ctime, attr->attrChangeTime); +-#undef FMTTIMET + + attr->userId = stats->st_uid; + attr->groupId = stats->st_gid; +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch deleted file mode 100644 index 3e4753b2a63..00000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch +++ /dev/null @@ -1,27 +0,0 @@ -From cfc6839362bd96bf2f42954160f16a60bf1de377 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 22 Dec 2018 19:59:02 -0800 -Subject: [PATCH] misc: Do not print NULL string into logs - -string format %s is getting a NULL pointer for 'expand' -parameter always since the check for chunks[i] == NULL will ensure that -its always null when the Log() API is called - -Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/312] - -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/misc/util_misc.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/open-vm-tools/lib/misc/util_misc.c -+++ b/open-vm-tools/lib/misc/util_misc.c -@@ -719,7 +719,7 @@ Util_ExpandString(const char *fileName) - ASSERT(!freeChunk[i]); - chunks[i] = expand; - if (chunks[i] == NULL) { -- Log("%s: Cannot allocate memory to expand $ in \"%s\".\n", -+ Log("%s: Cannot allocate memory to expand in \"%s\".\n", - __FUNCTION__, fileName); - goto out; - } diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-open-vm-tools-Correct-include-path-for-poll.h.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-open-vm-tools-Correct-include-path-for-poll.h.patch new file mode 100644 index 00000000000..83687460bf6 --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-open-vm-tools-Correct-include-path-for-poll.h.patch @@ -0,0 +1,36 @@ +From 7f7e00ce582d72013cb54278548d3320e032b0dc Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 7 Feb 2022 13:32:32 -0800 +Subject: [PATCH] open-vm-tools: Correct include path for poll.h + +sys/poll.h is deprecated and musl calls it out explicitly. + +Fixes +| In file included from ../../../../git/open-vm-tools/services/plugins/gdp/gdpPlugin.c:35: +| /mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux-musl/open-vm-tools/11.3.5-r0/recipe-sysroot/usr/include/sys/poll.h:1:2: error: redirecting incorrect #include to [-Werror,-W#warnings] +| #warning redirecting incorrect #include to +| ^ +| 1 error generated. + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + open-vm-tools/services/plugins/gdp/gdpPlugin.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/open-vm-tools/services/plugins/gdp/gdpPlugin.c b/open-vm-tools/services/plugins/gdp/gdpPlugin.c +index 2bba2937e..025339595 100644 +--- a/open-vm-tools/services/plugins/gdp/gdpPlugin.c ++++ b/open-vm-tools/services/plugins/gdp/gdpPlugin.c +@@ -32,7 +32,7 @@ + #include + #include + #include +-#include ++#include + #include + #endif + +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.3.5.bb b/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.3.5.bb deleted file mode 100644 index 1c3545f960e..00000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.3.5.bb +++ /dev/null @@ -1,121 +0,0 @@ -# This recipe is modified from the recipe originally found in the Open-Switch -# repository: -# -# https://github.com/open-switch/ops-build -# yocto/openswitch/meta-foss-openswitch/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb -# Commit 9008de2d8e100f3f868c66765742bca9fa98f3f9 -# -# The recipe packaging has been relicensed under the MIT license for inclusion -# in meta-openembedded by agreement of the author (Diego Dompe). -# - -SUMMARY = "Tools to enhance VMWare guest integration and performance" -HOMEPAGE = "https://github.com/vmware/open-vm-tools" -DESCRIPTION = "\ -open-vm-tools is a set of services and modules that enable several features in VMware products \ -for better management of and seamless user interactions with guests.\ -" -SECTION = "vmware-tools" - -LICENSE = "LGPL-2.0-only & GPL-2.0-only & BSD-2-Clause & CDDL-1.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=559317809c5444fb39ceaf6ac45c43ac" -LICENSE:modules/freebsd/vmblock = "BSD-2-Clause" -LICENSE:modules/freebsd/vmmemctl = "GPL-2.0-only" -LICENSE:modules/freebsd/vmxnet = "GPL-2.0-only" -LICENSE:modules/linux = "GPL-2.0-only" -LICENSE:modules/solaris = "CDDL-1.0" - -SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https;branch=master \ - file://tools.conf \ - file://vmtoolsd.service \ - file://vmtoolsd.init \ - file://0001-configure.ac-don-t-use-dnet-config.patch;patchdir=.. \ - file://0003-Use-configure-test-for-struct-timespec.patch;patchdir=.. \ - file://0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch;patchdir=.. \ - file://0005-Use-configure-to-test-for-feature-instead-of-platfor.patch;patchdir=.. \ - file://0006-Use-configure-test-for-sys-stat.h-include.patch;patchdir=.. \ - file://0007-Fix-subdir-objects-configure-error.patch;patchdir=.. \ - file://0008-include-poll.h-instead-of-sys-poll.h.patch;patchdir=.. \ - file://0009-Rename-poll.h-to-vm_poll.h.patch;patchdir=.. \ - file://0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch;patchdir=.. \ - file://0011-Use-uintmax_t-for-handling-rlim_t.patch;patchdir=.. \ - file://0012-Use-off64_t-instead-of-__off64_t.patch;patchdir=.. \ - file://0013-misc-Do-not-print-NULL-string-into-logs.patch;patchdir=.. \ - file://0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch;patchdir=.. \ - file://0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch;patchdir=.. \ - file://0001-open-vm-tools-Correct-include-path-for-poll.h.patch;patchdir=.. \ - " - -UPSTREAM_CHECK_GITTAGREGEX = "stable-(?P\d+(\.\d+)+)" - -SRC_URI:append:libc-musl = " file://0001-Add-resolv_compat.h-for-musl-builds.patch;patchdir=.. \ -" - -SRCREV = "87abba1ce2356fc860eb9d0777d8e9de47427358" - -S = "${WORKDIR}/git/open-vm-tools" - -DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps libtirpc" - -# open-vm-tools is supported only on x86. -COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' - -inherit autotools pkgconfig systemd update-rc.d - -SYSTEMD_SERVICE:${PN} = "vmtoolsd.service" - -EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs \ - --disable-tests --without-gtkmm --without-xerces --without-pam \ - --disable-vgauth --disable-deploypkg \ - --without-root-privileges --without-kernel-modules --with-tirpc \ - --with-udev-rules-dir=${nonarch_base_libdir}/udev/rules.d" - -NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3" -X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf" -PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}" - -# fuse gets implicitly detected; there is no --without-fuse option. -PACKAGECONFIG[fuse] = ",,fuse" - -CFLAGS:append:toolchain-clang = " -Wno-address-of-packed-member" -FILES:${PN} += "\ - ${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \ - ${libdir}/open-vm-tools/plugins/common/lib*.so \ - ${sysconfdir}/vmware-tools/tools.conf \ -" -FILES:${PN}-locale += "${datadir}/open-vm-tools/messages" -FILES:${PN}-dev += "${libdir}/open-vm-tools/plugins/common/lib*.la" - -CONFFILES:${PN} += "${sysconfdir}/vmware-tools/tools.conf" - -RDEPENDS:${PN} = "util-linux libdnet fuse" - -do_install:append() { - if ! ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then - install -d ${D}/sbin - ln -sf ${sbindir}/mount.vmhgfs ${D}/sbin/mount.vmhgfs - fi - install -d ${D}${sysconfdir}/vmware-tools - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_unitdir}/system - install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system - else - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/vmtoolsd.init ${D}${sysconfdir}/init.d/vmtoolsd - fi - install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf -} - -do_configure:prepend() { - export CUSTOM_DNET_NAME=dnet - export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so -} - -INITSCRIPT_PACKAGES = "${PN}" -INITSCRIPT_NAME:${PN} = "vmtoolsd" -INITSCRIPT_PARAMS:${PN} = "start 90 2 3 4 5 . stop 60 0 1 6 ." - -python() { - if 'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split(): - raise bb.parse.SkipRecipe('Requires meta-filesystems to be present to provide fuse.') -} diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools_12.1.0.bb b/meta-networking/recipes-support/open-vm-tools/open-vm-tools_12.1.0.bb new file mode 100644 index 00000000000..19e4ee11ed6 --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools_12.1.0.bb @@ -0,0 +1,119 @@ +# This recipe is modified from the recipe originally found in the Open-Switch +# repository: +# +# https://github.com/open-switch/ops-build +# yocto/openswitch/meta-foss-openswitch/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb +# Commit 9008de2d8e100f3f868c66765742bca9fa98f3f9 +# +# The recipe packaging has been relicensed under the MIT license for inclusion +# in meta-openembedded by agreement of the author (Diego Dompe). +# + +SUMMARY = "Tools to enhance VMWare guest integration and performance" +HOMEPAGE = "https://github.com/vmware/open-vm-tools" +DESCRIPTION = "\ +open-vm-tools is a set of services and modules that enable several features in VMware products \ +for better management of and seamless user interactions with guests.\ +" +SECTION = "vmware-tools" + +LICENSE = "LGPL-2.0-only & GPL-2.0-only & BSD-2-Clause & CDDL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=559317809c5444fb39ceaf6ac45c43ac" +LICENSE:modules/freebsd/vmblock = "BSD-2-Clause" +LICENSE:modules/freebsd/vmmemctl = "GPL-2.0-only" +LICENSE:modules/freebsd/vmxnet = "GPL-2.0-only" +LICENSE:modules/linux = "GPL-2.0-only" +LICENSE:modules/solaris = "CDDL-1.0" + +SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https;branch=master \ + file://tools.conf \ + file://vmtoolsd.service \ + file://vmtoolsd.init \ + file://0001-configure.ac-don-t-use-dnet-config.patch;patchdir=.. \ + file://0002-Use-configure-test-for-struct-timespec.patch;patchdir=.. \ + file://0003-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch;patchdir=.. \ + file://0004-Use-configure-to-test-for-feature-instead-of-platfor.patch;patchdir=.. \ + file://0005-Use-configure-test-for-sys-stat.h-include.patch;patchdir=.. \ + file://0006-Fix-subdir-objects-configure-error.patch;patchdir=.. \ + file://0007-include-poll.h-instead-of-sys-poll.h.patch;patchdir=.. \ + file://0008-Rename-poll.h-to-vm_poll.h.patch;patchdir=.. \ + file://0009-use-posix-strerror_r-unless-on-gnu-libc-system.patch;patchdir=.. \ + file://0010-Use-uintmax_t-for-handling-rlim_t.patch;patchdir=.. \ + file://0011-Use-off64_t-instead-of-__off64_t.patch;patchdir=.. \ + file://0012-hgfsServerLinux-Consider-64bit-time_t-possibility.patch;patchdir=.. \ + file://0013-open-vm-tools-Correct-include-path-for-poll.h.patch;patchdir=.. \ + " + +UPSTREAM_CHECK_GITTAGREGEX = "stable-(?P\d+(\.\d+)+)" + +SRC_URI:append:libc-musl = " file://0001-Add-resolv_compat.h-for-musl-builds.patch;patchdir=.. \ +" + +SRCREV = "6f5e4b13647b40a45c196dad76b1cb39cc6690b9" + +S = "${WORKDIR}/git/open-vm-tools" + +DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps libtirpc" + +# open-vm-tools is supported only on x86. +COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' + +inherit autotools pkgconfig systemd update-rc.d + +SYSTEMD_SERVICE:${PN} = "vmtoolsd.service" + +EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs \ + --disable-tests --without-gtkmm --without-xerces --without-pam \ + --disable-vgauth --disable-deploypkg --disable-containerinfo \ + --without-root-privileges --without-kernel-modules --with-tirpc \ + --with-udev-rules-dir=${nonarch_base_libdir}/udev/rules.d" + +NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3" +X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf" +PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}" + +# fuse gets implicitly detected; there is no --without-fuse option. +PACKAGECONFIG[fuse] = ",,fuse" + +CFLAGS:append:toolchain-clang = " -Wno-address-of-packed-member" +FILES:${PN} += "\ + ${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \ + ${libdir}/open-vm-tools/plugins/common/lib*.so \ + ${sysconfdir}/vmware-tools/tools.conf \ +" +FILES:${PN}-locale += "${datadir}/open-vm-tools/messages" +FILES:${PN}-dev += "${libdir}/open-vm-tools/plugins/common/lib*.la" + +CONFFILES:${PN} += "${sysconfdir}/vmware-tools/tools.conf" + +RDEPENDS:${PN} = "util-linux libdnet fuse" + +do_install:append() { + if ! ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then + install -d ${D}/sbin + ln -sf ${sbindir}/mount.vmhgfs ${D}/sbin/mount.vmhgfs + fi + install -d ${D}${sysconfdir}/vmware-tools + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system + else + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/vmtoolsd.init ${D}${sysconfdir}/init.d/vmtoolsd + fi + install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf +} + +do_configure:prepend() { + export CUSTOM_DNET_NAME=dnet + export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so +} + +INITSCRIPT_PACKAGES = "${PN}" +INITSCRIPT_NAME:${PN} = "vmtoolsd" +INITSCRIPT_PARAMS:${PN} = "start 90 2 3 4 5 . stop 60 0 1 6 ." + +python() { + if 'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split(): + raise bb.parse.SkipRecipe('Requires meta-filesystems to be present to provide fuse.') +} diff --git a/meta-networking/recipes-support/openvpn/openvpn_2.5.7.bb b/meta-networking/recipes-support/openvpn/openvpn_2.5.7.bb deleted file mode 100644 index a28c73ab5ae..00000000000 --- a/meta-networking/recipes-support/openvpn/openvpn_2.5.7.bb +++ /dev/null @@ -1,77 +0,0 @@ -SUMMARY = "A full-featured SSL VPN solution via tun device." -HOMEPAGE = "https://openvpn.net/" -SECTION = "net" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b76abd82c14ee01cc34c4ff5e3627b89" -DEPENDS = "lzo openssl iproute2 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" - -inherit autotools systemd update-rc.d pkgconfig - -SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \ - file://0001-configure.ac-eliminate-build-path-from-openvpn-versi.patch \ - file://openvpn \ - " - -UPSTREAM_CHECK_URI = "https://openvpn.net/community-downloads" - -SRC_URI[sha256sum] = "08340a389905c84196b6cd750add1bc0fa2d46a1afebfd589c24120946c13e68" - -# CVE-2020-7224 and CVE-2020-27569 are for Aviatrix OpenVPN client, not for openvpn. -CVE_CHECK_IGNORE += "CVE-2020-7224 CVE-2020-27569" - -INITSCRIPT_PACKAGES = "${PN}" -INITSCRIPT_NAME:${PN} = "openvpn" -INITSCRIPT_PARAMS:${PN} = "start 10 2 3 4 5 . stop 70 0 1 6 ." - -CFLAGS += "-fno-inline" - -# I want openvpn to be able to read password from file (hrw) -EXTRA_OECONF += "--enable-iproute2" -EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}" - -# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host. -EXTRA_OECONF += "IPROUTE=${base_sbindir}/ip" - -EXTRA_OECONF += "SYSTEMD_UNIT_DIR=${systemd_system_unitdir} \ - TMPFILES_DIR=${nonarch_libdir}/tmpfiles.d \ - " - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ - " - -PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" -PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" - -do_install:append() { - install -d ${D}/${sysconfdir}/init.d - install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d - - install -d ${D}/${sysconfdir}/openvpn - install -d ${D}/${sysconfdir}/openvpn/server - install -d ${D}/${sysconfdir}/openvpn/client - - install -d ${D}/${sysconfdir}/openvpn/sample - install -m 644 ${S}/sample/sample-config-files/loopback-server ${D}${sysconfdir}/openvpn/sample/loopback-server.conf - install -m 644 ${S}/sample/sample-config-files/loopback-client ${D}${sysconfdir}/openvpn/sample/loopback-client.conf - install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-config-files - install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys - install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-scripts - install -m 644 ${S}/sample/sample-config-files/* ${D}${sysconfdir}/openvpn/sample/sample-config-files - install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys - install -m 644 ${S}/sample/sample-scripts/* ${D}${sysconfdir}/openvpn/sample/sample-scripts - - install -d -m 710 ${D}/${localstatedir}/lib/openvpn -} - -PACKAGES =+ " ${PN}-sample " - -RRECOMMENDS:${PN} = "kernel-module-tun" - -FILES:${PN}-dbg += "${libdir}/openvpn/plugins/.debug" -FILES:${PN} += "${systemd_system_unitdir}/openvpn-server@.service \ - ${systemd_system_unitdir}/openvpn-client@.service \ - ${nonarch_libdir}/tmpfiles.d \ - " -FILES:${PN}-sample = "${sysconfdir}/openvpn/sample/ \ - " diff --git a/meta-networking/recipes-support/openvpn/openvpn_2.5.8.bb b/meta-networking/recipes-support/openvpn/openvpn_2.5.8.bb new file mode 100644 index 00000000000..b2783d99284 --- /dev/null +++ b/meta-networking/recipes-support/openvpn/openvpn_2.5.8.bb @@ -0,0 +1,77 @@ +SUMMARY = "A full-featured SSL VPN solution via tun device." +HOMEPAGE = "https://openvpn.net/" +SECTION = "net" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b76abd82c14ee01cc34c4ff5e3627b89" +DEPENDS = "lzo openssl iproute2 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" + +inherit autotools systemd update-rc.d pkgconfig + +SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \ + file://0001-configure.ac-eliminate-build-path-from-openvpn-versi.patch \ + file://openvpn \ + " + +UPSTREAM_CHECK_URI = "https://openvpn.net/community-downloads" + +SRC_URI[sha256sum] = "a6f315b7231d44527e65901ff646f87d7f07862c87f33531daa109fb48c53db2" + +# CVE-2020-7224 and CVE-2020-27569 are for Aviatrix OpenVPN client, not for openvpn. +CVE_CHECK_IGNORE += "CVE-2020-7224 CVE-2020-27569" + +INITSCRIPT_PACKAGES = "${PN}" +INITSCRIPT_NAME:${PN} = "openvpn" +INITSCRIPT_PARAMS:${PN} = "start 10 2 3 4 5 . stop 70 0 1 6 ." + +CFLAGS += "-fno-inline" + +# I want openvpn to be able to read password from file (hrw) +EXTRA_OECONF += "--enable-iproute2" +EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}" + +# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host. +EXTRA_OECONF += "IPROUTE=${base_sbindir}/ip" + +EXTRA_OECONF += "SYSTEMD_UNIT_DIR=${systemd_system_unitdir} \ + TMPFILES_DIR=${nonarch_libdir}/tmpfiles.d \ + " + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ + " + +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" + +do_install:append() { + install -d ${D}/${sysconfdir}/init.d + install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d + + install -d ${D}/${sysconfdir}/openvpn + install -d ${D}/${sysconfdir}/openvpn/server + install -d ${D}/${sysconfdir}/openvpn/client + + install -d ${D}/${sysconfdir}/openvpn/sample + install -m 644 ${S}/sample/sample-config-files/loopback-server ${D}${sysconfdir}/openvpn/sample/loopback-server.conf + install -m 644 ${S}/sample/sample-config-files/loopback-client ${D}${sysconfdir}/openvpn/sample/loopback-client.conf + install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-config-files + install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys + install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-scripts + install -m 644 ${S}/sample/sample-config-files/* ${D}${sysconfdir}/openvpn/sample/sample-config-files + install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys + install -m 644 ${S}/sample/sample-scripts/* ${D}${sysconfdir}/openvpn/sample/sample-scripts + + install -d -m 710 ${D}/${localstatedir}/lib/openvpn +} + +PACKAGES =+ " ${PN}-sample " + +RRECOMMENDS:${PN} = "kernel-module-tun" + +FILES:${PN}-dbg += "${libdir}/openvpn/plugins/.debug" +FILES:${PN} += "${systemd_system_unitdir}/openvpn-server@.service \ + ${systemd_system_unitdir}/openvpn-client@.service \ + ${nonarch_libdir}/tmpfiles.d \ + " +FILES:${PN}-sample = "${sysconfdir}/openvpn/sample/ \ + " diff --git a/meta-networking/recipes-support/rdma-core/rdma-core/0001-examples-Include-alloca.h-for-strdupa.patch b/meta-networking/recipes-support/rdma-core/rdma-core/0001-examples-Include-alloca.h-for-strdupa.patch new file mode 100644 index 00000000000..cb472d9db94 --- /dev/null +++ b/meta-networking/recipes-support/rdma-core/rdma-core/0001-examples-Include-alloca.h-for-strdupa.patch @@ -0,0 +1,29 @@ +From a6c547e46bbadd2c08be9944a85308f6625263cb Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 29 Aug 2022 23:15:44 -0700 +Subject: [PATCH] examples: Include alloca.h for strdupa + +musl defines strdupa via a macro which uses alloca() therefore include +the header to get the prototype + +Upstream-Status: Submitted [https://github.com/linux-rdma/rdma-core/pull/1212] +Signed-off-by: Khem Raj +--- + libibverbs/examples/asyncwatch.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libibverbs/examples/asyncwatch.c b/libibverbs/examples/asyncwatch.c +index 724796e58..842b94180 100644 +--- a/libibverbs/examples/asyncwatch.c ++++ b/libibverbs/examples/asyncwatch.c +@@ -36,6 +36,7 @@ + #include + #include + #include ++#include + + #include + #include +-- +2.37.2 + diff --git a/meta-networking/recipes-support/rdma-core/rdma-core_41.0.bb b/meta-networking/recipes-support/rdma-core/rdma-core_41.0.bb deleted file mode 100644 index e5ecc5cd62a..00000000000 --- a/meta-networking/recipes-support/rdma-core/rdma-core_41.0.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "Userspace support for InfiniBand/RDMA verbs" -DESCRIPTION = "This is the userspace components for the Linux Kernel's drivers Infiniband/RDMA subsystem." -SECTION = "libs" - -DEPENDS = "libnl" -RDEPENDS:${PN} = "bash perl" - -SRC_URI = "git://github.com/linux-rdma/rdma-core.git;branch=master;protocol=https" -SRCREV = "467363efbc0fea706752c1ba7a21c313823017e7" -S = "${WORKDIR}/git" - -#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md -LICENSE = "BSD-2-Clause | GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING.BSD_FB;md5=0ec18bae1a9df92c8d6ae01f94a289ae \ - file://COPYING.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -EXTRA_OECMAKE = " \ - -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=${systemd_system_unitdir} \ - -DCMAKE_INSTALL_PERLDIR=${libdir}/perl5/${@get_perl_version(d)} \ - -DNO_MAN_PAGES=1 \ -" - -LTO = "" - -FILES_SOLIBSDEV = "" -FILES:${PN} += "${libdir}/*" -INSANE_SKIP:${PN} += "dev-so" - -inherit cmake cpan-base pkgconfig python3native systemd - -SYSTEMD_SERVICE:${PN} = " \ - srp_daemon.service \ - iwpmd.service \ - ibacm.socket \ - rdma-load-modules@.service \ - srp_daemon_port@.service \ - rdma-hw.target \ - ibacm.service \ -" -SYSTEMD_AUTO_ENABLE = "disable" - -OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" diff --git a/meta-networking/recipes-support/rdma-core/rdma-core_42.0.bb b/meta-networking/recipes-support/rdma-core/rdma-core_42.0.bb new file mode 100644 index 00000000000..86243a52c53 --- /dev/null +++ b/meta-networking/recipes-support/rdma-core/rdma-core_42.0.bb @@ -0,0 +1,44 @@ +SUMMARY = "Userspace support for InfiniBand/RDMA verbs" +DESCRIPTION = "This is the userspace components for the Linux Kernel's drivers Infiniband/RDMA subsystem." +SECTION = "libs" + +DEPENDS = "libnl" +RDEPENDS:${PN} = "bash perl" + +SRC_URI = "git://github.com/linux-rdma/rdma-core.git;branch=master;protocol=https \ + file://0001-examples-Include-alloca.h-for-strdupa.patch \ + " +SRCREV = "196bad56ed060612e22674b668b5ec3d8659ade3" +S = "${WORKDIR}/git" + +#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md +LICENSE = "BSD-2-Clause | GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING.BSD_FB;md5=0ec18bae1a9df92c8d6ae01f94a289ae \ + file://COPYING.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +EXTRA_OECMAKE = " \ + -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=${systemd_system_unitdir} \ + -DCMAKE_INSTALL_PERLDIR=${libdir}/perl5/${@get_perl_version(d)} \ + -DNO_MAN_PAGES=1 \ +" + +LTO = "" + +FILES_SOLIBSDEV = "" +FILES:${PN} += "${libdir}/*" +INSANE_SKIP:${PN} += "dev-so" + +inherit cmake cpan-base pkgconfig python3native systemd + +SYSTEMD_SERVICE:${PN} = " \ + srp_daemon.service \ + iwpmd.service \ + ibacm.socket \ + rdma-load-modules@.service \ + srp_daemon_port@.service \ + rdma-hw.target \ + ibacm.service \ +" +SYSTEMD_AUTO_ENABLE = "disable" + +OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" diff --git a/meta-networking/recipes-support/spice/spice-gtk_0.4.1.bb b/meta-networking/recipes-support/spice/spice-gtk_0.4.1.bb new file mode 100644 index 00000000000..58089c0a2d8 --- /dev/null +++ b/meta-networking/recipes-support/spice/spice-gtk_0.4.1.bb @@ -0,0 +1,43 @@ +SUMMARY = "A Gtk client and libraries for SPICE remote desktop servers." +HOMEPAGE = "https://spice-space.org" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRCREV = "74e673d7c3d9cd281d85c691fbc520107066da01" + +SRC_URI = "gitsm://gitlab.freedesktop.org/spice/spice-gtk.git;protocol=https;branch=master" + +S = "${WORKDIR}/git" + +DEPENDS = " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland wayland-native wayland-protocols', '', d)} \ + acl \ + cyrus-sasl \ + gstreamer1.0 \ + gstreamer1.0-plugins-base \ + gstreamer1.0-vaapi \ + gtk+3 \ + jpeg \ + json-glib \ + libcap-ng \ + libepoxy \ + libopus \ + libusb1 \ + lz4 \ + pixman \ + python3-pyparsing-native \ + python3-six-native \ + spice-protocol \ + usbredir \ + usbutils \ + zlib \ +" + +RDEPENDS:${PN} = "python3-pyparsing python3-six" + +inherit meson pkgconfig vala gobject-introspection + +EXTRA_OEMESON = "-Dpie=true -Dvapi=enabled -Dintrospection=enabled" + +FILES:${PN} += "${datadir}" diff --git a/meta-networking/recipes-support/spice/spice_git.bb b/meta-networking/recipes-support/spice/spice_git.bb index 1887a5582fa..b3e687476b0 100644 --- a/meta-networking/recipes-support/spice/spice_git.bb +++ b/meta-networking/recipes-support/spice/spice_git.bb @@ -58,7 +58,7 @@ PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus," PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,," PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama," -COMPATIBLE_HOST = '(x86_64|i.86).*-linux' +COMPATIBLE_HOST = '(x86_64|i.86|aarch64).*-linux' BBCLASSEXTEND = "native nativesdk" diff --git a/meta-networking/recipes-support/ssmtp/ssmtp/0001-ssmtp-Correct-the-null-pointer-assignment-to-char-po.patch b/meta-networking/recipes-support/ssmtp/ssmtp/0001-ssmtp-Correct-the-null-pointer-assignment-to-char-po.patch new file mode 100644 index 00000000000..c7468fe17fd --- /dev/null +++ b/meta-networking/recipes-support/ssmtp/ssmtp/0001-ssmtp-Correct-the-null-pointer-assignment-to-char-po.patch @@ -0,0 +1,51 @@ +From 58cfb4f86b7fbf19eb643dfba87fdd890b3d4a4a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 24 Aug 2022 19:27:31 -0700 +Subject: [PATCH] ssmtp: Correct the null pointer assignment to char pointers + +Fixes +error: incompatible integer to pointer conversion initializing 'char *' with an expression of type 'char' [-Wint-conversion] +| char *from = (char)NULL; /* Use this as the From: address */ + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + ssmtp.c | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/ssmtp.c b/ssmtp.c +index a74ba4e..0a719ac 100644 +--- a/ssmtp.c ++++ b/ssmtp.c +@@ -55,21 +55,21 @@ bool_t use_oldauth = False; /* use old AUTH LOGIN username style */ + + #define ARPADATE_LENGTH 32 /* Current date in RFC format */ + char arpadate[ARPADATE_LENGTH]; +-char *auth_user = (char)NULL; +-char *auth_pass = (char)NULL; +-char *auth_method = (char)NULL; /* Mechanism for SMTP authentication */ +-char *mail_domain = (char)NULL; +-char *from = (char)NULL; /* Use this as the From: address */ ++char *auth_user = NULL; ++char *auth_pass = NULL; ++char *auth_method = NULL; /* Mechanism for SMTP authentication */ ++char *mail_domain = NULL; ++char *from = NULL; /* Use this as the From: address */ + char *hostname; + char *mailhost = "mailhub"; +-char *minus_f = (char)NULL; +-char *minus_F = (char)NULL; ++char *minus_f = NULL; ++char *minus_F = NULL; + char *gecos; +-char *prog = (char)NULL; ++char *prog = NULL; + char *root = NULL; + char *tls_cert = "/etc/ssl/certs/ssmtp.pem"; /* Default Certificate */ +-char *uad = (char)NULL; +-char *config_file = (char)NULL; /* alternate configuration file */ ++char *uad = NULL; ++char *config_file = NULL; /* alternate configuration file */ + + headers_t headers, *ht; + diff --git a/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb b/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb index b0e921d4232..05d2bb18ffe 100644 --- a/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb +++ b/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb @@ -7,7 +7,8 @@ SRC_URI = "${DEBIAN_MIRROR}/main/s/${BPN}/${BPN}_${PV}.orig.tar.bz2 \ file://ssmtp-bug584162-fix.patch \ file://build-ouside_srcdir.patch \ file://use-DESTDIR.patch \ -" + file://0001-ssmtp-Correct-the-null-pointer-assignment-to-char-po.patch \ + " SRC_URI[md5sum] = "65b4e0df4934a6cd08c506cabcbe584f" SRC_URI[sha256sum] = "22c37dc90c871e8e052b2cab0ad219d010fa938608cd66b21c8f3c759046fa36" diff --git a/meta-networking/recipes-support/strongswan/strongswan_5.9.7.bb b/meta-networking/recipes-support/strongswan/strongswan_5.9.7.bb deleted file mode 100644 index 71ffb7ba448..00000000000 --- a/meta-networking/recipes-support/strongswan/strongswan_5.9.7.bb +++ /dev/null @@ -1,189 +0,0 @@ -DESCRIPTION = "strongSwan is an OpenSource IPsec implementation for the \ -Linux operating system." -SUMMARY = "strongSwan is an OpenSource IPsec implementation" -HOMEPAGE = "http://www.strongswan.org" -SECTION = "net" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "flex-native flex bison-native" -DEPENDS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'tpm2', ' tpm2-tss', '', d)}" - -SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \ - " - -SRC_URI[sha256sum] = "9e64a2ba62efeac81abff1d962522404ebc6ed6c0d352a23ab7c0b2c639e3fcf" - -UPSTREAM_CHECK_REGEX = "strongswan-(?P\d+(\.\d+)+)\.tar" - -EXTRA_OECONF = " \ - --without-lib-prefix \ - --with-dev-headers=${includedir}/strongswan \ -" - -EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}" - -PACKAGECONFIG ?= "curl gmp openssl sqlite3 swanctl curve25519\ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-charon', 'charon', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'tpm2', 'tpm2', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ima', 'tnc-imc imc-hcd imc-os imc-scanner imc-attestation', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ima', 'tnc-imv imv-hcd imv-os imv-scanner imv-attestation', '', d)} \ -" - -PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni" -PACKAGECONFIG[bfd] = "--enable-bfd-backtraces,--disable-bfd-backtraces,binutils" -PACKAGECONFIG[charon] = "--enable-charon,--disable-charon," -PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,${PN}-plugin-curl" -PACKAGECONFIG[eap-identity] = "--enable-eap-identity,--disable-eap-identity,,${PN}-plugin-eap-identity" -PACKAGECONFIG[eap-mschapv2] = "--enable-eap-mschapv2,--disable-eap-mschapv2,,${PN}-plugin-eap-mschapv2" -PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp" -PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap" -PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql" -PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl" -PACKAGECONFIG[scep] = "--enable-scepclient,--disable-scepclient," -PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,${PN}-plugin-soup" -PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite" -PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,,${PN}-plugin-stroke" -PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc" -PACKAGECONFIG[curve25519] = "--enable-curve25519,--disable-curve25519,, ${PN}-plugin-curve25519" - -# requires swanctl -PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd," - -# tpm needs meta-tpm layer -PACKAGECONFIG[tpm2] = "--enable-tpm,--disable-tpm,,${PN}-plugin-tpm" - - -# integraty configuration needs meta-integraty -#imc -PACKAGECONFIG[tnc-imc] = "--enable-tnc-imc,--disable-tnc-imc,, ${PN}-plugin-tnc-imc ${PN}-plugin-tnc-tnccs" -PACKAGECONFIG[imc-test] = "--enable-imc-test,--disable-imc-test,," -PACKAGECONFIG[imc-scanner] = "--enable-imc-scanner,--disable-imc-scanner,," -PACKAGECONFIG[imc-os] = "--enable-imc-os,--disable-imc-os,," -PACKAGECONFIG[imc-attestation] = "--enable-imc-attestation,--disable-imc-attestation,," -PACKAGECONFIG[imc-swima] = "--enable-imc-swima, --disable-imc-swima, json-c," -PACKAGECONFIG[imc-hcd] = "--enable-imc-hcd, --disable-imc-hcd,," - -#imv set -PACKAGECONFIG[tnc-imv] = "--enable-tnc-imv,--disable-tnc-imv,, ${PN}-plugin-tnc-imv ${PN}-plugin-tnc-tnccs" -PACKAGECONFIG[imv-test] = "--enable-imv-test,--disable-imv-test,," -PACKAGECONFIG[imv-scanner] = "--enable-imv-scanner,--disable-imv-scanner,," -PACKAGECONFIG[imv-os] = "--enable-imv-os,--disable-imv-os,," -PACKAGECONFIG[imv-attestation] = "--enable-imv-attestation,--disable-imv-attestation,," -PACKAGECONFIG[imv-swima] = "--enable-imv-swima, --disable-imv-swima, json-c," -PACKAGECONFIG[imv-hcd] = "--enable-imv-hcd, --disable-imv-hcd,," - -PACKAGECONFIG[tnc-ifmap] = "--enable-tnc-ifmap,--disable-tnc-ifmap, libxml2, ${PN}-plugin-tnc-ifmap" -PACKAGECONFIG[tnc-pdp] = "--enable-tnc-pdp,--disable-tnc-pdp,, ${PN}-plugin-tnc-pdp" - -PACKAGECONFIG[tnccs-11] = "--enable-tnccs-11,--disable-tnccs-11,libxml2, ${PN}-plugin-tnccs-11" -PACKAGECONFIG[tnccs-20] = "--enable-tnccs-20,--disable-tnccs-20,, ${PN}-plugin-tnccs-20" -PACKAGECONFIG[tnccs-dynamic] = "--enable-tnccs-dynamic,--disable-tnccs-dynamic,,${PN}-plugin-tnccs-dynamic" - -inherit autotools systemd pkgconfig - -RRECOMMENDS:${PN} = "kernel-module-ah4 \ - kernel-module-esp4 \ - kernel-module-xfrm-user \ - " - -FILES:${PN} += "${libdir}/ipsec/lib*${SOLIBS}" -FILES:${PN}-dbg += "${bindir}/.debug ${sbindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug" -FILES:${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la ${libdir}/ipsec/include/config.h" -FILES:${PN}-staticdev += "${libdir}/ipsec/*.a" - -CONFFILES:${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf" - -PACKAGES += "${PN}-plugins" -ALLOW_EMPTY:${PN}-plugins = "1" - -PACKAGE_BEFORE_PN = "${PN}-imcvs ${PN}-imcvs-dbg" -ALLOW_EMPTY:${PN}-imcvs = "1" - -FILES:${PN}-imcvs = "${libdir}/ipsec/imcvs/*.so" -FILES:${PN}-imcvs-dbg += "${libdir}/ipsec/imcvs/.debug" - -PACKAGES_DYNAMIC += "^${PN}-plugin-.*$" -NOAUTOPACKAGEDEBUG = "1" - -python split_strongswan_plugins () { - sysconfdir = d.expand('${sysconfdir}/strongswan.d/charon') - libdir = d.expand('${libdir}/ipsec/plugins') - dbglibdir = os.path.join(libdir, '.debug') - - def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename): - dvar = d.getVar('PKGD') - oldfiles = d.getVar('CONFFILES:' + pkg) - newfile = '/' + os.path.relpath(f, dvar) - - if not oldfiles: - d.setVar('CONFFILES:' + pkg, newfile) - else: - d.setVar('CONFFILES:' + pkg, oldfiles + " " + newfile) - - split_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.so', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True) - do_split_packages(d, sysconfdir, r'(.*)\.conf', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True, hook=add_plugin_conf) - - split_dbg_packages = do_split_packages(d, dbglibdir, r'libstrongswan-(.*)\.so', '${PN}-plugin-%s-dbg', 'strongSwan %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg') - split_dev_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.la', '${PN}-plugin-%s-dev', 'strongSwan %s plugin - Development files', prepend=True, extra_depends='${PN}-dev') - split_staticdev_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev') - - if split_packages: - pn = d.getVar('PN') - d.setVar('RRECOMMENDS:' + pn + '-plugins', ' '.join(split_packages)) - d.appendVar('RRECOMMENDS:' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages)) - d.appendVar('RRECOMMENDS:' + pn + '-dev', ' ' + ' '.join(split_dev_packages)) - d.appendVar('RRECOMMENDS:' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages)) -} - -PACKAGESPLITFUNCS:prepend = "split_strongswan_plugins " - -# Install some default plugins based on default strongSwan ./configure options -# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist -RDEPENDS:${PN} += "\ - ${PN}-plugin-aes \ - ${PN}-plugin-attr \ - ${PN}-plugin-cmac \ - ${PN}-plugin-constraints \ - ${PN}-plugin-des \ - ${PN}-plugin-dnskey \ - ${PN}-plugin-drbg \ - ${PN}-plugin-fips-prf \ - ${PN}-plugin-hmac \ - ${PN}-plugin-kdf \ - ${PN}-plugin-kernel-netlink \ - ${PN}-plugin-md5 \ - ${PN}-plugin-mgf1 \ - ${PN}-plugin-nonce \ - ${PN}-plugin-pem \ - ${PN}-plugin-pgp \ - ${PN}-plugin-pkcs1 \ - ${PN}-plugin-pkcs7 \ - ${PN}-plugin-pkcs8 \ - ${PN}-plugin-pkcs12 \ - ${PN}-plugin-pubkey \ - ${PN}-plugin-random \ - ${PN}-plugin-rc2 \ - ${PN}-plugin-resolve \ - ${PN}-plugin-revocation \ - ${PN}-plugin-sha1 \ - ${PN}-plugin-sha2 \ - ${PN}-plugin-socket-default \ - ${PN}-plugin-sshkey \ - ${PN}-plugin-updown \ - ${PN}-plugin-vici \ - ${PN}-plugin-x509 \ - ${PN}-plugin-xauth-generic \ - ${PN}-plugin-xcbc \ - " - -RPROVIDES:${PN} += "${PN}-systemd" -RREPLACES:${PN} += "${PN}-systemd" -RCONFLICTS:${PN} += "${PN}-systemd" - -# The deprecated legacy 'strongswan-starter' service should only be used when charon and -# stroke are enabled. When swanctl is in use, 'strongswan.service' is needed. -# See: https://wiki.strongswan.org/projects/strongswan/wiki/Charon-systemd -SYSTEMD_SERVICE:${PN} = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}.service', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'charon', '${BPN}-starter.service', '', d)} \ -" diff --git a/meta-networking/recipes-support/strongswan/strongswan_5.9.8.bb b/meta-networking/recipes-support/strongswan/strongswan_5.9.8.bb new file mode 100644 index 00000000000..266d43aa6f2 --- /dev/null +++ b/meta-networking/recipes-support/strongswan/strongswan_5.9.8.bb @@ -0,0 +1,189 @@ +DESCRIPTION = "strongSwan is an OpenSource IPsec implementation for the \ +Linux operating system." +SUMMARY = "strongSwan is an OpenSource IPsec implementation" +HOMEPAGE = "http://www.strongswan.org" +SECTION = "net" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "flex-native flex bison-native" +DEPENDS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'tpm2', ' tpm2-tss', '', d)}" + +SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \ + " + +SRC_URI[sha256sum] = "d3303a43c0bd7b75a12b64855e8edcb53696f06190364f26d1533bde1f2e453c" + +UPSTREAM_CHECK_REGEX = "strongswan-(?P\d+(\.\d+)+)\.tar" + +EXTRA_OECONF = " \ + --without-lib-prefix \ + --with-dev-headers=${includedir}/strongswan \ +" + +EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}" + +PACKAGECONFIG ?= "curl gmp openssl sqlite3 swanctl curve25519\ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-charon', 'charon', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'tpm2', 'tpm2', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ima', 'tnc-imc imc-hcd imc-os imc-scanner imc-attestation', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ima', 'tnc-imv imv-hcd imv-os imv-scanner imv-attestation', '', d)} \ +" + +PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni" +PACKAGECONFIG[bfd] = "--enable-bfd-backtraces,--disable-bfd-backtraces,binutils" +PACKAGECONFIG[charon] = "--enable-charon,--disable-charon," +PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,${PN}-plugin-curl" +PACKAGECONFIG[eap-identity] = "--enable-eap-identity,--disable-eap-identity,,${PN}-plugin-eap-identity" +PACKAGECONFIG[eap-mschapv2] = "--enable-eap-mschapv2,--disable-eap-mschapv2,,${PN}-plugin-eap-mschapv2" +PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp" +PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap" +PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql" +PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl" +PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,${PN}-plugin-soup" +PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite" +PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,,${PN}-plugin-stroke" +PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc" +PACKAGECONFIG[curve25519] = "--enable-curve25519,--disable-curve25519,, ${PN}-plugin-curve25519" + +# requires swanctl +PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd," + +# tpm needs meta-tpm layer +PACKAGECONFIG[tpm2] = "--enable-tpm,--disable-tpm,,${PN}-plugin-tpm" + + +# integraty configuration needs meta-integraty +#imc +PACKAGECONFIG[tnc-imc] = "--enable-tnc-imc,--disable-tnc-imc,, ${PN}-plugin-tnc-imc ${PN}-plugin-tnc-tnccs" +PACKAGECONFIG[imc-test] = "--enable-imc-test,--disable-imc-test,," +PACKAGECONFIG[imc-scanner] = "--enable-imc-scanner,--disable-imc-scanner,," +PACKAGECONFIG[imc-os] = "--enable-imc-os,--disable-imc-os,," +PACKAGECONFIG[imc-attestation] = "--enable-imc-attestation,--disable-imc-attestation,," +PACKAGECONFIG[imc-swima] = "--enable-imc-swima, --disable-imc-swima, json-c," +PACKAGECONFIG[imc-hcd] = "--enable-imc-hcd, --disable-imc-hcd,," + +#imv set +PACKAGECONFIG[tnc-imv] = "--enable-tnc-imv,--disable-tnc-imv,, ${PN}-plugin-tnc-imv ${PN}-plugin-tnc-tnccs" +PACKAGECONFIG[imv-test] = "--enable-imv-test,--disable-imv-test,," +PACKAGECONFIG[imv-scanner] = "--enable-imv-scanner,--disable-imv-scanner,," +PACKAGECONFIG[imv-os] = "--enable-imv-os,--disable-imv-os,," +PACKAGECONFIG[imv-attestation] = "--enable-imv-attestation,--disable-imv-attestation,," +PACKAGECONFIG[imv-swima] = "--enable-imv-swima, --disable-imv-swima, json-c," +PACKAGECONFIG[imv-hcd] = "--enable-imv-hcd, --disable-imv-hcd,," + +PACKAGECONFIG[tnc-ifmap] = "--enable-tnc-ifmap,--disable-tnc-ifmap, libxml2, ${PN}-plugin-tnc-ifmap" +PACKAGECONFIG[tnc-pdp] = "--enable-tnc-pdp,--disable-tnc-pdp,, ${PN}-plugin-tnc-pdp" + +PACKAGECONFIG[tnccs-11] = "--enable-tnccs-11,--disable-tnccs-11,libxml2, ${PN}-plugin-tnccs-11" +PACKAGECONFIG[tnccs-20] = "--enable-tnccs-20,--disable-tnccs-20,, ${PN}-plugin-tnccs-20" +PACKAGECONFIG[tnccs-dynamic] = "--enable-tnccs-dynamic,--disable-tnccs-dynamic,,${PN}-plugin-tnccs-dynamic" + +inherit autotools systemd pkgconfig + +RRECOMMENDS:${PN} = "kernel-module-ah4 \ + kernel-module-esp4 \ + kernel-module-xfrm-user \ + " + +FILES:${PN} += "${libdir}/ipsec/lib*${SOLIBS}" +FILES:${PN}-dbg += "${bindir}/.debug ${sbindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug" +FILES:${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la ${libdir}/ipsec/include/config.h" +FILES:${PN}-staticdev += "${libdir}/ipsec/*.a" + +CONFFILES:${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf" + +PACKAGES += "${PN}-plugins" +ALLOW_EMPTY:${PN}-plugins = "1" + +PACKAGE_BEFORE_PN = "${PN}-imcvs ${PN}-imcvs-dbg" +ALLOW_EMPTY:${PN}-imcvs = "1" + +FILES:${PN}-imcvs = "${libdir}/ipsec/imcvs/*.so" +FILES:${PN}-imcvs-dbg += "${libdir}/ipsec/imcvs/.debug" + +PACKAGES_DYNAMIC += "^${PN}-plugin-.*$" +NOAUTOPACKAGEDEBUG = "1" + +python split_strongswan_plugins () { + sysconfdir = d.expand('${sysconfdir}/strongswan.d/charon') + libdir = d.expand('${libdir}/ipsec/plugins') + dbglibdir = os.path.join(libdir, '.debug') + + def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename): + dvar = d.getVar('PKGD') + oldfiles = d.getVar('CONFFILES:' + pkg) + newfile = '/' + os.path.relpath(f, dvar) + + if not oldfiles: + d.setVar('CONFFILES:' + pkg, newfile) + else: + d.setVar('CONFFILES:' + pkg, oldfiles + " " + newfile) + + split_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.so', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True) + do_split_packages(d, sysconfdir, r'(.*)\.conf', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True, hook=add_plugin_conf) + + split_dbg_packages = do_split_packages(d, dbglibdir, r'libstrongswan-(.*)\.so', '${PN}-plugin-%s-dbg', 'strongSwan %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg') + split_dev_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.la', '${PN}-plugin-%s-dev', 'strongSwan %s plugin - Development files', prepend=True, extra_depends='${PN}-dev') + split_staticdev_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev') + + if split_packages: + pn = d.getVar('PN') + d.setVar('RRECOMMENDS:' + pn + '-plugins', ' '.join(split_packages)) + d.appendVar('RRECOMMENDS:' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages)) + d.appendVar('RRECOMMENDS:' + pn + '-dev', ' ' + ' '.join(split_dev_packages)) + d.appendVar('RRECOMMENDS:' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages)) +} + +PACKAGESPLITFUNCS:prepend = "split_strongswan_plugins " + +# Install some default plugins based on default strongSwan ./configure options +# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist +RDEPENDS:${PN} += "\ + ${PN}-plugin-aes \ + ${PN}-plugin-attr \ + ${PN}-plugin-cmac \ + ${PN}-plugin-constraints \ + ${PN}-plugin-des \ + ${PN}-plugin-dnskey \ + ${PN}-plugin-drbg \ + ${PN}-plugin-fips-prf \ + ${PN}-plugin-gcm \ + ${PN}-plugin-hmac \ + ${PN}-plugin-kdf \ + ${PN}-plugin-kernel-netlink \ + ${PN}-plugin-md5 \ + ${PN}-plugin-mgf1 \ + ${PN}-plugin-nonce \ + ${PN}-plugin-pem \ + ${PN}-plugin-pgp \ + ${PN}-plugin-pkcs1 \ + ${PN}-plugin-pkcs7 \ + ${PN}-plugin-pkcs8 \ + ${PN}-plugin-pkcs12 \ + ${PN}-plugin-pubkey \ + ${PN}-plugin-random \ + ${PN}-plugin-rc2 \ + ${PN}-plugin-resolve \ + ${PN}-plugin-revocation \ + ${PN}-plugin-sha1 \ + ${PN}-plugin-sha2 \ + ${PN}-plugin-socket-default \ + ${PN}-plugin-sshkey \ + ${PN}-plugin-updown \ + ${PN}-plugin-vici \ + ${PN}-plugin-x509 \ + ${PN}-plugin-xauth-generic \ + ${PN}-plugin-xcbc \ + " + +RPROVIDES:${PN} += "${PN}-systemd" +RREPLACES:${PN} += "${PN}-systemd" +RCONFLICTS:${PN} += "${PN}-systemd" + +# The deprecated legacy 'strongswan-starter' service should only be used when charon and +# stroke are enabled. When swanctl is in use, 'strongswan.service' is needed. +# See: https://wiki.strongswan.org/projects/strongswan/wiki/Charon-systemd +SYSTEMD_SERVICE:${PN} = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}.service', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'charon', '${BPN}-starter.service', '', d)} \ +" diff --git a/meta-networking/recipes-support/stunnel/stunnel_5.65.bb b/meta-networking/recipes-support/stunnel/stunnel_5.65.bb deleted file mode 100644 index ab7ff432230..00000000000 --- a/meta-networking/recipes-support/stunnel/stunnel_5.65.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "Program for providing universal TLS/SSL tunneling service" -DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-startable) or remote server." -HOMEPAGE = "https://www.stunnel.org/" -SECTION = "net" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING.md;md5=d8a2866ad5ebf3a2d2ce27279472875a" - -DEPENDS = "autoconf-archive libnsl2 openssl" - -SRC_URI = "https://stunnel.org/archive/5.x/${BP}.tar.gz \ - file://fix-openssl-no-des.patch \ -" - -SRC_URI[sha256sum] = "60c500063bd1feff2877f5726e38278c086f96c178f03f09d264a2012d6bf7fc" - -inherit autotools bash-completion pkgconfig - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} libwrap" - -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[libwrap] = "--enable-libwrap,--disable-libwrap,tcp-wrappers" -PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" - -EXTRA_OECONF += "--with-ssl='${STAGING_EXECPREFIXDIR}' --disable-fips" - -# When cross compiling, configure defaults to nobody, but provides no option to change it. -EXTRA_OEMAKE += "DEFAULT_GROUP='nogroup'" - -# stunnel3 is a Perl wrapper to allow use of the legacy stunnel 3.x commandline -# syntax with stunnel >= 4.05 -PACKAGES =+ "stunnel3" -FILES:stunnel3 = "${bindir}/stunnel3" -RDEPENDS:stunnel3 += "${PN} perl" diff --git a/meta-networking/recipes-support/stunnel/stunnel_5.67.bb b/meta-networking/recipes-support/stunnel/stunnel_5.67.bb new file mode 100644 index 00000000000..db535e7356d --- /dev/null +++ b/meta-networking/recipes-support/stunnel/stunnel_5.67.bb @@ -0,0 +1,33 @@ +SUMMARY = "Program for providing universal TLS/SSL tunneling service" +DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-startable) or remote server." +HOMEPAGE = "https://www.stunnel.org/" +SECTION = "net" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING.md;md5=d8a2866ad5ebf3a2d2ce27279472875a" + +DEPENDS = "autoconf-archive libnsl2 openssl" + +SRC_URI = "https://stunnel.org/archive/5.x/${BP}.tar.gz \ + file://fix-openssl-no-des.patch \ +" + +SRC_URI[sha256sum] = "3086939ee6407516c59b0ba3fbf555338f9d52f459bcab6337c0f00e91ea8456" + +inherit autotools bash-completion pkgconfig + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} libwrap" + +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[libwrap] = "--enable-libwrap,--disable-libwrap,tcp-wrappers" +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" + +EXTRA_OECONF += "--with-ssl='${STAGING_EXECPREFIXDIR}' --disable-fips" + +# When cross compiling, configure defaults to nobody, but provides no option to change it. +EXTRA_OEMAKE += "DEFAULT_GROUP='nogroup'" + +# stunnel3 is a Perl wrapper to allow use of the legacy stunnel 3.x commandline +# syntax with stunnel >= 4.05 +PACKAGES =+ "stunnel3" +FILES:stunnel3 = "${bindir}/stunnel3" +RDEPENDS:stunnel3 += "${PN} perl" diff --git a/meta-networking/recipes-support/tcpdump/tcpslice_1.5.bb b/meta-networking/recipes-support/tcpdump/tcpslice_1.5.bb deleted file mode 100644 index 4909acdee91..00000000000 --- a/meta-networking/recipes-support/tcpdump/tcpslice_1.5.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "tcpslice" -DESCRIPTION = "A tool for extracting parts of a tcpdump packet trace." -HOMEPAGE = "http://www.tcpdump.org/related.html" -SECTION = "net" - -LICENSE = "BSD-4-Clause" -LIC_FILES_CHKSUM = "file://tcpslice.c;endline=20;md5=99519e2e5234d1662a4ce16baa62c64e" - -SRC_URI = "http://www.tcpdump.org/release/${BP}.tar.gz \ - " -SRC_URI[md5sum] = "8907e60376e629f6e6ce2255988aaf47" -SRC_URI[sha256sum] = "f6935e3e7ca00ef50c515d062fddd410868467ec5b6d8f2eca12066f8d91dda2" - -UPSTREAM_CHECK_REGEX = "tcpslice-(?P\d+(\.\d+)+)\.tar" - -inherit autotools-brokensep pkgconfig - -DEPENDS = "libpcap" - -EXTRA_AUTORECONF += "--exclude=aclocal" - -do_install () { - install -d ${D}${sbindir} - install -m 0755 tcpslice ${D}${sbindir} -} diff --git a/meta-networking/recipes-support/tcpdump/tcpslice_1.6.bb b/meta-networking/recipes-support/tcpdump/tcpslice_1.6.bb new file mode 100644 index 00000000000..7128a23cd2f --- /dev/null +++ b/meta-networking/recipes-support/tcpdump/tcpslice_1.6.bb @@ -0,0 +1,24 @@ +SUMMARY = "tcpslice" +DESCRIPTION = "A tool for extracting parts of a tcpdump packet trace." +HOMEPAGE = "http://www.tcpdump.org/related.html" +SECTION = "net" + +LICENSE = "BSD-4-Clause" +LIC_FILES_CHKSUM = "file://tcpslice.c;endline=20;md5=99519e2e5234d1662a4ce16baa62c64e" + +SRC_URI = "http://www.tcpdump.org/release/${BP}.tar.gz \ + " +SRC_URI[sha256sum] = "60d23f00d4c485fef2dda9b12c2018af958df3a511238c45374733bbc1231920" + +UPSTREAM_CHECK_REGEX = "tcpslice-(?P\d+(\.\d+)+)\.tar" + +inherit autotools-brokensep pkgconfig + +DEPENDS = "libpcap" + +EXTRA_AUTORECONF += "--exclude=aclocal" + +do_install () { + install -d ${D}${sbindir} + install -m 0755 tcpslice ${D}${sbindir} +} diff --git a/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-libopts.m4-set-POSIX_SHELL-to-bin-sh.patch b/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-libopts.m4-set-POSIX_SHELL-to-bin-sh.patch new file mode 100644 index 00000000000..448455fffb9 --- /dev/null +++ b/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-libopts.m4-set-POSIX_SHELL-to-bin-sh.patch @@ -0,0 +1,45 @@ +From 769e96b60f631e8c208fd7f72900d0bb17760f88 Mon Sep 17 00:00:00 2001 +From: Yi Zhao +Date: Tue, 30 Aug 2022 09:54:11 +0800 +Subject: [PATCH] libopts.m4: set POSIX_SHELL to /bin/sh + +POSIX_SHELL is specified a host tool path as it searches path on build +host using `which` when configure. Set it to a fixed path '/bin/sh'. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Yi Zhao +--- + m4/libopts.m4 | 16 +--------------- + 1 file changed, 1 insertion(+), 15 deletions(-) + +diff --git a/m4/libopts.m4 b/m4/libopts.m4 +index cfbd477..c8047eb 100644 +--- a/m4/libopts.m4 ++++ b/m4/libopts.m4 +@@ -111,21 +111,7 @@ AC_DEFUN([INVOKE_LIBOPTS_MACROS_FIRST],[ + AC_CHECK_FUNCS([mmap canonicalize_file_name snprintf strdup strchr \ + strrchr strsignal fchmod fstat chmod]) + AC_PROG_SED +- [while : +- do +- POSIX_SHELL=`which bash` +- test -x "$POSIX_SHELL" && break +- POSIX_SHELL=`which dash` +- test -x "$POSIX_SHELL" && break +- POSIX_SHELL=/usr/xpg4/bin/sh +- test -x "$POSIX_SHELL" && break +- POSIX_SHELL=`/bin/sh -c ' +- exec 2>/dev/null +- if ! true ; then exit 1 ; fi +- echo /bin/sh'` +- test -x "$POSIX_SHELL" && break +- ]AC_MSG_ERROR([cannot locate a working POSIX shell])[ +- done] ++ POSIX_SHELL='/bin/sh' + AC_DEFINE_UNQUOTED([POSIX_SHELL], ["${POSIX_SHELL}"], + [define to a working POSIX compliant shell]) + AC_SUBST([POSIX_SHELL]) +-- +2.25.1 + diff --git a/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.1.bb b/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.1.bb deleted file mode 100644 index 56db66b8eb5..00000000000 --- a/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.1.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Use previously captured traffic to test network devices" - -HOMEPAGE = "https://tcpreplay.appneta.com/" - -SECTION = "net" - -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=10f0474a2f0e5dccfca20f69d6598ad8" - -SRC_URI = "https://github.com/appneta/tcpreplay/releases/download/v${PV}/tcpreplay-${PV}.tar.gz" - -SRC_URI[sha256sum] = "cb67b6491a618867fc4f9848f586019f1bb2ebd149f393afac5544ee55e4544f" - -UPSTREAM_CHECK_URI = "https://github.com/appneta/tcpreplay/releases" - -DEPENDS = "libpcap" - -EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}/usr" - -inherit siteinfo autotools-brokensep - diff --git a/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.2.bb b/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.2.bb new file mode 100644 index 00000000000..7d2a6a14d2e --- /dev/null +++ b/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.2.bb @@ -0,0 +1,26 @@ +SUMMARY = "Use previously captured traffic to test network devices" + +HOMEPAGE = "https://tcpreplay.appneta.com/" + +SECTION = "net" + +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=10f0474a2f0e5dccfca20f69d6598ad8" + +SRC_URI = "https://github.com/appneta/tcpreplay/releases/download/v${PV}/tcpreplay-${PV}.tar.gz \ + file://0001-libopts.m4-set-POSIX_SHELL-to-bin-sh.patch \ + " + +SRC_URI[sha256sum] = "5b272cd83b67d6288a234ea15f89ecd93b4fadda65eddc44e7b5fcb2f395b615" + +UPSTREAM_CHECK_URI = "https://github.com/appneta/tcpreplay/releases" + +DEPENDS = "libpcap" + +EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}/usr" + +inherit siteinfo autotools-brokensep + +do_install:append() { + sed -i -e 's:${RECIPE_SYSROOT}::g' ${S}/src/defines.h +} diff --git a/meta-networking/recipes-support/unbound/unbound_1.16.1.bb b/meta-networking/recipes-support/unbound/unbound_1.16.1.bb deleted file mode 100644 index c11bf513ac9..00000000000 --- a/meta-networking/recipes-support/unbound/unbound_1.16.1.bb +++ /dev/null @@ -1,43 +0,0 @@ -SUMMARY = "Unbound is a validating, recursive, and caching DNS resolver" -DESCRIPTION = "Unbound's design is a set of modular components which incorporate \ - features including enhanced security (DNSSEC) validation, Internet Protocol \ - Version 6 (IPv6), and a client resolver library API as an integral part of the \ - architecture" - -HOMEPAGE = "https://www.unbound.net/" -SECTION = "net" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5308494bc0590c0cb036afd781d78f06" - -SRC_URI = "git://github.com/NLnetLabs/unbound.git;protocol=http;branch=master;protocol=https \ - file://0001-contrib-add-yocto-compatible-init-script.patch \ -" -SRCREV = "903538c76e1d8eb30d0814bb55c3ef1ea28164e8" - -inherit autotools pkgconfig systemd update-rc.d - -DEPENDS = "openssl libevent libtool-native bison-native expat" -RDEPENDS:${PN} = "bash openssl-bin daemonize" - -S = "${WORKDIR}/git" - -EXTRA_OECONF = "--with-libexpat=${STAGING_EXECPREFIXDIR} \ - --with-ssl=${STAGING_EXECPREFIXDIR} \ - --enable-largefile" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" -PACKAGECONFIG[dnscrypt] = "--enable-dnscrypt, --disable-dnscrypt, libsodium" -PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" - -do_install:append() { - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${B}/contrib/unbound.service ${D}${systemd_unitdir}/system - - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${S}/contrib/unbound.init ${D}${sysconfdir}/init.d/unbound -} - -SYSTEMD_SERVICE:${PN} = "${BPN}.service" - -INITSCRIPT_NAME = "unbound" -INITSCRIPT_PARAMS = "defaults" diff --git a/meta-networking/recipes-support/unbound/unbound_1.17.0.bb b/meta-networking/recipes-support/unbound/unbound_1.17.0.bb new file mode 100644 index 00000000000..0dd0ce88226 --- /dev/null +++ b/meta-networking/recipes-support/unbound/unbound_1.17.0.bb @@ -0,0 +1,43 @@ +SUMMARY = "Unbound is a validating, recursive, and caching DNS resolver" +DESCRIPTION = "Unbound's design is a set of modular components which incorporate \ + features including enhanced security (DNSSEC) validation, Internet Protocol \ + Version 6 (IPv6), and a client resolver library API as an integral part of the \ + architecture" + +HOMEPAGE = "https://www.unbound.net/" +SECTION = "net" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5308494bc0590c0cb036afd781d78f06" + +SRC_URI = "git://github.com/NLnetLabs/unbound.git;protocol=http;branch=master;protocol=https \ + file://0001-contrib-add-yocto-compatible-init-script.patch \ +" +SRCREV = "d25e0cd9b0545ff13120430c94326ceaf14b074f" + +inherit autotools pkgconfig systemd update-rc.d + +DEPENDS = "openssl libevent libtool-native bison-native expat" +RDEPENDS:${PN} = "bash openssl-bin daemonize" + +S = "${WORKDIR}/git" + +EXTRA_OECONF = "--with-libexpat=${STAGING_EXECPREFIXDIR} \ + --with-ssl=${STAGING_EXECPREFIXDIR} \ + --enable-largefile" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[dnscrypt] = "--enable-dnscrypt, --disable-dnscrypt, libsodium" +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" + +do_install:append() { + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${B}/contrib/unbound.service ${D}${systemd_unitdir}/system + + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${S}/contrib/unbound.init ${D}${sysconfdir}/init.d/unbound +} + +SYSTEMD_SERVICE:${PN} = "${BPN}.service" + +INITSCRIPT_NAME = "unbound" +INITSCRIPT_PARAMS = "defaults" diff --git a/meta-networking/recipes-support/wireshark/files/CVE-2022-3190.patch b/meta-networking/recipes-support/wireshark/files/CVE-2022-3190.patch new file mode 100644 index 00000000000..0b987700f5d --- /dev/null +++ b/meta-networking/recipes-support/wireshark/files/CVE-2022-3190.patch @@ -0,0 +1,145 @@ +From 4585d515b962f3b3a5e81caa64e13e8d9ed2e431 Mon Sep 17 00:00:00 2001 +From: Hitendra Prajapati +Date: Mon, 26 Sep 2022 12:47:00 +0530 +Subject: [PATCH] CVE-2022-3190 + +Upstream-Status: Backport [https://gitlab.com/wireshark/wireshark/-/commit/67326401a595fffbc67eeed48eb6c55d66a55f67] +CVE : CVE-2022-3190 +Signed-off-by: Hitendra Prajapati +--- + epan/dissectors/packet-f5ethtrailer.c | 108 +++++++++++++------------- + 1 file changed, 56 insertions(+), 52 deletions(-) + +diff --git a/epan/dissectors/packet-f5ethtrailer.c b/epan/dissectors/packet-f5ethtrailer.c +index ed77dfd..b15b0d4 100644 +--- a/epan/dissectors/packet-f5ethtrailer.c ++++ b/epan/dissectors/packet-f5ethtrailer.c +@@ -2741,69 +2741,73 @@ dissect_dpt_trailer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d + static gint + dissect_old_trailer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) + { +- proto_tree *type_tree = NULL; +- proto_item *ti = NULL; + guint offset = 0; +- guint processed = 0; +- f5eth_tap_data_t *tdata = (f5eth_tap_data_t *)data; +- guint8 type; +- guint8 len; +- guint8 ver; + + /* While we still have data in the trailer. For old format trailers, this needs + * type, length, version (3 bytes) and for new format trailers, the magic header (4 bytes). + * All old format trailers are at least 4 bytes long, so just check for length of magic. + */ +- while (tvb_reported_length_remaining(tvb, offset)) { +- type = tvb_get_guint8(tvb, offset); +- len = tvb_get_guint8(tvb, offset + F5_OFF_LENGTH) + F5_OFF_VERSION; +- ver = tvb_get_guint8(tvb, offset + F5_OFF_VERSION); +- +- if (len <= tvb_reported_length_remaining(tvb, offset) && type >= F5TYPE_LOW +- && type <= F5TYPE_HIGH && len >= F5_MIN_SANE && len <= F5_MAX_SANE +- && ver <= F5TRAILER_VER_MAX) { +- /* Parse out the specified trailer. */ +- switch (type) { +- case F5TYPE_LOW: +- ti = proto_tree_add_item(tree, hf_low_id, tvb, offset, len, ENC_NA); +- type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_low); +- +- processed = dissect_low_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata); +- if (processed > 0) { +- tdata->trailer_len += processed; +- tdata->noise_low = 1; +- } +- break; +- case F5TYPE_MED: +- ti = proto_tree_add_item(tree, hf_med_id, tvb, offset, len, ENC_NA); +- type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_med); +- +- processed = dissect_med_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata); +- if (processed > 0) { +- tdata->trailer_len += processed; +- tdata->noise_med = 1; +- } +- break; +- case F5TYPE_HIGH: +- ti = proto_tree_add_item(tree, hf_high_id, tvb, offset, len, ENC_NA); +- type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_high); +- +- processed = +- dissect_high_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata); +- if (processed > 0) { +- tdata->trailer_len += processed; +- tdata->noise_high = 1; +- } +- break; ++ while (tvb_reported_length_remaining(tvb, offset) >= F5_MIN_SANE) { ++ /* length field does not include the type and length bytes. Add them back in */ ++ guint8 len = tvb_get_guint8(tvb, offset + F5_OFF_LENGTH) + F5_OFF_VERSION; ++ if (len > tvb_reported_length_remaining(tvb, offset) ++ || len < F5_MIN_SANE || len > F5_MAX_SANE) { ++ /* Invalid length - either a malformed trailer, corrupt packet, or not f5ethtrailer */ ++ return offset; ++ } ++ guint8 type = tvb_get_guint8(tvb, offset); ++ guint8 ver = tvb_get_guint8(tvb, offset + F5_OFF_VERSION); ++ ++ /* Parse out the specified trailer. */ ++ proto_tree *type_tree = NULL; ++ proto_item *ti = NULL; ++ f5eth_tap_data_t *tdata = (f5eth_tap_data_t *)data; ++ guint processed = 0; ++ ++ switch (type) { ++ case F5TYPE_LOW: ++ ti = proto_tree_add_item(tree, hf_low_id, tvb, offset, len, ENC_NA); ++ type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_low); ++ ++ processed = dissect_low_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata); ++ if (processed > 0) { ++ tdata->trailer_len += processed; ++ tdata->noise_low = 1; + } +- if (processed == 0) { +- proto_item_set_len(ti, 1); +- return offset; ++ break; ++ case F5TYPE_MED: ++ ti = proto_tree_add_item(tree, hf_med_id, tvb, offset, len, ENC_NA); ++ type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_med); ++ ++ processed = dissect_med_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata); ++ if (processed > 0) { ++ tdata->trailer_len += processed; ++ tdata->noise_med = 1; ++ } ++ break; ++ case F5TYPE_HIGH: ++ ti = proto_tree_add_item(tree, hf_high_id, tvb, offset, len, ENC_NA); ++ type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_high); ++ ++ processed = ++ dissect_high_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata); ++ if (processed > 0) { ++ tdata->trailer_len += processed; ++ tdata->noise_high = 1; + } ++ break; ++ default: ++ /* Unknown type - malformed trailer, corrupt packet, or not f5ethtrailer - bali out*/ ++ return offset; ++ } ++ if (processed == 0) { ++ /* couldn't process trailer - bali out */ ++ proto_item_set_len(ti, 1); ++ return offset; + } + offset += processed; + } +-return offset; ++ return offset; + } /* dissect_old_trailer() */ + + /*---------------------------------------------------------------------------*/ +-- +2.25.1 + diff --git a/meta-networking/recipes-support/wireshark/wireshark_3.4.12.bb b/meta-networking/recipes-support/wireshark/wireshark_3.4.12.bb index 38fdbce8927..1a4aedc139e 100644 --- a/meta-networking/recipes-support/wireshark/wireshark_3.4.12.bb +++ b/meta-networking/recipes-support/wireshark/wireshark_3.4.12.bb @@ -15,6 +15,7 @@ SRC_URI += " \ file://0002-flex-Remove-line-directives.patch \ file://0003-bison-Remove-line-directives.patch \ file://0004-lemon-Remove-line-directives.patch \ + file://CVE-2022-3190.patch \ " UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src" diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf index 34aa29561cc..6a0f05d9308 100644 --- a/meta-oe/conf/layer.conf +++ b/meta-oe/conf/layer.conf @@ -48,6 +48,8 @@ LICENSE_PATH += "${LAYERDIR}/licenses" PREFERRED_RPROVIDER_libdevmapper = "lvm2" PREFERRED_PROVIDER_android-tools-conf ?= "android-tools-conf" +# Configures whether coreutils or uutils-coreutils is used. +PREFERRED_PROVIDER_coreutils = "coreutils" SIGGEN_EXCLUDERECIPES_ABISAFE += " \ fbset-modes \ diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Makefile.am-do-not-clobber-PYTHONPATH-from-build-env.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Makefile.am-do-not-clobber-PYTHONPATH-from-build-env.patch new file mode 100644 index 00000000000..089ed23c73b --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Makefile.am-do-not-clobber-PYTHONPATH-from-build-env.patch @@ -0,0 +1,55 @@ +From 5e3b74927b4fef03d91518d235e9e3ba8cd7ab2e Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 9 Nov 2022 20:49:41 +0100 +Subject: [PATCH] Makefile.am: do not clobber PYTHONPATH from build environment + +This environment variable has special significance for python, +and so lirc's variable has to be named something else. + +Signed-off-by: Alexander Kanavin +--- + Makefile.am | 2 +- + pylint.mak | 2 +- + tools/Makefile.am | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 6718af1..fae423e 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -128,7 +128,7 @@ endif + + pylint: .phony + $(MAKE) -C tools pylint +- -PYTHONPATH=$(PYTHONPATH) $(PYLINT) --rcfile=pylint.conf \ ++ -PYTHONPATH=$(LIRCPYTHONPATH) $(PYLINT) --rcfile=pylint.conf \ + --msg-template='$(pylint_template)' $(py_PYTHON) + + pep8: $(py_PYTHON) +diff --git a/pylint.mak b/pylint.mak +index bf427ab..2692951 100644 +--- a/pylint.mak ++++ b/pylint.mak +@@ -1,5 +1,5 @@ + PYTHONPATH1 = $(abs_top_srcdir)/python-pkg/lirc: + PYTHONPATH2 = $(abs_top_srcdir)/python-pkg/lirc/lib/.libs +-PYTHONPATH = $(PYTHONPATH1):$(PYTHONPATH2) ++LIRCPYTHONPATH = $(PYTHONPATH1):$(PYTHONPATH2) + PYLINT = python3-pylint + pylint_template = {path}:{line}: [{msg_id}({symbol}), {obj}] {msg} +diff --git a/tools/Makefile.am b/tools/Makefile.am +index 85d1fd0..96b17f8 100644 +--- a/tools/Makefile.am ++++ b/tools/Makefile.am +@@ -142,7 +142,7 @@ force-pylint: .phony + + pylint: .pylint-stamp + .pylint-stamp: $(py_sources) +- -PYTHONPATH=$(PYTHONPATH) $(PYLINT) --rcfile=../pylint.conf \ ++ -PYTHONPATH=$(LIRCPYTHONPATH) $(PYLINT) --rcfile=../pylint.conf \ + --msg-template='$(pylint_template)' $? && touch $@ + + .phony: +-- +2.30.2 + diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-mplay-Fix-build-with-musl.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-mplay-Fix-build-with-musl.patch new file mode 100644 index 00000000000..48cf7a355c9 --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-mplay-Fix-build-with-musl.patch @@ -0,0 +1,44 @@ +From e9e9027d7a324e1ce5e0cb06d4eb51847262a09d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 28 Aug 2022 12:26:52 -0700 +Subject: [PATCH] mplay: Fix build with musl + +pthread_t is an opaque type, therefore typecast it to avoid warnings on +musl + +Fixes +mplay.c:200:12: error: incompatible integer to pointer conversion initializing 'pthread_t' (aka 'struct __pthread *') with an expression of type 'int' [-Wint-conversion] +| .tid = -1 +| ^~ + +Upstream-Status: Submitted [https://sourceforge.net/p/lirc/git/merge-requests/47/] +Signed-off-by: Khem Raj +--- + plugins/mplay.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/plugins/mplay.c b/plugins/mplay.c +index d6d9619..5b9eb4b 100644 +--- a/plugins/mplay.c ++++ b/plugins/mplay.c +@@ -197,7 +197,7 @@ static struct { + .latest_button = MPLAY_CODE_ERROR, + .fd = -1, + .pipefd = { -1, -1 }, +- .tid = -1 ++ .tid = (pthread_t)-1 + }; + + /** +@@ -788,7 +788,7 @@ int mplayfamily_deinit(void) + return 0; + } + pthread_join(mplayfamily_local_data.tid, NULL); +- mplayfamily_local_data.tid = -1; ++ mplayfamily_local_data.tid = (pthread_t)-1; + } + if (mplayfamily_local_data.pipefd[0] != -1) { + close(mplayfamily_local_data.pipefd[0]); +-- +2.37.2 + diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb deleted file mode 100644 index fe9685924b0..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb +++ /dev/null @@ -1,113 +0,0 @@ -DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls." -DESCRIPTION:append:lirc = " This package contains the lirc daemon, libraries and tools." -DESCRIPTION:append:lirc-exec = " This package contains a daemon that runs programs on IR signals." -DESCRIPTION:append:lirc-remotes = " This package contains some config files for remotes." -DESCRIPTION:append:lirc-nslu2example = " This package contains a working config for RC5 remotes and a modified NSLU2." -HOMEPAGE = "http://www.lirc.org" -SECTION = "console/network" -LICENSE = "GPL-2.0-only" -DEPENDS = "libxslt-native alsa-lib libftdi libusb1 libusb-compat jack portaudio-v19 python3-pyyaml python3-setuptools-native" - -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "http://prdownloads.sourceforge.net/lirc/lirc-${PV}.tar.bz2 \ - file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \ - file://fix_build_errors.patch \ - file://lircd.service \ - file://lircd.init \ - file://lircexec.init \ - file://lircd.conf \ - file://lirc_options.conf \ - file://lirc.tmpfiles \ -" -SRC_URI[md5sum] = "86c3f8e4efaba10571addb8313d1e040" -SRC_URI[sha256sum] = "8b753c60df2a7f5dcda2db72c38e448ca300c3b4f6000c1501fcb0bd5df414f2" - -SYSTEMD_PACKAGES = "lirc lirc-exec" -SYSTEMD_SERVICE:${PN} = "lircd.service lircmd.service lircd-setup.service lircd-uinput.service" -SYSTEMD_SERVICE:${PN}-exec = "irexec.service" -SYSTEMD_AUTO_ENABLE:lirc = "enable" -SYSTEMD_AUTO_ENABLE:lirc-exec = "enable" - -inherit autotools pkgconfig systemd python3native setuptools3-base - -PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd" -PACKAGECONFIG[x11] = "--with-x,--with-x=no,libx11," - -PACKAGECONFIG ?= " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)} \ -" -CACHED_CONFIGUREVARS = "HAVE_WORKING_POLL=yes" - -#EXTRA_OEMAKE = 'SUBDIRS="lib daemons tools"' - -# Ensure python-pkg/VERSION exists -do_configure:append() { - cp ${S}/VERSION ${S}/python-pkg/ -} - -# Create PYTHON_TARBALL which LIRC needs for install-nodist_pkgdataDATA -do_install:prepend() { - rm -rf ${WORKDIR}/${PN}-${PV}/python-pkg/dist/ - mkdir ${WORKDIR}/${PN}-${PV}/python-pkg/dist/ - tar --exclude='${WORKDIR}/${PN}-${PV}/python-pkg/*' -czf ${WORKDIR}/${PN}-${PV}/python-pkg/dist/${PN}-${PV}.tar.gz ${S} -} - -# In code, path to python is a variable that is replaced with path to native version of it -# during the configure stage, e.g ../recipe-sysroot-native/usr/bin/python3-native/python3. -# Replace it with #!/usr/bin/env python3 -do_install:append() { - sed -i '1c#!/usr/bin/env python3' ${D}${bindir}/lirc-setup \ - ${D}${PYTHON_SITEPACKAGES_DIR}/lirc-setup/lirc-setup \ - ${D}${bindir}/irtext2udp \ - ${D}${bindir}/lirc-init-db \ - ${D}${bindir}/irdb-get \ - ${D}${bindir}/pronto2lirc \ - ${D}${sbindir}/lircd-setup - - install -m 0755 -d ${D}${sysconfdir} - install -m 0755 -d ${D}${sysconfdir}/lirc - install -m 0644 ${WORKDIR}/lircd.conf ${D}${sysconfdir}/lirc/ - install -m 0644 ${WORKDIR}/lirc_options.conf ${D}${sysconfdir}/lirc/ - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -m 0755 -d ${D}${systemd_unitdir}/system ${D}${libdir}/tmpfiles.d - install -m 0644 ${WORKDIR}/lircd.service ${D}${systemd_unitdir}/system/ - install -m 0755 ${WORKDIR}/lircexec.init ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/lirc.tmpfiles ${D}${libdir}/tmpfiles.d/lirc.conf - else - rm -rf ${D}/lib - fi - rm -rf ${D}${libdir}/lirc/plugins/*.la - rmdir ${D}/var/run/lirc ${D}/var/run - chown -R root:root ${D}${datadir}/lirc/contrib -} - -PACKAGES =+ "${PN}-contrib ${PN}-exec ${PN}-plugins ${PN}-python" - -RDEPENDS:${PN} = "bash python3" -RDEPENDS:${PN}-exec = "${PN}" -RDEPENDS:${PN}-python = "python3-shell python3-pyyaml python3-datetime python3-netclient python3-stringold" - -RRECOMMENDS:${PN} = "${PN}-exec ${PN}-plugins" - -FILES:${PN}-plugins = "${libdir}/lirc/plugins/*.so ${datadir}/lirc/configs" -FILES:${PN}-contrib = "${datadir}/lirc/contrib" -FILES:${PN}-exec = "${bindir}/irexec ${sysconfdir}/lircexec ${systemd_unitdir}/system/irexec.service" -FILES:${PN} += "${systemd_unitdir}/system/lircexec.init" -FILES:${PN} += "${systemd_unitdir}/system/lircd.service" -FILES:${PN} += "${systemd_unitdir}/system/lircd.socket" -FILES:${PN} += "${libdir}/tmpfiles.d/lirc.conf" -FILES:${PN}-dbg += "${libdir}/lirc/plugins/.debug" -FILES:${PN}-python += "${bindir}/irdb-get ${bindir}/irtext2udp ${bindir}/lircd-setup ${bindir}/pronto2lirc ${libdir}/python*/site-packages" - -INITSCRIPT_PACKAGES = "lirc lirc-exec" -INITSCRIPT_NAME:lirc-exec = "lircexec" -INITSCRIPT_PARAMS:lirc-exec = "defaults 21" - -# this is for distributions that don't use udev -pkg_postinst:${PN}:append() { - if [ ! -c $D/dev/lirc -a ! -f /sbin/udevd ]; then mknod $D/dev/lirc c 61 0; fi -} - -SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.2.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.2.bb new file mode 100644 index 00000000000..458d9d7cdd6 --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.2.bb @@ -0,0 +1,114 @@ +DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls." +DESCRIPTION:append:lirc = " This package contains the lirc daemon, libraries and tools." +DESCRIPTION:append:lirc-exec = " This package contains a daemon that runs programs on IR signals." +DESCRIPTION:append:lirc-remotes = " This package contains some config files for remotes." +DESCRIPTION:append:lirc-nslu2example = " This package contains a working config for RC5 remotes and a modified NSLU2." +HOMEPAGE = "http://www.lirc.org" +SECTION = "console/network" +LICENSE = "GPL-2.0-only" +DEPENDS = "libxslt-native alsa-lib libftdi libusb1 libusb-compat jack portaudio-v19 python3-pyyaml python3-setuptools-native" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "http://prdownloads.sourceforge.net/lirc/lirc-${PV}.tar.bz2 \ + file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \ + file://fix_build_errors.patch \ + file://0001-mplay-Fix-build-with-musl.patch \ + file://lircd.service \ + file://lircd.init \ + file://lircexec.init \ + file://lircd.conf \ + file://lirc_options.conf \ + file://lirc.tmpfiles \ + file://0001-Makefile.am-do-not-clobber-PYTHONPATH-from-build-env.patch \ + " +SRC_URI[sha256sum] = "3d44ec8274881cf262f160805641f0827ffcc20ade0d85e7e6f3b90e0d3d222a" + +SYSTEMD_PACKAGES = "lirc lirc-exec" +SYSTEMD_SERVICE:${PN} = "lircd.service lircmd.service lircd-setup.service lircd-uinput.service" +SYSTEMD_SERVICE:${PN}-exec = "irexec.service" +SYSTEMD_AUTO_ENABLE:lirc = "enable" +SYSTEMD_AUTO_ENABLE:lirc-exec = "enable" + +inherit autotools pkgconfig systemd python3native setuptools3-base + +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd" +PACKAGECONFIG[x11] = "--with-x,--with-x=no,libx11," + +PACKAGECONFIG ?= " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)} \ +" +CACHED_CONFIGUREVARS = "HAVE_WORKING_POLL=yes" + +#EXTRA_OEMAKE = 'SUBDIRS="lib daemons tools"' + +# Ensure python-pkg/VERSION exists +do_configure:append() { + cp ${S}/VERSION ${S}/python-pkg/ +} + +# Create PYTHON_TARBALL which LIRC needs for install-nodist_pkgdataDATA +do_install:prepend() { + rm -rf ${WORKDIR}/${PN}-${PV}/python-pkg/dist/ + mkdir ${WORKDIR}/${PN}-${PV}/python-pkg/dist/ + tar --exclude='${WORKDIR}/${PN}-${PV}/python-pkg/*' -czf ${WORKDIR}/${PN}-${PV}/python-pkg/dist/${PN}-${PV}.tar.gz ${S} +} + +# In code, path to python is a variable that is replaced with path to native version of it +# during the configure stage, e.g ../recipe-sysroot-native/usr/bin/python3-native/python3. +# Replace it with #!/usr/bin/env python3 +do_install:append() { + sed -i '1c#!/usr/bin/env python3' ${D}${bindir}/lirc-setup \ + ${D}${PYTHON_SITEPACKAGES_DIR}/lirc-setup/lirc-setup \ + ${D}${bindir}/irtext2udp \ + ${D}${bindir}/lirc-init-db \ + ${D}${bindir}/irdb-get \ + ${D}${bindir}/pronto2lirc \ + ${D}${sbindir}/lircd-setup + + install -m 0755 -d ${D}${sysconfdir} + install -m 0755 -d ${D}${sysconfdir}/lirc + install -m 0644 ${WORKDIR}/lircd.conf ${D}${sysconfdir}/lirc/ + install -m 0644 ${WORKDIR}/lirc_options.conf ${D}${sysconfdir}/lirc/ + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -m 0755 -d ${D}${systemd_unitdir}/system ${D}${libdir}/tmpfiles.d + install -m 0644 ${WORKDIR}/lircd.service ${D}${systemd_unitdir}/system/ + install -m 0755 ${WORKDIR}/lircexec.init ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/lirc.tmpfiles ${D}${libdir}/tmpfiles.d/lirc.conf + else + rm -rf ${D}/lib + fi + rm -rf ${D}${libdir}/lirc/plugins/*.la + rmdir ${D}/var/run/lirc ${D}/var/run + chown -R root:root ${D}${datadir}/lirc/contrib +} + +PACKAGES =+ "${PN}-contrib ${PN}-exec ${PN}-plugins ${PN}-python" + +RDEPENDS:${PN} = "bash python3" +RDEPENDS:${PN}-exec = "${PN}" +RDEPENDS:${PN}-python = "python3-shell python3-pyyaml python3-datetime python3-netclient python3-stringold" + +RRECOMMENDS:${PN} = "${PN}-exec ${PN}-plugins" + +FILES:${PN}-plugins = "${libdir}/lirc/plugins/*.so ${datadir}/lirc/configs" +FILES:${PN}-contrib = "${datadir}/lirc/contrib" +FILES:${PN}-exec = "${bindir}/irexec ${sysconfdir}/lircexec ${systemd_unitdir}/system/irexec.service" +FILES:${PN} += "${systemd_unitdir}/system/lircexec.init" +FILES:${PN} += "${systemd_unitdir}/system/lircd.service" +FILES:${PN} += "${systemd_unitdir}/system/lircd.socket" +FILES:${PN} += "${libdir}/tmpfiles.d/lirc.conf" +FILES:${PN}-dbg += "${libdir}/lirc/plugins/.debug" +FILES:${PN}-python += "${bindir}/irdb-get ${bindir}/irtext2udp ${bindir}/lircd-setup ${bindir}/pronto2lirc ${libdir}/python*/site-packages" + +INITSCRIPT_PACKAGES = "lirc lirc-exec" +INITSCRIPT_NAME:lirc-exec = "lircexec" +INITSCRIPT_PARAMS:lirc-exec = "defaults 21" + +# this is for distributions that don't use udev +pkg_postinst:${PN}:append() { + if [ ! -c $D/dev/lirc -a ! -f /sbin/udevd ]; then mknod $D/dev/lirc c 61 0; fi +} + +SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.1.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.1.bb deleted file mode 100644 index ec2830d37c3..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.1.bb +++ /dev/null @@ -1,67 +0,0 @@ -SUMMARY = "Open-source IoT platform for data collection, processing, visualization, and device management" -DESCRIPTION = "\ -The Thingsboard IoT Gateway is an open-source solution that allows you \ -to integrate devices connected to legacy and third-party systems with Thingsboard." -HOMEPAGE = "https://thingsboard.io/" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" - -SRC_URI[sha256sum] = "1a563e062ba734d1cc6e6cbaf8016af5cfb8c2921cb06e1e7af98153af1d121c" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "thingsboard-gateway" - -RDEPENDS:${PN} += " python3-jsonpath-rw \ - python3-regex \ - python3-paho-mqtt \ - python3-pyyaml \ - python3-simplejson \ - python3-requests \ - python3-pip \ - python3-pyrsistent \ -" - -SRC_URI += "file://bacnet.json \ - file://ble.json \ - file://can.json \ - file://custom_serial.json \ - file://modbus.json \ - file://modbus_serial.json \ - file://mqtt.json \ - file://opcua.json \ - file://odbc.json \ - file://request.json \ - file://rest.json \ - file://snmp.json \ - file://tb_gateway.yaml \ - file://logs.conf \ - file://thingsboard-gateway.service \ - " - - -inherit systemd - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE:${PN} = "thingsboard-gateway.service" - -FILES:${PN} += "/etc \ - /lib \ - /usr \ -" - -do_install:append(){ - - install -d ${D}${sysconfdir}/thingsboard-gateway/config - - for file in $(find ${WORKDIR} -maxdepth 1 -type f -name *.json); do - install -m 0644 "$file" ${D}${sysconfdir}/thingsboard-gateway/config - done - - install -m 0644 ${WORKDIR}/tb_gateway.yaml ${D}${sysconfdir}/thingsboard-gateway/config - install -m 0644 ${WORKDIR}/logs.conf ${D}${sysconfdir}/thingsboard-gateway/config - - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/thingsboard-gateway.service ${D}${systemd_system_unitdir}/thingsboard-gateway.service -} diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.2.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.2.bb new file mode 100644 index 00000000000..7c3197778f1 --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.2.bb @@ -0,0 +1,67 @@ +SUMMARY = "Open-source IoT platform for data collection, processing, visualization, and device management" +DESCRIPTION = "\ +The Thingsboard IoT Gateway is an open-source solution that allows you \ +to integrate devices connected to legacy and third-party systems with Thingsboard." +HOMEPAGE = "https://thingsboard.io/" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +SRC_URI[sha256sum] = "06fdb1000cb3f25ff78a2441c0e0f9e5bb2abec3eff907d57f58c1709c110217" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "thingsboard-gateway" + +RDEPENDS:${PN} += " python3-jsonpath-rw \ + python3-regex \ + python3-paho-mqtt \ + python3-pyyaml \ + python3-simplejson \ + python3-requests \ + python3-pip \ + python3-pyrsistent \ +" + +SRC_URI += "file://bacnet.json \ + file://ble.json \ + file://can.json \ + file://custom_serial.json \ + file://modbus.json \ + file://modbus_serial.json \ + file://mqtt.json \ + file://opcua.json \ + file://odbc.json \ + file://request.json \ + file://rest.json \ + file://snmp.json \ + file://tb_gateway.yaml \ + file://logs.conf \ + file://thingsboard-gateway.service \ + " + + +inherit systemd + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE:${PN} = "thingsboard-gateway.service" + +FILES:${PN} += "/etc \ + /lib \ + /usr \ +" + +do_install:append(){ + + install -d ${D}${sysconfdir}/thingsboard-gateway/config + + for file in $(find ${WORKDIR} -maxdepth 1 -type f -name *.json); do + install -m 0644 "$file" ${D}${sysconfdir}/thingsboard-gateway/config + done + + install -m 0644 ${WORKDIR}/tb_gateway.yaml ${D}${sysconfdir}/thingsboard-gateway/config + install -m 0644 ${WORKDIR}/logs.conf ${D}${sysconfdir}/thingsboard-gateway/config + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/thingsboard-gateway.service ${D}${systemd_system_unitdir}/thingsboard-gateway.service +} diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-The-std-lib-unary-binary_function-base-classes-are-d.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-The-std-lib-unary-binary_function-base-classes-are-d.patch new file mode 100644 index 00000000000..4594bec81a2 --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-The-std-lib-unary-binary_function-base-classes-are-d.patch @@ -0,0 +1,40 @@ +From f9b55f5a1fab85bf73c95e6372779d6f50f75e84 Mon Sep 17 00:00:00 2001 +From: jzmaddock +Date: Mon, 11 Jul 2022 18:26:07 +0100 +Subject: [PATCH] The std lib unary/binary_function base classes are + deprecated/removed from libcpp15. Fixes + https://github.com/boostorg/container_hash/issues/24. + +Upstream-Status: Backport [https://github.com/boostorg/config/pull/440/commits/f0af4a9184457939b89110795ae2d293582c5f66] +Signed-off-by: Khem Raj +--- + src/third_party/boost-1.70.0/boost/config/stdlib/libcpp.hpp | 9 +++++++++ + 1 file changed, 9 insertions(+) + +--- a/src/third_party/boost-1.70.0/boost/config/stdlib/libcpp.hpp ++++ b/src/third_party/boost-1.70.0/boost/config/stdlib/libcpp.hpp +@@ -140,4 +140,13 @@ + # define BOOST_NO_CXX14_HDR_SHARED_MUTEX + #endif + ++#if _LIBCPP_VERSION >= 15000 ++// ++// Unary function is now deprecated in C++11 and later: ++// ++#if __cplusplus >= 201103L ++#define BOOST_NO_CXX98_FUNCTION_BASE ++#endif ++#endif ++ + // --- end --- +--- a/src/third_party/boost-1.70.0/boost/container_hash/hash.hpp ++++ b/src/third_party/boost-1.70.0/boost/container_hash/hash.hpp +@@ -118,7 +118,7 @@ namespace boost + { + namespace hash_detail + { +-#if defined(_HAS_AUTO_PTR_ETC) && !_HAS_AUTO_PTR_ETC ++#if defined(BOOST_NO_CXX98_FUNCTION_BASE) + template + struct hash_base + { diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb index ff4a16e9f21..d040ab160ba 100644 --- a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb +++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb @@ -32,6 +32,7 @@ SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.4;protocol=https \ file://PTHREAD_STACK_MIN.patch \ file://0001-add-explict-static_cast-size_t-to-maxMemoryUsageByte.patch \ file://0001-server-Adjust-the-cache-alignment-assumptions.patch \ + file://0001-The-std-lib-unary-binary_function-base-classes-are-d.patch \ " SRC_URI:append:libc-musl ="\ file://0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch \ diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-compilation-with-GCC-10.x.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-compilation-with-GCC-10.x.patch index 35634dd9bac..cd8a69c3fbe 100644 --- a/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-compilation-with-GCC-10.x.patch +++ b/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-compilation-with-GCC-10.x.patch @@ -16,8 +16,6 @@ Signed-off-by: Harald Geyer clients/lcdproc/iface.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -diff --git a/clients/lcdproc/iface.c b/clients/lcdproc/iface.c -index 40e50cb7..1ac355bd 100644 --- a/clients/lcdproc/iface.c +++ b/clients/lcdproc/iface.c @@ -32,6 +32,7 @@ @@ -28,8 +26,6 @@ index 40e50cb7..1ac355bd 100644 static int iface_count = 0; /* number of interfaces */ static char unit_label[10] = "B"; /* default unit label is Bytes */ -diff --git a/clients/lcdproc/iface.h b/clients/lcdproc/iface.h -index cc6dbaaf..c1bd6b5b 100644 --- a/clients/lcdproc/iface.h +++ b/clients/lcdproc/iface.h @@ -18,7 +18,7 @@ @@ -41,6 +37,3 @@ index cc6dbaaf..c1bd6b5b 100644 /** Update screen content */ int iface_screen(int rep, int display, int *flags_ptr); --- -2.28.0 - diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0003-Fix-non-x86-platforms-on-musl.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0003-Fix-non-x86-platforms-on-musl.patch index e39e9bda145..eed9ceee5e3 100644 --- a/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0003-Fix-non-x86-platforms-on-musl.patch +++ b/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0003-Fix-non-x86-platforms-on-musl.patch @@ -17,19 +17,33 @@ Signed-off-by: Khem Raj server/drivers/port.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/server/drivers/port.h b/server/drivers/port.h -index c584cd4e..bde235b3 100644 --- a/server/drivers/port.h +++ b/server/drivers/port.h -@@ -94,7 +94,7 @@ static inline int port_deny_multiple(unsigned short port, unsigned short count); +@@ -94,7 +94,7 @@ static inline int port_deny_multiple(uns /* ---------------------------- Linux ------------------------------------ */ /* Use ioperm, inb and outb in (Linux) */ /* And iopl for higher addresses of PCI LPT cards */ -#if defined HAVE_IOPERM -+#if defined(__GLIBC__) || (defined(__x86__) || defined(__x86_64__)) ++#if HAVE_INB /* Glibc2 and Glibc1 */ # ifdef HAVE_SYS_IO_H --- -2.24.1 - +@@ -333,7 +333,7 @@ static inline int port_deny_multiple (un + return i386_set_ioperm(port, count, 0); + } + +-#else ++#elif defined(__x86__) && defined(__x86_64__) + + /* ------------------------- Everything else ----------------------------- */ + /* Last chance! Use /dev/io and i386 ASM code (BSD4.3 ?) */ +--- a/configure.ac ++++ b/configure.ac +@@ -144,6 +144,7 @@ AC_CHECK_LIB(i386, i386_get_ioperm, + [])] + ) + ++AC_CHECK_FUNCS(inb) + AC_CHECK_FUNCS(iopl) + AC_CHECK_FUNCS(ioperm) + AC_CHECK_HEADERS(sys/io.h) diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0001-rust.configure-Skip-all-target-manipulations.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0001-rust.configure-Skip-all-target-manipulations.patch deleted file mode 100644 index 453174e514a..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0001-rust.configure-Skip-all-target-manipulations.patch +++ /dev/null @@ -1,66 +0,0 @@ -From b75661fbddd00ba9a43680c35b8c08aad8807d6b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Sun, 31 Oct 2021 16:49:55 +0100 -Subject: [PATCH] rust.configure: Skip all target manipulations -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Mozjs/rust targets are different from OE-rust targets. Use targets reported -as is. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Andreas Müller ---- - build/moz.configure/rust.configure | 16 +--------------- - 1 file changed, 1 insertion(+), 15 deletions(-) - -diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure -index e5122d6..9f3cc91 100644 ---- a/build/moz.configure/rust.configure -+++ b/build/moz.configure/rust.configure -@@ -81,9 +81,6 @@ def unwrap_rustup(prog, name): - - return unwrap - --rustc = unwrap_rustup(rustc, 'rustc') --cargo = unwrap_rustup(cargo, 'cargo') -- - - set_config('CARGO', cargo) - set_config('RUSTC', rustc) -@@ -239,6 +236,7 @@ def rust_triple_alias(host_or_target, host_or_target_c_compiler): - @imports(_from='textwrap', _import='dedent') - def rust_target(rustc, host_or_target, compiler_info, - rust_supported_targets, arm_target): -+ return host_or_target.alias - # Rust's --target options are similar to, but not exactly the same - # as, the autoconf-derived targets we use. An example would be that - # Rust uses distinct target triples for targetting the GNU C++ ABI -@@ -401,22 +399,10 @@ def rust_triple_alias(host_or_target, host_or_target_c_compiler): - - return rust_target - -- - rust_target_triple = rust_triple_alias(target, c_compiler) - rust_host_triple = rust_triple_alias(host, host_c_compiler) - - --@depends(host, rust_host_triple, rustc_info.host) --def validate_rust_host_triple(host, rust_host, rustc_host): -- if rust_host != rustc_host: -- if host.alias == rust_host: -- configure_host = host.alias -- else: -- configure_host = '{}/{}'.format(host.alias, rust_host) -- die("The rust compiler host ({}) is not suitable for the configure host ({})." -- .format(rustc_host, configure_host)) -- -- - set_config('RUST_TARGET', rust_target_triple) - set_config('RUST_HOST_TARGET', rust_host_triple) - --- -2.31.1 - diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0002-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0002-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch deleted file mode 100644 index 21ad82ede1d..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0002-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch +++ /dev/null @@ -1,33 +0,0 @@ -From e5b95b3918588e2930c9af7ba304c57e871b2d55 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Thu, 7 Oct 2021 12:44:18 +0200 -Subject: [PATCH] build: do not use autoconf's config.sub to 'canonicalize' - names - -The outcome is that processed names no longer match our custom rust -target definitions, and the build fails. - -Upstream-Status: Inappropriate [oespecific] - -Signed-off-by: Alexander Kanavin -Signed-off-by: Andreas Müller ---- - build/moz.configure/init.configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure -index b887153..0a6a33c 100644 ---- a/build/moz.configure/init.configure -+++ b/build/moz.configure/init.configure -@@ -808,7 +808,7 @@ def help_host_target(help, host, target): - def config_sub(shell, triplet): - config_sub = os.path.join(os.path.dirname(__file__), '..', - 'autoconf', 'config.sub') -- return check_cmd_output(shell, config_sub, triplet).strip() -+ return triplet - - - @depends('--host', shell) --- -2.31.1 - diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0003-Do-not-check-binaries-after-build.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0003-Do-not-check-binaries-after-build.patch deleted file mode 100644 index a0f37f597b8..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0003-Do-not-check-binaries-after-build.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 1a47eac590f57c765033c7797b0759dc314f2128 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Mon, 1 Nov 2021 22:52:57 +0100 -Subject: [PATCH] Do not check binaries after build -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -* It buys us a dependency hard to fulfill in different layer setups -* Mozjs-91 does not perform these checks when setting --enable-project=js. Here - for old configuration style --enable-project changes nothing and build wants - to check binaries created. - -So omit checks by not searching for llvm_objdump and making check_binary.py a -stub to prevent errors by using unset LLVM_OBJDUMP. - -Upstream-Status: Inappropriate [oe specific] - -Signed-off-by: Andreas Müller ---- - moz.configure | 7 ------- - python/mozbuild/mozbuild/action/check_binary.py | 2 +- - 2 files changed, 1 insertion(+), 8 deletions(-) - -diff --git a/moz.configure b/moz.configure -index 9b0e784..41e3e4d 100755 ---- a/moz.configure -+++ b/moz.configure -@@ -648,13 +648,6 @@ def llvm_objdump(host_c_compiler, c_compiler, bindgen_config_paths): - return (llvm_objdump,) - - --llvm_objdump = check_prog('LLVM_OBJDUMP', llvm_objdump, what='llvm-objdump', -- when='--enable-compile-environment', -- paths=toolchain_search_path) -- --add_old_configure_assignment('LLVM_OBJDUMP', llvm_objdump) -- -- - js_option('--enable-dtrace', help='Build with dtrace support') - - dtrace = check_header('sys/sdt.h', when='--enable-dtrace', -diff --git a/python/mozbuild/mozbuild/action/check_binary.py b/python/mozbuild/mozbuild/action/check_binary.py -index 57ccfa6..bd2c167 100644 ---- a/python/mozbuild/mozbuild/action/check_binary.py -+++ b/python/mozbuild/mozbuild/action/check_binary.py -@@ -366,4 +366,4 @@ def main(args): - - - if __name__ == '__main__': -- sys.exit(main(sys.argv[1:])) -+ sys.exit(0) --- -2.31.1 - diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0004-Cargo.toml-do-not-abort-on-panic.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0004-Cargo.toml-do-not-abort-on-panic.patch deleted file mode 100644 index 665eace665f..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0004-Cargo.toml-do-not-abort-on-panic.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 9e37248870b2b955293754933c789ca00bca06ef Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Fri, 1 Oct 2021 13:00:24 +0200 -Subject: [PATCH] Cargo.toml: do not abort on panic - -OE's rust is configured to unwind, and this setting clashes with it/ - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Alexander Kanavin -Signed-off-by: Andreas Müller ---- - Cargo.toml | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/Cargo.toml b/Cargo.toml -index 897daad41b..505454263e 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -56,13 +56,11 @@ opt-level = 1 - rpath = false - lto = false - debug-assertions = true --panic = "abort" - - [profile.release] - opt-level = 2 - rpath = false - debug-assertions = false --panic = "abort" - - [patch.crates-io] - libudev-sys = { path = "dom/webauthn/libudev-sys" } diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0005-Fixup-compatibility-of-mozbuild-with-Python-3.10.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0005-Fixup-compatibility-of-mozbuild-with-Python-3.10.patch deleted file mode 100644 index d069d00afa6..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0005-Fixup-compatibility-of-mozbuild-with-Python-3.10.patch +++ /dev/null @@ -1,304 +0,0 @@ -From a88d0c8e27b48344942187c2611bb121bde9332d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= -Date: Tue, 13 Jul 2021 11:46:20 +0200 -Subject: [PATCH] Fixup compatibility of mozbuild with Python 3.10 - -Stolen from [1] - -[1] https://src.fedoraproject.org/rpms/mozjs78/raw/rawhide/f/Fixup-compatibility-of-mozbuild-with-Python-3.10.patch - -Upstream-Status: Pending - ---- - python/mach/mach/config.py | 4 ++-- - python/mach/mach/decorators.py | 2 +- - python/mozbuild/mozbuild/backend/configenvironment.py | 3 ++- - python/mozbuild/mozbuild/makeutil.py | 2 +- - python/mozbuild/mozbuild/util.py | 2 +- - testing/marionette/client/marionette_driver/wait.py | 2 +- - testing/mozbase/manifestparser/manifestparser/filters.py | 3 ++- - testing/mozbase/versioninfo.py | 2 +- - testing/web-platform/tests/tools/manifest/vcs.py | 2 +- - .../web-platform/tests/tools/third_party/h2/h2/settings.py | 2 +- - .../tests/tools/third_party/html5lib/html5lib/_trie/_base.py | 2 +- - .../tools/third_party/html5lib/html5lib/treebuilders/dom.py | 2 +- - .../tests/tools/third_party/hyper/hyper/common/headers.py | 2 +- - .../tests/tools/third_party/hyper/hyper/h2/settings.py | 2 +- - .../tests/tools/third_party/hyper/hyper/http11/connection.py | 4 ++-- - .../third_party/hyper/hyper/packages/hyperframe/flags.py | 2 +- - .../tests/tools/third_party/hyperframe/hyperframe/flags.py | 2 +- - testing/web-platform/tests/tools/wptserve/wptserve/config.py | 3 ++- - testing/web-platform/tests/webdriver/tests/support/sync.py | 2 +- - 19 files changed, 24 insertions(+), 21 deletions(-) - -diff --git a/python/mach/mach/config.py b/python/mach/mach/config.py -index 7210eca82..edb4d2e93 100644 ---- a/python/mach/mach/config.py -+++ b/python/mach/mach/config.py -@@ -144,7 +144,7 @@ def reraise_attribute_error(func): - return _ - - --class ConfigSettings(collections.Mapping): -+class ConfigSettings(collections.abc.Mapping): - """Interface for configuration settings. - - This is the main interface to the configuration. -@@ -190,7 +190,7 @@ class ConfigSettings(collections.Mapping): - will result in exceptions being raised. - """ - -- class ConfigSection(collections.MutableMapping, object): -+ class ConfigSection(collections.abc.MutableMapping, object): - """Represents an individual config section.""" - def __init__(self, config, name, settings): - object.__setattr__(self, '_config', config) -diff --git a/python/mach/mach/decorators.py b/python/mach/mach/decorators.py -index 27f7f34a6..5f63271a3 100644 ---- a/python/mach/mach/decorators.py -+++ b/python/mach/mach/decorators.py -@@ -140,7 +140,7 @@ def CommandProvider(cls): - 'Conditions argument must take a list ' + \ - 'of functions. Found %s instead.' - -- if not isinstance(command.conditions, collections.Iterable): -+ if not isinstance(command.conditions, collections.abc.Iterable): - msg = msg % (command.name, type(command.conditions)) - raise MachError(msg) - -diff --git a/python/mozbuild/mozbuild/backend/configenvironment.py b/python/mozbuild/mozbuild/backend/configenvironment.py -index 20d1a9fa6..8747958bd 100644 ---- a/python/mozbuild/mozbuild/backend/configenvironment.py -+++ b/python/mozbuild/mozbuild/backend/configenvironment.py -@@ -9,7 +9,8 @@ import six - import sys - import json - --from collections import Iterable, OrderedDict -+from collections import OrderedDict -+from collections.abc import Iterable - from types import ModuleType - - import mozpack.path as mozpath -diff --git a/python/mozbuild/mozbuild/makeutil.py b/python/mozbuild/mozbuild/makeutil.py -index 4da1a3b26..4ce56848c 100644 ---- a/python/mozbuild/mozbuild/makeutil.py -+++ b/python/mozbuild/mozbuild/makeutil.py -@@ -7,7 +7,7 @@ from __future__ import absolute_import, print_function, unicode_literals - import os - import re - import six --from collections import Iterable -+from collections.abc import Iterable - - - class Makefile(object): -diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py -index 044cf645c..98ed3ef52 100644 ---- a/python/mozbuild/mozbuild/util.py -+++ b/python/mozbuild/mozbuild/util.py -@@ -782,7 +782,7 @@ class HierarchicalStringList(object): - self._strings = StrictOrderingOnAppendList() - self._children = {} - -- class StringListAdaptor(collections.Sequence): -+ class StringListAdaptor(collections.abc.Sequence): - def __init__(self, hsl): - self._hsl = hsl - -diff --git a/testing/marionette/client/marionette_driver/wait.py b/testing/marionette/client/marionette_driver/wait.py -index eeaa1e23d..c147f463f 100644 ---- a/testing/marionette/client/marionette_driver/wait.py -+++ b/testing/marionette/client/marionette_driver/wait.py -@@ -82,7 +82,7 @@ class Wait(object): - - exceptions = [] - if ignored_exceptions is not None: -- if isinstance(ignored_exceptions, collections.Iterable): -+ if isinstance(ignored_exceptions, collections.abc.Iterable): - exceptions.extend(iter(ignored_exceptions)) - else: - exceptions.append(ignored_exceptions) -diff --git a/testing/mozbase/manifestparser/manifestparser/filters.py b/testing/mozbase/manifestparser/manifestparser/filters.py -index 287ee033b..b1d608003 100644 ---- a/testing/mozbase/manifestparser/manifestparser/filters.py -+++ b/testing/mozbase/manifestparser/manifestparser/filters.py -@@ -12,7 +12,8 @@ from __future__ import absolute_import - - import itertools - import os --from collections import defaultdict, MutableSequence -+from collections import defaultdict -+from collections.abc import MutableSequence - - import six - from six import string_types -diff --git a/testing/mozbase/versioninfo.py b/testing/mozbase/versioninfo.py -index 91d1a0473..8c1680069 100755 ---- a/testing/mozbase/versioninfo.py -+++ b/testing/mozbase/versioninfo.py -@@ -11,7 +11,7 @@ from commit messages. - - from __future__ import absolute_import, print_function - --from collections import Iterable -+from collections.abc import Iterable - from distutils.version import StrictVersion - import argparse - import os -diff --git a/testing/web-platform/tests/tools/manifest/vcs.py b/testing/web-platform/tests/tools/manifest/vcs.py -index 7c0feeb81..05ee19c7c 100644 ---- a/testing/web-platform/tests/tools/manifest/vcs.py -+++ b/testing/web-platform/tests/tools/manifest/vcs.py -@@ -3,7 +3,7 @@ import json - import os - import stat - from collections import deque --from collections import MutableMapping -+from collections.abc import MutableMapping - - from six import with_metaclass, PY2 - -diff --git a/testing/web-platform/tests/tools/third_party/h2/h2/settings.py b/testing/web-platform/tests/tools/third_party/h2/h2/settings.py -index 3da720329..e097630e9 100644 ---- a/testing/web-platform/tests/tools/third_party/h2/h2/settings.py -+++ b/testing/web-platform/tests/tools/third_party/h2/h2/settings.py -@@ -88,7 +88,7 @@ class ChangedSetting: - ) - - --class Settings(collections.MutableMapping): -+class Settings(collections.abc.MutableMapping): - """ - An object that encapsulates HTTP/2 settings state. - -diff --git a/testing/web-platform/tests/tools/third_party/html5lib/html5lib/_trie/_base.py b/testing/web-platform/tests/tools/third_party/html5lib/html5lib/_trie/_base.py -index a1158bbbf..a9295a2ba 100644 ---- a/testing/web-platform/tests/tools/third_party/html5lib/html5lib/_trie/_base.py -+++ b/testing/web-platform/tests/tools/third_party/html5lib/html5lib/_trie/_base.py -@@ -1,6 +1,6 @@ - from __future__ import absolute_import, division, unicode_literals - --from collections import Mapping -+from collections.abc import Mapping - - - class Trie(Mapping): -diff --git a/testing/web-platform/tests/tools/third_party/html5lib/html5lib/treebuilders/dom.py b/testing/web-platform/tests/tools/third_party/html5lib/html5lib/treebuilders/dom.py -index dcfac220b..818a33433 100644 ---- a/testing/web-platform/tests/tools/third_party/html5lib/html5lib/treebuilders/dom.py -+++ b/testing/web-platform/tests/tools/third_party/html5lib/html5lib/treebuilders/dom.py -@@ -1,7 +1,7 @@ - from __future__ import absolute_import, division, unicode_literals - - --from collections import MutableMapping -+from collections.abc import MutableMapping - from xml.dom import minidom, Node - import weakref - -diff --git a/testing/web-platform/tests/tools/third_party/hyper/hyper/common/headers.py b/testing/web-platform/tests/tools/third_party/hyper/hyper/common/headers.py -index 655a591ac..6454f550a 100644 ---- a/testing/web-platform/tests/tools/third_party/hyper/hyper/common/headers.py -+++ b/testing/web-platform/tests/tools/third_party/hyper/hyper/common/headers.py -@@ -10,7 +10,7 @@ import collections - from hyper.common.util import to_bytestring, to_bytestring_tuple - - --class HTTPHeaderMap(collections.MutableMapping): -+class HTTPHeaderMap(collections.abc.MutableMapping): - """ - A structure that contains HTTP headers. - -diff --git a/testing/web-platform/tests/tools/third_party/hyper/hyper/h2/settings.py b/testing/web-platform/tests/tools/third_party/hyper/hyper/h2/settings.py -index fedc5e3c4..040afea92 100755 ---- a/testing/web-platform/tests/tools/third_party/hyper/hyper/h2/settings.py -+++ b/testing/web-platform/tests/tools/third_party/hyper/hyper/h2/settings.py -@@ -151,7 +151,7 @@ class ChangedSetting: - ) - - --class Settings(collections.MutableMapping): -+class Settings(collections.abc.MutableMapping): - """ - An object that encapsulates HTTP/2 settings state. - -diff --git a/testing/web-platform/tests/tools/third_party/hyper/hyper/http11/connection.py b/testing/web-platform/tests/tools/third_party/hyper/hyper/http11/connection.py -index 61361c358..a214311d2 100644 ---- a/testing/web-platform/tests/tools/third_party/hyper/hyper/http11/connection.py -+++ b/testing/web-platform/tests/tools/third_party/hyper/hyper/http11/connection.py -@@ -10,7 +10,7 @@ import os - import socket - import base64 - --from collections import Iterable, Mapping -+from collections.abc import Iterable, Mapping - - import collections - from hyperframe.frame import SettingsFrame -@@ -295,7 +295,7 @@ class HTTP11Connection(object): - return - - # Iterables that set a specific content length. -- elif isinstance(body, collections.Iterable): -+ elif isinstance(body, collections.abc.Iterable): - for item in body: - try: - self._sock.send(item) -diff --git a/testing/web-platform/tests/tools/third_party/hyper/hyper/packages/hyperframe/flags.py b/testing/web-platform/tests/tools/third_party/hyper/hyper/packages/hyperframe/flags.py -index e8f630056..8f2ea689b 100644 ---- a/testing/web-platform/tests/tools/third_party/hyper/hyper/packages/hyperframe/flags.py -+++ b/testing/web-platform/tests/tools/third_party/hyper/hyper/packages/hyperframe/flags.py -@@ -11,7 +11,7 @@ import collections - Flag = collections.namedtuple("Flag", ["name", "bit"]) - - --class Flags(collections.MutableSet): -+class Flags(collections.abc.MutableSet): - """ - A simple MutableSet implementation that will only accept known flags as elements. - -diff --git a/testing/web-platform/tests/tools/third_party/hyperframe/hyperframe/flags.py b/testing/web-platform/tests/tools/third_party/hyperframe/hyperframe/flags.py -index 05b35017e..14c352e10 100644 ---- a/testing/web-platform/tests/tools/third_party/hyperframe/hyperframe/flags.py -+++ b/testing/web-platform/tests/tools/third_party/hyperframe/hyperframe/flags.py -@@ -11,7 +11,7 @@ import collections - Flag = collections.namedtuple("Flag", ["name", "bit"]) - - --class Flags(collections.MutableSet): -+class Flags(collections.abc.MutableSet): - """ - A simple MutableSet implementation that will only accept known flags as - elements. -diff --git a/testing/web-platform/tests/tools/wptserve/wptserve/config.py b/testing/web-platform/tests/tools/wptserve/wptserve/config.py -index 7766565fe..3c1c36d6f 100644 ---- a/testing/web-platform/tests/tools/wptserve/wptserve/config.py -+++ b/testing/web-platform/tests/tools/wptserve/wptserve/config.py -@@ -2,7 +2,8 @@ import copy - import logging - import os - --from collections import defaultdict, Mapping -+from collections import defaultdict -+from collections.abc import Mapping - from six import integer_types, iteritems, itervalues, string_types - - from . import sslutils -diff --git a/testing/web-platform/tests/webdriver/tests/support/sync.py b/testing/web-platform/tests/webdriver/tests/support/sync.py -index 3fc77131c..8e8f6b819 100644 ---- a/testing/web-platform/tests/webdriver/tests/support/sync.py -+++ b/testing/web-platform/tests/webdriver/tests/support/sync.py -@@ -81,7 +81,7 @@ class Poll(object): - - exceptions = [] - if ignored_exceptions is not None: -- if isinstance(ignored_exceptions, collections.Iterable): -+ if isinstance(ignored_exceptions, collections.abc.Iterable): - exceptions.extend(iter(ignored_exceptions)) - else: - exceptions.append(ignored_exceptions) --- -2.31.1 - - diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0006-use-asm-sgidefs.h.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0006-use-asm-sgidefs.h.patch deleted file mode 100644 index b56f0b95b58..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0006-use-asm-sgidefs.h.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 65acc8800dba7e10da882871d4648241805c47ce Mon Sep 17 00:00:00 2001 -From: Andre McCurdy -Date: Sat, 30 Apr 2016 15:29:06 -0700 -Subject: [PATCH] use - -Build fix for MIPS with musl libc - -The MIPS specific header is provided by glibc and uclibc -but not by musl. Regardless of the libc, the kernel headers provide - which provides the same definitions, so use that -instead. - -Upstream-Status: Pending - -[Vincent: -Taken from: https://sourceware.org/bugzilla/show_bug.cgi?id=21070] - -Signed-off-by: Andre McCurdy -Signed-off-by: Khem Raj -Signed-off-by: Vicente Olivert Riera ---- - gdb/mips-linux-nat.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/mfbt/RandomNum.cpp -+++ b/mfbt/RandomNum.cpp -@@ -52,7 +52,7 @@ extern "C" BOOLEAN NTAPI RtlGenRandom(PV - # elif defined(__s390__) - # define GETRANDOM_NR 349 - # elif defined(__mips__) --# include -+# include - # if _MIPS_SIM == _MIPS_SIM_ABI32 - # define GETRANDOM_NR 4353 - # elif _MIPS_SIM == _MIPS_SIM_ABI64 diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0007-fix-musl-build.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0007-fix-musl-build.patch deleted file mode 100644 index c0834af5898..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0007-fix-musl-build.patch +++ /dev/null @@ -1,15 +0,0 @@ -Upstream: No -Reason: mozjs60 miscompiles on musl if built with HAVE_THREAD_TLS_KEYWORD: -https://github.com/void-linux/void-packages/issues/2598 ---- a/js/src/old-configure.in -+++ b/js/src/old-configure.in -@@ -1072,6 +1072,9 @@ if test "$ac_cv_thread_keyword" = yes; t - *-android*|*-linuxandroid*) - : - ;; -+ *-musl*) -+ : -+ ;; - *) - AC_DEFINE(HAVE_THREAD_TLS_KEYWORD) - ;; diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0008-riscv.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0008-riscv.patch deleted file mode 100644 index 70177d003df..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0008-riscv.patch +++ /dev/null @@ -1,52 +0,0 @@ -Add RISCV32/64 support - -Upstream-Status: Pending - -Signed-off-by: Andreas Müller ---- - build/moz.configure/init.configure | 6 ++++++ - python/mozbuild/mozbuild/configure/constants.py | 2 ++ - 2 files changed, 8 insertions(+) - -diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure -index 0a6a33c..eeee87e 100644 ---- a/build/moz.configure/init.configure -+++ b/build/moz.configure/init.configure -@@ -755,6 +755,12 @@ def split_triplet(triplet, allow_msvc=False): - elif cpu.startswith('aarch64'): - canonical_cpu = 'aarch64' - endianness = 'little' -+ elif cpu in ("riscv32", "riscv32gc"): -+ canonical_cpu = "riscv32" -+ endianness = "little" -+ elif cpu in ("riscv64", "riscv64gc"): -+ canonical_cpu = "riscv64" -+ endianness = "little" - elif cpu == 'sh4': - canonical_cpu = 'sh4' - endianness = 'little' -diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py -index 7542dcd..de25be2 100644 ---- a/python/mozbuild/mozbuild/configure/constants.py -+++ b/python/mozbuild/mozbuild/configure/constants.py -@@ -50,6 +50,8 @@ CPU_bitness = { - 'mips64': 64, - 'ppc': 32, - 'ppc64': 64, -+ 'riscv32': 32, -+ 'riscv64': 64, - 's390': 32, - 's390x': 64, - 'sh4': 32, -@@ -82,6 +84,8 @@ CPU_preprocessor_checks = OrderedDict(( - ('s390', '__s390__'), - ('ppc64', '__powerpc64__'), - ('ppc', '__powerpc__'), -+ ('riscv32', '__riscv && __SIZEOF_POINTER__ == 4'), -+ ('riscv64', '__riscv && __SIZEOF_POINTER__ == 8'), - ('Alpha', '__alpha__'), - ('hppa', '__hppa__'), - ('sparc64', '__sparc__ && __arch64__'), --- -2.31.1 - diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0009-riscv-Disable-atomic-operations.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0009-riscv-Disable-atomic-operations.patch deleted file mode 100644 index ba50e10c6ee..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0009-riscv-Disable-atomic-operations.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 64ad80e6d95871f17be4cd01da15581f41ac0b2b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 27 May 2019 21:10:34 -0700 -Subject: [PATCH] riscv: Disable atomic operations - -This was ported from what was used with mozjs-60 which was -Signed-off-by: Khem Raj - -Upstream-Status: Inappropriate[old-version] - -Signed-off-by: Andreas Müller ---- - js/src/jit/AtomicOperations.h | 3 ++- - js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h | 8 ++++++++ - 2 files changed, 10 insertions(+), 1 deletion(-) - -diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h -index 0486cba..cf6b91c 100644 ---- a/js/src/jit/AtomicOperations.h -+++ b/js/src/jit/AtomicOperations.h -@@ -391,7 +391,8 @@ inline bool AtomicOperations::isLockfreeJS(int32_t size) { - #elif defined(__ppc__) || defined(__PPC__) || defined(__sparc__) || \ - defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || \ - defined(__PPC64LE__) || defined(__alpha__) || defined(__hppa__) || \ -- defined(__sh__) || defined(__s390__) || defined(__s390x__) -+ defined(__sh__) || defined(__s390__) || defined(__s390x__) || \ -+ defined(__riscv) - # include "jit/shared/AtomicOperations-feeling-lucky.h" - #else - # error "No AtomicOperations support provided for this platform" -diff --git a/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h b/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h -index f002cd4..14bb5f9 100644 ---- a/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h -+++ b/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h -@@ -77,6 +77,14 @@ - # endif - #endif - -+#ifdef __riscv -+# ifdef __riscv_xlen == 64 -+# define HAS_64BIT_ATOMICS -+# define HAS_64BIT_LOCKFREE -+# endif -+#endif -+ -+ - // The default implementation tactic for gcc/clang is to use the newer __atomic - // intrinsics added for use in C++11 . Where that isn't available, we - // use GCC's older __sync functions instead. --- -2.31.1 - diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0010-riscv-Set-march-correctly.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0010-riscv-Set-march-correctly.patch deleted file mode 100644 index befede172ec..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0010-riscv-Set-march-correctly.patch +++ /dev/null @@ -1,60 +0,0 @@ -From c3c2d1c69859c5e567005f0c3fa07a0dbe31e4a3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Fri, 29 Oct 2021 21:18:26 +0200 -Subject: [PATCH] riscv: Set march correctly -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Stolen from leftover patch in oe-core [1] - -[1] https://github.com/openembedded/openembedded-core/blob/c884878f6c833b18a3a95b193f5de68df5bcea48/meta/recipes-devtools/rust/files/rv64gc.patch - -Upstream-Status: Pending - -Signed-off-by: Andreas Müller ---- - third_party/rust/cc/src/lib.rs | 14 ++++++++++---- - third_party/rust/cc/.cargo-checksum.json | 2 +- - 1 file changed, 10 insertions(+), 4 deletions(-) - -diff --git a/third_party/rust/cc/src/lib.rs b/third_party/rust/cc/src/lib.rs -index 621d31d..6f72e13 100644 ---- a/third_party/rust/cc/src/lib.rs -+++ b/third_party/rust/cc/src/lib.rs -@@ -1587,14 +1587,20 @@ impl Build { - let mut parts = target.split('-'); - if let Some(arch) = parts.next() { - let arch = &arch[5..]; -- cmd.args.push(("-march=rv".to_owned() + arch).into()); -- // ABI is always soft-float right now, update this when this is no longer the -- // case: -- if arch.starts_with("64") { -+ if target.contains("linux") && arch.starts_with("64") { -+ cmd.args.push(("-march=rv64gc").into()); -+ cmd.args.push("-mabi=lp64d".into()); -+ } else if target.contains("linux") && arch.starts_with("32") { -+ cmd.args.push(("-march=rv32gc").into()); -+ cmd.args.push("-mabi=ilp32d".into()); -+ } else if arch.starts_with("64") { -+ cmd.args.push(("-march=rv".to_owned() + arch).into()); - cmd.args.push("-mabi=lp64".into()); - } else { -+ cmd.args.push(("-march=rv".to_owned() + arch).into()); - cmd.args.push("-mabi=ilp32".into()); - } -+ cmd.args.push("-mcmodel=medany".into()); - } - } - } -diff --git a/third_party/rust/cc/.cargo-checksum.json b/third_party/rust/cc/.cargo-checksum.json -index 417fde7..70e5d02 100644 ---- a/third_party/rust/cc/.cargo-checksum.json -+++ b/third_party/rust/cc/.cargo-checksum.json -@@ -1 +1 @@ --{"files":{"Cargo.lock":"3aff5f8b0a7f4d72852b11b0526f0002e6bf55f19f1ebd6470d7f97fbd540e60","Cargo.toml":"6ab10d9b6a9c6f0909074e6698c90c6b6a7223661ec2e83174d2593117cbe7f2","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"7184fbdf375a057e673257348f6d7584c0dd11b66318d98f3647f69eb610b097","src/bin/gcc-shim.rs":"b77907875029494b6288841c3aed2e4939ed40708c7f597fca5c9e2570490ca6","src/com.rs":"bcdaf1c28b71e6ef889c6b08d1ce9d7c0761344a677f523bc4c3cd297957f804","src/lib.rs":"4753929dbb7b676c19d7cfa06d0a47e37003554b80c536cbf2b892d591ef61c2","src/registry.rs":"3cc1b5a50879fa751572878ae1d0afbfc960c11665258492754b2c8bccb0ff5d","src/setup_config.rs":"7014103587d3382eac599cb76f016e2609b8140970861b2237982d1db24af265","src/winapi.rs":"ea8b7edbb9ff87957254f465c2334e714c5d6b3b19a8d757c48ea7ca0881c50c","src/windows_registry.rs":"388e79dcf3e84078ae0b086c6cdee9cf9eb7e3ffafdcbf3e2df26163661f5856","tests/cc_env.rs":"e02b3b0824ad039b47e4462c5ef6dbe6c824c28e7953af94a0f28f7b5158042e","tests/cflags.rs":"57f06eb5ce1557e5b4a032d0c4673e18fbe6f8d26c1deb153126e368b96b41b3","tests/cxxflags.rs":"c2c6c6d8a0d7146616fa1caed26876ee7bc9fcfffd525eb4743593cade5f3371","tests/support/mod.rs":"71620b178583b6e6e5e0d4cac14e2cef6afc62fb6841e0c72ed1784543abf8ac","tests/test.rs":"1605640c9b94a77f48fc92e1dc0485bdf1960da5626e2e00279e4703691656bc"},"package":"aa87058dce70a3ff5621797f1506cb837edd02ac4c0ae642b4542dce802908b8"} -\ No newline at end of file -+{"files":{"Cargo.lock":"3aff5f8b0a7f4d72852b11b0526f0002e6bf55f19f1ebd6470d7f97fbd540e60","Cargo.toml":"6ab10d9b6a9c6f0909074e6698c90c6b6a7223661ec2e83174d2593117cbe7f2","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"7184fbdf375a057e673257348f6d7584c0dd11b66318d98f3647f69eb610b097","src/bin/gcc-shim.rs":"b77907875029494b6288841c3aed2e4939ed40708c7f597fca5c9e2570490ca6","src/com.rs":"bcdaf1c28b71e6ef889c6b08d1ce9d7c0761344a677f523bc4c3cd297957f804","src/lib.rs":"feab2b4cc51fcfb041f83a1a689960c3c9abfbaa9580ba186244a880586ba29a","src/registry.rs":"3cc1b5a50879fa751572878ae1d0afbfc960c11665258492754b2c8bccb0ff5d","src/setup_config.rs":"7014103587d3382eac599cb76f016e2609b8140970861b2237982d1db24af265","src/winapi.rs":"ea8b7edbb9ff87957254f465c2334e714c5d6b3b19a8d757c48ea7ca0881c50c","src/windows_registry.rs":"388e79dcf3e84078ae0b086c6cdee9cf9eb7e3ffafdcbf3e2df26163661f5856","tests/cc_env.rs":"e02b3b0824ad039b47e4462c5ef6dbe6c824c28e7953af94a0f28f7b5158042e","tests/cflags.rs":"57f06eb5ce1557e5b4a032d0c4673e18fbe6f8d26c1deb153126e368b96b41b3","tests/cxxflags.rs":"c2c6c6d8a0d7146616fa1caed26876ee7bc9fcfffd525eb4743593cade5f3371","tests/support/mod.rs":"71620b178583b6e6e5e0d4cac14e2cef6afc62fb6841e0c72ed1784543abf8ac","tests/test.rs":"1605640c9b94a77f48fc92e1dc0485bdf1960da5626e2e00279e4703691656bc"},"package":"aa87058dce70a3ff5621797f1506cb837edd02ac4c0ae642b4542dce802908b8"} --- -2.31.1 - diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0011-replace-include-by-code-to-fix-arm-build.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0011-replace-include-by-code-to-fix-arm-build.patch deleted file mode 100644 index adca9c72136..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0011-replace-include-by-code-to-fix-arm-build.patch +++ /dev/null @@ -1,43 +0,0 @@ -From fd6847c9416f9eebde636e21d794d25d1be8791d Mon Sep 17 00:00:00 2001 -From: Mike Hommey -Date: Sat, 1 Jun 2019 09:06:01 +0900 -Subject: [PATCH] Bug 1526653 - Include struct definitions for user_vfp and - user_vfp_exc. - -* We need this to fix arm builds -* Stolen from [1] - -[1] https://salsa.debian.org/mozilla-team/firefox/commit/fd6847c9416f9eebde636e21d794d25d1be8791d - -Signed-off-by: Andreas Müller - -Upstream-Status: Pending ---- - js/src/wasm/WasmSignalHandlers.cpp | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp -index 636537f8478..383c380f04c 100644 ---- a/js/src/wasm/WasmSignalHandlers.cpp -+++ b/js/src/wasm/WasmSignalHandlers.cpp -@@ -248,7 +248,16 @@ using mozilla::DebugOnly; - #endif - - #ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS --# include -+struct user_vfp { -+ unsigned long long fpregs[32]; -+ unsigned long fpscr; -+}; -+ -+struct user_vfp_exc { -+ unsigned long fpexc; -+ unsigned long fpinst; -+ unsigned long fpinst2; -+}; - #endif - - #if defined(ANDROID) --- -GitLab - diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0012-Add-SharedArrayRawBufferRefs-to-public-API.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0012-Add-SharedArrayRawBufferRefs-to-public-API.patch deleted file mode 100644 index ca37ca72cef..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0012-Add-SharedArrayRawBufferRefs-to-public-API.patch +++ /dev/null @@ -1,35 +0,0 @@ -From ccdd47cee610cb33fa5f67f856a68f5e411c79d5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Sun, 31 Oct 2021 18:32:39 +0100 -Subject: [PATCH] Add SharedArrayRawBufferRefs to public API -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Stolen from [1] - -[1] https://src.fedoraproject.org/rpms/mozjs78/blob/rawhide/f/FixSharedArray.diff - -Upstream-Status: Pending - -Signed-off-by: Andreas Müller ---- - js/public/StructuredClone.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/js/public/StructuredClone.h b/js/public/StructuredClone.h -index cb3cd5b..06da4dd 100644 ---- a/js/public/StructuredClone.h -+++ b/js/public/StructuredClone.h -@@ -381,7 +381,7 @@ enum OwnTransferablePolicy { - namespace js { - class SharedArrayRawBuffer; - --class SharedArrayRawBufferRefs { -+class JS_PUBLIC_API SharedArrayRawBufferRefs { - public: - SharedArrayRawBufferRefs() = default; - SharedArrayRawBufferRefs(SharedArrayRawBufferRefs&& other) = default; --- -2.31.1 - diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0013-util.configure-fix-one-occasionally-reproduced-confi.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0013-util.configure-fix-one-occasionally-reproduced-confi.patch deleted file mode 100644 index e943cf1ba1e..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0013-util.configure-fix-one-occasionally-reproduced-confi.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 430fd956b91c6208f166753578234c2f5db6352f Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Thu, 11 Nov 2021 21:17:38 +0800 -Subject: [PATCH] util.configure: fix one occasionally reproduced configure - failure - -error: -| checking whether the C++ compiler supports -Wno-range-loop-analysis... -| DEBUG: Creating /tmp/conftest.jr1qrcw3.cpp with content: -| DEBUG: | int -| DEBUG: | main(void) -| DEBUG: | { -| DEBUG: | -| DEBUG: | ; -| DEBUG: | return 0; -| DEBUG: | } -| DEBUG: Executing: aarch64-wrs-linux-g++ -mcpu=cortex-a53 -march=armv8-a+crc -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/mozjs/91.1.0-r0/recipe-sysroot /tmp/conftest.jr1qrcw3.cpp -Werror -Wrange-loop-analysis -c -| DEBUG: The command returned non-zero exit status 1. -| DEBUG: Its error output was: -... -| File "/mozjs/91.1.0-r0/firefox-91.1.0/build/moz.configure/util.configure", line 239, in try_invoke_compiler -| os.remove(path) -| FileNotFoundError: [Errno 2] No such file or directory: '/tmp/conftest.jr1qrcw3.cpp' - -It should be another process that deleted this file by using -"rm -rf conftest*" inappropriately - -Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1740667] - -Signed-off-by: Changqing Li ---- - build/moz.configure/util.configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/build/moz.configure/util.configure b/build/moz.configure/util.configure -index 7ee1a498ad..511e257ad9 100644 ---- a/build/moz.configure/util.configure -+++ b/build/moz.configure/util.configure -@@ -217,7 +217,7 @@ def try_invoke_compiler(compiler, language, source, flags=None, onerror=None): - 'C++': '.cpp', - }[language] - -- fd, path = mkstemp(prefix='conftest.', suffix=suffix, text=True) -+ fd, path = mkstemp(prefix='try_invoke_compiler_conftest.', suffix=suffix, text=True) - try: - source = source.encode('ascii', 'replace') - --- -2.17.1 - diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0014-rewrite-cargo-host-linker-in-python3.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0014-rewrite-cargo-host-linker-in-python3.patch deleted file mode 100644 index 7b938179c33..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0014-rewrite-cargo-host-linker-in-python3.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 9eceb43dd676afe2f675bd65ab369ba4d14f6537 Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Thu, 18 Nov 2021 07:16:39 +0000 -Subject: [PATCH] Rewrite cargo-host-linker in python3 - -Mozjs compile failed with this failure: -/bin/sh: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /build/tmp-glibc/work/corei7-64-wrs-linux/mozjs/91.1.0-r0/recipe-sysroot-native/usr/lib/libtinfo.so.5) - -Root Cause: -cargo-host-linker has /bin/sh as it's interpreter, but cargo run the cmd -with LD_LIBRARY_PATH set to recipe-sysroot-native. The host /bin/sh links -libtinfo.so.5 under recipe-sysroot-native, which needs higher libc. But -host libc is older libc. So the incompatible problem occurred. - -Solution: -rewrite cargo-host-linker in python3 - -Upstream-Status: Inappropriate [oe specific] - -Signed-off-by: Changqing Li ---- - build/cargo-host-linker | 24 +++++++--- - 1 file changed, 21 insertions(+), 3 deletions(-) - -diff --git a/build/cargo-host-linker b/build/cargo-host-linker -index cbd0472bf7..ccd8bffec1 100755 ---- a/build/cargo-host-linker -+++ b/build/cargo-host-linker -@@ -1,3 +1,21 @@ --#!/bin/sh --# See comment in cargo-linker. --eval ${MOZ_CARGO_WRAP_HOST_LD} ${MOZ_CARGO_WRAP_HOST_LDFLAGS} '"$@"' -+#!/usr/bin/env python3 -+ -+import os,sys -+ -+if os.environ['MOZ_CARGO_WRAP_HOST_LD'].strip(): -+ binary=os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0] -+else: -+ sys.exit(0) -+ -+if os.environ['MOZ_CARGO_WRAP_HOST_LDFLAGS'].strip(): -+ if os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:]: -+ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:] + [os.environ['MOZ_CARGO_WRAP_HOST_LDFLAGS']] + sys.argv[1:] -+ else: -+ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + [os.environ['MOZ_CARGO_WRAP_HOST_LDFLAGS']] + sys.argv[1:] -+else: -+ if os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:]: -+ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:] + sys.argv[1:] -+ else: -+ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + sys.argv[1:] -+ -+os.execvp(binary, args) --- -2.33.1 - diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78_78.15.0.bb b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78_78.15.0.bb deleted file mode 100644 index 7d4e4a81fb5..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78_78.15.0.bb +++ /dev/null @@ -1,146 +0,0 @@ -SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++" -HOMEPAGE = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -LICENSE = "MPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=dc9b6ecd19a14a54a628edaaf23733bf" - -SRC_URI = " \ - https://archive.mozilla.org/pub/firefox/releases/${PV}esr/source/firefox-${PV}esr.source.tar.xz \ - file://0001-rust.configure-Skip-all-target-manipulations.patch \ - file://0002-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch \ - file://0003-Do-not-check-binaries-after-build.patch \ - file://0004-Cargo.toml-do-not-abort-on-panic.patch \ - file://0005-Fixup-compatibility-of-mozbuild-with-Python-3.10.patch \ - file://0006-use-asm-sgidefs.h.patch \ - file://0007-fix-musl-build.patch \ - file://0008-riscv.patch \ - file://0009-riscv-Disable-atomic-operations.patch \ - file://0010-riscv-Set-march-correctly.patch \ - file://0011-replace-include-by-code-to-fix-arm-build.patch \ - file://0012-Add-SharedArrayRawBufferRefs-to-public-API.patch \ - file://0013-util.configure-fix-one-occasionally-reproduced-confi.patch \ - file://0014-rewrite-cargo-host-linker-in-python3.patch \ -" - -SRC_URI[sha256sum] = "a4438d84d95171a6d4fea9c9f02c2edbf0475a9c614d968ebe2eedc25a672151" -S = "${WORKDIR}/firefox-${@d.getVar("PV").replace("esr", "")}" - -DEPENDS = " \ - autoconf-2.13-native \ - icu-native \ - icu \ - cargo-native \ - zlib \ - python3-six \ - python3-six-native \ -" - -inherit autotools pkgconfig rust python3native siteinfo - -JIT ?= "" -JIT:mipsarch = "--disable-jit" - -EXTRA_OECONF = " \ - --target=${RUST_TARGET_SYS} \ - --host=${BUILD_SYS} \ - --prefix=${prefix} \ - --libdir=${libdir} \ - --x-includes=${STAGING_INCDIR} \ - --x-libraries=${STAGING_LIBDIR} \ - --without-system-icu \ - --disable-tests --disable-strip --disable-optimize \ - --disable-jemalloc \ - --with-system-icu \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', "--enable-gold", '--disable-gold', d)} \ - ${JIT} \ -" -# Note: Python with mozilla build is a mess: E.g: python-six: to get an error -# free configure we need: -# * python3-six-native in DEPENDS -# * python3-six in DEPENDS -# * path to python-six shipped by mozilla in PYTHONPATH -prepare_python_and_rust() { - if [ ! -f ${B}/PYTHONPATH ]; then - oldpath=`pwd` - cd ${S} - # Add mozjs python-modules necessary - PYTHONPATH="${S}/build:${S}/config" - PYTHONPATH="$PYTHONPATH:${S}/third_party/python/distro:${S}/third_party/python/jsmin" - PYTHONPATH="$PYTHONPATH:${S}/third_party/python/pytoml:${S}/third_party/python/six" - PYTHONPATH="$PYTHONPATH:${S}/third_party/python/pyyaml/lib3:${S}/third_party/python/which" - for sub_dir in python testing/mozbase; do - for module_dir in `ls $sub_dir -1`;do - [ $module_dir = "virtualenv" ] && continue - if [ -d "${S}/$sub_dir/$module_dir" ];then - PYTHONPATH="$PYTHONPATH:${S}/$sub_dir/$module_dir" - fi - done - done - # looks odd but it's huge and we want to see what's in there - echo "$PYTHONPATH" > ${B}/PYTHONPATH - cd "$oldpath" - fi - - export PYTHONPATH=`cat ${B}/PYTHONPATH` - - export RUST_TARGET_PATH="${RUST_TARGET_PATH}" - export RUST_TARGET="${TARGET_SYS}" - export RUSTFLAGS="${RUSTFLAGS}" -} - -export HOST_CC = "${BUILD_CC}" -export HOST_CXX = "${BUILD_CXX}" -export HOST_CFLAGS = "${BUILD_CFLAGS}" -export HOST_CPPFLAGS = "${BUILD_CPPFLAGS}" -export HOST_CXXFLAGS = "${BUILD_CXXFLAGS}" -# otherwise we are asked for yasm... -export AS = "${CC}" - -CPPFLAGS:append:mips:toolchain-clang = " -fpie" -CPPFLAGS:append:mipsel:toolchain-clang = " -fpie" - -do_configure() { - prepare_python_and_rust - - cd ${S}/js/src - autoconf213 --macrodir=${STAGING_DATADIR_NATIVE}/autoconf213 old-configure.in > old-configure - - cd ${B} - # * use of /tmp can causes problems on heavily loaded hosts - # * with mozjs-78 we get without: - # | Path specified in LOCAL_INCLUDES (..) resolves to the topsrcdir or topobjdir (/oe-core-glibc/work/cortexa72-mortsgna-linux/mozjs-78/78.15.0-r0/firefox-78.15.0/js/src), which is not allowed - mkdir -p "${B}/lcl_tmp" - TMPDIR="${B}/lcl_tmp" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" ${S}/js/src/configure ${EXTRA_OECONF} - - # inspired by what fedora [1] does: for big endian rebuild icu dat - # this avoids gjs qemu crash on mips at gir creation - # [1] https://src.fedoraproject.org/rpms/mozjs78/blob/rawhide/f/mozjs78.spec - if [ ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} = "big" -a ! -e ${S}/config/external/icu/data/icudt67b.dat ]; then - echo "Do big endian icu dat-convert..." - icupkg -tb ${S}/config/external/icu/data/icudt67l.dat ${S}/config/external/icu/data/icudt67b.dat - rm -f ${S}/config/external/icu/data/icudt*l.dat - fi -} - -do_compile:prepend() { - prepare_python_and_rust -} - -do_install:prepend() { - prepare_python_and_rust -} - -do_install:append() { - # tidy up installation - chmod -x ${D}${libdir}/pkgconfig/*.pc - sed -i 's:\x24{includedir}/mozjs-78/js/RequiredDefines.h:js/RequiredDefines.h:g' ${D}${libdir}/pkgconfig/*.pc - - rm -f ${D}${libdir}/libjs_static.ajs -} - -ARM_INSTRUCTION_SET:armv5 = "arm" -ARM_INSTRUCTION_SET:armv4 = "arm" - -DISABLE_STATIC = "" - -PACKAGES =+ "lib${BPN}" -FILES:lib${BPN} += "${libdir}/lib*" diff --git a/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/0001-Fix-system-header-includes.patch b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/0001-Fix-system-header-includes.patch deleted file mode 100644 index 01643213124..00000000000 --- a/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/0001-Fix-system-header-includes.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 18786db1ad03716267927d983c83275469a1478a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 8 May 2020 12:27:19 -0700 -Subject: [PATCH] Fix system header includes - -Use poll.h instead of sys/poll.h -Fixes -warning: #warning redirecting incorrect #include to [-Wcpp] - -Include limits.h for PATH_MAX - -Fixes -ras-events.c:359:16: error: 'PATH_MAX' undeclared (first use in this function) - 359 | char pipe_raw[PATH_MAX]; - | ^~~~~~~~ - -Signed-off-by: Khem Raj ---- - ras-events.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/ras-events.c b/ras-events.c -index 511c93d..400e740 100644 ---- a/ras-events.c -+++ b/ras-events.c -@@ -18,13 +18,14 @@ - #include - #include - #include -+#include -+#include - #include - #include - #include - #include - #include - #include --#include - #include - #include - #include "libtrace/kbuffer.h" --- -2.26.2 - diff --git a/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/0001-libtrace-Use-XSI-version-of-strerror_r-on-non-glibc-.patch b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/0001-libtrace-Use-XSI-version-of-strerror_r-on-non-glibc-.patch new file mode 100644 index 00000000000..fef71afde55 --- /dev/null +++ b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/0001-libtrace-Use-XSI-version-of-strerror_r-on-non-glibc-.patch @@ -0,0 +1,35 @@ +From e415152b51eacab8705b6b3274cc0d1a274772e0 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 30 Aug 2022 19:54:35 -0700 +Subject: [PATCH] libtrace: Use XSI version of strerror_r on non glibc systems + +The version used is glibc specific therefore make it so +and provide a fallback for non-glibc systems + +Upstream-Status: Submitted [https://github.com/mchehab/rasdaemon/pull/70] +Signed-off-by: Khem Raj +--- + libtrace/event-parse.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/libtrace/event-parse.c b/libtrace/event-parse.c +index 6c705c3..6b651d5 100644 +--- a/libtrace/event-parse.c ++++ b/libtrace/event-parse.c +@@ -5071,7 +5071,13 @@ int pevent_strerror(struct pevent *pevent, enum pevent_errno errnum, + const char *msg; + + if (errnum >= 0) { ++#if defined(__GLIBC__) + msg = strerror_r(errnum, buf, buflen); ++#else ++ if (strerror_r(errnum, buf, buflen) != 0) ++ snprintf(buf, buflen, "unknown error %i", errnum); ++ msg = buf; ++#endif + if (msg != buf) { + size_t len = strlen(msg); + memcpy(buf, msg, min(buflen - 1, len)); +-- +2.37.3 + diff --git a/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.7.bb b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.7.bb deleted file mode 100644 index f30822b06ef..00000000000 --- a/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.7.bb +++ /dev/null @@ -1,55 +0,0 @@ -DESCRIPTION = "Tools to provide a way to get Platform Reliability, Availability and Serviceability (RAS) reports made via the Kernel tracing events" -HOMEPAGE = "http://git.infradead.org/users/mchehab/rasdaemon.git" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=d3070efe0afa3dc41608bd82c00bb0dc" - -SRC_URI = "git://github.com/mchehab/rasdaemon.git;branch=master;protocol=https \ - file://0001-Fix-system-header-includes.patch \ - file://rasdaemon.service \ - file://init" - -SRCREV = "aa96737648d867a3d73e4151d05b54bbab494605" - -S = "${WORKDIR}/git" - -RDEPENDS:${BPN} = "perl perl-module-file-basename perl-module-file-find perl-module-file-spec perl-module-getopt-long \ - perl-module-posix perl-module-file-glob libdbi-perl libdbd-sqlite-perl" - -inherit autotools pkgconfig update-rc.d systemd - -PACKAGECONFIG ??= "sqlite3 mce aer extlog devlink diskerror" -PACKAGECONFIG[sqlite3] = "--enable-sqlite3,--disable-sqlite3,sqlite3" -PACKAGECONFIG[mce] = "--enable-mce,--disable-mce" -PACKAGECONFIG[aer] = "--enable-aer,--disable-aer" -PACKAGECONFIG[extlog] = "--enable-extlog,--disable-extlog" -PACKAGECONFIG[devlink] = "--enable-devlink,--disable-devlink" -PACKAGECONFIG[diskerror] = "--enable-diskerror,--disable-diskerror" -PACKAGECONFIG[arm] = "--enable-arm,--disable-arm" -PACKAGECONFIG[hisi-ns-decode] = "--enable-hisi-ns-decode,--disable-hisi-ns-decode" -PACKAGECONFIG[non-standard] = "--enable-non-standard,--disable-non-standard" -PACKAGECONFIG[abrt-report] = "--enable-abrt-report,--disable-abrt-report" - -DEPENDS:append:libc-musl = " argp-standalone" -LDFLAGS:append:libc-musl = " -largp" - -do_configure:prepend () { - ( cd ${S}; autoreconf -vfi ) -} - -do_install:append() { - install -d ${D}${sysconfdir}/init.d - install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rasdaemon - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/rasdaemon.service ${D}${systemd_unitdir}/system -} - -FILES:${PN} += "${sbindir}/rasdaemon \ - ${sysconfdir}/init.d \ - ${systemd_unitdir}/system/rasdaemon.service" - -SYSTEMD_SERVICE:${PN} = "rasdaemon.service" -SYSTEMD_AUTO_ENABLE = "enable" - -INITSCRIPT_PACKAGES = "${PN}" -INITSCRIPT_NAME:${PN} = "rasdaemon" -INITSCRIPT_PARAMS:${PN} = "defaults 89" diff --git a/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.8.bb b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.8.bb new file mode 100644 index 00000000000..3a525e8a156 --- /dev/null +++ b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.8.bb @@ -0,0 +1,51 @@ +DESCRIPTION = "Tools to provide a way to get Platform Reliability, Availability and Serviceability (RAS) reports made via the Kernel tracing events" +HOMEPAGE = "http://git.infradead.org/users/mchehab/rasdaemon.git" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=d3070efe0afa3dc41608bd82c00bb0dc" + +SRC_URI = "git://github.com/mchehab/rasdaemon.git;branch=master;protocol=https \ + file://0001-libtrace-Use-XSI-version-of-strerror_r-on-non-glibc-.patch \ + file://rasdaemon.service \ + file://init" + +SRCREV = "c2255178a49f62c53009a456bc37dd5e37332f09" + +S = "${WORKDIR}/git" + +RDEPENDS:${BPN} = "perl perl-module-file-basename perl-module-file-find perl-module-file-spec perl-module-getopt-long \ + perl-module-posix perl-module-file-glob libdbi-perl libdbd-sqlite-perl" + +inherit autotools pkgconfig update-rc.d systemd + +PACKAGECONFIG ??= "sqlite3 mce aer extlog devlink diskerror" +PACKAGECONFIG[sqlite3] = "--enable-sqlite3,--disable-sqlite3,sqlite3" +PACKAGECONFIG[mce] = "--enable-mce,--disable-mce" +PACKAGECONFIG[aer] = "--enable-aer,--disable-aer" +PACKAGECONFIG[extlog] = "--enable-extlog,--disable-extlog" +PACKAGECONFIG[devlink] = "--enable-devlink,--disable-devlink" +PACKAGECONFIG[diskerror] = "--enable-diskerror,--disable-diskerror" +PACKAGECONFIG[arm] = "--enable-arm,--disable-arm" +PACKAGECONFIG[hisi-ns-decode] = "--enable-hisi-ns-decode,--disable-hisi-ns-decode" +PACKAGECONFIG[non-standard] = "--enable-non-standard,--disable-non-standard" +PACKAGECONFIG[abrt-report] = "--enable-abrt-report,--disable-abrt-report" + +DEPENDS:append:libc-musl = " argp-standalone" +LDFLAGS:append:libc-musl = " -largp" + +do_install:append() { + install -d ${D}${sysconfdir}/init.d + install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rasdaemon + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/rasdaemon.service ${D}${systemd_unitdir}/system +} + +FILES:${PN} += "${sbindir}/rasdaemon \ + ${sysconfdir}/init.d \ + ${systemd_unitdir}/system/rasdaemon.service" + +SYSTEMD_SERVICE:${PN} = "rasdaemon.service" +SYSTEMD_AUTO_ENABLE = "enable" + +INITSCRIPT_PACKAGES = "${PN}" +INITSCRIPT_NAME:${PN} = "rasdaemon" +INITSCRIPT_PARAMS:${PN} = "defaults 89" diff --git a/meta-oe/lib/oeqa/selftest/cases/syzkaller.py b/meta-oe/lib/oeqa/selftest/cases/syzkaller.py new file mode 100644 index 00000000000..64fc864bf80 --- /dev/null +++ b/meta-oe/lib/oeqa/selftest/cases/syzkaller.py @@ -0,0 +1,124 @@ +# +# SPDX-License-Identifier: MIT +# + +from oeqa.selftest.case import OESelftestTestCase +from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars +from oeqa.utils.network import get_free_port + +class TestSyzkaller(OESelftestTestCase): + def setUpSyzkallerConfig(self, os_arch, qemu_postfix): + syz_target_sysroot = get_bb_var('PKGD', 'syzkaller') + syz_target = os.path.join(syz_target_sysroot, 'usr') + + qemu_native_bin = os.path.join(self.syz_native_sysroot, 'usr/bin/qemu-system-' + qemu_postfix) + kernel_cmdline = "ip=dhcp rootfs=/dev/sda dummy_hcd.num=%s" % (self.dummy_hcd_num) + kernel_objdir = self.deploy_dir_image + port = get_free_port() + + if not os.path.exists(self.syz_workdir): + os.mkdir(self.syz_workdir) + + with open(self.syz_cfg, 'w') as f: + f.write( +""" +{ + "target": "%s", + "http": "127.0.0.1:%s", + "workdir": "%s", + "kernel_obj": "%s", + "kernel_src": "%s", + "image": "%s", + "syzkaller": "%s", + "type": "qemu", + "reproduce" : false, + "sandbox": "none", + "vm": { + "count": %s, + "kernel": "%s", + "cmdline": "%s", + "cpu": %s, + "mem": %s, + "qemu": "%s", + "qemu_args": "-device virtio-scsi-pci,id=scsi -device scsi-hd,drive=rootfs -enable-kvm -cpu host,migratable=off", + "image_device": "drive index=0,id=rootfs,if=none,media=disk,file=" + } +} +""" +% (os_arch, port, self.syz_workdir, kernel_objdir, self.kernel_src, + self.rootfs, syz_target, self.syz_qemu_vms, self.kernel, kernel_cmdline, + self.syz_qemu_cpus, self.syz_qemu_mem, qemu_native_bin)) + + def test_syzkallerFuzzingQemux86_64(self): + self.image = 'core-image-minimal' + self.machine = 'qemux86-64' + self.fstype = "ext4" + + self.write_config( +""" +MACHINE = "%s" +IMAGE_FSTYPES = "%s" +KERNEL_IMAGETYPES += "vmlinux" +EXTRA_IMAGE_FEATURES += " ssh-server-openssh" +IMAGE_ROOTFS_EXTRA_SPACE = "512000" +KERNEL_EXTRA_FEATURES += " \ + cfg/debug/syzkaller/debug-syzkaller.scc \ +" +IMAGE_INSTALL:append = " syzkaller" +""" +% (self.machine, self.fstype)) + + build_vars = ['TOPDIR', 'DEPLOY_DIR_IMAGE', 'STAGING_KERNEL_DIR'] + syz_fuzz_vars = ['SYZ_WORKDIR', 'SYZ_FUZZTIME', 'SYZ_QEMU_MEM', 'SYZ_QEMU_CPUS', 'SYZ_QEMU_VM_COUNT'] + syz_aux_vars = ['SYZ_DUMMY_HCD_NUM'] + + needed_vars = build_vars + syz_fuzz_vars + syz_aux_vars + bb_vars = get_bb_vars(needed_vars) + + for var in syz_fuzz_vars: + if not bb_vars[var]: + self.skipTest( +""" +%s variable not set. +Please configure %s fuzzing parameters to run this test. + +Example local.conf config: +SYZ_WORKDIR="" # syzkaller workdir location (must be persistent across os-selftest runs) +SYZ_FUZZTIME="30" # fuzzing time in minutes +SYZ_QEMU_VM_COUNT="1" # number of qemu VMs to be used for fuzzing +SYZ_QEMU_MEM="2048"' # memory used by each qemu VM +SYZ_QEMU_CPUS="2"' # number of cpus used by each qemu VM +""" +% (var, ', '.join(syz_fuzz_vars))) + + self.topdir = bb_vars['TOPDIR'] + self.deploy_dir_image = bb_vars['DEPLOY_DIR_IMAGE'] + self.kernel_src = bb_vars['STAGING_KERNEL_DIR'] + + """ + SYZ_WORKDIR must be set to an absolute path where syzkaller will store + the corpus database, config, runtime and crash data generated during + fuzzing. It must be persistent between oe-selftest runs, so the fuzzer + does not start over again on each run. + """ + self.syz_workdir = bb_vars['SYZ_WORKDIR'] + self.syz_fuzztime = int(bb_vars['SYZ_FUZZTIME']) * 60 + self.syz_qemu_mem = int(bb_vars['SYZ_QEMU_MEM']) + self.syz_qemu_cpus = int(bb_vars['SYZ_QEMU_CPUS']) + self.syz_qemu_vms = int(bb_vars['SYZ_QEMU_VM_COUNT']) + self.dummy_hcd_num = int(bb_vars['SYZ_DUMMY_HCD_NUM'] or 8) + + self.syz_cfg = os.path.join(self.syz_workdir, 'syzkaller.cfg') + self.kernel = os.path.join(self.deploy_dir_image, 'bzImage') + self.rootfs = os.path.join(self.deploy_dir_image, '%s-%s.%s' % (self.image, self.machine, self.fstype)) + + self.syz_native_sysroot = get_bb_var('RECIPE_SYSROOT_NATIVE', 'syzkaller-native') + + self.setUpSyzkallerConfig("linux/amd64", "x86_64") + + bitbake(self.image) + bitbake('syzkaller') + bitbake('syzkaller-native -c addto_recipe_sysroot') + + cmd = "syz-manager -config %s" % self.syz_cfg + runCmd(cmd, native_sysroot = self.syz_native_sysroot, timeout=self.syz_fuzztime, output_log=self.logger, ignore_status=True, shell=True) diff --git a/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb b/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb index 17e8c700cad..d809a564e92 100644 --- a/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb +++ b/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb @@ -22,5 +22,6 @@ do_install() { # Prevent procedure merging as required by dhrystone.c: CFLAGS += "-fno-lto" +CFLAGS:append:toolchain-clang = " -Wno-error=implicit-function-declaration -Wno-error=deprecated-non-prototype -Wno-error=implicit-int" LDFLAGS += "-fno-lto" diff --git a/meta-oe/recipes-benchmark/fio/fio_3.31.bb b/meta-oe/recipes-benchmark/fio/fio_3.31.bb deleted file mode 100644 index d655d6c98fa..00000000000 --- a/meta-oe/recipes-benchmark/fio/fio_3.31.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Filesystem and hardware benchmark and stress tool" -DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \ -stress/hardware verification. It has support for a number of I/O engines, \ -I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \ -and much more. It can work on block devices as well as files. fio accepts \ -job descriptions in a simple-to-understand text format. Several example job \ -files are included. fio displays all sorts of I/O performance information." -HOMEPAGE = "http://freecode.com/projects/fio" -SECTION = "console/tests" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "libaio zlib coreutils-native" -DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'pmem', 'pmdk', '', d)}" -RDEPENDS:${PN} = "python3-core bash" - -PACKAGECONFIG_NUMA = "numa" -# ARM does not currently support NUMA -PACKAGECONFIG_NUMA:arm = "" -PACKAGECONFIG_NUMA:armeb = "" - -PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}" -PACKAGECONFIG[numa] = ",--disable-numa,numactl" - -SRCREV = "6cafe8445fd1e04e5f7d67bbc73029a538d1b253" -SRC_URI = "git://git.kernel.dk/fio.git;branch=master \ -" - -S = "${WORKDIR}/git" - -# avoids build breaks when using no-static-libs.inc -DISABLE_STATIC = "" - -EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'" -EXTRA_OECONF = "${@bb.utils.contains('MACHINE_FEATURES', 'x86', '--disable-optimizations', '', d)}" - -do_configure() { - ./configure ${EXTRA_OECONF} -} - -do_install() { - oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir} - install -d ${D}/${docdir}/${PN} - cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/ -} diff --git a/meta-oe/recipes-benchmark/fio/fio_3.32.bb b/meta-oe/recipes-benchmark/fio/fio_3.32.bb new file mode 100644 index 00000000000..90e28340c66 --- /dev/null +++ b/meta-oe/recipes-benchmark/fio/fio_3.32.bb @@ -0,0 +1,44 @@ +SUMMARY = "Filesystem and hardware benchmark and stress tool" +DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \ +stress/hardware verification. It has support for a number of I/O engines, \ +I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \ +and much more. It can work on block devices as well as files. fio accepts \ +job descriptions in a simple-to-understand text format. Several example job \ +files are included. fio displays all sorts of I/O performance information." +HOMEPAGE = "http://freecode.com/projects/fio" +SECTION = "console/tests" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "libaio zlib coreutils-native" +DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'pmem', 'pmdk', '', d)}" +RDEPENDS:${PN} = "python3-core bash" + +PACKAGECONFIG_NUMA = "numa" +# ARM does not currently support NUMA +PACKAGECONFIG_NUMA:arm = "" +PACKAGECONFIG_NUMA:armeb = "" + +PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}" +PACKAGECONFIG[numa] = ",--disable-numa,numactl" + +SRCREV = "db7fc8d864dc4fb607a0379333a0db60431bd649" +SRC_URI = "git://git.kernel.dk/fio.git;branch=master" + +S = "${WORKDIR}/git" + +# avoids build breaks when using no-static-libs.inc +DISABLE_STATIC = "" + +EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'" +EXTRA_OECONF = "${@bb.utils.contains('MACHINE_FEATURES', 'x86', '--disable-optimizations', '', d)}" + +do_configure() { + ./configure ${EXTRA_OECONF} +} + +do_install() { + oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir} + install -d ${D}/${docdir}/${PN} + cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/ +} diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3_3.11.bb b/meta-oe/recipes-benchmark/iperf3/iperf3_3.11.bb deleted file mode 100644 index 2142a8ef1d4..00000000000 --- a/meta-oe/recipes-benchmark/iperf3/iperf3_3.11.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Network benchmark tool" -DESCRIPTION = "\ -iperf is a tool for active measurements of the maximum achievable bandwidth \ -on IP networks. It supports tuning of various parameters related to timing, \ -protocols, and buffers. For each test it reports the bandwidth, loss, and \ -other parameters." - -HOMEPAGE = "http://software.es.net/iperf/" -SECTION = "console/network" -BUGTRACKER = "https://github.com/esnet/iperf/issues" -AUTHOR = "ESNET , Lawrence Berkeley National Laboratory " - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=68ae8cfc577a2c8c51bb51e9628e80b7" - -SRC_URI = "git://github.com/esnet/iperf.git;branch=master;protocol=https \ - file://0002-Remove-pg-from-profile_CFLAGS.patch \ - file://0001-configure.ac-check-for-CPP-prog.patch \ - " - -SRCREV = "76bd67f6e90e239a7686202d2b1b595159826d24" - -S = "${WORKDIR}/git" - -inherit autotools - -PACKAGECONFIG ?= "openssl" - -PACKAGECONFIG[lksctp] = "ac_cv_header_netinet_sctp_h=yes,ac_cv_header_netinet_sctp_h=no,lksctp-tools" -PACKAGECONFIG[openssl] = "--with-openssl=${RECIPE_SYSROOT}${prefix},--without-openssl,openssl" - -CFLAGS += "-D_GNU_SOURCE" - -CVE_PRODUCT = "iperf_project:iperf" diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3_3.12.bb b/meta-oe/recipes-benchmark/iperf3/iperf3_3.12.bb new file mode 100644 index 00000000000..8c5ce36e85b --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf3/iperf3_3.12.bb @@ -0,0 +1,34 @@ +SUMMARY = "Network benchmark tool" +DESCRIPTION = "\ +iperf is a tool for active measurements of the maximum achievable bandwidth \ +on IP networks. It supports tuning of various parameters related to timing, \ +protocols, and buffers. For each test it reports the bandwidth, loss, and \ +other parameters." + +HOMEPAGE = "http://software.es.net/iperf/" +SECTION = "console/network" +BUGTRACKER = "https://github.com/esnet/iperf/issues" +AUTHOR = "ESNET , Lawrence Berkeley National Laboratory " + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=68ae8cfc577a2c8c51bb51e9628e80b7" + +SRC_URI = "git://github.com/esnet/iperf.git;branch=master;protocol=https \ + file://0002-Remove-pg-from-profile_CFLAGS.patch \ + file://0001-configure.ac-check-for-CPP-prog.patch \ + " + +SRCREV = "e61aaf8c95df956cefbc54fab7b3d78914664180" + +S = "${WORKDIR}/git" + +inherit autotools + +PACKAGECONFIG ?= "openssl" + +PACKAGECONFIG[lksctp] = "ac_cv_header_netinet_sctp_h=yes,ac_cv_header_netinet_sctp_h=no,lksctp-tools" +PACKAGECONFIG[openssl] = "--with-openssl=${RECIPE_SYSROOT}${prefix},--without-openssl,openssl" + +CFLAGS += "-D_GNU_SOURCE" + +CVE_PRODUCT = "iperf_project:iperf" diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch deleted file mode 100644 index d7169495fa6..00000000000 --- a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch +++ /dev/null @@ -1,27 +0,0 @@ -From ac1657e11cbb0545bdf4d1124def8c013958ed7e Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 12 Jul 2017 18:08:51 -0700 -Subject: [PATCH] Check for musl define guard before redefining socklen_t - -musl uses __DEFINED_socklen_t so check for that as well -along with HAVE_socklen_t - -Signed-off-by: Khem Raj - ---- - src/bench.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/bench.h b/src/bench.h -index 597d068..2ebdf5a 100644 ---- a/src/bench.h -+++ b/src/bench.h -@@ -77,7 +77,7 @@ typedef long long int64; - #endif /* HAVE_int64_t */ - #endif /* HAVE_int64 */ - --#ifndef HAVE_socklen_t -+#if !defined(HAVE_socklen_t) && !defined(__DEFINED_socklen_t) - typedef int socklen_t; - #endif - diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench/0001-bench.h-Fix-typo-in-specifying-string.h.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-bench.h-Fix-typo-in-specifying-string.h.patch new file mode 100644 index 00000000000..e9220ecbdd3 --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-bench.h-Fix-typo-in-specifying-string.h.patch @@ -0,0 +1,27 @@ +From 4bbedd25e74adb5cb181a9ae589adb2052ade630 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 31 Aug 2022 23:34:48 -0700 +Subject: [PATCH] bench.h: Fix typo in specifying string.h + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/bench.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/bench.h b/src/bench.h +index 2ebdf5a..750bebf 100644 +--- a/src/bench.h ++++ b/src/bench.h +@@ -21,7 +21,7 @@ typedef unsigned char bool_t; + #include + #include + #ifndef WIN32 +-#include ++#include + #endif + #include + #ifndef WIN32 +-- +2.37.3 + diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch similarity index 100% rename from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch rename to meta-oe/recipes-benchmark/lmbench/lmbench/0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-doc-Fix-typos-in-manual-pages.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-doc-Fix-typos-in-manual-pages.patch similarity index 100% rename from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-doc-Fix-typos-in-manual-pages.patch rename to meta-oe/recipes-benchmark/lmbench/lmbench/0001-doc-Fix-typos-in-manual-pages.patch diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_fifo-Fix-cleanup-sequence.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-lat_fifo-Fix-cleanup-sequence.patch similarity index 100% rename from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_fifo-Fix-cleanup-sequence.patch rename to meta-oe/recipes-benchmark/lmbench/lmbench/0001-lat_fifo-Fix-cleanup-sequence.patch diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-lat_http.c-Add-printf-format.patch similarity index 100% rename from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch rename to meta-oe/recipes-benchmark/lmbench/lmbench/0001-lat_http.c-Add-printf-format.patch diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lmbench-Point-webpage-lm-to-target-directory.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-lmbench-Point-webpage-lm-to-target-directory.patch similarity index 100% rename from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lmbench-Point-webpage-lm-to-target-directory.patch rename to meta-oe/recipes-benchmark/lmbench/lmbench/0001-lmbench-Point-webpage-lm-to-target-directory.patch diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench/0001-scripts-build-Fix-the-tests-to-build-with-clang15.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-scripts-build-Fix-the-tests-to-build-with-clang15.patch new file mode 100644 index 00000000000..f07cef6b382 --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-scripts-build-Fix-the-tests-to-build-with-clang15.patch @@ -0,0 +1,239 @@ +From bcc6816b92ecf409357865589069a82883d589f7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 6 Sep 2022 22:53:51 -0700 +Subject: [PATCH] scripts/build: Fix the tests to build with clang15 + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + scripts/build | 50 +++++++++++++++++++++++++------------------------- + 1 file changed, 25 insertions(+), 25 deletions(-) + +--- a/scripts/build ++++ b/scripts/build +@@ -21,7 +21,7 @@ trap 'rm -f ${BASE}$$.s ${BASE}$$.c ${BA + LDLIBS="$LDLIBS -lm" + + # check for HP-UX's ANSI compiler +-echo "main(int ac, char *av[]) { int i; }" > ${BASE}$$.c ++echo "int main(int ac, char *av[]) { int i; }" > ${BASE}$$.c + if ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c 1>${NULL} 2>${NULL} + then + true; +@@ -39,7 +39,7 @@ arch=`echo $OS | awk -F- '{print $1;}'` + if [ "X$CC" = "Xcc" -a "X$arch" = "Xia64" ] + then + echo "#include " > ${BASE}$$.c +- echo "main(int ac, char *av[])" >> ${BASE}$$.c ++ echo "int main(int ac, char *av[])" >> ${BASE}$$.c + echo "{ long* p = (long*)malloc(sizeof(long));" >> ${BASE}$$.c + echo "*p = 0; exit((int)*p); }" >> ${BASE}$$.c + ${CC} ${CFLAGS} +DD64 -o ${BASE}$$ ${BASE}$$.c 1>${NULL} 2>${NULL} \ +@@ -51,14 +51,14 @@ fi + + # check for bcopy (optionally set the SYS5 flag) + echo "#include " > ${BASE}$$.c +-echo "main() { char a[256], b[256]; bcopy(a, b, 256); }" >> ${BASE}$$.c ++echo "int main() { char a[256], b[256]; bcopy(a, b, 256); }" >> ${BASE}$$.c + ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \ + || CFLAGS="${CFLAGS} -DSYS5" + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c + + # check for valloc + echo "#include " > ${BASE}$$.c +-echo "main() { char* buf = valloc(123); }" >> ${BASE}$$.c ++echo "int main() { char* buf = valloc(123); }" >> ${BASE}$$.c + ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \ + || CFLAGS="${CFLAGS} -Dvalloc=malloc" + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c +@@ -67,7 +67,7 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c + echo "#include " > ${BASE}$$.c + echo "#include " >> ${BASE}$$.c + echo "#include " >> ${BASE}$$.c +-echo "main() { off64_t off; }" >> ${BASE}$$.c ++echo "int main() { off64_t off; }" >> ${BASE}$$.c + ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \ + && CFLAGS="${CFLAGS} -DHAVE_off64_t" + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c +@@ -76,7 +76,7 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c + echo "#include " > ${BASE}$$.c + echo "#include " >> ${BASE}$$.c + echo "#include " >> ${BASE}$$.c +-echo "main() { int fd = 0; off64_t off = 0; off = lseek64(fd, off, SEEK_SET); }" >> ${BASE}$$.c ++echo "int main() { int fd = 0; off64_t off = 0; off = lseek64(fd, off, SEEK_SET); }" >> ${BASE}$$.c + ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \ + && CFLAGS="${CFLAGS} -DHAVE_lseek64" + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c +@@ -88,7 +88,7 @@ echo "#include " >> ${BA + echo "#ifndef RUSAGE_SELF" >> ${BASE}$$.c + echo "#define RUSAGE_SELF 0" >> ${BASE}$$.c + echo "#endif /* RUSAGE_SELF */" >> ${BASE}$$.c +-echo "main() { struct rusage ru; getrusage(RUSAGE_SELF, &ru); }" >> ${BASE}$$.c ++echo "int main() { struct rusage ru; getrusage(RUSAGE_SELF, &ru); }" >> ${BASE}$$.c + ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \ + && CFLAGS="${CFLAGS} -DRUSAGE" + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c +@@ -125,24 +125,24 @@ fi + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c + + # check for -lrpc (cygwin/Windows) +-echo "extern int pmap_set(); main() { pmap_set(); }" >${BASE}$$.c ++echo "extern int pmap_set(void); int main() { pmap_set(); }" >${BASE}$$.c + if ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL}; then + true; +-else +- ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} -lrpc 1>${NULL} 2>${NULL} \ +- && LDLIBS="${LDLIBS} -lrpc" ++elif ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} -lrpc 1>${NULL} 2>${NULL}; then ++ LDLIBS="${LDLIBS} -lrpc" ++else ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} -ltirpc 1>${NULL} 2>${NULL} && LDLIBS="${LDLIBS} -ltirpc" + fi + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c + + # check for OSs that have S_IFFIFO instead of S_IFIFO + echo "#include " > ${BASE}$$.c +-echo "main() { return (S_IFIFO); }" >> ${BASE}$$.c ++echo "int main() { return (S_IFIFO); }" >> ${BASE}$$.c + if ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL}; then + true; + else + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c + echo "#include " > ${BASE}$$.c +- echo "main() { return (S_IFFIFO); }" >> ${BASE}$$.c ++ echo "int main() { return (S_IFFIFO); }" >> ${BASE}$$.c + ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \ + || CFLAGS="${CFLAGS} -DS_IFIFO=S_IFFIFO" + fi +@@ -151,7 +151,7 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c + # check that we have uint + echo "#include " > ${BASE}$$.c + echo "#include " >> ${BASE}$$.c +-echo "main() { uint i = 0; return (i); }" >> ${BASE}$$.c ++echo "int main() { uint i = 0; return (i); }" >> ${BASE}$$.c + ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \ + && CFLAGS="${CFLAGS} -DHAVE_uint=1"; + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c +@@ -161,7 +161,7 @@ HAVE_uint64=0 + echo "#include " > ${BASE}$$.c + echo "#include " >> ${BASE}$$.c + echo "#include " >> ${BASE}$$.c +-echo "main() { uint64 i = 0; return (int)(i); }" >> ${BASE}$$.c ++echo "int main() { uint64 i = 0; return (int)(i); }" >> ${BASE}$$.c + ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \ + && CFLAGS="${CFLAGS} -DHAVE_uint64=1" && HAVE_uint64=1; + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c +@@ -170,7 +170,7 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c + if [ ${HAVE_uint64} = 0 ]; then + echo "#include " > ${BASE}$$.c + echo "#include " >> ${BASE}$$.c +- echo "main() { uint64_t i = 0; return (int)(i); }" >> ${BASE}$$.c ++ echo "int main() { uint64_t i = 0; return (int)(i); }" >> ${BASE}$$.c + ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \ + && CFLAGS="${CFLAGS} -DHAVE_uint64_t=1"; + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c +@@ -181,7 +181,7 @@ HAVE_int64=0 + echo "#include " > ${BASE}$$.c + echo "#include " >> ${BASE}$$.c + echo "#include " >> ${BASE}$$.c +-echo "main() { int64 i = 0; return (int)(i); }" >> ${BASE}$$.c ++echo "int main() { int64 i = 0; return (int)(i); }" >> ${BASE}$$.c + ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \ + && CFLAGS="${CFLAGS} -DHAVE_int64=1" && HAVE_int64=1; + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c +@@ -190,7 +190,7 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c + if [ ${HAVE_int64} = 0 ]; then + echo "#include " > ${BASE}$$.c + echo "#include " >> ${BASE}$$.c +- echo "main() { int64_t i = 0; return (int)(i); }" >> ${BASE}$$.c ++ echo "int main() { int64_t i = 0; return (int)(i); }" >> ${BASE}$$.c + ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \ + && CFLAGS="${CFLAGS} -DHAVE_int64_t=1"; + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c +@@ -209,7 +209,7 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c + echo "#include " > ${BASE}$$.c + echo "#include " >> ${BASE}$$.c + echo "#include " >> ${BASE}$$.c +-echo "main() { int s; struct sockaddr dest; socklen_t len; getsockname(s, &dest, &len); }" >> ${BASE}$$.c ++echo "int main() { int s; struct sockaddr dest; socklen_t len; getsockname(s, &dest, &len); }" >> ${BASE}$$.c + ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \ + && CFLAGS="${CFLAGS} -DHAVE_socklen_t" + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c +@@ -217,7 +217,7 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c + # check that we have drand48 and srand48 + HAVE_RANDOM=0 + echo "#include " > ${BASE}$$.c +-echo "main() { srand48(973); return (int)(1.0E9 * drand48()); }" >> ${BASE}$$.c ++echo "int main() { srand48(973); return (int)(1.0E9 * drand48()); }" >> ${BASE}$$.c + if ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL}; then + CFLAGS="${CFLAGS} -DHAVE_DRAND48" + HAVE_RANDOM=1 +@@ -226,7 +226,7 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c + + if [ ${HAVE_RANDOM} -eq 0 ]; then + echo "#include " > ${BASE}$$.c +- echo "main() { srand(973); return (10 * rand()) / RAND_MAX; }" >> ${BASE}$$.c ++ echo "int main() { srand(973); return (10 * rand()) / RAND_MAX; }" >> ${BASE}$$.c + if ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL}; then + CFLAGS="${CFLAGS} -DHAVE_RAND" + HAVE_RANDOM=1 +@@ -236,7 +236,7 @@ fi + + if [ ${HAVE_RANDOM} -eq 0 ]; then + echo "#include " > ${BASE}$$.c +- echo "main() { srandom(973); return (10 * random()) / RAND_MAX; }" >> ${BASE}$$.c ++ echo "int main() { srandom(973); return (10 * random()) / RAND_MAX; }" >> ${BASE}$$.c + if ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL}; then + CFLAGS="${CFLAGS} -DHAVE_RANDOM" + HAVE_RANDOM=1 +@@ -247,7 +247,7 @@ fi + # check that we have sysmp + echo "#include " > ${BASE}$$.c + echo "#include " >> ${BASE}$$.c +-echo "main() { return (int)sysmp(MP_NPROCS); }" >> ${BASE}$$.c ++echo "int main() { return (int)sysmp(MP_NPROCS); }" >> ${BASE}$$.c + ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \ + && CFLAGS="${CFLAGS} -DHAVE_SYSMP=1"; + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c +@@ -257,7 +257,7 @@ echo "#include " > ${BASE}$$.c + echo "#include " >> ${BASE}$$.c + echo "#include " >> ${BASE}$$.c + echo "#include " >> ${BASE}$$.c +-echo "main() { return bindprocessor(BINDPROCESS, getpid(), 0); }" >> ${BASE}$$.c ++echo "int main() { return bindprocessor(BINDPROCESS, getpid(), 0); }" >> ${BASE}$$.c + ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \ + && CFLAGS="${CFLAGS} -DHAVE_BINDPROCESSOR=1"; + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c +@@ -267,16 +267,17 @@ echo "#include " > ${BASE}$$.c + echo "#include " >> ${BASE}$$.c + echo "#include " >> ${BASE}$$.c + echo "#include " >> ${BASE}$$.c +-echo "main() { return processor(P_PID, P_MYPID, 0, NULL); }" >> ${BASE}$$.c ++echo "int main() { return processor(P_PID, P_MYPID, 0, NULL); }" >> ${BASE}$$.c + ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \ + && CFLAGS="${CFLAGS} -DHAVE_BINDPROCESSOR=1"; + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c + + # check that we have sched_setaffinity +-echo "#include " > ${BASE}$$.c ++echo "#define _GNU_SOURCE" > ${BASE}$$.c ++echo "#include " >> ${BASE}$$.c + echo "#include " >> ${BASE}$$.c + echo "#include " >> ${BASE}$$.c +-echo "main() { unsigned long mask = 1; return sched_setaffinity(0, sizeof(unsigned long), &mask); }" >> ${BASE}$$.c ++echo "int main() { unsigned long mask = 1; return sched_setaffinity(0, sizeof(unsigned long), &mask); }" >> ${BASE}$$.c + ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \ + && CFLAGS="${CFLAGS} -DHAVE_SCHED_SETAFFINITY=1"; + rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c +@@ -285,4 +286,4 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c + if [ ! -d ${BINDIR} ]; then mkdir -p ${BINDIR}; fi + + # now go ahead and build everything! +-${MAKE} OS="${OS}" CC="${CC}" CFLAGS="${CFLAGS}" LDLIBS="${LDLIBS}" O="${BINDIR}" $* ++${MAKE} OS="${OS}" CC="${CC}" CFLAGS="${CFLAGS}" LDLIBS="${LDLIBS}" O="${BINDIR}" ${EXTRA_OEMAKE} $* +--- a/src/lib_sched.c ++++ b/src/lib_sched.c +@@ -1,3 +1,4 @@ ++#define _GNU_SOURCE + #include "bench.h" + + /* #define _DEBUG */ diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-src-Makefile-use-libdir-instead-of-hardcoded-lib.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-src-Makefile-use-libdir-instead-of-hardcoded-lib.patch similarity index 100% rename from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-src-Makefile-use-libdir-instead-of-hardcoded-lib.patch rename to meta-oe/recipes-benchmark/lmbench/lmbench/0001-src-Makefile-use-libdir-instead-of-hardcoded-lib.patch diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch similarity index 100% rename from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch rename to meta-oe/recipes-benchmark/lmbench/lmbench/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/fix-lmbench-memory-check-failure.patch similarity index 100% rename from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch rename to meta-oe/recipes-benchmark/lmbench/lmbench/fix-lmbench-memory-check-failure.patch diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/lmbench_result_html_report.patch similarity index 100% rename from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch rename to meta-oe/recipes-benchmark/lmbench/lmbench/lmbench_result_html_report.patch diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/obey-ranlib.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/obey-ranlib.patch similarity index 100% rename from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/obey-ranlib.patch rename to meta-oe/recipes-benchmark/lmbench/lmbench/obey-ranlib.patch diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-config-script.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/update-config-script.patch similarity index 100% rename from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-config-script.patch rename to meta-oe/recipes-benchmark/lmbench/lmbench/update-config-script.patch diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-results-script.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/update-results-script.patch similarity index 100% rename from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-results-script.patch rename to meta-oe/recipes-benchmark/lmbench/lmbench/update-results-script.patch diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb index 2046b13f4b4..d74c28f3f67 100644 --- a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb +++ b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb @@ -9,7 +9,6 @@ inherit autotools-brokensep update-alternatives DEPENDS += "libtirpc" CFLAGS += "-I${STAGING_INCDIR}/tirpc" -LDLIBS += " -ltirpc " PR = "r2" @@ -23,13 +22,14 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \ file://fix-lmbench-memory-check-failure.patch \ file://0001-avoid-gcc-optimize-away-the-loops.patch \ file://0001-lat_http.c-Add-printf-format.patch \ - file://0001-Check-for-musl-define-guard-before-redefining-sockle.patch \ file://0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch \ file://0001-src-Makefile-use-libdir-instead-of-hardcoded-lib.patch \ file://0001-lmbench-Point-webpage-lm-to-target-directory.patch \ file://0001-doc-Fix-typos-in-manual-pages.patch \ file://0001-lat_fifo-Fix-cleanup-sequence.patch \ file://0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch \ + file://0001-bench.h-Fix-typo-in-specifying-string.h.patch \ + file://0001-scripts-build-Fix-the-tests-to-build-with-clang15.patch \ " SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf" SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551" @@ -37,8 +37,11 @@ SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8 UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/lmbench/files/development/" UPSTREAM_CHECK_REGEX = "lmbench-(?P\d+(\.\d+)+-[a-z]+\d+)" +export OS = "${TARGET_SYS}" +export TARGET = "${TARGET_OS}" + EXTRA_OEMAKE = 'CC="${CC}" AR="${AR}" RANLIB="${RANLIB}" CFLAGS="${CFLAGS}" \ - LDFLAGS="${LDFLAGS}" LDLIBS="${LDLIBS}" LD="${LD}" OS="${TARGET_SYS}" \ + LDFLAGS="${LDFLAGS}" LD="${LD}" OS="${TARGET_SYS}" \ TARGET="${TARGET_OS}" BASE="${prefix}" MANDIR="${mandir}"' do_configure() { @@ -53,7 +56,7 @@ do_compile () { CFLAGS="${CFLAGS} -DHAVE_uint" fi install -d ${S}/bin/${TARGET_SYS} - oe_runmake -C src + ${S}/scripts/build } do_install () { diff --git a/meta-oe/recipes-bsp/con2fbmap/con2fbmap/0001-con2fbmap-Add-missing-include-on-string.h.patch b/meta-oe/recipes-bsp/con2fbmap/con2fbmap/0001-con2fbmap-Add-missing-include-on-string.h.patch new file mode 100644 index 00000000000..d1b75f1c547 --- /dev/null +++ b/meta-oe/recipes-bsp/con2fbmap/con2fbmap/0001-con2fbmap-Add-missing-include-on-string.h.patch @@ -0,0 +1,28 @@ +From 0a948d8d91b789e9c9b60136fada75b1d464af63 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 2 Sep 2022 18:31:27 -0700 +Subject: [PATCH] con2fbmap: Add missing include on string.h + +strerror() is from string.h therefore include it to fix -Wimplicit-function-declaration +warnings + +Upstream-Status: Submitted [https://gitlab.com/pibox/con2fbmap/-/merge_requests/1] +Signed-off-by: Khem Raj +--- + src/con2fbmap.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/con2fbmap.c b/src/con2fbmap.c +index 7831931..7a2e870 100644 +--- a/src/con2fbmap.c ++++ b/src/con2fbmap.c +@@ -1,5 +1,6 @@ + #include + #include ++#include /* for strerror */ + #include + #include + #include +-- +2.37.3 + diff --git a/meta-oe/recipes-bsp/con2fbmap/con2fbmap_git.bb b/meta-oe/recipes-bsp/con2fbmap/con2fbmap_git.bb index 5d1c5ba7e42..302a61e8a83 100644 --- a/meta-oe/recipes-bsp/con2fbmap/con2fbmap_git.bb +++ b/meta-oe/recipes-bsp/con2fbmap/con2fbmap_git.bb @@ -9,7 +9,9 @@ SECTION = "console/utils" DEPENDS = "" SRCREV = "61ed2f28b294b1ebeb767df8cb5fcd391709c8e2" -SRC_URI = "git://gitlab.com/pibox/con2fbmap.git;protocol=https;branch=master" +SRC_URI = "git://gitlab.com/pibox/con2fbmap.git;protocol=https;branch=master \ + file://0001-con2fbmap-Add-missing-include-on-string.h.patch \ + " S = "${WORKDIR}/git" diff --git a/meta-oe/recipes-bsp/fwupd/fwupd/c54ae9c524998e449b822feb465a0c90317cd735.patch b/meta-oe/recipes-bsp/fwupd/fwupd/c54ae9c524998e449b822feb465a0c90317cd735.patch new file mode 100644 index 00000000000..947c764030f --- /dev/null +++ b/meta-oe/recipes-bsp/fwupd/fwupd/c54ae9c524998e449b822feb465a0c90317cd735.patch @@ -0,0 +1,26 @@ +From c54ae9c524998e449b822feb465a0c90317cd735 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 20 Sep 2022 15:10:26 +0100 +Subject: [PATCH] trivial: Fix compile when using python 3.7 or older + +Upstream-Status: Backport [https://github.com/fwupd/fwupd/pull/5051] +Signed-off-by: Richard Hughes +--- + contrib/generate-gresource-xml.py | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/contrib/generate-gresource-xml.py b/contrib/generate-gresource-xml.py +index 235a770020..569c804937 100755 +--- a/contrib/generate-gresource-xml.py ++++ b/contrib/generate-gresource-xml.py +@@ -23,6 +23,9 @@ + n_file.set("preprocess", "xml-stripblanks") + n_file.set("alias", os.path.basename(fn)) + with open(sys.argv[1], "wb") as f: +- f.write(ET.tostring(root, "utf-8", xml_declaration=True)) ++ try: ++ f.write(ET.tostring(root, "utf-8", xml_declaration=True)) ++ except TypeError: ++ f.write(ET.tostring(root, "utf-8")) + + sys.exit(0) diff --git a/meta-oe/recipes-bsp/fwupd/fwupd_1.8.1.bb b/meta-oe/recipes-bsp/fwupd/fwupd_1.8.1.bb deleted file mode 100644 index 7576b846fb7..00000000000 --- a/meta-oe/recipes-bsp/fwupd/fwupd_1.8.1.bb +++ /dev/null @@ -1,127 +0,0 @@ -SUMMARY = "A simple daemon to allow session software to update firmware" -LICENSE = "LGPL-2.1-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = "glib-2.0 libxmlb json-glib sqlite3 libjcat gcab vala-native" - -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \ - file://run-ptest" -SRC_URI[sha256sum] = "5756466442eb9134fb40cdc8a46f9e01003247c8eac82fa5d8b16f6420375b79" - -UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" - -# Machine-specific as we examine MACHINE_FEATURES to decide whether to build the UEFI plugins -PACKAGE_ARCH = "${MACHINE_ARCH}" - -inherit meson vala gobject-introspection systemd bash-completion pkgconfig gi-docgen ptest manpages - -GIDOCGEN_MESON_OPTION = 'docs' -GIDOCGEN_MESON_ENABLE_FLAG = 'docgen' -GIDOCGEN_MESON_DISABLE_FLAG = 'none' - -PACKAGECONFIG ??= "curl gnutls gudev gusb \ - ${@bb.utils.filter('DISTRO_FEATURES', 'bluetooth polkit', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd offline', '', d)} \ - ${@bb.utils.contains('MACHINE_FEATURES', 'efi', 'plugin_uefi_capsule plugin_uefi_pk', '', d)} \ - ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests plugin_dummy', '', d)} \ - hsi \ - plugin_acpi_phat \ - plugin_amt \ - plugin_bcm57xx \ - plugin_emmc \ - plugin_ep963x \ - plugin_fastboot \ - plugin_flashrom \ - plugin_gpio \ - plugin_intel_spi \ - plugin_logitech_bulkcontroller \ - plugin_modem_manager \ - plugin_msr \ - plugin_nitrokey \ - plugin_nvme \ - plugin_parade_lspcon \ - plugin_pixart_rf \ - plugin_platform_integrity \ - plugin_realtek_mst \ - plugin_redfish \ - plugin_synaptics_mst \ - plugin_synaptics_rmi \ - plugin_scsi \ - plugin_thunderbolt \ - plugin_uf2 \ - plugin_upower \ - sqlite" - -PACKAGECONFIG[bluetooth] = "-Dbluez=true,-Dbluez=false" -PACKAGECONFIG[compat-cli] = "-Dcompat_cli=true,-Dcompat_cli=false" -PACKAGECONFIG[consolekit] = "-Dconsolekit=true,-Dconsolekit=false,consolekit" -PACKAGECONFIG[curl] = "-Dcurl=true,-Dcurl=false,curl" -PACKAGECONFIG[firmware-packager] = "-Dfirmware-packager=true,-Dfirmware-packager=false" -PACKAGECONFIG[fish-completion] = "-Dfish_completion=true,-Dfish_completion=false" -PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" -PACKAGECONFIG[gudev] = "-Dgudev=true,-Dgudev=false,libgudev" -PACKAGECONFIG[gusb] = "-Dgusb=true,-Dgusb=false,libgusb" -PACKAGECONFIG[hsi] = "-Dhsi=true,-Dhsi=false" -PACKAGECONFIG[libarchive] = "-Dlibarchive=true,-Dlibarchive=false,libarchive" -PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false" -PACKAGECONFIG[metainfo] = "-Dmetainfo=true,-Dmetainfo=false" -PACKAGECONFIG[offline] = "-Doffline=true,-Doffline=false" -PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false,polkit" -PACKAGECONFIG[sqlite] = "-Dsqlite=true,-Dsqlite=false,sqlite3" -PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd" -PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,gcab-native" - - -# TODO plugins-all meta-option that expands to all plugin_*? -PACKAGECONFIG[plugin_acpi_phat] = "-Dplugin_acpi_phat=true,-Dplugin_acpi_phat=false" -PACKAGECONFIG[plugin_amt] = "-Dplugin_amt=true,-Dplugin_amt=false" -PACKAGECONFIG[plugin_bcm57xx] = "-Dplugin_bcm57xx=true,-Dplugin_bcm57xx=false" -PACKAGECONFIG[plugin_cfu] = "-Dplugin_cfu=true,-Dplugin_cfu=false" -PACKAGECONFIG[plugin_dell] = "-Dplugin_dell=true,-Dplugin_dell=false,libsmbios" -PACKAGECONFIG[plugin_dummy] = "-Dplugin_dummy=true,-Dplugin_dummy=false" -PACKAGECONFIG[plugin_emmc] = "-Dplugin_emmc=true,-Dplugin_emmc=false" -PACKAGECONFIG[plugin_ep963x] = "-Dplugin_ep963x=true,-Dplugin_ep963x=false" -PACKAGECONFIG[plugin_fastboot] = "-Dplugin_fastboot=true,-Dplugin_fastboot=false" -PACKAGECONFIG[plugin_flashrom] = "-Dplugin_flashrom=true,-Dplugin_flashrom=false,flashrom" -PACKAGECONFIG[plugin_gpio] = "-Dplugin_gpio=true,-Dplugin_gpio" -PACKAGECONFIG[plugin_intel_spi] = "-Dplugin_intel_spi=true -Dlzma=true,-Dplugin_intel_spi=false -Dlzma=false,xz" -PACKAGECONFIG[plugin_logitech_bulkcontroller] = "-Dplugin_logitech_bulkcontroller=true,-Dplugin_logitech_bulkcontroller=false,protobuf-c-native protobuf-c" -PACKAGECONFIG[plugin_modem_manager] = "-Dplugin_modem_manager=true,-Dplugin_modem_manager=false,libqmi modemmanager" -PACKAGECONFIG[plugin_msr] = "-Dplugin_msr=true,-Dplugin_msr=false,cpuid" -PACKAGECONFIG[plugin_nitrokey] = "-Dplugin_nitrokey=true,-Dplugin_nitrokey=false" -PACKAGECONFIG[plugin_nvme] = "-Dplugin_nvme=true,-Dplugin_nvme=false" -PACKAGECONFIG[plugin_parade_lspcon] = "-Dplugin_parade_lspcon=true,-Dplugin_parade_lspcon=false" -PACKAGECONFIG[plugin_pixart_rf] = "-Dplugin_pixart_rf=true,-Dplugin_pixart_rf=false" -PACKAGECONFIG[plugin_platform_integrity] = "-Dplugin_platform_integrity=true,-Dplugin_platform_integrity=false" -PACKAGECONFIG[plugin_powerd] = "-Dplugin_powerd=true,-Dplugin_powerd=false" -PACKAGECONFIG[plugin_realtek_mst] = "-Dplugin_realtek_mst=true,-Dplugin_realtek_mst=false" -PACKAGECONFIG[plugin_redfish] = "-Dplugin_redfish=true,-Dplugin_redfish=false" -PACKAGECONFIG[plugin_scsi] = "-Dplugin_scsi=true,-Dplugin_scsi=false" -PACKAGECONFIG[plugin_synaptics_mst] = "-Dplugin_synaptics_mst=true,-Dplugin_synaptics_mst=false" -PACKAGECONFIG[plugin_synaptics_rmi] = "-Dplugin_synaptics_rmi=true,-Dplugin_synaptics_rmi=false" -PACKAGECONFIG[plugin_thunderbolt] = "-Dplugin_thunderbolt=true,-Dplugin_thunderbolt=false" -PACKAGECONFIG[plugin_tpm] = "-Dplugin_tpm=true,-Dplugin_tpm=false,tpm2-tss" -# Turn off the capsule splash as it needs G-I at buildtime, which isn't currently supported -PACKAGECONFIG[plugin_uefi_capsule] = "-Dplugin_uefi_capsule=true -Dplugin_uefi_capsule_splash=false,-Dplugin_uefi_capsule=false,efivar fwupd-efi" -PACKAGECONFIG[plugin_uefi_pk] = "-Dplugin_uefi_pk=true,-Dplugin_uefi_pk=false" -PACKAGECONFIG[plugin_uf2] = "-Dplugin_uf2=true,-Dplugin_uf2=false" -PACKAGECONFIG[plugin_upower] = "-Dplugin_upower=true,-Dplugin_upower=false" - -# Always disable these plugins on non-x86 platforms as they don't compile or are useless -DISABLE_NON_X86 = "plugin_amt plugin_intel_spi plugin_msr plugin_thunderbolt" -DISABLE_NON_X86:x86 = "" -DISABLE_NON_X86:x86-64 = "" -PACKAGECONFIG:remove = "${DISABLE_NON_X86}" - -FILES:${PN} += "${libdir}/fwupd-plugins-* \ - ${systemd_unitdir} \ - ${datadir}/fish \ - ${datadir}/metainfo \ - ${datadir}/icons \ - ${datadir}/dbus-1 \ - ${datadir}/polkit-1 \ - ${nonarch_libdir}/modules-load.d" - -FILES:${PN}-ptest += "${libexecdir}/installed-tests/ \ - ${datadir}/installed-tests/" -RDEPENDS:${PN}-ptest += "gnome-desktop-testing" diff --git a/meta-oe/recipes-bsp/fwupd/fwupd_1.8.4.bb b/meta-oe/recipes-bsp/fwupd/fwupd_1.8.4.bb new file mode 100644 index 00000000000..99077923dc3 --- /dev/null +++ b/meta-oe/recipes-bsp/fwupd/fwupd_1.8.4.bb @@ -0,0 +1,126 @@ +SUMMARY = "A simple daemon to allow session software to update firmware" +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "glib-2.0 libxmlb json-glib libjcat gcab vala-native" + +SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \ + file://c54ae9c524998e449b822feb465a0c90317cd735.patch \ + file://run-ptest" +SRC_URI[sha256sum] = "adfa07434cdc29ec41c40fef460e8d970963fe0c7e849dec7f3932adb161f886" + +UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" + +# Machine-specific as we examine MACHINE_FEATURES to decide whether to build the UEFI plugins +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit meson vala gobject-introspection systemd bash-completion pkgconfig gi-docgen ptest manpages + +GIDOCGEN_MESON_OPTION = 'docs' +GIDOCGEN_MESON_ENABLE_FLAG = 'docgen' +GIDOCGEN_MESON_DISABLE_FLAG = 'none' + +PACKAGECONFIG ??= "curl gnutls gudev gusb \ + ${@bb.utils.filter('DISTRO_FEATURES', 'bluetooth polkit', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd offline', '', d)} \ + ${@bb.utils.contains('MACHINE_FEATURES', 'efi', 'plugin_uefi_capsule plugin_uefi_pk', '', d)} \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests plugin_dummy', '', d)} \ + hsi \ + plugin_acpi_phat \ + plugin_amt \ + plugin_bcm57xx \ + plugin_emmc \ + plugin_ep963x \ + plugin_fastboot \ + plugin_flashrom \ + plugin_gpio \ + plugin_intel_spi \ + plugin_logitech_bulkcontroller \ + plugin_modem_manager \ + plugin_msr \ + plugin_nitrokey \ + plugin_nvme \ + plugin_parade_lspcon \ + plugin_pixart_rf \ + plugin_platform_integrity \ + plugin_realtek_mst \ + plugin_redfish \ + plugin_synaptics_mst \ + plugin_synaptics_rmi \ + plugin_scsi \ + plugin_uf2 \ + plugin_upower \ + sqlite" + +PACKAGECONFIG[bluetooth] = "-Dbluez=true,-Dbluez=false" +PACKAGECONFIG[compat-cli] = "-Dcompat_cli=true,-Dcompat_cli=false" +PACKAGECONFIG[consolekit] = "-Dconsolekit=true,-Dconsolekit=false,consolekit" +PACKAGECONFIG[curl] = "-Dcurl=true,-Dcurl=false,curl" +PACKAGECONFIG[firmware-packager] = "-Dfirmware-packager=true,-Dfirmware-packager=false" +PACKAGECONFIG[fish-completion] = "-Dfish_completion=true,-Dfish_completion=false" +PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" +PACKAGECONFIG[gudev] = "-Dgudev=true,-Dgudev=false,libgudev" +PACKAGECONFIG[gusb] = "-Dgusb=true,-Dgusb=false,libgusb" +PACKAGECONFIG[hsi] = "-Dhsi=true,-Dhsi=false" +PACKAGECONFIG[libarchive] = "-Dlibarchive=true,-Dlibarchive=false,libarchive" +PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false" +PACKAGECONFIG[metainfo] = "-Dmetainfo=true,-Dmetainfo=false" +PACKAGECONFIG[offline] = "-Doffline=true,-Doffline=false" +PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false,polkit" +PACKAGECONFIG[sqlite] = "-Dsqlite=true,-Dsqlite=false,sqlite3" +PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd" +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,gcab-native" + + +# TODO plugins-all meta-option that expands to all plugin_*? +PACKAGECONFIG[plugin_acpi_phat] = "-Dplugin_acpi_phat=true,-Dplugin_acpi_phat=false" +PACKAGECONFIG[plugin_amt] = "-Dplugin_amt=true,-Dplugin_amt=false" +PACKAGECONFIG[plugin_bcm57xx] = "-Dplugin_bcm57xx=true,-Dplugin_bcm57xx=false" +PACKAGECONFIG[plugin_cfu] = "-Dplugin_cfu=true,-Dplugin_cfu=false" +PACKAGECONFIG[plugin_dell] = "-Dplugin_dell=true,-Dplugin_dell=false,libsmbios" +PACKAGECONFIG[plugin_dummy] = "-Dplugin_dummy=true,-Dplugin_dummy=false" +PACKAGECONFIG[plugin_emmc] = "-Dplugin_emmc=true,-Dplugin_emmc=false" +PACKAGECONFIG[plugin_ep963x] = "-Dplugin_ep963x=true,-Dplugin_ep963x=false" +PACKAGECONFIG[plugin_fastboot] = "-Dplugin_fastboot=true,-Dplugin_fastboot=false" +PACKAGECONFIG[plugin_flashrom] = "-Dplugin_flashrom=true,-Dplugin_flashrom=false,flashrom" +PACKAGECONFIG[plugin_gpio] = "-Dplugin_gpio=true,-Dplugin_gpio=false" +PACKAGECONFIG[plugin_intel_spi] = "-Dplugin_intel_spi=true -Dlzma=true,-Dplugin_intel_spi=false -Dlzma=false,xz" +PACKAGECONFIG[plugin_logitech_bulkcontroller] = "-Dplugin_logitech_bulkcontroller=true,-Dplugin_logitech_bulkcontroller=false,protobuf-c-native protobuf-c" +PACKAGECONFIG[plugin_modem_manager] = "-Dplugin_modem_manager=true,-Dplugin_modem_manager=false,libqmi modemmanager" +PACKAGECONFIG[plugin_msr] = "-Dplugin_msr=true,-Dplugin_msr=false,cpuid" +PACKAGECONFIG[plugin_nitrokey] = "-Dplugin_nitrokey=true,-Dplugin_nitrokey=false" +PACKAGECONFIG[plugin_nvme] = "-Dplugin_nvme=true,-Dplugin_nvme=false" +PACKAGECONFIG[plugin_parade_lspcon] = "-Dplugin_parade_lspcon=true,-Dplugin_parade_lspcon=false" +PACKAGECONFIG[plugin_pixart_rf] = "-Dplugin_pixart_rf=true,-Dplugin_pixart_rf=false" +PACKAGECONFIG[plugin_platform_integrity] = "-Dplugin_platform_integrity=true,-Dplugin_platform_integrity=false" +PACKAGECONFIG[plugin_powerd] = "-Dplugin_powerd=true,-Dplugin_powerd=false" +PACKAGECONFIG[plugin_realtek_mst] = "-Dplugin_realtek_mst=true,-Dplugin_realtek_mst=false" +PACKAGECONFIG[plugin_redfish] = "-Dplugin_redfish=true,-Dplugin_redfish=false" +PACKAGECONFIG[plugin_scsi] = "-Dplugin_scsi=true,-Dplugin_scsi=false" +PACKAGECONFIG[plugin_synaptics_mst] = "-Dplugin_synaptics_mst=true,-Dplugin_synaptics_mst=false" +PACKAGECONFIG[plugin_synaptics_rmi] = "-Dplugin_synaptics_rmi=true,-Dplugin_synaptics_rmi=false" +PACKAGECONFIG[plugin_tpm] = "-Dplugin_tpm=true,-Dplugin_tpm=false,tpm2-tss" +# Turn off the capsule splash as it needs G-I at buildtime, which isn't currently supported +PACKAGECONFIG[plugin_uefi_capsule] = "-Dplugin_uefi_capsule=true -Dplugin_uefi_capsule_splash=false,-Dplugin_uefi_capsule=false,efivar fwupd-efi" +PACKAGECONFIG[plugin_uefi_pk] = "-Dplugin_uefi_pk=true,-Dplugin_uefi_pk=false" +PACKAGECONFIG[plugin_uf2] = "-Dplugin_uf2=true,-Dplugin_uf2=false" +PACKAGECONFIG[plugin_upower] = "-Dplugin_upower=true,-Dplugin_upower=false" + +# Always disable these plugins on non-x86 platforms as they don't compile or are useless +DISABLE_NON_X86 = "plugin_amt plugin_intel_spi plugin_msr" +DISABLE_NON_X86:x86 = "" +DISABLE_NON_X86:x86-64 = "" +PACKAGECONFIG:remove = "${DISABLE_NON_X86}" + +FILES:${PN} += "${libdir}/fwupd-plugins-* \ + ${systemd_unitdir} \ + ${datadir}/fish \ + ${datadir}/metainfo \ + ${datadir}/icons \ + ${datadir}/dbus-1 \ + ${datadir}/polkit-1 \ + ${nonarch_libdir}/modules-load.d" + +FILES:${PN}-ptest += "${libexecdir}/installed-tests/ \ + ${datadir}/installed-tests/" +RDEPENDS:${PN}-ptest += "gnome-desktop-testing" diff --git a/meta-oe/recipes-connectivity/gensio/files/0001-configure-Check-for-request_init-API-when-probing-fo.patch b/meta-oe/recipes-connectivity/gensio/files/0001-configure-Check-for-request_init-API-when-probing-fo.patch new file mode 100644 index 00000000000..3b4caa22154 --- /dev/null +++ b/meta-oe/recipes-connectivity/gensio/files/0001-configure-Check-for-request_init-API-when-probing-fo.patch @@ -0,0 +1,31 @@ +From f56e59712d8708c74a4cf66d24b5703fc16b22ae Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 1 Sep 2022 11:31:48 -0700 +Subject: [PATCH] configure: Check for request_init API when probing for + libwrap + +checking for main() is not right check, since this function is not part +of libwrap but the app. Newer autocof and toolchain may fail + +Upstream-Status: Submitted [https://github.com/cminyard/gensio/pull/48] +Signed-off-by: Khem Raj +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 90cfcb6b..1c06d918 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -109,7 +109,7 @@ AC_ARG_WITH(tcp-wrappers, + if test "$tcp_wrappers" != "no" + then + AC_CHECK_HEADERS([tcpd.h]) +- AC_CHECK_LIB(wrap,main) ++ AC_CHECK_LIB(wrap,request_init) + fi + + AC_ARG_ENABLE([doc], +-- +2.37.3 + diff --git a/meta-oe/recipes-connectivity/gensio/files/0001-tools-gensiot-Fix-build-with-musl.patch b/meta-oe/recipes-connectivity/gensio/files/0001-tools-gensiot-Fix-build-with-musl.patch new file mode 100644 index 00000000000..93831c380f7 --- /dev/null +++ b/meta-oe/recipes-connectivity/gensio/files/0001-tools-gensiot-Fix-build-with-musl.patch @@ -0,0 +1,29 @@ +From 823b6754a4d7655480b6e8576a9d0037f842d653 Mon Sep 17 00:00:00 2001 +From: Jan Luebbe +Date: Thu, 25 Aug 2022 12:19:16 +0200 +Subject: [PATCH] tools:gensiot: Fix build with musl + +According to POSIX getpid() is available in unistd.h, not sys/unistd.h. + +Upstream-Status: Submitted [https://github.com/cminyard/gensio/pull/47] +Signed-off-by: Jan Luebbe +--- + tools/gensiotool.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/gensiotool.c b/tools/gensiotool.c +index cac531bb4b74..ab0bb9583f9f 100644 +--- a/tools/gensiotool.c ++++ b/tools/gensiotool.c +@@ -44,7 +44,7 @@ + #include + #include + #include +-#include ++#include + #include + #endif + +-- +2.30.2 + diff --git a/meta-oe/recipes-connectivity/gensio/gensio_2.3.1.bb b/meta-oe/recipes-connectivity/gensio/gensio_2.3.1.bb deleted file mode 100644 index a6e0075538c..00000000000 --- a/meta-oe/recipes-connectivity/gensio/gensio_2.3.1.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "A library to abstract stream I/O like serial port, TCP, telnet, etc" -HOMEPAGE = "https://github.com/cminyard/gensio" -LICENSE = "GPL-2.0-only & LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a0fd36908af843bcee10cb6dfc47fa67 \ - file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f \ - " - -SRCREV = "c500d8705c517f96e591c060105a789f053d2b7a" - -SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=master" - -S = "${WORKDIR}/git" - -inherit autotools - -PACKAGECONFIG ??= "openssl tcp-wrappers" - -PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_HOST}${prefix},--without-openssl, openssl" -PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers, tcp-wrappers" -PACKAGECONFIG[swig] = "--with-swig,--without-swig, swig" - -EXTRA_OECONF = "--without-python" - -RDEPENDS:${PN} += "bash" diff --git a/meta-oe/recipes-connectivity/gensio/gensio_2.5.2.bb b/meta-oe/recipes-connectivity/gensio/gensio_2.5.2.bb new file mode 100644 index 00000000000..d6b5f1987e6 --- /dev/null +++ b/meta-oe/recipes-connectivity/gensio/gensio_2.5.2.bb @@ -0,0 +1,27 @@ +SUMMARY = "A library to abstract stream I/O like serial port, TCP, telnet, etc" +HOMEPAGE = "https://github.com/cminyard/gensio" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a0fd36908af843bcee10cb6dfc47fa67 \ + file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f \ + " + +SRCREV = "b6cd354afe6d5f63bc859c94fd3a455a3cdf0449" + +SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=master \ + file://0001-tools-gensiot-Fix-build-with-musl.patch \ + file://0001-configure-Check-for-request_init-API-when-probing-fo.patch \ +" + +S = "${WORKDIR}/git" + +inherit autotools + +PACKAGECONFIG ??= "openssl tcp-wrappers" + +PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_HOST}${prefix},--without-openssl, openssl" +PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers, tcp-wrappers" +PACKAGECONFIG[swig] = "--with-swig,--without-swig, swig" + +EXTRA_OECONF = "--without-python" + +RDEPENDS:${PN} += "bash" diff --git a/meta-oe/recipes-connectivity/iwd/iwd_1.29.bb b/meta-oe/recipes-connectivity/iwd/iwd_1.29.bb deleted file mode 100644 index eada93b651f..00000000000 --- a/meta-oe/recipes-connectivity/iwd/iwd_1.29.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "Wireless daemon for Linux" -HOMEPAGE = "https://iwd.wiki.kernel.org/" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" - -DEPENDS = "ell" - -SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \ - file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \ - " -SRC_URI[sha256sum] = "71533fe3b8f6381f24832198ba11d00f04a361454770c173b3b66bc3cdf272bd" - -inherit autotools manpages pkgconfig python3native systemd - -PACKAGECONFIG ??= " \ - client \ - monitor \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ -" -PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" -PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor" -PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native" -PACKAGECONFIG[wired] = "--enable-wired,--disable-wired" -PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono" -PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd" - -EXTRA_OECONF = "--enable-external-ell" - -SYSTEMD_SERVICE:${PN} = " \ - iwd.service \ - ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \ -" - -do_configure:prepend() { - install -d ${S}/build-aux -} - -do_install:append() { - # If client and monitor are disabled, bindir is empty, causing a QA error - rmdir --ignore-fail-on-non-empty ${D}/${bindir} -} - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${nonarch_libdir}/modules-load.d \ - ${systemd_unitdir}/network \ -" - -RDEPENDS:${PN} = "dbus" - -RRECOMMENDS:${PN} = "\ - kernel-module-pkcs7-message \ - kernel-module-pkcs8-key-parser \ - kernel-module-x509-key-parser \ -" diff --git a/meta-oe/recipes-connectivity/iwd/iwd_1.30.bb b/meta-oe/recipes-connectivity/iwd/iwd_1.30.bb new file mode 100644 index 00000000000..1f0bcd4f8e8 --- /dev/null +++ b/meta-oe/recipes-connectivity/iwd/iwd_1.30.bb @@ -0,0 +1,55 @@ +SUMMARY = "Wireless daemon for Linux" +HOMEPAGE = "https://iwd.wiki.kernel.org/" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" + +DEPENDS = "ell" + +SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \ + file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \ + " +SRC_URI[sha256sum] = "9fd13512dc27d83efb8d341f7df98f5488f70131686021fcd0d93fc97af013b8" + +inherit autotools manpages pkgconfig python3native systemd + +PACKAGECONFIG ??= " \ + client \ + monitor \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ +" +PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" +PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor" +PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native" +PACKAGECONFIG[wired] = "--enable-wired,--disable-wired" +PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono" +PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd" + +EXTRA_OECONF = "--enable-external-ell" + +SYSTEMD_SERVICE:${PN} = " \ + iwd.service \ + ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \ +" + +do_configure:prepend() { + install -d ${S}/build-aux +} + +do_install:append() { + # If client and monitor are disabled, bindir is empty, causing a QA error + rmdir --ignore-fail-on-non-empty ${D}/${bindir} +} + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${nonarch_libdir}/modules-load.d \ + ${systemd_unitdir}/network \ +" + +RDEPENDS:${PN} = "dbus" + +RRECOMMENDS:${PN} = "\ + kernel-module-pkcs7-message \ + kernel-module-pkcs8-key-parser \ + kernel-module-x509-key-parser \ +" diff --git a/meta-oe/recipes-connectivity/libimobiledevice-glue/libimobiledevice-glue_git.bb b/meta-oe/recipes-connectivity/libimobiledevice-glue/libimobiledevice-glue_git.bb index 6d872b9f814..7e9299c9f3e 100644 --- a/meta-oe/recipes-connectivity/libimobiledevice-glue/libimobiledevice-glue_git.bb +++ b/meta-oe/recipes-connectivity/libimobiledevice-glue/libimobiledevice-glue_git.bb @@ -10,7 +10,7 @@ DEPENDS = "libplist" PV = "1.0.0+git${SRCPV}" -SRCREV = "bc6c44b92091c9587a9bed0ed3f2c3248bfd13b3" +SRCREV = "d2ff7969dcd0a12e4f18f63dab03e6cd03054fcb" SRC_URI = "git://github.com/libimobiledevice/libimobiledevice-glue;protocol=https;branch=master" S = "${WORKDIR}/git" diff --git a/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb b/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb new file mode 100644 index 00000000000..52176872cfc --- /dev/null +++ b/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb @@ -0,0 +1,21 @@ +SUMMARY = "A protocol library to access an iPhone or iPod Touch in Linux" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \ + file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7 \ +" +HOMEPAGE = "http://www.libimobiledevice.org/" + +DEPENDS = "libplist usbmuxd libusbmuxd libtasn1 gnutls libgcrypt libimobiledevice-glue openssl" + +PV = "1.3.0+git${SRCPV}" + +SRCREV = "2eec1b9a172354c8521123a767d998b17bd2ac18" +SRC_URI = "git://github.com/libimobiledevice/libimobiledevice;protocol=https;branch=master" + +S = "${WORKDIR}/git" +inherit autotools pkgconfig + +EXTRA_OECONF = " --without-cython " + +CFLAGS += "-D_GNU_SOURCE" diff --git a/meta-oe/recipes-connectivity/libirecovery/libirecovery_git.bb b/meta-oe/recipes-connectivity/libirecovery/libirecovery_git.bb index c36837aca7e..e3da1819b2c 100644 --- a/meta-oe/recipes-connectivity/libirecovery/libirecovery_git.bb +++ b/meta-oe/recipes-connectivity/libirecovery/libirecovery_git.bb @@ -10,7 +10,7 @@ DEPENDS = "libimobiledevice-glue libusb1" PV = "1.0.1+git${SRCPV}" -SRCREV = "e19094594552b7bed60418ffe6f46f455e6bb78f" +SRCREV = "ab5b4d8d4c0e90c05d80f80c7e99a6516de9b5c6" SRC_URI = "git://github.com/libimobiledevice/libirecovery;protocol=https;branch=master" S = "${WORKDIR}/git" diff --git a/meta-oe/recipes-connectivity/libnet/libnet/0001-Support-musl-libc-remove-support-for-glibc-2.1.patch b/meta-oe/recipes-connectivity/libnet/libnet/0001-Support-musl-libc-remove-support-for-glibc-2.1.patch deleted file mode 100644 index 98008dba947..00000000000 --- a/meta-oe/recipes-connectivity/libnet/libnet/0001-Support-musl-libc-remove-support-for-glibc-2.1.patch +++ /dev/null @@ -1,58 +0,0 @@ -From ffd7fab744a9ad2893169a8fb6244074604d5d0d Mon Sep 17 00:00:00 2001 -From: rofl0r -Date: Tue, 12 Aug 2014 21:51:39 +0200 -Subject: [PATCH] Support musl libc, remove support for glibc < 2.1 - -Upstream-Status: Backport - -The workarounds for glibc < 2.1 (was released february 1999) break the -build with musl libc. - -It is very unlikely that 2.0 or earlier is still in use, and if so, -1) that's a big security hole -2) code wouldnt compile anyway since noone tested build in the last decade -3) user of it wouldn't expect anyway to get bleeding edge sw built on it, - so he would just use the latest version that works for him. - -Closes #52 - -Signed-off-by: rofl0r -Signed-off-by: Ming Liu ---- - libnet/src/libnet_link_linux.c | 11 ----------- - 1 file changed, 11 deletions(-) - -diff --git a/src/libnet_link_linux.c b/src/libnet_link_linux.c -index 054458d..3c6df3c 100644 ---- a/src/libnet_link_linux.c -+++ b/src/libnet_link_linux.c -@@ -30,26 +30,15 @@ - #include - - #include --#if (__GLIBC__) - #include - #include --#else --#include --#include --#endif - - #if (HAVE_PACKET_SOCKET) - #ifndef SOL_PACKET - #define SOL_PACKET 263 - #endif /* SOL_PACKET */ --#if __GLIBC__ >= 2 && __GLIBC_MINOR >= 1 - #include - #include /* the L2 protocols */ --#else --#include --#include --#include /* The L2 protocols */ --#endif - #endif /* HAVE_PACKET_SOCKET */ - - #include "../include/libnet.h" --- -1.9.1 - diff --git a/meta-oe/recipes-connectivity/libnet/libnet/0001-Use-standard-int64_t-instead-of-__int64_t-for-mingw-.patch b/meta-oe/recipes-connectivity/libnet/libnet/0001-Use-standard-int64_t-instead-of-__int64_t-for-mingw-.patch new file mode 100644 index 00000000000..f1c607dd8ad --- /dev/null +++ b/meta-oe/recipes-connectivity/libnet/libnet/0001-Use-standard-int64_t-instead-of-__int64_t-for-mingw-.patch @@ -0,0 +1,31 @@ +From a1659e261888bdbed51803132d52d9a6c6803c8a Mon Sep 17 00:00:00 2001 +From: Joachim Nilsson +Date: Sat, 19 Oct 2019 12:26:26 +0200 +Subject: [PATCH] Use standard int64_t instead of __int64_t for mingw cross + build + +Signed-off-by: Joachim Nilsson +--- + include/libnet/libnet-structures.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/include/libnet/libnet-structures.h b/include/libnet/libnet-structures.h +index 6084caa..34fffc6 100644 +--- a/include/libnet/libnet-structures.h ++++ b/include/libnet/libnet-structures.h +@@ -49,9 +49,9 @@ struct libnet_port_list_chain + /* libnet statistics structure */ + struct libnet_stats + { +- __int64_t packets_sent; /* packets sent */ +- __int64_t packet_errors; /* packets errors */ +- __int64_t bytes_written; /* bytes written */ ++ int64_t packets_sent; /* packets sent */ ++ int64_t packet_errors; /* packets errors */ ++ int64_t bytes_written; /* bytes written */ + }; + + +-- +2.25.1 + diff --git a/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb b/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb deleted file mode 100644 index 785abf66d64..00000000000 --- a/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "A packet dissection and creation library" -# libnet at packetfactory.net is dead -HOMEPAGE = "https://github.com/sam-github/libnet" -SECTION = "libs" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://doc/COPYING;md5=3ec839e00408b484d33b472a86b7c266" -DEPENDS = "libpcap" -# There are major API changes beween libnet v1.0 and libnet v1.1 -PROVIDES = "libnet-1.2rc2" - -SRC_URI = "${SOURCEFORGE_MIRROR}/libnet-dev/${BPN}-${PV}.tar.gz \ - file://0001-Support-musl-libc-remove-support-for-glibc-2.1.patch \ - " - -SRC_URI[md5sum] = "f051e6e5bdecddb90f77c701c2ca1804" -SRC_URI[sha256sum] = "72c380785ad44183005e654b47cc12485ee0228d7fa6b0a87109ff7614be4a63" - -UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/libnet-dev/files/" -UPSTREAM_CHECK_REGEX = "libnet-(?P\d+(\.\d+)+-*[a-z]*\d*)\.tar" - -S = "${WORKDIR}/${BPN}-${PV}" - -inherit autotools binconfig - diff --git a/meta-oe/recipes-connectivity/libnet/libnet_1.2.bb b/meta-oe/recipes-connectivity/libnet/libnet_1.2.bb new file mode 100644 index 00000000000..a996f9404bb --- /dev/null +++ b/meta-oe/recipes-connectivity/libnet/libnet_1.2.bb @@ -0,0 +1,19 @@ +SUMMARY = "A packet dissection and creation library" +HOMEPAGE = "https://github.com/libnet/libnet" + +SECTION = "libs" + +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=07f291bf6e78efa05cec668cf6a09acc" + +DEPENDS = "libpcap" + +SRC_URI = "git://github.com/libnet/libnet.git;protocol=https;branch=master \ + file://0001-Use-standard-int64_t-instead-of-__int64_t-for-mingw-.patch" + +SRC_URI[sha256sum] = "1e9e9054d688b059bcbaf878d8c4fbf69bfc0c9386cd4e7779fbb53339050d2e" +SRCREV = "deeeeaeb84f8bc5d2299913d4ccf53d0d4c26966" + +S = "${WORKDIR}/git" + +inherit autotools binconfig diff --git a/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.3.2.bb b/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.3.2.bb index 21297f2c4e8..0ce0513f3b1 100644 --- a/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.3.2.bb +++ b/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.3.2.bb @@ -24,21 +24,29 @@ PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv" PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON," PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl" PACKAGECONFIG[static] = "-DLWS_WITH_STATIC=ON,-DLWS_WITH_STATIC=OFF -DLWS_LINK_TESTAPPS_DYNAMIC=ON," +PACKAGECONFIG[systemd] = "-DLWS_WITH_SDEVENT=ON,-DLWS_WITH_SDEVENT=OFF,systemd" + +python __anonymous() { + if bb.utils.contains('PACKAGECONFIG', 'systemd', True, False, d) and not bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d): + bb.fatal("PACKAGECONFIG contains systemd but DISTRO_FEATURES doesn't") +} EXTRA_OECMAKE += " \ -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ " -PACKAGES =+ "${PN}-testapps ${PN}-evlib-event ${PN}-evlib-uv ${PN}-evlib-ev" +PACKAGES =+ "${PN}-testapps ${PN}-evlib-event ${PN}-evlib-uv ${PN}-evlib-ev ${PN}-evlib-sd" FILES:${PN}-testapps += "${datadir}/libwebsockets-test-server/* ${bindir}/libwebsockets-test-*" FILES:${PN}-evlib-event += "${libdir}/libwebsockets-evlib_event.so" FILES:${PN}-evlib-uv += "${libdir}/libwebsockets-evlib_uv.so" FILES:${PN}-evlib-ev += "${libdir}/libwebsockets-evlib_ev.so" +FILES:${PN}-evlib-sd += "${libdir}/libwebsockets-evlib_sd.so" RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libevent', '${PN}-evlib-event', '', d)}" RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libuv', '${PN}-evlib-uv', '', d)}" RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libev', '${PN}-evlib-ev', '', d)}" +RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'systemd', '${PN}-evlib-sd', '', d)}" RDEPENDS:${PN}-dev += " ${@bb.utils.contains('PACKAGECONFIG', 'static', '${PN}-staticdev', '', d)}" diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-include-string.h-for-strncpy.patch b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-include-string.h-for-strncpy.patch new file mode 100644 index 00000000000..60f2079d37a --- /dev/null +++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-include-string.h-for-strncpy.patch @@ -0,0 +1,27 @@ +From d49b4fb8063ecd89617587e5ea566cc9da9393ef Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 31 Aug 2022 19:09:18 -0700 +Subject: [PATCH] include string.h for strncpy() + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + interface.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/interface.c b/interface.c +index 65bdff0..5228db9 100644 +--- a/interface.c ++++ b/interface.c +@@ -5,6 +5,7 @@ + * @note SPDX-License-Identifier: GPL-2.0+ + */ + #include ++#include + #include "interface.h" + + struct interface { +-- +2.37.3 + diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.1.bb b/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.1.bb index 9c0f56e7369..bb4871e14fc 100644 --- a/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.1.bb +++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.1.bb @@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v3.1/linuxptp-${PV}.tgz \ file://build-Allow-CC-and-prefix-to-be-overriden.patch \ file://Use-cross-cpp-in-incdefs.patch \ + file://0001-include-string.h-for-strncpy.patch \ " UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/linuxptp/files/" diff --git a/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.18.10.bb b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.18.10.bb deleted file mode 100644 index 9316cbbbc19..00000000000 --- a/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.18.10.bb +++ /dev/null @@ -1,61 +0,0 @@ -SUMMARY = "ModemManager is a daemon controlling broadband devices/connections" -DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections" -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/" -LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ -" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase gettext systemd gobject-introspection bash-completion - -DEPENDS = "glib-2.0 libgudev libxslt-native dbus" - -SRCREV ?= "1338749739e0c01bdbc6ddf92388a781806ec3ac" - -# Patch 0001 will be in ModemManager > 1.19 -SRC_URI = " \ - git://gitlab.freedesktop.org/mobile-broadband/ModemManager.git;protocol=https;branch=mm-1-18 \ - file://0001-core-switch-bash-shell-scripts-to-use-bin-sh-for-use.patch \ -" - -S = "${WORKDIR}/git" - -# strict, permissive -MODEMMANAGER_POLKIT_TYPE ??= "permissive" - -PACKAGECONFIG ??= "vala mbim qmi \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \ -" - -PACKAGECONFIG[at] = "-Dat_command_via_dbus=true" -PACKAGECONFIG[systemd] = " \ - -Dsystemdsystemunitdir=${systemd_unitdir}/system/, \ - -Dsystemdsystemunitdir=no -Dsystemd_journal=false -Dsystemd_suspend_resume=false \ -" -PACKAGECONFIG[polkit] = "-Dpolkit=${MODEMMANAGER_POLKIT_TYPE},-Dpolkit=no,polkit" -# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol. -PACKAGECONFIG[mbim] = "-Dmbim=true,-Dmbim=false -Dplugin_dell=disabled -Dplugin_foxconn=disabled,libmbim" -# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol. -PACKAGECONFIG[qmi] = "-Dqmi=true,-Dqmi=false,libqmi" -PACKAGECONFIG[qrtr] = "-Dqrtr=true,-Dqrtr=false,libqrtr-glib" -PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'vala', 'vala', '', d)} - -EXTRA_OEMESON = " \ - -Dudevdir=${nonarch_base_libdir}/udev \ - -Dqrtr=false \ -" - -FILES:${PN} += " \ - ${datadir}/icons \ - ${datadir}/polkit-1 \ - ${datadir}/dbus-1 \ - ${datadir}/ModemManager \ - ${libdir}/ModemManager \ - ${systemd_unitdir}/system \ -" - -SYSTEMD_SERVICE:${PN} = "ModemManager.service" diff --git a/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.18.12.bb b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.18.12.bb new file mode 100644 index 00000000000..b06e3ebdabd --- /dev/null +++ b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.18.12.bb @@ -0,0 +1,61 @@ +SUMMARY = "ModemManager is a daemon controlling broadband devices/connections" +DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/" +LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ +" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase gettext systemd gobject-introspection bash-completion + +DEPENDS = "glib-2.0 libgudev libxslt-native dbus" + +SRCREV ?= "c234bd55c9d9618c1478b5e80aaf4b8f965be181" + +# Patch 0001 will be in ModemManager > 1.19 +SRC_URI = " \ + git://gitlab.freedesktop.org/mobile-broadband/ModemManager.git;protocol=https;branch=mm-1-18 \ + file://0001-core-switch-bash-shell-scripts-to-use-bin-sh-for-use.patch \ +" + +S = "${WORKDIR}/git" + +# strict, permissive +MODEMMANAGER_POLKIT_TYPE ??= "permissive" + +PACKAGECONFIG ??= "vala mbim qmi \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \ +" + +PACKAGECONFIG[at] = "-Dat_command_via_dbus=true" +PACKAGECONFIG[systemd] = " \ + -Dsystemdsystemunitdir=${systemd_unitdir}/system/, \ + -Dsystemdsystemunitdir=no -Dsystemd_journal=false -Dsystemd_suspend_resume=false \ +" +PACKAGECONFIG[polkit] = "-Dpolkit=${MODEMMANAGER_POLKIT_TYPE},-Dpolkit=no,polkit" +# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol. +PACKAGECONFIG[mbim] = "-Dmbim=true,-Dmbim=false -Dplugin_dell=disabled -Dplugin_foxconn=disabled,libmbim" +# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol. +PACKAGECONFIG[qmi] = "-Dqmi=true,-Dqmi=false,libqmi" +PACKAGECONFIG[qrtr] = "-Dqrtr=true,-Dqrtr=false,libqrtr-glib" +PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'vala', 'vala', '', d)} + +EXTRA_OEMESON = " \ + -Dudevdir=${nonarch_base_libdir}/udev \ + -Dqrtr=false \ +" + +FILES:${PN} += " \ + ${datadir}/icons \ + ${datadir}/polkit-1 \ + ${datadir}/dbus-1 \ + ${datadir}/ModemManager \ + ${libdir}/ModemManager \ + ${systemd_unitdir}/system \ +" + +SYSTEMD_SERVICE:${PN} = "ModemManager.service" diff --git a/meta-oe/recipes-connectivity/mosh/mosh/0001-Fix-building-with-libc.patch b/meta-oe/recipes-connectivity/mosh/mosh/0001-Fix-building-with-libc.patch deleted file mode 100644 index 100ede17bd1..00000000000 --- a/meta-oe/recipes-connectivity/mosh/mosh/0001-Fix-building-with-libc.patch +++ /dev/null @@ -1,24 +0,0 @@ -From efa9e49714b30d7d9128946a2504c93e10d109b5 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 29 Jan 2019 12:20:03 -0800 -Subject: [PATCH] Fix building with libc++ - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - src/network/network.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/network/network.cc b/src/network/network.cc -index 26da603..e480853 100644 ---- a/src/network/network.cc -+++ b/src/network/network.cc -@@ -335,7 +335,7 @@ bool Connection::try_bind( const char *addr, int port_low, int port_high ) - } - } - -- if ( bind( sock(), &local_addr.sa, local_addr_len ) == 0 ) { -+ if ( ::bind( sock(), &local_addr.sa, local_addr_len ) == 0 ) { - set_MTU( local_addr.sa.sa_family ); - return true; - } else if ( i == search_high ) { /* last port to search */ diff --git a/meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb b/meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb deleted file mode 100644 index b4b5aa78a04..00000000000 --- a/meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb +++ /dev/null @@ -1,48 +0,0 @@ -# NOTE: mosh-server requires a UTF-8 locale, but there's no way to add -# an explicit dependency for this so you need to ensure this is in your -# image yourself when you install mosh-server. - -SUMMARY = "Remote shell supporting roaming and high-latency connections" -DESCRIPTION = "Remote terminal application that allows roaming, supports \ -intermittent connectivity, and provides intelligent local echo and line \ -editing of user keystrokes. Mosh is a replacement for SSH. It's more \ -robust and responsive, especially over Wi-Fi, cellular, and \ -long-distance links." -HOMEPAGE = "http://mosh.mit.edu" -LICENSE = "GPL-3.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -DEPENDS = "protobuf-native protobuf ncurses zlib libio-pty-perl openssl libutempter" - -SRC_URI = "http://mosh.mit.edu/mosh-${PV}.tar.gz \ - file://0001-Fix-building-with-libc.patch \ - " -SRC_URI[md5sum] = "5122f4d2b973ab7c38dcdac8c35cb61e" -SRC_URI[sha256sum] = "da600573dfa827d88ce114e0fed30210689381bbdcff543c931e4d6a2e851216" - -inherit autotools pkgconfig - -PACKAGE_BEFORE_PN += "${PN}-server" -FILES:${PN}-server = "${bindir}/mosh-server" - -NEEDED_PERL_MODULES = "\ - perl-module-socket \ - perl-module-getopt-long \ - perl-module-errno \ - perl-module-io-socket-inet \ - perl-module-posix \ -" - -# mosh uses SSH to authenticate and the client uses OpenSSH-specific features -RDEPENDS:${PN} += "openssh-ssh ${NEEDED_PERL_MODULES}" -# The server seemed not to work with dropbear either -RDEPENDS:${PN}-server += "openssh-sshd" - -# Fails to build with thumb-1 (qemuarm) -#| {standard input}: Assembler messages: -#| {standard input}:2100: Error: instruction not supported in Thumb16 mode -- `adds r4,r4,r4' -#| {standard input}:2101: Error: instruction not supported in Thumb16 mode -- `adcs r5,r5,r5' -#| {standard input}:2102: Error: instruction not supported in Thumb16 mode -- `adcs r6,r6,r6' -#| {standard input}:2103: Error: instruction not supported in Thumb16 mode -- `adcs r7,r7,r7' -#| {standard input}:2104: Error: selected processor does not support Thumb mode `it cs' -ARM_INSTRUCTION_SET = "arm" diff --git a/meta-oe/recipes-connectivity/mosh/mosh_1.4.0.bb b/meta-oe/recipes-connectivity/mosh/mosh_1.4.0.bb new file mode 100644 index 00000000000..4537a09412d --- /dev/null +++ b/meta-oe/recipes-connectivity/mosh/mosh_1.4.0.bb @@ -0,0 +1,45 @@ +# NOTE: mosh-server requires a UTF-8 locale, but there's no way to add +# an explicit dependency for this so you need to ensure this is in your +# image yourself when you install mosh-server. + +SUMMARY = "Remote shell supporting roaming and high-latency connections" +DESCRIPTION = "Remote terminal application that allows roaming, supports \ +intermittent connectivity, and provides intelligent local echo and line \ +editing of user keystrokes. Mosh is a replacement for SSH. It's more \ +robust and responsive, especially over Wi-Fi, cellular, and \ +long-distance links." +HOMEPAGE = "http://mosh.mit.edu" +LICENSE = "GPL-3.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = "protobuf-native protobuf ncurses zlib libio-pty-perl openssl libutempter" + +SRC_URI = "http://mosh.mit.edu/mosh-${PV}.tar.gz" +SRC_URI[sha256sum] = "872e4b134e5df29c8933dff12350785054d2fd2839b5ae6b5587b14db1465ddd" + +inherit autotools pkgconfig + +PACKAGE_BEFORE_PN += "${PN}-server" +FILES:${PN}-server = "${bindir}/mosh-server" + +NEEDED_PERL_MODULES = "\ + perl-module-socket \ + perl-module-getopt-long \ + perl-module-errno \ + perl-module-io-socket-inet \ + perl-module-posix \ +" + +# mosh uses SSH to authenticate and the client uses OpenSSH-specific features +RDEPENDS:${PN} += "openssh-ssh ${NEEDED_PERL_MODULES}" +# The server seemed not to work with dropbear either +RDEPENDS:${PN}-server += "openssh-sshd" + +# Fails to build with thumb-1 (qemuarm) +#| {standard input}: Assembler messages: +#| {standard input}:2100: Error: instruction not supported in Thumb16 mode -- `adds r4,r4,r4' +#| {standard input}:2101: Error: instruction not supported in Thumb16 mode -- `adcs r5,r5,r5' +#| {standard input}:2102: Error: instruction not supported in Thumb16 mode -- `adcs r6,r6,r6' +#| {standard input}:2103: Error: instruction not supported in Thumb16 mode -- `adcs r7,r7,r7' +#| {standard input}:2104: Error: selected processor does not support Thumb mode `it cs' +ARM_INSTRUCTION_SET = "arm" diff --git a/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.10.bb b/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.10.bb deleted file mode 100644 index 374922e1467..00000000000 --- a/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.10.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Paho MQTT - C libraries for the MQTT and MQTT-SN protocols" -DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)." -HOMEPAGE = "http://www.eclipse.org/paho/" -SECTION = "console/network" -LICENSE = "EPL-2.0 | EDL-1.0" - -LIC_FILES_CHKSUM = " \ - file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \ - file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \ - file://notice.html;md5=943f861069889acecebf51dfa24478e2 \ - file://about.html;md5=e5662cbb5f8fd5c9faac526e4077898e \ -" - -SRC_URI = "git://github.com/eclipse/paho.mqtt.c;protocol=http;branch=master;protocol=https" - -SRCREV = "eff2da4875725509fc97641b118d6badf3e3a08f" - -DEPENDS = "openssl" - -S = "${WORKDIR}/git" - -inherit cmake - -do_configure:prepend() { - sed -i s:\ lib/cmake:\ ${baselib}/cmake:g ${S}/src/CMakeLists.txt -} - -do_install:append() { - # paho-mqtt installes some thing that we don't want. - rm -rf ${D}${prefix}/samples - find ${D}${prefix} -maxdepth 1 -type f -delete -} - -EXTRA_OECMAKE = "-DPAHO_WITH_SSL=ON" diff --git a/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.11.bb b/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.11.bb new file mode 100644 index 00000000000..218672e2667 --- /dev/null +++ b/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.11.bb @@ -0,0 +1,34 @@ +SUMMARY = "Paho MQTT - C libraries for the MQTT and MQTT-SN protocols" +DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)." +HOMEPAGE = "http://www.eclipse.org/paho/" +SECTION = "console/network" +LICENSE = "EPL-2.0 | EDL-1.0" + +LIC_FILES_CHKSUM = " \ + file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \ + file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \ + file://notice.html;md5=943f861069889acecebf51dfa24478e2 \ + file://about.html;md5=e5662cbb5f8fd5c9faac526e4077898e \ +" + +SRC_URI = "git://github.com/eclipse/paho.mqtt.c;protocol=http;branch=master;protocol=https" + +SRCREV = "0995176412616ae8f1cba51c8d609fe4b69687ea" + +DEPENDS = "openssl" + +S = "${WORKDIR}/git" + +inherit cmake + +do_configure:prepend() { + sed -i s:\ lib/cmake:\ ${baselib}/cmake:g ${S}/src/CMakeLists.txt +} + +do_install:append() { + # paho-mqtt installes some thing that we don't want. + rm -rf ${D}${prefix}/samples + find ${D}${prefix} -maxdepth 1 -type f -delete +} + +EXTRA_OECMAKE = "-DPAHO_WITH_SSL=ON" diff --git a/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.10.bb b/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.10.bb new file mode 100644 index 00000000000..f52921f221b --- /dev/null +++ b/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.10.bb @@ -0,0 +1,18 @@ +SUMMARY = "A serial to network proxy" +SECTION = "console/network" +HOMEPAGE = "http://sourceforge.net/projects/ser2net/" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f" + +DEPENDS = "gensio libyaml" + +SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz" + +SRC_URI[sha256sum] = "bfad2b5d98c56f957daf2be975a5a2cefd645f27ef02d54817fadd6e4bf291b3" + +UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ser2net/files/ser2net" + +inherit autotools pkgconfig + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.7.bb b/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.7.bb deleted file mode 100644 index 13ce13a0b94..00000000000 --- a/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.7.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "A serial to network proxy" -SECTION = "console/network" -HOMEPAGE = "http://sourceforge.net/projects/ser2net/" - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f" - -DEPENDS = "gensio libyaml" - -SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz" - -SRC_URI[sha256sum] = "542915e240ae8b5c7dcec8d1589e6067818532900d45cfef226cea9f0e671d13" - -UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ser2net/files/ser2net" - -inherit autotools pkgconfig - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-connectivity/thrift/thrift_0.16.0.bb b/meta-oe/recipes-connectivity/thrift/thrift_0.16.0.bb deleted file mode 100644 index 8141abef51d..00000000000 --- a/meta-oe/recipes-connectivity/thrift/thrift_0.16.0.bb +++ /dev/null @@ -1,66 +0,0 @@ -SUMMARY = "Apache Thrift" -DESCRIPTION = "A software framework, for scalable cross-language services development" -HOMEPAGE = "https://thrift.apache.org/" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c40a383cb3f747e0c7abbf1482f194f0 \ - file://NOTICE;md5=2659b43daca219f99a2f2626ea128f73" - -DEPENDS = "thrift-native boost flex-native bison-native openssl zlib" - -SRC_URI = "https://www-eu.apache.org/dist/thrift//${PV}/${BPN}-${PV}.tar.gz \ - file://0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch \ - " -SRC_URI[sha256sum] = "f460b5c1ca30d8918ff95ea3eb6291b3951cf518553566088f3f2be8981f6209" - -BBCLASSEXTEND = "native nativesdk" - -CVE_PRODUCT = "apache:thrift" - -inherit pkgconfig cmake python3native - -export STAGING_INCDIR -export STAGING_LIBDIR -export BUILD_SYS -export HOST_SYS - -EXTRA_OECMAKE = " \ - -DBUILD_LIBRARIES=ON \ - -DBUILD_SHARED_LIBS=ON \ - -DBUILD_COMPILER=ON \ - -DBUILD_TESTING=OFF \ - -DBUILD_TUTORIALS=OFF \ - -DWITH_AS3=OFF \ - -DWITH_CPP=ON \ - -DWITH_JAVA=OFF \ - -DWITH_OPENSSL=ON \ - -DWITH_QT5=OFF \ - -DWITH_ZLIB=ON \ -" - -PACKAGECONFIG ??= "glib libevent" -PACKAGECONFIG[glib] = "-DWITH_C_GLIB=ON,-DWITH_C_GLIB=OFF,glib-2.0" -PACKAGECONFIG[libevent] = "-DWITH_LIBEVENT=ON,-DWITH_LIBEVENT=OFF,libevent" -PACKAGECONFIG[javascript] = "-DWITH_JAVASCRIPT=ON,-DWITH_JAVASCRIPT=OFF,nodejs" -PACKAGECONFIG[nodejs] = "-DWITH_NODEJS=ON,-DWITH_NODEJS=OFF,nodejs" -PACKAGECONFIG[python] = "-DWITH_PYTHON=ON,-DWITH_PYTHON=OFF,python" - -do_install:append () { - ln -sf thrift ${D}/${bindir}/thrift-compiler -} - -LEAD_SONAME = "libthrift.so.${PV}" - -# thrift packages -PACKAGE_BEFORE_PN = "${PN}-compiler lib${BPN} lib${BPN}z lib${BPN}nb lib${BPN}-c-glib" -FILES:lib${BPN} = "${libdir}/libthrift.so.*" -FILES:lib${BPN}z = "${libdir}/libthriftz.so.*" -FILES:lib${BPN}nb = "${libdir}/libthriftnb.so.*" -FILES:lib${BPN}-c-glib = "${libdir}/libthrift_c_glib.so.*" -FILES:${PN}-compiler = "${bindir}/*" - -# The thrift packages just pulls in some default dependencies but is otherwise empty -RRECOMMENDS:${PN} = "${PN}-compiler lib${BPN}" -ALLOW_EMPTY:${PN} = "1" -RRECOMMENDS:${PN}:class-native = "" -RRECOMMENDS:${PN}:class-nativesdk = "" diff --git a/meta-oe/recipes-connectivity/thrift/thrift_0.17.0.bb b/meta-oe/recipes-connectivity/thrift/thrift_0.17.0.bb new file mode 100644 index 00000000000..24d07b8e52c --- /dev/null +++ b/meta-oe/recipes-connectivity/thrift/thrift_0.17.0.bb @@ -0,0 +1,66 @@ +SUMMARY = "Apache Thrift" +DESCRIPTION = "A software framework, for scalable cross-language services development" +HOMEPAGE = "https://thrift.apache.org/" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c40a383cb3f747e0c7abbf1482f194f0 \ + file://NOTICE;md5=2659b43daca219f99a2f2626ea128f73" + +DEPENDS = "thrift-native boost flex-native bison-native openssl zlib" + +SRC_URI = "https://www-eu.apache.org/dist/thrift//${PV}/${BPN}-${PV}.tar.gz \ + file://0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch \ + " +SRC_URI[sha256sum] = "b272c1788bb165d99521a2599b31b97fa69e5931d099015d91ae107a0b0cc58f" + +BBCLASSEXTEND = "native nativesdk" + +CVE_PRODUCT = "apache:thrift" + +inherit pkgconfig cmake python3native + +export STAGING_INCDIR +export STAGING_LIBDIR +export BUILD_SYS +export HOST_SYS + +EXTRA_OECMAKE = " \ + -DBUILD_LIBRARIES=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_COMPILER=ON \ + -DBUILD_TESTING=OFF \ + -DBUILD_TUTORIALS=OFF \ + -DWITH_AS3=OFF \ + -DWITH_CPP=ON \ + -DWITH_JAVA=OFF \ + -DWITH_OPENSSL=ON \ + -DWITH_QT5=OFF \ + -DWITH_ZLIB=ON \ +" + +PACKAGECONFIG ??= "glib libevent" +PACKAGECONFIG[glib] = "-DWITH_C_GLIB=ON,-DWITH_C_GLIB=OFF,glib-2.0" +PACKAGECONFIG[libevent] = "-DWITH_LIBEVENT=ON,-DWITH_LIBEVENT=OFF,libevent" +PACKAGECONFIG[javascript] = "-DWITH_JAVASCRIPT=ON,-DWITH_JAVASCRIPT=OFF,nodejs" +PACKAGECONFIG[nodejs] = "-DWITH_NODEJS=ON,-DWITH_NODEJS=OFF,nodejs" +PACKAGECONFIG[python] = "-DWITH_PYTHON=ON,-DWITH_PYTHON=OFF,python" + +do_install:append () { + ln -sf thrift ${D}/${bindir}/thrift-compiler +} + +LEAD_SONAME = "libthrift.so.${PV}" + +# thrift packages +PACKAGE_BEFORE_PN = "${PN}-compiler lib${BPN} lib${BPN}z lib${BPN}nb lib${BPN}-c-glib" +FILES:lib${BPN} = "${libdir}/libthrift.so.*" +FILES:lib${BPN}z = "${libdir}/libthriftz.so.*" +FILES:lib${BPN}nb = "${libdir}/libthriftnb.so.*" +FILES:lib${BPN}-c-glib = "${libdir}/libthrift_c_glib.so.*" +FILES:${PN}-compiler = "${bindir}/*" + +# The thrift packages just pulls in some default dependencies but is otherwise empty +RRECOMMENDS:${PN} = "${PN}-compiler lib${BPN}" +ALLOW_EMPTY:${PN} = "1" +RRECOMMENDS:${PN}:class-native = "" +RRECOMMENDS:${PN}:class-nativesdk = "" diff --git a/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb b/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb new file mode 100644 index 00000000000..e9afaf5712e --- /dev/null +++ b/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "This daemon is in charge of multiplexing connections over USB to an iPhone or iPod touch." +HOMEPAGE = "https://github.com/libimobiledevice/usbmuxd" +LICENSE = "GPL-3.0-only & GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=ebb5c50ab7cab4baeffba14977030c07 \ + file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = "udev libusb1 libplist libimobiledevice-glue" + +inherit autotools pkgconfig gitpkgv systemd + +PKGV = "${GITPKGVTAG}" +PV = "1.1.2+git${SRCPV}" + +SRCREV = "f50e52f3393a9149ac65fdda8f0d425109efc7fe" +SRC_URI = "git://github.com/libimobiledevice/usbmuxd;protocol=https;branch=master" + +S = "${WORKDIR}/git" + +EXTRA_OECONF += "--without-preflight" + +FILES:${PN} += "${base_libdir}/udev/rules.d/" + +SYSTEMD_SERVICE:${PN} = "usbmuxd.service" diff --git a/meta-oe/recipes-connectivity/wifi-test-suite/files/0001-wfa_cmdproc-Store-return-value-into-location.patch b/meta-oe/recipes-connectivity/wifi-test-suite/files/0001-wfa_cmdproc-Store-return-value-into-location.patch new file mode 100644 index 00000000000..074f0fe7bbc --- /dev/null +++ b/meta-oe/recipes-connectivity/wifi-test-suite/files/0001-wfa_cmdproc-Store-return-value-into-location.patch @@ -0,0 +1,32 @@ +From 2b7d6cf62296ff4e25e5ad909aa39a257bf9ff78 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 31 Aug 2022 19:37:35 -0700 +Subject: [PATCH] wfa_cmdproc: Store return value into location + +Fixes +| wfa_cmdproc.c:100:20: error: incompatible integer to pointer conversion assigning to 'int *' from 'int' [-Wint-conversion] +| paramValue = atoi(str); +| ^ ~~~~~~~~~ + +Upstream-Status: Submitted [https://github.com/Wi-FiTestSuite/Wi-FiTestSuite-Linux-DUT/pull/57] +Signed-off-by: Khem Raj +--- + lib/wfa_cmdproc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/wfa_cmdproc.c b/lib/wfa_cmdproc.c +index 9f5fd16..49a3f16 100644 +--- a/lib/wfa_cmdproc.c ++++ b/lib/wfa_cmdproc.c +@@ -97,7 +97,7 @@ int getParamValueInt(char *pcmdStr, char *pParam, int *paramValue) + if(strcasecmp(pcmdStr, pParam) == 0) + { + str = strtok_r(NULL, ",", &pcmdStr); +- paramValue = atoi(str); ++ *paramValue = atoi(str); + return 0; + } + return -1; +-- +2.37.3 + diff --git a/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_10.10.1.bb b/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_10.10.1.bb new file mode 100644 index 00000000000..eda01ca3882 --- /dev/null +++ b/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_10.10.1.bb @@ -0,0 +1,40 @@ +SUMMARY = "Wi-Fi Test Suite Linux Control Agent" +DESCRIPTION = "Wi-Fi Test Suite is a software platform originally developed \ +by Wi-Fi Alliance, the global non-profit industry association that brings you \ +Wi-Fi, to support certification program development and device certification." +HOMEPAGE = "https://www.wi-fi.org/certification/wi-fi-test-suite" +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=0542427ed5c315ca34aa09ae7a85ed32" +SECTION = "test" + +S = "${WORKDIR}/git" +SRCREV = "12e85fbeca8ca21a632d18e55089a8a7606d64aa" +SRC_URI = "git://github.com/Wi-FiTestSuite/Wi-FiTestSuite-Linux-DUT.git;branch=master;protocol=https \ + file://0001-Use-toolchain-from-environment-variables.patch \ + file://0002-Add-missing-include-removes-unnedded-stuff-and-add-n.patch \ + file://0003-fix-path-to-usr-sbin-for-script-and-make-script-for-.patch \ + file://0004-run-ranlib-per-library-and-use-AR.patch \ + file://fno-common.patch \ + file://0001-wfa_cmdproc-Store-return-value-into-location.patch \ +" + +# to avoid host path QA error +CFLAGS += "-I${STAGING_INCDIR}/tirpc" +# Fix GNU HASH error +TARGET_CC_ARCH += "${LDFLAGS}" + +do_install () { + install -d ${D}${libdir} + install -m 0644 ${S}/lib/libwfa.a ${D}${libdir} + install -m 0644 ${S}/lib/libwfa_ca.a ${D}${libdir} + install -m 0644 ${S}/lib/libwfa_dut.a ${D}${libdir} + install -d ${D}${sbindir} + install -m 0755 ${S}/dut/wfa_dut ${D}${sbindir} + install -m 0755 ${S}/ca/wfa_ca ${D}${sbindir} + install -m 0755 ${S}/scripts/*.sh ${D}${sbindir} + install -m 0755 ${S}/scripts/arp_neigh_loop ${D}${sbindir} + install -m 0755 ${S}/scripts/dev_send_frame ${D}${sbindir} + install -m 0755 ${S}/scripts/sta_reset_parm ${D}${sbindir} +} + +RDEPENDS:${PN} = "wpa-supplicant" diff --git a/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb b/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb deleted file mode 100644 index 490f8324b44..00000000000 --- a/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "Wi-Fi Test Suite Linux Control Agent" -DESCRIPTION = "Wi-Fi Test Suite is a software platform originally developed \ -by Wi-Fi Alliance, the global non-profit industry association that brings you \ -Wi-Fi, to support certification program development and device certification." -HOMEPAGE = "https://www.wi-fi.org/certification/wi-fi-test-suite" -LICENSE = "ISC" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=0542427ed5c315ca34aa09ae7a85ed32" -SECTION = "test" - -S = "${WORKDIR}/git" -SRCREV = "2da947374c8324f88a0e2155aeba4cf75464b0d8" -SRC_URI = "git://github.com/Wi-FiTestSuite/Wi-FiTestSuite-Linux-DUT.git;branch=master;protocol=https \ - file://0001-Use-toolchain-from-environment-variables.patch \ - file://0002-Add-missing-include-removes-unnedded-stuff-and-add-n.patch \ - file://0003-fix-path-to-usr-sbin-for-script-and-make-script-for-.patch \ - file://0004-run-ranlib-per-library-and-use-AR.patch \ - file://fno-common.patch \ -" - -# to avoid host path QA error -CFLAGS += "-I${STAGING_INCDIR}/tirpc" -# Fix GNU HASH error -TARGET_CC_ARCH += "${LDFLAGS}" - -do_install () { - install -d ${D}${libdir} - install -m 0644 ${S}/lib/libwfa.a ${D}${libdir} - install -m 0644 ${S}/lib/libwfa_ca.a ${D}${libdir} - install -m 0644 ${S}/lib/libwfa_dut.a ${D}${libdir} - install -d ${D}${sbindir} - install -m 0755 ${S}/dut/wfa_dut ${D}${sbindir} - install -m 0755 ${S}/ca/wfa_ca ${D}${sbindir} - install -m 0755 ${S}/scripts/*.sh ${D}${sbindir} - install -m 0755 ${S}/scripts/arp_neigh_loop ${D}${sbindir} - install -m 0755 ${S}/scripts/dev_send_frame ${D}${sbindir} - install -m 0755 ${S}/scripts/sta_reset_parm ${D}${sbindir} -} - -RDEPENDS:${PN} = "wpa-supplicant" diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb b/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb index d73c64661f8..3453f3e964c 100644 --- a/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb +++ b/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb @@ -4,7 +4,7 @@ SUMMARY = "WvStreams is a network programming library in C++" LICENSE = "LGPL-2.0-only" LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605" -DEPENDS = "zlib openssl (>= 0.9.8) dbus readline" +DEPENDS = "zlib openssl (>= 0.9.8) dbus readline boost" DEPENDS:append:libc-musl = " argp-standalone libexecinfo" SRC_URI = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/${BPN}/${BP}.tar.gz \ diff --git a/meta-oe/recipes-connectivity/zabbix/zabbix/0001-initialize-msghdr-portably.patch b/meta-oe/recipes-connectivity/zabbix/zabbix/0001-initialize-msghdr-portably.patch new file mode 100644 index 00000000000..a7a1dc19869 --- /dev/null +++ b/meta-oe/recipes-connectivity/zabbix/zabbix/0001-initialize-msghdr-portably.patch @@ -0,0 +1,52 @@ +From 37b662cf44e14b33e93759d4b129d23095b41372 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 31 Aug 2022 23:55:02 -0700 +Subject: [PATCH] initialize msghdr portably + +on linux we have musl as an option for system C library and current +initialization assumes the structure to be same as glibc, therefore +initialize the elements of structure instead, so it can work on both +glibc and musl. + +Fixes +net.c:115:79: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion] + struct msghdr s_msg = { (void *)&s_sa, sizeof(struct sockaddr_nl), s_io, 1, NULL, 0, 0}; + ^~~~ + +Upstream-Status: Submitted [https://github.com/zabbix/zabbix/pull/77] +Signed-off-by: Khem Raj +--- + src/libs/zbxsysinfo/linux/net.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/src/libs/zbxsysinfo/linux/net.c b/src/libs/zbxsysinfo/linux/net.c +index 1425a3604d..98f03de0dd 100644 +--- a/src/libs/zbxsysinfo/linux/net.c ++++ b/src/libs/zbxsysinfo/linux/net.c +@@ -114,13 +114,21 @@ static int find_tcp_port_by_state_nl(unsigned short port, int state, int *found) + + struct sockaddr_nl s_sa = { AF_NETLINK, 0, 0, 0 }; + struct iovec s_io[1] = { { &request, sizeof(request) } }; +- struct msghdr s_msg = { (void *)&s_sa, sizeof(struct sockaddr_nl), s_io, 1, NULL, 0, 0}; ++ struct msghdr s_msg = { 0 }; ++ s_msg.msg_name = (void *)&s_sa; ++ s_msg.msg_namelen = sizeof(struct sockaddr_nl); ++ s_msg.msg_iov = s_io; ++ s_msg.msg_iovlen = 1; + + char buffer[BUFSIZ] = { 0 }; + + struct sockaddr_nl r_sa = { AF_NETLINK, 0, 0, 0 }; + struct iovec r_io[1] = { { buffer, BUFSIZ } }; +- struct msghdr r_msg = { (void *)&r_sa, sizeof(struct sockaddr_nl), r_io, 1, NULL, 0, 0}; ++ struct msghdr r_msg = { 0 }; ++ r_msg.msg_name = (void *)&r_sa; ++ r_msg.msg_namelen = sizeof(struct sockaddr_nl); ++ r_msg.msg_iov = r_io; ++ r_msg.msg_iovlen = 1; + + struct nlmsghdr *r_hdr; + +-- +2.37.3 + diff --git a/meta-oe/recipes-connectivity/zabbix/zabbix_6.2.1.bb b/meta-oe/recipes-connectivity/zabbix/zabbix_6.2.1.bb deleted file mode 100644 index 9949bd81f10..00000000000 --- a/meta-oe/recipes-connectivity/zabbix/zabbix_6.2.1.bb +++ /dev/null @@ -1,78 +0,0 @@ -SUMMARY = "Open-source monitoring solution for your IT infrastructure" -DESCRIPTION = "\ -ZABBIX is software that monitors numerous parameters of a network and the \ -health and integrity of servers. ZABBIX uses a flexible notification \ -mechanism that allows users to configure e-mail based alerts for virtually \ -any event. This allows a fast reaction to server problems. ZABBIX offers \ -excellent reporting and data visualisation features based on the stored \ -data. This makes ZABBIX ideal for capacity planning. \ -\ -ZABBIX supports both polling and trapping. All ZABBIX reports and \ -statistics, as well as configuration parameters are accessed through a \ -web-based front end. A web-based front end ensures that the status of \ -your network and the health of your servers can be assessed from any \ -location. Properly configured, ZABBIX can play an important role in \ -monitoring IT infrastructure. This is equally true for small \ -organisations with a few servers and for large companies with a \ -multitude of servers." -HOMEPAGE = "http://www.zabbix.com/" -SECTION = "Applications/Internet" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=300e938ad303147fede2294ed78fe02e" -DEPENDS = "libevent libpcre openldap virtual/libiconv zlib" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -SRC_URI = "https://cdn.zabbix.com/zabbix/sources/stable/6.2/${BPN}-${PV}.tar.gz \ - file://0001-Fix-configure.ac.patch \ - file://zabbix-agent.service \ -" - -SRC_URI[sha256sum] = "f3d6b7cf4e67d820ce7d28cd54ac67724f7453f261f668877e6410cd21ab9ea1" - -inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE:${PN} = "zabbix-agent.service" -SYSTEMD_AUTO_ENABLE = "enable" - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM:${PN} = "-r zabbix" -USERADD_PARAM:${PN} = "-r -g zabbix -d /var/lib/zabbix \ - -s /sbin/nologin -c \"Zabbix Monitoring System\" zabbix \ -" - -KERNEL_VERSION = "${@get_kernelversion_headers('${STAGING_KERNEL_DIR}')}" - -EXTRA_OECONF = " \ - --enable-dependency-tracking \ - --enable-agent \ - --enable-ipv6 \ - --with-net-snmp \ - --with-ldap=${STAGING_EXECPREFIXDIR} \ - --with-unixodbc \ - --with-ssh2 \ - --with-sqlite3 \ - --with-zlib \ - --with-libpthread \ - --with-libevent \ - --with-libpcre=${STAGING_EXECPREFIXDIR} \ - --with-iconv=${STAGING_EXECPREFIXDIR} \ -" -CFLAGS:append = " -lldap -llber -pthread" - -do_configure:prepend() { - export KERNEL_VERSION="${KERNEL_VERSION}" -} - -do_install:append() { - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/zabbix-agent.service ${D}${systemd_unitdir}/system/ - sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/zabbix-agent.service - fi -} - -FILES:${PN} += "${libdir}" - -RDEPENDS:${PN} = "logrotate" diff --git a/meta-oe/recipes-connectivity/zabbix/zabbix_6.2.4.bb b/meta-oe/recipes-connectivity/zabbix/zabbix_6.2.4.bb new file mode 100644 index 00000000000..7332e28201b --- /dev/null +++ b/meta-oe/recipes-connectivity/zabbix/zabbix_6.2.4.bb @@ -0,0 +1,78 @@ +SUMMARY = "Open-source monitoring solution for your IT infrastructure" +DESCRIPTION = "\ +ZABBIX is software that monitors numerous parameters of a network and the \ +health and integrity of servers. ZABBIX uses a flexible notification \ +mechanism that allows users to configure e-mail based alerts for virtually \ +any event. This allows a fast reaction to server problems. ZABBIX offers \ +excellent reporting and data visualisation features based on the stored \ +data. This makes ZABBIX ideal for capacity planning. \ +\ +ZABBIX supports both polling and trapping. All ZABBIX reports and \ +statistics, as well as configuration parameters are accessed through a \ +web-based front end. A web-based front end ensures that the status of \ +your network and the health of your servers can be assessed from any \ +location. Properly configured, ZABBIX can play an important role in \ +monitoring IT infrastructure. This is equally true for small \ +organisations with a few servers and for large companies with a \ +multitude of servers." +HOMEPAGE = "http://www.zabbix.com/" +SECTION = "Applications/Internet" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=300e938ad303147fede2294ed78fe02e" +DEPENDS = "libevent libpcre openldap virtual/libiconv zlib" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +SRC_URI = "https://cdn.zabbix.com/zabbix/sources/stable/6.2/${BPN}-${PV}.tar.gz \ + file://0001-Fix-configure.ac.patch \ + file://0001-initialize-msghdr-portably.patch \ + file://zabbix-agent.service \ +" +SRC_URI[sha256sum] = "e2526603d9b487a26046de3022e1722b66f4b25542886b3e40a8e2b3bbdbd3b5" + +inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE:${PN} = "zabbix-agent.service" +SYSTEMD_AUTO_ENABLE = "enable" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM:${PN} = "-r zabbix" +USERADD_PARAM:${PN} = "-r -g zabbix -d /var/lib/zabbix \ + -s /sbin/nologin -c \"Zabbix Monitoring System\" zabbix \ +" + +KERNEL_VERSION = "${@get_kernelversion_headers('${STAGING_KERNEL_DIR}')}" + +EXTRA_OECONF = " \ + --enable-dependency-tracking \ + --enable-agent \ + --enable-ipv6 \ + --with-net-snmp \ + --with-ldap=${STAGING_EXECPREFIXDIR} \ + --with-unixodbc \ + --with-ssh2 \ + --with-sqlite3 \ + --with-zlib \ + --with-libpthread \ + --with-libevent \ + --with-libpcre=${STAGING_EXECPREFIXDIR} \ + --with-iconv=${STAGING_EXECPREFIXDIR} \ +" +CFLAGS:append = " -lldap -llber -pthread" + +do_configure:prepend() { + export KERNEL_VERSION="${KERNEL_VERSION}" +} + +do_install:append() { + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/zabbix-agent.service ${D}${systemd_unitdir}/system/ + sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/zabbix-agent.service + fi +} + +FILES:${PN} += "${libdir}" + +RDEPENDS:${PN} = "logrotate" diff --git a/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb b/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb index 71891150925..1dbdc3e46a1 100644 --- a/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb +++ b/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb @@ -4,8 +4,8 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=db174eaf7b55a34a7c89551197f66e94" DEPENDS = "zeromq" -SRCREV = "dd663fafd830466d34cba278c2cfd0f92eb67614" -PV = "4.8.1" +SRCREV = "d67b6352b87a238775cd17e4376b980d07fa7939" +PV = "4.9.0" SRC_URI = "git://github.com/zeromq/cppzmq.git;branch=master;protocol=https" diff --git a/meta-oe/recipes-core/dbus/dbus-broker_31.bb b/meta-oe/recipes-core/dbus/dbus-broker_31.bb deleted file mode 100644 index 6eb45ed70cd..00000000000 --- a/meta-oe/recipes-core/dbus/dbus-broker_31.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "dbus broker" -DESCRIPTION = "Drop-in replacement for dbus-daemon." - -SECTION = "base" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=7b486c2338d225a1405d979ed2c15ce8" - -SRC_URI = "https://github.com/bus1/dbus-broker/releases/download/v${PV}/dbus-broker-${PV}.tar.xz" -SRC_URI[sha256sum] = "f229d7f1de8a3e344d54a4a30fbcb545387549e968009c06b87f7f1196c97496" - -UPSTREAM_CHECK_URI = "https://github.com/bus1/${BPN}/releases" - -inherit meson pkgconfig systemd features_check - -DEPENDS = "expat systemd" -DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux (>= 3.2)', '', d)}" -DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'audit (>= 3.0)', '', d)}" - -RDEPENDS:${PN} += "dbus-common" - -REQUIRED_DISTRO_FEATURES = "systemd" - -SYSTEMD_SERVICE:${PN} = "${BPN}.service" - -FILES:${PN} += "${systemd_system_unitdir}" -FILES:${PN} += "${systemd_user_unitdir}" -FILES:${PN} += "${nonarch_libdir}/systemd/catalog" - -EXTRA_OEMESON += " -Dselinux=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}" -EXTRA_OEMESON += " -Daudit=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}" - diff --git a/meta-oe/recipes-core/dbus/dbus-broker_32.bb b/meta-oe/recipes-core/dbus/dbus-broker_32.bb new file mode 100644 index 00000000000..900b5e3ac86 --- /dev/null +++ b/meta-oe/recipes-core/dbus/dbus-broker_32.bb @@ -0,0 +1,32 @@ +SUMMARY = "dbus broker" +DESCRIPTION = "Drop-in replacement for dbus-daemon." + +SECTION = "base" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7b486c2338d225a1405d979ed2c15ce8" + +SRC_URI = "https://github.com/bus1/dbus-broker/releases/download/v${PV}/dbus-broker-${PV}.tar.xz" +SRC_URI[sha256sum] = "bea7f653e7251063c5f427e9e3f93562d38a0d8667ae6d49fb56f113605985de" + +UPSTREAM_CHECK_URI = "https://github.com/bus1/${BPN}/releases" + +inherit meson pkgconfig systemd features_check + +DEPENDS = "expat systemd" +DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux (>= 3.2)', '', d)}" +DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'audit (>= 3.0)', '', d)}" + +RDEPENDS:${PN} += "dbus-common" + +REQUIRED_DISTRO_FEATURES = "systemd" + +SYSTEMD_SERVICE:${PN} = "${BPN}.service" + +FILES:${PN} += "${systemd_system_unitdir}" +FILES:${PN} += "${systemd_user_unitdir}" +FILES:${PN} += "${nonarch_libdir}/systemd/catalog" + +EXTRA_OEMESON += " -Dselinux=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}" +EXTRA_OEMESON += " -Daudit=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}" + diff --git a/meta-oe/recipes-core/opencl/ocl-icd_2.3.1.bb b/meta-oe/recipes-core/opencl/ocl-icd_2.3.1.bb index ae9c5bc8114..250cb6883b1 100644 --- a/meta-oe/recipes-core/opencl/ocl-icd_2.3.1.bb +++ b/meta-oe/recipes-core/opencl/ocl-icd_2.3.1.bb @@ -15,4 +15,4 @@ inherit autotools DEPENDS = "ruby-native" -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-core/opencl/opencl-headers_git.bb b/meta-oe/recipes-core/opencl/opencl-headers_git.bb index 4ecb8fc7d5e..6374f459736 100644 --- a/meta-oe/recipes-core/opencl/opencl-headers_git.bb +++ b/meta-oe/recipes-core/opencl/opencl-headers_git.bb @@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" SECTION = "base" S = "${WORKDIR}/git" -PV = "2022.05.18" -SRCREV = "def8be9d35fda35492b72f54a94515f7df8d1e9f" +PV = "2022.09.30" +SRCREV = "a51354a85f41d203e755124ad51ae3425933df45" SRC_URI = "git://github.com/KhronosGroup/OpenCL-Headers.git;branch=main;protocol=https" do_configure[noexec] = "1" @@ -17,3 +17,4 @@ do_install () { install -d ${D}${includedir}/CL/ install -m 0644 ${S}/CL/*.h ${D}${includedir}/CL } +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb index 756ba46e342..a5a033cae4b 100644 --- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb +++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb @@ -222,7 +222,6 @@ RDEPENDS:packagegroup-meta-oe-dbs ="\ psqlodbc \ rocksdb \ soci \ - sqlite \ " RDEPENDS:packagegroup-meta-oe-dbs:remove:libc-musl:powerpc = "rocksdb" @@ -301,7 +300,6 @@ RDEPENDS:packagegroup-meta-oe-devtools ="\ python3-distutils-extra \ python3-pycups \ rapidjson \ - sip3 \ squashfs-tools-ng \ uftrace \ unifex \ diff --git a/meta-oe/recipes-core/pim435/pim435_git.bb b/meta-oe/recipes-core/pim435/pim435_git.bb index f73a0fd54ec..80e3cc62987 100644 --- a/meta-oe/recipes-core/pim435/pim435_git.bb +++ b/meta-oe/recipes-core/pim435/pim435_git.bb @@ -9,8 +9,8 @@ written in C" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSES/MIT.txt;md5=7dda4e90ded66ab88b86f76169f28663" -SRC_URI = "git://booting.oniroproject.org/distro/components/pim435;protocol=https;branch=main" -SRCREV = "ee07a83de4d0ecdf4b5de20a7e374d36a9a6f5d5" +SRC_URI = "git://gitlab.eclipse.org/eclipse/oniro-blueprints/core/pim435;protocol=https;branch=main" +SRCREV = "445ed623ec8d3ecbb1d566900b4ef3fb3031d689" S = "${WORKDIR}/git" DEPENDS = "i2c-tools" diff --git a/meta-oe/recipes-core/plymouth/files/0001-Fix-daemon-install-ignoring-configured-runstatedir.patch b/meta-oe/recipes-core/plymouth/files/0001-Fix-daemon-install-ignoring-configured-runstatedir.patch new file mode 100644 index 00000000000..e04917e305f --- /dev/null +++ b/meta-oe/recipes-core/plymouth/files/0001-Fix-daemon-install-ignoring-configured-runstatedir.patch @@ -0,0 +1,30 @@ +From 4c90a66fb7fd9dbb861c5a888fc828f3795fe540 Mon Sep 17 00:00:00 2001 +From: Ben Brown +Date: Tue, 19 Jul 2022 16:12:12 +0100 +Subject: [PATCH] Fix daemon install ignoring configured runstatedir + +Upstream-Status: Backport + +Signed-off-by: Ben Brown +Signed-off-by: Ming Liu + +--- + src/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index ad3655d..abd7a4c 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -37,7 +37,7 @@ escrow_PROGRAMS = plymouthd-fd-escrow + + plymouthd_fd_escrow_SOURCES = plymouthd-fd-escrow.c + +-plymouthdrundir = $(localstatedir)/run/plymouth ++plymouthdrundir = $(plymouthruntimedir) + plymouthdspooldir = $(localstatedir)/spool/plymouth + plymouthdtimedir = $(localstatedir)/lib/plymouth + +-- +2.25.1 + diff --git a/meta-oe/recipes-core/plymouth/files/0001-Use-standard-runstatedir-vs-custom-flag.patch b/meta-oe/recipes-core/plymouth/files/0001-Use-standard-runstatedir-vs-custom-flag.patch new file mode 100644 index 00000000000..e351098f357 --- /dev/null +++ b/meta-oe/recipes-core/plymouth/files/0001-Use-standard-runstatedir-vs-custom-flag.patch @@ -0,0 +1,50 @@ +From 97012d2c38b84fffb32867fb5eeac64a93455626 Mon Sep 17 00:00:00 2001 +From: Ben Brown +Date: Tue, 19 Jul 2022 16:10:24 +0100 +Subject: [PATCH] Use standard runstatedir vs custom flag + +Upstream-Status: Backport + +--- + configure.ac | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) + +Signed-off-by: Ben Brown +Signed-off-by: Ming Liu + +diff --git a/configure.ac b/configure.ac +index 608ad02..34a2f2c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -140,9 +140,7 @@ if test x$enable_systemd_integration = xyes; then + AC_SUBST(SYSTEMD_UNIT_DIR) + fi + +-AC_ARG_WITH([runtimedir], +- AC_HELP_STRING([--with-runtimedir=DIR], [runtime data dir [LOCALSTATEDIR/run]]), +- [plymouthruntimedir=${withval}/plymouth], [plymouthruntimedir=""]) ++AC_ARG_WITH([runtimedir], [], [AC_MSG_ERROR([--with-runtimedir is obsolete, use --runstatedir instead])], []) + + AC_ARG_WITH(system-root-install, AS_HELP_STRING([--with-system-root-install],[Install client in /bin and daemon in /sbin]),with_system_root_install=${withval},with_system_root_install=no) + AM_CONDITIONAL(WITH_SYSTEM_ROOT_INSTALL, [test "$with_system_root_install" = yes]) +@@ -150,16 +148,11 @@ AM_CONDITIONAL(WITH_SYSTEM_ROOT_INSTALL, [test "$with_system_root_install" = ye + if test x$with_system_root_install = xyes; then + plymouthclientdir=/bin + plymouthdaemondir=/sbin +- if (test -z "${plymouthruntimedir}"); then +- plymouthruntimedir=/run/plymouth +- fi + else + plymouthclientdir=$bindir + plymouthdaemondir=$sbindir +- if (test -z "${plymouthruntimedir}"); then +- plymouthruntimedir=$localstatedir/run/plymouth +- fi + fi ++plymouthruntimedir=$runstatedir/plymouth + AC_SUBST(plymouthclientdir) + AC_SUBST(plymouthdaemondir) + AC_SUBST(plymouthruntimedir) +-- +2.25.1 + diff --git a/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb b/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb deleted file mode 100644 index 143ffa10d1a..00000000000 --- a/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb +++ /dev/null @@ -1,73 +0,0 @@ -SUMMARY = "Plymouth is a project from Fedora providing a flicker-free graphical boot process." - -DESCRIPTION = "Plymouth is an application that runs very early in the boot process \ - (even before the root filesystem is mounted!) that provides a \ - graphical boot animation while the boot process happens in the background. \ -" - -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/Plymouth" -SECTION = "base" - -LICENSE = "GPL-2.0-or-later" - -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -DEPENDS = "libcap libpng cairo dbus udev" -DEPENDS:append:libc-musl = " musl-rpmatch" -PROVIDES = "virtual/psplash" -RPROVIDES:${PN} = "virtual-psplash virtual-psplash-support" - -SRC_URI = " \ - http://www.freedesktop.org/software/plymouth/releases/${BPN}-${PV}.tar.xz \ - file://0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch \ - file://0001-systemd-switch-to-KillMode-mixed.patch \ - file://0001-plymouth-start-service-in-add-related-kernel-paramet.patch \ - file://0001-plymouth-Add-the-retain-splash-option.patch \ - " - -SRC_URI[md5sum] = "8a25d23f3ae732af300a56fa33cacff2" - -EXTRA_OECONF += " --enable-shared --disable-static --disable-gtk --disable-documentation \ - --with-logo=${LOGO} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-systemd-integration --with-systemd-tty-ask-password-agent=${base_bindir}/systemd-tty-ask-password-agent', '--disable-systemd-integration', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge','--without-system-root-install','--with-system-root-install',d)} \ -" - -PACKAGECONFIG ??= "pango initrd" -PACKAGECONFIG:append:x86 = " drm" -PACKAGECONFIG:append:x86-64 = " drm" - -PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm" -PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango" -PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3" -PACKAGECONFIG[initrd] = ",,," - -LOGO ??= "${datadir}/plymouth/bizcom.png" - -inherit autotools pkgconfig systemd gettext - -LDFLAGS:append:libc-musl = " -lrpmatch" - -do_install:append() { - # Remove /var/run from package as plymouth will populate it on startup - rm -fr "${D}${localstatedir}/run" - - if ! ${@bb.utils.contains('PACKAGECONFIG', 'initrd', 'true', 'false', d)}; then - rm -rf "${D}${libexecdir}" - fi -} - -PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'initrd', '${PN}-initrd ', '', d)}" -PACKAGES =+ "${PN}-set-default-theme" - -FILES:${PN}-initrd = "${libexecdir}/plymouth/*" -FILES:${PN}-set-default-theme = "${sbindir}/plymouth-set-default-theme" - -FILES:${PN} += "${systemd_unitdir}/system/*" -FILES:${PN}-dbg += "${libdir}/plymouth/renderers/.debug" - - -RDEPENDS:${PN}-initrd = "bash dracut" -RDEPENDS:${PN}-set-default-theme = "bash" - -SYSTEMD_SERVICE:${PN} = "plymouth-start.service" diff --git a/meta-oe/recipes-core/plymouth/plymouth_22.02.122.bb b/meta-oe/recipes-core/plymouth/plymouth_22.02.122.bb new file mode 100644 index 00000000000..469914cd479 --- /dev/null +++ b/meta-oe/recipes-core/plymouth/plymouth_22.02.122.bb @@ -0,0 +1,73 @@ +SUMMARY = "Plymouth is a project from Fedora providing a flicker-free graphical boot process." +DESCRIPTION = "Plymouth is an application that runs very early in the boot process \ +(even before the root filesystem is mounted!) that provides a \ +graphical boot animation while the boot process happens in the background." +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/Plymouth" +SECTION = "base" + +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +SRC_URI = " \ + http://www.freedesktop.org/software/plymouth/releases/${BPN}-${PV}.tar.xz \ + file://0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch \ + file://0001-plymouth-start-service-in-add-related-kernel-paramet.patch \ + file://0001-plymouth-Add-the-retain-splash-option.patch \ + file://0001-Use-standard-runstatedir-vs-custom-flag.patch \ + file://0001-Fix-daemon-install-ignoring-configured-runstatedir.patch \ +" + +SRC_URI[sha256sum] = "100551442221033ce868c447ad6c74d831d209c18ae232b98ae0207e34eadaeb" + +LOGO ??= "${datadir}/plymouth/bizcom.png" +RUNSTATEDIR ??= "${localstatedir}/run" + +EXTRA_OECONF = "--runstatedir=${RUNSTATEDIR}" + +PACKAGECONFIG ??= "initrd logo pango udev ${@bb.utils.filter('DISTRO_FEATURES', 'systemd usrmerge', d)}" +PACKAGECONFIG:append:x86 = " drm" +PACKAGECONFIG:append:x86-64 = " drm" + +PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm" +PACKAGECONFIG[documentation] = "--enable-documentation,--disable-documentation" +PACKAGECONFIG[initrd] = ",," +PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3" +PACKAGECONFIG[logo] = "--with-logo=${LOGO},--without-logo" +PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango" +PACKAGECONFIG[systemd] = "--enable-systemd-integration --with-systemd-tty-ask-password-agent=${base_bindir}/systemd-tty-ask-password-agent,--disable-systemd-integration,systemd" +PACKAGECONFIG[udev] = "--with-udev,--without-udev,udev" +PACKAGECONFIG[upstart-monitoring] = "--enable-upstart-monitoring,--disable-upstart-monitoring,ncurses dbus" +PACKAGECONFIG[usrmerge] = "--without-system-root-install,--with-system-root-install" + +inherit autotools pkgconfig systemd gettext + +do_install:append() { + # Remove /var/run from package as plymouth will populate it on startup + rm -fr ${D}${RUNSTATEDIR} + + if ! ${@bb.utils.contains('PACKAGECONFIG', 'initrd', 'true', 'false', d)}; then + rm -rf "${D}${libexecdir}" + fi +} + +PROVIDES = "virtual/psplash" +RPROVIDES:${PN} = "virtual-psplash virtual-psplash-support" + +PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'initrd', '${PN}-initrd ', '', d)}" +PACKAGES =+ "${PN}-set-default-theme" + +FILES:${PN}-initrd = "${libexecdir}/plymouth/*" +FILES:${PN}-set-default-theme = "${sbindir}/plymouth-set-default-theme" + +FILES:${PN} += "${systemd_unitdir}/system/*" +FILES:${PN}-dbg += "${libdir}/plymouth/renderers/.debug" + +DEPENDS = "libcap libpng" +DEPENDS:append:libc-musl = " musl-rpmatch" + +LDFLAGS:append:libc-musl = " -lrpmatch" + +RDEPENDS:${PN}-initrd = "bash dracut" +RDEPENDS:${PN}-set-default-theme = "bash" + +SYSTEMD_SERVICE:${PN} = "plymouth-start.service" diff --git a/meta-oe/recipes-core/safec/safec/0001-strpbrk_s-Remove-unused-variable-len.patch b/meta-oe/recipes-core/safec/safec/0001-strpbrk_s-Remove-unused-variable-len.patch new file mode 100644 index 00000000000..4fd36ab8ab2 --- /dev/null +++ b/meta-oe/recipes-core/safec/safec/0001-strpbrk_s-Remove-unused-variable-len.patch @@ -0,0 +1,42 @@ +From b1d7cc6495c541cdd99399b4d1a835997376dcbf Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 22 Aug 2022 23:42:33 -0700 +Subject: [PATCH] strpbrk_s: Remove unused variable len + +Fixes +error: variable 'len' set but not used [-Werror,-Wunused-but-set-variable] + +Upstream-Status: Submitted [https://github.com/rurban/safeclib/pull/123] +Signed-off-by: Khem Raj +--- + src/extstr/strpbrk_s.c | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/src/extstr/strpbrk_s.c b/src/extstr/strpbrk_s.c +index 5bb7a0f8..2cf8a8be 100644 +--- a/src/extstr/strpbrk_s.c ++++ b/src/extstr/strpbrk_s.c +@@ -79,7 +79,6 @@ EXPORT errno_t _strpbrk_s_chk(char *dest, rsize_t dmax, char *src, rsize_t slen, + #endif + { + char *ps; +- rsize_t len; + + CHK_SRC_NULL("strpbrk_s", firstp) + *firstp = NULL; +@@ -121,7 +120,6 @@ EXPORT errno_t _strpbrk_s_chk(char *dest, rsize_t dmax, char *src, rsize_t slen, + while (*dest && dmax) { + + ps = src; +- len = slen; + while (*ps) { + + /* check for a match with the substring */ +@@ -130,7 +128,6 @@ EXPORT errno_t _strpbrk_s_chk(char *dest, rsize_t dmax, char *src, rsize_t slen, + return RCNEGATE(EOK); + } + ps++; +- len--; + } + dest++; + dmax--; diff --git a/meta-oe/recipes-core/safec/safec_3.7.1.bb b/meta-oe/recipes-core/safec/safec_3.7.1.bb index 5ffe7d7528f..9dd6f1c7cc9 100644 --- a/meta-oe/recipes-core/safec/safec_3.7.1.bb +++ b/meta-oe/recipes-core/safec/safec_3.7.1.bb @@ -9,7 +9,8 @@ inherit autotools pkgconfig S = "${WORKDIR}/git" SRCREV = "f9add9245b97c7bda6e28cceb0ee37fb7e254fd8" SRC_URI = "git://github.com/rurban/safeclib.git;branch=master;protocol=https \ -" + file://0001-strpbrk_s-Remove-unused-variable-len.patch \ + " COMPATIBLE_HOST = '(x86_64|i.86|powerpc|powerpc64|arm|aarch64|mips).*-linux' diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.1.0/7f437a6e06d2ec3abd3e2fd1101ab6aab386bc44.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.1.0/7f437a6e06d2ec3abd3e2fd1101ab6aab386bc44.patch deleted file mode 100644 index 641935f684b..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.1.0/7f437a6e06d2ec3abd3e2fd1101ab6aab386bc44.patch +++ /dev/null @@ -1,54 +0,0 @@ -commit 7f437a6e06d2ec3abd3e2fd1101ab6aab386bc44 -Author: Stanislav Angelovic -Date: Thu Jan 27 13:38:19 2022 +0100 - - fix(tests): printer for std::chrono in googletest v1.11.0 - -diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -index fbf198c..ec42e55 100644 ---- a/tests/CMakeLists.txt -+++ b/tests/CMakeLists.txt -@@ -19,7 +19,7 @@ if (NOT TARGET GTest::gmock) - if (NOT TARGET GTest::gmock) - include(FetchContent) - -- message("Fetching googletest...") -+ message("Fetching googletest v${GOOGLETEST_VERSION}...") - FetchContent_Declare(googletest - GIT_REPOSITORY ${GOOGLETEST_GIT_REPO} - GIT_TAG release-${GOOGLETEST_VERSION} -diff --git a/tests/integrationtests/Defs.h b/tests/integrationtests/Defs.h -index 2f129a4..2bfc7c9 100644 ---- a/tests/integrationtests/Defs.h -+++ b/tests/integrationtests/Defs.h -@@ -56,20 +56,18 @@ const bool DEFAULT_BLOCKING_VALUE{true}; - - constexpr const double DOUBLE_VALUE{3.24L}; - --/** Duration stream operator for human readable gtest value output. -- * -- * Note that the conversion to double is lossy if the input type has 64 or more bits. -- * This is ok for our integration tests because they don't have very -- * accurate timing requirements. -- * -- * @return human readable duration in seconds -- */ -+}} -+ -+namespace testing::internal { -+ -+// Printer for std::chrono::duration types. -+// This is a workaround, since it's not a good thing to add this to std namespace. - template< class Rep, class Period > --static std::ostream& operator<<(std::ostream& os, const std::chrono::duration& d) --{ -+void PrintTo(const ::std::chrono::duration& d, ::std::ostream* os) { - auto seconds = std::chrono::duration_cast>(d); -- return os << seconds.count() << " s"; -+ *os << seconds.count() << "s"; -+} -+ - } --}} - - #endif /* SDBUS_CPP_INTEGRATIONTESTS_DEFS_H_ */ diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.1.0/run-ptest b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.2.0/run-ptest similarity index 100% rename from meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.1.0/run-ptest rename to meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.2.0/run-ptest diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.1.0.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.1.0.bb deleted file mode 100644 index 01f66c3f231..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.1.0.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "sdbus-c++ native tools" -DESCRIPTION = "Native interface code generator for development with sdbus-c++" - -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742" - -inherit cmake - -DEPENDS += "expat" - -SRCREV = "bca8e81037766a0454740c40307eea32831c101f" -SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master;subpath=tools" - -S = "${WORKDIR}/tools" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.2.0.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.2.0.bb new file mode 100644 index 00000000000..27b965ac115 --- /dev/null +++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.2.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "sdbus-c++ native tools" +DESCRIPTION = "Native interface code generator for development with sdbus-c++" + +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742" + +inherit cmake + +DEPENDS += "expat" + +SRCREV = "751c1addc4fd2f949a466f488c1b7de2ca3b76dc" +SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master;subpath=tools" + +S = "${WORKDIR}/tools" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.1.0.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.1.0.bb deleted file mode 100644 index 107dbc6c9d8..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.1.0.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "sdbus-c++" -DESCRIPTION = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API in modern C++" - -SECTION = "libs" - -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742" - -inherit cmake pkgconfig systemd ptest - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'with-external-libsystemd', 'with-builtin-libsystemd', d)} \ - ${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}" -PACKAGECONFIG[with-builtin-libsystemd] = ",,sdbus-c++-libsystemd,libcap" -PACKAGECONFIG[with-external-libsystemd] = ",,systemd,libsystemd" -PACKAGECONFIG[with-tests] = "-DBUILD_TESTS=ON -DTESTS_INSTALL_PATH=${libdir}/${BPN}/tests,-DBUILD_TESTS=OFF,googletest gmock" - -DEPENDS += "expat" - -SRCREV = "bca8e81037766a0454740c40307eea32831c101f" - -SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master" -SRC_URI += "file://run-ptest \ - file://7f437a6e06d2ec3abd3e2fd1101ab6aab386bc44.patch " - -EXTRA_OECMAKE = "-DBUILD_CODE_GEN=OFF \ - -DBUILD_DOC=ON \ - -DBUILD_DOXYGEN_DOC=OFF" - -S = "${WORKDIR}/git" - -# Link libatomic on architectures without 64bit atomics fixes -# libsdbus-c++.so.1.1.0: undefined reference to `__atomic_load_8' -LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed" -LDFLAGS:append:powerpc = " -Wl,--no-as-needed -latomic -Wl,--as-needed" -LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed" - -do_install:append() { - if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then - rm -rf ${D}${sysconfdir}/dbus-1 - fi -} - -PTEST_PATH = "${libdir}/${BPN}/tests" -FILES:${PN}-ptest =+ "${sysconfdir}/dbus-1/system.d/" -FILES:${PN}-dev += "${bindir}/sdbus-c++-xml2cpp" diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.2.0.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.2.0.bb new file mode 100644 index 00000000000..75cd8155351 --- /dev/null +++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.2.0.bb @@ -0,0 +1,44 @@ +SUMMARY = "sdbus-c++" +DESCRIPTION = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API in modern C++" + +SECTION = "libs" + +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742" + +inherit cmake pkgconfig systemd ptest + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'with-external-libsystemd', 'with-builtin-libsystemd', d)} \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}" +PACKAGECONFIG[with-builtin-libsystemd] = ",,sdbus-c++-libsystemd,libcap" +PACKAGECONFIG[with-external-libsystemd] = ",,systemd,libsystemd" +PACKAGECONFIG[with-tests] = "-DBUILD_TESTS=ON -DTESTS_INSTALL_PATH=${libdir}/${BPN}/tests,-DBUILD_TESTS=OFF,googletest gmock" + +DEPENDS += "expat" + +SRCREV = "751c1addc4fd2f949a466f488c1b7de2ca3b76dc" + +SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master" +SRC_URI += "file://run-ptest" + +EXTRA_OECMAKE = "-DBUILD_CODE_GEN=OFF \ + -DBUILD_DOC=ON \ + -DBUILD_DOXYGEN_DOC=OFF" + +S = "${WORKDIR}/git" + +# Link libatomic on architectures without 64bit atomics fixes +# libsdbus-c++.so.1.1.0: undefined reference to `__atomic_load_8' +LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed" +LDFLAGS:append:powerpc = " -Wl,--no-as-needed -latomic -Wl,--as-needed" +LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed" + +do_install:append() { + if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then + rm -rf ${D}${sysconfdir}/dbus-1 + fi +} + +PTEST_PATH = "${libdir}/${BPN}/tests" +FILES:${PN}-ptest =+ "${sysconfdir}/dbus-1/system.d/" +FILES:${PN}-dev += "${bindir}/sdbus-c++-xml2cpp" diff --git a/meta-oe/recipes-core/toybox/toybox/0001-portability-Avoid-glibc-and-linux-mount.h-conflict.patch b/meta-oe/recipes-core/toybox/toybox/0001-portability-Avoid-glibc-and-linux-mount.h-conflict.patch deleted file mode 100644 index 689ee2a5c42..00000000000 --- a/meta-oe/recipes-core/toybox/toybox/0001-portability-Avoid-glibc-and-linux-mount.h-conflict.patch +++ /dev/null @@ -1,161 +0,0 @@ -From 89000d9cb226cd864fa247f2428c9eaf7f414882 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 14 Aug 2022 10:02:15 -0700 -Subject: [PATCH] portability: Avoid glibc and linux mount.h conflict - -With glibc 2.36+ linux/mount.h> and headers are -no longer directly compatible - -Upstream-Status: Submitted [https://github.com/landley/toybox/pull/364] -Signed-off-by: Khem Raj ---- - lib/portability.h | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - ---- a/lib/portability.h -+++ b/lib/portability.h -@@ -180,11 +180,29 @@ void *memmem(const void *haystack, size_ - #endif - - // Linux headers not listed by POSIX or LSB --#include - #ifdef __linux__ - #include - #include - #include -+ -+#ifndef BLKDISCARD -+#define BLKDISCARD _IO(0x12,119) -+#endif -+#ifndef BLKSECDISCARD -+#define BLKSECDISCARD _IO(0x12,125) -+#endif -+#ifndef BLKZEROOUT -+#define BLKZEROOUT _IO(0x12,127) -+#endif -+#ifndef FIFREEZE -+#define FIFREEZE _IOWR('X', 119, int) /* Freeze */ -+#endif -+#ifndef FITHAW -+#define FITHAW _IOWR('X', 120, int) /* Thaw */ -+#endif -+ -+#else -+#include - #endif - - #ifdef __APPLE__ ---- a/toys/other/switch_root.c -+++ b/toys/other/switch_root.c -@@ -19,6 +19,7 @@ config SWITCH_ROOT - - #define FOR_switch_root - #include "toys.h" -+#include - #include - - GLOBALS( ---- a/toys/other/blkdiscard.c -+++ b/toys/other/blkdiscard.c -@@ -31,8 +31,7 @@ config BLKDISCARD - - #define FOR_blkdiscard - #include "toys.h" -- --#include -+#include - - GLOBALS( - long o, l; ---- a/toys/other/blockdev.c -+++ b/toys/other/blockdev.c -@@ -31,7 +31,7 @@ config BLOCKDEV - - #define FOR_blockdev - #include "toys.h" --#include -+#include - - GLOBALS( - long setbsz, setra; ---- a/toys/other/fsfreeze.c -+++ b/toys/other/fsfreeze.c -@@ -18,7 +18,6 @@ config FSFREEZE - - #define FOR_fsfreeze - #include "toys.h" --#include - - void fsfreeze_main(void) - { ---- a/lib/portability.c -+++ b/lib/portability.c -@@ -5,7 +5,7 @@ - */ - - #include "toys.h" -- -+#include - // We can't fork() on nommu systems, and vfork() requires an exec() or exit() - // before resuming the parent (because they share a heap until then). And no, - // we can't implement our own clone() call that does the equivalent of fork() ---- a/toys/lsb/mount.c -+++ b/toys/lsb/mount.c -@@ -58,6 +58,7 @@ config MOUNT - - #define FOR_mount - #include "toys.h" -+#include - - GLOBALS( - struct arg_list *o; ---- a/toys/lsb/umount.c -+++ b/toys/lsb/umount.c -@@ -30,6 +30,7 @@ config UMOUNT - - #define FOR_umount - #include "toys.h" -+#include - - GLOBALS( - struct arg_list *t; ---- a/toys/other/eject.c -+++ b/toys/other/eject.c -@@ -22,6 +22,7 @@ config EJECT - - #define FOR_eject - #include "toys.h" -+#include - #include - #include - #include ---- a/toys/other/freeramdisk.c -+++ b/toys/other/freeramdisk.c -@@ -16,6 +16,7 @@ config FREERAMDISK - */ - - #include "toys.h" -+#include - - void freeramdisk_main(void) - { ---- a/toys/other/nbd_client.c -+++ b/toys/other/nbd_client.c -@@ -36,6 +36,7 @@ config NBD_CLIENT - #define FOR_nbd_client - #include "toys.h" - #include -+#include - - void nbd_client_main(void) - { ---- a/toys/other/partprobe.c -+++ b/toys/other/partprobe.c -@@ -18,6 +18,7 @@ config PARTPROBE - */ - - #include "toys.h" -+#include - - static void do_partprobe(int fd, char *name) - { diff --git a/meta-oe/recipes-core/toybox/toybox/0001-portability-Fix-timer_settime_wrap-for-32bit-systems.patch b/meta-oe/recipes-core/toybox/toybox/0001-portability-Fix-timer_settime_wrap-for-32bit-systems.patch new file mode 100644 index 00000000000..8976b3748b8 --- /dev/null +++ b/meta-oe/recipes-core/toybox/toybox/0001-portability-Fix-timer_settime_wrap-for-32bit-systems.patch @@ -0,0 +1,37 @@ +From 7284c7ae0df9aa5a9c8aa0a81a018e17289fe2c4 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 8 Sep 2022 07:22:26 -0700 +Subject: [PATCH] portability: Fix timer_settime_wrap for 32bit systems with + 64bit time_t + +glibc does not define SYS_timer_settime if the 32bit syscall is not +available, new architectures like riscv32 has defaulted to 64bit time_t +from get go and avoided wiring 32bit syscall, therefore alias it to +64bit version here + +Upstream-Status: Submitted [https://github.com/landley/toybox/pull/373] +Signed-off-by: Khem Raj +--- + lib/portability.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/lib/portability.c b/lib/portability.c +index d955d081..4baa9367 100644 +--- a/lib/portability.c ++++ b/lib/portability.c +@@ -711,6 +711,12 @@ int timer_create_wrap(clockid_t c, struct sigevent *se, timer_t *t) + return 0; + } + ++#if !defined(SYS_timer_settime) && defined(SYS_timer_settime64) ++// glibc does not define defines SYS_timer_settime on 32-bit systems ++// with 64-bit time_t defaults e.g. riscv32 ++#define SYS_timer_settime SYS_timer_settime64 ++#endif ++ + int timer_settime_wrap(timer_t t, int flags, struct itimerspec *val, + struct itimerspec *old) + { +-- +2.37.3 + diff --git a/meta-oe/recipes-core/toybox/toybox_0.8.8.bb b/meta-oe/recipes-core/toybox/toybox_0.8.8.bb index e27f9ed95f4..6836b146828 100644 --- a/meta-oe/recipes-core/toybox/toybox_0.8.8.bb +++ b/meta-oe/recipes-core/toybox/toybox_0.8.8.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=78659a599b9325da368f2f1eb88f19c7" inherit cml1 update-alternatives SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz \ - file://0001-portability-Avoid-glibc-and-linux-mount.h-conflict.patch \ + file://0001-portability-Fix-timer_settime_wrap-for-32bit-systems.patch \ " SRC_URI[sha256sum] = "dafd41978d40f02a61cf1be99a2b4a25812bbfb9c3157e679ee7611202d6ac58" diff --git a/meta-oe/recipes-core/uutils-coreutils/README.txt b/meta-oe/recipes-core/uutils-coreutils/README.txt new file mode 100644 index 00000000000..cfd7b051b13 --- /dev/null +++ b/meta-oe/recipes-core/uutils-coreutils/README.txt @@ -0,0 +1,19 @@ +How to generate/update the file uutils-coreutils_XXX.bb: + +cargo with version > 1.60 is needed so cargo from Ubuntu's apt will not work +(because of https://github.com/rust-lang/cargo/issues/10623): +This package is needed (tested on Ubuntu 22.04): +sudo apt-get -y install librust-cargo+openssl-dev + +Then install cargo-bitbake with: +$ cargo install --locked cargo-bitbake + +You can now update coreutils: +$ git clone https://github.com/uutils/coreutils.git +$ cd coreutils +$ git tag +$ git checkout 0.0.XXX +$ cargo-bitbake bitbake +Wrote: coreutils_0.0.15.bb + +Verify manual changes in the bb file (rename coreutils.inc to uutils-coreutils.inc) diff --git a/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils.inc b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils.inc new file mode 100644 index 00000000000..68cfa8178cf --- /dev/null +++ b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils.inc @@ -0,0 +1,57 @@ +# This file contains content which was not automatically generated using cargo-bitbake on the cargo.toml file of uutils-coreutils +# Copyright (c) 2022, Snap Inc. +# Released under the MIT license (see COPYING.MIT for the terms) + +PROVIDES = "coreutils" +RPROVIDES:${PN} = "coreutils" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" + +PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux" + +CARGO_BUILD_FLAGS += "--features unix" +CARGO_BUILD_FLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', '--features feat_selinux', '', d)}" + +DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'clang-native libselinux-native', '', d)}" + +export LIBCLANG_PATH = "${WORKDIR}/recipe-sysroot-native${libdir}" +export SELINUX_LIB_DIR = "${WORKDIR}/recipe-sysroot-native${libdir}" +export SELINUX_INCLUDE_DIR = "${WORKDIR}/recipe-sysroot-native${includedir}" + +# The code which follows is strongly inspired from the GNU coreutils bitbake recipe: + +# [ df mktemp nice printenv base64 gets a special treatment and is not included in this +bindir_progs = "[ arch basename cksum comm csplit cut dir dircolors dirname du \ + env expand expr factor fmt fold groups head hostid id install \ + join link logname md5sum mkfifo nl nohup nproc od paste pathchk \ + pinky pr printf ptx readlink realpath seq sha1sum sha224sum sha256sum \ + sha384sum sha512sum shred shuf sort split sum tac tail tee test timeout \ + tr truncate tsort tty unexpand uniq unlink uptime users vdir wc who whoami yes" + +bindir_progs += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'chcon runcon', '', d)}" + +base_bindir_progs = "cat chgrp chmod chown cp date dd echo false hostname kill ln ls mkdir \ + mknod mv pwd rm rmdir sleep stty sync touch true uname stat" + +sbindir_progs= "chroot" + +inherit update-alternatives + +# Higher than busybox (which uses 50) +ALTERNATIVE_PRIORITY = "100" + +# Higher than net-tools (which uses 100) +ALTERNATIVE_PRIORITY[hostname] = "110" + +ALTERNATIVE:${PN} = "${bindir_progs} ${base_bindir_progs} ${sbindir_progs} base32 base64 nice printenv mktemp df" + +# Use the multicall binary named "coreutils" for symlinks +ALTERNATIVE_TARGET = "${bindir}/coreutils" + +python __anonymous() { + for prog in d.getVar('base_bindir_progs').split(): + d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog)) + + for prog in d.getVar('sbindir_progs').split(): + d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('sbindir'), prog)) +} diff --git a/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.16.bb b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.16.bb new file mode 100644 index 00000000000..4b4f5f51029 --- /dev/null +++ b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.16.bb @@ -0,0 +1,271 @@ +# Auto-Generated by cargo-bitbake 0.3.16 +# +inherit cargo + +# If this is git based prefer versioned ones if they exist +# DEFAULT_PREFERENCE = "-1" + +# how to get coreutils could be as easy as but default to a git checkout: +# SRC_URI += "crate://crates.io/coreutils/0.0.16" +SRC_URI += "git://github.com/uutils/coreutils.git;protocol=https;nobranch=1" +SRCREV = "af13472223a1b6b6b4111a06faa8f561f04c3e59" +S = "${WORKDIR}/git" +CARGO_SRC_DIR = "" + + +# please note if you have entries that do not begin with crate:// +# you must change them to how that package can be fetched +SRC_URI += " \ + crate://crates.io/Inflector/0.11.4 \ + crate://crates.io/adler/1.0.2 \ + crate://crates.io/ahash/0.7.6 \ + crate://crates.io/aho-corasick/0.7.19 \ + crate://crates.io/aliasable/0.1.3 \ + crate://crates.io/android_system_properties/0.1.5 \ + crate://crates.io/ansi_term/0.12.1 \ + crate://crates.io/arrayref/0.3.6 \ + crate://crates.io/arrayvec/0.7.2 \ + crate://crates.io/atty/0.2.14 \ + crate://crates.io/autocfg/1.1.0 \ + crate://crates.io/bigdecimal/0.3.0 \ + crate://crates.io/binary-heap-plus/0.4.1 \ + crate://crates.io/bindgen/0.60.1 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/blake2b_simd/1.0.0 \ + crate://crates.io/blake3/1.3.1 \ + crate://crates.io/block-buffer/0.10.3 \ + crate://crates.io/bstr/0.2.17 \ + crate://crates.io/bumpalo/3.11.0 \ + crate://crates.io/byte-unit/4.0.14 \ + crate://crates.io/bytecount/0.6.3 \ + crate://crates.io/byteorder/1.4.3 \ + crate://crates.io/cc/1.0.73 \ + crate://crates.io/cexpr/0.6.0 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/chrono/0.4.22 \ + crate://crates.io/clang-sys/1.3.3 \ + crate://crates.io/clap/3.2.22 \ + crate://crates.io/clap_complete/3.2.5 \ + crate://crates.io/clap_lex/0.2.4 \ + crate://crates.io/compare/0.1.0 \ + crate://crates.io/constant_time_eq/0.1.5 \ + crate://crates.io/conv/0.3.3 \ + crate://crates.io/core-foundation-sys/0.8.3 \ + crate://crates.io/coz/0.1.3 \ + crate://crates.io/cpp/0.5.7 \ + crate://crates.io/cpp_build/0.5.7 \ + crate://crates.io/cpp_common/0.5.7 \ + crate://crates.io/cpp_macros/0.5.7 \ + crate://crates.io/cpufeatures/0.2.5 \ + crate://crates.io/crc32fast/1.3.2 \ + crate://crates.io/crossbeam-channel/0.5.6 \ + crate://crates.io/crossbeam-deque/0.8.2 \ + crate://crates.io/crossbeam-epoch/0.9.10 \ + crate://crates.io/crossbeam-utils/0.8.11 \ + crate://crates.io/crossterm/0.25.0 \ + crate://crates.io/crossterm_winapi/0.9.0 \ + crate://crates.io/crunchy/0.2.2 \ + crate://crates.io/crypto-common/0.1.6 \ + crate://crates.io/ctor/0.1.23 \ + crate://crates.io/ctrlc/3.2.3 \ + crate://crates.io/custom_derive/0.1.7 \ + crate://crates.io/data-encoding-macro-internal/0.1.10 \ + crate://crates.io/data-encoding-macro/0.1.12 \ + crate://crates.io/data-encoding/2.3.2 \ + crate://crates.io/diff/0.1.13 \ + crate://crates.io/digest/0.10.5 \ + crate://crates.io/dlv-list/0.3.0 \ + crate://crates.io/dns-lookup/1.0.8 \ + crate://crates.io/dunce/1.0.2 \ + crate://crates.io/either/1.8.0 \ + crate://crates.io/env_logger/0.8.4 \ + crate://crates.io/env_logger/0.9.0 \ + crate://crates.io/errno-dragonfly/0.1.2 \ + crate://crates.io/errno/0.2.8 \ + crate://crates.io/exacl/0.9.0 \ + crate://crates.io/fastrand/1.8.0 \ + crate://crates.io/file_diff/1.0.0 \ + crate://crates.io/filetime/0.2.17 \ + crate://crates.io/flate2/1.0.24 \ + crate://crates.io/fnv/1.0.7 \ + crate://crates.io/fs_extra/1.2.0 \ + crate://crates.io/fsevent-sys/4.1.0 \ + crate://crates.io/fts-sys/0.2.2 \ + crate://crates.io/gcd/2.1.0 \ + crate://crates.io/generic-array/0.14.6 \ + crate://crates.io/getrandom/0.2.7 \ + crate://crates.io/glob/0.3.0 \ + crate://crates.io/half/2.1.0 \ + crate://crates.io/hashbrown/0.12.3 \ + crate://crates.io/heck/0.4.0 \ + crate://crates.io/hermit-abi/0.1.19 \ + crate://crates.io/hex-literal/0.3.4 \ + crate://crates.io/hex/0.4.3 \ + crate://crates.io/hostname/0.3.1 \ + crate://crates.io/humantime/2.1.0 \ + crate://crates.io/iana-time-zone/0.1.48 \ + crate://crates.io/indexmap/1.9.1 \ + crate://crates.io/inotify-sys/0.1.5 \ + crate://crates.io/inotify/0.9.6 \ + crate://crates.io/instant/0.1.12 \ + crate://crates.io/io-lifetimes/0.7.3 \ + crate://crates.io/itertools/0.10.4 \ + crate://crates.io/itoa/1.0.3 \ + crate://crates.io/js-sys/0.3.60 \ + crate://crates.io/keccak/0.1.2 \ + crate://crates.io/kqueue-sys/1.0.3 \ + crate://crates.io/kqueue/1.0.6 \ + crate://crates.io/lazy_static/1.4.0 \ + crate://crates.io/lazycell/1.3.0 \ + crate://crates.io/libc/0.2.132 \ + crate://crates.io/libloading/0.7.3 \ + crate://crates.io/linux-raw-sys/0.0.46 \ + crate://crates.io/lock_api/0.4.8 \ + crate://crates.io/log/0.4.17 \ + crate://crates.io/lscolors/0.12.0 \ + crate://crates.io/match_cfg/0.1.0 \ + crate://crates.io/md-5/0.10.5 \ + crate://crates.io/memchr/2.5.0 \ + crate://crates.io/memmap2/0.5.7 \ + crate://crates.io/memoffset/0.6.5 \ + crate://crates.io/minimal-lexical/0.2.1 \ + crate://crates.io/miniz_oxide/0.5.4 \ + crate://crates.io/mio/0.8.4 \ + crate://crates.io/nix/0.25.0 \ + crate://crates.io/nom/7.1.1 \ + crate://crates.io/notify/5.0.0 \ + crate://crates.io/num-bigint/0.4.3 \ + crate://crates.io/num-integer/0.1.45 \ + crate://crates.io/num-traits/0.2.15 \ + crate://crates.io/num_cpus/1.13.1 \ + crate://crates.io/num_threads/0.1.6 \ + crate://crates.io/number_prefix/0.4.0 \ + crate://crates.io/once_cell/1.14.0 \ + crate://crates.io/onig/6.4.0 \ + crate://crates.io/onig_sys/69.8.1 \ + crate://crates.io/ordered-multimap/0.4.3 \ + crate://crates.io/os_display/0.1.3 \ + crate://crates.io/os_str_bytes/6.3.0 \ + crate://crates.io/ouroboros/0.15.5 \ + crate://crates.io/ouroboros_macro/0.15.5 \ + crate://crates.io/output_vt100/0.1.3 \ + crate://crates.io/parking_lot/0.12.1 \ + crate://crates.io/parking_lot_core/0.9.3 \ + crate://crates.io/paste/1.0.9 \ + crate://crates.io/peeking_take_while/0.1.2 \ + crate://crates.io/phf/0.10.1 \ + crate://crates.io/phf_codegen/0.10.0 \ + crate://crates.io/phf_generator/0.10.0 \ + crate://crates.io/phf_shared/0.10.0 \ + crate://crates.io/pin-utils/0.1.0 \ + crate://crates.io/pkg-config/0.3.25 \ + crate://crates.io/platform-info/1.0.0 \ + crate://crates.io/ppv-lite86/0.2.16 \ + crate://crates.io/pretty_assertions/1.3.0 \ + crate://crates.io/proc-macro-error-attr/1.0.4 \ + crate://crates.io/proc-macro-error/1.0.4 \ + crate://crates.io/proc-macro2/1.0.43 \ + crate://crates.io/procfs/0.14.1 \ + crate://crates.io/quick-error/2.0.1 \ + crate://crates.io/quickcheck/1.0.3 \ + crate://crates.io/quote/1.0.21 \ + crate://crates.io/rand/0.8.5 \ + crate://crates.io/rand_chacha/0.3.1 \ + crate://crates.io/rand_core/0.6.4 \ + crate://crates.io/rayon-core/1.9.3 \ + crate://crates.io/rayon/1.5.3 \ + crate://crates.io/redox_syscall/0.2.16 \ + crate://crates.io/reference-counted-singleton/0.1.2 \ + crate://crates.io/regex-automata/0.1.10 \ + crate://crates.io/regex-syntax/0.6.27 \ + crate://crates.io/regex/1.6.0 \ + crate://crates.io/remove_dir_all/0.5.3 \ + crate://crates.io/remove_dir_all/0.7.0 \ + crate://crates.io/retain_mut/0.1.7 \ + crate://crates.io/rlimit/0.8.3 \ + crate://crates.io/rust-ini/0.18.0 \ + crate://crates.io/rustc-hash/1.1.0 \ + crate://crates.io/rustix/0.35.9 \ + crate://crates.io/rustversion/1.0.9 \ + crate://crates.io/same-file/1.0.6 \ + crate://crates.io/scopeguard/1.1.0 \ + crate://crates.io/selinux-sys/0.5.3 \ + crate://crates.io/selinux/0.3.0 \ + crate://crates.io/sha1/0.10.5 \ + crate://crates.io/sha2/0.10.6 \ + crate://crates.io/sha3/0.10.5 \ + crate://crates.io/shlex/1.1.0 \ + crate://crates.io/signal-hook-mio/0.2.3 \ + crate://crates.io/signal-hook-registry/1.4.0 \ + crate://crates.io/signal-hook/0.3.14 \ + crate://crates.io/siphasher/0.3.10 \ + crate://crates.io/smallvec/1.9.0 \ + crate://crates.io/smawk/0.3.1 \ + crate://crates.io/socket2/0.4.7 \ + crate://crates.io/strsim/0.10.0 \ + crate://crates.io/strum/0.24.1 \ + crate://crates.io/strum_macros/0.24.3 \ + crate://crates.io/subtle/2.4.1 \ + crate://crates.io/syn/1.0.99 \ + crate://crates.io/tempfile/3.3.0 \ + crate://crates.io/term_grid/0.1.7 \ + crate://crates.io/termcolor/1.1.3 \ + crate://crates.io/terminal_size/0.2.1 \ + crate://crates.io/textwrap/0.15.1 \ + crate://crates.io/thiserror-impl/1.0.36 \ + crate://crates.io/thiserror/1.0.36 \ + crate://crates.io/time-macros/0.2.4 \ + crate://crates.io/time/0.3.14 \ + crate://crates.io/typenum/1.15.0 \ + crate://crates.io/unicode-ident/1.0.4 \ + crate://crates.io/unicode-linebreak/0.1.2 \ + crate://crates.io/unicode-segmentation/1.10.0 \ + crate://crates.io/unicode-width/0.1.10 \ + crate://crates.io/unicode-xid/0.2.4 \ + crate://crates.io/unindent/0.1.10 \ + crate://crates.io/users/0.11.0 \ + crate://crates.io/utf-8/0.7.6 \ + crate://crates.io/utf8-width/0.1.6 \ + crate://crates.io/uuid/1.1.2 \ + crate://crates.io/version_check/0.9.4 \ + crate://crates.io/walkdir/2.3.2 \ + crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ + crate://crates.io/wasm-bindgen-backend/0.2.83 \ + crate://crates.io/wasm-bindgen-macro-support/0.2.83 \ + crate://crates.io/wasm-bindgen-macro/0.2.83 \ + crate://crates.io/wasm-bindgen-shared/0.2.83 \ + crate://crates.io/wasm-bindgen/0.2.83 \ + crate://crates.io/which/4.3.0 \ + crate://crates.io/wild/2.1.0 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-util/0.1.5 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/windows-sys/0.36.1 \ + crate://crates.io/windows_aarch64_msvc/0.36.1 \ + crate://crates.io/windows_i686_gnu/0.36.1 \ + crate://crates.io/windows_i686_msvc/0.36.1 \ + crate://crates.io/windows_x86_64_gnu/0.36.1 \ + crate://crates.io/windows_x86_64_msvc/0.36.1 \ + crate://crates.io/xattr/0.2.3 \ + crate://crates.io/yansi/0.5.1 \ + crate://crates.io/z85/3.0.5 \ + crate://crates.io/zip/0.6.2 \ +" + + + +# FIXME: update generateme with the real MD5 of the license file +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=41f7469eaacac62c67d5664fff2c062d \ +" + +SUMMARY = "coreutils ~ GNU coreutils (updated); implemented as universal (cross-platform) utils, written in Rust" +HOMEPAGE = "https://github.com/uutils/coreutils" +LICENSE = "MIT" + +# includes this file if it exists but does not fail +# this is useful for anything you may want to override from +# what cargo-bitbake generates. +include uutils-coreutils-${PV}.inc +include uutils-coreutils.inc diff --git a/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb b/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb index 50cdf229e6c..a3d09c7cbd7 100644 --- a/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb +++ b/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb @@ -14,6 +14,8 @@ UPSTREAM_CHECK_REGEX = "Libmcrypt/(?P\d+(\.\d+)+)/" inherit autotools-brokensep gettext binconfig +CFLAGS += "-Wno-error=implicit-int" + do_configure() { install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} diff --git a/meta-oe/recipes-dbs/lmdb/files/0001-make-set-soname-on-liblmdb.patch b/meta-oe/recipes-dbs/lmdb/files/0001-make-set-soname-on-liblmdb.patch new file mode 100644 index 00000000000..312809d1d2f --- /dev/null +++ b/meta-oe/recipes-dbs/lmdb/files/0001-make-set-soname-on-liblmdb.patch @@ -0,0 +1,22 @@ +From b4d418bf3f78748d84e3cfb110833443eef34284 Mon Sep 17 00:00:00 2001 +From: Justin Bronder +Date: Thu, 25 Aug 2022 17:22:20 -0400 +Subject: [PATCH] make: set soname on liblmdb + +--- + libraries/liblmdb/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile +index 1ec74e6..ea08cd6 100644 +--- a/libraries/liblmdb/Makefile ++++ b/libraries/liblmdb/Makefile +@@ -66,7 +66,7 @@ liblmdb.a: mdb.o midl.o + + liblmdb$(SOEXT): mdb.lo midl.lo + # $(CC) $(LDFLAGS) -pthread -shared -Wl,-Bsymbolic -o $@ mdb.o midl.o $(SOLIBS) +- $(CC) $(LDFLAGS) -pthread -shared -o $@ mdb.lo midl.lo $(SOLIBS) ++ $(CC) $(LDFLAGS) -pthread -shared -Wl,-soname,$@ -o $@ mdb.lo midl.lo $(SOLIBS) + + mdb_stat: mdb_stat.o liblmdb.a + mdb_copy: mdb_copy.o liblmdb.a diff --git a/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb b/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb index 0590ce008c4..a76d388d703 100644 --- a/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb +++ b/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb @@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972" SRC_URI = "git://github.com/LMDB/lmdb.git;nobranch=1;protocol=https \ file://run-ptest \ file://0001-Makefile-use-libprefix-instead-of-libdir.patch \ + file://0001-make-set-soname-on-liblmdb.patch;patchdir=../.. \ " SRCREV = "8ad7be2510414b9506ec9f9e24f24d04d9b04a1a" @@ -19,8 +20,6 @@ inherit ptest S = "${WORKDIR}/git/libraries/liblmdb" -LDFLAGS += "-Wl,-soname,lib${PN}.so.${PV}" - do_compile() { oe_runmake CC="${CC}" SOEXT=".so.${PV}" LDFLAGS="${LDFLAGS}" } diff --git a/meta-oe/recipes-dbs/mysql/mariadb-native_10.8.3.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_10.8.3.bb index e38726d3f95..17a06349b0a 100644 --- a/meta-oe/recipes-dbs/mysql/mariadb-native_10.8.3.bb +++ b/meta-oe/recipes-dbs/mysql/mariadb-native_10.8.3.bb @@ -2,7 +2,9 @@ require mariadb.inc inherit native PROVIDES += "mysql5-native" -DEPENDS = "ncurses-native zlib-native bison-native libpcre2-native" +DEPENDS = "ncurses-native zlib-native bison-native libpcre2-native \ +gnutls-native fmt-native \ +" RDEPENDS:${PN} = "" PACKAGES = "" diff --git a/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-oe/recipes-dbs/mysql/mariadb.inc index c63d5114f64..2ef0d1aa3b3 100644 --- a/meta-oe/recipes-dbs/mysql/mariadb.inc +++ b/meta-oe/recipes-dbs/mysql/mariadb.inc @@ -19,6 +19,8 @@ SRC_URI = "https://archive.mariadb.org/${BP}/source/${BP}.tar.gz \ file://ssize_t.patch \ file://mm_malloc.patch \ file://sys_futex.patch \ + file://cross-compiling.patch \ + file://0001-sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch \ " SRC_URI:append:libc-musl = " file://ppc-remove-glibc-dep.patch" @@ -61,6 +63,8 @@ FILES:${PN}-setupdb = "${sysconfdir}/init.d/install_db \ " PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} lz4 openssl" +EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'" + PACKAGECONFIG:class-native = "" PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam" PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITH_VALGRIND=FALSE,valgrind" @@ -94,9 +98,9 @@ EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \ -DINSTALL_SYSCONFDIR:PATH=${sysconfdir} \ -DMYSQL_DATADIR:PATH=/var/mysql \ -DCAT_EXECUTABLE=`which cat` \ + -DSTACK_DIRECTION=1 \ -DCMAKE_AR:FILEPATH=${AR}" -EXTRA_OECMAKE:prepend:class-target = "-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper " # With Ninja it fails with: # make: *** No rule to make target `install'. Stop. @@ -120,18 +124,12 @@ do_generate_toolchain_file:append:class-native () { sed -i "/set( CMAKE_SYSTEM_PROCESSOR/d" ${WORKDIR}/toolchain.cmake } -do_configure:prepend:class-target () { - # Write out a qemu wrapper that will be used by cmake - # so that it can run target helper binaries through that. - qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}" - cat > ${WORKDIR}/qemuwrapper << EOF -#!/bin/sh -$qemu_binary "\$@" -EOF - chmod +x ${WORKDIR}/qemuwrapper -} do_compile:prepend:class-target () { + # These need to be in-tree or make will think they need to be built, + # and since we're cross-compiling that is disabled + cp ${STAGING_BINDIR_NATIVE}/comp_err ${S}/extra + cp ${STAGING_BINDIR_NATIVE}/comp_sql ${S}/scripts if [ "${@bb.utils.contains('PACKAGECONFIG', 'krb5', 'yes', 'no', d)}" = "no" ]; then if ! [ -e ${B}/include/openssl/kssl.h ] ; then mkdir -p ${B}/include/openssl @@ -224,6 +222,17 @@ RDEPENDS:${PN}-setupdb = "coreutils" # Allow old code to link to the backward compatible library RDEPENDS:libmysqlclient-dev = "libmysqlclient-r-dev" +PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess" +src_package_preprocess () { + # Trim build paths from comments in generated sources to ensure reproducibility + sed -i -e "s,${S}/sql/,,g" \ + -e "s,${B}/sql/,,g" \ + ${B}/sql/yy_oracle.hh \ + ${B}/sql/yy_mariadb.cc \ + ${B}/sql/yy_mariadb.hh \ + ${B}/sql/yy_oracle.cc +} + FILES:libmysqlclient = "\ ${libdir}/libmysqlclient.so.* \ ${libdir}/libmariadb.so.* \ diff --git a/meta-oe/recipes-dbs/mysql/mariadb/0001-sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch b/meta-oe/recipes-dbs/mysql/mariadb/0001-sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch new file mode 100644 index 00000000000..456a2bad645 --- /dev/null +++ b/meta-oe/recipes-dbs/mysql/mariadb/0001-sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch @@ -0,0 +1,69 @@ +From f92f657973997df30afdb0032c88ad3a14ead46b Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Fri, 23 Sep 2022 15:48:21 +0800 +Subject: [PATCH] sql/CMakeLists.txt: fix gen_lex_hash not found + +Fix the below do_compile issue in cross-compiling env. +| make[2]: *** No rule to make target '/build/tmp/work/aarch64-poky-linux/mariadb/10.3.13-r0/mariadb-10.3.13/sql/gen_lex_hash', needed by 'sql/lex_hash.h'. Stop. +| make[2]: *** No rule to make target '/build/tmp/work/aarch64-poky-linux/mariadb/10.3.13-r0/mariadb-10.3.13/sql/gen_lex_token', needed by 'sql/lex_token.h'. Stop. + +Upstream-Status: Inappropriate [oe build specific] + +Signed-off-by: Mingli Yu +--- + sql/CMakeLists.txt | 30 ++++++++++++++++++++++-------- + 1 file changed, 22 insertions(+), 8 deletions(-) + +diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt +index 241b482..27a3991 100644 +--- a/sql/CMakeLists.txt ++++ b/sql/CMakeLists.txt +@@ -60,11 +60,18 @@ ${CMAKE_BINARY_DIR}/sql + ${CMAKE_SOURCE_DIR}/tpool + ) + +-ADD_CUSTOM_COMMAND( +- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h +- COMMAND gen_lex_token > lex_token.h +- DEPENDS gen_lex_token ++IF(NOT CMAKE_CROSSCOMPILING) ++ ADD_CUSTOM_COMMAND( ++ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h ++ COMMAND gen_lex_token > lex_token.h ++ DEPENDS gen_lex_token ++) ++ELSE() ++ ADD_CUSTOM_COMMAND( ++ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h ++ COMMAND gen_lex_token > lex_token.h + ) ++ENDIF() + + FIND_PACKAGE(BISON 2.4) + +@@ -372,11 +379,18 @@ IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR) + ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc) + ENDIF() + +-ADD_CUSTOM_COMMAND( +- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h +- COMMAND gen_lex_hash > lex_hash.h +- DEPENDS gen_lex_hash ++IF(NOT CMAKE_CROSSCOMPILING) ++ ADD_CUSTOM_COMMAND( ++ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h ++ COMMAND gen_lex_hash > lex_hash.h ++ DEPENDS gen_lex_hash ++) ++ELSE() ++ ADD_CUSTOM_COMMAND( ++ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h ++ COMMAND gen_lex_hash > lex_hash.h + ) ++ENDIF() + + MYSQL_ADD_EXECUTABLE(mariadb-tzinfo-to-sql tztime.cc) + SET_TARGET_PROPERTIES(mariadb-tzinfo-to-sql PROPERTIES COMPILE_FLAGS "-DTZINFO2SQL") +-- +2.25.1 + diff --git a/meta-oe/recipes-dbs/mysql/mariadb/cross-compiling.patch b/meta-oe/recipes-dbs/mysql/mariadb/cross-compiling.patch new file mode 100644 index 00000000000..d0d6e3c730f --- /dev/null +++ b/meta-oe/recipes-dbs/mysql/mariadb/cross-compiling.patch @@ -0,0 +1,34 @@ +From 80be37351d995654f86b838f6b5ed47e8a90261b Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Fri, 23 Sep 2022 12:05:17 +0800 +Subject: [PATCH] CMakeLists.txt: not include import_executables.cmake + +building failed since native does not generate import_executables.cmake +In fact, our building system will export the needed commands. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Mingli Yu +--- + CMakeLists.txt | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f9e2b1b..34924ba 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -394,11 +394,6 @@ CHECK_LIBFMT() + ADD_SUBDIRECTORY(tpool) + CHECK_SYSTEMD() + +-IF(CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR) +- SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build") +- INCLUDE(${IMPORT_EXECUTABLES}) +-ENDIF() +- + # + # Setup maintainer mode options. Platform checks are + # not run with the warning options as to not perturb fragile checks +-- +2.25.1 + diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.8.3.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.8.3.bb index 20bb5fc1fe6..87faabfa271 100644 --- a/meta-oe/recipes-dbs/mysql/mariadb_10.8.3.bb +++ b/meta-oe/recipes-dbs/mysql/mariadb_10.8.3.bb @@ -1,8 +1,6 @@ require mariadb.inc -inherit qemu - -DEPENDS += "qemu-native bison-native boost libpcre2 curl ncurses \ +DEPENDS += "mariadb-native bison-native boost libpcre2 curl ncurses \ zlib libaio libedit libevent libxml2 gnutls fmt lzo zstd" PROVIDES += "mysql5 libmysqlclient" diff --git a/meta-oe/recipes-dbs/postgresql/files/0001-config_info.c-not-expose-build-info.patch b/meta-oe/recipes-dbs/postgresql/files/0001-config_info.c-not-expose-build-info.patch index 101a748776e..52ca276da61 100644 --- a/meta-oe/recipes-dbs/postgresql/files/0001-config_info.c-not-expose-build-info.patch +++ b/meta-oe/recipes-dbs/postgresql/files/0001-config_info.c-not-expose-build-info.patch @@ -30,7 +30,16 @@ diff --git a/src/common/config_info.c b/src/common/config_info.c index e72e729..b482c20 100644 --- a/src/common/config_info.c +++ b/src/common/config_info.c -@@ -123,74 +123,6 @@ get_configdata(const char *my_exec_path, size_t *configdata_len) +@@ -38,7 +38,7 @@ + int i = 0; + + /* Adjust this to match the number of items filled below */ +- *configdata_len = 23; ++ *configdata_len = 14; + configdata = (ConfigData *) palloc(*configdata_len * sizeof(ConfigData)); + + configdata[i].name = pstrdup("BINDIR"); +@@ -123,74 +123,6 @@ configdata[i].setting = pstrdup(path); i++; diff --git a/meta-oe/recipes-dbs/postgresql/postgresql.inc b/meta-oe/recipes-dbs/postgresql/postgresql.inc index bef33e6bb4f..60d44ce9791 100644 --- a/meta-oe/recipes-dbs/postgresql/postgresql.inc +++ b/meta-oe/recipes-dbs/postgresql/postgresql.inc @@ -205,7 +205,7 @@ do_install:append() { # multiple server config directory install -d -m 700 ${D}${sysconfdir}/default/${BPN} - if [ "${@d.getVar('enable_pam')}" = "pam" ]; then + if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then install -d ${D}${sysconfdir}/pam.d install -m 644 ${WORKDIR}/postgresql.pam ${D}${sysconfdir}/pam.d/postgresql fi diff --git a/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch b/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch index 7eda0387565..acfaa3f6bec 100644 --- a/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch +++ b/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch @@ -1,26 +1,27 @@ -[PATCH] do not use the hardcode libdir +From 8f3ed8df4721991958a5becf75a69493d67e7514 Mon Sep 17 00:00:00 2001 +From: "Roy.Li" +Date: Tue, 5 Sep 2017 10:24:10 +0800 +Subject: [PATCH] [PATCH] do not use the hardcode libdir Upstream-status: Pending Signed-off-by: Roy.Li Signed-off-by: Jackie Huang + --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 9b88d4c..df5ad7a 100644 +index 00b359e..ba50e6f 100644 --- a/configure.ac +++ b/configure.ac -@@ -140,7 +140,7 @@ if test "$with_libpq" != yes; then +@@ -114,7 +114,7 @@ if test "$with_libpq" != yes; then if test -d "$with_libpq"; then - PATH="$PATH:$with_libpq/bin" - CPPFLAGS="$CPPFLAGS -I$with_libpq/include" + PATH="$with_libpq/bin:$PATH" + CPPFLAGS="$CPPFLAGS -I$with_libpq/include -I$with_libpq/include/postgresql/internal" - LDFLAGS="$LDFLAGS -L$with_libpq/lib" + LDFLAGS="$LDFLAGS -L$with_libpq/${base_libdir}" else if test -x "$with_libpq"; then PG_CONFIG=$with_libpq --- -2.8.1 - diff --git a/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch b/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch index a8f14e7689f..30e67b7dfba 100644 --- a/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch +++ b/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch @@ -1,3 +1,6 @@ +From 96896b88776d0080609ec830cf9538d2babe665a Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Tue, 5 Sep 2017 10:24:10 +0800 Subject: [PATCH] psqlodbc: fixes for ptest support * Fix the LIBODBC since we don't use ODBC_CONFIG. @@ -9,27 +12,28 @@ Subject: [PATCH] psqlodbc: fixes for ptest support Upstream-Status: Inappropriate [OE ptest specific] Signed-off-by: Jackie Huang + --- test/Makefile.in | 2 +- test/odbcini-gen.sh | 8 ++++---- - test/runsuite.c | 26 +++++++++++++------------- - 3 files changed, 18 insertions(+), 18 deletions(-) + test/runsuite.c | 20 ++++++++++---------- + 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/test/Makefile.in b/test/Makefile.in -index 8710616..fcb470e 100644 +index 3f9a9af..09406ae 100644 --- a/test/Makefile.in +++ b/test/Makefile.in -@@ -18,7 +18,7 @@ CFLAGS = @CFLAGS@ +@@ -19,7 +19,7 @@ CPPFLAGS = @CPPFLAGS@ -I.. # config.h ODBC_CONFIG = @ODBC_CONFIG@ PROVE = @PROVE@ --LIBODBC := $(shell $(ODBC_CONFIG) --libs) +-LIBODBC = @LIBODBC@ +LIBODBC = -lodbc all: $(TESTBINS) runsuite reset-db diff --git a/test/odbcini-gen.sh b/test/odbcini-gen.sh -index d2c2c87..6068d9d 100755 +index 2eaba35..6555cdb 100755 --- a/test/odbcini-gen.sh +++ b/test/odbcini-gen.sh @@ -6,7 +6,7 @@ @@ -41,7 +45,7 @@ index d2c2c87..6068d9d 100755 driver=${drvr}.so if test ! -e $driver ; then driver=${drvr}.dll -@@ -33,10 +33,10 @@ Driver = psqlodbc test driver +@@ -52,10 +52,10 @@ Driver = PostgreSQL Unicode Trace = No TraceFile = Database = contrib_regression @@ -56,10 +60,10 @@ index d2c2c87..6068d9d 100755 RowVersioning = No ShowSystemTables = No diff --git a/test/runsuite.c b/test/runsuite.c -index 583cf35..fd2a90e 100644 +index 3be5732..cd842dc 100644 --- a/test/runsuite.c +++ b/test/runsuite.c -@@ -51,7 +51,7 @@ bailout(const char *fmt, ...) +@@ -55,7 +55,7 @@ bailout(const char *fmt, ...) /* Given a test program's name, get the test name */ void @@ -68,7 +72,7 @@ index 583cf35..fd2a90e 100644 { const char *basename; #ifdef WIN32 -@@ -65,7 +65,7 @@ parse_argument(const char *in, char *testname, char *binname) +@@ -69,7 +69,7 @@ parse_argument(const char *in, char *testname, char *binname) if (strchr(in, DIR_SEP) == NULL) { strcpy(testname, in); @@ -77,7 +81,7 @@ index 583cf35..fd2a90e 100644 return; } -@@ -127,7 +127,7 @@ int main(int argc, char **argv) +@@ -131,7 +131,7 @@ int main(int argc, char **argv) failures = 0; for (i = 1, j = 1; i <= numtests; i++, j++) { @@ -86,7 +90,7 @@ index 583cf35..fd2a90e 100644 if (runtest(binname, testname, i, inputdir) != 0) failures++; } -@@ -157,29 +157,29 @@ runtest(const char *binname, const char *testname, int testno, const char *input +@@ -161,29 +161,29 @@ runtest(const char *binname, const char *testname, int testno, const char *input #ifndef WIN32 snprintf(cmdline, sizeof(cmdline), "ODBCSYSINI=. ODBCINSTINI=./odbcinst.ini ODBCINI=./odbc.ini " @@ -123,26 +127,3 @@ index 583cf35..fd2a90e 100644 ret = 0; } fflush(stdout); -@@ -196,7 +196,7 @@ rundiff(const char *testname, const char *inputdir) - char *result; - size_t result_len; - -- snprintf(filename, sizeof(filename), "results/%s.out", testname); -+ snprintf(filename, sizeof(filename), "%s/results/%s.out", inputdir, testname); - result = slurpfile(filename, &result_len); - - outputno = 0; -@@ -244,8 +244,8 @@ rundiff(const char *testname, const char *inputdir) - * files and print the smallest diff? - */ - snprintf(cmdline, sizeof(cmdline), -- "diff -c %s/expected/%s.out results/%s.out >> regression.diffs", -- inputdir, testname, testname); -+ "diff -c %s/expected/%s.out %s/results/%s.out >> regression.diffs", -+ inputdir, testname, inputdir, testname); - if (system(cmdline) == -1) - printf("# diff failed\n"); - --- -2.8.2 - diff --git a/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch b/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch index 1d988182e78..9131d70be66 100644 --- a/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch +++ b/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch @@ -1,3 +1,6 @@ +From 8ca6b0c72b6b933642ec7c4ebb83734244fec46f Mon Sep 17 00:00:00 2001 +From: "Song.Li" +Date: Tue, 5 Sep 2017 10:24:10 +0800 Subject: [PATCH] remove some checks for cross-compiling some lib check is not suitable for @@ -8,15 +11,16 @@ Upstream-Status: Inappropriate [not a real bug,just for cross-compiling] Signed-off-by: Song.Li Signed-off-by: Kai Kang Signed-off-by: Jackie Huang + --- - configure.ac | 66 +++++++----------------------------------------------------- - 1 file changed, 7 insertions(+), 59 deletions(-) + configure.ac | 80 +++++----------------------------------------------- + 1 file changed, 7 insertions(+), 73 deletions(-) diff --git a/configure.ac b/configure.ac -index df5ad7a..b72bd4c 100644 +index 7f79563..00b359e 100644 --- a/configure.ac +++ b/configure.ac -@@ -46,57 +46,19 @@ AC_ARG_WITH(iodbc, [ --with-iodbc[[=DIR]] [[default=no]] DIR is the iODBC bas +@@ -57,71 +57,20 @@ AC_ARG_WITH(iodbc, [ --with-iodbc[[=DIR]] [[default=no]] DIR is the iODBC bas if test "$with_iodbc" != no; then with_unixodbc=no AC_DEFINE(WITH_IODBC, 1, [Define to 1 to build with iODBC support]) @@ -34,6 +38,7 @@ index df5ad7a..b72bd4c 100644 - fi fi + wo_odbc_config=__without_odbc_config if test "$with_unixodbc" != no; then AC_DEFINE(WITH_UNIXODBC, 1, [Define to 1 to build with unixODBC support]) @@ -42,7 +47,9 @@ index df5ad7a..b72bd4c 100644 - else - ODBC_CONFIG=$with_unixodbc - fi -- if test ! -x "${ODBC_CONFIG}/bin/odbc_config"; then +- if test "${ODBC_CONFIG}" = "${wo_odbc_config}"; then +- : +- elif test ! -x "${ODBC_CONFIG}/bin/odbc_config"; then - if test ! -x "${ODBC_CONFIG}"; then - AC_MSG_ERROR([odbc_config not found (required for unixODBC build)]) - fi @@ -62,22 +69,33 @@ index df5ad7a..b72bd4c 100644 - # Linking libiodoc is rather problematic - [ODBC_LIBDIR=`${ODBC_CONFIG} --libs | sed -e "s/^\(-L\|.*[ \t]-L\)\([^ \n\r\f\t]*\).*$/-L\2/"`] - LDFLAGS="$LDFLAGS ${ODBC_LIBDIR}" +- LIBODBC=`${ODBC_CONFIG} --libs` # for regression test +- elif test "${ODBC_CONFIG}" = "${wo_odbc_config}"; then +- ODBC_INCLUDE=/usr/include +- CPPFLAGS="$CPPFLAGS -I${ODBC_INCLUDE}" +- ODBC_LIBDiR="" +- LIBODBC="-lodbc" # for regression test - else - ODBC_INCLUDE=`${ODBC_CONFIG} --include-prefix` - CPPFLAGS="$CPPFLAGS -I${ODBC_INCLUDE}" -- # Linking libodoc is rather problematic +- # Linking libodbc is rather problematic - ODBC_LIBDIR=`${ODBC_CONFIG} --lib-prefix` -- LDFLAGS="$LDFLAGS -L${ODBC_LIBDIR}" +- if test "${ODBC_LIBDIR}" != ""; then +- LDFLAGS="$LDFLAGS -L${ODBC_LIBDIR}" +- fi +- LIBODBC=`${ODBC_CONFIG} --libs` # for regression test - fi - AC_MSG_NOTICE([using $ODBC_INCLUDE $ODBC_LIBDIR]) +- AC_MSG_NOTICE([using $LIBODBC for regression test]) -fi +-AC_SUBST(LIBODBC) +ODBC_LIBS="-lodbcinst" +LIBS="$LIBS ${ODBC_LIBS}" +AC_MSG_NOTICE([using $ODBC_INCLUDE $ODBC_LIBS]) # # SQLCOLATTRIBUTE_SQLLEN check -@@ -176,18 +138,10 @@ PGAC_ARG_BOOL(enable, pthreads, yes, +@@ -190,19 +139,10 @@ PGAC_ARG_BOOL(enable, pthreads, yes, # Find libpq headers and libraries # @@ -87,8 +105,9 @@ index df5ad7a..b72bd4c 100644 - -if test -n "$PG_CONFIG"; then - pg_includedir=`"$PG_CONFIG" --includedir` +- pg_pkg_includedir=`"$PG_CONFIG" --pkgincludedir` - pg_libdir=`"$PG_CONFIG" --libdir` -- CPPFLAGS="$CPPFLAGS -I$pg_includedir" +- CPPFLAGS="$CPPFLAGS -I$pg_includedir -I$pg_pkg_includedir/internal" - LDFLAGS="$LDFLAGS -L$pg_libdir" -fi - @@ -100,7 +119,7 @@ index df5ad7a..b72bd4c 100644 # 1. Programs -@@ -211,12 +165,6 @@ if test "$with_iodbc" != no; then +@@ -226,12 +166,6 @@ if test "$with_iodbc" != no; then [AC_MSG_ERROR([iODBC library "iodbcinst" not found])]) fi @@ -113,6 +132,3 @@ index df5ad7a..b72bd4c 100644 AC_CHECK_LIB(pq, PQsetSingleRowMode, [], [AC_MSG_ERROR([libpq library version >= 9.2 is required])]) --- -2.8.1 - diff --git a/meta-oe/recipes-dbs/psqlodbc/psqlodbc.inc b/meta-oe/recipes-dbs/psqlodbc/psqlodbc.inc deleted file mode 100644 index ae20a72a11c..00000000000 --- a/meta-oe/recipes-dbs/psqlodbc/psqlodbc.inc +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "ODBC driver for PostgreSQL" -DESCRIPTION = "\ - This package provides a driver that allows ODBC-enabled applications to \ - access PostgreSQL databases. ODBC is an abstraction layer that allows \ - applications written for that layer to access databases in a manner \ - that is relatively independent of the particular database management \ - system. \ - . \ - You need to install this package if you want to use an application that \ - provides database access through ODBC and you want that application to \ - access a PostgreSQL database. This package would need to be installed \ - on the same machine as that client application; the PostgreSQL database \ - server can be on a different machine and does not need any additional \ - software to accept ODBC clients. \ -" -SECTION = "libs" -HOMEPAGE = "http://psqlodbc.projects.postgresql.org/" - -DEPENDS += "postgresql unixodbc" - -EXTRA_OECONF = "\ - ac_cv_lib_ltdl_lt_dlopen=no \ - ac_cv_lib_pq_PQconnectdb=yes \ - --with-unixodbc=yes \ - --with-libpq=${STAGING_LIBDIR}/.. \ - --enable-pthreads \ - --disable-unicode \ - LIBS="-lpthread" \ -" - -inherit autotools pkgconfig ptest - -do_compile_ptest() { - oe_runmake -C ${B}/test -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH} - cp -a --no-preserve=ownership ${B}/test/exe ${S}/test/expected ${D}${PTEST_PATH} - install -m 0755 ${B}/test/reset-db ${D}${PTEST_PATH} - install -m 0755 ${B}/test/runsuite ${D}${PTEST_PATH} - install -m 0755 ${S}/test/odbcini-gen.sh ${D}${PTEST_PATH} - install -m 0755 ${S}/test/sampletables.sql ${D}${PTEST_PATH} - sed -i -e 's|@LIBDIR@|${libdir}|' ${D}${PTEST_PATH}/odbcini-gen.sh -} - -FILES:${PN} += "${libdir}" - -# The tests need a local PostgreSQL server running -RDEPENDS:${PN}-ptest = "postgresql" diff --git a/meta-oe/recipes-dbs/psqlodbc/psqlodbc_09.05.0300.bb b/meta-oe/recipes-dbs/psqlodbc/psqlodbc_09.05.0300.bb deleted file mode 100644 index b0fc35eb97f..00000000000 --- a/meta-oe/recipes-dbs/psqlodbc/psqlodbc_09.05.0300.bb +++ /dev/null @@ -1,14 +0,0 @@ -require ${PN}.inc - -LICENSE = "LGPL-2.0-only" -LIC_FILES_CHKSUM = "file://license.txt;md5=6db3822fc7512e83087ba798da013692" - -SRC_URI = "http://ftp.postgresql.org/pub/odbc/versions/src/${BPN}-${PV}.tar.gz \ - file://psqlodbc-remove-some-checks-for-cross-compiling.patch \ - file://psqlodbc-donot-use-the-hardcode-libdir.patch \ - file://psqlodbc-fix-for-ptest-support.patch \ - file://run-ptest \ -" - -SRC_URI[md5sum] = "4c6e0b22187d7bb1c998ffac89e50f6b" -SRC_URI[sha256sum] = "9521f328bf28aaaf5c8488dc89792b614f9d6271742c0baf9bb41c97537764a8" diff --git a/meta-oe/recipes-dbs/psqlodbc/psqlodbc_13.02.0000.bb b/meta-oe/recipes-dbs/psqlodbc/psqlodbc_13.02.0000.bb new file mode 100644 index 00000000000..299abee000c --- /dev/null +++ b/meta-oe/recipes-dbs/psqlodbc/psqlodbc_13.02.0000.bb @@ -0,0 +1,62 @@ +SUMMARY = "ODBC driver for PostgreSQL" +DESCRIPTION = "\ + This package provides a driver that allows ODBC-enabled applications to \ + access PostgreSQL databases. ODBC is an abstraction layer that allows \ + applications written for that layer to access databases in a manner \ + that is relatively independent of the particular database management \ + system. \ + . \ + You need to install this package if you want to use an application that \ + provides database access through ODBC and you want that application to \ + access a PostgreSQL database. This package would need to be installed \ + on the same machine as that client application; the PostgreSQL database \ + server can be on a different machine and does not need any additional \ + software to accept ODBC clients. \ +" +SECTION = "libs" +HOMEPAGE = "http://psqlodbc.projects.postgresql.org/" + +LICENSE = "LGPL-2.0-only" +LIC_FILES_CHKSUM = "file://license.txt;md5=6db3822fc7512e83087ba798da013692" + +SRC_URI = "http://ftp.postgresql.org/pub/odbc/versions/src/${BPN}-${PV}.tar.gz \ + file://psqlodbc-remove-some-checks-for-cross-compiling.patch \ + file://psqlodbc-donot-use-the-hardcode-libdir.patch \ + file://psqlodbc-fix-for-ptest-support.patch \ + file://run-ptest \ +" + +SRC_URI[sha256sum] = "b39b7e5c41fd6475c551112fa724bf57c4a446175ec4188a90e2844cc1612585" + +DEPENDS += "postgresql unixodbc" + +EXTRA_OECONF = "\ + ac_cv_lib_ltdl_lt_dlopen=no \ + ac_cv_lib_pq_PQconnectdb=yes \ + --with-unixodbc=yes \ + --with-libpq=${STAGING_LIBDIR}/.. \ + --enable-pthreads \ + LIBS='-lpthread' \ +" + +inherit autotools pkgconfig ptest + +do_compile_ptest() { + oe_runmake -C ${B}/test +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH} + cp -a --no-preserve=ownership ${B}/test/exe ${S}/test/expected ${D}${PTEST_PATH} + install -m 0755 ${B}/test/reset-db ${D}${PTEST_PATH} + install -m 0755 ${B}/test/runsuite ${D}${PTEST_PATH} + install -m 0755 ${S}/test/odbcini-gen.sh ${D}${PTEST_PATH} + install -m 0755 ${S}/test/sampletables.sql ${D}${PTEST_PATH} + sed -i -e 's|@LIBDIR@|${libdir}|' ${D}${PTEST_PATH}/odbcini-gen.sh +} + +FILES:${PN} += "${libdir}" + +# The tests need a local PostgreSQL server running +RDEPENDS:${PN}-ptest = "postgresql" + diff --git a/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch b/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch index 8bdd27ff252..2906100dee2 100644 --- a/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch +++ b/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch @@ -27,7 +27,7 @@ Signed-off-by: Khem Raj --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -935,7 +935,12 @@ endif() +@@ -1000,7 +1000,12 @@ option(ROCKSDB_BUILD_SHARED "Build share if(WIN32) set(SYSTEM_LIBS ${SYSTEM_LIBS} shlwapi.lib rpcrt4.lib) else() @@ -39,7 +39,7 @@ Signed-off-by: Khem Raj + endif() endif() - add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES} ${BUILD_VERSION_CC}) + set(ROCKSDB_PLUGIN_EXTERNS "") --- /dev/null +++ b/cmake/modules/CheckAtomic.cmake @@ -0,0 +1,69 @@ diff --git a/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Use-exported-target-for-bz2.patch b/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Use-exported-target-for-bz2.patch index d3054759a76..139312a298c 100644 --- a/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Use-exported-target-for-bz2.patch +++ b/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Use-exported-target-for-bz2.patch @@ -13,16 +13,7 @@ Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/7541] --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -32,7 +32,7 @@ - # 3. cmake .. - # 4. make -j - --cmake_minimum_required(VERSION 3.5.1) -+cmake_minimum_required(VERSION 3.7.2) - - list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/modules/") - include(ReadVersion) -@@ -152,12 +152,7 @@ else() +@@ -153,12 +153,7 @@ else() if(WITH_BZ2) find_package(BZip2 REQUIRED) add_definitions(-DBZIP2) diff --git a/meta-oe/recipes-dbs/rocksdb/files/0001-folly-Use-SYS_futex-for-syscall.patch b/meta-oe/recipes-dbs/rocksdb/files/0001-folly-Use-SYS_futex-for-syscall.patch deleted file mode 100644 index 9c70d4f6a61..00000000000 --- a/meta-oe/recipes-dbs/rocksdb/files/0001-folly-Use-SYS_futex-for-syscall.patch +++ /dev/null @@ -1,42 +0,0 @@ -From ddcc8a9f7e0f0bfee96f2f0a0c10f21f9fa9b05d Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 15 Nov 2020 15:02:28 -0800 -Subject: [PATCH] folly: Use SYS_futex for syscall - -glibc defines SYS_futex and on newer 32bit CPUs like RISCV-32, arc there -is no 32bit time_t therefore define SYS_futex in terms of SYS_futex_time64 - -Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/7676] -Signed-off-by: Khem Raj ---- - third-party/folly/folly/detail/Futex.cpp | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - ---- a/third-party/folly/folly/detail/Futex.cpp -+++ b/third-party/folly/folly/detail/Futex.cpp -@@ -48,9 +48,15 @@ namespace { - #define FUTEX_CLOCK_REALTIME 256 - #endif - -+/// Newer 32bit CPUs eg. RISCV-32 are defaulting to 64bit time_t from get go and -+/// therefore do not define __NR_futex -+#if !defined(SYS_futex) && defined(SYS_futex_time64) -+# define SYS_futex SYS_futex_time64 -+#endif -+ - int nativeFutexWake(const void* addr, int count, uint32_t wakeMask) { - long rv = syscall( -- __NR_futex, -+ SYS_futex, - addr, /* addr1 */ - FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG, /* op */ - count, /* val */ -@@ -112,7 +118,7 @@ FutexResult nativeFutexWaitImpl( - // Unlike FUTEX_WAIT, FUTEX_WAIT_BITSET requires an absolute timeout - // value - http://locklessinc.com/articles/futex_cheat_sheet/ - long rv = syscall( -- __NR_futex, -+ SYS_futex, - addr, /* addr1 */ - op, /* op */ - expected, /* val */ diff --git a/meta-oe/recipes-dbs/rocksdb/files/0001-jemalloc_helper-Limit-the-mm_malloc.h-hack-to-glibc-.patch b/meta-oe/recipes-dbs/rocksdb/files/0001-jemalloc_helper-Limit-the-mm_malloc.h-hack-to-glibc-.patch deleted file mode 100644 index dbb0dda221d..00000000000 --- a/meta-oe/recipes-dbs/rocksdb/files/0001-jemalloc_helper-Limit-the-mm_malloc.h-hack-to-glibc-.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 1a69d4cc3f97e348dba9714c7ec60da1a8650664 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 15 Jun 2021 22:05:36 -0700 -Subject: [PATCH] jemalloc_helper: Limit the mm_malloc.h hack to glibc on linux - -Musl does not need this hack - -Signed-off-by: Khem Raj ---- - port/jemalloc_helper.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/port/jemalloc_helper.h -+++ b/port/jemalloc_helper.h -@@ -5,7 +5,7 @@ - - #pragma once - --#if defined(__clang__) -+#if defined(__clang__) && defined(__GLIBC__) - // glibc's `posix_memalign()` declaration specifies `throw()` while clang's - // declaration does not. There is a hack in clang to make its re-declaration - // compatible with glibc's if they are declared consecutively. That hack breaks diff --git a/meta-oe/recipes-dbs/rocksdb/files/0001-range_tree-Implement-toku_time_now-for-rv32-rv64-in-.patch b/meta-oe/recipes-dbs/rocksdb/files/0001-range_tree-Implement-toku_time_now-for-rv32-rv64-in-.patch deleted file mode 100644 index 86c1bffea63..00000000000 --- a/meta-oe/recipes-dbs/rocksdb/files/0001-range_tree-Implement-toku_time_now-for-rv32-rv64-in-.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 89c032a9b4011385c0b504ea61e5df0db71f0ff5 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 16 Jun 2021 19:06:02 -0700 -Subject: [PATCH] range_tree: Implement toku_time_now for rv32/rv64 in asm - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - .../range_tree/lib/portability/toku_time.h | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -diff --git a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h -index 4425a4a2e..4ac964f85 100644 ---- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h -+++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h -@@ -133,6 +133,25 @@ static inline tokutime_t toku_time_now(void) { - return result; - #elif defined(__powerpc__) - return __ppc_get_timebase(); -+#elif defined(__riscv) // RISC-V -+#if __riscv_xlen == 32 -+ uint32_t lo, hi0, hi1; -+ __asm __volatile__( -+ "rdcycleh %0\n" -+ "rdcycle %1\n" -+ "rdcycleh %2\n" -+ "sub %0, %0, %2\n" -+ "seqz %0, %0\n" -+ "sub %0, zero, %0\n" -+ "and %1, %1, %0\n" -+ : "=r"(hi0), "=r"(lo), "=r"(hi1)); -+ return ((uint64_t)hi1 << 32) | lo; -+#else -+ uint64_t result; -+ __asm __volatile__("rdcycle %0" : "=r"(result)); -+ return result; -+#endif -+ - #else - #error No timer implementation for this platform - #endif --- -2.32.0 - diff --git a/meta-oe/recipes-dbs/rocksdb/files/arm.patch b/meta-oe/recipes-dbs/rocksdb/files/arm.patch index d428a6624a0..573767797d4 100644 --- a/meta-oe/recipes-dbs/rocksdb/files/arm.patch +++ b/meta-oe/recipes-dbs/rocksdb/files/arm.patch @@ -3,7 +3,7 @@ implement timer for arm >= v6 Signed-off-by: Khem Raj --- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h -@@ -161,6 +161,20 @@ static inline tokutime_t toku_time_now(v +@@ -164,6 +164,20 @@ static inline tokutime_t toku_time_now(v struct timeval tv; gettimeofday(&tv, nullptr); return (uint64_t)tv.tv_sec * 1000000 + tv.tv_usec; diff --git a/meta-oe/recipes-dbs/rocksdb/files/mips.patch b/meta-oe/recipes-dbs/rocksdb/files/mips.patch index db2305d296e..0104d543472 100644 --- a/meta-oe/recipes-dbs/rocksdb/files/mips.patch +++ b/meta-oe/recipes-dbs/rocksdb/files/mips.patch @@ -3,11 +3,10 @@ implement timer implementation for mips platform Signed-off-by: Khem Raj --- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h -@@ -155,7 +155,12 @@ static inline tokutime_t toku_time_now(v - __asm __volatile__("rdcycle %0" : "=r"(result)); - return result; - #endif -- +@@ -158,6 +158,12 @@ static inline tokutime_t toku_time_now(v + uint64_t cycles; + asm volatile("rdcycle %0" : "=r"(cycles)); + return cycles; +#elif defined(__mips__) + // mips apparently only allows rdtsc for superusers, so we fall + // back to gettimeofday. It's possible clock_gettime would be better. diff --git a/meta-oe/recipes-dbs/rocksdb/files/ppc64.patch b/meta-oe/recipes-dbs/rocksdb/files/ppc64.patch index bc40f1b1e72..45deef338cb 100644 --- a/meta-oe/recipes-dbs/rocksdb/files/ppc64.patch +++ b/meta-oe/recipes-dbs/rocksdb/files/ppc64.patch @@ -23,6 +23,6 @@ Signed-off-by: Khem Raj + uint64_t result; + asm volatile("mfspr %0, 268" : "=r"(result)); + return result; - #elif defined(__riscv) // RISC-V - #if __riscv_xlen == 32 - uint32_t lo, hi0, hi1; + #elif defined(__s390x__) + uint64_t result; + asm volatile("stckf %0" : "=Q"(result) : : "cc"); diff --git a/meta-oe/recipes-dbs/rocksdb/rocksdb_6.20.3.bb b/meta-oe/recipes-dbs/rocksdb/rocksdb_6.20.3.bb deleted file mode 100644 index 2ad2d38a53c..00000000000 --- a/meta-oe/recipes-dbs/rocksdb/rocksdb_6.20.3.bb +++ /dev/null @@ -1,58 +0,0 @@ -SUMMARY = "RocksDB an embeddable, persistent key-value store" -DESCRIPTION = "RocksDB is library that provides an embeddable, persistent key-value store for fast storage." -HOMEPAGE = "http://rocksdb.org/" -LICENSE = "(Apache-2.0 | GPL-2.0-only) & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.Apache;md5=3b83ef96387f14655fc854ddc3c6bd57 \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837" - -SRCREV = "8608d75d85f8e1b3b64b73a4fb6d19baec61ba5c" -SRCBRANCH = "6.20.fb" - -SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH};protocol=https \ - file://0001-cmake-Add-check-for-atomic-support.patch \ - file://0001-cmake-Use-exported-target-for-bz2.patch \ - file://0001-folly-Use-SYS_futex-for-syscall.patch \ - file://0001-jemalloc_helper-Limit-the-mm_malloc.h-hack-to-glibc-.patch \ - file://0001-range_tree-Implement-toku_time_now-for-rv32-rv64-in-.patch \ - file://ppc64.patch \ - file://mips.patch \ - file://arm.patch \ - " - -SRC_URI:append:riscv32 = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" -SRC_URI:append:mips = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" -SRC_URI:append:powerpc = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" -SRC_URI:remove:toolchain-clang:riscv32 = "file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" - -S = "${WORKDIR}/git" - -inherit cmake - -PACKAGECONFIG ??= "bzip2 zlib lz4 gflags" -PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON,-DWITH_BZ2=OFF,bzip2" -PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON,-DWITH_LZ4=OFF,lz4" -PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib" -PACKAGECONFIG[zstd] = "-DWITH_ZSTD=ON,-DWITH_ZSTD=OFF,zstd" -PACKAGECONFIG[lite] = "-DROCKSDB_LITE=ON,-DROCKSDB_LITE=OFF" -PACKAGECONFIG[gflags] = "-DWITH_GFLAGS=ON,-DWITH_GFLAGS=OFF,gflags" - -# Tools and tests currently don't compile on armv5 so we disable them -EXTRA_OECMAKE = "\ - -DPORTABLE=ON \ - -DWITH_TESTS=OFF \ - -DWITH_BENCHMARK_TOOLS=OFF \ - -DWITH_TOOLS=OFF \ - -DFAIL_ON_WARNINGS=OFF \ -" - -do_install:append() { - # fix for qa check buildpaths - sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/rocksdb/RocksDBTargets.cmake -} - -LDFLAGS:append:riscv64 = " -pthread" - -# Need toku_time_now() implemented for ppc/musl -# see utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h -COMPATIBLE_HOST:libc-musl:powerpc = "null" diff --git a/meta-oe/recipes-dbs/rocksdb/rocksdb_7.5.3.bb b/meta-oe/recipes-dbs/rocksdb/rocksdb_7.5.3.bb new file mode 100644 index 00000000000..d4f0346ee1a --- /dev/null +++ b/meta-oe/recipes-dbs/rocksdb/rocksdb_7.5.3.bb @@ -0,0 +1,55 @@ +SUMMARY = "RocksDB an embeddable, persistent key-value store" +DESCRIPTION = "RocksDB is library that provides an embeddable, persistent key-value store for fast storage." +HOMEPAGE = "http://rocksdb.org/" +LICENSE = "(Apache-2.0 | GPL-2.0-only) & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.Apache;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837" + +SRCREV = "540d5aae516265170564ec27b3e67a54a11b7045" +SRCBRANCH = "7.5.fb" + +SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH};protocol=https \ + file://0001-cmake-Add-check-for-atomic-support.patch \ + file://0001-cmake-Use-exported-target-for-bz2.patch \ + file://ppc64.patch \ + file://mips.patch \ + file://arm.patch \ + " + +SRC_URI:append:riscv32 = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" +SRC_URI:append:mips = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" +SRC_URI:append:powerpc = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" +SRC_URI:remove:toolchain-clang:riscv32 = "file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" + +S = "${WORKDIR}/git" + +inherit cmake + +PACKAGECONFIG ??= "bzip2 zlib lz4 gflags" +PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON,-DWITH_BZ2=OFF,bzip2" +PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON,-DWITH_LZ4=OFF,lz4" +PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib" +PACKAGECONFIG[zstd] = "-DWITH_ZSTD=ON,-DWITH_ZSTD=OFF,zstd" +PACKAGECONFIG[lite] = "-DROCKSDB_LITE=ON,-DROCKSDB_LITE=OFF" +PACKAGECONFIG[gflags] = "-DWITH_GFLAGS=ON,-DWITH_GFLAGS=OFF,gflags" + +# Tools and tests currently don't compile on armv5 so we disable them +EXTRA_OECMAKE = "\ + -DPORTABLE=ON \ + -DWITH_TESTS=OFF \ + -DWITH_BENCHMARK_TOOLS=OFF \ + -DWITH_TOOLS=OFF \ + -DFAIL_ON_WARNINGS=OFF \ +" + +do_install:append() { + # fix for qa check buildpaths + sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/rocksdb/RocksDBTargets.cmake +} + +LDFLAGS:append:riscv64 = " -pthread" + +# Need toku_time_now() implemented for ppc/musl +# see utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +COMPATIBLE_HOST:libc-musl:powerpc = "null" diff --git a/meta-oe/recipes-dbs/soci/soci/0001-Do-not-use-std-shuffle-with-clang-15.patch b/meta-oe/recipes-dbs/soci/soci/0001-Do-not-use-std-shuffle-with-clang-15.patch new file mode 100644 index 00000000000..eb29627c6de --- /dev/null +++ b/meta-oe/recipes-dbs/soci/soci/0001-Do-not-use-std-shuffle-with-clang-15.patch @@ -0,0 +1,32 @@ +From e5f72c656829402c6f70e7416039bc18f0c26485 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 30 Aug 2022 22:17:14 -0700 +Subject: [PATCH] Do not use std::shuffle with clang 15 + +This fails to compile although its preferred approach for c++11 and +newer + +See +https://github.com/SOCI/soci/issues/984 + +Upstream-Status: Inappropriate [Workaround] +Signed-off-by: Khem Raj +--- + cmake/SociConfig.cmake | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/cmake/SociConfig.cmake b/cmake/SociConfig.cmake +index 492e1837..f24fd9a6 100644 +--- a/cmake/SociConfig.cmake ++++ b/cmake/SociConfig.cmake +@@ -94,6 +94,7 @@ else() + set(SOCI_CXX11 ON) + set(SOCI_CXX_VERSION_FLAGS "-std=c++11") + add_definitions(-DCATCH_CONFIG_CPP11_NO_IS_ENUM) ++ add_definitions(-DCATCH_CONFIG_CPP11_NO_SHUFFLE) + + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SOCI_GCC_CLANG_COMMON_FLAGS} ${SOCI_CXX_VERSION_FLAGS}") + +-- +2.37.3 + diff --git a/meta-oe/recipes-dbs/soci/soci_4.0.3.bb b/meta-oe/recipes-dbs/soci/soci_4.0.3.bb index ff47e5033eb..71ab80c48ae 100644 --- a/meta-oe/recipes-dbs/soci/soci_4.0.3.bb +++ b/meta-oe/recipes-dbs/soci/soci_4.0.3.bb @@ -5,7 +5,9 @@ LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c" SECTION = "libs" DEPENDS = "boost" -SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BP}/${BP}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BP}/${BP}.tar.gz \ + file://0001-Do-not-use-std-shuffle-with-clang-15.patch \ + " SRC_URI[sha256sum] = "615e5f7e4b52007f3a3b4050a99aadf6346b56b5098eb08b3a650836083c6a33" TESTCONFIG = '-DSOCI_TEST_EMPTY_CONNSTR="dummy" -DSOCI_TEST_SQLITE3_CONNSTR="test.db" \ diff --git a/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/0001-shell.c-Fix-format-not-a-string-literal-warning.patch b/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/0001-shell.c-Fix-format-not-a-string-literal-warning.patch deleted file mode 100644 index c5d7c0c81ae..00000000000 --- a/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/0001-shell.c-Fix-format-not-a-string-literal-warning.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 443980ddc82fb40e2e1f9544f2be169bd23dd246 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 17 Jun 2017 16:49:24 -0700 -Subject: [PATCH] shell.c: Fix format not a string literal warning - -src/shell.c:695:20: error: format not a string literal and no format arguments [-Werror=format-security] -| fprintf(stderr,zHelp); -| ^~~~~ - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - src/shell.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/shell.c b/src/shell.c -index bb46c49..3c6fe0f 100644 ---- a/src/shell.c -+++ b/src/shell.c -@@ -692,7 +692,7 @@ static int do_meta_command(char *zLine, struct callback_data *p){ - }else - - if( c=='h' && strncmp(azArg[0], "help", n)==0 ){ -- fprintf(stderr,zHelp); -+ fprintf(stderr, "%s", zHelp); - }else - - if( c=='i' && strncmp(azArg[0], "indices", n)==0 && nArg>1 ){ --- -2.13.1 - diff --git a/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch b/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch deleted file mode 100644 index 914422f1df9..00000000000 --- a/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -urN sqlite-2.8.17.orig/main.mk sqlite-2.8.17/main.mk ---- sqlite-2.8.17.orig/main.mk 2005-04-23 22:43:23.000000000 +0000 -+++ sqlite-2.8.17/main.mk 2009-04-02 20:10:36.000000000 +0000 -@@ -139,7 +139,7 @@ - # This is the default Makefile target. The objects listed here - # are what get build when you type just "make" with no arguments. - # --all: sqlite.h config.h libsqlite.a sqlite$(EXE) -+all: sqlite.h config.h libsqlite.so sqlite$(EXE) - - # Generate the file "last_change" which contains the date of change - # of the most recently modified source code file -@@ -148,13 +148,12 @@ - cat $(SRC) | grep '$$Id: ' | sort +4 | tail -1 \ - | awk '{print $$5,$$6}' >last_change - --libsqlite.a: $(LIBOBJ) -- $(AR) libsqlite.a $(LIBOBJ) -- $(RANLIB) libsqlite.a -- --sqlite$(EXE): $(TOP)/src/shell.c libsqlite.a sqlite.h -- $(TCCX) $(READLINE_FLAGS) -o sqlite$(EXE) $(TOP)/src/shell.c \ -- libsqlite.a $(LIBREADLINE) $(THREADLIB) -+libsqlite.so: $(LIBOBJ) -+ $(CC) $(LDFLAGS) -shared -o libsqlite.so -Wl,-soname,libsqlite.so.0 $(LIBOBJ) -+ -+sqlite$(EXE): $(TOP)/src/shell.c libsqlite.so sqlite.h -+ $(TCCX) $(LDFLAGS) $(READLINE_FLAGS) -o sqlite$(EXE) $(TOP)/src/shell.c \ -+ -lsqlite $(LIBREADLINE) $(THREADLIB) - - sqlite_analyzer$(EXE): $(TOP)/src/tclsqlite.c libsqlite.a $(TESTSRC) \ - $(TOP)/tool/spaceanal.tcl diff --git a/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_no_tcl.patch b/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_no_tcl.patch deleted file mode 100644 index b84b6486ef7..00000000000 --- a/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_no_tcl.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -bur sqlite-2.8.17~orig/main.mk sqlite-2.8.17/main.mk ---- sqlite-2.8.17~orig/main.mk 2006-02-13 04:09:33.000000000 -0600 -+++ sqlite-2.8.17/main.mk 2006-02-13 04:15:42.000000000 -0600 -@@ -58,7 +58,7 @@ - expr.o func.o hash.o insert.o \ - main.o opcodes.o os.o pager.o parse.o pragma.o printf.o random.o \ - select.o table.o tokenize.o trigger.o update.o util.o \ -- vacuum.o vdbe.o vdbeaux.o where.o tclsqlite.o -+ vacuum.o vdbe.o vdbeaux.o where.o - - # All of the source code files. - # -@@ -91,7 +91,6 @@ - $(TOP)/src/sqlite.h.in \ - $(TOP)/src/sqliteInt.h \ - $(TOP)/src/table.c \ -- $(TOP)/src/tclsqlite.c \ - $(TOP)/src/tokenize.c \ - $(TOP)/src/trigger.c \ - $(TOP)/src/update.c \ diff --git a/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/sqlite.pc b/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/sqlite.pc deleted file mode 100644 index 6bc742eecb5..00000000000 --- a/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/sqlite.pc +++ /dev/null @@ -1,12 +0,0 @@ -# Package Information for pkg-config - -prefix=/usr -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: SQLite -Description: SQL database engine -Version: 2.8.17 -Libs: -L${libdir} -lsqlite -Cflags: -I${includedir} diff --git a/meta-oe/recipes-dbs/sqlite/sqlite_2.8.17.bb b/meta-oe/recipes-dbs/sqlite/sqlite_2.8.17.bb deleted file mode 100644 index bb62afab480..00000000000 --- a/meta-oe/recipes-dbs/sqlite/sqlite_2.8.17.bb +++ /dev/null @@ -1,61 +0,0 @@ -SUMMARY = "An Embeddable SQL Database Engine" -HOMEPAGE = "http://www.sqlite.org/" -SECTION = "libs" -DEPENDS = "readline ncurses" -LICENSE = "PD" -LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=10;md5=e98469a8efa024a38ad5b2e4b92f4a96" - -PR = "r7" - -SRC_URI = "http://www.hwaci.com/sw/sqlite/sqlite-${PV}.tar.gz \ - file://mainmk_build_dynamic.patch \ - file://mainmk_no_tcl.patch \ - file://sqlite.pc \ - file://0001-shell.c-Fix-format-not-a-string-literal-warning.patch \ - " - -SOURCES = "attach.o auth.o btree.o btree_rb.o build.o copy.o date.o delete.o \ - expr.o func.o hash.o insert.o main.o opcodes.o os.o pager.o \ - parse.o pragma.o printf.o random.o select.o table.o tokenize.o \ - trigger.o update.o util.o vacuum.o vdbe.o vdbeaux.o where.o" - -inherit autotools pkgconfig - -do_configure() { - echo "main.mk is patched, no need to configure" - # make pkgconfig.bbclass pick this up - cp ${WORKDIR}/sqlite.pc ${S} -} - -do_compile() { - oe_runmake -f ${S}/Makefile.linux-gcc \ - TOP="${S}" \ - BCC="${BUILD_CC}" \ - TCC="${CC}" \ - OPTS="-fPIC -D'INTPTR_TYPE=int'" \ - TCL_FLAGS= LIBTCL= \ - READLINE_FLAGS="-DHAVE_READLINE=1 -I${STAGING_INCDIR}" \ - LIBREADLINE="-L. -L${STAGING_LIBDIR} -lreadline -lncurses" -} - -do_install() { - install -d ${D}${libdir} ${D}${bindir} - install sqlite ${D}${bindir} - install -m 0755 libsqlite.so ${D}${libdir}/libsqlite.so.0.8.6 - ln -sf libsqlite.so.0.8.6 ${D}${libdir}/libsqlite.so - ln -sf libsqlite.so.0.8.6 ${D}${libdir}/libsqlite.so.0 - ln -sf libsqlite.so.0.8.6 ${D}${libdir}/libsqlite.so.0.8 - install -d ${D}${includedir} - install -m 0644 sqlite.h ${D}${includedir}/sqlite.h - install -d ${D}${libdir}/pkgconfig - install -m 0644 ${S}/sqlite.pc ${D}${libdir}/pkgconfig/sqlite.pc -} - -PACKAGES += "${PN}-bin" -FILES:${PN}-bin = "${bindir}/*" -FILES:${PN} = "${libdir}/*.so.*" - -SRC_URI[md5sum] = "838dbac20b56d2c4292e98848505a05b" -SRC_URI[sha256sum] = "3f35ebfb67867fb5b583a03e480f900206af637efe7179b32294a6a0cf806f37" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch index ef3f50d9e72..9b408259f93 100644 --- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch +++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch @@ -20,7 +20,7 @@ Signed-off-by: Khem Raj #ifdef __GLIBC__ #include #elif defined(__FreeBSD__) -@@ -53,7 +53,7 @@ double UnscaledCycleClock::Frequency() { +@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() { return base_internal::NominalCPUFrequency(); } @@ -29,9 +29,9 @@ Signed-off-by: Khem Raj int64_t UnscaledCycleClock::Now() { #ifdef __GLIBC__ ---- a/absl/base/internal/unscaledcycleclock.h -+++ b/absl/base/internal/unscaledcycleclock.h -@@ -46,7 +46,8 @@ +--- a/absl/base/internal/unscaledcycleclock_config.h ++++ b/absl/base/internal/unscaledcycleclock_config.h +@@ -21,7 +21,8 @@ // The following platforms have an implementation of a hardware counter. #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \ diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb index b3dc06ca146..9f8c48cfa40 100644 --- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb +++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb @@ -7,9 +7,9 @@ SECTION = "libs" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915" -PV = "20220623.0" -SRCREV = "273292d1cfc0a94a65082ee350509af1d113344d" -BRANCH = "lts_2022_06_23" +PV = "20221014.0" +SRCREV = "5fa65f28e46e86c44966a1ca8a727a329d9c1ff8" +BRANCH = "master" SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https \ file://0001-absl-always-use-asm-sgidefs.h.patch \ file://0002-Remove-maes-option-from-cross-compilation.patch \ diff --git a/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start index b73cb70b14d..479f14ae7ef 100644 --- a/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start +++ b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start @@ -4,4 +4,6 @@ set -e sleep 10 -ls /sys/class/udc/ | xargs echo -n > /sys/kernel/config/usb_gadget/adb/UDC +ls /sys/class/udc/ | head -n 1 | xargs echo -n > /sys/kernel/config/usb_gadget/adb/UDC + +bbnote "Setting UDC $(ls /sys/class/udc/ | head -n 1) for USB ADB Gadget usage" diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/core/0001-memory.h-Always-define-strlcpy-for-glibc-based-syste.patch b/meta-oe/recipes-devtools/android-tools/android-tools/core/0001-memory.h-Always-define-strlcpy-for-glibc-based-syste.patch new file mode 100644 index 00000000000..82e97152bee --- /dev/null +++ b/meta-oe/recipes-devtools/android-tools/android-tools/core/0001-memory.h-Always-define-strlcpy-for-glibc-based-syste.patch @@ -0,0 +1,35 @@ +From db3a3714be07c8ab51b9ae7b035e4afe9f39c645 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 7 Sep 2022 13:20:22 -0700 +Subject: [PATCH] memory.h: Always define strlcpy for glibc based systems + +android-config.h file includes on compiler cmdline sets HAVE_STRLCPY +unconditionally, since bionic supports it, its no big deal on android +and also no problem when using musl since implementation exists for musl +too, but glibc does not provide this. So either we include libbsd or use +the implementation provided by android-tools here. We are currently +using the in tree implementation for systems which do not provide it + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + include/cutils/memory.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/cutils/memory.h b/include/cutils/memory.h +index e725cdd032..9e99353c58 100644 +--- a/include/cutils/memory.h ++++ b/include/cutils/memory.h +@@ -30,7 +30,7 @@ void android_memset16(uint16_t* dst, uint16_t value, size_t size); + /* size is given in bytes and must be multiple of 4 */ + void android_memset32(uint32_t* dst, uint32_t value, size_t size); + +-#if !HAVE_STRLCPY ++#if !HAVE_STRLCPY || defined(__GLIBC__) + /* Declaration of strlcpy() for platforms that don't already have it. */ + size_t strlcpy(char *dst, const char *src, size_t size); + #endif +-- +2.37.3 + diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/core/b64_pton_function_decl.patch b/meta-oe/recipes-devtools/android-tools/android-tools/core/b64_pton_function_decl.patch new file mode 100644 index 00000000000..80410f1d2b6 --- /dev/null +++ b/meta-oe/recipes-devtools/android-tools/android-tools/core/b64_pton_function_decl.patch @@ -0,0 +1,14 @@ +Add protoype declaration for b64_pton + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- a/adb/adb_auth_client.c ++++ b/adb/adb_auth_client.c +@@ -29,6 +29,7 @@ + + #define TRACE_TAG TRACE_AUTH + ++extern int b64_pton(const char* src, uint8_t* target, size_t targsize); + + struct adb_public_key { + struct listnode node; diff --git a/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb index 26393605d41..abd140c7b84 100644 --- a/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb +++ b/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb @@ -39,11 +39,13 @@ SRC_URI = " \ file://core/0011-Remove-bionic-specific-calls.patch;patchdir=system/core \ file://core/0012-Fix-implicit-declaration-of-stlcat-strlcopy-function.patch;patchdir=system/core \ file://core/adb_libssl_11.diff;patchdir=system/core \ + file://core/b64_pton_function_decl.patch;patchdir=system/core \ file://core/0013-adb-Support-riscv64.patch;patchdir=system/core \ file://core/0014-add-u3-ss-descriptor-support-for-adb.patch;patchdir=system/core \ file://core/0015-libsparse-Split-off-most-of-sparse_file_read_normal-.patch;patchdir=system/core \ file://core/0016-libsparse-Add-hole-mode-to-sparse_file_read.patch;patchdir=system/core \ file://core/0017-img2simg-Add-support-for-converting-holes-to-don-t-c.patch;patchdir=system/core \ + file://core/0001-memory.h-Always-define-strlcpy-for-glibc-based-syste.patch;patchdir=system/core \ file://extras/0001-ext4_utils-remove-selinux-extensions.patch;patchdir=system/extras \ file://extras/0002-ext4_utils-add-o-argument-to-preserve-ownership.patch;patchdir=system/extras \ file://libselinux/0001-Remove-bionic-specific-calls.patch;patchdir=external/libselinux \ diff --git a/meta-oe/recipes-devtools/ctags/ctags_5.9.20220703.0.bb b/meta-oe/recipes-devtools/ctags/ctags_5.9.20220703.0.bb deleted file mode 100644 index fb736db5747..00000000000 --- a/meta-oe/recipes-devtools/ctags/ctags_5.9.20220703.0.bb +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright (C) 2015 Igor Santos -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "Universal Ctags" -DESCRIPTION = "Universal Ctags is a multilanguage reimplementation of the \ - Unix ctags utility. Ctags generates an index of source code \ - definitions which is used by numerous editors and utilities \ - to instantly locate the definitions." - -HOMEPAGE = "https://ctags.io/" - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" - -inherit autotools-brokensep pkgconfig manpages - -SRCREV = "787811b6eac03ab81ccf5b6957432d893eb982cb" -SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https" - -S = "${WORKDIR}/git" - -PACKAGECONFIG ??= " \ - readcmd \ - xml \ - json \ - yaml \ -" -PACKAGECONFIG[readcmd] = "--enable-readcmd,--disable-readcmd" -PACKAGECONFIG[etags] = "--enable-etags,--disable-etags" -PACKAGECONFIG[xml] = "--enable-xml,--disable-xml,libxml2" -PACKAGECONFIG[json] = "--enable-json,--disable-json,jansson" -PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp" -PACKAGECONFIG[yaml] = "--enable-yaml,--disable-yaml,libyaml" -PACKAGECONFIG[manpages] = ",,python3-docutils-native" diff --git a/meta-oe/recipes-devtools/ctags/ctags_5.9.20221106.0.bb b/meta-oe/recipes-devtools/ctags/ctags_5.9.20221106.0.bb new file mode 100644 index 00000000000..6ef767710e3 --- /dev/null +++ b/meta-oe/recipes-devtools/ctags/ctags_5.9.20221106.0.bb @@ -0,0 +1,34 @@ +# Copyright (C) 2015 Igor Santos +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "Universal Ctags" +DESCRIPTION = "Universal Ctags is a multilanguage reimplementation of the \ + Unix ctags utility. Ctags generates an index of source code \ + definitions which is used by numerous editors and utilities \ + to instantly locate the definitions." + +HOMEPAGE = "https://ctags.io/" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" + +inherit autotools-brokensep pkgconfig manpages + +SRCREV = "bf0d53505856d4b3e662be22bbe5fcb740451ca1" +SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https" + +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= " \ + readcmd \ + xml \ + json \ + yaml \ +" +PACKAGECONFIG[readcmd] = "--enable-readcmd,--disable-readcmd" +PACKAGECONFIG[etags] = "--enable-etags,--disable-etags" +PACKAGECONFIG[xml] = "--enable-xml,--disable-xml,libxml2" +PACKAGECONFIG[json] = "--enable-json,--disable-json,jansson" +PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp" +PACKAGECONFIG[yaml] = "--enable-yaml,--disable-yaml,libyaml" +PACKAGECONFIG[manpages] = ",,python3-docutils-native" diff --git a/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.127.bb b/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.127.bb deleted file mode 100644 index 5e0a488429a..00000000000 --- a/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.127.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Install a Debian system into a subdirectory" -HOMEPAGE = "https://wiki.debian.org/Debootstrap" -SECTION = "devel" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://debian/copyright;md5=1e68ced6e1689d4cd9dac75ff5225608" - -SRC_URI = "\ - http://http.debian.net/debian/pool/main/d/debootstrap/debootstrap_${PV}.tar.gz \ - file://0001-support-to-override-usr-sbin-and-usr-share.patch \ - file://0002-support-to-override-usr-bin-arch-test.patch \ - file://0001-do-not-hardcode-the-full-path-of-dpkg.patch \ -" - -SRC_URI[sha256sum] = "45887cf0582e6d16598e50713278d16b2272d02bdd117a9876e98277300dabd4" - -S = "${WORKDIR}/debootstrap" - -DEPENDS = " \ - virtual/fakeroot-native \ -" - -fakeroot do_install() { - oe_runmake 'DESTDIR=${D}' install - chown -R root:root ${D}${datadir}/debootstrap -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.128.bb b/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.128.bb new file mode 100644 index 00000000000..4d13aa66c88 --- /dev/null +++ b/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.128.bb @@ -0,0 +1,27 @@ +SUMMARY = "Install a Debian system into a subdirectory" +HOMEPAGE = "https://wiki.debian.org/Debootstrap" +SECTION = "devel" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://debian/copyright;md5=1e68ced6e1689d4cd9dac75ff5225608" + +SRC_URI = "\ + http://http.debian.net/debian/pool/main/d/debootstrap/debootstrap_${PV}.tar.gz \ + file://0001-support-to-override-usr-sbin-and-usr-share.patch \ + file://0002-support-to-override-usr-bin-arch-test.patch \ + file://0001-do-not-hardcode-the-full-path-of-dpkg.patch \ +" + +SRC_URI[sha256sum] = "09e7f8795fee894b77994213ee3a588e9d8f96ddf5f93afdec91e9a137aa7866" + +S = "${WORKDIR}/debootstrap" + +DEPENDS = " \ + virtual/fakeroot-native \ +" + +fakeroot do_install() { + oe_runmake 'DESTDIR=${D}' install + chown -R root:root ${D}${datadir}/debootstrap +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb b/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb index f170b9f8249..9f961882af0 100644 --- a/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb +++ b/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb @@ -4,7 +4,7 @@ LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "git://github.com/ubinux/dnf-plugin-tui.git;branch=master;protocol=https" -SRCREV = "bac88927b253cdcfe0d06ac7dc5afb876cd2d996" +SRCREV = "b0d80b7129f1d84cc563a4098d869e7420bcf4bc" PV = "1.3" SRC_URI:append:class-target = " file://oe-remote.repo.sample" @@ -42,6 +42,6 @@ RDEPENDS:${PN} += " \ dnf \ libnewt-python \ " - +DEPENDS:append:class-nativesdk = " file-replacement-nativesdk" BBCLASSEXTEND = "nativesdk" SKIP_RECIPE[dnf-plugin-tui] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build correctly without package_rpm in PACKAGE_CLASSES', d)}" diff --git a/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb b/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb new file mode 100644 index 00000000000..f4a8b020a86 --- /dev/null +++ b/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb @@ -0,0 +1,30 @@ +SUMMARY = "Memory Efficient Serialization Library" +HOMEPAGE = "https://github.com/google/flatbuffers" +SECTION = "console/tools" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" + +require flatbuffers.inc + +PACKAGE_BEFORE_PN = "${PN}-compiler" + +DEPENDS = "flatbuffers-native" + +RDEPENDS:${PN}-compiler = "${PN}" +RDEPENDS:${PN}-dev += "${PN}-compiler" + +S = "${WORKDIR}/git" + +CVE_CHECK_IGNORE += "CVE-2020-35864" + +EXTRA_OECMAKE += " \ + -DFLATBUFFERS_BUILD_TESTS=OFF \ + -DFLATBUFFERS_BUILD_SHAREDLIB=ON \ +" +EXTRA_OECMAKE:append:class-target = " -DFLATBUFFERS_FLATC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/flatc" + +inherit cmake python3native + +FILES:${PN}-compiler = "${bindir}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/flatbuffers/flatbuffers.inc b/meta-oe/recipes-devtools/flatbuffers/flatbuffers.inc new file mode 100644 index 00000000000..0700c5bd340 --- /dev/null +++ b/meta-oe/recipes-devtools/flatbuffers/flatbuffers.inc @@ -0,0 +1,3 @@ +PV = "22.10.26" +SRCREV = "203241ed3275625c8a25c4a1e7b86e3c0289c488" +SRC_URI = "git://github.com/google/flatbuffers.git;branch=master;protocol=https" diff --git a/meta-oe/recipes-devtools/flatbuffers/flatbuffers_2.0.6.bb b/meta-oe/recipes-devtools/flatbuffers/flatbuffers_2.0.6.bb deleted file mode 100644 index 3ca47721006..00000000000 --- a/meta-oe/recipes-devtools/flatbuffers/flatbuffers_2.0.6.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "Memory Efficient Serialization Library" -HOMEPAGE = "https://github.com/google/flatbuffers" -SECTION = "console/tools" -LICENSE = "Apache-2.0" - -PACKAGE_BEFORE_PN = "${PN}-compiler" - -DEPENDS = "flatbuffers-native" - -RDEPENDS:${PN}-compiler = "${PN}" -RDEPENDS:${PN}-dev += "${PN}-compiler" - -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRCREV = "615616cb5549a34bdf288c04bc1b94bd7a65c396" -SRC_URI = "git://github.com/google/flatbuffers.git;branch=master;protocol=https" -S = "${WORKDIR}/git" - -CVE_CHECK_IGNORE += "CVE-2020-35864" - -EXTRA_OECMAKE += " \ - -DFLATBUFFERS_BUILD_TESTS=OFF \ - -DFLATBUFFERS_BUILD_SHAREDLIB=ON \ -" -EXTRA_OECMAKE:append:class-target = " -DFLATBUFFERS_FLATC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/flatc" - -inherit cmake python3native - -FILES:${PN}-compiler = "${bindir}" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers.bb b/meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers.bb new file mode 100644 index 00000000000..fb5b86ddead --- /dev/null +++ b/meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers.bb @@ -0,0 +1,15 @@ +SUMMARY = "Memory Efficient Serialization Library - Python3 Modules" +HOMEPAGE = "https://github.com/google/flatbuffers" +SECTION = "console/tools" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://../LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" + +require flatbuffers.inc + +S = "${WORKDIR}/git/python" + +RDEPENDS:${PN} = "flatbuffers" + +inherit setuptools3 + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers_2.0.6.bb b/meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers_2.0.6.bb deleted file mode 100644 index 7c05e76d9ae..00000000000 --- a/meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers_2.0.6.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Memory Efficient Serialization Library - Python3 Modules" -HOMEPAGE = "https://github.com/google/flatbuffers" -SECTION = "console/tools" -LICENSE = "Apache-2.0" - -LIC_FILES_CHKSUM = "file://../LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRCREV = "615616cb5549a34bdf288c04bc1b94bd7a65c396" -SRC_URI = "git://github.com/google/flatbuffers.git;branch=master;protocol=https" -S = "${WORKDIR}/git/python" - -RDEPENDS:${PN} = "flatbuffers" - -inherit setuptools3 - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/geany/geany-plugins/0001-scope-Use-0-instead-of-NULL-for-gboolean.patch b/meta-oe/recipes-devtools/geany/geany-plugins/0001-scope-Use-0-instead-of-NULL-for-gboolean.patch new file mode 100644 index 00000000000..bb03fa63def --- /dev/null +++ b/meta-oe/recipes-devtools/geany/geany-plugins/0001-scope-Use-0-instead-of-NULL-for-gboolean.patch @@ -0,0 +1,34 @@ +From 9ee9388bc66e6cf68db96b2014dca2115f745dc9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 30 Aug 2022 22:33:46 -0700 +Subject: [PATCH] scope: Use 0 instead of NULL for gboolean + +Fixes warnings with clang 15+ + +scope/src/stack.c:168:11: error: incompatible pointer to integer conversion initializing 'gboolean' (aka 'int') with an expression of type 'void *' [-Wint-conversion] + gboolean entry = NULL; + ^ ~~~~ +1 error generated. + +Upstream-Status: Submitted [https://github.com/geany/geany-plugins/pull/1191] +Signed-off-by: Khem Raj +--- + scope/src/stack.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scope/src/stack.c b/scope/src/stack.c +index b03909fe..041dd415 100644 +--- a/scope/src/stack.c ++++ b/scope/src/stack.c +@@ -165,7 +165,7 @@ void on_stack_follow(GArray *nodes) + gboolean stack_entry(void) + { + GtkTreeIter iter; +- gboolean entry = NULL; ++ gboolean entry = 0; + + if (gtk_tree_selection_get_selected(selection, NULL, &iter)) + { +-- +2.37.3 + diff --git a/meta-oe/recipes-devtools/geany/geany-plugins_1.38.bb b/meta-oe/recipes-devtools/geany/geany-plugins_1.38.bb index fa4cccca036..1ed2993bf07 100644 --- a/meta-oe/recipes-devtools/geany/geany-plugins_1.38.bb +++ b/meta-oe/recipes-devtools/geany/geany-plugins_1.38.bb @@ -33,6 +33,7 @@ SRC_URI = " \ file://0001-Use-pkg-config-to-find-gpgme.patch \ file://0001-git-changebar-Adjust-structs-for-libgit2-1.4.x.patch \ file://0001-geany.m4-Do-not-tinker-with-pkg-config-paths.patch \ + file://0001-scope-Use-0-instead-of-NULL-for-gboolean.patch \ " SRC_URI[sha256sum] = "1c578a7ebb390aa8882f195acd3d8da3ceb73925d291b28dec90cd3e5fd20586" diff --git a/meta-oe/recipes-devtools/grpc/grpc_1.45.2.bb b/meta-oe/recipes-devtools/grpc/grpc_1.45.2.bb deleted file mode 100644 index c2f952fc647..00000000000 --- a/meta-oe/recipes-devtools/grpc/grpc_1.45.2.bb +++ /dev/null @@ -1,68 +0,0 @@ -DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \ -Provides gRPC libraries for multiple languages written on top of shared C core library \ -(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)" -HOMEPAGE = "https://github.com/grpc/grpc" -SECTION = "libs" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=6e4cf218112648d22420a84281b68b88" - -DEPENDS = "c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl libnsl2 abseil-cpp re2" -DEPENDS:append:class-target = " googletest grpc-native " -DEPENDS:append:class-nativesdk = " grpc-native " - -PACKAGE_BEFORE_PN = "${PN}-compiler" - -RDEPENDS:${PN}-compiler = "${PN}" -RDEPENDS:${PN}-dev:append:class-native = " ${PN}-compiler" -# Configuration above allows to cross-compile gRPC applications -# In order to compile applications on the target, use the dependency below -# Both dependencies are mutually exclusive -# RDEPENDS:${PN}-dev += "${PN}-compiler" - -S = "${WORKDIR}/git" -SRCREV_grpc = "b39ffcc425ea990a537f98ec6fe6a1dcb90470d7" -BRANCH = "v1.45.x" -SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \ - file://0001-Revert-Changed-GRPCPP_ABSEIL_SYNC-to-GPR_ABSEIL_SYNC.patch \ - file://0001-cmake-add-separate-export-for-plugin-targets.patch \ - file://0001-cmake-Link-with-libatomic-on-rv32-rv64.patch \ - " -# Fixes build with older compilers 4.8 especially on ubuntu 14.04 -CXXFLAGS:append:class-native = " -Wl,--no-as-needed" - -inherit cmake pkgconfig - -EXTRA_OECMAKE = " \ - -DgRPC_CARES_PROVIDER=package \ - -DgRPC_ZLIB_PROVIDER=package \ - -DgRPC_SSL_PROVIDER=package \ - -DgRPC_PROTOBUF_PROVIDER=package \ - -DgRPC_ABSL_PROVIDER=package \ - -DgRPC_RE2_PROVIDER=package \ - -DgRPC_INSTALL=ON \ - -DCMAKE_CROSSCOMPILING=ON \ - -DgRPC_INSTALL_LIBDIR=${baselib} \ - -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \ - " - -PACKAGECONFIG ??= "cpp shared" -PACKAGECONFIG[cpp] = "-DgRPC_BUILD_GRPC_CPP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF" -PACKAGECONFIG[csharp] = "-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF" -PACKAGECONFIG[node] = "-DgRPC_BUILD_GRPC_NODE_PLUGIN=ON,-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF" -PACKAGECONFIG[objective-c] = "-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=ON,-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF" -PACKAGECONFIG[php] = "-DgRPC_BUILD_GRPC_PHP_PLUGIN=ON,-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF" -PACKAGECONFIG[python] = "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON,-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF" -PACKAGECONFIG[ruby] = "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON,-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF" -PACKAGECONFIG[protobuf-lite] = "-DgRPC_USE_PROTO_LITE=ON,-DgRPC_USE_PROTO_LITE=OFF,protobuf-lite" -PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,," - -do_configure:prepend() { - sed -i -e "s#lib/pkgconfig/#${baselib}/pkgconfig/#g" ${S}/CMakeLists.txt -} - -BBCLASSEXTEND = "native nativesdk" - -FILES:${PN}-compiler += " \ - ${bindir} \ - ${libdir}/libgrpc_plugin_support${SOLIBS} \ - " diff --git a/meta-oe/recipes-devtools/grpc/grpc_1.50.1.bb b/meta-oe/recipes-devtools/grpc/grpc_1.50.1.bb new file mode 100644 index 00000000000..7b8a25c277c --- /dev/null +++ b/meta-oe/recipes-devtools/grpc/grpc_1.50.1.bb @@ -0,0 +1,68 @@ +DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \ +Provides gRPC libraries for multiple languages written on top of shared C core library \ +(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)" +HOMEPAGE = "https://github.com/grpc/grpc" +SECTION = "libs" +LICENSE = "Apache-2.0 & BSD-3-Clause & MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=731e401b36f8077ae0c134b59be5c906" + +DEPENDS = "c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl libnsl2 abseil-cpp re2" +DEPENDS:append:class-target = " googletest grpc-native " +DEPENDS:append:class-nativesdk = " grpc-native " + +PACKAGE_BEFORE_PN = "${PN}-compiler" + +RDEPENDS:${PN}-compiler = "${PN}" +RDEPENDS:${PN}-dev:append:class-native = " ${PN}-compiler" +# Configuration above allows to cross-compile gRPC applications +# In order to compile applications on the target, use the dependency below +# Both dependencies are mutually exclusive +# RDEPENDS:${PN}-dev += "${PN}-compiler" + +S = "${WORKDIR}/git" +SRCREV_grpc = "90ccf24d22b6fc909a1021ebd89fd8c838467d26" +BRANCH = "v1.50.x" +SRC_URI = "gitsm://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \ + file://0001-Revert-Changed-GRPCPP_ABSEIL_SYNC-to-GPR_ABSEIL_SYNC.patch \ + file://0001-cmake-add-separate-export-for-plugin-targets.patch \ + file://0001-cmake-Link-with-libatomic-on-rv32-rv64.patch \ + " +# Fixes build with older compilers 4.8 especially on ubuntu 14.04 +CXXFLAGS:append:class-native = " -Wl,--no-as-needed" + +inherit cmake pkgconfig + +EXTRA_OECMAKE = " \ + -DgRPC_CARES_PROVIDER=package \ + -DgRPC_ZLIB_PROVIDER=package \ + -DgRPC_SSL_PROVIDER=package \ + -DgRPC_PROTOBUF_PROVIDER=package \ + -DgRPC_ABSL_PROVIDER=package \ + -DgRPC_RE2_PROVIDER=package \ + -DgRPC_INSTALL=ON \ + -DCMAKE_CROSSCOMPILING=ON \ + -DgRPC_INSTALL_LIBDIR=${baselib} \ + -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \ + " + +PACKAGECONFIG ??= "cpp shared" +PACKAGECONFIG[cpp] = "-DgRPC_BUILD_GRPC_CPP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF" +PACKAGECONFIG[csharp] = "-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF" +PACKAGECONFIG[node] = "-DgRPC_BUILD_GRPC_NODE_PLUGIN=ON,-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF" +PACKAGECONFIG[objective-c] = "-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=ON,-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF" +PACKAGECONFIG[php] = "-DgRPC_BUILD_GRPC_PHP_PLUGIN=ON,-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF" +PACKAGECONFIG[python] = "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON,-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF" +PACKAGECONFIG[ruby] = "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON,-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF" +PACKAGECONFIG[protobuf-lite] = "-DgRPC_USE_PROTO_LITE=ON,-DgRPC_USE_PROTO_LITE=OFF,protobuf-lite" +PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,," + +do_configure:prepend() { + sed -i -e "s#lib/pkgconfig/#${baselib}/pkgconfig/#g" ${S}/CMakeLists.txt +} + +BBCLASSEXTEND = "native nativesdk" + +FILES:${PN}-compiler += " \ + ${bindir} \ + ${libdir}/libgrpc_plugin_support${SOLIBS} \ + " diff --git a/meta-oe/recipes-devtools/gst-editing-services/gst-editing-services_1.20.4.bb b/meta-oe/recipes-devtools/gst-editing-services/gst-editing-services_1.20.4.bb new file mode 100644 index 00000000000..6f76013dbd1 --- /dev/null +++ b/meta-oe/recipes-devtools/gst-editing-services/gst-editing-services_1.20.4.bb @@ -0,0 +1,26 @@ +# Copyright (C) 2022 Khem Raj +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "Gstreamer editing services" +HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-editing-services/" + +LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ + file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d" + +DEPENDS = "flex-native gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad python3-pygobject" + +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +GIR_MESON_OPTION = "" + +inherit meson pkgconfig upstream-version-is-even gobject-introspection features_check bash-completion + +EXTRA_OEMESON = "-Dvalidate=disabled" + +SRC_URI = "http://gstreamer.freedesktop.org/src/gst-editing-services/gst-editing-services-${PV}.tar.xz" +SRC_URI[sha256sum] = "aa03e983af5d79c1befffe3575b034e60960619a96bf877447cb73c28016fc41" + +PACKAGES += "gst-validate-launcher libges" + +FILES:gst-validate-launcher = "${nonarch_libdir}/gst-validate-launcher ${datadir}/gstreamer-1.0/validate" +FILES:libges = "${libdir}/gstreamer-1.0/*.so" diff --git a/meta-oe/recipes-devtools/jq/jq/0001-configure-Pass-_XOPEN_SOURCE-when-checking-for-strpt.patch b/meta-oe/recipes-devtools/jq/jq/0001-configure-Pass-_XOPEN_SOURCE-when-checking-for-strpt.patch new file mode 100644 index 00000000000..e4d6ebb45b1 --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/0001-configure-Pass-_XOPEN_SOURCE-when-checking-for-strpt.patch @@ -0,0 +1,40 @@ +From 40bbd419ad8d1bd9cbe8b17063c323f8a40ab327 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 6 Sep 2022 09:59:31 -0700 +Subject: [PATCH 1/2] configure: Pass _XOPEN_SOURCE when checking for strptime + +Include sys/time.h for gettimeofday since thats where its in glibc + +Upstream-Status: Submitted [https://github.com/stedolan/jq/pull/2480] +Signed-off-by: Khem Raj +--- + configure.ac | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index a2cd99e..95afe06 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -139,7 +139,10 @@ AC_FUNC_ALLOCA + + AC_FIND_FUNC([isatty], [c], [#include ], [0]) + AC_FIND_FUNC([_isatty], [c], [#include ], [0]) ++OLD_CFLAGS=$CFLAGS ++CFLAGS="$CFLAGS -D_XOPEN_SOURCE" + AC_FIND_FUNC([strptime], [c], [#include ], [0, 0, 0]) ++CFLAGS=$OLD_CFLAGS + AC_FIND_FUNC([strftime], [c], [#include ], [0, 0, 0, 0]) + AC_FIND_FUNC([setenv], [c], [#include ], [0, 0, 0]) + AC_FIND_FUNC([timegm], [c], [#include ], [0]) +@@ -147,7 +150,7 @@ AC_FIND_FUNC([gmtime_r], [c], [#include ], [0, 0]) + AC_FIND_FUNC([gmtime], [c], [#include ], [0]) + AC_FIND_FUNC([localtime_r], [c], [#include ], [0, 0]) + AC_FIND_FUNC([localtime], [c], [#include ], [0]) +-AC_FIND_FUNC([gettimeofday], [c], [#include ], [0, 0]) ++AC_FIND_FUNC([gettimeofday], [c], [#include ], [0, 0]) + AC_CHECK_MEMBER([struct tm.tm_gmtoff], [AC_DEFINE([HAVE_TM_TM_GMT_OFF],1,[Define to 1 if the system has the tm_gmt_off field in struct tm])], + [], [[#include ]]) + AC_CHECK_MEMBER([struct tm.__tm_gmtoff], [AC_DEFINE([HAVE_TM___TM_GMT_OFF],1,[Define to 1 if the system has the __tm_gmt_off field in struct tm])], +-- +2.37.3 + diff --git a/meta-oe/recipes-devtools/jq/jq/0002-builtin-Replace-_BSD_SOURCE-with-_DEFAULT_SOURCE.patch b/meta-oe/recipes-devtools/jq/jq/0002-builtin-Replace-_BSD_SOURCE-with-_DEFAULT_SOURCE.patch new file mode 100644 index 00000000000..d2f999a7280 --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/0002-builtin-Replace-_BSD_SOURCE-with-_DEFAULT_SOURCE.patch @@ -0,0 +1,30 @@ +From cda1734bed3b048c01452c798877d05b8c2f4c15 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 6 Sep 2022 10:00:59 -0700 +Subject: [PATCH 2/2] builtin: Replace _BSD_SOURCE with _DEFAULT_SOURCE + +newer glibc has remove _BSD_SOURCE and wants it to be replaced with _DEFAULT_SOURCE + +Fixes +/usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings] +warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" + +Uptream-Status: Submitted [https://github.com/stedolan/jq/pull/2480] +Signed-off-by: Khem Raj +--- + src/builtin.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/builtin.c b/src/builtin.c +index 1c6b08c..2a31496 100644 +--- a/src/builtin.c ++++ b/src/builtin.c +@@ -1,4 +1,4 @@ +-#define _BSD_SOURCE ++#define _DEFAULT_SOURCE + #define _GNU_SOURCE + #ifndef __sun__ + # define _XOPEN_SOURCE +-- +2.37.3 + diff --git a/meta-oe/recipes-devtools/jq/jq/run-ptest b/meta-oe/recipes-devtools/jq/jq/run-ptest new file mode 100755 index 00000000000..a813958b5a4 --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/run-ptest @@ -0,0 +1,37 @@ +#!/bin/sh + +JQ_LIB=@libdir@/jq +LOG="${JQ_LIB}/ptest/jq_ptest_$(date +%Y%m%d-%H%M%S).log" + +# clean up the log file to avoid a file has the same name and has existing content +echo "" > ${LOG} + +# The purpose of ptest is doing intergration test, so disable valgrind by default +# change PACKAGECOFIG to enable valgrind. +#export NO_VALGRIND=1 +# The --enable-valgrind configure option for jq only can be used within Makefiles, +# and it cannot be utilized here since it also checks compile, which cannot be avoid +# Requested enhancement to jq: https://github.com/stedolan/jq/issues/2493 + +for test in optionaltest mantest jqtest onigtest shtest utf8test base64test; do + ./tests/${test} >> ${LOG} 2>> ${LOG} + if [ $? -eq 0 ]; then + echo "PASS: ${test}" + echo "PASS: ${test}" >> ${LOG} + else + echo "FAIL: ${test}" + echo "FAIL: ${test}" >> ${LOG} + fi +done + +passed=`grep PASS: ${LOG}|wc -l` +failed=`grep FAIL: ${LOG}|wc -l` +skipped=`grep SKIP: ${LOG}|wc -l` +all=$((passed + failed + skipped)) + +( echo "=== Test Summary ===" + echo "TOTAL: ${all}" + echo "PASSED: ${passed}" + echo "FAILED: ${failed}" + echo "SKIPPED: ${skipped}" +) | tee -a /${LOG} diff --git a/meta-oe/recipes-devtools/jq/jq_git.bb b/meta-oe/recipes-devtools/jq/jq_git.bb index 8b0218c83e7..4fa98aa44f3 100644 --- a/meta-oe/recipes-devtools/jq/jq_git.bb +++ b/meta-oe/recipes-devtools/jq/jq_git.bb @@ -9,20 +9,35 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=2814b59e00e7918c864fa3b6bbe049b4" PV = "1.6+git${SRCPV}" -SRC_URI = "git://github.com/stedolan/jq;protocol=https;branch=master" -SRCREV = "a9f97e9e61a910a374a5d768244e8ad63f407d3e" +SRC_URI = "git://github.com/stedolan/jq;protocol=https;branch=master \ + file://0001-configure-Pass-_XOPEN_SOURCE-when-checking-for-strpt.patch \ + file://0002-builtin-Replace-_BSD_SOURCE-with-_DEFAULT_SOURCE.patch \ + file://run-ptest \ + " +SRCREV = "cff5336ec71b6fee396a95bb0e4bea365e0cd1e8" S = "${WORKDIR}/git" -inherit autotools-brokensep +inherit autotools-brokensep ptest PACKAGECONFIG ?= "oniguruma" PACKAGECONFIG[docs] = "--enable-docs,--disable-docs,ruby-native" PACKAGECONFIG[maintainer-mode] = "--enable-maintainer-mode,--disable-maintainer-mode,flex-native bison-native" PACKAGECONFIG[oniguruma] = "--with-oniguruma,--without-oniguruma,onig" +# enable if you want ptest running under valgrind +PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind" -EXTRA_OECONF += " \ - --disable-valgrind \ -" +do_install_ptest() { + cp -rf ${B}/tests ${D}${PTEST_PATH} + cp -rf ${B}/.libs ${D}${PTEST_PATH} + # libjq.so.* is packaged in the main jq component, so remove it from ptest + rm -f ${D}${PTEST_PATH}/.libs/libjq.so.* + ln -sf ${bindir}/jq ${D}${PTEST_PATH} + if [ "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', 'true', 'false', d)}" = "false" ]; then + sed -i 's:#export NO_VALGRIND=1:export NO_VALGRIND=1:g' ${D}${PTEST_PATH}/run-ptest + fi + # handle multilib + sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest +} BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.6.0.bb b/meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.6.0.bb new file mode 100644 index 00000000000..8929115fd78 --- /dev/null +++ b/meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.6.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "A header only library for creating and validating json web tokens in c++" +HOMEPAGE = "https://thalhammer.github.io/jwt-cpp/" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8325a5ce4414c65ffdda392e0d96a9ff" + +SRC_URI = "git://github.com/Thalhammer/jwt-cpp.git;branch=master;protocol=https \ + " + +SRCREV = "4a537e969891dde542ad8b1a4a214955a83be29f" + +S = "${WORKDIR}/git" + +DEPENDS = "openssl" + +inherit cmake + +EXTRA_OECMAKE += "-DJWT_BUILD_EXAMPLES=OFF -DJWT_CMAKE_FILES_INSTALL_DIR=${libdir}/cmake" diff --git a/meta-oe/recipes-devtools/ldns/ldns_1.8.2.bb b/meta-oe/recipes-devtools/ldns/ldns_1.8.2.bb deleted file mode 100644 index 90c369e651a..00000000000 --- a/meta-oe/recipes-devtools/ldns/ldns_1.8.2.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "LDNS is a DNS library that facilitates DNS tool programming" -HOMEPAGE = "https://nlnetlabs.nl/ldns" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=34330f15b2b4abbbaaa7623f79a6a019" - -SRC_URI = "https://www.nlnetlabs.nl/downloads/ldns/ldns-${PV}.tar.gz" -SRC_URI[sha256sum] = "b92b001cdd382de653620a05445e42e17a827eec93d64ee587ad291a533cc1e9" - -DEPENDS = "openssl" - -inherit autotools-brokensep - -PACKAGECONFIG ??= "" -PACKAGECONFIG[drill] = "--with-drill,--without-drill" - -EXTRA_OECONF = "--with-ssl=${STAGING_EXECPREFIXDIR}" - -do_install:append() { - sed -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \ - -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ - -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \ - -i ${D}${libdir}/pkgconfig/*.pc -} diff --git a/meta-oe/recipes-devtools/ldns/ldns_1.8.3.bb b/meta-oe/recipes-devtools/ldns/ldns_1.8.3.bb new file mode 100644 index 00000000000..16816e62d80 --- /dev/null +++ b/meta-oe/recipes-devtools/ldns/ldns_1.8.3.bb @@ -0,0 +1,23 @@ +SUMMARY = "LDNS is a DNS library that facilitates DNS tool programming" +HOMEPAGE = "https://nlnetlabs.nl/ldns" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=34330f15b2b4abbbaaa7623f79a6a019" + +SRC_URI = "https://www.nlnetlabs.nl/downloads/ldns/ldns-${PV}.tar.gz" +SRC_URI[sha256sum] = "c3f72dd1036b2907e3a56e6acf9dfb2e551256b3c1bbd9787942deeeb70e7860" + +DEPENDS = "openssl" + +inherit autotools-brokensep + +PACKAGECONFIG ??= "" +PACKAGECONFIG[drill] = "--with-drill,--without-drill" + +EXTRA_OECONF = "--with-ssl=${STAGING_EXECPREFIXDIR}" + +do_install:append() { + sed -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \ + -i ${D}${libdir}/pkgconfig/*.pc +} diff --git a/meta-oe/recipes-devtools/libgee/libgee_0.20.5.bb b/meta-oe/recipes-devtools/libgee/libgee_0.20.5.bb deleted file mode 100644 index adf73d4914a..00000000000 --- a/meta-oe/recipes-devtools/libgee/libgee_0.20.5.bb +++ /dev/null @@ -1,21 +0,0 @@ -DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \ -and classes for commonly used data structures." -HOMEPAGE = "http://live.gnome.org/Libgee" -SECTION = "libs" -DEPENDS = "glib-2.0" - -BBCLASSEXTEND = "native" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" - -PE = "1" -inherit gnomebase vala gobject-introspection - -do_configure:prepend() { - MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" - for i in ${MACROS}; do - rm -f m4/$i - done -} - -SRC_URI[archive.sha256sum] = "31863a8957d5a727f9067495cabf0a0889fa5d3d44626e54094331188d5c1518" diff --git a/meta-oe/recipes-devtools/libgee/libgee_0.20.6.bb b/meta-oe/recipes-devtools/libgee/libgee_0.20.6.bb new file mode 100644 index 00000000000..f7b54b9b099 --- /dev/null +++ b/meta-oe/recipes-devtools/libgee/libgee_0.20.6.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \ +and classes for commonly used data structures." +HOMEPAGE = "http://live.gnome.org/Libgee" +SECTION = "libs" +DEPENDS = "glib-2.0" + +BBCLASSEXTEND = "native" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" + +PE = "1" +inherit gnomebase vala gobject-introspection + +do_configure:prepend() { + MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" + for i in ${MACROS}; do + rm -f m4/$i + done +} + +SRC_URI[archive.sha256sum] = "1bf834f5e10d60cc6124d74ed3c1dd38da646787fbf7872220b8b4068e476d4d" diff --git a/meta-oe/recipes-devtools/luajit/luajit/0001-Use-builtin-for-clear_cache.patch b/meta-oe/recipes-devtools/luajit/luajit/0001-Use-builtin-for-clear_cache.patch new file mode 100644 index 00000000000..2c41180d910 --- /dev/null +++ b/meta-oe/recipes-devtools/luajit/luajit/0001-Use-builtin-for-clear_cache.patch @@ -0,0 +1,29 @@ +From ca8f7d968a212f2da64492faac4f80384a5ba395 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 11 Sep 2022 13:23:19 -0700 +Subject: [PATCH] Use builtin for clear_cache + +This makes it compile on mips/clang and also portable across platforms + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/lj_mcode.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/lj_mcode.c b/src/lj_mcode.c +index 163aada4..471897da 100644 +--- a/src/lj_mcode.c ++++ b/src/lj_mcode.c +@@ -46,7 +46,7 @@ void lj_mcode_sync(void *start, void *end) + #elif LJ_TARGET_PPC + lj_vm_cachesync(start, end); + #elif defined(__GNUC__) || defined(__clang__) +- __clear_cache(start, end); ++ __builtin___clear_cache(start, end); + #else + #error "Missing builtin to flush instruction cache" + #endif +-- +2.37.3 + diff --git a/meta-oe/recipes-devtools/luajit/luajit_git.bb b/meta-oe/recipes-devtools/luajit/luajit_git.bb index 3f3939eeb41..dd1cd51698b 100644 --- a/meta-oe/recipes-devtools/luajit/luajit_git.bb +++ b/meta-oe/recipes-devtools/luajit/luajit_git.bb @@ -6,6 +6,7 @@ HOMEPAGE = "http://luajit.org" SRC_URI = "git://luajit.org/git/luajit-2.0.git;protocol=http;branch=v2.1 \ file://0001-Do-not-strip-automatically-this-leaves-the-stripping.patch \ file://clang.patch \ + file://0001-Use-builtin-for-clear_cache.patch \ " # Set PV to a version tag and date (YYMMDD) associated with SRCREV if it is later. diff --git a/meta-oe/recipes-devtools/makeself/makeself_2.4.5.bb b/meta-oe/recipes-devtools/makeself/makeself_2.4.5.bb new file mode 100644 index 00000000000..4cfe2ecca32 --- /dev/null +++ b/meta-oe/recipes-devtools/makeself/makeself_2.4.5.bb @@ -0,0 +1,28 @@ +SUMMARY = "A self-extracting archiving tool for Unix systems, in 100% shell script." +DESCRIPTION = "\ + makeself.sh is a small shell script that generates a self-extractable \ + compressed tar archive from a directory. The resulting file appears as \ + a shell script (many of those have a .run suffix), and can be launched as is.\ +" +HOMEPAGE = "https://makeself.io/" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "\ + git://github.com/megastep/${BPN}.git;protocol=https;branch=master \ +" + +SRCREV = "5742be6410bfad2c619fb1e98bf795e8fa0913c7" + +S = "${WORKDIR}/git" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${S}/makeself.sh ${D}${bindir}/ + install -m 0755 ${S}/makeself-header.sh ${D}${bindir}/ +} + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/mcpp/files/0001-configure-Fix-checks-for-system-headers.patch b/meta-oe/recipes-devtools/mcpp/files/0001-configure-Fix-checks-for-system-headers.patch new file mode 100644 index 00000000000..d9bdc01ca1a --- /dev/null +++ b/meta-oe/recipes-devtools/mcpp/files/0001-configure-Fix-checks-for-system-headers.patch @@ -0,0 +1,44 @@ +From c1e9f2f3d086e0df3c10a2468fd7b37fd0c5038c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 7 Sep 2022 00:02:08 -0700 +Subject: [PATCH] configure: Fix checks for system headers + +Define _DEFAULT_SOURCE in system.c so unistd.h can expose readlink API + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + configure.ac | 2 +- + src/system.c | 2 ++ + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index cdf1eba..6fc81e6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -152,7 +152,7 @@ fi + + dnl Checks for header files. + +-AC_CHECK_HEADERS( [unistd.h, stdint.h, inttypes.h]) ++AC_CHECK_HEADERS( [unistd.h stdint.h inttypes.h]) + + dnl Checks for typedefs, and compiler characteristics. + +diff --git a/src/system.c b/src/system.c +index 4e008fa..98631a6 100644 +--- a/src/system.c ++++ b/src/system.c +@@ -36,6 +36,8 @@ + * 1. specify the constants in "configed.H" or "noconfig.H", + * 2. append the system-dependent routines in this file. + */ ++ ++#define _DEFAULT_SOURCE + #if PREPROCESSED + #include "mcpp.H" + #else +-- +2.37.3 + diff --git a/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb b/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb index f8125f72d92..9445856730b 100644 --- a/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb +++ b/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb @@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5ca370b75ec890321888a00cea9bc1d5" SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ file://ice-mcpp.patch \ + file://0001-configure-Fix-checks-for-system-headers.patch \ file://CVE-2019-14274.patch" SRC_URI[md5sum] = "512de48c87ab023a69250edc7a0c7b05" SRC_URI[sha256sum] = "3b9b4421888519876c4fc68ade324a3bbd81ceeb7092ecdbbc2055099fcb8864" diff --git a/meta-oe/recipes-devtools/mpich/mpich_4.0.2.bb b/meta-oe/recipes-devtools/mpich/mpich_4.0.2.bb deleted file mode 100644 index d277f7e71c4..00000000000 --- a/meta-oe/recipes-devtools/mpich/mpich_4.0.2.bb +++ /dev/null @@ -1,58 +0,0 @@ -SUMMARY = "Message Passing Interface (MPI) implementation" -HOMEPAGE = "http://www.mpich.org/" -SECTION = "devel" - -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=bd4d7ab13df98988b1ca2a4e01c8c163" - -SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz" -SRC_URI[sha256sum] = "5a42f1a889d4a2d996c26e48cbf9c595cbf4316c6814f7c181e3320d21dedd42" - -RDEPENDS:${PN} += "bash perl libxml2" - -EXTRA_OECONF = "--enable-debuginfo \ - --enable-fast \ - --enable-shared \ - --with-pm=gforker \ - --disable-rpath \ - --disable-f77 \ - --disable-fc \ - --disable-fortran \ - --disable-cxx \ - BASH_SHELL='${USRBINPATH}/env bash' \ - PERL='${USRBINPATH}/env perl' \ - --with-device=ch3:nemesis \ - --with-rdmacm=no \ - --disable-numa \ -" - -PACKAGECONFIG += " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ -" -PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11" - -# libmpi.so needs symbols like __multf3 and somehow it does not respect --rtlib option passed by clang -LDFLAGS:append:x86-64 = " -lgcc" -LDFLAGS:append:x86 = " -lgcc" - -inherit autotools gettext pkgconfig - -do_configure() { - for d in confdb test/mpi test/mpi/confdb src/pm/hydra/confdb \ - src/pm/hydra/tools/topo/hwloc/hwloc/config src/pm/hydra/mpl/confdb \ - modules/yaksa/m4 modules/json-c modules/ucx modules/hwloc/config \ - test/mpi/dtpools/confdb src/mpl/confdb src/mpi/romio/confdb; do - install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/$d - install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/$d - done -# cd ${S} -# autoupdate -# autoreconf --verbose --install --force -# cd ${B} - oe_runconf -} - -do_install:append() { - sed -i 's,${S}/,,g' ${D}/${libdir}/libmpi.la - sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}/${libdir}/pkgconfig/mpich.pc -} diff --git a/meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb b/meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb new file mode 100644 index 00000000000..000f7398127 --- /dev/null +++ b/meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb @@ -0,0 +1,58 @@ +SUMMARY = "Message Passing Interface (MPI) implementation" +HOMEPAGE = "http://www.mpich.org/" +SECTION = "devel" + +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=bd4d7ab13df98988b1ca2a4e01c8c163" + +SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz" +SRC_URI[sha256sum] = "17406ea90a6ed4ecd5be39c9ddcbfac9343e6ab4f77ac4e8c5ebe4a3e3b6c501" + +RDEPENDS:${PN} += "bash perl libxml2" + +EXTRA_OECONF = "--enable-debuginfo \ + --enable-fast \ + --enable-shared \ + --with-pm=gforker \ + --disable-rpath \ + --disable-f77 \ + --disable-fc \ + --disable-fortran \ + --disable-cxx \ + BASH_SHELL='${USRBINPATH}/env bash' \ + PERL='${USRBINPATH}/env perl' \ + --with-device=ch3:nemesis \ + --with-rdmacm=no \ + --disable-numa \ +" + +PACKAGECONFIG += " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ +" +PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11" + +# libmpi.so needs symbols like __multf3 and somehow it does not respect --rtlib option passed by clang +LDFLAGS:append:x86-64 = " -lgcc" +LDFLAGS:append:x86 = " -lgcc" + +inherit autotools gettext pkgconfig + +do_configure() { + for d in confdb test/mpi test/mpi/confdb src/pm/hydra/confdb \ + src/pm/hydra/tools/topo/hwloc/hwloc/config src/pm/hydra/mpl/confdb \ + modules/yaksa/m4 modules/json-c modules/ucx modules/hwloc/config \ + test/mpi/dtpools/confdb src/mpl/confdb src/mpi/romio/confdb; do + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/$d + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/$d + done +# cd ${S} +# autoupdate +# autoreconf --verbose --install --force +# cd ${B} + oe_runconf +} + +do_install:append() { + sed -i 's,${S}/,,g' ${D}/${libdir}/libmpi.la + sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}/${libdir}/pkgconfig/mpich.pc +} diff --git a/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb b/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb index ace3215396a..b5d05d40e59 100644 --- a/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb +++ b/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb @@ -8,7 +8,7 @@ SRC_URI = "git://github.com/nlohmann/fifo_map.git;branch=master;protocol=https" PV = "1.0.0+git${SRCPV}" -SRCREV = "0dfbf5dacbb15a32c43f912a7e66a54aae39d0f9" +SRCREV = "d732aaf9a315415ae8fd7eb11e3a4c1f80e42a48" UPSTREAM_CHECK_COMMITS = "1" @@ -20,6 +20,9 @@ RDEPENDS:${PN}-dev = "" BBCLASSEXTEND = "native nativesdk" +# See https://github.com/SOCI/soci/issues/984 +CXXFLAGS:append:toolchain-clang:runtime-llvm = " -DCATCH_CONFIG_CPP11_NO_SHUFFLE" + do_install() { install -d ${D}${includedir} install -m 0644 ${S}/src/fifo_map.hpp ${D}${includedir} diff --git a/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-16.14/oe-npm-cache b/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-16.18/oe-npm-cache similarity index 100% rename from meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-16.14/oe-npm-cache rename to meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-16.18/oe-npm-cache diff --git a/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_16.14.bb b/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_16.18.bb similarity index 100% rename from meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_16.14.bb rename to meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_16.18.bb diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-Using-native-binaries.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-Using-native-binaries.patch new file mode 100644 index 00000000000..445aaf8398c --- /dev/null +++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-Using-native-binaries.patch @@ -0,0 +1,78 @@ +From 6c3ac20477a4bac643088f24df3c042e627fafa9 Mon Sep 17 00:00:00 2001 +From: Guillaume Burel +Date: Fri, 3 Jan 2020 11:25:54 +0100 +Subject: [PATCH] Using native binaries + +Signed-off-by: Archana Polampalli +--- + node.gyp | 2 ++ + tools/v8_gypfiles/v8.gyp | 5 +++++ + 2 files changed, 7 insertions(+) + +diff --git a/node.gyp b/node.gyp +index 24505da7ba..7d41bd52db 100644 +--- a/node.gyp ++++ b/node.gyp +@@ -319,6 +319,7 @@ + 'action_name': 'run_mkcodecache', + 'process_outputs_as_sources': 1, + 'inputs': [ ++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', + '<(mkcodecache_exec)', + ], + 'outputs': [ +@@ -366,6 +367,7 @@ + 'action_name': 'node_mksnapshot', + 'process_outputs_as_sources': 1, + 'inputs': [ ++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', + '<(node_mksnapshot_exec)', + ], + 'outputs': [ +diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp +index ed042f8829..371b8e02c2 100644 +--- a/tools/v8_gypfiles/v8.gyp ++++ b/tools/v8_gypfiles/v8.gyp +@@ -68,6 +68,7 @@ + { + 'action_name': 'run_torque_action', + 'inputs': [ # Order matters. ++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', + '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)', + '<@(torque_files)', + ], +@@ -99,6 +100,7 @@ + '<@(torque_outputs_inc)', + ], + 'action': [ ++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', + '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)', + '-o', '<(SHARED_INTERMEDIATE_DIR)/torque-generated', + '-v8-root', '<(V8_ROOT)', +@@ -211,6 +213,7 @@ + { + 'action_name': 'generate_bytecode_builtins_list_action', + 'inputs': [ ++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', + '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)bytecode_builtins_list_generator<(EXECUTABLE_SUFFIX)', + ], + 'outputs': [ +@@ -395,6 +398,7 @@ + ], + }, + 'inputs': [ ++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', + '<(mksnapshot_exec)', + ], + 'outputs': [ +@@ -1513,6 +1517,7 @@ + { + 'action_name': 'run_gen-regexp-special-case_action', + 'inputs': [ ++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', + '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gen-regexp-special-case<(EXECUTABLE_SUFFIX)', + ], + 'outputs': [ +-- +2.34.1 + diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0002-Install-both-binaries-and-use-libdir.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0002-Install-both-binaries-and-use-libdir.patch deleted file mode 100644 index 5cb2e97015e..00000000000 --- a/meta-oe/recipes-devtools/nodejs/nodejs/0002-Install-both-binaries-and-use-libdir.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 62ddf8499747fb1e366477d666c0634ad50039a9 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Tue, 19 Mar 2019 23:22:40 -0400 -Subject: [PATCH 2/2] Install both binaries and use libdir. - -This allows us to build with a shared library for other users while -still providing the normal executable. - -Taken from - https://src.fedoraproject.org/rpms/nodejs/raw/rawhide/f/0002-Install-both-binaries-and-use-libdir.patch - -Upstream-Status: Pending - -Signed-off-by: Elliott Sales de Andrade -Signed-off-by: Andreas Müller -Signed-off-by: Khem Raj ---- - configure.py | 7 +++++++ - tools/install.py | 21 +++++++++------------ - 2 files changed, 16 insertions(+), 12 deletions(-) - -diff --git a/configure.py b/configure.py -index 6efb98c2316f089f3167e486282593245373af3f..a6d2ec939e4480dfae703f3978067537abf9f0f0 100755 ---- a/configure.py -+++ b/configure.py -@@ -721,10 +721,16 @@ parser.add_argument('--shared', - dest='shared', - default=None, - help='compile shared library for embedding node in another project. ' + - '(This mode is not officially supported for regular applications)') - -+parser.add_argument('--libdir', -+ action='store', -+ dest='libdir', -+ default='lib', -+ help='a directory to install the shared library into') -+ - parser.add_argument('--without-v8-platform', - action='store_true', - dest='without_v8_platform', - default=False, - help='do not initialize v8 platform during node.js startup. ' + -@@ -1305,10 +1311,11 @@ def configure_node(o): - o['variables']['debug_nghttp2'] = 'false' - - o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) - - o['variables']['node_shared'] = b(options.shared) -+ o['variables']['libdir'] = options.libdir - node_module_version = getmoduleversion.get_version() - - if options.dest_os == 'android': - shlib_suffix = 'so' - elif sys.platform == 'darwin': -diff --git a/tools/install.py b/tools/install.py -index 41cc1cbc60a9480cc08df3aa0ebe582c2becc3a2..11208f9e7166ab60da46d5ace2257c239a7e9263 100755 ---- a/tools/install.py -+++ b/tools/install.py -@@ -128,26 +128,23 @@ def subdir_files(path, dest, action): - for subdir, files_in_path in ret.items(): - action(files_in_path, subdir + '/') - - def files(action): - is_windows = sys.platform == 'win32' -- output_file = 'node' - output_prefix = 'out/Release/' -+ output_libprefix = output_prefix - -- if 'false' == variables.get('node_shared'): -- if is_windows: -- output_file += '.exe' -+ if is_windows: -+ output_bin = 'node.exe' -+ output_lib = 'node.dll' - else: -- if is_windows: -- output_file += '.dll' -- else: -- output_file = 'lib' + output_file + '.' + variables.get('shlib_suffix') -+ output_bin = 'node' -+ output_lib = 'libnode.' + variables.get('shlib_suffix') - -- if 'false' == variables.get('node_shared'): -- action([output_prefix + output_file], 'bin/' + output_file) -- else: -- action([output_prefix + output_file], 'lib/' + output_file) -+ action([output_prefix + output_bin], 'bin/' + output_bin) -+ if 'true' == variables.get('node_shared'): -+ action([output_libprefix + output_lib], variables.get('libdir') + '/' + output_lib) - - if 'true' == variables.get('node_use_dtrace'): - action(['out/Release/node.d'], 'lib/dtrace/node.d') - - # behave similarly for systemtap --- -2.33.0 - diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch deleted file mode 100644 index 8db1f1dd545..00000000000 --- a/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 6c3ac20477a4bac643088f24df3c042e627fafa9 Mon Sep 17 00:00:00 2001 -From: Guillaume Burel -Date: Fri, 3 Jan 2020 11:25:54 +0100 -Subject: [PATCH] Using native binaries - ---- - node.gyp | 4 ++-- - tools/v8_gypfiles/v8.gyp | 11 ++++------- - 2 files changed, 6 insertions(+), 9 deletions(-) - ---- a/node.gyp -+++ b/node.gyp -@@ -294,6 +294,7 @@ - 'action_name': 'run_mkcodecache', - 'process_outputs_as_sources': 1, - 'inputs': [ -+ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', - '<(mkcodecache_exec)', - ], - 'outputs': [ -@@ -319,6 +320,7 @@ - 'action_name': 'node_mksnapshot', - 'process_outputs_as_sources': 1, - 'inputs': [ -+ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', - '<(node_mksnapshot_exec)', - ], - 'outputs': [ ---- a/tools/v8_gypfiles/v8.gyp -+++ b/tools/v8_gypfiles/v8.gyp -@@ -68,6 +68,7 @@ - { - 'action_name': 'run_torque_action', - 'inputs': [ # Order matters. -+ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', - '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)', - '<@(torque_files)', - ], -@@ -99,6 +100,7 @@ - '<@(torque_outputs_inc)', - ], - 'action': [ -+ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', - '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)', - '-o', '<(SHARED_INTERMEDIATE_DIR)/torque-generated', - '-v8-root', '<(V8_ROOT)', -@@ -225,6 +227,7 @@ - { - 'action_name': 'generate_bytecode_builtins_list_action', - 'inputs': [ -+ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', - '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)bytecode_builtins_list_generator<(EXECUTABLE_SUFFIX)', - ], - 'outputs': [ -@@ -415,6 +418,7 @@ - ], - }, - 'inputs': [ -+ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', - '<(mksnapshot_exec)', - ], - 'outputs': [ -@@ -1548,6 +1552,7 @@ - { - 'action_name': 'run_gen-regexp-special-case_action', - 'inputs': [ -+ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', - '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gen-regexp-special-case<(EXECUTABLE_SUFFIX)', - ], - 'outputs': [ diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0005-add-openssl-legacy-provider-option.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0005-add-openssl-legacy-provider-option.patch deleted file mode 100644 index 4d238c03f47..00000000000 --- a/meta-oe/recipes-devtools/nodejs/nodejs/0005-add-openssl-legacy-provider-option.patch +++ /dev/null @@ -1,151 +0,0 @@ -From 86d1c0cc6a5dcf57e413a1cc1c29203e87cf9a14 Mon Sep 17 00:00:00 2001 -From: Daniel Bevenius -Date: Sat, 16 Oct 2021 08:50:16 +0200 -Subject: [PATCH] src: add --openssl-legacy-provider option - -This commit adds an option to Node.js named --openssl-legacy-provider -and if specified will load OpenSSL 3.0 Legacy provider. - -$ ./node --help -... ---openssl-legacy-provider enable OpenSSL 3.0 legacy provider - -Example usage: - -$ ./node --openssl-legacy-provider -p 'crypto.createHash("md4")' -Hash { - _options: undefined, - [Symbol(kHandle)]: Hash {}, - [Symbol(kState)]: { [Symbol(kFinalized)]: false } -} - -Co-authored-by: Richard Lau -Signed-off-by: Signed-off-by: Andrej Valek -Upstream-Status: Backport [https://github.com/nodejs/node/issues/40455] ---- - doc/api/cli.md | 10 ++++++++++ - src/crypto/crypto_util.cc | 10 ++++++++++ - src/node_options.cc | 10 ++++++++++ - src/node_options.h | 7 +++++++ - .../test-process-env-allowed-flags-are-documented.js | 5 +++++ - 5 files changed, 42 insertions(+) - -diff --git a/doc/api/cli.md b/doc/api/cli.md -index 74057706bf8d..608b9cdeddf1 100644 ---- a/doc/api/cli.md -+++ b/doc/api/cli.md -@@ -687,6 +687,14 @@ Load an OpenSSL configuration file on startup. Among other uses, this can be - used to enable FIPS-compliant crypto if Node.js is built - against FIPS-enabled OpenSSL. - -+### `--openssl-legacy-provider` -+ -+ -+Enable OpenSSL 3.0 legacy provider. For more information please see -+[providers readme][]. -+ - ### `--pending-deprecation` - -