diff options
Diffstat (limited to 'meta-openembedded')
41 files changed, 680 insertions, 1301 deletions
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-Fix-build-with-fmt-9.0.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-Fix-build-with-fmt-9.0.patch new file mode 100644 index 0000000000..9de0e4f28e --- /dev/null +++ b/meta-openembedded/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 <felixonmars@archlinux.org> +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<SQLIdentifier> : formatter<std::string_view> { + template <typename FormatContext> +- 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<ColumnUpdate> : formatter<std::string_view> { + template <typename FormatContext> +- 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-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-Fix-for-fmt-8.0.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-Fix-for-fmt-8.0.patch deleted file mode 100644 index efd8dc066c..0000000000 --- a/meta-openembedded/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 <bas@bmail.ru> -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 <raj.khem@gmail.com> ---- - 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 <fmt/format.h> - #include <spdlog/spdlog.h> -+#include <type_traits> - - #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 <typename T> -+struct fmt::formatter<T, std::enable_if_t<std::is_enum_v<T>, char>> -+ : formatter<std::underlying_type_t<T>> { -+ template <typename FormatContext> -+ auto format(const T& value, FormatContext& ctx) -> decltype(ctx.out()) -+ { -+ return fmt::formatter<std::underlying_type_t<T>>::format( -+ static_cast<std::underlying_type_t<T>>(value), ctx); -+ } -+}; -+#endif -+ - #endif // __LOGGER_H__ --- -2.35.0 - diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.9.2.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.11.0.bb index cbb127d3dc..9f2f1b093e 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.9.2.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.11.0.bb @@ -3,11 +3,11 @@ 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 \ +SRC_URI = "git://github.com/gerbera/gerbera.git;protocol=https;branch=master \ + file://0001-Fix-build-with-fmt-9.0.patch \ " -SRCREV = "3b93d362ec33f738868a4e896a2c9ee8e9d7a92a" +SRCREV = "d73d8c1346213d784753c02ea771970500e0df2a" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb b/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb index 9a6c71cb71..8f0ad65120 100644 --- a/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb +++ b/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb @@ -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-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd-volatiles.conf b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd-volatiles.conf index fa62962975..f3619dddb6 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd-volatiles.conf +++ b/meta-openembedded/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-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service index 2d766488e6..37a2eb3d7d 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service +++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service @@ -5,7 +5,7 @@ After=syslog.target network.target [Service] Type=forking 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 ExecReload=@SBINDIR@/radiusd -C diff --git a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch deleted file mode 100644 index 68eb04a83e..0000000000 --- a/meta-openembedded/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 <tcunningham07@gmail.com> -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 <raj.khem@gmail.com> -Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> - -Signed-off-by: Yuan Chao <yuanc.fnst@cn.fujitsu.com> -Signed-off-by: Todd Cunningham <tcunningham07@gmail.com> - -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 <trevor.gamblin@windriver.com> ---- - 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-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.2.bb b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.3.bb index 3eca92dcec..ab55767fee 100644 --- a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.2.bb +++ b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.3.bb @@ -2,28 +2,27 @@ SUMMARY = "Library for low-level interaction with nftables Netlink's API over li 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 \ " +SRCREV = "817c8b66f1ea8c223b7513d4cd7bff525d8a0a9f" 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} @@ -38,4 +37,3 @@ do_install_ptest() { # other nonexistent paths before running the actual tests sed -i 's/^Makefile/_Makefile/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile } - diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.4.bb b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.5.bb index 3466e16a62..1708786f49 100644 --- a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.4.bb +++ b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.5.bb @@ -11,7 +11,7 @@ SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2 \ file://run-ptest \ " -SRC_URI[sha256sum] = "927fb1fea1f685a328c10cf791eb655d7e1ed49d310eea5cb3101dfd8d6cba35" +SRC_URI[sha256sum] = "8d1b4b18393af43698d10baa25d2b9b6397969beecac7816c35dd0714e4de50a" inherit autotools manpages pkgconfig ptest diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/0001-bgpd-avoid-notify-race-between-io-and-main-pthreads.patch b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/0001-bgpd-avoid-notify-race-between-io-and-main-pthreads.patch new file mode 100644 index 0000000000..40284d6f4f --- /dev/null +++ b/meta-openembedded/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 <mstapp@nvidia.com> +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 <mstapp@nvidia.com> + +CVE: CVE-2022-37035 + +Upstream-Status: Backport +[https://github.com/FRRouting/frr/commit/71ca5b09bc71e8cbe38177cf41e83fe164e52eee] + +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> +--- + 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-openembedded/meta-networking/recipes-protocols/frr/frr/0001-configure-Check-for-readline-function-instead-of-mai.patch b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/0001-configure-Check-for-readline-function-instead-of-mai.patch index 4b218a61e8..20e8472233 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/0001-configure-Check-for-readline-function-instead-of-mai.patch +++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/0001-configure-Check-for-readline-function-instead-of-mai.patch @@ -6,7 +6,9 @@ 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: Submitted [https://github.com/FRRouting/frr/pull/11893] +Upstream-Status: Backport +[https://github.com/FRRouting/frr/commit/9399d58c13257849179d3c2b3698a2b43bc1b2a0] + Signed-off-by: Khem Raj <raj.khem@gmail.com> --- configure.ac | 2 +- diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/0001-ospfd-Adding-SUPPORT_OSPF_API-define-in-ospf_spf.c.patch b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/0001-ospfd-Adding-SUPPORT_OSPF_API-define-in-ospf_spf.c.patch new file mode 100644 index 0000000000..09988946b6 --- /dev/null +++ b/meta-openembedded/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 <michalruprich@gmail.com> +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 <mruprich@redhat.com> + +Upstream-Status: Backport +[https://github.com/FRRouting/frr/commit/ec3bb054c331f9d928ac21a1747e0f921b51dfbc] + +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> +--- + 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-openembedded/meta-networking/recipes-protocols/frr/frr_8.2.2.bb b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.3.1.bb index 607ed8b9dd..c69720e6f0 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.2.2.bb +++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.3.1.bb @@ -9,12 +9,14 @@ 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 \ +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://frr.pam \ " -SRCREV = "79188bf710e92acf42fb5b9b0a2e9593a5ee9b05" +SRCREV = "a74f7a9ad9623e6f9654fe4a7177e5da0b194828" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet/0001-Support-musl-libc-remove-support-for-glibc-2.1.patch b/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet/0001-Support-musl-libc-remove-support-for-glibc-2.1.patch deleted file mode 100644 index 98008dba94..0000000000 --- a/meta-openembedded/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 <retnyg@gmx.net> -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 <retnyg@gmx.net> -Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> ---- - 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 <sys/time.h> - - #include <net/if.h> --#if (__GLIBC__) - #include <netinet/if_ether.h> - #include <net/if_arp.h> --#else --#include <linux/if_arp.h> --#include <linux/if_ether.h> --#endif - - #if (HAVE_PACKET_SOCKET) - #ifndef SOL_PACKET - #define SOL_PACKET 263 - #endif /* SOL_PACKET */ --#if __GLIBC__ >= 2 && __GLIBC_MINOR >= 1 - #include <netpacket/packet.h> - #include <net/ethernet.h> /* the L2 protocols */ --#else --#include <asm/types.h> --#include <linux/if_packet.h> --#include <linux/if_ether.h> /* The L2 protocols */ --#endif - #endif /* HAVE_PACKET_SOCKET */ - - #include "../include/libnet.h" --- -1.9.1 - diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet/0001-Use-standard-int64_t-instead-of-__int64_t-for-mingw-.patch b/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet/0001-Use-standard-int64_t-instead-of-__int64_t-for-mingw-.patch new file mode 100644 index 0000000000..f1c607dd8a --- /dev/null +++ b/meta-openembedded/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 <troglobit@gmail.com> +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 <troglobit@gmail.com> +--- + 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-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb b/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb deleted file mode 100644 index 785abf66d6..0000000000 --- a/meta-openembedded/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<pver>\d+(\.\d+)+-*[a-z]*\d*)\.tar" - -S = "${WORKDIR}/${BPN}-${PV}" - -inherit autotools binconfig - diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2.bb new file mode 100644 index 0000000000..a996f9404b --- /dev/null +++ b/meta-openembedded/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-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.3.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.3.2.bb index 21297f2c4e..0ce0513f3b 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.3.2.bb +++ b/meta-openembedded/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-openembedded/meta-oe/recipes-core/plymouth/files/0001-Fix-daemon-install-ignoring-configured-runstatedir.patch b/meta-openembedded/meta-oe/recipes-core/plymouth/files/0001-Fix-daemon-install-ignoring-configured-runstatedir.patch new file mode 100644 index 0000000000..e04917e305 --- /dev/null +++ b/meta-openembedded/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 <ben@demerara.io> +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 <ben@demerara.io> +Signed-off-by: Ming Liu <liu.ming50@gmail.com> + +--- + 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-openembedded/meta-oe/recipes-core/plymouth/files/0001-Use-standard-runstatedir-vs-custom-flag.patch b/meta-openembedded/meta-oe/recipes-core/plymouth/files/0001-Use-standard-runstatedir-vs-custom-flag.patch new file mode 100644 index 0000000000..e351098f35 --- /dev/null +++ b/meta-openembedded/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 <ben@demerara.io> +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 <ben@demerara.io> +Signed-off-by: Ming Liu <liu.ming50@gmail.com> + +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-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb b/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_22.02.122.bb index 143ffa10d1..469914cd47 100644 --- a/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb +++ b/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_22.02.122.bb @@ -1,62 +1,58 @@ 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. \ -" - +(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 \ - " + file://0001-Use-standard-runstatedir-vs-custom-flag.patch \ + file://0001-Fix-daemon-install-ignoring-configured-runstatedir.patch \ +" -SRC_URI[md5sum] = "8a25d23f3ae732af300a56fa33cacff2" +SRC_URI[sha256sum] = "100551442221033ce868c447ad6c74d831d209c18ae232b98ae0207e34eadaeb" -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)} \ -" +LOGO ??= "${datadir}/plymouth/bizcom.png" +RUNSTATEDIR ??= "${localstatedir}/run" + +EXTRA_OECONF = "--runstatedir=${RUNSTATEDIR}" -PACKAGECONFIG ??= "pango initrd" +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[pango] = "--enable-pango,--disable-pango,pango" +PACKAGECONFIG[documentation] = "--enable-documentation,--disable-documentation" +PACKAGECONFIG[initrd] = ",," PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3" -PACKAGECONFIG[initrd] = ",,," - -LOGO ??= "${datadir}/plymouth/bizcom.png" +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 -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" + 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" @@ -66,6 +62,10 @@ 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" diff --git a/meta-openembedded/meta-oe/recipes-extended/jansson/jansson/0001-Fix-overwriting-linker-flags.patch b/meta-openembedded/meta-oe/recipes-extended/jansson/jansson/0001-Fix-overwriting-linker-flags.patch new file mode 100644 index 0000000000..5eee6f85aa --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/jansson/jansson/0001-Fix-overwriting-linker-flags.patch @@ -0,0 +1,29 @@ +From fe6e8eec7e7df4f1e72f0c9d9337b1fe11236687 Mon Sep 17 00:00:00 2001 +From: Thomas Heinrichs <46387399+Thomas1664@users.noreply.github.com> +Date: Thu, 28 Apr 2022 17:36:54 +0200 +Subject: [PATCH] Fix overwriting linker flags + +Upstream-Status: Backport +[https://github.com/akheron/jansson/commit/fe6e8eec7e7df4f1e72f0c9d9337b1fe11236687] +Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 39b9ad365f78..ed33e3c47f70 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -342,7 +342,7 @@ if(JANSSON_BUILD_SHARED_LIBS) + ) + list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES "-Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR}/jansson.sym") + if (VSCRIPT_WORKS) +- set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR}/jansson.sym") ++ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR}/jansson.sym") + endif() + endif() + +-- +2.35.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch b/meta-openembedded/meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch new file mode 100644 index 0000000000..513d109459 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch @@ -0,0 +1,63 @@ +From e66885e66a2ce7fd916933b12d1ba523a25141e4 Mon Sep 17 00:00:00 2001 +From: Alex Kiernan <alex.kiernan@gmail.com> +Date: Mon, 3 Oct 2022 13:25:05 +0100 +Subject: [PATCH] Honour multilib paths + +Upstream-Status: Pending +Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> +--- + CMakeLists.txt | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 39b9ad365f78..bf297e936a72 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -20,8 +20,8 @@ endif () + + # Set some nicer output dirs. + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) +-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) +-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) ++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) ++set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) + set(JANSSON_TEMP_DIR ${CMAKE_CURRENT_BINARY_DIR}/tmp) + + # Give the debug version a different postfix for windows, +@@ -573,14 +573,14 @@ endif () + # + + # Allow the user to override installation directories. +-set(JANSSON_INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries") ++set(JANSSON_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR} CACHE PATH "Installation directory for libraries") + set(JANSSON_INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables") + set(JANSSON_INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files") + + if(WIN32 AND NOT CYGWIN) + set(DEF_INSTALL_CMAKE_DIR cmake) + else() +- set(DEF_INSTALL_CMAKE_DIR lib/cmake/jansson) ++ set(DEF_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/jansson) + endif() + + set(JANSSON_INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files") +@@ -633,8 +633,8 @@ option(JANSSON_INSTALL "Generate installation target" ON) + if (JANSSON_INSTALL) + install(TARGETS jansson + EXPORT janssonTargets +- LIBRARY DESTINATION "lib" +- ARCHIVE DESTINATION "lib" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "bin" + INCLUDES DESTINATION "include") + +@@ -644,7 +644,7 @@ if (JANSSON_INSTALL) + # Install the pkg-config. + install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/jansson.pc +- DESTINATION lib/pkgconfig) ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + + # Install the configs. + install(FILES diff --git a/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.14.bb b/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.14.bb index 94bb99ab71..833060686a 100644 --- a/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.14.bb +++ b/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.14.bb @@ -4,7 +4,10 @@ BUGTRACKER = "https://github.com/akheron/jansson/issues" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=afd92c4cfc08f4896003251b878cc0bf" -SRC_URI = "https://github.com/akheron/${BPN}/releases/download/v${PV}/${BP}.tar.bz2" +SRC_URI = "https://github.com/akheron/${BPN}/releases/download/v${PV}/${BP}.tar.bz2 \ + file://0001-Fix-overwriting-linker-flags.patch \ + file://0001-Honour-multilib-paths.patch \ + " SRC_URI[sha256sum] = "fba956f27c6ae56ce6dfd52fbf9d20254aad42821f74fa52f83957625294afb9" UPSTREAM_CHECK_URI = "https://github.com/akheron/${BPN}/releases" @@ -12,4 +15,6 @@ UPSTREAM_CHECK_REGEX = "${BPN}-(?P<pver>\d+(\.\d+)+)\.tar" inherit cmake pkgconfig +EXTRA_OECMAKE = "-DJANSSON_BUILD_SHARED_LIBS=${@ 'OFF' if d.getVar('DISABLE_STATIC') == '' else 'ON' }" + BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb index e2992b5dd9..50c501574b 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb @@ -80,3 +80,6 @@ do_configure:prepend() { } BBCLASSEXTEND = "native nativesdk" + +#CVE-2019-14906 is a RHEL specific vulnerability. +CVE_CHECK_IGNORE += "CVE-2019-14906" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_372.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_373.bb index 3e1e9d7042..bc555cbcd9 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_372.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_373.bb @@ -8,7 +8,7 @@ SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \ file://0001-Add-configure-time-check-for-setsid.patch \ " -SRC_URI[sha256sum] = "c6d08127cb2409c3a04bcae559b7025196ed770bb7bf26630abcb45d95f60ab1" +SRC_URI[sha256sum] = "deb0989473a63908b5a8d44dfeea8301c8710f6ce01fb57ce8c30002375746b6" PACKAGECONFIG ?= "" PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native" @@ -27,6 +27,8 @@ EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \ B = "${S}" +CFLAGS += "-D_GNU_SOURCE" + do_configure() { gnu-configize --force sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch deleted file mode 100644 index 7dfa233423..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch +++ /dev/null @@ -1,34 +0,0 @@ -From cebbeaa9d0bdc18377faef27ea9ffd38e509d180 Mon Sep 17 00:00:00 2001 -From: Adam Jackson <ajax@redhat.com> -Date: Tue, 4 Feb 2020 16:38:06 -0500 -Subject: [PATCH] Fix link failure with gcc 10 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Without the 'extern' this looks like a definition not just a -declaration, in every file that includes the header. gcc 10 is stricter -about this kind of multiple definition. - -Upstream-Status: Backport [https://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=f223035f4ffcff2a9296d1e907a5193f8e8845a3] -Reviewed-by: Michel Dänzer <mdaenzer@redhat.com> ---- - src/drmmode_display.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/drmmode_display.h b/src/drmmode_display.h -index 96eaef0..8cd8a0a 100644 ---- a/src/drmmode_display.h -+++ b/src/drmmode_display.h -@@ -262,7 +262,7 @@ Bool drmmode_wait_vblank(xf86CrtcPtr crtc, drmVBlankSeqType type, - uint64_t *ust, uint32_t *result_seq); - - --miPointerSpriteFuncRec drmmode_sprite_funcs; -+extern miPointerSpriteFuncRec drmmode_sprite_funcs; - - - #endif --- -2.28.0 - diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-ati-cleanup-terminology-to-use-primary-secondary.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-ati-cleanup-terminology-to-use-primary-secondary.patch deleted file mode 100644 index cda2c2f146..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-ati-cleanup-terminology-to-use-primary-secondary.patch +++ /dev/null @@ -1,369 +0,0 @@ -From 6e035c007876ffe972a497681dd3debdc806e979 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Mon, 13 Jul 2020 09:11:28 +1000 -Subject: [PATCH] ati: cleanup terminology to use primary/secondary - -The X server changed some API/ABIs here. - -Based on amdgpu patch by Michel ---- -Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati/-/commit/8da3e4561ef82bb78c9a17b8cd8bf139b9cfd680.patch] -man/radeon.man | 2 +- - src/compat-api.h | 6 ++++ - src/drmmode_display.c | 4 +-- - src/evergreen_state.h | 2 +- - src/r600_state.h | 2 +- - src/radeon.h | 10 +++--- - src/radeon_exa.c | 2 +- - src/radeon_glamor.c | 2 +- - src/radeon_kms.c | 74 +++++++++++++++++++++---------------------- - 9 files changed, 55 insertions(+), 49 deletions(-) - -diff --git a/man/radeon.man b/man/radeon.man -index dcebf53..247dcdb 100644 ---- a/man/radeon.man -+++ b/man/radeon.man -@@ -290,7 +290,7 @@ on. If this option is set, the default value of the property is 'on' or 'off' - accordingly. If this option isn't set, the default value of the property is - .B auto, - which means that TearFree is on for rotated outputs, outputs with RandR --transforms applied and for RandR 1.4 slave outputs, otherwise off. -+transforms applied and for RandR 1.4 secondary outputs, otherwise off. - .TP - .BI "Option \*qAccelMethod\*q \*q" "string" \*q - Chooses between available acceleration architectures. Valid values are -diff --git a/src/compat-api.h b/src/compat-api.h -index f4e7524..def6d3e 100644 ---- a/src/compat-api.h -+++ b/src/compat-api.h -@@ -34,4 +34,10 @@ - #define BLOCKHANDLER_ARGS pScreen, pTimeout, pReadmask - #endif - -+#if ABI_VIDEODRV_VERSION < SET_ABI_VERSION(25, 2) -+#define current_primary current_master -+#define primary_pixmap master_pixmap -+#define secondary_dst slave_dst -+#endif -+ - #endif -diff --git a/src/drmmode_display.c b/src/drmmode_display.c -index 0e9e247..3dec91e 100644 ---- a/src/drmmode_display.c -+++ b/src/drmmode_display.c -@@ -720,7 +720,7 @@ drmmode_crtc_prime_scanout_update(xf86CrtcPtr crtc, DisplayModePtr mode, - xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, - ent) { - if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) { -- dirty->slave_dst = -+ dirty->secondary_dst = - drmmode_crtc->scanout[scanout_id].pixmap; - break; - } -@@ -1356,7 +1356,7 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix) - - xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, ent) { - if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) { -- PixmapStopDirtyTracking(dirty->src, dirty->slave_dst); -+ PixmapStopDirtyTracking(dirty->src, dirty->secondary_dst); - break; - } - } -diff --git a/src/evergreen_state.h b/src/evergreen_state.h -index 7e54e1c..34ba87b 100644 ---- a/src/evergreen_state.h -+++ b/src/evergreen_state.h -@@ -350,7 +350,7 @@ extern void *RADEONEXACreatePixmap2(ScreenPtr pScreen, int width, int height, - int *new_pitch); - extern void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv); - extern Bool RADEONEXAPixmapIsOffscreen(PixmapPtr pPix); --extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **handle_p); -+extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr secondary, void **handle_p); - extern Bool RADEONEXASetSharedPixmapBacking(PixmapPtr ppix, void *handle); - - #endif -diff --git a/src/r600_state.h b/src/r600_state.h -index 3434599..567c3ca 100644 ---- a/src/r600_state.h -+++ b/src/r600_state.h -@@ -321,6 +321,6 @@ extern void *RADEONEXACreatePixmap2(ScreenPtr pScreen, int width, int height, - int *new_pitch); - extern void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv); - extern Bool RADEONEXAPixmapIsOffscreen(PixmapPtr pPix); --extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **handle_p); -+extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr secondary, void **handle_p); - extern Bool RADEONEXASetSharedPixmapBacking(PixmapPtr ppix, void *handle); - #endif -diff --git a/src/radeon.h b/src/radeon.h -index 2c91346..85fd021 100644 ---- a/src/radeon.h -+++ b/src/radeon.h -@@ -182,18 +182,18 @@ typedef enum { - - - static inline ScreenPtr --radeon_master_screen(ScreenPtr screen) -+radeon_primary_screen(ScreenPtr screen) - { -- if (screen->current_master) -- return screen->current_master; -+ if (screen->current_primary) -+ return screen->current_primary; - - return screen; - } - - static inline ScreenPtr --radeon_dirty_master(PixmapDirtyUpdatePtr dirty) -+radeon_dirty_primary(PixmapDirtyUpdatePtr dirty) - { -- return radeon_master_screen(dirty->slave_dst->drawable.pScreen); -+ return radeon_primary_screen(dirty->secondary_dst->drawable.pScreen); - } - - static inline DrawablePtr -diff --git a/src/radeon_exa.c b/src/radeon_exa.c -index 268155e..320ff99 100644 ---- a/src/radeon_exa.c -+++ b/src/radeon_exa.c -@@ -282,7 +282,7 @@ void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv) - free(driverPriv); - } - --Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **fd_handle) -+Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr seconndary, void **fd_handle) - { - struct radeon_exa_pixmap_priv *driver_priv = exaGetPixmapDriverPrivate(ppix); - -diff --git a/src/radeon_glamor.c b/src/radeon_glamor.c -index f109838..ccf9994 100644 ---- a/src/radeon_glamor.c -+++ b/src/radeon_glamor.c -@@ -366,7 +366,7 @@ radeon_glamor_set_pixmap_bo(DrawablePtr drawable, PixmapPtr pixmap) - - - static Bool --radeon_glamor_share_pixmap_backing(PixmapPtr pixmap, ScreenPtr slave, -+radeon_glamor_share_pixmap_backing(PixmapPtr pixmap, ScreenPtr secondary, - void **handle_p) - { - ScreenPtr screen = pixmap->drawable.pScreen; -diff --git a/src/radeon_kms.c b/src/radeon_kms.c -index b3db7c4..62962d6 100644 ---- a/src/radeon_kms.c -+++ b/src/radeon_kms.c -@@ -559,8 +559,8 @@ dirty_region(PixmapDirtyUpdatePtr dirty) - if (dirty->rotation != RR_Rotate_0) { - dstregion = transform_region(damageregion, - &dirty->f_inverse, -- dirty->slave_dst->drawable.width, -- dirty->slave_dst->drawable.height); -+ dirty->secondary_dst->drawable.width, -+ dirty->secondary_dst->drawable.height); - } else - #endif - { -@@ -568,7 +568,7 @@ dirty_region(PixmapDirtyUpdatePtr dirty) - - dstregion = RegionDuplicate(damageregion); - RegionTranslate(dstregion, -dirty->x, -dirty->y); -- PixmapRegionInit(&pixregion, dirty->slave_dst); -+ PixmapRegionInit(&pixregion, dirty->secondary_dst); - RegionIntersect(dstregion, dstregion, &pixregion); - RegionUninit(&pixregion); - } -@@ -585,8 +585,8 @@ redisplay_dirty(PixmapDirtyUpdatePtr dirty, RegionPtr region) - if (RegionNil(region)) - goto out; - -- if (dirty->slave_dst->master_pixmap) -- DamageRegionAppend(&dirty->slave_dst->drawable, region); -+ if (dirty->secondary_dst->primary_pixmap) -+ DamageRegionAppend(&dirty->secondary_dst->drawable, region); - - #ifdef HAS_DIRTYTRACKING_ROTATION - PixmapSyncDirtyHelper(dirty); -@@ -595,8 +595,8 @@ redisplay_dirty(PixmapDirtyUpdatePtr dirty, RegionPtr region) - #endif - - radeon_cs_flush_indirect(src_scrn); -- if (dirty->slave_dst->master_pixmap) -- DamageRegionProcessPending(&dirty->slave_dst->drawable); -+ if (dirty->secondary_dst->primary_pixmap) -+ DamageRegionProcessPending(&dirty->secondary_dst->drawable); - - out: - DamageEmpty(dirty->damage); -@@ -613,12 +613,12 @@ radeon_prime_scanout_update_abort(xf86CrtcPtr crtc, void *event_data) - void - radeon_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) - { -- ScreenPtr master_screen = radeon_dirty_master(dirty); -+ ScreenPtr primary_screen = radeon_dirty_primary(dirty); - PixmapDirtyUpdatePtr ent; - RegionPtr region; - -- xorg_list_for_each_entry(ent, &master_screen->pixmap_dirty_list, ent) { -- if (!radeon_dirty_src_equals(dirty, ent->slave_dst)) -+ xorg_list_for_each_entry(ent, &primary_screen->pixmap_dirty_list, ent) { -+ if (!radeon_dirty_src_equals(dirty, ent->secondary_dst)) - continue; - - region = dirty_region(ent); -@@ -631,45 +631,45 @@ radeon_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) - #if HAS_SYNC_SHARED_PIXMAP - - static Bool --master_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) -+primary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) - { -- ScreenPtr master_screen = radeon_dirty_master(dirty); -+ ScreenPtr primary_screen = radeon_dirty_primary(dirty); - -- return !!master_screen->SyncSharedPixmap; -+ return !!primary_screen->SyncSharedPixmap; - } - - static Bool --slave_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) -+secondary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) - { -- ScreenPtr slave_screen = dirty->slave_dst->drawable.pScreen; -+ ScreenPtr secondary_screen = dirty->secondary_dst->drawable.pScreen; - -- return !!slave_screen->SyncSharedPixmap; -+ return !!secondary_screen->SyncSharedPixmap; - } - - static void - call_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) - { -- ScreenPtr master_screen = radeon_dirty_master(dirty); -+ ScreenPtr primary_screen = radeon_dirty_primary(dirty); - -- master_screen->SyncSharedPixmap(dirty); -+ primary_screen->SyncSharedPixmap(dirty); - } - - #else /* !HAS_SYNC_SHARED_PIXMAP */ - - static Bool --master_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) -+primary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) - { -- ScrnInfoPtr master_scrn = xf86ScreenToScrn(radeon_dirty_master(dirty)); -+ ScrnInfoPtr primary_scrn = xf86ScreenToScrn(radeon_dirty_primary(dirty)); - -- return master_scrn->driverName == scrn->driverName; -+ return primary_scrn->driverName == scrn->driverName; - } - - static Bool --slave_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) -+secondary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) - { -- ScrnInfoPtr slave_scrn = xf86ScreenToScrn(dirty->slave_dst->drawable.pScreen); -+ ScrnInfoPtr secondary_scrn = xf86ScreenToScrn(dirty->secondary_dst->drawable.pScreen); - -- return slave_scrn->driverName == scrn->driverName; -+ return secondary_scrn->driverName == scrn->driverName; - } - - static void -@@ -684,12 +684,12 @@ call_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) - static xf86CrtcPtr - radeon_prime_dirty_to_crtc(PixmapDirtyUpdatePtr dirty) - { -- ScreenPtr screen = dirty->slave_dst->drawable.pScreen; -+ ScreenPtr screen = dirty->secondary_dst->drawable.pScreen; - ScrnInfoPtr scrn = xf86ScreenToScrn(screen); - xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); - int c; - -- /* Find the CRTC which is scanning out from this slave pixmap */ -+ /* Find the CRTC which is scanning out from this secondary pixmap */ - for (c = 0; c < xf86_config->num_crtc; c++) { - xf86CrtcPtr xf86_crtc = xf86_config->crtc[c]; - drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private; -@@ -714,7 +714,7 @@ radeon_prime_scanout_do_update(xf86CrtcPtr crtc, unsigned scanout_id) - if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) { - RegionPtr region; - -- if (master_has_sync_shared_pixmap(scrn, dirty)) -+ if (primary_has_sync_shared_pixmap(scrn, dirty)) - call_sync_shared_pixmap(dirty); - - region = dirty_region(dirty); -@@ -727,7 +727,7 @@ radeon_prime_scanout_do_update(xf86CrtcPtr crtc, unsigned scanout_id) - radeon_cs_flush_indirect(scrn); - RegionCopy(&drmmode_crtc->scanout_last_region, region); - RegionTranslate(region, -crtc->x, -crtc->y); -- dirty->slave_dst = drmmode_crtc->scanout[scanout_id].pixmap; -+ dirty->secondary_dst = drmmode_crtc->scanout[scanout_id].pixmap; - } - - redisplay_dirty(dirty, region); -@@ -754,7 +754,7 @@ radeon_prime_scanout_update_handler(xf86CrtcPtr crtc, uint32_t frame, uint64_t u - static void - radeon_prime_scanout_update(PixmapDirtyUpdatePtr dirty) - { -- ScreenPtr screen = dirty->slave_dst->drawable.pScreen; -+ ScreenPtr screen = dirty->secondary_dst->drawable.pScreen; - ScrnInfoPtr scrn = xf86ScreenToScrn(screen); - RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn); - xf86CrtcPtr xf86_crtc = radeon_prime_dirty_to_crtc(dirty); -@@ -818,7 +818,7 @@ radeon_prime_scanout_update(PixmapDirtyUpdatePtr dirty) - static void - radeon_prime_scanout_flip(PixmapDirtyUpdatePtr ent) - { -- ScreenPtr screen = ent->slave_dst->drawable.pScreen; -+ ScreenPtr screen = ent->secondary_dst->drawable.pScreen; - ScrnInfoPtr scrn = xf86ScreenToScrn(screen); - RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn); - xf86CrtcPtr crtc = radeon_prime_dirty_to_crtc(ent); -@@ -893,11 +893,11 @@ radeon_dirty_update(ScrnInfoPtr scrn) - if (screen->isGPU) { - PixmapDirtyUpdatePtr region_ent = ent; - -- if (master_has_sync_shared_pixmap(scrn, ent)) { -- ScreenPtr master_screen = radeon_dirty_master(ent); -+ if (primary_has_sync_shared_pixmap(scrn, ent)) { -+ ScreenPtr primary_screen = radeon_dirty_primary(ent); - -- xorg_list_for_each_entry(region_ent, &master_screen->pixmap_dirty_list, ent) { -- if (radeon_dirty_src_equals(ent, region_ent->slave_dst)) -+ xorg_list_for_each_entry(region_ent, &primary_screen->pixmap_dirty_list, ent) { -+ if (radeon_dirty_src_equals(ent, region_ent->secondary_dst)) - break; - } - } -@@ -921,7 +921,7 @@ radeon_dirty_update(ScrnInfoPtr scrn) - - RegionDestroy(region); - } else { -- if (slave_has_sync_shared_pixmap(scrn, ent)) -+ if (secondary_has_sync_shared_pixmap(scrn, ent)) - continue; - - region = dirty_region(ent); -@@ -1216,7 +1216,7 @@ static void RADEONBlockHandler_KMS(BLOCKHANDLER_ARGS_DECL) - (*pScreen->BlockHandler) (BLOCKHANDLER_ARGS); - pScreen->BlockHandler = RADEONBlockHandler_KMS; - -- if (!xf86ScreenToScrn(radeon_master_screen(pScreen))->vtSema) -+ if (!xf86ScreenToScrn(radeon_primary_screen(pScreen))->vtSema) - return; - - if (!pScreen->isGPU) -@@ -2584,7 +2584,7 @@ CARD32 cleanup_black_fb(OsTimerPtr timer, CARD32 now, pointer data) - xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); - int c; - -- if (xf86ScreenToScrn(radeon_master_screen(screen))->vtSema) -+ if (xf86ScreenToScrn(radeon_primary_screen(screen))->vtSema) - return 0; - - /* Unreference the all-black FB created by RADEONLeaveVT_KMS. After --- -2.33.1 - diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.1.0.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.1.0.bb deleted file mode 100644 index c8ce77ab88..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.1.0.bb +++ /dev/null @@ -1,25 +0,0 @@ -require recipes-graphics/xorg-driver/xorg-driver-video.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=aabff1606551f9461ccf567739af63dc" - -SUMMARY = "X.Org X server -- ATI Radeon video driver" - -DESCRIPTION = "Open-source X.org graphics driver for ATI Radeon graphics" - -DEPENDS += "virtual/libx11 libxvmc drm \ - virtual/libgl xorgproto libpciaccess" - -inherit features_check -REQUIRED_DISTRO_FEATURES += "opengl" - -SRC_URI += "file://0001-Fix-link-failure-with-gcc-10.patch \ - file://0001-ati-cleanup-terminology-to-use-primary-secondary.patch \ - " -SRC_URI[sha256sum] = "659f5a1629eea5f5334d9b39b18e6807a63aa1efa33c1236d9cc53acbb223c49" - -#EXTRA_OECONF += "--disable-glamor" - -RDEPENDS:${PN} += "xserver-xorg-module-exa" -RRECOMMENDS:${PN} += "linux-firmware-radeon" - -FILES:${PN} += "${datadir}/X11" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_git.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_git.bb new file mode 100644 index 0000000000..9452c3a915 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_git.bb @@ -0,0 +1,41 @@ +require recipes-graphics/xorg-driver/xorg-driver-video.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=aabff1606551f9461ccf567739af63dc" + +SUMMARY = "X.Org X server -- ATI Radeon video driver" + +DESCRIPTION = "Open-source X.org graphics driver for ATI Radeon graphics" + +DEPENDS += "virtual/libx11 libxvmc drm \ + virtual/libgl xorgproto libpciaccess" + +inherit features_check + +REQUIRED_DISTRO_FEATURES += "opengl" + +SRC_URI = "git://git@gitlab.freedesktop.org/xorg/driver/xf86-video-ati.git;branch=master" +SRCREV = "7a6a34af026f0bef8080b91baf97a729380bca01" + +SRC_URI[sha256sum] = "659f5a1629eea5f5334d9b39b18e6807a63aa1efa33c1236d9cc53acbb223c49" + +PV = "19.1.0+git${SRCPV}" + +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= "udev" +PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev" +PACKAGECONFIG[glamor] = "--enable-glamor,--disable-glamor" + +RDEPENDS:${PN}:append = "\ + ${@bb.utils.contains('PACKAGECONFIG', 'glamor', 'libegl', '', d)} \ + mesa-megadriver \ + xserver-xorg-extension-glx \ + xserver-xorg-module-exa \ +" + +RRECOMMENDS:${PN} += "linux-firmware-radeon" + +PACKAGES =+ "${PN}-config" + +FILES:${PN}-config = "${datadir}/X11/xorg.conf.d" +FILES:${PN} += "${datadir}/X11" diff --git a/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb b/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb index 01046c063f..67a821c07c 100644 --- a/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb +++ b/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb @@ -24,7 +24,7 @@ SECURITY_CFLAGS = "" do_configure[depends] += "virtual/kernel:do_shared_workdir" -COMPATIBLE_HOST = "(x86_64).*-linux" +COMPATIBLE_HOST = "(x86_64|aarch64).*-linux" COMPATIBLE_HOST:libc-musl = 'null' do_compile() { diff --git a/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.8.8.bb b/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.10.0.bb index 56d5e1201e..1b42360739 100644 --- a/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.8.8.bb +++ b/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.10.0.bb @@ -7,8 +7,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=381c8cbe277a7bc1ee2ae6083a04c958" LICENSE_FLAGS = "commercial" -SRC_URI = "${SOURCEFORGE_MIRROR}/faac/faad2-src/faad2-2.8.0/${BP}.tar.gz" -SRC_URI[md5sum] = "28f6116efdbe9378269f8a6221767d1f" -SRC_URI[sha256sum] = "985c3fadb9789d2815e50f4ff714511c79c2710ac27a4aaaf5c0c2662141426d" +PV .= "+git${SRCPV}" + +SRC_URI = "git://github.com/knik0/faad2.git;branch=master;protocol=https" +SRCREV = "df42c6fc018552519d140e3d8ffe7046ed48b0cf" + +S = "${WORKDIR}/git" inherit autotools lib_package diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch index d8d1b8d184..fb844acbe4 100644 --- a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch +++ b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch @@ -1,4 +1,4 @@ -From e4582c11f76b9390a3e172dcf0741dca90a9dc8d Mon Sep 17 00:00:00 2001 +From 6e7e52de7afe29597016952a7317faf9c3ea3268 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 30 Nov 2019 18:50:34 -0800 Subject: [PATCH] Do not use getsubopt @@ -11,24 +11,32 @@ Simply avoid getsubopt, since we cannot rely on it. Imported from Alpine Linux Upstream-Status: Pending + Signed-off-by: Khem Raj <raj.khem@gmail.com> +Adapt patch to 1.23.0. + +(v4l-utils rev fd544473800d02e90bc289434cc44e5aa8fadd0f). + +%% original patch: 0007-Do-not-use-getsubopt.patch + +Signed-off-by: Daniel Gomez <daniel@qtec.com> --- utils/v4l2-ctl/v4l2-ctl-common.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp -index c940171..49c0f39 100644 +index d77f7104..838c297d 100644 --- a/utils/v4l2-ctl/v4l2-ctl-common.cpp +++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp -@@ -956,15 +956,17 @@ static bool parse_subset(char *optarg) +@@ -994,15 +994,17 @@ static bool parse_subset(char *optarg) static bool parse_next_subopt(char **subs, char **value) { - static char *const subopts[] = { - nullptr - }; -- int opt = getsubopt(subs, subopts, value); +- int opt = v4l_getsubopt(subs, subopts, value); + char *p = *subs; + *value = *subs; @@ -47,3 +55,6 @@ index c940171..49c0f39 100644 } void common_cmd(const std::string &media_bus_info, int ch, char *optarg) +-- +2.35.1 + diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb index 741e1030cf..2f5ae3586a 100644 --- a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb +++ b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb @@ -6,7 +6,10 @@ PROVIDES = "libv4l media-ctl" DEPENDS = "jpeg \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \ + ${@bb.utils.contains_any('PACKAGECONFIG', 'qv4l2 qvidcap', 'qtbase qtbase-native', '', d)}" + DEPENDS:append:libc-musl = " argp-standalone" DEPENDS:append:class-target = " udev" LDFLAGS:append = " -pthread" @@ -15,30 +18,56 @@ inherit autotools gettext pkgconfig PACKAGECONFIG ??= "media-ctl" PACKAGECONFIG[media-ctl] = "--enable-v4l-utils,--disable-v4l-utils,," +PACKAGECONFIG[qv4l2] = ",--disable-qv4l2" +PACKAGECONFIG[qvidcap] = ",--disable-qvidcap" + +SRC_URI = "\ + git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=master \ + file://0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch \ + file://0002-original-patch-mediactl-pkgconfig.patch \ + file://0003-original-patch-export-mediactl-headers.patch \ + file://0004-Do-not-use-getsubopt.patch \ +" + +SRCREV = "fd544473800d02e90bc289434cc44e5aa8fadd0f" + +S = "${WORKDIR}/git" +B = "${S}" -SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2 \ - file://0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch \ - file://0002-original-patch-mediactl-pkgconfig.patch \ - file://0003-original-patch-export-mediactl-headers.patch \ - file://0007-Do-not-use-getsubopt.patch \ - " +do_configure:prepend() { + ${S}/bootstrap.sh +} SRC_URI[md5sum] = "8aa73287320a49e9170a8255d7b2c7e6" SRC_URI[sha256sum] = "65c6fbe830a44ca105c443b027182c1b2c9053a91d1e72ad849dfab388b94e31" -EXTRA_OECONF = "--disable-qv4l2 --enable-shared --with-udevdir=${base_libdir}/udev \ +EXTRA_OECONF = "--enable-shared --with-udevdir=${base_libdir}/udev \ --disable-v4l2-compliance-32 --disable-v4l2-ctl-32" VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps" -PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev" +PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev qv4l2 qvidcap" RPROVIDES:${PN}-dbg += "libv4l-dbg" FILES:media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*" +FILES:qv4l2 = "\ + ${bindir}/qv4l2 \ + ${datadir}/applications/qv4l2.desktop \ + ${datadir}/icons/hicolor/*/apps/qv4l2.* \ +" +FILES:qvidcap = "\ + ${bindir}/qvidcap \ + ${datadir}/applications/qvidcap.desktop \ + ${datadir}/icons/hicolor/*/apps/qvidcap.* \ +" FILES:ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules" RDEPENDS:ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}" +RDEPENDS:qv4l2 += "\ + ${@bb.utils.contains('PACKAGECONFIG', 'qv4l2', 'qtbase', '', d)}" +RDEPENDS:qvidcap += "\ + ${@bb.utils.contains('PACKAGECONFIG', 'qvidcap', 'qtbase', '', d)}" FILES:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*" diff --git a/meta-openembedded/meta-oe/recipes-support/fmt/fmt_8.1.1.bb b/meta-openembedded/meta-oe/recipes-support/fmt/fmt_9.1.0.bb index c53dd38901..34896153c2 100644 --- a/meta-openembedded/meta-oe/recipes-support/fmt/fmt_8.1.1.bb +++ b/meta-openembedded/meta-oe/recipes-support/fmt/fmt_9.1.0.bb @@ -5,7 +5,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=af88d758f75f3c5c48a967501f24384b" SRC_URI = "git://github.com/fmtlib/fmt;branch=master;protocol=https" -SRCREV = "b6f4ceaed0a0a24ccf575fab6c56dd50ccf6f1a9" +SRCREV = "a33701196adfad74917046096bf5a2aa0ab0bb50" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.5.bb b/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.5.bb index b03a0c7f4a..bc5897413f 100644 --- a/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.5.bb +++ b/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.5.bb @@ -20,14 +20,16 @@ inherit cmake binconfig pkgconfig python3native PACKAGECONFIG ??= "" PACKAGECONFIG[cpp-wrapper] = "-DFTDI_BUILD_CPP=on -DFTDIPP=on,-DFTDI_BUILD_CPP=off -DFTDIPP=off,boost" +PACKAGECONFIG[ftdi-eeprom] = "-DFTDI_EEPROM=on,-DFTDI_EEPROM=off,libconfuse" -EXTRA_OECMAKE = "-DSTATICLIBS=off -DEXAMPLES=off -DFTDI_EEPROM=off \ +EXTRA_OECMAKE = "-DSTATICLIBS=off -DEXAMPLES=off \ -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \ -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}" BBCLASSEXTEND = "native nativesdk" -PACKAGES += "${PN}-python" +PACKAGES =+ "${PN}-python ftdi-eeprom" +FILES:ftdi-eeprom = "${bindir}/ftdi_eeprom" FILES:${PN}-python = "${libdir}/${PYTHON_DIR}/site-packages/" diff --git a/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-don-t-link-against-host-system-libraries.patch b/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-don-t-link-against-host-system-libraries.patch index 891592650d..1db9684abd 100644 --- a/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-don-t-link-against-host-system-libraries.patch +++ b/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-don-t-link-against-host-system-libraries.patch @@ -1,7 +1,7 @@ -From 78103ecd18efcd0966531d8718f6e94dcb7a5abf Mon Sep 17 00:00:00 2001 +From 543990bc34a0e5d4f66a9167efb1f3b8de6a3635 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net> Date: Mon, 6 Jan 2020 16:56:31 +0000 -Subject: [PATCH] build: don't link against (host) system libraries +Subject: [PATCH 1/2] build: don't link against (host) system libraries MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -14,29 +14,29 @@ Signed-off-by: André Draszik <git@andred.net> 2 files changed, 2 deletions(-) diff --git a/sample/Makefile.am b/sample/Makefile.am -index 22a4989..e935bf0 100644 +index 681cd2a933de..c4f796d36da0 100644 --- a/sample/Makefile.am +++ b/sample/Makefile.am -@@ -3,7 +3,6 @@ - lib_onig = ../src/libonig.la +@@ -4,7 +4,6 @@ lib_onig = ../src/libonig.la LDADD = $(lib_onig) --AM_LDFLAGS = -L$(prefix)/lib + AM_CFLAGS = -Wall +-AM_LDFLAGS = -L$(libdir) AM_CPPFLAGS = -I$(top_srcdir)/src if ENABLE_POSIX_API diff --git a/test/Makefile.am b/test/Makefile.am -index 4d62568..b7a2105 100644 +index 94739a24ab22..a23ef1e2e139 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,7 +1,6 @@ ## Makefile.am for Oniguruma lib_onig = ../src/libonig.la --AM_LDFLAGS = -L$(prefix)/lib +-AM_LDFLAGS = -L$(libdir) AM_CFLAGS = -Wall -Wno-invalid-source-encoding AM_CPPFLAGS = -I$(top_srcdir)/src -- -2.23.0.rc1 +2.35.1 diff --git a/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-enable-serial-tests-automake-option-for-ptest.patch b/meta-openembedded/meta-oe/recipes-support/onig/onig/0002-build-enable-serial-tests-automake-option-for-ptest.patch index 587e5ac1b8..a7a28536fb 100644 --- a/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-enable-serial-tests-automake-option-for-ptest.patch +++ b/meta-openembedded/meta-oe/recipes-support/onig/onig/0002-build-enable-serial-tests-automake-option-for-ptest.patch @@ -1,7 +1,7 @@ -From 8bf8189ec4a0d7ee569f66feb0e590e9602c31b6 Mon Sep 17 00:00:00 2001 +From 1ab999aa5a7a21329bab13e05f843e5e029493e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net> Date: Mon, 6 Jan 2020 15:10:30 +0000 -Subject: [PATCH] build: enable serial-tests automake option (for ptest) +Subject: [PATCH 2/2] build: enable serial-tests automake option (for ptest) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -19,10 +19,10 @@ Signed-off-by: André Draszik <git@andred.net> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index ac51e85..48e63ce 100644 +index 079fef9a1a52..058b5504b9b7 100644 --- a/configure.ac +++ b/configure.ac -@@ -3,7 +3,7 @@ AC_INIT(onig, 6.9.4) +@@ -3,7 +3,7 @@ AC_INIT(onig, 6.9.8) AC_CONFIG_MACRO_DIR([m4]) @@ -32,5 +32,5 @@ index ac51e85..48e63ce 100644 -- -2.23.0.rc1 +2.35.1 diff --git a/meta-openembedded/meta-oe/recipes-support/onig/onig_6.9.4.bb b/meta-openembedded/meta-oe/recipes-support/onig/onig_6.9.8.bb index 701f65c299..2144592286 100644 --- a/meta-openembedded/meta-oe/recipes-support/onig/onig_6.9.4.bb +++ b/meta-openembedded/meta-oe/recipes-support/onig/onig_6.9.8.bb @@ -5,17 +5,16 @@ implementations that traditionally exist in different languages. \ Character encoding can be specified per regular expression object." HOMEPAGE = "https://github.com/kkos/oniguruma" LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=1ee043784bdce7503e619b2d1a85798b" +LIC_FILES_CHKSUM = "file://COPYING;md5=e6365c225bb5cc4321d0913f0baffa04" SRC_URI = "\ https://github.com/kkos/oniguruma/releases/download/v${PV}/${BP}.tar.gz \ file://0001-build-don-t-link-against-host-system-libraries.patch \ - file://0001-build-enable-serial-tests-automake-option-for-ptest.patch \ + file://0002-build-enable-serial-tests-automake-option-for-ptest.patch \ file://run-ptest \ " -SRC_URI[md5sum] = "a12d2fe997b789bd87cf63799c091879" -SRC_URI[sha256sum] = "4669d22ff7e0992a7e93e116161cac9c0949cd8960d1c562982026726f0e6d53" +SRC_URI[sha256sum] = "28cd62c1464623c7910565fb1ccaaa0104b2fe8b12bcd646e81f73b47535213e" BINCONFIG = "${bindir}/onig-config" @@ -24,12 +23,12 @@ inherit autotools binconfig-disabled ptest BBCLASSEXTEND = "native" do_compile_ptest() { - oe_runmake -C test buildtest-TESTS + oe_runmake -C test buildtest-TESTS } do_install_ptest() { - mkdir -p ${D}${PTEST_PATH}/tests - install -m 0755 -t ${D}${PTEST_PATH}/tests/ ${B}/test/.libs/* + mkdir -p ${D}${PTEST_PATH}/tests + install -m 0755 -t ${D}${PTEST_PATH}/tests/ ${B}/test/.libs/* } PROVIDES += "oniguruma" diff --git a/meta-openembedded/meta-oe/recipes-support/tio/tio_2.0.bb b/meta-openembedded/meta-oe/recipes-support/tio/tio_2.0.bb new file mode 100644 index 0000000000..3cc510081c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/tio/tio_2.0.bb @@ -0,0 +1,19 @@ +SUMMARY = "tio - a simple serial device I/O tool" +DESCRIPTION = "tio is a simple serial device tool which features a \ + straightforward command-line and configuration file interface to easily \ + connect to serial TTY devices for basic I/O operations." + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0e1a95b7892d3015ecd6d0016f601f2c" + +SRC_URI = "git://github.com/tio/tio;protocol=https;nobranch=1" +SRCREV = "6618642acf28fec6d3e70ed75b50d4ce138ea08a" + +S = "${WORKDIR}/git" + +inherit meson pkgconfig + +DEPENDS += " libinih" +RDEPENDS:${PN} += " libinih" + +FILES:${PN} += " /usr/share/bash-completion/completions/tio " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_21.12.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_21.12.0.bb index 9efeec4d9f..5cbb3268b0 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_21.12.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_21.12.0.bb @@ -4,7 +4,7 @@ a high-level synchronous API on top of the libevent event loop." HOMEPAGE = "http://www.gevent.org" LICENSE = "MIT & Python-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=4de99aac27b470c29c6c309e0c279b65" -DEPENDS += "${PYTHON_PN}-greenlet libev c-ares" +DEPENDS += "${PYTHON_PN}-greenlet libev libuv c-ares" RDEPENDS:${PN} = "${PYTHON_PN}-greenlet \ ${PYTHON_PN}-mime \ @@ -15,8 +15,10 @@ SRC_URI[sha256sum] = "f48b64578c367b91fa793bf8eaaaf4995cb93c8bc45860e473bf868070 inherit pypi setuptools3 -# Don't embed libraries, link to the system instead -export GEVENTSETUP_EMBED = "0" +# Don't embed libraries, link to the system provided libs instead +export GEVENTSETUP_EMBED_CARES = "0" +export GEVENTSETUP_EMBED_LIBEV = "0" +export GEVENTSETUP_EMBED_LIBUV = "0" # Delete the embedded copies of libraries so we can't accidentally link to them do_configure:append() { |