mirror of
https://github.com/novatiq/packages.git
synced 2026-07-29 06:53:07 +01:00
This instead of building every tool separately builds one btrfs binary and additional tools are links to this binary. This is same approach as busybox is using. This splits list of tools to two. boxprogs are tools that are boxed to code btrfs binary and progs are tools that are not. This also overload default all make target of Build/Compile and instead builds (unified) btrfs.progs and separate progs. Signed-off-by: Karel Kočí <karel.koci@nic.cz>
87 lines
2.5 KiB
Makefile
87 lines
2.5 KiB
Makefile
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=btrfs-progs
|
|
PKG_VERSION:=5.2.1
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.xz
|
|
PKG_SOURCE_URL:=@KERNEL/linux/kernel/people/kdave/btrfs-progs
|
|
PKG_HASH:=36ac4a0198ffff79d5800c537ea4b19769a8fd3ad870f75413d25b20e2d83233
|
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
|
|
|
|
PKG_MAINTAINER:=Karel Kočí <karel.koci@nic.cz>
|
|
PKG_LICENSE:=GPL-2.0-only
|
|
PKG_LICENSE_FILES:=COPYING
|
|
|
|
PKG_INSTALL:=1
|
|
PKG_BUILD_PARALLEL:=1
|
|
PKG_BUILD_DEPENDS:=acl
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/btrfs-progs
|
|
SECTION:=utils
|
|
CATEGORY:=Utilities
|
|
SUBMENU:=Filesystem
|
|
TITLE:=Btrfs filesystems utilities
|
|
URL:=https://btrfs.wiki.kernel.org/
|
|
DEPENDS:=+libattr +libuuid +zlib +libblkid +liblzo +libpthread +BTRFS_PROGS_ZSTD:libzstd
|
|
endef
|
|
|
|
define Package/btrfs-progs/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. Initially developed by Oracle, Btrfs is licensed under the
|
|
GPL and open for contribution from anyone.
|
|
endef
|
|
|
|
define Package/btrfs-progs/config
|
|
source "$(SOURCE)/Config.in"
|
|
endef
|
|
|
|
boxprogs = btrfsck mkfs.btrfs btrfs-image btrfstune btrfs-find-root
|
|
progs = btrfs-map-logical btrfs-select-super
|
|
|
|
TARGET_CFLAGS += -ffunction-sections -fdata-sections
|
|
TARGET_LDFLAGS += -Wl,--gc-sections -Wl,--as-needed
|
|
|
|
EXTRA_CFLAGS=$(TARGET_CPPFLAGS)
|
|
|
|
CONFIGURE_ARGS += \
|
|
--disable-backtrace \
|
|
--disable-convert \
|
|
--disable-documentation \
|
|
--disable-python
|
|
ifneq ($(CONFIG_BTRFS_PROGS_ZSTD),y)
|
|
CONFIGURE_ARGS += --disable-zstd
|
|
endif
|
|
|
|
MAKE_INSTALL_FLAGS += BUILD_PROGRAMS=0
|
|
|
|
Build/Compile=$(call Build/Compile/Default,btrfs.box $(progs))
|
|
|
|
define Build/InstallDev
|
|
$(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libbtrfs* $(1)/usr/lib/
|
|
endef
|
|
|
|
define Package/btrfs-progs/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libbtrfs.so* $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libbtrfsutil.so* $(1)/usr/lib
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/btrfs.box $(1)/usr/bin/btrfs
|
|
$(foreach prog,$(boxprogs),$(LN) btrfs $(1)/usr/bin/$(prog);)
|
|
$(foreach prog,$(progs),$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(prog) $(1)/usr/bin/;)
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_BIN) ./files/btrfs-scan.init $(1)/etc/init.d/btrfs-scan
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,btrfs-progs))
|