From f458cdf52f27ece56f96408bbfa2eca8e5e2143c Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Mon, 6 Jun 2022 14:01:13 +0200 Subject: btrfs-tools: update 5.16.2 -> 5.18 Signed-off-by: Alexander Kanavin Signed-off-by: Luca Ceresoli Signed-off-by: Richard Purdie --- .../btrfs-tools/btrfs-tools/lzo-option.patch | 126 --------------------- .../btrfs-tools/btrfs-tools_5.16.2.bb | 73 ------------ .../btrfs-tools/btrfs-tools_5.18.bb | 72 ++++++++++++ 3 files changed, 72 insertions(+), 199 deletions(-) delete mode 100644 meta/recipes-devtools/btrfs-tools/btrfs-tools/lzo-option.patch delete mode 100644 meta/recipes-devtools/btrfs-tools/btrfs-tools_5.16.2.bb create mode 100644 meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.bb (limited to 'meta/recipes-devtools/btrfs-tools') diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools/lzo-option.patch b/meta/recipes-devtools/btrfs-tools/btrfs-tools/lzo-option.patch deleted file mode 100644 index f4278a5c5d..0000000000 --- a/meta/recipes-devtools/btrfs-tools/btrfs-tools/lzo-option.patch +++ /dev/null @@ -1,126 +0,0 @@ -Upstream-Status: Backport [https://github.com/kdave/btrfs-progs/commit/73545c1fe6304f08ab306b76d2bcacaf22a5e99a] -Signed-off-by: Ross Burton - -From 4f4eafe8ebcc86f84f6c85a5c5814c430d8f190c Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Tue, 24 May 2022 13:44:29 +0100 -Subject: [PATCH] btrfs-progs: add option to disable LZO support - -LZO as a compression format is pretty archaic these days, there are -better algorithsm in all metrics for compression and decompression, and -lzo hasn't had a new release since 2017. - -Add an option to disable LZO (defaulting to enabled), and respect it in -cmds/restore.c. - -Signed-off-by: Ross Burton ---- - Makefile | 2 +- - Makefile.inc.in | 1 + - cmds/restore.c | 7 +++++++ - configure.ac | 30 ++++++++++++++++++++---------- - 4 files changed, 29 insertions(+), 11 deletions(-) - -diff --git a/Makefile b/Makefile -index af4908f9..0e8e05f3 100644 ---- a/Makefile -+++ b/Makefile -@@ -335,7 +335,7 @@ endif - btrfs_convert_cflags = -DBTRFSCONVERT_EXT2=$(BTRFSCONVERT_EXT2) - btrfs_convert_cflags += -DBTRFSCONVERT_REISERFS=$(BTRFSCONVERT_REISERFS) - btrfs_fragments_libs = -lgd -lpng -ljpeg -lfreetype --cmds_restore_cflags = -DBTRFSRESTORE_ZSTD=$(BTRFSRESTORE_ZSTD) -+cmds_restore_cflags = -DBTRFSRESTORE_LZO=$(BTRFSRESTORE_LZO) -DBTRFSRESTORE_ZSTD=$(BTRFSRESTORE_ZSTD) - - ifeq ($(CRYPTOPROVIDER_BUILTIN),1) - CRYPTO_OBJECTS = crypto/sha224-256.o crypto/blake2b-ref.o -diff --git a/Makefile.inc.in b/Makefile.inc.in -index c995aef9..385b7ae1 100644 ---- a/Makefile.inc.in -+++ b/Makefile.inc.in -@@ -16,6 +16,7 @@ BUILD_PROGRAMS = @BUILD_PROGRAMS@ - BUILD_SHARED_LIBRARIES = @BUILD_SHARED_LIBRARIES@ - BUILD_STATIC_LIBRARIES = @BUILD_STATIC_LIBRARIES@ - BTRFSCONVERT_EXT2 = @BTRFSCONVERT_EXT2@ -+BTRFSRESTORE_LZO = @BTRFSRESTORE_LZO@ - BTRFSCONVERT_REISERFS = @BTRFSCONVERT_REISERFS@ - BTRFSRESTORE_ZSTD = @BTRFSRESTORE_ZSTD@ - PYTHON_BINDINGS = @PYTHON_BINDINGS@ -diff --git a/cmds/restore.c b/cmds/restore.c -index 5923d571..4dd79fce 100644 ---- a/cmds/restore.c -+++ b/cmds/restore.c -@@ -25,8 +25,10 @@ - #include - #include - #include -+#if BTRFSRESTORE_LZO - #include - #include -+#endif - #include - #if BTRFSRESTORE_ZSTD - #include -@@ -98,6 +100,10 @@ static inline size_t read_compress_length(unsigned char *buf) - static int decompress_lzo(struct btrfs_root *root, unsigned char *inbuf, - char *outbuf, u64 compress_len, u64 *decompress_len) - { -+#if !BTRFSRESTORE_LZO -+ error("btrfs not compiled with lzo support"); -+ return -1; -+#else - size_t new_len; - size_t in_len; - size_t out_len = 0; -@@ -156,6 +162,7 @@ static int decompress_lzo(struct btrfs_root *root, unsigned char *inbuf, - *decompress_len = out_len; - - return 0; -+#endif - } - - static int decompress_zstd(const char *inbuf, char *outbuf, u64 compress_len, -diff --git a/configure.ac b/configure.ac -index d907636b..c1ad2c22 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -372,16 +372,26 @@ if ${PKG_CONFIG} udev --atleast-version 190; then - fi - AC_SUBST(UDEVDIR) - --dnl lzo library does not provide pkg-config, let use classic way --AC_CHECK_LIB([lzo2], [lzo_version], [ -- LZO2_LIBS="-llzo2" -- LZO2_CFLAGS="" -- LZO2_LIBS_STATIC="-llzo2"],[ -- AC_MSG_ERROR([cannot find lzo2 library]) --]) --AC_SUBST([LZO2_LIBS]) --AC_SUBST([LZO2_LIBS_STATIC]) --AC_SUBST([LZO2_CFLAGS]) -+AC_ARG_ENABLE([lzo], -+ AS_HELP_STRING([--disable-lzo], [build without lzo support]), -+ [], [enable_lzo=yes] -+) -+ -+if test "x$enable_lzo" = xyes; then -+ dnl lzo library does not provide pkg-config, let use classic way -+ AC_CHECK_LIB([lzo2], [lzo_version], [ -+ LZO2_LIBS="-llzo2" -+ LZO2_CFLAGS="" -+ LZO2_LIBS_STATIC="-llzo2"],[ -+ AC_MSG_ERROR([cannot find lzo2 library]) -+ ]) -+ AC_SUBST([LZO2_LIBS]) -+ AC_SUBST([LZO2_LIBS_STATIC]) -+ AC_SUBST([LZO2_CFLAGS]) -+fi -+ -+AS_IF([test "x$enable_lzo" = xyes], [BTRFSRESTORE_LZO=1], [BTRFSRESTORE_LZO=0]) -+AC_SUBST(BTRFSRESTORE_LZO) - - dnl call PKG_INSTALLDIR from pkg.m4 to set pkgconfigdir - m4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR], [AC_MSG_ERROR([please install pkgconf])]) --- -2.25.1 - diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.16.2.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.16.2.bb deleted file mode 100644 index 88b5c6259c..0000000000 --- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.16.2.bb +++ /dev/null @@ -1,73 +0,0 @@ -SUMMARY = "Checksumming Copy on Write Filesystem utilities" -DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \ -implementing advanced features while focusing on fault tolerance, repair and \ -easy administration. \ -This package contains utilities (mkfs, fsck, btrfsctl) used to work with \ -btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3." - -HOMEPAGE = "https://btrfs.wiki.kernel.org" - -LICENSE = "GPL-2.0-only & LGPL-2.1-or-later" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067 \ - file://libbtrfsutil/COPYING;md5=4fbd65380cdd255951079008b364516c \ -" -SECTION = "base" -DEPENDS = "util-linux zlib" - -SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git;branch=master \ - file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ - file://lzo-option.patch \ - " -SRCREV = "31458c9c81935abbed010221261897273a98d2c1" -S = "${WORKDIR}/git" - -PACKAGECONFIG ??= " \ - programs \ - convert \ - python \ - crypto-builtin \ -" -PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" -PACKAGECONFIG[programs] = "--enable-programs,--disable-programs" -PACKAGECONFIG[convert] = "--enable-convert --with-convert=ext2,--disable-convert --without-convert,e2fsprogs" -PACKAGECONFIG[zoned] = "--enable-zoned,--disable-zoned" -PACKAGECONFIG[python] = "--enable-python,--disable-python,python3-setuptools-native" -PACKAGECONFIG[lzo] = "--enable-lzo,--disable-lzo,lzo" -PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd" -PACKAGECONFIG[udev] = "--enable-libudev,--disable-libudev,udev" - -# Pick only one crypto provider -PACKAGECONFIG[crypto-builtin] = "--with-crypto=builtin" -PACKAGECONFIG[crypto-libgcrypt] = "--with-crypto=libgcrypt,,libgcrypt" -PACKAGECONFIG[crypto-libsodium] = "--with-crypto=libsodium,,libsodium" -PACKAGECONFIG[crypto-libkcapi] = "--with-crypto=libkcapi,,libkcapi" - -inherit autotools-brokensep pkgconfig manpages -inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'setuptools3-base', '', d)} - -CLEANBROKEN = "1" - -EXTRA_OECONF = "--enable-largefile" -EXTRA_OECONF:append:libc-musl = " --disable-backtrace " -EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}" -EXTRA_PYTHON_CFLAGS:class-native = "" -EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}" -EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'" - -do_configure:prepend() { - # Upstream doesn't ship this and autoreconf won't install it as automake isn't used. - mkdir -p ${S}/config - cp -f $(automake --print-libdir)/install-sh ${S}/config/ -} - - -do_install:append() { - if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then - oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python - fi -} - -RDEPENDS:${PN} = "libgcc" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.bb new file mode 100644 index 0000000000..f5120d3980 --- /dev/null +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.bb @@ -0,0 +1,72 @@ +SUMMARY = "Checksumming Copy on Write Filesystem utilities" +DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \ +implementing advanced features while focusing on fault tolerance, repair and \ +easy administration. \ +This package contains utilities (mkfs, fsck, btrfsctl) used to work with \ +btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3." + +HOMEPAGE = "https://btrfs.wiki.kernel.org" + +LICENSE = "GPL-2.0-only & LGPL-2.1-or-later" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067 \ + file://libbtrfsutil/COPYING;md5=4fbd65380cdd255951079008b364516c \ +" +SECTION = "base" +DEPENDS = "util-linux zlib" + +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git;branch=master \ + file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ + " +SRCREV = "f9e303584272b81b05b926a0cc9010f43af12a03" +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= " \ + programs \ + convert \ + python \ + crypto-builtin \ +" +PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, python3-sphinx-native" +PACKAGECONFIG[programs] = "--enable-programs,--disable-programs" +PACKAGECONFIG[convert] = "--enable-convert --with-convert=ext2,--disable-convert --without-convert,e2fsprogs" +PACKAGECONFIG[zoned] = "--enable-zoned,--disable-zoned" +PACKAGECONFIG[python] = "--enable-python,--disable-python,python3-setuptools-native" +PACKAGECONFIG[lzo] = "--enable-lzo,--disable-lzo,lzo" +PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd" +PACKAGECONFIG[udev] = "--enable-libudev,--disable-libudev,udev" + +# Pick only one crypto provider +PACKAGECONFIG[crypto-builtin] = "--with-crypto=builtin" +PACKAGECONFIG[crypto-libgcrypt] = "--with-crypto=libgcrypt,,libgcrypt" +PACKAGECONFIG[crypto-libsodium] = "--with-crypto=libsodium,,libsodium" +PACKAGECONFIG[crypto-libkcapi] = "--with-crypto=libkcapi,,libkcapi" + +inherit autotools-brokensep pkgconfig manpages +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'setuptools3-base', '', d)} + +CLEANBROKEN = "1" + +EXTRA_OECONF = "--enable-largefile" +EXTRA_OECONF:append:libc-musl = " --disable-backtrace " +EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}" +EXTRA_PYTHON_CFLAGS:class-native = "" +EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}" +EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'" + +do_configure:prepend() { + # Upstream doesn't ship this and autoreconf won't install it as automake isn't used. + mkdir -p ${S}/config + cp -f $(automake --print-libdir)/install-sh ${S}/config/ +} + + +do_install:append() { + if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then + oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python + fi +} + +RDEPENDS:${PN} = "libgcc" + +BBCLASSEXTEND = "native nativesdk" -- cgit 1.2.3-korg