From 016e3dda2d6acc9b457079d11b5346a5352a431d Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Sun, 2 Dec 2018 12:38:04 +0100 Subject: btrfs-tools: update to 4.19 Add a backported patch to fix big endian compilation. (From OE-Core rev: 9f5f4b31df01a29fd07ce27efc7534b4ea29a778) Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- ...-kernel-lib-bitops-Fix-big-endian-compila.patch | 55 ++++++++++++++++++++++ .../btrfs-tools/btrfs-tools_4.17.1.bb | 44 ----------------- .../btrfs-tools/btrfs-tools_4.19.bb | 45 ++++++++++++++++++ 3 files changed, 100 insertions(+), 44 deletions(-) create mode 100644 meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-progs-kernel-lib-bitops-Fix-big-endian-compila.patch delete mode 100644 meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.1.bb create mode 100644 meta/recipes-devtools/btrfs-tools/btrfs-tools_4.19.bb (limited to 'meta/recipes-devtools/btrfs-tools') diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-progs-kernel-lib-bitops-Fix-big-endian-compila.patch b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-progs-kernel-lib-bitops-Fix-big-endian-compila.patch new file mode 100644 index 0000000000..ad430858c9 --- /dev/null +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-progs-kernel-lib-bitops-Fix-big-endian-compila.patch @@ -0,0 +1,55 @@ +From 920c515478b441eaca31e33a18b95ceaa49ace19 Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Mon, 5 Nov 2018 11:06:41 -0800 +Subject: [PATCH] btrfs-progs: kernel-lib: bitops: Fix big endian compilation + +Replaced bswap with _ variants bswap_32 etc. While it's a glibc +extension, all of the popular libc implementations (glibc, uClibc, musl, +BIONIC) seem to support it. + +Added static inline to two functions to match little endian variants. This +fixes a linking error experienced when compiling on gcc 7.3.0 with LTO, +possibly a bug that was fixed later. + +Upstream-Status: Backport [https://gitlab.com/kdave/btrfs-progs/commit/ed570e2df335063280c9d3affd8bb89919a1ac0d.patch] +Reviewed-by: Nikolay Borisov +Signed-off-by: Rosen Penev +Signed-off-by: David Sterba +Signed-off-by: Alexander Kanavin +--- + kernel-lib/bitops.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/kernel-lib/bitops.h b/kernel-lib/bitops.h +index b1fd6f53..2c51a265 100644 +--- a/kernel-lib/bitops.h ++++ b/kernel-lib/bitops.h +@@ -178,9 +178,9 @@ static inline unsigned long find_next_zero_bit(const unsigned long *addr, + static inline unsigned long ext2_swab(const unsigned long y) + { + #if BITS_PER_LONG == 64 +- return (unsigned long) bswap64((u64) y); ++ return (unsigned long) bswap_64((u64) y); + #elif BITS_PER_LONG == 32 +- return (unsigned long) bswap32((u32) y); ++ return (unsigned long) bswap_32((u32) y); + #else + #error BITS_PER_LONG not defined + #endif +@@ -218,14 +218,14 @@ static inline unsigned long _find_next_bit_le(const unsigned long *addr1, + return min(start + __ffs(ext2_swab(tmp)), nbits); + } + +-unsigned long find_next_zero_bit_le(const void *addr, unsigned long size, ++static inline unsigned long find_next_zero_bit_le(const void *addr, unsigned long size, + unsigned long offset) + { + return _find_next_bit_le(addr, NULL, size, offset, ~0UL); + } + + +-unsigned long find_next_bit_le(const void *addr, unsigned long size, ++static inline unsigned long find_next_bit_le(const void *addr, unsigned long size, + unsigned long offset) + { + return _find_next_bit_le(addr, NULL, size, offset, 0UL); diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.1.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.1.bb deleted file mode 100644 index 6b53fbcd7f..0000000000 --- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.1.bb +++ /dev/null @@ -1,44 +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 = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067" -SECTION = "base" -DEPENDS = "util-linux attr e2fsprogs lzo acl python3-setuptools-native" -DEPENDS_append_class-target = " udev" -RDEPENDS_${PN} = "libgcc" - -SRCREV = "7faaca0d9f78f7162ae603231f693dd8e1af2a41" -SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ - file://0001-Makefile-build-mktables-using-native-gcc.patch \ - file://0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch \ - file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ - " - -inherit autotools-brokensep pkgconfig manpages distutils3-base - -CLEANBROKEN = "1" - -PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" -EXTRA_OECONF = " --disable-zstd" -EXTRA_OECONF_append_libc-musl = " --disable-backtrace " - -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/ -} - -S = "${WORKDIR}/git" - -do_install_append() { - oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python -} - -BBCLASSEXTEND = "native" diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.19.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.19.bb new file mode 100644 index 0000000000..f5e0f77c8a --- /dev/null +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.19.bb @@ -0,0 +1,45 @@ +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 = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067" +SECTION = "base" +DEPENDS = "util-linux attr e2fsprogs lzo acl python3-setuptools-native" +DEPENDS_append_class-target = " udev" +RDEPENDS_${PN} = "libgcc" + +SRCREV = "d72d913291683188ddf5d758db02f1bc3b05d2f7" +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ + file://0001-Makefile-build-mktables-using-native-gcc.patch \ + file://0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch \ + file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ + file://0001-btrfs-progs-kernel-lib-bitops-Fix-big-endian-compila.patch \ + " + +inherit autotools-brokensep pkgconfig manpages distutils3-base + +CLEANBROKEN = "1" + +PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" +EXTRA_OECONF = " --disable-zstd" +EXTRA_OECONF_append_libc-musl = " --disable-backtrace " + +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/ +} + +S = "${WORKDIR}/git" + +do_install_append() { + oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python +} + +BBCLASSEXTEND = "native" -- cgit v1.2.3-54-g00ecf