Makefile 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. #
  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. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=f2fs-tools
  9. PKG_VERSION:=1.16.0
  10. PKG_RELEASE:=4
  11. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  12. PKG_SOURCE_URL:=https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/snapshot/
  13. PKG_HASH:=208c7a07e95383fbd7b466b5681590789dcb41f41bf197369c41a95383b57c5e
  14. PKG_MAINTAINER:=Felix Fietkau <[email protected]>
  15. PKG_LICENSE:=GPL-2.0-only
  16. PKG_LICENSE_FILES:=COPYING
  17. PKG_CPE_ID:=cpe:/a:f2fs-tools_project:f2fs-tools
  18. PKG_FIXUP:=autoreconf
  19. PKG_BUILD_PARALLEL:=1
  20. PKG_INSTALL:=1
  21. include $(INCLUDE_DIR)/package.mk
  22. define Package/f2fs-tools/Default
  23. SECTION:=utils
  24. CATEGORY:=Utilities
  25. SUBMENU:=Filesystem
  26. DEPENDS:=+libf2fs
  27. URL:=https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git
  28. VARIANT:=default
  29. endef
  30. define Package/f2fs-tools/SELinux
  31. SECTION:=utils
  32. CATEGORY:=Utilities
  33. SUBMENU:=Filesystem
  34. DEPENDS:=+libf2fs-selinux +libselinux
  35. URL:=https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git
  36. VARIANT:=selinux
  37. endef
  38. define Package/mkf2fs
  39. $(Package/f2fs-tools/Default)
  40. TITLE:=Utility for creating a Flash-Friendly File System (F2FS)
  41. CONFLICTS:=mkf2fs-selinux
  42. DEFAULT_VARIANT:=1
  43. endef
  44. define Package/mkf2fs-selinux
  45. $(Package/f2fs-tools/SELinux)
  46. TITLE:=Utility for creating a Flash-Friendly File System (F2FS) with SELinux support
  47. endef
  48. define Package/f2fsck
  49. $(Package/f2fs-tools/Default)
  50. TITLE:=Utility for checking/repairing a Flash-Friendly File System (F2FS)
  51. CONFLICTS:=f2fsck-selinux
  52. endef
  53. define Package/f2fsck-selinux
  54. $(Package/f2fs-tools/SELinux)
  55. TITLE:=Utility for checking/repairing a Flash-Friendly File System (F2FS) with SELinux support
  56. endef
  57. define Package/f2fs-tools
  58. $(Package/f2fs-tools/Default)
  59. TITLE:=Tools for Flash-Friendly File System (F2FS)
  60. DEPENDS += +mkf2fs +f2fsck
  61. CONFLICTS:=f2fs-tools-selinux
  62. endef
  63. define Package/f2fs-tools-selinux
  64. $(Package/f2fs-tools/SELinux)
  65. TITLE:=Tools for Flash-Friendly File System (F2FS) with SELinux support
  66. DEPENDS += +mkf2fs-selinux +f2fsck-selinux
  67. endef
  68. define Package/libf2fs
  69. SECTION:=libs
  70. CATEGORY:=Libraries
  71. TITLE:=Library for Flash-Friendly File System (F2FS) tools
  72. DEPENDS:=+libuuid
  73. ABI_VERSION:=6
  74. CONFLICTS:=libf2fs-selinux
  75. VARIANT:=default
  76. DEFAULT_VARIANT:=1
  77. endef
  78. define Package/libf2fs-selinux
  79. SECTION:=libs
  80. CATEGORY:=Libraries
  81. TITLE:=Library for Flash-Friendly File System (F2FS) tools with SELinux support
  82. DEPENDS:=+libuuid +libselinux
  83. ABI_VERSION:=6
  84. VARIANT:=selinux
  85. endef
  86. CONFIGURE_ARGS += \
  87. --disable-static \
  88. --without-blkid \
  89. --without-lzo2 \
  90. --without-lz4
  91. ifneq ($(BUILD_VARIANT),selinux)
  92. CONFIGURE_ARGS += --without-selinux
  93. endif
  94. CONFIGURE_VARS += \
  95. ac_cv_file__git=no
  96. ifneq ($(CONFIG_USE_MUSL),)
  97. CONFIGURE_VARS += ac_cv_func_lseek64=yes
  98. endif
  99. define Package/libf2fs/install
  100. $(INSTALL_DIR) $(1)/usr/lib
  101. $(CP) \
  102. $(PKG_INSTALL_DIR)/usr/lib/libf2fs.so.* $(1)/usr/lib/
  103. endef
  104. Package/libf2fs-selinux/install = $(Package/libf2fs/install)
  105. define Package/mkf2fs/install
  106. $(INSTALL_DIR) $(1)/usr/sbin
  107. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mkfs.f2fs $(1)/usr/sbin
  108. endef
  109. Package/mkf2fs-selinux/install = $(Package/mkf2fs/install)
  110. define Package/f2fsck/install
  111. $(INSTALL_DIR) $(1)/usr/sbin
  112. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fsck.f2fs $(1)/usr/sbin
  113. $(LN) ../sbin/fsck.f2fs $(1)/usr/sbin/defrag.f2fs
  114. $(LN) ../sbin/fsck.f2fs $(1)/usr/sbin/dump.f2fs
  115. $(LN) ../sbin/fsck.f2fs $(1)/usr/sbin/sload.f2fs
  116. $(LN) ../sbin/fsck.f2fs $(1)/usr/sbin/resize.f2fs
  117. $(LN) ../sbin/fsck.f2fs $(1)/usr/sbin/f2fslabel
  118. endef
  119. Package/f2fsck-selinux/install = $(Package/f2fsck/install)
  120. define Package/f2fs-tools/install
  121. $(INSTALL_DIR) $(1)/usr/sbin
  122. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fibmap.f2fs $(1)/usr/sbin
  123. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/parse.f2fs $(1)/usr/sbin
  124. endef
  125. Package/f2fs-tools-selinux/install = $(Package/f2fs-tools/install)
  126. $(eval $(call BuildPackage,libf2fs))
  127. $(eval $(call BuildPackage,libf2fs-selinux))
  128. $(eval $(call BuildPackage,mkf2fs))
  129. $(eval $(call BuildPackage,mkf2fs-selinux))
  130. $(eval $(call BuildPackage,f2fsck))
  131. $(eval $(call BuildPackage,f2fsck-selinux))
  132. $(eval $(call BuildPackage,f2fs-tools))
  133. $(eval $(call BuildPackage,f2fs-tools-selinux))