blob: d11e89d8e3cee2e0907cbe5585e3ed1d2bb00fec [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#
2# Copyright (C) 2014 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7
8include $(TOPDIR)/rules.mk
9
10PKG_NAME:=f2fs-tools
11PKG_VERSION:=1.16.0
12PKG_RELEASE:=3
13
14PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15PKG_SOURCE_URL:=https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/snapshot/
16PKG_HASH:=208c7a07e95383fbd7b466b5681590789dcb41f41bf197369c41a95383b57c5e
17
18PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
19PKG_LICENSE:=GPL-2.0-only
20PKG_LICENSE_FILES:=COPYING
21PKG_CPE_ID:=cpe:/a:f2fs-tools_project:f2fs-tools
22
23PKG_FIXUP:=autoreconf
24PKG_BUILD_PARALLEL:=1
25PKG_INSTALL:=1
26
27include $(INCLUDE_DIR)/package.mk
28
29define Package/f2fs-tools/Default
30 SECTION:=utils
31 CATEGORY:=Utilities
32 SUBMENU:=Filesystem
33 DEPENDS:=+libf2fs
34 URL:=http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git
35 VARIANT:=default
36endef
37
38define Package/f2fs-tools/SELinux
39 SECTION:=utils
40 CATEGORY:=Utilities
41 SUBMENU:=Filesystem
42 DEPENDS:=+libf2fs-selinux +libselinux
43 URL:=http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git
44 VARIANT:=selinux
45endef
46
47define Package/mkf2fs
48 $(Package/f2fs-tools/Default)
49 TITLE:=Utility for creating a Flash-Friendly File System (F2FS)
50 CONFLICTS:=mkf2fs-selinux
51endef
52
53define Package/mkf2fs-selinux
54 $(Package/f2fs-tools/SELinux)
55 TITLE:=Utility for creating a Flash-Friendly File System (F2FS) with SELinux support
56endef
57
58define Package/f2fsck
59 $(Package/f2fs-tools/Default)
60 TITLE:=Utility for checking/repairing a Flash-Friendly File System (F2FS)
61 CONFLICTS:=f2fsck-selinux
62endef
63
64define Package/f2fsck-selinux
65 $(Package/f2fs-tools/SELinux)
66 TITLE:=Utility for checking/repairing a Flash-Friendly File System (F2FS) with SELinux support
67endef
68
69define Package/f2fs-tools
70 $(Package/f2fs-tools/Default)
71 TITLE:=Tools for Flash-Friendly File System (F2FS)
72 DEPENDS += +mkf2fs +f2fsck
73 CONFLICTS:=f2fs-tools-selinux
74endef
75
76define Package/f2fs-tools-selinux
77 $(Package/f2fs-tools/SELinux)
78 TITLE:=Tools for Flash-Friendly File System (F2FS) with SELinux support
79 DEPENDS += +mkf2fs-selinux +f2fsck-selinux
80endef
81
82define Package/libf2fs
83 SECTION:=libs
84 CATEGORY:=Libraries
85 TITLE:=Library for Flash-Friendly File System (F2FS) tools
86 DEPENDS:=+libuuid
87 ABI_VERSION:=6
88 CONFLICTS:=libf2fs-selinux
89 VARIANT:=default
90endef
91
92define Package/libf2fs-selinux
93 SECTION:=libs
94 CATEGORY:=Libraries
95 TITLE:=Library for Flash-Friendly File System (F2FS) tools with SELinux support
96 DEPENDS:=+libuuid +libselinux
97 ABI_VERSION:=6
98 VARIANT:=selinux
99endef
100
101CONFIGURE_ARGS += \
102 --disable-static \
103 --without-blkid \
104 --without-lzo2 \
105 --without-lz4
106
107ifneq ($(BUILD_VARIANT),selinux)
108 CONFIGURE_ARGS += --without-selinux
109endif
110
111CONFIGURE_VARS += \
112 ac_cv_file__git=no
113
114ifneq ($(CONFIG_USE_MUSL),)
115 CONFIGURE_VARS += ac_cv_func_lseek64=yes
116endif
117
118define Package/libf2fs/install
119 $(INSTALL_DIR) $(1)/usr/lib
120 $(CP) \
121 $(PKG_INSTALL_DIR)/usr/lib/libf2fs.so.* $(1)/usr/lib/
122endef
123
124Package/libf2fs-selinux/install = $(Package/libf2fs/install)
125
126define Package/mkf2fs/install
127 $(INSTALL_DIR) $(1)/usr/sbin
128 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mkfs.f2fs $(1)/usr/sbin
129endef
130
131Package/mkf2fs-selinux/install = $(Package/mkf2fs/install)
132
133define Package/f2fsck/install
134 $(INSTALL_DIR) $(1)/usr/sbin
135 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fsck.f2fs $(1)/usr/sbin
136 $(LN) ../sbin/fsck.f2fs $(1)/usr/sbin/defrag.f2fs
137 $(LN) ../sbin/fsck.f2fs $(1)/usr/sbin/dump.f2fs
138 $(LN) ../sbin/fsck.f2fs $(1)/usr/sbin/sload.f2fs
139 $(LN) ../sbin/fsck.f2fs $(1)/usr/sbin/resize.f2fs
140 $(LN) ../sbin/fsck.f2fs $(1)/usr/sbin/f2fslabel
141endef
142
143Package/f2fsck-selinux/install = $(Package/f2fsck/install)
144
145define Package/f2fs-tools/install
146 $(INSTALL_DIR) $(1)/usr/sbin
147 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fibmap.f2fs $(1)/usr/sbin
148 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/parse.f2fs $(1)/usr/sbin
149endef
150
151Package/f2fs-tools-selinux/install = $(Package/f2fs-tools/install)
152
153$(eval $(call BuildPackage,libf2fs))
154$(eval $(call BuildPackage,libf2fs-selinux))
155$(eval $(call BuildPackage,mkf2fs))
156$(eval $(call BuildPackage,mkf2fs-selinux))
157$(eval $(call BuildPackage,f2fsck))
158$(eval $(call BuildPackage,f2fsck-selinux))
159$(eval $(call BuildPackage,f2fs-tools))
160$(eval $(call BuildPackage,f2fs-tools-selinux))