The libarchive library, which is being used by opkg, supports ACLs and xattr already.
More informations can be read at this link: https://github.com/libarchive/libarchive/pull/691 Signed-off-by: Piotr Łobacz <p.lob...@welotec.com> --- ...-to-enable-support-for-acl-and-xattr.patch | 70 +++++++++++++++++++ meta/recipes-devtools/opkg/opkg_0.6.2.bb | 5 +- 2 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/opkg/opkg/0002-Add-options-to-enable-support-for-acl-and-xattr.patch diff --git a/meta/recipes-devtools/opkg/opkg/0002-Add-options-to-enable-support-for-acl-and-xattr.patch b/meta/recipes-devtools/opkg/opkg/0002-Add-options-to-enable-support-for-acl-and-xattr.patch new file mode 100644 index 0000000000..26b2a36c42 --- /dev/null +++ b/meta/recipes-devtools/opkg/opkg/0002-Add-options-to-enable-support-for-acl-and-xattr.patch @@ -0,0 +1,70 @@ +From 1c935e994bd572d9fff436f660ac1a060a434df0 Mon Sep 17 00:00:00 2001 +From: Maciej Liszewski <m.liszew...@welotec.com> +Date: Tue, 4 Jul 2023 22:01:58 +0200 +Subject: [PATCH] Add options to enable support for acl and xattr +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The libarchive library, which is being used by opkg, supports ACLs +and xattr already. + +More informations can be read at this link: +https://github.com/libarchive/libarchive/pull/691 + +Upstream-Status: Backport [ef743b75745939df210a9e6a70a44d69181ef05a] + +[1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=15097 + +Signed-off-by: Maciej Liszewski <m.liszew...@welotec.com> +Signed-off-by: Piotr Łobacz <p.lob...@welotec.com> +--- + configure.ac | 12 ++++++++++++ + libopkg/opkg_archive.c | 8 ++++++++ + 2 files changed, 20 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 389a818..46949cd 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -158,6 +158,18 @@ return OPENSSL_VERSION_NUMBER; ], + AC_SUBST(OPENSSL_LIBS) + fi + ++# check for ACL support ++AC_ARG_WITH([acl], [AS_HELP_STRING([--with-acl], [Enable ACL support])]) ++if test "x$with_acl" = "xyes"; then ++ AC_DEFINE([ENABLE_ACL], [1], [Enable ACL support]) ++fi ++ ++# check for xattr support ++AC_ARG_WITH([xattr], [AS_HELP_STRING([--with-xattr], [Enable xattr support])]) ++if test "x$with_xattr" = "xyes"; then ++ AC_DEFINE([ENABLE_XATTR], [1], [Enable xattr support]) ++fi ++ + # check for libsolv solver + AC_ARG_WITH(libsolv, AC_HELP_STRING([--with-libsolv], [Use libsolv solver support. + ]), [], [with_libsolv="no"]) +diff --git a/libopkg/opkg_archive.c b/libopkg/opkg_archive.c +index 03a4afb..8dd902d 100644 +--- a/libopkg/opkg_archive.c ++++ b/libopkg/opkg_archive.c +@@ -912,6 +912,14 @@ struct opkg_ar *ar_open_pkg_data_archive(const char *filename) + ar->extract_flags = ARCHIVE_EXTRACT_OWNER | ARCHIVE_EXTRACT_PERM | + ARCHIVE_EXTRACT_TIME | ARCHIVE_EXTRACT_UNLINK | ARCHIVE_EXTRACT_NO_OVERWRITE; + ++#ifdef ENABLE_ACL ++ ar->extract_flags |= ARCHIVE_EXTRACT_ACL; ++#endif ++ ++#ifdef ENABLE_XATTR ++ ar->extract_flags |= ARCHIVE_EXTRACT_FFLAGS | ARCHIVE_EXTRACT_XATTR; ++#endif ++ + if (opkg_config->ignore_uid) + ar->extract_flags &= ~ARCHIVE_EXTRACT_OWNER; + +-- +2.34.1 + diff --git a/meta/recipes-devtools/opkg/opkg_0.6.2.bb b/meta/recipes-devtools/opkg/opkg_0.6.2.bb index 46be137354..d7dc6ab715 100644 --- a/meta/recipes-devtools/opkg/opkg_0.6.2.bb +++ b/meta/recipes-devtools/opkg/opkg_0.6.2.bb @@ -15,6 +15,7 @@ PE = "1" SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz \ file://opkg.conf \ file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \ + file://0002-Add-options-to-enable-support-for-acl-and-xattr.patch \ file://run-ptest \ " @@ -30,8 +31,10 @@ inherit autotools pkgconfig ptest target_localstatedir := "${localstatedir}" OPKGLIBDIR ??= "${target_localstatedir}/lib" -PACKAGECONFIG ??= "libsolv" +PACKAGECONFIG ??= "libsolv ${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)}" +PACKAGECONFIG[acl] = "--with-acl,--without-acl" +PACKAGECONFIG[xattr] = "--with-xattr,--without-xattr" PACKAGECONFIG[gpg] = "--enable-gpg,--disable-gpg,\ gnupg gpgme libgpg-error,\ ${@ "gnupg" if ("native" in d.getVar("PN")) else "gnupg-gpg"}\ -- 2.42.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#105537): https://lists.openembedded.org/g/openembedded-devel/message/105537 Mute This Topic: https://lists.openembedded.org/mt/101977909/21656 Group Owner: openembedded-devel+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-