croc: update to 10.0.5
[feed/packages.git] / utils / btrfs-progs / Makefile
1 #
2 # This is free software, licensed under the GNU General Public License v2.
3 # See /LICENSE for more information.
4 #
5
6 include $(TOPDIR)/rules.mk
7
8 PKG_NAME:=btrfs-progs
9 PKG_VERSION:=6.5.1
10 PKG_RELEASE:=1
11
12 PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.xz
13 PKG_SOURCE_URL:=@KERNEL/linux/kernel/people/kdave/btrfs-progs
14 PKG_HASH:=dacbb28136e82586af802205263a428c3d1941778bc3fdc9b1b386ea12eb904e
15 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
16
17 PKG_MAINTAINER:=Karel Kočí <karel.koci@nic.cz>
18 PKG_LICENSE:=GPL-2.0-only
19 PKG_LICENSE_FILES:=COPYING
20
21 PKG_INSTALL:=1
22 PKG_BUILD_PARALLEL:=1
23 PKG_BUILD_DEPENDS:=acl
24 PKG_BUILD_FLAGS:=gc-sections
25
26 include $(INCLUDE_DIR)/package.mk
27
28 define Package/btrfs-progs
29 SECTION:=utils
30 CATEGORY:=Utilities
31 SUBMENU:=Filesystem
32 TITLE:=Btrfs filesystems utilities
33 URL:=https://btrfs.wiki.kernel.org/
34 DEPENDS:= \
35 +libattr \
36 +libuuid \
37 +libmount \
38 +zlib \
39 +libblkid \
40 +liblzo \
41 +libpthread \
42 +kmod-fs-btrfs \
43 +BTRFS_PROGS_ZSTD:libzstd
44 endef
45
46 define Package/btrfs-progs/description
47 Btrfs is a new copy on write filesystem for Linux aimed at implementing
48 advanced features while focusing on fault tolerance, repair and easy
49 administration. Initially developed by Oracle, Btrfs is licensed under the
50 GPL and open for contribution from anyone.
51 endef
52
53 define Package/btrfs-progs/config
54 source "$(SOURCE)/Config.in"
55 endef
56
57 boxprogs = btrfsck mkfs.btrfs btrfs-image btrfstune btrfs-find-root
58 progs = btrfs-map-logical btrfs-select-super
59
60 TARGET_LDFLAGS += -Wl,--as-needed
61
62 EXTRA_CFLAGS=$(TARGET_CPPFLAGS)
63
64 CONFIGURE_ARGS += \
65 --disable-backtrace \
66 --disable-convert \
67 --disable-documentation \
68 --disable-libudev \
69 --disable-python
70 ifneq ($(CONFIG_BTRFS_PROGS_ZSTD),y)
71 CONFIGURE_ARGS += --disable-zstd
72 endif
73
74 MAKE_INSTALL_FLAGS += BUILD_PROGRAMS=0
75
76 Build/Compile=$(call Build/Compile/Default,btrfs.box $(progs))
77
78 define Build/InstallDev
79 $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib
80 $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
81 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libbtrfs* $(1)/usr/lib/
82 endef
83
84 define Package/btrfs-progs/install
85 $(INSTALL_DIR) $(1)/usr/lib
86 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libbtrfs.so* $(1)/usr/lib
87 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libbtrfsutil.so* $(1)/usr/lib
88 $(INSTALL_DIR) $(1)/usr/bin
89 $(INSTALL_BIN) $(PKG_BUILD_DIR)/btrfs.box $(1)/usr/bin/btrfs
90 $(foreach prog,$(boxprogs),$(LN) btrfs $(1)/usr/bin/$(prog);)
91 $(foreach prog,$(progs),$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(prog) $(1)/usr/bin/;)
92 $(INSTALL_DIR) $(1)/lib/preinit
93 $(INSTALL_BIN) ./files/btrfs-scan.init $(1)/lib/preinit/85_btrfs_scan
94 endef
95
96 $(eval $(call BuildPackage,btrfs-progs))