This commit is contained in:
TriForceX
2019-09-25 20:51:37 -03:00
commit 6203ff3e7c
11215 changed files with 428258 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
From ff93866eb119cedb791894814780c0e44db35715 Mon Sep 17 00:00:00 2001
From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Date: Fri, 10 Mar 2017 14:56:17 +0000
Subject: [PATCH] Makefile: install static library and headers in
install-static
Currently, the install-static target only installs the statically
compiled tools. However, some programs outside of btrfs-progs (for
example docker) link with the btrfs libraries. If such programs want to
link statically against the btrfs-progs library, then this library
should be installed by "install-static". Indeed, "make install" cannot
be used if the support for shared library is not enabled.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Gustavo: Rebase for btrfs-progs 4.7.2]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
[Vincent: Rebase for btrfs-progs 4.10]
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
[baruch: Rebase for btrfs-progs 4.16]
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
Makefile | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 67fbc48..d9e34be 100644
--- a/Makefile
+++ b/Makefile
@@ -308,7 +308,7 @@ test: test-fsck test-mkfs test-convert test-misc test-fuzz test-cli
# NOTE: For static compiles, you need to have all the required libs
# static equivalent available
#
-static: $(progs_static)
+static: $(progs_static) $(libs_static)
version.h: version.sh version.h.in configure.ac
@echo " [SH] $@"
@@ -537,6 +537,10 @@ install-static: $(progs_static) $(INSTALLDIRS)
$(INSTALL) $(progs_static) $(DESTDIR)$(bindir)
# btrfsck is a link to btrfs in the src tree, make it so for installed file as well
$(LN_S) -f btrfs.static $(DESTDIR)$(bindir)/btrfsck.static
+ $(INSTALL) -m755 -d $(DESTDIR)$(libdir)
+ $(INSTALL) $(libs_static) $(DESTDIR)$(libdir)
+ $(INSTALL) -m755 -d $(DESTDIR)$(incdir)/btrfs
+ $(INSTALL) -m644 $(libbtrfs_headers) $(DESTDIR)$(incdir)/btrfs
$(INSTALLDIRS):
@echo "Making install in $(patsubst install-%,%,$@)"
--
2.10.2

View File

@@ -0,0 +1,42 @@
From 1fc5444f5620670bb9d293be4f92df59661e1810 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Mon, 20 Feb 2017 23:31:24 +0100
Subject: [PATCH] kerncompat.h: define BTRFS_DISABLE_BACKTRACE when building
with uClibc
uClibc does not provide backtrace() nor <execinfo.h>. When building
btrfs-progs, passing --disable-backtrace is enough to make it build with
uClibc. But once btrfs-progs is installed and another program/library
includes kerncompat.h, it fails to build with uClibc, because
BTRFS_DISABLE_BACKTRACE is not defined.
The most correct fix for this would be to have kerncompat.h generated
from kerncompat.h.in during the btrfs-progs build process, and tuned
depending on autoconf/automake variables. But as a quick fix that
follows the current strategy, we simply tweak the existing __GLIBC__
conditional. Indeed, uClibc pretends to be glibc and defines __GLIBC__,
but it does not replace it completely, hence the need to define
BTRFS_DISABLE_BACKTRACE when __GLIBC__ is not defined *or* when
__UCLIBC__ is defined.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
kerncompat.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kerncompat.h b/kerncompat.h
index 0f207b7..e47d164 100644
--- a/kerncompat.h
+++ b/kerncompat.h
@@ -32,7 +32,7 @@
#include <features.h>
-#ifndef __GLIBC__
+#if !defined(__GLIBC__) || defined(__UCLIBC__)
#ifndef BTRFS_DISABLE_BACKTRACE
#define BTRFS_DISABLE_BACKTRACE
#endif
--
2.7.4

View File

@@ -0,0 +1,17 @@
config BR2_PACKAGE_BTRFS_PROGS
bool "btrfs-progs"
depends on BR2_USE_MMU # util-linux
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_LZO
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
select BR2_PACKAGE_ZLIB
help
Btrfs filesystem utilities
https://btrfs.wiki.kernel.org/index.php/Main_Page
comment "btrfs-progs needs a toolchain w/ threads"
depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_HAS_THREADS

View File

@@ -0,0 +1,6 @@
config BR2_PACKAGE_HOST_BTRFS_PROGS
bool "host btrfs-progs"
help
Btrfs filesystem utilities
https://btrfs.wiki.kernel.org/index.php/Main_Page

View File

@@ -0,0 +1,6 @@
# From https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/sha256sums.asc
sha256 36ac4a0198ffff79d5800c537ea4b19769a8fd3ad870f75413d25b20e2d83233 btrfs-progs-v5.2.1.tar.xz
# Locally computed
sha256 0d5bf346df9e635a29dcdddf832dc5b002ca6cdc1c5c9c6c567d2a61bb0c5c15 COPYING
sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 libbtrfsutil/COPYING
sha256 e3a994d82e644b03a792a930f574002658412f62407f5fee083f2555c5f23118 libbtrfsutil/COPYING.LESSER

View File

@@ -0,0 +1,42 @@
################################################################################
#
# btrfs-progs
#
################################################################################
BTRFS_PROGS_VERSION = 5.2.1
BTRFS_PROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/kdave/btrfs-progs
BTRFS_PROGS_SOURCE = btrfs-progs-v$(BTRFS_PROGS_VERSION).tar.xz
BTRFS_PROGS_DEPENDENCIES = host-pkgconf lzo util-linux zlib
BTRFS_PROGS_CONF_OPTS = --disable-backtrace --disable-zstd --disable-python
BTRFS_PROGS_LICENSE = GPL-2.0, LGPL-3.0+ (libbtrfsutil)
BTRFS_PROGS_LICENSE_FILES = COPYING libbtrfsutil/COPYING \
libbtrfsutil/COPYING.LESSER
BTRFS_PROGS_INSTALL_STAGING = YES
# Doesn't autodetect static-only and tries to build both
ifeq ($(BR2_STATIC_LIBS),y)
BTRFS_PROGS_MAKE_OPTS = static
BTRFS_PROGS_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-static
BTRFS_PROGS_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-static
endif
# convert also supports conversion from reiserfs, which needs some
# reiserfs libraries, but we have no package for them in Buildroot, so
# we keep things simple and only handle ext2.
ifeq ($(BR2_PACKAGE_E2FSPROGS),y)
BTRFS_PROGS_CONF_OPTS += --enable-convert --with-convert=ext2
BTRFS_PROGS_DEPENDENCIES += e2fsprogs
else
BTRFS_PROGS_CONF_OPTS += --disable-convert
endif
HOST_BTRFS_PROGS_DEPENDENCIES = host-util-linux host-lzo host-zlib
HOST_BTRFS_PROGS_CONF_OPTS = \
--disable-backtrace \
--disable-zstd \
--disable-python \
--disable-convert
$(eval $(autotools-package))
$(eval $(host-autotools-package))