Files
packages/libs/libarchive/Makefile
John Audia d77931df5d libarchive: bump to 3.8.1
This is a feaure and bugfix release.

New features:
bsdtar: support --mtime and --clamp-mtime (#2601)
lib: mbedtls 3.x compatibility (#2602)
7-zip reader: improve self-extracting archive detection (#2088)
xar: xmllite support for the XAR reader and writer (#2388)
zip writer: added XZ, LZMA, ZSTD and BZIP2 support (#2137, #2284, #2391)
zip writer: added LZMA + RISCV BCJ filter (#2403)

Notable security fixes:
rar: do not skip past EOF while reading (#2584)
rar: fix double free with over 4 billion nodes (#2598)
rar: fix heap-buffer-overflow (#2599)
warc: prevent signed integer overflow (#2568)
tar: fix overflow in build_ustar_entry (#2588)

Notable bugfixes:
ibarchive: fix FILE_skip regression (#2642)
compress: Prevent call stack overflow (#2649)
iso9660: always check archive_string_ensure return value (#2651)
tar: Support negative time values with pax (#2634)
tar: Reset accumulated header state after reading macOS metadata blob (#2636)
tar: Keep block alignment after pax error (#2637)
tar: Handle extra bytes after sparse entries (#2643)
windows: check archive_wstring_ensure return value (#2652)
bsdtar: don't hardlink negative inode files together (#2587)
gz: allow setting the original filename for gzip compressed files (#2544)
lib: improve lseek handling (#2564)
lib: support @-prefixed Unix epoch timestamps as date strings (#2606)
rar: support large headers on 32 bit systems (#2596)
tar reader: Improve LFS support on 32 bit systems (#2582)

Full changelog: https://github.com/libarchive/libarchive/compare/v3.7.9...v3.8.1

Build system: x86/64
Build-tested: x86/64
Run-tested: x86/64

Signed-off-by: John Audia <therealgraysky@proton.me>
2025-06-07 11:57:04 +02:00

131 lines
3.3 KiB
Makefile

#
# Copyright (C) 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:=libarchive
PKG_VERSION:=3.8.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.libarchive.org/downloads
PKG_HASH:=19f917d42d530f98815ac824d90c7eaf648e9d9a50e4f309c812457ffa5496b5
PKG_MAINTAINER:=Johannes Morgenroth <morgenroth@ibr.cs.tu-bs.de>
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:libarchive:libarchive
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/libarchive/Default
SECTION:=libs
CATEGORY:=Libraries
DEPENDS:=+zlib +liblzma +libbz2 +libexpat
TITLE:=Multi-format archive and compression library
URL:=https://www.libarchive.org/
endef
define Package/libarchive
$(call Package/libarchive/Default)
DEPENDS += +libopenssl
CONFLICTS:=libarchive-noopenssl
endef
define Package/libarchive-noopenssl
$(call Package/libarchive/Default)
TITLE += (without OpenSSL dependency)
VARIANT:=noopenssl
endef
define Package/bsdtar/Default
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Compression
TITLE:=tar BSD variant
URL:=https://www.libarchive.org/
endef
define Package/bsdtar
$(call Package/bsdtar/Default)
DEPENDS:= +libarchive
CONFLICTS:=bsdtar-noopenssl
endef
define Package/bsdtar-noopenssl
$(call Package/bsdtar/Default)
TITLE += (without OpenSSL dependency)
DEPENDS:= +libarchive-noopenssl
VARIANT:=noopenssl
endef
define Package/bsdtar/description
Reads a variety of formats including tar, pax, zip, xar, lha, ar,
cab, mtree, rar, warc, 7z and ISO images. Writes tar, pax, zip,
xar, ar, ISO, mtree and shar archives. Automatically handles
archives compressed with gzip, bzip2, lzip, xz, lzma or compress.
endef
CMAKE_OPTIONS += \
-DENABLE_LIBB2=OFF \
-DENABLE_LZ4=OFF \
\
-DENABLE_ZSTD=OFF \
-DENABLE_LIBXML2=OFF \
-DENABLE_PCREPOSIX=OFF \
-DENABLE_PCRE2POSIX=OFF \
-DENABLE_LibGCC=OFF \
-DENABLE_CNG=OFF \
\
-DENABLE_TAR_SHARED=ON \
-DENABLE_CPIO=OFF \
-DENABLE_CAT=OFF \
-DENABLE_XATTR=OFF \
-DENABLE_ACL=OFF \
-DENABLE_ICONV=OFF \
-DENABLE_TEST=OFF
ifeq ($(BUILD_VARIANT),noopenssl)
CMAKE_OPTIONS += -DENABLE_OPENSSL=OFF
else
CMAKE_OPTIONS += -DENABLE_OPENSSL=ON
endif
EXTRA_CFLAGS += "-I$(PKG_BUILD_DIR)/extra-includes"
define Build/Configure
$(INSTALL_DIR) $(PKG_BUILD_DIR)/extra-includes/
$(CP) -R $(STAGING_DIR_HOST)/include/ext2fs $(PKG_BUILD_DIR)/extra-includes/
$(Build/Configure/Default)
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
endef
define Package/libarchive/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so.* $(1)/usr/lib/
endef
define Package/bsdtar/install
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_INSTALL_DIR)/usr/bin/bsdtar $(1)/usr/bin
endef
Package/libarchive-noopenssl/install = $(Package/libarchive/install)
Package/bsdtar-noopenssl/install = $(Package/bsdtar/install)
$(eval $(call BuildPackage,libarchive))
$(eval $(call BuildPackage,libarchive-noopenssl))
$(eval $(call BuildPackage,bsdtar))
$(eval $(call BuildPackage,bsdtar-noopenssl))