Date   

Re: [PATCH] wxwidgets: Fix building without x11

Scott Murray
 

On Fri, 8 Apr 2022, Scott Murray via lists.openembedded.org wrote:

Building with wayland and opengl in DISTRO_FEATURES without x11 as
well was giving the error:

wxwidgets: PACKAGECONFIG[no_gui] Conflict package config 'opengl' set in PACKAGECONFIG.

Upon some investigation, it looks like wxwidgets now supports building
against Gtk's Wayland support, so we can also enable it if wayland is
in DISTRO_FEATURES. For OpenGL, however, wxwidgets seems to have a
dependency on libglu, so the DISTRO_FEATURES check has been changed
to only enable it by default if both x11 and opengl are configured.

Signed-off-by: Scott Murray <scott.murray@...>
---
meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
I hadn't checked the list before sending this, I'd be okay with Robert's
similar fix instead, though enabling building with wayland support seems
like it potentially could be useful to somebody.

diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
index e82143040..e7e89d64a 100644
--- a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
@@ -43,9 +43,9 @@ EXTRA_OECMAKE:append:libc-musl = " \
-DHAVE_LOCALE_T=OFF \
"

-# All toolkit-configs except 'no_gui' require x11 explicitly (see toolkit.cmake)
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', 'no_gui', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \
+# OpenGL support currently seems tied to using libglu, which requires x11
+PACKAGECONFIG ?= "${@bb.utils.contains_any('DISTRO_FEATURES', 'x11 wayland', 'gtk', 'no_gui', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'opengl', '', d)} \
"

PACKAGECONFIG:remove:class-native = "opengl"


Re: [meta-oe][hardknott][PATCH 2/3] abseil-cpp: Fix build with glibc 2.34

Armin Kuster
 

On 4/7/22 17:28, Martin Jansa wrote:
Just like the .patch file in master branch, does hardknott have stricter rules than master branch?
master should be fixed then.

Ill take this as-is.

-armin

On Fri, Apr 8, 2022 at 1:57 AM akuster808 <akuster808@...> wrote:



On 4/5/22 03:41, Martin Jansa wrote:
> From: Khem Raj <raj.khem@...>
>
> * based on commit from honister, but without the upgrade:
>    commit 8691de2580dd872e3d001d67c8455108b3bd627c
>    Author: Khem Raj <raj.khem@...>
>    Date:   Sat May 8 14:38:52 2021 -0700
>
>      abseil-cpp: Upgrade to lts_2021_03_24
>
>      Fix build with glibc 2.34 while here
>      Forward patches to this version
>      Let system package the libraries
>
>    to fix abseil-cpp-native build on e.g. Ubuntu-22.04 with
glibc-2.34 to fix:
>
>    | FAILED:
absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o
>    | /OE/lge/build/webosose/hardknott/BUILD/hosttools/g++
-Dfailure_signal_handler_EXPORTS
-I/OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git
-isystem/OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/recipe-sysroot-native/usr/include
-O2 -pipe -fPIC -Wall -Wextra -Wcast-qual -Wconversion-null
-Wmissing-declarations -Woverlength-strings -Wpointer-arith
-Wundef -Wunused-local-typedefs -Wunused-result -Wvarargs -Wvla
-Wwrite-strings -Wno-missing-field-initializers -Wno-sign-compare
-DNOMINMAX -std=gnu++14 -MD -MT
absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o
-MF
absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o.d
-o
absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o
-c
/OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc
>    |
/OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc:
In function ‘bool absl::lts_2020_09_23::SetupAlternateStackOnce()’:
>    |
/OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc:138:32:
error: no matching function for call to ‘max(long int, int)’
>    |   138 |   size_t stack_size = (std::max(SIGSTKSZ, 65536) +
page_mask) & ~page_mask;
>    |       | ~~~~~~~~^~~~~~~~~~~~~~~~~
>
> Signed-off-by: Khem Raj <raj.khem@...>
> Signed-off-by: Martin Jansa <Martin.Jansa@...>
> ---
>   ...01-Export-of-internal-Abseil-changes.patch | 82
+++++++++++++++++++
>   .../abseil-cpp/abseil-cpp_git.bb <http://abseil-cpp_git.bb>  
          |  1 +
>   2 files changed, 83 insertions(+)
>   create mode 100644
meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
>
> diff --git
a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
> new file mode 100644
> index 0000000000..c0fb0571f7
> --- /dev/null
> +++
b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
> @@ -0,0 +1,82 @@
> +From d3424201a73f29ab533121b1821a76e1b4313beb Mon Sep 17
00:00:00 2001
> +From: Abseil Team <absl-team@...>
> +Date: Mon, 3 May 2021 07:37:39 -0700
> +Subject: [PATCH] Export of internal Abseil changes
> +
> +--
> +cf88f9cf40eab54c06bca7f20795352ec23bb583 by Derek Mauro
<dmauro@...>:
> +
> +Fixes build with latest glibc
> +Fixes #952
> +
> +PiperOrigin-RevId: 371693908
> +
> +--
> +99bcd0f4a747ce7a401e23c745adf34d0ec5131b by Samuel Benzaquen
<sbenza@...>:
> +
> +Add support for std::string_view in StrFormat even when
> +absl::string_view != std::string_view.
> +
> +PiperOrigin-RevId: 371693633
> +
> +--
> +e35463572149a6c2d4a0d439b9300ce03fd6b96d by Abseil Team
<absl-team@...>:
> +
> +Cmake builds should only install pkg-config when explicitly
requested.
> +
> +PiperOrigin-RevId: 371403419
> +GitOrigin-RevId: cf88f9cf40eab54c06bca7f20795352ec23bb583
> +Change-Id: I4360a18c638a4d901ff44ab1e0a9d8f321c302ea

Patch missing "Upstream-Status" and "Signed-off-by"

- armin
> +---
> + absl/debugging/failure_signal_handler.cc         | 3 ++-
> + absl/strings/internal/str_format/arg.h           | 8 ++++++++
> + absl/strings/internal/str_format/convert_test.cc | 3 +++
> + 3 files changed, 13 insertions(+), 1 deletion(-)
> +
> +diff --git a/absl/debugging/failure_signal_handler.cc
b/absl/debugging/failure_signal_handler.cc
> +index 5d13bdbb..2ed137b5 100644
> +--- a/absl/debugging/failure_signal_handler.cc
> ++++ b/absl/debugging/failure_signal_handler.cc
> +@@ -135,7 +135,8 @@ static bool SetupAlternateStackOnce() {
> + #else
> +   const size_t page_mask = sysconf(_SC_PAGESIZE) - 1;
> + #endif
> +-  size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask)
& ~page_mask;
> ++  size_t stack_size =
> ++      (std::max<size_t>(SIGSTKSZ, 65536) + page_mask) &
~page_mask;
> + #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \
> +     defined(ABSL_HAVE_MEMORY_SANITIZER) ||
defined(ABSL_HAVE_THREAD_SANITIZER)
> +   // Account for sanitizer instrumentation requiring
additional stack space.
> +diff --git a/absl/strings/internal/str_format/arg.h
b/absl/strings/internal/str_format/arg.h
> +index 3dbc1526..f9d89d12 100644
> +--- a/absl/strings/internal/str_format/arg.h
> ++++ b/absl/strings/internal/str_format/arg.h
> +@@ -108,6 +108,14 @@ StringConvertResult
FormatConvertImpl(const std::string& v,
> + StringConvertResult FormatConvertImpl(string_view v,
> +  FormatConversionSpecImpl conv,
> +                                       FormatSinkImpl* sink);
> ++#if defined(ABSL_HAVE_STD_STRING_VIEW) &&
!defined(ABSL_USES_STD_STRING_VIEW)
> ++inline StringConvertResult FormatConvertImpl(std::string_view v,
> ++  FormatConversionSpecImpl conv,
> ++  FormatSinkImpl* sink) {
> ++  return FormatConvertImpl(absl::string_view(v.data(),
v.size()), conv, sink);
> ++}
> ++#endif  // ABSL_HAVE_STD_STRING_VIEW && !ABSL_USES_STD_STRING_VIEW
> ++
> + ArgConvertResult<FormatConversionCharSetUnion(
> +     FormatConversionCharSetInternal::s,
FormatConversionCharSetInternal::p)>
> + FormatConvertImpl(const char* v, const
FormatConversionSpecImpl conv,
> +diff --git a/absl/strings/internal/str_format/convert_test.cc
b/absl/strings/internal/str_format/convert_test.cc
> +index 634ee78b..cc789530 100644
> +--- a/absl/strings/internal/str_format/convert_test.cc
> ++++ b/absl/strings/internal/str_format/convert_test.cc
> +@@ -215,6 +215,9 @@ TEST_F(FormatConvertTest, BasicString) {
> +   TestStringConvert(static_cast<const char*>("hello"));
> +   TestStringConvert(std::string("hello"));
> +   TestStringConvert(string_view("hello"));
> ++#if defined(ABSL_HAVE_STD_STRING_VIEW)
> ++  TestStringConvert(std::string_view("hello"));
> ++#endif  // ABSL_HAVE_STD_STRING_VIEW
> + }
> +
> + TEST_F(FormatConvertTest, NullString) {
> diff --git
a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
<http://abseil-cpp_git.bb>
b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
<http://abseil-cpp_git.bb>
> index 569bb13993..a49fe672e8 100644
> --- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
<http://abseil-cpp_git.bb>
> +++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
<http://abseil-cpp_git.bb>
> @@ -14,6 +14,7 @@ SRC_URI =
"git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https
<http://github.com/abseil/abseil-cpp;branch=$%7BBRANCH%7D;protocol=https>
\
> file://0001-absl-always-use-asm-sgidefs.h.patch             \
> file://0002-Remove-maes-option-from-cross-compilation.patch \
>              file://abseil-ppc-fixes.patch \
> +  file://0001-Export-of-internal-Abseil-changes.patch \
>             "
>
>   S = "${WORKDIR}/git"
>
>


Re: [meta-networking][PATCH] drbd-utils: update 9.13.1 -> 9.20.2

Khem Raj
 

On 4/8/22 7:58 AM, Sakib Sajal wrote:
On 2022-04-07 15:30, Khem Raj wrote:
[Please note: This e-mail is from an EXTERNAL e-mail address]

fails with clang
https://errors.yoctoproject.org/Errors/Details/654033/

Perhaps we need to pass -Wno-error to silence this warning.

On Wed, Apr 6, 2022 at 12:36 PM Sakib Sajal <sakib.sajal@...> wrote:
Dropped patch which is merged upstream:
         0001-v84-Make-setup_options-definitions-as-extern.patch

Refreshed patch:
         0001-drbd-utils-support-usrmerge.patch

The compiled binaries are not linked to LDFLAGS options provided
by the build system cause QA issue:
         do_package_qa: QA Issue: File /usr/sbin/drbdmon in package
         drbd-utils doesn't have GNU_HASH (didn't pass LDFLAGS?)
Add LDFLAGS when linking drmdmon binary.

Signed-off-by: Sakib Sajal <sakib.sajal@...>
---
  .../0001-drbd-utils-support-usrmerge.patch    | 39 +++++++++++--------
  ...001-drbdmon-add-LDFLAGS-when-linking.patch | 26 +++++++++++++
  ...-setup_options-definitions-as-extern.patch | 32 ---------------
  ...d-utils_9.13.1.bb => drbd-utils_9.20.2.bb} | 13 +++++--
  4 files changed, 58 insertions(+), 52 deletions(-)
  create mode 100644 meta-networking/recipes-support/drbd/drbd-utils/0001-drbdmon-add-LDFLAGS-when-linking.patch
  delete mode 100644 meta-networking/recipes-support/drbd/drbd-utils/0001-v84-Make-setup_options-definitions-as-extern.patch
  rename meta-networking/recipes-support/drbd/{drbd-utils_9.13.1.bb => drbd-utils_9.20.2.bb} (85%)

diff --git a/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch b/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch
index 5e128727d..d976680e3 100644
---
a/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch
+++ b/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch
@@ -1,4 +1,4 @@
-From 642b5823abeee27a0fdc2d12d0e1235461ace9ed Mon Sep 17 00:00:00 2001
+From 83764f5d57b3370e0b04a70f814ca49237a66eea Mon Sep 17 00:00:00 2001
  From: Changqing Li <changqing.li@...>
  Date: Thu, 5 Sep 2019 18:57:39 +0800
  Subject: [PATCH] drbd-utils: support usrmerge
@@ -6,18 +6,19 @@ Subject: [PATCH] drbd-utils: support usrmerge
  Upstream-Status: Inappropriate[oe-specific]

  Signed-off-by: Changqing Li <changqing.li@...>
+Signed-off-by: Sakib Sajal <sakib.sajal@...>
  ---
   configure.ac         |  2 +-
- scripts/Makefile.in  |  4 ++--
+ scripts/Makefile.in  | 10 +++++-----
   user/v83/Makefile.in | 14 +++++++-------
   user/v84/Makefile.in | 14 +++++++-------
- 4 files changed, 17 insertions(+), 17 deletions(-)
+ 4 files changed, 20 insertions(+), 20 deletions(-)

  diff --git a/configure.ac b/configure.ac
-index 4df1b4d..c4ef1bc 100644
+index ae575586..3d7deeae 100644
  --- a/configure.ac
  +++ b/configure.ac
-@@ -176,7 +176,7 @@ AC_ARG_WITH(tmpfilesdir,
+@@ -180,7 +180,7 @@ AC_ARG_WITH(tmpfilesdir,
   AC_SUBST(tmpfilesdir)

   # set default early
@@ -27,22 +28,28 @@ index 4df1b4d..c4ef1bc 100644
      test x"$with_udev" = xyes ; then
         if test x"$PKG_CONFIG" != x; then
  diff --git a/scripts/Makefile.in b/scripts/Makefile.in
-index fbb0beb..da701a1 100644
+index fcd298e9..2521fb08 100644
  --- a/scripts/Makefile.in
  +++ b/scripts/Makefile.in
-@@ -75,8 +75,8 @@ endif
- ifeq ($(subst both,systemd,$(initscripttype)),systemd)
+@@ -88,11 +88,11 @@ ifeq ($(subst both,systemd,$(initscripttype)),systemd)
         install -d $(DESTDIR)$(systemdunitdir)
         install -m 644 drbd.service $(DESTDIR)$(systemdunitdir)/
--      install -d $(DESTDIR)/lib/drbd/
--      install -m 755 drbd $(DESTDIR)/lib/drbd/
-+      install -d $(DESTDIR)/${nonarch_libdir}/drbd
-+      install -m 755 drbd $(DESTDIR)/${nonarch_libdir}/drbd
+       install -m 644 $(SYSTEMD_TEMPLATES) $(DESTDIR)$(systemdunitdir)/
+-      install -d $(DESTDIR)/lib/drbd/scripts
+-      install -m 755 drbd $(DESTDIR)/lib/drbd/scripts
+-      install -m 755 drbd-service-shim.sh $(DESTDIR)/lib/drbd/scripts
+-      install -m 755 drbd-wait-promotable.sh $(DESTDIR)/lib/drbd/scripts
+-      install -m 755 ocf.ra.wrapper.sh $(DESTDIR)/lib/drbd/scripts
++      install -d $(DESTDIR)/${nonarch_libdir}/drbdscripts
++      install -m 755 drbd $(DESTDIR)/${nonarch_libdir}/drbdscripts
++      install -m 755 drbd-service-shim.sh $(DESTDIR)/${nonarch_libdir}/drbdscripts
++      install -m 755 drbd-wait-promotable.sh $(DESTDIR)/${nonarch_libdir}/drbdscripts
++      install -m 755 ocf.ra.wrapper.sh $(DESTDIR)/${nonarch_libdir}/drbdscripts
         install -d $(DESTDIR)$(tmpfilesdir)/
         install -m 444 drbd.tmpfiles.conf $(DESTDIR)$(tmpfilesdir)/drbd.conf
   endif
  diff --git a/user/v83/Makefile.in b/user/v83/Makefile.in
-index 27516de..b301376 100644
+index 08cfe574..4c4971b6 100644
  --- a/user/v83/Makefile.in
  +++ b/user/v83/Makefile.in
  @@ -96,19 +96,19 @@ install:
@@ -73,10 +80,10 @@ index 27516de..b301376 100644
   .PHONY: install uninstall clean distclean
   ../../configure:
  diff --git a/user/v84/Makefile.in b/user/v84/Makefile.in
-index 38977c6..05ef060 100644
+index 0fcefc5f..81f7d5ec 100644
  --- a/user/v84/Makefile.in
  +++ b/user/v84/Makefile.in
-@@ -109,19 +109,19 @@ ifeq ($(WITH_84_SUPPORT),yes)
+@@ -110,19 +110,19 @@ ifeq ($(WITH_84_SUPPORT),yes)
         install -d $(DESTDIR)$(localstatedir)/lib/drbd
         install -d $(DESTDIR)$(localstatedir)/run/drbd
         install -d $(DESTDIR)$(localstatedir)/lock
@@ -104,5 +111,5 @@ index 38977c6..05ef060 100644
   spell:
         for f in drbdadm_adjust.c drbdadm_main.c drbdadm_parser.c drbdadm_usage_cnt.c drbdsetup.c drbdtool_common.c; do \
  --
-2.7.4
+2.33.0

diff --git a/meta-networking/recipes-support/drbd/drbd-utils/0001-drbdmon-add-LDFLAGS-when-linking.patch b/meta-networking/recipes-support/drbd/drbd-utils/0001-drbdmon-add-LDFLAGS-when-linking.patch
new file mode 100644
index 000000000..bdc173fa9
--- /dev/null
+++ b/meta-networking/recipes-support/drbd/drbd-utils/0001-drbdmon-add-LDFLAGS-when-linking.patch
@@ -0,0 +1,26 @@
+From a61b9ff2d2cb7387a5cd347b2201535ee45a46ee Mon Sep 17 00:00:00 2001
+From: Sakib Sajal <sakib.sajal@...>
+Date: Thu, 31 Mar 2022 15:09:58 -0400
+Subject: [PATCH] drbdmon: add LDFLAGS when linking
+
+Signed-off-by: Sakib Sajal <sakib.sajal@...>
+---
+ user/drbdmon/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/user/drbdmon/Makefile.in b/user/drbdmon/Makefile.in
+index e07eb772..17166098 100644
+--- a/user/drbdmon/Makefile.in
++++ b/user/drbdmon/Makefile.in
+@@ -51,7 +51,7 @@ $(dsaext-obj): $(basename $(dsaext-obj)).cpp $(basename $(dsaext-obj)).h
+ $(integerparse-obj): $(basename $(integerparse-obj)).cpp $(basename $(integerparse-obj)).h
+
+ drbdmon: $(ls-obj)
+-      $(CXX) -o $@ $(CPPFLAGS) $(CXXFLAGS) $^ $(LIBS)
++      $(CXX) -o $@ $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) $^ $(LIBS)
+
+ # do not try to rebuild Makefile itself
+ Makefile: ;
+--
+2.33.0
+
diff --git a/meta-networking/recipes-support/drbd/drbd-utils/0001-v84-Make-setup_options-definitions-as-extern.patch b/meta-networking/recipes-support/drbd/drbd-utils/0001-v84-Make-setup_options-definitions-as-extern.patch
deleted file mode 100644
index 6702f3bde..000000000
---
a/meta-networking/recipes-support/drbd/drbd-utils/0001-v84-Make-setup_options-definitions-as-extern.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From d095caf6f8f77fe056fb90ccd5d89c207a7f346d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@...>
-Date: Wed, 12 Aug 2020 12:59:38 -0700
-Subject: [PATCH] v84: Make setup_options definitions as extern
-
-This is already defined in drbdadm_main.c, therefore make this
-declaration to be extern for other modules
-
-Fixes compatibility with gcc-10 which uses -fno-common by default
-
-Upstream-Status: Submitted [https://github.com/LINBIT/drbd-utils/pull/7]
-Signed-off-by: Khem Raj <raj.khem@...>
----
- user/v84/drbdadm.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/user/v84/drbdadm.h b/user/v84/drbdadm.h
-index ed63d78c..8469f1c4 100644
---- a/user/v84/drbdadm.h
-+++ b/user/v84/drbdadm.h
-@@ -251,7 +251,7 @@ struct setup_option {
-       bool explicit;
-       char *option;
- };
--struct setup_option *setup_options;
-+extern struct setup_option *setup_options;
-
- extern void add_setup_option(bool explicit, char *option);
-
---
-2.28.0
-
diff --git a/meta-networking/recipes-support/drbd/drbd-utils_9.13.1.bb b/meta-networking/recipes-support/drbd/drbd-utils_9.20.2.bb
similarity index 85%
rename from meta-networking/recipes-support/drbd/drbd-utils_9.13.1.bb
rename to meta-networking/recipes-support/drbd/drbd-utils_9.20.2.bb
index a246464b2..d9cd94c04 100644
--- a/meta-networking/recipes-support/drbd/drbd-utils_9.13.1.bb
+++ b/meta-networking/recipes-support/drbd/drbd-utils_9.20.2.bb
@@ -10,11 +10,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"

  SRC_URI = "git://github.com/LINBIT/drbd-utils;name=drbd-utils;branch=${PV};protocol=https \
git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=git/drbd-headers;branch=master;protocol=https \
- file://0001-v84-Make-setup_options-definitions-as-extern.patch \
${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-drbd-utils-support-usrmerge.patch','',d)} \
+           file://0001-drbdmon-add-LDFLAGS-when-linking.patch \
            "
-SRCREV_drbd-utils = "b24b0f7e42d500d3538d7eeffa017ec78d08f918"
-SRCREV_drbd-headers = "c757cf357edef67751b8f45a6ea894d287180087"
+SRCREV_drbd-utils = "087ee6b4961ca154d76e4211223b03149373bed8"
+SRCREV_drbd-headers = "f1529aa84e9d2f66c96ad283a1bbb708aabf03f7"

  SRCREV_FORMAT = "drbd-utils_drbd-headers"

@@ -40,6 +40,8 @@ EXTRA_OECONF = " \
                  --without-manual \
                 "

+CXXFLAGS:append:toolchain-clang = " -Wno-error"
+
Forgot to mention this was a V2. I do have the line that you suggested. Do i need to add something else?
yes it seems to be not effective. I am not sure why, sometimes flags from environment appear before the flags from make system and this might mean the sequence would make it ineffective.

Sakib

  # If we have inherited reproducible_build, we want to use it.
  export WANT_DRBD_REPRODUCIBLE_BUILD = "yes"

@@ -56,7 +58,10 @@ RDEPENDS:${PN} += "bash perl-module-getopt-long perl-module-exporter perl-module
  FILES:${PN} += "/run"
  FILES:${PN} += "${nonarch_base_libdir}/drbd \
                  ${nonarch_libdir}/drbd \
-                ${nonarch_libdir}/tmpfiles.d"
+                ${nonarch_libdir}/tmpfiles.d \
+                ${nonarch_libdir}/drbdscripts/* \
+                ${systemd_unitdir}/system/* \
+"
  FILES:${PN}-dbg += "${nonarch_base_libdir}/drbd/.debug"

  CLEANBROKEN = "1"
--
2.33.0



Re: honister merge request : April 7th

Khem Raj
 

merged thanks

On 4/7/22 4:45 PM, akuster808 wrote:
The following changes since commit de18681d7dd27000c132bc68f9fa267e8f5a2348:
  python3-django: upgrade 3.2.10 -> 3.2.12 (2022-03-31 13:49:34 -0700)
are available in the Git repository at:
  https://git.openembedded.org/meta-openembedded honister-next
for you to fetch changes up to a19d1802b15fe07e9b1e7584ff9af7c33bfe642a:
  net-snmp: Avoid running `make clean` as it may fail (2022-04-07 16:42:55 -0700)
----------------------------------------------------------------
Martin Jansa (1):
      htop: switch branch from master to main
Peter Kjellerstedt (2):
      libsrtp: Switch branch from master to main
      net-snmp: Avoid running `make clean` as it may fail
Thomas Perrot (1):
      breakpad: fix branch for gtest in SRC_URI
Trevor Gamblin (1):
      python3-lxml: upgrade 4.6.3 -> 4.6.5
 meta-multimedia/recipes-support/libsrtp/libsrtp_2.3.0.bb | 2 +-
 meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.1.bb | 1 +
 meta-oe/recipes-devtools/breakpad/breakpad_git.bb | 2 +-
 meta-oe/recipes-support/htop/htop_3.0.5.bb | 2 +-
 meta-python/recipes-devtools/python/{python3-lxml_4.6.3.bb => python3-lxml_4.6.5.bb} | 2 +-
 5 files changed, 5 insertions(+), 4 deletions(-)
 rename meta-python/recipes-devtools/python/{python3-lxml_4.6.3.bb => python3-lxml_4.6.5.bb} (95%)


[PATCH] wxwidgets: Fix building without x11

Scott Murray
 

Building with wayland and opengl in DISTRO_FEATURES without x11 as
well was giving the error:

wxwidgets: PACKAGECONFIG[no_gui] Conflict package config 'opengl' set in PACKAGECONFIG.

Upon some investigation, it looks like wxwidgets now supports building
against Gtk's Wayland support, so we can also enable it if wayland is
in DISTRO_FEATURES. For OpenGL, however, wxwidgets seems to have a
dependency on libglu, so the DISTRO_FEATURES check has been changed
to only enable it by default if both x11 and opengl are configured.

Signed-off-by: Scott Murray <scott.murray@...>
---
meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
index e82143040..e7e89d64a 100644
--- a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
@@ -43,9 +43,9 @@ EXTRA_OECMAKE:append:libc-musl = " \
-DHAVE_LOCALE_T=OFF \
"

-# All toolkit-configs except 'no_gui' require x11 explicitly (see toolkit.cmake)
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', 'no_gui', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \
+# OpenGL support currently seems tied to using libglu, which requires x11
+PACKAGECONFIG ?= "${@bb.utils.contains_any('DISTRO_FEATURES', 'x11 wayland', 'gtk', 'no_gui', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'opengl', '', d)} \
"

PACKAGECONFIG:remove:class-native = "opengl"
--
2.35.1


Re: [meta-networking][PATCH] drbd-utils: update 9.13.1 -> 9.20.2

Sakib Sajal
 

On 2022-04-07 15:30, Khem Raj wrote:
[Please note: This e-mail is from an EXTERNAL e-mail address]

fails with clang
https://errors.yoctoproject.org/Errors/Details/654033/

Perhaps we need to pass -Wno-error to silence this warning.

On Wed, Apr 6, 2022 at 12:36 PM Sakib Sajal <sakib.sajal@...> wrote:
Dropped patch which is merged upstream:
0001-v84-Make-setup_options-definitions-as-extern.patch

Refreshed patch:
0001-drbd-utils-support-usrmerge.patch

The compiled binaries are not linked to LDFLAGS options provided
by the build system cause QA issue:
do_package_qa: QA Issue: File /usr/sbin/drbdmon in package
drbd-utils doesn't have GNU_HASH (didn't pass LDFLAGS?)
Add LDFLAGS when linking drmdmon binary.

Signed-off-by: Sakib Sajal <sakib.sajal@...>
---
.../0001-drbd-utils-support-usrmerge.patch | 39 +++++++++++--------
...001-drbdmon-add-LDFLAGS-when-linking.patch | 26 +++++++++++++
...-setup_options-definitions-as-extern.patch | 32 ---------------
...d-utils_9.13.1.bb => drbd-utils_9.20.2.bb} | 13 +++++--
4 files changed, 58 insertions(+), 52 deletions(-)
create mode 100644 meta-networking/recipes-support/drbd/drbd-utils/0001-drbdmon-add-LDFLAGS-when-linking.patch
delete mode 100644 meta-networking/recipes-support/drbd/drbd-utils/0001-v84-Make-setup_options-definitions-as-extern.patch
rename meta-networking/recipes-support/drbd/{drbd-utils_9.13.1.bb => drbd-utils_9.20.2.bb} (85%)

diff --git a/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch b/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch
index 5e128727d..d976680e3 100644
--- a/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch
+++ b/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch
@@ -1,4 +1,4 @@
-From 642b5823abeee27a0fdc2d12d0e1235461ace9ed Mon Sep 17 00:00:00 2001
+From 83764f5d57b3370e0b04a70f814ca49237a66eea Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@...>
Date: Thu, 5 Sep 2019 18:57:39 +0800
Subject: [PATCH] drbd-utils: support usrmerge
@@ -6,18 +6,19 @@ Subject: [PATCH] drbd-utils: support usrmerge
Upstream-Status: Inappropriate[oe-specific]

Signed-off-by: Changqing Li <changqing.li@...>
+Signed-off-by: Sakib Sajal <sakib.sajal@...>
---
configure.ac | 2 +-
- scripts/Makefile.in | 4 ++--
+ scripts/Makefile.in | 10 +++++-----
user/v83/Makefile.in | 14 +++++++-------
user/v84/Makefile.in | 14 +++++++-------
- 4 files changed, 17 insertions(+), 17 deletions(-)
+ 4 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/configure.ac b/configure.ac
-index 4df1b4d..c4ef1bc 100644
+index ae575586..3d7deeae 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -176,7 +176,7 @@ AC_ARG_WITH(tmpfilesdir,
+@@ -180,7 +180,7 @@ AC_ARG_WITH(tmpfilesdir,
AC_SUBST(tmpfilesdir)

# set default early
@@ -27,22 +28,28 @@ index 4df1b4d..c4ef1bc 100644
test x"$with_udev" = xyes ; then
if test x"$PKG_CONFIG" != x; then
diff --git a/scripts/Makefile.in b/scripts/Makefile.in
-index fbb0beb..da701a1 100644
+index fcd298e9..2521fb08 100644
--- a/scripts/Makefile.in
+++ b/scripts/Makefile.in
-@@ -75,8 +75,8 @@ endif
- ifeq ($(subst both,systemd,$(initscripttype)),systemd)
+@@ -88,11 +88,11 @@ ifeq ($(subst both,systemd,$(initscripttype)),systemd)
install -d $(DESTDIR)$(systemdunitdir)
install -m 644 drbd.service $(DESTDIR)$(systemdunitdir)/
-- install -d $(DESTDIR)/lib/drbd/
-- install -m 755 drbd $(DESTDIR)/lib/drbd/
-+ install -d $(DESTDIR)/${nonarch_libdir}/drbd
-+ install -m 755 drbd $(DESTDIR)/${nonarch_libdir}/drbd
+ install -m 644 $(SYSTEMD_TEMPLATES) $(DESTDIR)$(systemdunitdir)/
+- install -d $(DESTDIR)/lib/drbd/scripts
+- install -m 755 drbd $(DESTDIR)/lib/drbd/scripts
+- install -m 755 drbd-service-shim.sh $(DESTDIR)/lib/drbd/scripts
+- install -m 755 drbd-wait-promotable.sh $(DESTDIR)/lib/drbd/scripts
+- install -m 755 ocf.ra.wrapper.sh $(DESTDIR)/lib/drbd/scripts
++ install -d $(DESTDIR)/${nonarch_libdir}/drbdscripts
++ install -m 755 drbd $(DESTDIR)/${nonarch_libdir}/drbdscripts
++ install -m 755 drbd-service-shim.sh $(DESTDIR)/${nonarch_libdir}/drbdscripts
++ install -m 755 drbd-wait-promotable.sh $(DESTDIR)/${nonarch_libdir}/drbdscripts
++ install -m 755 ocf.ra.wrapper.sh $(DESTDIR)/${nonarch_libdir}/drbdscripts
install -d $(DESTDIR)$(tmpfilesdir)/
install -m 444 drbd.tmpfiles.conf $(DESTDIR)$(tmpfilesdir)/drbd.conf
endif
diff --git a/user/v83/Makefile.in b/user/v83/Makefile.in
-index 27516de..b301376 100644
+index 08cfe574..4c4971b6 100644
--- a/user/v83/Makefile.in
+++ b/user/v83/Makefile.in
@@ -96,19 +96,19 @@ install:
@@ -73,10 +80,10 @@ index 27516de..b301376 100644
.PHONY: install uninstall clean distclean
../../configure:
diff --git a/user/v84/Makefile.in b/user/v84/Makefile.in
-index 38977c6..05ef060 100644
+index 0fcefc5f..81f7d5ec 100644
--- a/user/v84/Makefile.in
+++ b/user/v84/Makefile.in
-@@ -109,19 +109,19 @@ ifeq ($(WITH_84_SUPPORT),yes)
+@@ -110,19 +110,19 @@ ifeq ($(WITH_84_SUPPORT),yes)
install -d $(DESTDIR)$(localstatedir)/lib/drbd
install -d $(DESTDIR)$(localstatedir)/run/drbd
install -d $(DESTDIR)$(localstatedir)/lock
@@ -104,5 +111,5 @@ index 38977c6..05ef060 100644
spell:
for f in drbdadm_adjust.c drbdadm_main.c drbdadm_parser.c drbdadm_usage_cnt.c drbdsetup.c drbdtool_common.c; do \
--
-2.7.4
+2.33.0

diff --git a/meta-networking/recipes-support/drbd/drbd-utils/0001-drbdmon-add-LDFLAGS-when-linking.patch b/meta-networking/recipes-support/drbd/drbd-utils/0001-drbdmon-add-LDFLAGS-when-linking.patch
new file mode 100644
index 000000000..bdc173fa9
--- /dev/null
+++ b/meta-networking/recipes-support/drbd/drbd-utils/0001-drbdmon-add-LDFLAGS-when-linking.patch
@@ -0,0 +1,26 @@
+From a61b9ff2d2cb7387a5cd347b2201535ee45a46ee Mon Sep 17 00:00:00 2001
+From: Sakib Sajal <sakib.sajal@...>
+Date: Thu, 31 Mar 2022 15:09:58 -0400
+Subject: [PATCH] drbdmon: add LDFLAGS when linking
+
+Signed-off-by: Sakib Sajal <sakib.sajal@...>
+---
+ user/drbdmon/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/user/drbdmon/Makefile.in b/user/drbdmon/Makefile.in
+index e07eb772..17166098 100644
+--- a/user/drbdmon/Makefile.in
++++ b/user/drbdmon/Makefile.in
+@@ -51,7 +51,7 @@ $(dsaext-obj): $(basename $(dsaext-obj)).cpp $(basename $(dsaext-obj)).h
+ $(integerparse-obj): $(basename $(integerparse-obj)).cpp $(basename $(integerparse-obj)).h
+
+ drbdmon: $(ls-obj)
+- $(CXX) -o $@ $(CPPFLAGS) $(CXXFLAGS) $^ $(LIBS)
++ $(CXX) -o $@ $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) $^ $(LIBS)
+
+ # do not try to rebuild Makefile itself
+ Makefile: ;
+--
+2.33.0
+
diff --git a/meta-networking/recipes-support/drbd/drbd-utils/0001-v84-Make-setup_options-definitions-as-extern.patch b/meta-networking/recipes-support/drbd/drbd-utils/0001-v84-Make-setup_options-definitions-as-extern.patch
deleted file mode 100644
index 6702f3bde..000000000
--- a/meta-networking/recipes-support/drbd/drbd-utils/0001-v84-Make-setup_options-definitions-as-extern.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From d095caf6f8f77fe056fb90ccd5d89c207a7f346d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@...>
-Date: Wed, 12 Aug 2020 12:59:38 -0700
-Subject: [PATCH] v84: Make setup_options definitions as extern
-
-This is already defined in drbdadm_main.c, therefore make this
-declaration to be extern for other modules
-
-Fixes compatibility with gcc-10 which uses -fno-common by default
-
-Upstream-Status: Submitted [https://github.com/LINBIT/drbd-utils/pull/7]
-Signed-off-by: Khem Raj <raj.khem@...>
----
- user/v84/drbdadm.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/user/v84/drbdadm.h b/user/v84/drbdadm.h
-index ed63d78c..8469f1c4 100644
---- a/user/v84/drbdadm.h
-+++ b/user/v84/drbdadm.h
-@@ -251,7 +251,7 @@ struct setup_option {
- bool explicit;
- char *option;
- };
--struct setup_option *setup_options;
-+extern struct setup_option *setup_options;
-
- extern void add_setup_option(bool explicit, char *option);
-
---
-2.28.0
-
diff --git a/meta-networking/recipes-support/drbd/drbd-utils_9.13.1.bb b/meta-networking/recipes-support/drbd/drbd-utils_9.20.2.bb
similarity index 85%
rename from meta-networking/recipes-support/drbd/drbd-utils_9.13.1.bb
rename to meta-networking/recipes-support/drbd/drbd-utils_9.20.2.bb
index a246464b2..d9cd94c04 100644
--- a/meta-networking/recipes-support/drbd/drbd-utils_9.13.1.bb
+++ b/meta-networking/recipes-support/drbd/drbd-utils_9.20.2.bb
@@ -10,11 +10,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"

SRC_URI = "git://github.com/LINBIT/drbd-utils;name=drbd-utils;branch=${PV};protocol=https \
git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=git/drbd-headers;branch=master;protocol=https \
- file://0001-v84-Make-setup_options-definitions-as-extern.patch \
${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-drbd-utils-support-usrmerge.patch','',d)} \
+ file://0001-drbdmon-add-LDFLAGS-when-linking.patch \
"
-SRCREV_drbd-utils = "b24b0f7e42d500d3538d7eeffa017ec78d08f918"
-SRCREV_drbd-headers = "c757cf357edef67751b8f45a6ea894d287180087"
+SRCREV_drbd-utils = "087ee6b4961ca154d76e4211223b03149373bed8"
+SRCREV_drbd-headers = "f1529aa84e9d2f66c96ad283a1bbb708aabf03f7"

SRCREV_FORMAT = "drbd-utils_drbd-headers"

@@ -40,6 +40,8 @@ EXTRA_OECONF = " \
--without-manual \
"

+CXXFLAGS:append:toolchain-clang = " -Wno-error"
+
Forgot to mention this was a V2. I do have the line that you suggested. Do i need to add something else?

Sakib

# If we have inherited reproducible_build, we want to use it.
export WANT_DRBD_REPRODUCIBLE_BUILD = "yes"

@@ -56,7 +58,10 @@ RDEPENDS:${PN} += "bash perl-module-getopt-long perl-module-exporter perl-module
FILES:${PN} += "/run"
FILES:${PN} += "${nonarch_base_libdir}/drbd \
${nonarch_libdir}/drbd \
- ${nonarch_libdir}/tmpfiles.d"
+ ${nonarch_libdir}/tmpfiles.d \
+ ${nonarch_libdir}/drbdscripts/* \
+ ${systemd_unitdir}/system/* \
+"
FILES:${PN}-dbg += "${nonarch_base_libdir}/drbd/.debug"

CLEANBROKEN = "1"
--
2.33.0



Re: [meta-oe][PATCH v2 1/2] grpc: add cmake support for target

Stefan Herbrechtsmeier
 

Hi Clement,

Am 08.04.2022 um 14:25 schrieb Clément Péron:
Hi Stefan,
On Fri, 8 Apr 2022 at 09:30, Stefan Herbrechtsmeier
<stefan.herbrechtsmeier-oss@...> wrote:

From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@...>

The CMake gRPC config checks for binaries and fails if a binary (plugin)
is missing. Fix the problem in the code and add the CMake gRPC config
back to the target package.
Thanks for your patch, I'm still using gRPC 1.35 + your previous similar patch.
I'm trying to bump to gRPC 1.45.1 + these patches.
My recipe use CMake and depends on grpc and grpc-native:
PACKAGECONFIG[grpc] = "-DCONFIG_GRPC=ON,-DCONFIG_GRPC=OFF,grpc grpc-native"
But unfortunately CMake doesn't find the grpc_cpp_plugin.
This is the correct behavior of my patch because the grpc_cpp_plugin from the cross build isn't usable during cross build. You need the grpc_cpp_plugin from the host and therefore have to search the grpc_cpp_plugin by yourself during cross compile [1].

My first patch was rejected and therefore I create a minimal patch which only make the CMake gRPC config usable.

| -- Using gRPC 1.45.1
....
| CMake Error at modules/grpc/CMakeLists.txt:37 (add_custom_command):
| Error evaluating generator expression:
|
| $<TARGET_FILE:gRPC::grpc_cpp_plugin>
|
| No target "gRPC::grpc_cpp_plugin"
|
|
| CMake Error at modules/grpc/CMakeLists.txt:37 (add_custom_command):
| Error evaluating generator expression:
|
| $<TARGET_FILE:gRPC::grpc_cpp_plugin>
|
| No target "gRPC::grpc_cpp_plugin"
|
|
| CMake Error at modules/grpc/CMakeLists.txt:37 (add_custom_command):
| Error evaluating generator expression:
|
| $<TARGET_FILE:gRPC::grpc_cpp_plugin>
|
| No target "gRPC::grpc_cpp_plugin"
Here is my CMake source file:
# Find Protobuf installation Yocto SDK doensn't support protobuf-config.cmake
# for the moment
set(protobuf_MODULE_COMPATIBLE TRUE)
find_package(Protobuf REQUIRED)
message(STATUS "Using protobuf ${Protobuf_VERSION}")
set(_PROTOBUF_LIBPROTOBUF protobuf::libprotobuf)
# Find gRPC installation Looks for gRPCConfig.cmake file installed by gRPC's
# cmake installation.
find_package(gRPC CONFIG REQUIRED)
message(STATUS "Using gRPC ${gRPC_VERSION}")
set(_REFLECTION gRPC::grpc++_reflection)
set(_GRPC_GRPCPP gRPC::grpc++)
# Get full path of protobuf/gRPC compiler
set(_PROTOBUF_PROTOC $<TARGET_FILE:protobuf::protoc>)
set(_GRPC_CPP_PLUGIN_EXECUTABLE $<TARGET_FILE:gRPC::grpc_cpp_plugin>)
You have to search the binaries if you cross compile [1]:

if(CMAKE_CROSSCOMPILING)
find_program(_GRPC_CPP_PLUGIN_EXECUTABLE grpc_cpp_plugin)
else()
set(_GRPC_CPP_PLUGIN_EXECUTABLE $<TARGET_FILE:gRPC::grpc_cpp_plugin>)
endif()

Do you have an example of how you look for gRPC in your recipe?
This isn't possible because you use a target and not a variable.

[1] https://github.com/grpc/grpc/blob/master/examples/cpp/cmake/common.cmake

Regards
Stefan


Re: [meta-oe][PATCH v2 1/2] grpc: add cmake support for target

Clément Péron
 

Hi Stefan,

On Fri, 8 Apr 2022 at 09:30, Stefan Herbrechtsmeier
<stefan.herbrechtsmeier-oss@...> wrote:

From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@...>

The CMake gRPC config checks for binaries and fails if a binary (plugin)
is missing. Fix the problem in the code and add the CMake gRPC config
back to the target package.
Thanks for your patch, I'm still using gRPC 1.35 + your previous similar patch.
I'm trying to bump to gRPC 1.45.1 + these patches.

My recipe use CMake and depends on grpc and grpc-native:
PACKAGECONFIG[grpc] = "-DCONFIG_GRPC=ON,-DCONFIG_GRPC=OFF,grpc grpc-native"

But unfortunately CMake doesn't find the grpc_cpp_plugin.

| -- Using gRPC 1.45.1
....
| CMake Error at modules/grpc/CMakeLists.txt:37 (add_custom_command):
| Error evaluating generator expression:
|
| $<TARGET_FILE:gRPC::grpc_cpp_plugin>
|
| No target "gRPC::grpc_cpp_plugin"
|
|
| CMake Error at modules/grpc/CMakeLists.txt:37 (add_custom_command):
| Error evaluating generator expression:
|
| $<TARGET_FILE:gRPC::grpc_cpp_plugin>
|
| No target "gRPC::grpc_cpp_plugin"
|
|
| CMake Error at modules/grpc/CMakeLists.txt:37 (add_custom_command):
| Error evaluating generator expression:
|
| $<TARGET_FILE:gRPC::grpc_cpp_plugin>
|
| No target "gRPC::grpc_cpp_plugin"

Here is my CMake source file:

# Find Protobuf installation Yocto SDK doensn't support protobuf-config.cmake
# for the moment
set(protobuf_MODULE_COMPATIBLE TRUE)
find_package(Protobuf REQUIRED)
message(STATUS "Using protobuf ${Protobuf_VERSION}")
set(_PROTOBUF_LIBPROTOBUF protobuf::libprotobuf)

# Find gRPC installation Looks for gRPCConfig.cmake file installed by gRPC's
# cmake installation.
find_package(gRPC CONFIG REQUIRED)
message(STATUS "Using gRPC ${gRPC_VERSION}")
set(_REFLECTION gRPC::grpc++_reflection)
set(_GRPC_GRPCPP gRPC::grpc++)

# Get full path of protobuf/gRPC compiler
set(_PROTOBUF_PROTOC $<TARGET_FILE:protobuf::protoc>)
set(_GRPC_CPP_PLUGIN_EXECUTABLE $<TARGET_FILE:gRPC::grpc_cpp_plugin>)

Do you have an example of how you look for gRPC in your recipe?

Thanks for your help
Regards,
Clement


Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@...>

---

Changes in v2:
- Rebase on top of latest master

...d-separate-export-for-plugin-targets.patch | 93 +++++++++++++++++++
meta-oe/recipes-devtools/grpc/grpc_1.45.1.bb | 3 +-
2 files changed, 94 insertions(+), 2 deletions(-)
create mode 100644 meta-oe/recipes-devtools/grpc/grpc/0001-cmake-add-separate-export-for-plugin-targets.patch

diff --git a/meta-oe/recipes-devtools/grpc/grpc/0001-cmake-add-separate-export-for-plugin-targets.patch b/meta-oe/recipes-devtools/grpc/grpc/0001-cmake-add-separate-export-for-plugin-targets.patch
new file mode 100644
index 000000000..679bd3882
--- /dev/null
+++ b/meta-oe/recipes-devtools/grpc/grpc/0001-cmake-add-separate-export-for-plugin-targets.patch
@@ -0,0 +1,93 @@
+From 3150cb043363e05588062dd392b940be25594713 Mon Sep 17 00:00:00 2001
+From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@...>
+Date: Tue, 18 Feb 2020 14:17:07 +0100
+Subject: [PATCH] cmake: add separate export for plugin targets
+
+Upstream-Status: Submitted [https://github.com/grpc/grpc/pull/29328]
+
+
+---
+ CMakeLists.txt | 18 +++++++++++-------
+ 1 file changed, 11 insertions(+), 7 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index efdaf8936d..6608b1b00c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -10935,7 +10935,7 @@ target_link_libraries(grpc_cpp_plugin
+
+
+ if(gRPC_INSTALL)
+- install(TARGETS grpc_cpp_plugin EXPORT gRPCTargets
++ install(TARGETS grpc_cpp_plugin EXPORT gRPCPluginTargets
+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
+ BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
+@@ -10975,7 +10975,7 @@ target_link_libraries(grpc_csharp_plugin
+
+
+ if(gRPC_INSTALL)
+- install(TARGETS grpc_csharp_plugin EXPORT gRPCTargets
++ install(TARGETS grpc_csharp_plugin EXPORT gRPCPluginTargets
+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
+ BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
+@@ -11015,7 +11015,7 @@ target_link_libraries(grpc_node_plugin
+
+
+ if(gRPC_INSTALL)
+- install(TARGETS grpc_node_plugin EXPORT gRPCTargets
++ install(TARGETS grpc_node_plugin EXPORT gRPCPluginTargets
+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
+ BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
+@@ -11055,7 +11055,7 @@ target_link_libraries(grpc_objective_c_plugin
+
+
+ if(gRPC_INSTALL)
+- install(TARGETS grpc_objective_c_plugin EXPORT gRPCTargets
++ install(TARGETS grpc_objective_c_plugin EXPORT gRPCPluginTargets
+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
+ BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
+@@ -11095,7 +11095,7 @@ target_link_libraries(grpc_php_plugin
+
+
+ if(gRPC_INSTALL)
+- install(TARGETS grpc_php_plugin EXPORT gRPCTargets
++ install(TARGETS grpc_php_plugin EXPORT gRPCPluginTargets
+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
+ BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
+@@ -11135,7 +11135,7 @@ target_link_libraries(grpc_python_plugin
+
+
+ if(gRPC_INSTALL)
+- install(TARGETS grpc_python_plugin EXPORT gRPCTargets
++ install(TARGETS grpc_python_plugin EXPORT gRPCPluginTargets
+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
+ BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
+@@ -11175,7 +11175,7 @@ target_link_libraries(grpc_ruby_plugin
+
+
+ if(gRPC_INSTALL)
+- install(TARGETS grpc_ruby_plugin EXPORT gRPCTargets
++ install(TARGETS grpc_ruby_plugin EXPORT gRPCPluginTargets
+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
+ BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
+@@ -17349,6 +17349,10 @@ if(gRPC_INSTALL)
+ DESTINATION ${gRPC_INSTALL_CMAKEDIR}
+ NAMESPACE gRPC::
+ )
++ install(EXPORT gRPCPluginTargets
++ DESTINATION ${gRPC_INSTALL_CMAKEDIR}
++ NAMESPACE gRPC::
++ )
+ endif()
+
+ include(CMakePackageConfigHelpers)
+--
+2.30.2
+
diff --git a/meta-oe/recipes-devtools/grpc/grpc_1.45.1.bb b/meta-oe/recipes-devtools/grpc/grpc_1.45.1.bb
index 872bc6afc..292ea7f9b 100644
--- a/meta-oe/recipes-devtools/grpc/grpc_1.45.1.bb
+++ b/meta-oe/recipes-devtools/grpc/grpc_1.45.1.bb
@@ -24,6 +24,7 @@ SRCREV_grpc = "1c159689ceda2c408f7f9d97d96a264c9521b806"
BRANCH = "v1.45.x"
SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \
file://0001-Revert-Changed-GRPCPP_ABSEIL_SYNC-to-GPR_ABSEIL_SYNC.patch \
+ file://0001-cmake-add-separate-export-for-plugin-targets.patch \
"
# Fixes build with older compilers 4.8 especially on ubuntu 14.04
CXXFLAGS:append:class-native = " -Wl,--no-as-needed"
@@ -80,8 +81,6 @@ do_configure:prepend:toolchain-clang:x86() {

BBCLASSEXTEND = "native nativesdk"

-SYSROOT_DIRS_IGNORE:append:class-target = " ${baselib}/cmake/grpc"
-
FILES:${PN}-compiler += " \
${bindir} \
${libdir}/libgrpc_plugin_support${SOLIBS} \
--
2.30.2




[meta-python][dunfell][PATCH] python3-urllib3: Fix CVE-2020-26137 and CVE-2021-33503

Ranjitsinh Rathod
 

From: Ranjitsinh Rathod <ranjitsinh.rathod@...>

Add patch to fix CVE-2020-26137
Link: https://ubuntu.com/security/CVE-2020-26137
Link: https://github.com/urllib3/urllib3/commit/1dd69c5c5982fae7c87a620d487c2ebf7a6b436b.patch

Add patch to fix CVE-2021-33503
Link: https://ubuntu.com/security/CVE-2021-33503
Link: https://github.com/urllib3/urllib3/commit/2d4a3fee6de2fa45eb82169361918f759269b4ec.patch

Signed-off-by: Nikhil R <nikhil.r@...>
Signed-off-by: Ranjitsinh Rathod <ranjitsinh.rathod@...>
Signed-off-by: Ranjitsinh Rathod <ranjitsinhrathod1991@...>
---
.../python3-urllib3/CVE-2020-26137.patch | 72 +++++++++++++++++++
.../python3-urllib3/CVE-2021-33503.patch | 67 +++++++++++++++++
.../python/python3-urllib3_1.25.7.bb | 6 +-
3 files changed, 143 insertions(+), 2 deletions(-)
create mode 100644 meta-python/recipes-devtools/python/python3-urllib3/CVE-2020-26137.patch
create mode 100644 meta-python/recipes-devtools/python/python3-urllib3/CVE-2021-33503.patch

diff --git a/meta-python/recipes-devtools/python/python3-urllib3/CVE-2020-26137.patch b/meta-python/recipes-devtools/python/python3-urllib3/CVE-2020-26137.patch
new file mode 100644
index 000000000..3cc8bcd02
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-urllib3/CVE-2020-26137.patch
@@ -0,0 +1,72 @@
+From 1dd69c5c5982fae7c87a620d487c2ebf7a6b436b Mon Sep 17 00:00:00 2001
+From: Seth Michael Larson <sethmichaellarson@...>
+Date: Mon, 17 Feb 2020 15:34:48 -0600
+Subject: [PATCH] Raise ValueError if method contains control characters
+ (#1800)
+
+CVE: CVE-2020-26137
+Upstream-Status: Backport [https://github.com/urllib3/urllib3/commit/1dd69c5c5982fae7c87a620d487c2ebf7a6b436b.patch]
+Signed-off-by: Nikhil R <nikhil.r@...>
+Signed-off-by: Ranjitsinh Rathod <ranjitsinh.rathod@...>
+Comment: Removed one hunk in CHANGES.rst and refresh other to remove
+patch fuzz warnings
+
+---
+ src/urllib3/connection.py | 14 ++++++++++++++
+ test/with_dummyserver/test_connectionpool.py | 6 ++++++
+ 2 files changed, 20 insertions(+)
+
+diff --git a/src/urllib3/connection.py b/src/urllib3/connection.py
+index 71e6790b1b..f7b1760938 100644
+--- a/src/urllib3/connection.py
++++ b/src/urllib3/connection.py
+@@ -1,4 +1,5 @@
+ from __future__ import absolute_import
++import re
+ import datetime
+ import logging
+ import os
+@@ -58,6 +59,8 @@ port_by_scheme = {"http": 80, "https": 443}
+ # (ie test_recent_date is failing) update it to ~6 months before the current date.
+ RECENT_DATE = datetime.date(2019, 1, 1)
+
++_CONTAINS_CONTROL_CHAR_RE = re.compile(r"[^-!#$%&'*+.^_`|~0-9a-zA-Z]")
++
+
+ class DummyConnection(object):
+ """Used to detect a failed ConnectionCls import."""
+@@ -184,6 +187,17 @@ class HTTPConnection(_HTTPConnection, object):
+ conn = self._new_conn()
+ self._prepare_conn(conn)
+
++ def putrequest(self, method, url, *args, **kwargs):
++ """Send a request to the server"""
++ match = _CONTAINS_CONTROL_CHAR_RE.search(method)
++ if match:
++ raise ValueError(
++ "Method cannot contain non-token characters %r (found at least %r)"
++ % (method, match.group())
++ )
++
++ return _HTTPConnection.putrequest(self, method, url, *args, **kwargs)
++
+ def request_chunked(self, method, url, body=None, headers=None):
+ """
+ Alternative to the common request method, which sends the
+diff --git a/test/with_dummyserver/test_connectionpool.py b/test/with_dummyserver/test_connectionpool.py
+index 57f0dbd2f4..79cbd27185 100644
+--- a/test/with_dummyserver/test_connectionpool.py
++++ b/test/with_dummyserver/test_connectionpool.py
+@@ -677,6 +677,12 @@ class TestConnectionPool(HTTPDummyServerTestCase):
+ with pytest.raises(MaxRetryError):
+ pool.request("GET", "/test", retries=2)
+
++ @pytest.mark.parametrize("char", [" ", "\r", "\n", "\x00"])
++ def test_invalid_method_not_allowed(self, char):
++ with pytest.raises(ValueError):
++ with HTTPConnectionPool(self.host, self.port) as pool:
++ pool.request("GET" + char, "/")
++
+ def test_percent_encode_invalid_target_chars(self):
+ with HTTPConnectionPool(self.host, self.port) as pool:
+ r = pool.request("GET", "/echo_params?q=\r&k=\n \n")
diff --git a/meta-python/recipes-devtools/python/python3-urllib3/CVE-2021-33503.patch b/meta-python/recipes-devtools/python/python3-urllib3/CVE-2021-33503.patch
new file mode 100644
index 000000000..838add955
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-urllib3/CVE-2021-33503.patch
@@ -0,0 +1,67 @@
+From 2d4a3fee6de2fa45eb82169361918f759269b4ec Mon Sep 17 00:00:00 2001
+From: Seth Michael Larson <sethmichaellarson@...>
+Date: Wed, 26 May 2021 10:43:12 -0500
+Subject: [PATCH] Improve performance of sub-authority splitting in URL
+
+CVE: CVE-2021-33503
+Upstream-Status: Backport [https://github.com/urllib3/urllib3/commit/2d4a3fee6de2fa45eb82169361918f759269b4ec.patch]
+Signed-off-by: Nikhil R <nikhil.r@...>
+Signed-off-by: Ranjitsinh Rathod <ranjitsinh.rathod@...>
+Comment: Refresh hunks to remove patch fuzz warnings
+
+---
+ src/urllib3/util/url.py | 8 +++++---
+ test/test_util.py | 10 ++++++++++
+ 2 files changed, 15 insertions(+), 3 deletions(-)
+
+diff --git a/src/urllib3/util/url.py b/src/urllib3/util/url.py
+index 6ff238fe3c..81a03da9e3 100644
+--- a/src/urllib3/util/url.py
++++ b/src/urllib3/util/url.py
+@@ -63,12 +63,12 @@ IPV6_ADDRZ_RE = re.compile("^" + IPV6_ADDRZ_PAT + "$")
+ BRACELESS_IPV6_ADDRZ_RE = re.compile("^" + IPV6_ADDRZ_PAT[2:-2] + "$")
+ ZONE_ID_RE = re.compile("(" + ZONE_ID_PAT + r")\]$")
+
+-SUBAUTHORITY_PAT = (u"^(?:(.*)@)?(%s|%s|%s)(?::([0-9]{0,5}))?$") % (
++_HOST_PORT_PAT = ("^(%s|%s|%s)(?::([0-9]{0,5}))?$") % (
+ REG_NAME_PAT,
+ IPV4_PAT,
+ IPV6_ADDRZ_PAT,
+ )
+-SUBAUTHORITY_RE = re.compile(SUBAUTHORITY_PAT, re.UNICODE | re.DOTALL)
++_HOST_PORT_RE = re.compile(_HOST_PORT_PAT, re.UNICODE | re.DOTALL)
+
+ UNRESERVED_CHARS = set(
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._-~"
+@@ -368,7 +368,9 @@ def parse_url(url):
+ scheme = scheme.lower()
+
+ if authority:
+- auth, host, port = SUBAUTHORITY_RE.match(authority).groups()
++ auth, _, host_port = authority.rpartition("@")
++ auth = auth or None
++ host, port = _HOST_PORT_RE.match(host_port).groups()
+ if auth and normalize_uri:
+ auth = _encode_invalid_chars(auth, USERINFO_CHARS)
+ if port == "":
+diff --git a/test/test_util.py b/test/test_util.py
+index a5b68a084b..88409e2d6c 100644
+--- a/test/test_util.py
++++ b/test/test_util.py
+@@ -425,6 +425,16 @@ class TestUtil(object):
+ query="%0D%0ASET%20test%20failure12%0D%0A:8080/test/?test=a",
+ ),
+ ),
++ # Tons of '@' causing backtracking
++ ("https://" + ("@" * 10000) + "[", False),
++ (
++ "https://user:" + ("@" * 10000) + "example.com",
++ Url(
++ scheme="https",
++ auth="user:" + ("%40" * 9999),
++ host="example.com",
++ ),
++ ),
+ ]
+
+ @pytest.mark.parametrize("url, expected_url", url_vulnerabilities)
diff --git a/meta-python/recipes-devtools/python/python3-urllib3_1.25.7.bb b/meta-python/recipes-devtools/python/python3-urllib3_1.25.7.bb
index 8d987a1f3..73399d943 100644
--- a/meta-python/recipes-devtools/python/python3-urllib3_1.25.7.bb
+++ b/meta-python/recipes-devtools/python/python3-urllib3_1.25.7.bb
@@ -8,8 +8,10 @@ SRC_URI[sha256sum] = "f3c5fd51747d450d4dcf6f923c81f78f811aab8205fda64b0aba34a4e4

inherit pypi setuptools3

-SRC_URI += "file://CVE-2020-7212.patch"
-
+SRC_URI += "file://CVE-2020-7212.patch \
+ file://CVE-2020-26137.patch \
+ file://CVE-2021-33503.patch \
+ "
RDEPENDS_${PN} += "\
${PYTHON_PN}-certifi \
${PYTHON_PN}-cryptography \
--
2.17.1


[meta-gnome][PATCHv3] gparted: update to v1.4.0

Markus Volk
 

- remove x11 features-check because there aren't dependencies that would
explicilty require x11 as a DISTRO_FEATURE
- replace basename() by g_path_get_basename() to fix up musl build

============================
GParted 1.4.0 (2022-03-28)
============================

Release Notes
-------------
This release of GParted includes enhancements, bug fixes and
language translation updates.

* Add labelling of mounted btrfs, ext2/3/4 and xfs file systems
* Fix detection of mount points for encrypted file systems
* Fix crash scrolling quickly in the drive selection combobox
* Add bcache detection
* Add JBD external EXT3/4 journal detection

Bug Fixes
---------
* Add labelling of mounted btrfs, ext2/3/4 and xfs file systems (#163, !87)
* Fix detection of mount points for encrypted file systems (#162, !88)
* Fix unmount error when unmounting below a bind mount point (!89)
* Fix crash scrolling quickly in the drive selection combobox (#165, !91)
* Add initial Indonesian translation of help (!90)
* Add accessibility relations for screen readers like Orca (!92)
* Fix partition creation at sector 2048 if partition before it (#172, !93)
* Make more getter methods use return-by-constant-reference (!94)
* Check copy destination instead of source (!95)
* Add bcache detection (#183, !96)
* Add JBD external EXT3/4 journal detection (#89, !97)
* Fix translation of DocBook markup tag of the GParted Manual (!98)

Code Credits
------------
Code enhancements are courtesy of Movie Ma, Pascal Engélibert, and
Mike Fleetwood.

Translations (new/updated)
--------------------------
cs(Marek Černocký), da(Alan Mortensen), eu(Asier Sarasua Garmendia),
fur(Fabio Tomat), he(Yaron Shahrabani), hr(Goran Vidović),
hu(Balázs Úr), id(Andika Triwidada), it(Milo Casagrande),
ko(Seong-ho Cho), lt(Aurimas Černius), lv(Rūdolfs Mazurs),
nb(Kjell Cato Heskjestad), nl(Nathan Follens), pa(A S Alam),
pt(Hugo Carvalho), ru(Aleksandr Melman, Sergej A), sk(Dušan Kazik),
sl(Matej Urbančič), sr(Мирослав Николић), zh_CN(Luming Zh)

Dependencies (new/updated)
--------------------------
* n/a

Signed-off-by: Markus Volk <f_l_k@...>
---
.../files/0001-replace-gnu-basename.patch | 50 +++++++++++++++++++
.../{gparted_1.3.1.bb => gparted_1.4.0.bb} | 6 +--
2 files changed, 53 insertions(+), 3 deletions(-)
create mode 100644 meta-gnome/recipes-extended/gparted/files/0001-replace-gnu-basename.patch
rename meta-gnome/recipes-extended/gparted/{gparted_1.3.1.bb => gparted_1.4.0.bb} (83%)

diff --git a/meta-gnome/recipes-extended/gparted/files/0001-replace-gnu-basename.patch b/meta-gnome/recipes-extended/gparted/files/0001-replace-gnu-basename.patch
new file mode 100644
index 000000000..48e06b6c5
--- /dev/null
+++ b/meta-gnome/recipes-extended/gparted/files/0001-replace-gnu-basename.patch
@@ -0,0 +1,50 @@
+From 3ed0d96c0d6d4fd8a12742232d841ed5e77bfe11 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@...>
+Date: Fri, 8 Apr 2022 09:31:32 +0200
+Subject: [PATCH] BCache_Info.cc: replace basename by glibs g_path_get_basename
+
+'basename' is undeclared for cplusplus if using musl. Use g_path_get_basename
+instead for better portability.
+
+fdebug-prefix-map=TOPDIR/build/tmp/work/cortexa57-yoe-linux-musl/gparted/1.4.0-r0/
+recipe-sysroot-native=-fvisibility-inlines-hidden -c -o Dialog_Disklabel.o ../../
+gparted-1.4.0/src/Dialog_Disklabel.cc ../../gparted-1.4.0/src/BCache_Info.cc:52:33:
+
+error: use of undeclared identifier 'basename'; did you mean 'g_basename'?
+ return "/dev/" + Glib::ustring(basename(buf));
+ ^~~~~~~~
+ g_basename
+
+Signed-off-by: Markus Volk <f_l_k@...>
+
+Upstream-Status: Submitted
+
+https://gitlab.gnome.org/GNOME/gparted/-/merge_requests/99
+---
+ src/BCache_Info.cc | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/BCache_Info.cc b/src/BCache_Info.cc
+index 129a5178..e1ec51b2 100644
+--- a/src/BCache_Info.cc
++++ b/src/BCache_Info.cc
+@@ -17,7 +17,6 @@
+
+ #include "BCache_Info.h"
+
+-#include <string.h> // GNU version of basename()
+ #include <unistd.h>
+ #include <glibmm/ustring.h>
+ #include <glibmm/fileutils.h>
+@@ -49,7 +48,7 @@ Glib::ustring BCache_Info::get_bcache_device(const Glib::ustring& device_path, c
+ return Glib::ustring("");
+ buf[len] = '\0';
+
+- return "/dev/" + Glib::ustring(basename(buf));
++ return "/dev/" + Glib::ustring(g_path_get_basename(buf));
+ }
+
+
+--
+2.25.1
+
diff --git a/meta-gnome/recipes-extended/gparted/gparted_1.3.1.bb b/meta-gnome/recipes-extended/gparted/gparted_1.4.0.bb
similarity index 83%
rename from meta-gnome/recipes-extended/gparted/gparted_1.3.1.bb
rename to meta-gnome/recipes-extended/gparted/gparted_1.4.0.bb
index d1a975930..a4b653ceb 100644
--- a/meta-gnome/recipes-extended/gparted/gparted_1.3.1.bb
+++ b/meta-gnome/recipes-extended/gparted/gparted_1.4.0.bb
@@ -3,16 +3,16 @@ HOMEPAGE = "http://gparted.org/index.php"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"

-inherit features_check autotools pkgconfig python3native gnome-help gtk-icon-cache
+inherit autotools pkgconfig python3native gnome-help gtk-icon-cache

-REQUIRED_DISTRO_FEATURES = "x11"

SRC_URI = " \
${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
file://0001-Install-polkit-action-unconditionally-executable-pke.patch \
file://0001-Do-not-use-NULL-where-boolean-is-expected.patch \
+ file://0001-replace-gnu-basename.patch \
"
-SRC_URI[sha256sum] = "5eee2e6d74b15ef96b13b3a2310c868ed2298e03341021e7d12a5a98a1d1e109"
+SRC_URI[sha256sum] = "e5293a792e53fdbeba29c4a834113cd9603d0d639330da931a468bf3687887be"

UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/gparted/files/gparted/"
UPSTREAM_CHECK_REGEX = "gparted-(?P<pver>\d+\.(\d+)+(\.\d+)+)"
--
2.25.1


[meta-oe][PATCH v2 1/2] grpc: add cmake support for target

Stefan Herbrechtsmeier
 

From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@...>

The CMake gRPC config checks for binaries and fails if a binary (plugin)
is missing. Fix the problem in the code and add the CMake gRPC config
back to the target package.

Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@...>

---

Changes in v2:
- Rebase on top of latest master

...d-separate-export-for-plugin-targets.patch | 93 +++++++++++++++++++
meta-oe/recipes-devtools/grpc/grpc_1.45.1.bb | 3 +-
2 files changed, 94 insertions(+), 2 deletions(-)
create mode 100644 meta-oe/recipes-devtools/grpc/grpc/0001-cmake-add-separate-export-for-plugin-targets.patch

diff --git a/meta-oe/recipes-devtools/grpc/grpc/0001-cmake-add-separate-export-for-plugin-targets.patch b/meta-oe/recipes-devtools/grpc/grpc/0001-cmake-add-separate-export-for-plugin-targets.patch
new file mode 100644
index 000000000..679bd3882
--- /dev/null
+++ b/meta-oe/recipes-devtools/grpc/grpc/0001-cmake-add-separate-export-for-plugin-targets.patch
@@ -0,0 +1,93 @@
+From 3150cb043363e05588062dd392b940be25594713 Mon Sep 17 00:00:00 2001
+From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@...>
+Date: Tue, 18 Feb 2020 14:17:07 +0100
+Subject: [PATCH] cmake: add separate export for plugin targets
+
+Upstream-Status: Submitted [https://github.com/grpc/grpc/pull/29328]
+
+
+---
+ CMakeLists.txt | 18 +++++++++++-------
+ 1 file changed, 11 insertions(+), 7 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index efdaf8936d..6608b1b00c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -10935,7 +10935,7 @@ target_link_libraries(grpc_cpp_plugin
+
+
+ if(gRPC_INSTALL)
+- install(TARGETS grpc_cpp_plugin EXPORT gRPCTargets
++ install(TARGETS grpc_cpp_plugin EXPORT gRPCPluginTargets
+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
+ BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
+@@ -10975,7 +10975,7 @@ target_link_libraries(grpc_csharp_plugin
+
+
+ if(gRPC_INSTALL)
+- install(TARGETS grpc_csharp_plugin EXPORT gRPCTargets
++ install(TARGETS grpc_csharp_plugin EXPORT gRPCPluginTargets
+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
+ BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
+@@ -11015,7 +11015,7 @@ target_link_libraries(grpc_node_plugin
+
+
+ if(gRPC_INSTALL)
+- install(TARGETS grpc_node_plugin EXPORT gRPCTargets
++ install(TARGETS grpc_node_plugin EXPORT gRPCPluginTargets
+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
+ BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
+@@ -11055,7 +11055,7 @@ target_link_libraries(grpc_objective_c_plugin
+
+
+ if(gRPC_INSTALL)
+- install(TARGETS grpc_objective_c_plugin EXPORT gRPCTargets
++ install(TARGETS grpc_objective_c_plugin EXPORT gRPCPluginTargets
+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
+ BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
+@@ -11095,7 +11095,7 @@ target_link_libraries(grpc_php_plugin
+
+
+ if(gRPC_INSTALL)
+- install(TARGETS grpc_php_plugin EXPORT gRPCTargets
++ install(TARGETS grpc_php_plugin EXPORT gRPCPluginTargets
+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
+ BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
+@@ -11135,7 +11135,7 @@ target_link_libraries(grpc_python_plugin
+
+
+ if(gRPC_INSTALL)
+- install(TARGETS grpc_python_plugin EXPORT gRPCTargets
++ install(TARGETS grpc_python_plugin EXPORT gRPCPluginTargets
+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
+ BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
+@@ -11175,7 +11175,7 @@ target_link_libraries(grpc_ruby_plugin
+
+
+ if(gRPC_INSTALL)
+- install(TARGETS grpc_ruby_plugin EXPORT gRPCTargets
++ install(TARGETS grpc_ruby_plugin EXPORT gRPCPluginTargets
+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
+ BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
+@@ -17349,6 +17349,10 @@ if(gRPC_INSTALL)
+ DESTINATION ${gRPC_INSTALL_CMAKEDIR}
+ NAMESPACE gRPC::
+ )
++ install(EXPORT gRPCPluginTargets
++ DESTINATION ${gRPC_INSTALL_CMAKEDIR}
++ NAMESPACE gRPC::
++ )
+ endif()
+
+ include(CMakePackageConfigHelpers)
+--
+2.30.2
+
diff --git a/meta-oe/recipes-devtools/grpc/grpc_1.45.1.bb b/meta-oe/recipes-devtools/grpc/grpc_1.45.1.bb
index 872bc6afc..292ea7f9b 100644
--- a/meta-oe/recipes-devtools/grpc/grpc_1.45.1.bb
+++ b/meta-oe/recipes-devtools/grpc/grpc_1.45.1.bb
@@ -24,6 +24,7 @@ SRCREV_grpc = "1c159689ceda2c408f7f9d97d96a264c9521b806"
BRANCH = "v1.45.x"
SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \
file://0001-Revert-Changed-GRPCPP_ABSEIL_SYNC-to-GPR_ABSEIL_SYNC.patch \
+ file://0001-cmake-add-separate-export-for-plugin-targets.patch \
"
# Fixes build with older compilers 4.8 especially on ubuntu 14.04
CXXFLAGS:append:class-native = " -Wl,--no-as-needed"
@@ -80,8 +81,6 @@ do_configure:prepend:toolchain-clang:x86() {

BBCLASSEXTEND = "native nativesdk"

-SYSROOT_DIRS_IGNORE:append:class-target = " ${baselib}/cmake/grpc"
-
FILES:${PN}-compiler += " \
${bindir} \
${libdir}/libgrpc_plugin_support${SOLIBS} \
--
2.30.2


[meta-oe][PATCH v2 2/2] grpc: remove useless link with libatomic append

Stefan Herbrechtsmeier
 

From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@...>

The sed commands to link with libatomic don't match and is therefore
useless. If they are really needed the problem should be fixed in the
code for example with CHECK_LIBRARY_EXISTS.

Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@...>

---

(no changes since v1)

meta-oe/recipes-devtools/grpc/grpc_1.45.1.bb | 20 --------------------
1 file changed, 20 deletions(-)

diff --git a/meta-oe/recipes-devtools/grpc/grpc_1.45.1.bb b/meta-oe/recipes-devtools/grpc/grpc_1.45.1.bb
index 292ea7f9b..7275f451a 100644
--- a/meta-oe/recipes-devtools/grpc/grpc_1.45.1.bb
+++ b/meta-oe/recipes-devtools/grpc/grpc_1.45.1.bb
@@ -59,26 +59,6 @@ do_configure:prepend() {
sed -i -e "s#lib/pkgconfig/#${baselib}/pkgconfig/#g" ${S}/CMakeLists.txt
}

-do_configure:prepend:mipsarch() {
- sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
-}
-
-do_configure:prepend:powerpc() {
- sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
-}
-
-do_configure:prepend:riscv64() {
- sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
-}
-
-do_configure:prepend:riscv32() {
- sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
-}
-
-do_configure:prepend:toolchain-clang:x86() {
- sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
-}
-
BBCLASSEXTEND = "native nativesdk"

FILES:${PN}-compiler += " \
--
2.30.2


[meta-oe][PATCH] wxwidgets: Only enable opengl when both x11 and opengl are in DISTRO_FEATURES

Robert Yang
 

The opengl can't work without x11 since it depends on libglu, and
oe-core/meta/recipes-graphics/mesa/libglu_9.0.2.bb requires both x11 and
opengl.

Signed-off-by: Robert Yang <liezhi.yang@...>
---
meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
index e82143040..a824893a4 100644
--- a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
@@ -45,7 +45,7 @@ EXTRA_OECMAKE:append:libc-musl = " \

# All toolkit-configs except 'no_gui' require x11 explicitly (see toolkit.cmake)
PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', 'no_gui', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'opengl', '', d)} \
"

PACKAGECONFIG:remove:class-native = "opengl"
--
2.17.1


[meta-oe][PATCH] libyang: do not inherit binconfig-disabled

Yi Zhao
 

Do not inherit binconfig-disabled as pcre2-config is not required by
upstream.

Signed-off-by: Yi Zhao <yi.zhao@...>
---
meta-oe/recipes-extended/libyang/libyang_2.0.164.bb | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/meta-oe/recipes-extended/libyang/libyang_2.0.164.bb b/meta-oe/recipes-extended/libyang/libyang_2.0.164.bb
index 8f41769e0..2817be7c8 100644
--- a/meta-oe/recipes-extended/libyang/libyang_2.0.164.bb
+++ b/meta-oe/recipes-extended/libyang/libyang_2.0.164.bb
@@ -21,10 +21,9 @@ COMPATIBLE_HOST:armv5 = "null"
COMPATIBLE_HOST:riscv64 = "null"

# Main dependencies
-inherit cmake pkgconfig lib_package binconfig-disabled ptest
+inherit cmake pkgconfig lib_package ptest
DEPENDS = "libpcre2"
DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'cmocka', '', d)}"
-BINCONFIG = "${bindir}/pcre2-config"

# Ptest dependencies
RDEPENDS:${PN}-ptest += "valgrind"
--
2.25.1


Re: [meta-oe][PATCH] wxwidgets: Fix checking for PACKAGECONFIG and DISTRO_FEATURES

Robert Yang
 

Hi Denys,

On 4/8/22 8:45 AM, Denys Dmytriyenko wrote:
On Thu, Apr 07, 2022 at 09:55:41AM +0300, Samuli Piippo wrote:
This commit breaks builds when DISTRO_FEATURES has opengl, but not x11.
Same here! Moreover, it does not simply breaks the build, it breaks *parsing*
even when not building wxwidgets! Please fix ASAP or revert.
Sorry for the problem. I think that the fix should be only enable opengl when both opengl and x11 are in DISTRO_FEATURES, the opengl can't work without x11
since it depends on libglu, and
oe-core/meta/recipes-graphics/mesa/libglu_9.0.2.bb requires both x11 and opengl.

I will send a patch to fix it.

// Robert


ERROR: //meta-openembedded/meta-oe/recipes-extended/wxwidgets/
wxwidgets_3.1.5.bb: wxwidgets: PACKAGECONFIG[no_gui] Conflict package
config 'opengl' set in PACKAGECONFIG.

On Sat, 2 Apr 2022 at 06:26, Robert Yang <liezhi.yang@...> wrote:

The PACKAGECONFIG depends on DISTRO_FEATURES, not DISTRO_FEATURES depends
on
PACKAGECONFIG. And the REQUIRED_DISTRO_FEATURES is not needed since it can
work
with gtk or x11.

Fixed when x11 is not in DISTRO_FEATURES:
$ bitbake wxwidgets
ERROR: Nothing PROVIDES 'wxwidgets'
wxwidgets was skipped: missing required distro feature 'x11' (not in
DISTRO_FEATURES)

Signed-off-by: Robert Yang <liezhi.yang@...>
---
meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
index f9349b02a..b10742eac 100644
--- a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
@@ -10,10 +10,7 @@ LICENSE = "WXwindows"
LIC_FILES_CHKSUM =
"file://docs/licence.txt;md5=981f50a934828620b08f44d75db557c6"

inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt', 'cmake_qt5', 'cmake',
d)}
-inherit features_check lib_package binconfig pkgconfig
-
-# All toolkit-configs except 'no_gui' require x11 explicitly (see
toolkit.cmake)
-REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG',
'no_gui', '', 'x11', d)}"
+inherit lib_package binconfig pkgconfig

DEPENDS += " \
jpeg \
@@ -46,7 +43,11 @@ EXTRA_OECMAKE:append:libc-musl = " \
-DHAVE_LOCALE_T=OFF \
"

-PACKAGECONFIG ?= "gtk ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
+# All toolkit-configs except 'no_gui' require x11 explicitly (see
toolkit.cmake)
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk',
'no_gui', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \
+"
+
PACKAGECONFIG:remove:class-native = "opengl"

# Note on toolkit-PACKAGECONFIGs: select exactly one of 'no_gui' / 'gtk'
/ 'qt'
--
2.31.1


[meta-oe][PATCH] ndctl: fix build failure with EXEWRAPPER_ENABLED False

Naveen Saini
 

The v73 version tries to build and run a test program at compile
time to check whether compiler supports sizeof and expression statements
and sets HAVE_STATEMENT_EXPR accordingly. This requires EXEWRAPPER_ENABLED
in meson.bbclass to be True and qemu-usermode to be working.

In cases when EXEWRAPPER_ENABLED is False, build fails with error:

| ../git/meson.build:213:0: ERROR: Can not run test applications in
this cross environment.

We don't really need to do this as these have been supported since gcc3 and can set the configs to 1.

The autotools implementation also used to set it to 1 so this doesn't change anything:

https://github.com/pmem/ndctl/blob/v72.1/configure.ac#L70

Signed-off-by: Naveen Saini <naveen.kumar.saini@...>
---
...01-build-set-HAVE_STATEMENT_EXPR-var.patch | 60 +++++++++++++++++++
meta-oe/recipes-core/ndctl/ndctl_v73.bb | 3 +-
2 files changed, 62 insertions(+), 1 deletion(-)
create mode 100644 meta-oe/recipes-core/ndctl/ndctl/0001-build-set-HAVE_STATEMENT_EXPR-var.patch

diff --git a/meta-oe/recipes-core/ndctl/ndctl/0001-build-set-HAVE_STATEMENT_EXPR-var.patch b/meta-oe/recipes-core/ndctl/ndctl/0001-build-set-HAVE_STATEMENT_EXPR-var.patch
new file mode 100644
index 000000000..486d6c07b
--- /dev/null
+++ b/meta-oe/recipes-core/ndctl/ndctl/0001-build-set-HAVE_STATEMENT_EXPR-var.patch
@@ -0,0 +1,60 @@
+From b06d16ec2d4aefc4cf1675e9dd6314956bc32d69 Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@...>
+Date: Thu, 7 Apr 2022 14:36:58 +0800
+Subject: [PATCH] build: set HAVE_STATEMENT_EXPR var
+
+The v73 version tries to build and run a test program at compile
+time to check whether compiler supports sizeof and expression statements
+and sets HAVE_STATEMENT_EXPR accordingly. This requires EXEWRAPPER_ENABLED
+in meson.bbclass to be True and qemu-usermode to be working.
+
+In cases when EXEWRAPPER_ENABLED is False, build fails with error:
+
+| ../git/meson.build:213:0: ERROR: Can not run test applications in
+this cross environment.
+
+We don't really need to do this as these have been supported since gcc3 and can set the configs to 1.
+
+The autotools implementation also used to set it to 1 so this doesn't change anything:
+
+https://github.com/pmem/ndctl/blob/v72.1/configure.ac#L70
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini@...>
+---
+ meson.build | 18 ++----------------
+ 1 file changed, 2 insertions(+), 16 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 42e11aa..e8d218b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -210,22 +210,8 @@ conf.set('ENABLE_DESTRUCTIVE', get_option('destructive').enabled())
+ conf.set('ENABLE_LOGGING', get_option('logging').enabled())
+ conf.set('ENABLE_DEBUG', get_option('dbg').enabled())
+
+-typeof = cc.run('''
+- int main() {
+- struct {
+- char a[16];
+- } x;
+- typeof(x) y;
+-
+- return sizeof(x) == sizeof(y);
+- }
+- '''
+-)
+-
+-if typeof.compiled() and typeof.returncode() == 1
+- conf.set('HAVE_TYPEOF', 1)
+- conf.set('HAVE_STATEMENT_EXPR', 1)
+-endif
++conf.set('HAVE_TYPEOF', 1)
++conf.set('HAVE_STATEMENT_EXPR', 1)
+
+ if target_machine.endian() == 'big'
+ conf.set('HAVE_BIG_ENDIAN', 1)
+--
+2.17.1
+
diff --git a/meta-oe/recipes-core/ndctl/ndctl_v73.bb b/meta-oe/recipes-core/ndctl/ndctl_v73.bb
index c88d39297..da649d578 100644
--- a/meta-oe/recipes-core/ndctl/ndctl_v73.bb
+++ b/meta-oe/recipes-core/ndctl/ndctl_v73.bb
@@ -13,7 +13,8 @@ inherit meson pkgconfig bash-completion systemd
SRCREV = "dd58d43458943d20ff063850670bf54a5242c9c5"
SRC_URI = "git://github.com/pmem/ndctl.git;branch=main;protocol=https \
file://0001-util-Correct-path-to-iniparser.h.patch \
- file://0001-meson-Use-pkg-config-to-detect-iniparser.patch"
+ file://0001-meson-Use-pkg-config-to-detect-iniparser.patch \
+ file://0001-build-set-HAVE_STATEMENT_EXPR-var.patch"

UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>v\d+(\.\d+)*)"

--
2.17.1


Re: [meta-oe][PATCH] wxwidgets: Fix checking for PACKAGECONFIG and DISTRO_FEATURES

Denys Dmytriyenko
 

On Thu, Apr 07, 2022 at 09:55:41AM +0300, Samuli Piippo wrote:
This commit breaks builds when DISTRO_FEATURES has opengl, but not x11.
Same here! Moreover, it does not simply breaks the build, it breaks *parsing*
even when not building wxwidgets! Please fix ASAP or revert.


ERROR: //meta-openembedded/meta-oe/recipes-extended/wxwidgets/
wxwidgets_3.1.5.bb: wxwidgets: PACKAGECONFIG[no_gui] Conflict package
config 'opengl' set in PACKAGECONFIG.

On Sat, 2 Apr 2022 at 06:26, Robert Yang <liezhi.yang@...> wrote:

The PACKAGECONFIG depends on DISTRO_FEATURES, not DISTRO_FEATURES depends
on
PACKAGECONFIG. And the REQUIRED_DISTRO_FEATURES is not needed since it can
work
with gtk or x11.

Fixed when x11 is not in DISTRO_FEATURES:
$ bitbake wxwidgets
ERROR: Nothing PROVIDES 'wxwidgets'
wxwidgets was skipped: missing required distro feature 'x11' (not in
DISTRO_FEATURES)

Signed-off-by: Robert Yang <liezhi.yang@...>
---
meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
index f9349b02a..b10742eac 100644
--- a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
@@ -10,10 +10,7 @@ LICENSE = "WXwindows"
LIC_FILES_CHKSUM =
"file://docs/licence.txt;md5=981f50a934828620b08f44d75db557c6"

inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt', 'cmake_qt5', 'cmake',
d)}
-inherit features_check lib_package binconfig pkgconfig
-
-# All toolkit-configs except 'no_gui' require x11 explicitly (see
toolkit.cmake)
-REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG',
'no_gui', '', 'x11', d)}"
+inherit lib_package binconfig pkgconfig

DEPENDS += " \
jpeg \
@@ -46,7 +43,11 @@ EXTRA_OECMAKE:append:libc-musl = " \
-DHAVE_LOCALE_T=OFF \
"

-PACKAGECONFIG ?= "gtk ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
+# All toolkit-configs except 'no_gui' require x11 explicitly (see
toolkit.cmake)
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk',
'no_gui', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \
+"
+
PACKAGECONFIG:remove:class-native = "opengl"

# Note on toolkit-PACKAGECONFIGs: select exactly one of 'no_gui' / 'gtk'
/ 'qt'
--
2.31.1


Re: [meta-oe][hardknott][PATCH 2/3] abseil-cpp: Fix build with glibc 2.34

Martin Jansa
 

Just like the .patch file in master branch, does hardknott have stricter rules than master branch?


On Fri, Apr 8, 2022 at 1:57 AM akuster808 <akuster808@...> wrote:


On 4/5/22 03:41, Martin Jansa wrote:
> From: Khem Raj <raj.khem@...>
>
> * based on commit from honister, but without the upgrade:
>    commit 8691de2580dd872e3d001d67c8455108b3bd627c
>    Author: Khem Raj <raj.khem@...>
>    Date:   Sat May 8 14:38:52 2021 -0700
>
>      abseil-cpp: Upgrade to lts_2021_03_24
>
>      Fix build with glibc 2.34 while here
>      Forward patches to this version
>      Let system package the libraries
>
>    to fix abseil-cpp-native build on e.g. Ubuntu-22.04 with glibc-2.34 to fix:
>
>    | FAILED: absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o
>    | /OE/lge/build/webosose/hardknott/BUILD/hosttools/g++ -Dfailure_signal_handler_EXPORTS -I/OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git -isystem/OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/recipe-sysroot-native/usr/include -O2 -pipe -fPIC -Wall -Wextra -Wcast-qual -Wconversion-null -Wmissing-declarations -Woverlength-strings -Wpointer-arith -Wundef -Wunused-local-typedefs -Wunused-result -Wvarargs -Wvla -Wwrite-strings -Wno-missing-field-initializers -Wno-sign-compare -DNOMINMAX -std=gnu++14 -MD -MT absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o -MF absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o.d -o absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o -c /OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc
>    | /OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc: In function ‘bool absl::lts_2020_09_23::SetupAlternateStackOnce()’:
>    | /OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc:138:32: error: no matching function for call to ‘max(long int, int)’
>    |   138 |   size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
>    |       |                        ~~~~~~~~^~~~~~~~~~~~~~~~~
>
> Signed-off-by: Khem Raj <raj.khem@...>
> Signed-off-by: Martin Jansa <Martin.Jansa@...>
> ---
>   ...01-Export-of-internal-Abseil-changes.patch | 82 +++++++++++++++++++
>   .../abseil-cpp/abseil-cpp_git.bb              |  1 +
>   2 files changed, 83 insertions(+)
>   create mode 100644 meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
>
> diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
> new file mode 100644
> index 0000000000..c0fb0571f7
> --- /dev/null
> +++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
> @@ -0,0 +1,82 @@
> +From d3424201a73f29ab533121b1821a76e1b4313beb Mon Sep 17 00:00:00 2001
> +From: Abseil Team <absl-team@...>
> +Date: Mon, 3 May 2021 07:37:39 -0700
> +Subject: [PATCH] Export of internal Abseil changes
> +
> +--
> +cf88f9cf40eab54c06bca7f20795352ec23bb583 by Derek Mauro <dmauro@...>:
> +
> +Fixes build with latest glibc
> +Fixes #952
> +
> +PiperOrigin-RevId: 371693908
> +
> +--
> +99bcd0f4a747ce7a401e23c745adf34d0ec5131b by Samuel Benzaquen <sbenza@...>:
> +
> +Add support for std::string_view in StrFormat even when
> +absl::string_view != std::string_view.
> +
> +PiperOrigin-RevId: 371693633
> +
> +--
> +e35463572149a6c2d4a0d439b9300ce03fd6b96d by Abseil Team <absl-team@...>:
> +
> +Cmake builds should only install pkg-config when explicitly requested.
> +
> +PiperOrigin-RevId: 371403419
> +GitOrigin-RevId: cf88f9cf40eab54c06bca7f20795352ec23bb583
> +Change-Id: I4360a18c638a4d901ff44ab1e0a9d8f321c302ea

Patch missing "Upstream-Status" and "Signed-off-by"

- armin
> +---
> + absl/debugging/failure_signal_handler.cc         | 3 ++-
> + absl/strings/internal/str_format/arg.h           | 8 ++++++++
> + absl/strings/internal/str_format/convert_test.cc | 3 +++
> + 3 files changed, 13 insertions(+), 1 deletion(-)
> +
> +diff --git a/absl/debugging/failure_signal_handler.cc b/absl/debugging/failure_signal_handler.cc
> +index 5d13bdbb..2ed137b5 100644
> +--- a/absl/debugging/failure_signal_handler.cc
> ++++ b/absl/debugging/failure_signal_handler.cc
> +@@ -135,7 +135,8 @@ static bool SetupAlternateStackOnce() {
> + #else
> +   const size_t page_mask = sysconf(_SC_PAGESIZE) - 1;
> + #endif
> +-  size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
> ++  size_t stack_size =
> ++      (std::max<size_t>(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
> + #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \
> +     defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER)
> +   // Account for sanitizer instrumentation requiring additional stack space.
> +diff --git a/absl/strings/internal/str_format/arg.h b/absl/strings/internal/str_format/arg.h
> +index 3dbc1526..f9d89d12 100644
> +--- a/absl/strings/internal/str_format/arg.h
> ++++ b/absl/strings/internal/str_format/arg.h
> +@@ -108,6 +108,14 @@ StringConvertResult FormatConvertImpl(const std::string& v,
> + StringConvertResult FormatConvertImpl(string_view v,
> +                                       FormatConversionSpecImpl conv,
> +                                       FormatSinkImpl* sink);
> ++#if defined(ABSL_HAVE_STD_STRING_VIEW) && !defined(ABSL_USES_STD_STRING_VIEW)
> ++inline StringConvertResult FormatConvertImpl(std::string_view v,
> ++                                             FormatConversionSpecImpl conv,
> ++                                             FormatSinkImpl* sink) {
> ++  return FormatConvertImpl(absl::string_view(v.data(), v.size()), conv, sink);
> ++}
> ++#endif  // ABSL_HAVE_STD_STRING_VIEW && !ABSL_USES_STD_STRING_VIEW
> ++
> + ArgConvertResult<FormatConversionCharSetUnion(
> +     FormatConversionCharSetInternal::s, FormatConversionCharSetInternal::p)>
> + FormatConvertImpl(const char* v, const FormatConversionSpecImpl conv,
> +diff --git a/absl/strings/internal/str_format/convert_test.cc b/absl/strings/internal/str_format/convert_test.cc
> +index 634ee78b..cc789530 100644
> +--- a/absl/strings/internal/str_format/convert_test.cc
> ++++ b/absl/strings/internal/str_format/convert_test.cc
> +@@ -215,6 +215,9 @@ TEST_F(FormatConvertTest, BasicString) {
> +   TestStringConvert(static_cast<const char*>("hello"));
> +   TestStringConvert(std::string("hello"));
> +   TestStringConvert(string_view("hello"));
> ++#if defined(ABSL_HAVE_STD_STRING_VIEW)
> ++  TestStringConvert(std::string_view("hello"));
> ++#endif  // ABSL_HAVE_STD_STRING_VIEW
> + }
> +
> + TEST_F(FormatConvertTest, NullString) {
> diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
> index 569bb13993..a49fe672e8 100644
> --- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
> +++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
> @@ -14,6 +14,7 @@ SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https \
>              file://0001-absl-always-use-asm-sgidefs.h.patch             \
>              file://0002-Remove-maes-option-from-cross-compilation.patch \
>              file://abseil-ppc-fixes.patch \
> +           file://0001-Export-of-internal-Abseil-changes.patch \
>             "
>   
>   S = "${WORKDIR}/git"
>
>
>


Re: [meta-oe][hardknott][PATCH 2/3] abseil-cpp: Fix build with glibc 2.34

Armin Kuster
 

On 4/5/22 03:41, Martin Jansa wrote:
From: Khem Raj <raj.khem@...>

* based on commit from honister, but without the upgrade:
commit 8691de2580dd872e3d001d67c8455108b3bd627c
Author: Khem Raj <raj.khem@...>
Date: Sat May 8 14:38:52 2021 -0700

abseil-cpp: Upgrade to lts_2021_03_24

Fix build with glibc 2.34 while here
Forward patches to this version
Let system package the libraries

to fix abseil-cpp-native build on e.g. Ubuntu-22.04 with glibc-2.34 to fix:

| FAILED: absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o
| /OE/lge/build/webosose/hardknott/BUILD/hosttools/g++ -Dfailure_signal_handler_EXPORTS -I/OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git -isystem/OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/recipe-sysroot-native/usr/include -O2 -pipe -fPIC -Wall -Wextra -Wcast-qual -Wconversion-null -Wmissing-declarations -Woverlength-strings -Wpointer-arith -Wundef -Wunused-local-typedefs -Wunused-result -Wvarargs -Wvla -Wwrite-strings -Wno-missing-field-initializers -Wno-sign-compare -DNOMINMAX -std=gnu++14 -MD -MT absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o -MF absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o.d -o absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o -c /OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc
| /OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc: In function ‘bool absl::lts_2020_09_23::SetupAlternateStackOnce()’:
| /OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc:138:32: error: no matching function for call to ‘max(long int, int)’
| 138 | size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
| | ~~~~~~~~^~~~~~~~~~~~~~~~~

Signed-off-by: Khem Raj <raj.khem@...>
Signed-off-by: Martin Jansa <Martin.Jansa@...>
---
...01-Export-of-internal-Abseil-changes.patch | 82 +++++++++++++++++++
.../abseil-cpp/abseil-cpp_git.bb | 1 +
2 files changed, 83 insertions(+)
create mode 100644 meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch

diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
new file mode 100644
index 0000000000..c0fb0571f7
--- /dev/null
+++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
@@ -0,0 +1,82 @@
+From d3424201a73f29ab533121b1821a76e1b4313beb Mon Sep 17 00:00:00 2001
+From: Abseil Team <absl-team@...>
+Date: Mon, 3 May 2021 07:37:39 -0700
+Subject: [PATCH] Export of internal Abseil changes
+
+--
+cf88f9cf40eab54c06bca7f20795352ec23bb583 by Derek Mauro <dmauro@...>:
+
+Fixes build with latest glibc
+Fixes #952
+
+PiperOrigin-RevId: 371693908
+
+--
+99bcd0f4a747ce7a401e23c745adf34d0ec5131b by Samuel Benzaquen <sbenza@...>:
+
+Add support for std::string_view in StrFormat even when
+absl::string_view != std::string_view.
+
+PiperOrigin-RevId: 371693633
+
+--
+e35463572149a6c2d4a0d439b9300ce03fd6b96d by Abseil Team <absl-team@...>:
+
+Cmake builds should only install pkg-config when explicitly requested.
+
+PiperOrigin-RevId: 371403419
+GitOrigin-RevId: cf88f9cf40eab54c06bca7f20795352ec23bb583
+Change-Id: I4360a18c638a4d901ff44ab1e0a9d8f321c302ea
Patch missing "Upstream-Status" and "Signed-off-by"

- armin
+---
+ absl/debugging/failure_signal_handler.cc | 3 ++-
+ absl/strings/internal/str_format/arg.h | 8 ++++++++
+ absl/strings/internal/str_format/convert_test.cc | 3 +++
+ 3 files changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/absl/debugging/failure_signal_handler.cc b/absl/debugging/failure_signal_handler.cc
+index 5d13bdbb..2ed137b5 100644
+--- a/absl/debugging/failure_signal_handler.cc
++++ b/absl/debugging/failure_signal_handler.cc
+@@ -135,7 +135,8 @@ static bool SetupAlternateStackOnce() {
+ #else
+ const size_t page_mask = sysconf(_SC_PAGESIZE) - 1;
+ #endif
+- size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
++ size_t stack_size =
++ (std::max<size_t>(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
+ #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \
+ defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER)
+ // Account for sanitizer instrumentation requiring additional stack space.
+diff --git a/absl/strings/internal/str_format/arg.h b/absl/strings/internal/str_format/arg.h
+index 3dbc1526..f9d89d12 100644
+--- a/absl/strings/internal/str_format/arg.h
++++ b/absl/strings/internal/str_format/arg.h
+@@ -108,6 +108,14 @@ StringConvertResult FormatConvertImpl(const std::string& v,
+ StringConvertResult FormatConvertImpl(string_view v,
+ FormatConversionSpecImpl conv,
+ FormatSinkImpl* sink);
++#if defined(ABSL_HAVE_STD_STRING_VIEW) && !defined(ABSL_USES_STD_STRING_VIEW)
++inline StringConvertResult FormatConvertImpl(std::string_view v,
++ FormatConversionSpecImpl conv,
++ FormatSinkImpl* sink) {
++ return FormatConvertImpl(absl::string_view(v.data(), v.size()), conv, sink);
++}
++#endif // ABSL_HAVE_STD_STRING_VIEW && !ABSL_USES_STD_STRING_VIEW
++
+ ArgConvertResult<FormatConversionCharSetUnion(
+ FormatConversionCharSetInternal::s, FormatConversionCharSetInternal::p)>
+ FormatConvertImpl(const char* v, const FormatConversionSpecImpl conv,
+diff --git a/absl/strings/internal/str_format/convert_test.cc b/absl/strings/internal/str_format/convert_test.cc
+index 634ee78b..cc789530 100644
+--- a/absl/strings/internal/str_format/convert_test.cc
++++ b/absl/strings/internal/str_format/convert_test.cc
+@@ -215,6 +215,9 @@ TEST_F(FormatConvertTest, BasicString) {
+ TestStringConvert(static_cast<const char*>("hello"));
+ TestStringConvert(std::string("hello"));
+ TestStringConvert(string_view("hello"));
++#if defined(ABSL_HAVE_STD_STRING_VIEW)
++ TestStringConvert(std::string_view("hello"));
++#endif // ABSL_HAVE_STD_STRING_VIEW
+ }
+
+ TEST_F(FormatConvertTest, NullString) {
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
index 569bb13993..a49fe672e8 100644
--- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
+++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
@@ -14,6 +14,7 @@ SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https \
file://0001-absl-always-use-asm-sgidefs.h.patch \
file://0002-Remove-maes-option-from-cross-compilation.patch \
file://abseil-ppc-fixes.patch \
+ file://0001-Export-of-internal-Abseil-changes.patch \
"
S = "${WORKDIR}/git"


honister merge request : April 7th

Armin Kuster
 

The following changes since commit de18681d7dd27000c132bc68f9fa267e8f5a2348:

  python3-django: upgrade 3.2.10 -> 3.2.12 (2022-03-31 13:49:34 -0700)

are available in the Git repository at:

  https://git.openembedded.org/meta-openembedded honister-next

for you to fetch changes up to a19d1802b15fe07e9b1e7584ff9af7c33bfe642a:

  net-snmp: Avoid running `make clean` as it may fail (2022-04-07 16:42:55 -0700)

----------------------------------------------------------------
Martin Jansa (1):
      htop: switch branch from master to main

Peter Kjellerstedt (2):
      libsrtp: Switch branch from master to main
      net-snmp: Avoid running `make clean` as it may fail

Thomas Perrot (1):
      breakpad: fix branch for gtest in SRC_URI

Trevor Gamblin (1):
      python3-lxml: upgrade 4.6.3 -> 4.6.5

 meta-multimedia/recipes-support/libsrtp/libsrtp_2.3.0.bb | 2 +-
 meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.1.bb | 1 +
 meta-oe/recipes-devtools/breakpad/breakpad_git.bb | 2 +-
 meta-oe/recipes-support/htop/htop_3.0.5.bb | 2 +-
 meta-python/recipes-devtools/python/{python3-lxml_4.6.3.bb => python3-lxml_4.6.5.bb} | 2 +-
 5 files changed, 5 insertions(+), 4 deletions(-)
 rename meta-python/recipes-devtools/python/{python3-lxml_4.6.3.bb => python3-lxml_4.6.5.bb} (95%)

2521 - 2540 of 99001