mirror of
https://github.com/MiyooCFW/buildroot.git
synced 2025-09-27 22:24:19 +03:00
Merge from bittboy/buildroot@db180c0
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
17
package/btrfs-progs/Config.in
Normal file
17
package/btrfs-progs/Config.in
Normal 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
|
||||
6
package/btrfs-progs/Config.in.host
Normal file
6
package/btrfs-progs/Config.in.host
Normal 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
|
||||
6
package/btrfs-progs/btrfs-progs.hash
Normal file
6
package/btrfs-progs/btrfs-progs.hash
Normal 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
|
||||
42
package/btrfs-progs/btrfs-progs.mk
Normal file
42
package/btrfs-progs/btrfs-progs.mk
Normal 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))
|
||||
Reference in New Issue
Block a user