btrfs-progs: update to 5.16.1
[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:=5.16.1
10 PKG_RELEASE:=$(AUTORELEASE)
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:=3da4da5361cf86bddda80edb4c4f30ea076cb4ebec29904fa08afc930ef9e1a8
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
25 include $(INCLUDE_DIR)/package.mk
26
27 define Package/btrfs-progs
28 SECTION:=utils
29 CATEGORY:=Utilities
30 SUBMENU:=Filesystem
31 TITLE:=Btrfs filesystems utilities
32 URL:=https://btrfs.wiki.kernel.org/
33 DEPENDS:= \
34 +libattr \
35 +libuuid \
36 +libmount \
37 +zlib \
38 +libblkid \
39 +liblzo \
40 +libpthread \
41 +kmod-fs-btrfs \
42 +BTRFS_PROGS_ZSTD:libzstd
43 endef
44
45 define Package/btrfs-progs/description
46 Btrfs is a new copy on write filesystem for Linux aimed at implementing
47 advanced features while focusing on fault tolerance, repair and easy
48 administration. Initially developed by Oracle, Btrfs is licensed under the
49 GPL and open for contribution from anyone.
50 endef
51
52 define Package/btrfs-progs/config
53 source "$(SOURCE)/Config.in"
54 endef
55
56 boxprogs = btrfsck mkfs.btrfs btrfs-image btrfstune btrfs-find-root
57 progs = btrfs-map-logical btrfs-select-super
58
59 TARGET_CFLAGS += -ffunction-sections -fdata-sections
60 TARGET_LDFLAGS += -Wl,--gc-sections -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))