0
0
mirror of https://github.com/openwrt/packages.git synced 2025-02-07 04:39:51 +00:00
packages/utils/lvm2/Makefile
Daniel Golle c37c79fcbe lvm2: update to version 2.03.35 and libdm 1.02.199
Version 2.03.25 - 12nd July 2024
================================
  Utilize more radix_tree instead of dm_hash and btree.
  Refactor DM uuid caching from device_mapper directory.
  Enhance checking for DM uuid device.
  Fix lvm shell command completion on tab key (2.03.24).
  Avoid lockd_vg call to lvmlockd for local VGs.
  Allow forced change of locktype from none.
  Handle OPTIONS defined in /etc/sysconfig/lvmlockd.

Version 2.03.24 - 16th May 2024
===============================
  Lvconvert supports VDO options for thin-pool with vdo conversion.
  Improve placement to .data.rel.ro and .rodata sections.
  Fix support for -y and -W when creating thinpool with vdo.
  Bettter support for runtime valgrind detection.
  Allow command interruption when communicating with dmeventd.
  Fix resize of VDO volume used for thin pool data volume.
  Use -Wl,-z,now and -Wl,--as-needed for compilation by default.
  Require 3.7 as minimal version for sanlock.
  Share code for closing opened desriptors on program startup.
  Fix memleak in lvmcache.
  Add configure --with-default-event-activation=ON setting.
  Fix return value from reporter function when hitting internal error.
  Skip checking of pools for lvremove and vgremove commands.
  VDO modprobes dm-vdo for 6.9 kernel and kvdo for older kernel version.
  Fix lvs reporting for VDO volumes with new upstream kernel driver.
  Don't import DM_UDEV_DISABLE_OTHER_RULES_FLAG in LVM rules, DM rules cover it.
  Fix table line generation for cache snapshots using cachevol.
  Enhance lvconvert support for external origins stacking.
  When swapping LV names also swap properties like hostname, time and data.
  Fix removal of stacked external origins.
  Lock filesystem when converting volume to read-only external origin.
  Support external origin between different thin-pool.
  Improve validation of acceptable volumes for external origins.
  Reduce amount of preloaded devices for complex device trees.
  Avoid logging problems from monitoring snapshots with inactive origins.
  Check for cache policy module presence in kernel's builtin modules file.
  Add configure --with-modulesdir to select kernel modules directory.
  Support creation of thin-pool with VDO use for its data volume.

libdm:

Version 1.02.199 - 12nd July 2024
=================================

Version 1.02.198 - 16th May 2024
================================
  Fix static only compilation of libdevmapper.a and dmsetup tool.
  Use better code for closing opened descriptors when starting dmeventd.
  Correct dmeventd -R for systemd environment.
  Restart of dmeventd -R checks pid file to detect running dmeventd first.
  Query with dmeventd -i quickly ends when there is no running dmeventd.
  Enhance dm_get_status_raid to handle mismatching status or reported legs.
  Create /dev/disk/by-label symlinks for DM devs that have crypto as next layer.
  Persist udev db for DM devs on cleanup used in initrd to rootfs transition.
  Process synthetic udev events other than 'add/change' as 'change' events.
  Increase DM_UDEV_RULES_VSN to 3 to indicate changed udev rules.
  Rename DM_NOSCAN to .DM_NOSCAN so it's not stored in udev db.
  Rename DM_SUSPENDED to .DM_SUSPENDED so it's not stored in udev db.
  Do not import DM_UDEV_DISABLE_OTHER_RULES_FLAG from db in 10-dm-disk.rules.
  Test DISK_RO after importing properties from db in 10-dm.rules.
  Also import ID_FS_TYPE in 13-dm-disk.rules from db if needed.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-08-02 01:38:45 +01:00

166 lines
4.7 KiB
Makefile

#
# Copyright (C) 2009-2010 Stefan Monnier
# Copyright (C) 2011-2018 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v3+.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=LVM2
PKG_VERSION:=2.03.25
PKG_VERSION_DM:=1.02.199
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tgz
PKG_SOURCE_URL:=https://sourceware.org/pub/lvm2
PKG_HASH:=4bea6fd2e5af9cdb3e27b48b4efa8d89210d9bfa13df900e092e404720a59b1d
PKG_BUILD_DIR:=$(BUILD_DIR)/lvm2-$(BUILD_VARIANT)/$(PKG_NAME).$(PKG_VERSION)
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=GPL-2.0 LGPL-2.1
PKG_LICENSE_FILES:=COPYING COPYING.lib
PKG_CPE_ID:=cpe:/a:heinz_mauelshagen:lvm2
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
define Package/libdevmapper/Default
SECTION:=libs
CATEGORY:=Libraries
TITLE:=The Linux Kernel Device Mapper userspace library
URL:=https://sourceware.org/dm/
VERSION:=$(PKG_VERSION_DM)
DEPENDS:=+kmod-dm +libpthread +libuuid +librt +libblkid
endef
define Package/libdevmapper
$(call Package/libdevmapper/Default)
VARIANT := normal
endef
define Package/libdevmapper-selinux
$(call Package/libdevmapper/Default)
VARIANT := selinux
DEPENDS += +libselinux
PROVIDES := libdevmapper
endef
define Package/libdevmapper/description
The device-mapper is a component of the 2.6 linux kernel that supports logical
volume management. It is required by LVM2 and EVMS.
endef
define Package/libdevmapper-selinux/description
$(call Package/libdevmapper/description)
This variant supports SELinux
endef
define Package/lvm2/default
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Disc
TITLE:=The Linux Logical Volume Manager
URL:=https://sourceware.org/lvm2/
DEPENDS:=+libreadline +libncurses +libaio
endef
define Package/lvm2
$(call Package/lvm2/default)
VARIANT := normal
DEPENDS += +libdevmapper
endef
define Package/lvm2-selinux
$(call Package/lvm2/default)
VARIANT := selinux
DEPENDS += +libdevmapper-selinux
PROVIDES := lvm2
endef
define Package/lvm2/description
LVM2 refers to a new userspace toolset that provide logical volume management
facilities on linux. It is reasonably backwards-compatible with the original
LVM toolset.
endef
define Package/lvm2-selinux/description
$(call Package/lvm2/description)
This variant supports SELinux
endef
CONFIGURE_ARGS += \
--disable-o_direct \
--with-default-pid-dir=/var/run \
--with-default-dm-run-dir=/var/run \
--with-default-run-dir=/var/run/lvm \
--with-default-locking-dir=/var/lock/lvm \
--$(if $(findstring selinux,$(BUILD_VARIANT)),en,dis)able-selinux
ifneq ($(shell /bin/sh -c "echo -n 'X'"),X)
MAKE_SHELL = SHELL=/bin/bash
endif
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
CC="$(TARGET_CC)" \
CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(FPIC)" \
DESTDIR="$(PKG_INSTALL_DIR)" \
$(MAKE_SHELL) \
install
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/libdevmapper.h $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libdevmapper.so* $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_BUILD_DIR)/libdm/libdevmapper.pc $(1)/usr/lib/pkgconfig
endef
define Package/libdevmapper/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libdevmapper.so.* $(1)/usr/lib
endef
Package/libdevmapper-selinux/install = $(Package/libdevmapper/install)
define Package/lvm2/install
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/lvm $(1)/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dmsetup $(1)/sbin
$(INSTALL_DIR) $(1)/etc/lvm
$(SED) '/^[[:space:]]*\(#\|$$$$\)/d; /cache_dir/s@.*@ cache_dir = "/tmp/lvm/cache"@' $(PKG_INSTALL_DIR)/etc/lvm/lvm.conf
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/lvm/lvm.conf $(1)/etc/lvm/
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/lvm/lvmlocal.conf $(1)/etc/lvm/
$(INSTALL_DIR) $(1)/etc/lvm/profile
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/lvm/profile/* $(1)/etc/lvm/profile/
$(INSTALL_DIR) $(1)/lib/preinit
$(INSTALL_DATA) ./files/lvm2.preinit $(1)/lib/preinit/80_lvm2
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/lvm2.init $(1)/etc/init.d/lvm2
$(INSTALL_DIR) $(1)/etc/hotplug.d/block
$(INSTALL_DATA) ./files/lvm2.hotplug $(1)/etc/hotplug.d/block/20-lvm2
$(FIND) $(PKG_INSTALL_DIR)/usr/sbin/ -type l -exec $(CP) -a {} $(1)/sbin/ \;
endef
Package/lvm2-selinux/install = $(Package/lvm2/install)
define Package/lvm2/conffiles
/etc/lvm/lvm.conf
endef
Package/lvm2-selinux/conffiles = $(Package/lvm2/conffiles)
$(eval $(call BuildPackage,libdevmapper))
$(eval $(call BuildPackage,libdevmapper-selinux))
$(eval $(call BuildPackage,lvm2))
$(eval $(call BuildPackage,lvm2-selinux))