[oe] [PATCH] dfu-util: allow building nativesdk variant

2024-06-11 Thread Rasmus Villemoes via lists.openembedded.org
It can be quite useful to include dfu-util along with any other tools
needed for bootstrapping in the SDK.

Signed-off-by: Rasmus Villemoes 
---
 meta-oe/recipes-support/dfu-util/dfu-util_0.11.bb | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_0.11.bb 
b/meta-oe/recipes-support/dfu-util/dfu-util_0.11.bb
index 17547ca83..23913e31f 100644
--- a/meta-oe/recipes-support/dfu-util/dfu-util_0.11.bb
+++ b/meta-oe/recipes-support/dfu-util/dfu-util_0.11.bb
@@ -9,3 +9,5 @@ SRC_URI = 
"http://dfu-util.sourceforge.net/releases/${BP}.tar.gz;
 SRC_URI[sha256sum] = 
"b4b53ba21a82ef7e3d4c47df2952adf5fa494f499b6b0b57c58c5d04ae8ff19e"
 
 inherit autotools pkgconfig
+
+BBCLASSEXTEND = "nativesdk"
-- 
2.45.1.1.gfd858efe53


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#110834): 
https://lists.openembedded.org/g/openembedded-devel/message/110834
Mute This Topic: https://lists.openembedded.org/mt/106621369/21656
Group Owner: openembedded-devel+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[oe] [meta-oe][PATCH] recipes-kernel: vdsotest: new recipe

2021-07-02 Thread Rasmus Villemoes via lists.openembedded.org
vdsotest is a handy tool for testing and benchmarking the vDSO,
e.g. to measure the overhead of clock_gettime() done via the vDSO
compared to an actual system call.

Signed-off-by: Rasmus Villemoes 
---
 meta-oe/recipes-kernel/vdsotest/vdsotest_0.3.bb | 11 +++
 1 file changed, 11 insertions(+)
 create mode 100644 meta-oe/recipes-kernel/vdsotest/vdsotest_0.3.bb

diff --git a/meta-oe/recipes-kernel/vdsotest/vdsotest_0.3.bb 
b/meta-oe/recipes-kernel/vdsotest/vdsotest_0.3.bb
new file mode 100644
index 0..5f9490910
--- /dev/null
+++ b/meta-oe/recipes-kernel/vdsotest/vdsotest_0.3.bb
@@ -0,0 +1,11 @@
+SUMMARY = "vdsotest is a utility for testing and benchmarking a Linux VDSO"
+HOMEPAGE = "https://github.com/nlynch-mentor/vdsotest;
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/nlynch-mentor/vdsotest.git"
+SRCREV = "4ad733fb25364e4afaf4060e57c2429a93b686c5"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
-- 
2.31.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#92088): 
https://lists.openembedded.org/g/openembedded-devel/message/92088
Mute This Topic: https://lists.openembedded.org/mt/83937330/21656
Group Owner: openembedded-devel+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[oe] [meta-oe][PATCH] libgpiod: split c++ library to its own package

2020-05-06 Thread Rasmus Villemoes
I need (some of) the gpiod tools in my initramfs. That, of course,
pulls in the workhorse in the form of the libgpiod C library. But it
also pulls in the C++ library which is cobundled with libgpiod, which
in turn means that libstdc++ gets pulled in, adding about 2.5MB to the
initramfs.

Fix that by splitting the C++ library to its own package.

Signed-off-by: Rasmus Villemoes 
---
 meta-oe/recipes-support/libgpiod/libgpiod.inc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta-oe/recipes-support/libgpiod/libgpiod.inc 
b/meta-oe/recipes-support/libgpiod/libgpiod.inc
index 07ce35a7f..cae3145dd 100644
--- a/meta-oe/recipes-support/libgpiod/libgpiod.inc
+++ b/meta-oe/recipes-support/libgpiod/libgpiod.inc
@@ -14,3 +14,6 @@ EXTRA_OECONF = "--enable-tools"
 PACKAGES =+ " ${PN}-tools"
 
 FILES_${PN}-tools = "${bindir}/*"
+
+PACKAGES =+ "libgpiodcxx"
+FILES_libgpiodcxx = "${libdir}/libgpiodcxx.so.*"
-- 
2.23.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#84231): 
https://lists.openembedded.org/g/openembedded-devel/message/84231
Mute This Topic: https://lists.openembedded.org/mt/74040586/21656
Group Owner: openembedded-devel+ow...@lists.openembedded.org
Unsubscribe: 
https://lists.openembedded.org/g/openembedded-devel/leave/8024792/1994799631/xyzzy
  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


[oe] [meta-browser][PATCH 2/2] chromium: add patch to fix build of native tool make_top_domain_list_for_edit_distance

2019-08-19 Thread Rasmus Villemoes
Inside the source_set("net_deps"), one finds

  if (!is_nacl) {
public_deps += [
  "//base/third_party/dynamic_annotations",
  "//third_party/zlib",
]

and the recipe explicitly sets enable_nacl=false. So one should think
that this was already ok, but without it, the build fails. I don't
really understand the gn config language, but perhaps the above has no
effect because the :net_deps is only pulled into deps.

Signed-off-by: Rasmus Villemoes 
---
 recipes-browser/chromium/chromium-gn.inc  |  1 +
 ...-third_party-zlib-to-public-dependen.patch | 29 +++
 2 files changed, 30 insertions(+)
 create mode 100644 
recipes-browser/chromium/files/net-BUILD.gn-add-third_party-zlib-to-public-dependen.patch

diff --git a/recipes-browser/chromium/chromium-gn.inc 
b/recipes-browser/chromium/chromium-gn.inc
index d9735ab..2c8cd20 100644
--- a/recipes-browser/chromium/chromium-gn.inc
+++ b/recipes-browser/chromium/chromium-gn.inc
@@ -14,6 +14,7 @@ SRC_URI += " \
 file://wrapper-extra-flags.patch \
 file://do-not-specify-march-on-arm.patch \
 file://add_internal_define_armv7ve.patch \
+file://net-BUILD.gn-add-third_party-zlib-to-public-dependen.patch \
 "
 
 SRC_URI_append_libc-musl = "\
diff --git 
a/recipes-browser/chromium/files/net-BUILD.gn-add-third_party-zlib-to-public-dependen.patch
 
b/recipes-browser/chromium/files/net-BUILD.gn-add-third_party-zlib-to-public-dependen.patch
new file mode 100644
index 000..bffd65d
--- /dev/null
+++ 
b/recipes-browser/chromium/files/net-BUILD.gn-add-third_party-zlib-to-public-dependen.patch
@@ -0,0 +1,29 @@
+From 141ffd4e77d1142461cca86065695433acd0914a Mon Sep 17 00:00:00 2001
+From: Rasmus Villemoes 
+Date: Wed, 7 Aug 2019 13:02:36 +0200
+Subject: [PATCH] net/BUILD.gn: add third_party/zlib to public dependencies
+
+Without this, the build of yocto_native/make_top_domain_list_for_edit_distance 
fails
+(libchrome_zlib.so, needed by yocto_native/libnet.so, not found).
+
+Upstream-Status: pending
+
+---
+ net/BUILD.gn | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/net/BUILD.gn b/net/BUILD.gn
+index b3d97f6a0a67..d4f1800c74d4 100644
+--- a/net/BUILD.gn
 b/net/BUILD.gn
+@@ -2337,6 +2337,7 @@ source_set("net_public_deps") {
+ "//crypto:platform",
+ "//net/traffic_annotation",
+ "//third_party/boringssl",
++"//third_party/zlib",
+ "//url",
+   ]
+ 
+-- 
+2.20.1
+
-- 
2.20.1

-- 
___
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel


[oe] [meta-browser][PATCH 1/2] chromium: don't pass is_official_build=true when doing a component-build

2019-08-19 Thread Rasmus Villemoes
When setting the PACKAGECONFIG component-build, the build breaks
immediately due to this from the toplevel BUILD.gn:

if (is_official_build) {
  # An official (maximally optimized!) component (optimized for build times)
  # build doesn't make sense and usually doesn't work.
  assert(!is_component_build)
}

So we must make is_official_build the negative of component-build.

Signed-off-by: Rasmus Villemoes 
---
 recipes-browser/chromium/chromium-gn.inc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/recipes-browser/chromium/chromium-gn.inc 
b/recipes-browser/chromium/chromium-gn.inc
index d5258c0..d9735ab 100644
--- a/recipes-browser/chromium/chromium-gn.inc
+++ b/recipes-browser/chromium/chromium-gn.inc
@@ -138,7 +138,8 @@ GN_ARGS += 'host_pkg_config="pkg-config-native"'
 # (debug, release, official) but for historical reasons there are two
 # separate flags.
 # See also: 
https://groups.google.com/a/chromium.org/d/msg/chromium-dev/hkcb6AOX5gE/PPT1ukWoBwAJ
-GN_ARGS += "is_debug=false is_official_build=true"
+GN_ARGS += "is_debug=false"
+GN_ARGS += "is_official_build=${@bb.utils.contains('PACKAGECONFIG', 
'component-build', 'false', 'true', d)}"
 
 # Starting with M61, Chromium defaults to building with its own copy of libc++
 # instead of the system's libstdc++. Explicitly disable this behavior.
-- 
2.20.1

-- 
___
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel


Re: [oe] [meta-qt5][PATCH] qfilesystemengine_unix.cpp: optionally disable use of statx(2)

2018-07-18 Thread Rasmus Villemoes
On 2018-07-17 09:20, Martin Jansa wrote:
> On Mon, Jul 16, 2018 at 11:22:21AM +0200, Rasmus Villemoes wrote:
>> When used inside an unprivileged docker container, statx(2) gets
>> rejected with -EPERM by the default seccomp profile, unless the host
>> runs an almost-bleeding edge version of docker (at least 18.04). That
>> causes most qt apps, qmake in particular, to fail.
>> +
>> diff --git a/recipes-qt/qt5/qt5-git.inc b/recipes-qt/qt5/qt5-git.inc
>> index 09b6cc5..41f9b7a 100644
>> --- a/recipes-qt/qt5/qt5-git.inc
>> +++ b/recipes-qt/qt5/qt5-git.inc
>> @@ -15,3 +15,5 @@ CVE_PRODUCT = "qt"
>>  S = "${WORKDIR}/git"
>>  
>>  PV = "5.11.1+git${SRCPV}"
>> +
>> +SRC_URI_append_no-xstat = " 
>> file://0001-qfilesystemengine_unix.cpp-disable-use-of-statx-2.patch"
> 
> Isn't this applicable only to *qtbase* ?

That is entirely likely. I have no idea which source files go into
building which qt modules, or if any source files are shared between
modules.

Rasmus

-- 
___
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel


[oe] [meta-oe][PATCH] vim: provide xxd

2018-07-18 Thread Rasmus Villemoes
The xxd tool is quite useful by itself. For example, building U-boot
using the CONFIG_USE_DEFAULT_ENV_FILE option requires that the host
provides xxd, and it's nicer to be able to put xxd-native rather than
vim-native in that recipe's dependencies.

Signed-off-by: Rasmus Villemoes 
---
 meta-oe/recipes-support/vim/vim_8.1.0172.bb | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta-oe/recipes-support/vim/vim_8.1.0172.bb 
b/meta-oe/recipes-support/vim/vim_8.1.0172.bb
index 8e99919bd..b188c15c3 100644
--- a/meta-oe/recipes-support/vim/vim_8.1.0172.bb
+++ b/meta-oe/recipes-support/vim/vim_8.1.0172.bb
@@ -111,3 +111,5 @@ ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim"
 ALTERNATIVE_PRIORITY = "100"
 
 BBCLASSEXTEND = "native"
+
+PROVIDES += "xxd"
-- 
2.16.4

-- 
___
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel


[oe] [meta-qt5][PATCH] qfilesystemengine_unix.cpp: optionally disable use of statx(2)

2018-07-17 Thread Rasmus Villemoes
When used inside an unprivileged docker container, statx(2) gets
rejected with -EPERM by the default seccomp profile, unless the host
runs an almost-bleeding edge version of docker (at least 18.04). That
causes most qt apps, qmake in particular, to fail.

While the qt release notes do mention this

   - Qt uses the statx(2) system call for obtaining file information on
   kernels 4.12 and later. Some older container systems install system call
   protection rules that do not include this system call. If you experience
   problems running Qt applications inside containers (such as the report of
   a file not existing when it does), ensure the statx(2) is allowed in the
   container configuration.

it's not always feasible nor reasonable to upgrade (or tell one's
customers to upgrade) the build infrastructure, especially since several
distros as of this writing don't even seem to ship such a recent version
in their official repositories.

This opt-in patch simply monkey-patches out any (the only) use of statx
and ensures that the -ENOSYS fallbacks are used. While I agree that this
is really a bug in the container system, this takes the short and
pragmatic approach to getting things to work.

To opt-in, just prepend no-xstat: to OVERRIDES in some global
configuration file, possibly restricting that to e.g. native and
nativesdk.

Signed-off-by: Rasmus Villemoes 
---
 ...temengine_unix.cpp-disable-use-of-statx-2.patch | 58 ++
 recipes-qt/qt5/qt5-git.inc |  2 +
 2 files changed, 60 insertions(+)
 create mode 100644 
recipes-qt/qt5/files/0001-qfilesystemengine_unix.cpp-disable-use-of-statx-2.patch

diff --git 
a/recipes-qt/qt5/files/0001-qfilesystemengine_unix.cpp-disable-use-of-statx-2.patch
 
b/recipes-qt/qt5/files/0001-qfilesystemengine_unix.cpp-disable-use-of-statx-2.patch
new file mode 100644
index 000..6efbfe4
--- /dev/null
+++ 
b/recipes-qt/qt5/files/0001-qfilesystemengine_unix.cpp-disable-use-of-statx-2.patch
@@ -0,0 +1,58 @@
+From dc5218c70d445a4692271add1a17091afb230095 Mon Sep 17 00:00:00 2001
+From: Rasmus Villemoes 
+Date: Mon, 16 Jul 2018 09:50:06 +0200
+Subject: [PATCH] qfilesystemengine_unix.cpp: disable use of statx(2)
+
+When used inside an unprivileged docker container, statx(2) gets
+rejected with -EPERM by the default seccomp profile, unless the host
+runs an almost-bleeding edge version of docker (at least 18.04). That
+causes most qt apps, qmake in particular, to fail.
+
+While the qt release notes do mention this
+
+   - Qt uses the statx(2) system call for obtaining file information on
+   kernels 4.12 and later. Some older container systems install system call
+   protection rules that do not include this system call. If you experience
+   problems running Qt applications inside containers (such as the report of
+   a file not existing when it does), ensure the statx(2) is allowed in the
+   container configuration.
+
+it's not always feasible nor reasonable to upgrade (or tell one's
+customers to upgrade) the build infrastructure.
+
+This opt-in patch simply monkey-patches out any (the only) use of statx
+and ensures that the -ENOSYS fallbacks are used.
+
+https://github.com/docker/for-linux/issues/208
+https://github.com/moby/moby/pull/36417
+
+Upstream-Status: Inappropriate [workaround]
+---
+ src/corelib/io/qfilesystemengine_unix.cpp | 4 
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/corelib/io/qfilesystemengine_unix.cpp 
b/src/corelib/io/qfilesystemengine_unix.cpp
+index b974af80dc..5f574901e3 100644
+--- a/src/corelib/io/qfilesystemengine_unix.cpp
 b/src/corelib/io/qfilesystemengine_unix.cpp
+@@ -320,6 +320,9 @@ mtime(const T , int)
+ #ifdef STATX_BASIC_STATS
+ static int qt_real_statx(int fd, const char *pathname, int flags, struct 
statx *statxBuffer)
+ {
++#if 1
++return -ENOSYS;
++#else
+ #ifdef Q_ATOMIC_INT8_IS_SUPPORTED
+ static QBasicAtomicInteger statxTested  = 
Q_BASIC_ATOMIC_INITIALIZER(0);
+ #else
+@@ -337,6 +340,7 @@ static int qt_real_statx(int fd, const char *pathname, int 
flags, struct statx *
+ }
+ statxTested.store(1);
+ return ret == -1 ? -errno : 0;
++#endif
+ }
+ 
+ static int qt_statx(const char *pathname, struct statx *statxBuffer)
+-- 
+2.16.4
+
diff --git a/recipes-qt/qt5/qt5-git.inc b/recipes-qt/qt5/qt5-git.inc
index 09b6cc5..41f9b7a 100644
--- a/recipes-qt/qt5/qt5-git.inc
+++ b/recipes-qt/qt5/qt5-git.inc
@@ -15,3 +15,5 @@ CVE_PRODUCT = "qt"
 S = "${WORKDIR}/git"
 
 PV = "5.11.1+git${SRCPV}"
+
+SRC_URI_append_no-xstat = " 
file://0001-qfilesystemengine_unix.cpp-disable-use-of-statx-2.patch"
-- 
2.16.4

-- 
___
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel