1
0
mirror of https://git.openwrt.org/feed/packages.git synced 2024-06-15 03:43:53 +02:00
openwrt-packages/utils/btrfs-progs/Makefile
Hauke Mehrtens 5403af094f btrfs-progs: Update to version 6.0.1
This fixes compilation problems with glibc 2.36.

Full Changelog:
btrfs-progs-6.0 (2022-10-11)
-----------------------------
   * fi usage: in tabular output, print total size and slack size
   * mkfs:
      * option -O now accepts values from -R to unify the interface (-R will
	continue to work)
      * zone reset and discard is done in parallel on all devices
      * removed option --leafsize, deprecated long time ago
   * corrupt-block: recalculate checksum when changing generation
   * fixes:
      * convert: fix reserved range detection and overlaps
      * mkfs: fix creating files with reserved inode numbers with --rootdir
      * receive: escape filenames in command attributes
      * fix extent buffer leaks after transaction abort
   * experimental:
      * mkfs: support for block-group-tree (kernel 6.1)
      * fsverity in send (protocol v3, WIP)
      * btrfstune -b converts to block-group-tree
   * other:
      * cleanups, refactoring
      * new and updated tests
      * update documentation

btrfs-progs-6.0.1 (2022-11-04)
""""""""""""""""""""""""""""""
   * send: minor speed up for v2 due to increased buffer size
   * resize: invalid command line options fail with error code
   * quota rescan:
      * add long options --status and --wait
      * new option to wait but don't start rescan
   * qgroup show: print path by default, updated format
   * qgroup: new subcommand clear-stale, remove qgroups without their subvolumes
   * experimental:
      * add warnings to commands that have it enabled (mkfs, image, btrfstune)
   * other:
      * documentation, help text, error message updates

btrfs-progs-5.19 (2022-08-16)
-----------------------------
   * send: support protocol version 2
   * fi show: print all missing devices
   * device stats: add tabular output
   * replace: add alias to device group (device replace)
   * check: validate free space tree items
   * fixes:
      * convert: support large filesystems (block count > 32bit)
      * recognize filesystems with verity enabled
      * mkfs and DUP could write out of order, fix it for zoned mode
   * build:
      * optional support for LZO and ZSTD in receive
      * compatibility with glibc 2.36 (mount.h)
      * add fallbacks for new GCC builtins
   * other:
      * corrupt-block: target specific items, offsets
      * documentation updates, new pages from wiki
      * new tests

btrfs-progs-5.19.1 (2022-09-12)
"""""""""""""""""""""""""""""""
   * fix memory leaks (extent buffer, path)
   * check: verify block device size vs item
   * rescue fix-device-size: allow to shrink device item
   * receive: fix crash on wrong pinter free()
   * other:
      * experimental: support for block-group-tree
      * documentation updates
      * new tests

btrfs-progs-5.18 (2022-05-25)
-----------------------------
   * fixes:
      * dump-tree: don't print traling zeros in checksums
      * recognize paused balance as exclusive operation state, allow to start
        device add
      * convert: properly initialize target filesystem label
      * mkfs: don't create free space bitmaps for empty filesystem
   * restore: make lzo support build-time configurable, print supported
     compression in help text
   * update kernel-lib sources
   * other:
      * documentation updates, finish conversion to RST, CHANGES and INSTALL
        could be included into RST
      * fix build detection of experimental mode
      * new tests

btrfs-progs-5.18.1 (2022-06-06)
"""""""""""""""""""""""""""""""
   * fixes:
      * convert: fix self reference of toplevel directory
      * build: make kernel lib headers compatible with C++
   * zoned mode: verify minimum zone size 4MiB
   * libbtrfs: cleanups, merge headers and remove declarations of unexported
     symbols
   * other: documentation updates

btrfs-progs-5.17 (2022-04-26)
-----------------------------
   * check:
      * repair wrong num_devices in superblock
      * recognize overly long xattr names
      * fix wrong total bytes check for seed device
   * auto-repair on read on RAID56
   * property set: unify handling of empty value to mean default, changed meaning
     for property 'compression' to allow reset to default and to set NOCOMPRESS,
     since kernel 5.14
   * fixes:
       * dump-tree: print fs-verity items
       * fix location of system chunk on zoned filesystem
       * do not allow setting seeding flag on a filesystem with dirty log
       * mkfs and subpage support: use sectorsize as nodesize fallback for mixed
	 profiles
   * preparatory work for extent tree v2, global roots
   * experimental feature (unstable interface, not built by default,
       do not use for production)
       * btrfstune: option --csum to switch checksum algorithm
   * other:
       * cleanups, refactoring
       * update documentation build, remove asciidocs leftovers
       * update fssum to consider xattrs
       * add fsstress

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 99f5604905)
(cherry picked from commit 12bc0789a1)
2023-10-04 18:09:05 +02:00

97 lines
2.6 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:=6.0.1
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/kernel/people/kdave/btrfs-progs
PKG_HASH:=b5316fff1d811e2ad3a067973109eb912bb0d92805735625fd8b82e700201c48
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 \
+libmount \
+zlib \
+libblkid \
+liblzo \
+libpthread \
+kmod-fs-btrfs \
+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-libudev \
--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)/lib/preinit
$(INSTALL_BIN) ./files/btrfs-scan.init $(1)/lib/preinit/85_btrfs_scan
endef
$(eval $(call BuildPackage,btrfs-progs))