openwrt/package/utils/f2fs-tools/Makefile
Paul Spooren aeea91d5ee f2fs-tools: add selinux variant
This variant is build with `libselinux` and required to set labels
during runtime.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-08-23 23:37:08 +01:00

152 lines
4.0 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:=f2fs-tools
PKG_VERSION:=1.13.0
PKG_RELEASE:=1
PKG_LICENSE:=GPL-2.0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/snapshot/
PKG_HASH:=b39d3ae9224267aab0070b5f17d91d0c5143f6d960166a27f6b11c8c87072c7d
PKG_FIXUP:=autoreconf
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
include $(INCLUDE_DIR)/package.mk
define Package/f2fs-tools/Default
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Filesystem
DEPENDS:=+libf2fs
URL:=http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git
VARIANT:=default
endef
define Package/f2fs-tools/SELinux
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Filesystem
DEPENDS:=+libf2fs-selinux +libselinux
URL:=http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git
VARIANT:=selinux
endef
define Package/mkf2fs
$(Package/f2fs-tools/Default)
TITLE:=Utility for creating a Flash-Friendly File System (F2FS)
CONFLICTS:=mkf2fs-selinux
endef
define Package/mkf2fs-selinux
$(Package/f2fs-tools/SELinux)
TITLE:=Utility for creating a Flash-Friendly File System (F2FS) with SELinux support
endef
define Package/f2fsck
$(Package/f2fs-tools/Default)
TITLE:=Utility for checking/repairing a Flash-Friendly File System (F2FS)
CONFLICTS:=f2fsck-selinux
endef
define Package/f2fsck-selinux
$(Package/f2fs-tools/SELinux)
TITLE:=Utility for checking/repairing a Flash-Friendly File System (F2FS) with SELinux support
endef
define Package/f2fs-tools
$(Package/f2fs-tools/Default)
TITLE:=Tools for Flash-Friendly File System (F2FS)
DEPENDS += +mkf2fs +f2fsck
CONFLICTS:=f2fs-tools-selinux
endef
define Package/f2fs-tools-selinux
$(Package/f2fs-tools/SELinux)
TITLE:=Tools for Flash-Friendly File System (F2FS) with SELinux support
DEPENDS += +mkf2fs-selinux +f2fsck-selinux
endef
define Package/libf2fs
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Library for Flash-Friendly File System (F2FS) tools
DEPENDS:=+libuuid
ABI_VERSION:=6
CONFLICTS:=libf2fs-selinux
endef
define Package/libf2fs-selinux
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Library for Flash-Friendly File System (F2FS) tools with SELinux support
DEPENDS:=+libuuid +libselinux
ABI_VERSION:=6
endef
CONFIGURE_ARGS += \
--disable-static \
--without-blkid
ifneq ($(BUILD_VARIANT),selinux)
CONFIGURE_ARGS += --without-selinux
endif
CONFIGURE_VARS += \
ac_cv_file__git=no
define Package/libf2fs/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/libf2fs.so.* $(1)/usr/lib/
endef
Package/libf2fs-selinux/install = $(Package/libf2fs/install)
define Package/mkf2fs/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mkfs.f2fs $(1)/usr/sbin
endef
Package/mkf2fs-selinux/install = $(Package/mkf2fs/install)
define Package/f2fsck/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fsck.f2fs $(1)/usr/sbin
ln -s /usr/sbin/fsck.f2fs $(1)/usr/sbin/defrag.f2fs
ln -s /usr/sbin/fsck.f2fs $(1)/usr/sbin/dump.f2fs
ln -s /usr/sbin/fsck.f2fs $(1)/usr/sbin/sload.f2fs
ln -s /usr/sbin/fsck.f2fs $(1)/usr/sbin/resize.f2fs
endef
Package/f2fsck-selinux/install = $(Package/f2fsck/install)
define Package/f2fs-tools/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/f2fstat $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fibmap.f2fs $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/parse.f2fs $(1)/usr/sbin
endef
Package/f2fs-tools-selinux/install = $(Package/f2fs-tools/install)
$(eval $(call BuildPackage,libf2fs))
$(eval $(call BuildPackage,libf2fs-selinux))
$(eval $(call BuildPackage,mkf2fs))
$(eval $(call BuildPackage,mkf2fs-selinux))
$(eval $(call BuildPackage,f2fsck))
$(eval $(call BuildPackage,f2fsck-selinux))
$(eval $(call BuildPackage,f2fs-tools))
$(eval $(call BuildPackage,f2fs-tools-selinux))