1
0
mirror of https://git.openwrt.org/feed/packages.git synced 2024-06-15 20:03:57 +02:00
openwrt-packages/utils/squashfs-tools/Makefile
Colby Whitney 5917d336fa squashfs-tools: fix segfault
Unsquashfs was segfaulting.  When examining in gdb the stack was corrupt.
I found that converting the variable length arrays to malloc caused the
stack corruption to not happen and the segfault went away.  This is due to
the musl pthread stack size being 80k by default.  So the chance of a stack
overflow is high.

Signed-off-by: Colby Whitney <colby.whitney@luxul.com>
2017-09-11 08:55:55 -06:00

91 lines
2.3 KiB
Makefile

#
# Copyright (C) 2016 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:=squashfs-tools
PKG_VERSION:=4.3
PKG_RELEASE:=5
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/plougher/squashfs-tools
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=9c1db6d13a51a2e009f0027ef336ce03624eac0d
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=4e9a017561b6f9d7b9782c7c672d224726ffd069b0543f310e85ed8ab1c4589b
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
define Package/squashfs-tools/Default
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Filesystem
TITLE:=squashfs-tools
URL:=https://github.com/plougher/squashfs-tools
DEPENDS += +libpthread +zlib \
+SQUASHFS_TOOLS_LZO_SUPPORT:liblzo \
+SQUASHFS_TOOLS_LZ4_SUPPORT:liblz4 \
+SQUASHFS_TOOLS_XZ_SUPPORT:liblzma
MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
endef
define Package/squashfs-tools-mksquashfs
$(call Package/squashfs-tools/Default)
TITLE+= mksquashfs
endef
define Package/squashfs-tools-unsquashfs
$(call Package/squashfs-tools/Default)
TITLE+= unsquashfs
endef
define Package/squashfs-tools-unsquashfs/config
source "$(SOURCE)/Config.in"
endef
Build/Configure:=
MAKE_FLAGS += \
XATTR_SUPPORT=
ifneq ($(CONFIG_SQUASHFS_TOOLS_XZ_SUPPORT),)
MAKE_FLAGS += XZ_SUPPORT=1
endif
ifneq ($(CONFIG_SQUASHFS_TOOLS_LZO_SUPPORT),)
MAKE_FLAGS += LZO_SUPPORT=1
endif
ifneq ($(CONFIG_SQUASHFS_TOOLS_LZ4_SUPPORT),)
MAKE_FLAGS += LZ4_SUPPORT=1
endif
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR)/squashfs-tools \
CC="$(TARGET_CC)" \
EXTRA_CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \
$(MAKE_FLAGS) \
mksquashfs unsquashfs
endef
define Package/squashfs-tools-mksquashfs/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/squashfs-tools/mksquashfs $(1)/usr/sbin/mksquashfs
endef
define Package/squashfs-tools-unsquashfs/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/squashfs-tools/unsquashfs $(1)/usr/sbin/unsquashfs
endef
$(eval $(call BuildPackage,squashfs-tools-mksquashfs))
$(eval $(call BuildPackage,squashfs-tools-unsquashfs))