Files
packages/utils/cryptsetup/Makefile
T
Daniel Golle 7fd1fe5d8d cryptsetup: update to 2.8.6
Stable bug-fix release. All users of cryptsetup 2.8.x must upgrade.

Changes since 2.8.4:
 * Fix FileVault (fvault2) metadata parsing crash with crafted images.
   Reported by David Pokora (Trail of Bits/Anthropic).
 * Fix reading FileVault image metadata from incorrect image offset.
 * OpenSSL backend: increase the number of allowed threads to 64
   (workaround for parallel Argon2 PBKDF deadlock).
 * Fix LUKS2 reencryption lock name when the device is being reencrypted.
 * Check UUID of the resumed device to match UUID stored in metadata.
 * Add a specific error for failed detached header allocation.
 * Fix tests not to use aes-generic kernel cipher name (Linux 7.0+).
 * Fix OpenSSL crypto backend if built with LibreSSL.
 * Several compatibility fixes to the alternative Meson configuration.
 * Various code fixes based on AI-assisted reviews (memory wiping,
   error paths, integrity sector overflow, device-mapper flags, ...).

Link: https://gitlab.com/cryptsetup/cryptsetup/-/blob/v2.8.6/docs/v2.8.6-ReleaseNotes
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-05-09 19:14:58 +03:00

142 lines
4.0 KiB
Makefile

#
# Copyright (C) 2006-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=cryptsetup
PKG_VERSION:=2.8.6
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/utils/cryptsetup/v$(subst $(space),.,$(wordlist 1, 2, $(subst .,$(space),$(PKG_VERSION))))
PKG_HASH:=8004265fd993885d08f7b633dbe056851de1a210307613a4ebddc743fccefe5a
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=GPL-2.0-or-later LGPL-2.1-or-later
PKG_LICENSE_FILES:=COPYING COPYING.LGPL
PKG_CPE_ID:=cpe:/a:cryptsetup_project:cryptsetup
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=!USE_GLIBC:argp-standalone
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
define Package/cryptsetup
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Encryption
TITLE:=Cryptsetup
DEPENDS:=$(ICONV_DEPENDS) $(INTL_DEPENDS) +libblkid +libuuid +libpopt +lvm2 \
+libdevmapper +libjson-c +@KERNEL_DIRECT_IO +kmod-crypto-user
URL:=https://gitlab.com/cryptsetup/cryptsetup/
endef
define Package/cryptsetup/description
Cryptsetup is utility used to conveniently setup disk encryption based on DMCrypt kernel module.
endef
define Package/cryptsetup-ssh
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Encryption
TITLE:=Cryptsetup SSH token
DEPENDS:=+cryptsetup +PACKAGE_cryptsetup-ssh:libssh
URL:=https://gitlab.com/cryptsetup/cryptsetup/
endef
define Package/cryptsetup-ssh/description
Experimental SSH token support for cryptsetup.
endef
define Package/integritysetup
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Encryption
TITLE:=integritysetup
DEPENDS:=+cryptsetup
URL:=https://gitlab.com/cryptsetup/cryptsetup/
endef
define Package/integritysetup/description
Manage dm-integrity (block level integrity) volumes
endef
define Package/veritysetup
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Encryption
TITLE:=veritysetup
DEPENDS:=+cryptsetup
URL:=https://gitlab.com/cryptsetup/cryptsetup/
endef
define Package/veritysetup/description
Manage dm-verity (block level verification) volumes
endef
CONFIGURE_ARGS += \
--disable-asciidoc \
--disable-selinux \
--disable-rpath \
--disable-udev \
--with-default-luks-format=LUKS2 \
--with-luks2-lock-path=/var/run/cryptsetup \
--with-crypto_backend=kernel
ifeq ($(CONFIG_PACKAGE_cryptsetup-ssh),)
CONFIGURE_ARGS += --disable-ssh-token
endif
CONFIGURE_VARS += \
LIBSSH_CFLAGS="-I$(STAGING_DIR)/usr/include" \
LIBSSH_LIBS="-L$(STAGING_DIR)/usr/lib -lssh"
TARGET_CFLAGS += -D_LARGEFILE64_SOURCE
TARGET_LDFLAGS += -Wl,--gc-sections $(if $(INTL_FULL),-lintl)
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/libcryptsetup.h $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libcryptsetup.so* $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libcryptsetup.pc $(1)/usr/lib/pkgconfig
endef
define Package/cryptsetup/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libcryptsetup.so* $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/cryptsetup $(1)/usr/sbin
endef
define Package/cryptsetup-ssh/install
$(INSTALL_DIR) $(1)/usr/lib/cryptsetup
$(CP) $(PKG_INSTALL_DIR)/usr/lib/cryptsetup/* $(1)/usr/lib/cryptsetup
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/cryptsetup-ssh $(1)/usr/sbin
endef
define Package/integritysetup/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/integritysetup $(1)/usr/sbin
endef
define Package/veritysetup/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/veritysetup $(1)/usr/sbin
endef
$(eval $(call BuildPackage,cryptsetup))
$(eval $(call BuildPackage,cryptsetup-ssh))
$(eval $(call BuildPackage,integritysetup))
$(eval $(call BuildPackage,veritysetup))