f2fs-tools: import from packages, clean up, and update to latest
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
		
							
								
								
									
										90
									
								
								package/utils/f2fs-tools/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								package/utils/f2fs-tools/Makefile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,90 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# 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.7.0
 | 
				
			||||||
 | 
					PKG_RELEASE:=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PKG_LICENSE:=GPLv2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 | 
				
			||||||
 | 
					PKG_SOURCE_URL:=http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/snapshot/
 | 
				
			||||||
 | 
					PKG_MD5SUM:=9db22274264f0c88dbee012f257917b1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/mkf2fs
 | 
				
			||||||
 | 
					  $(Package/f2fs-tools/Default)
 | 
				
			||||||
 | 
					  TITLE:=Utility for creating a Flash-Friendly File System (F2FS)
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/f2fsck
 | 
				
			||||||
 | 
					  $(Package/f2fs-tools/Default)
 | 
				
			||||||
 | 
					  TITLE:=Utility for checking/repairing a Flash-Friendly File System (F2FS)
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/f2fs-tools
 | 
				
			||||||
 | 
					  $(Package/f2fs-tools/Default)
 | 
				
			||||||
 | 
					  TITLE:=Tools for Flash-Friendly File System (F2FS)
 | 
				
			||||||
 | 
					  DEPENDS += +mkf2fs +f2fsck
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/libf2fs
 | 
				
			||||||
 | 
					  SECTION:=libs
 | 
				
			||||||
 | 
					  CATEGORY:=Libraries
 | 
				
			||||||
 | 
					  TITLE:=Library for Flash-Friendly File System (F2FS) tools
 | 
				
			||||||
 | 
					  DEPENDS:=+libuuid
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/libf2fs/install
 | 
				
			||||||
 | 
						$(INSTALL_DIR) $(1)/usr/lib
 | 
				
			||||||
 | 
						$(CP) \
 | 
				
			||||||
 | 
							$(PKG_INSTALL_DIR)/usr/lib/libf2fs.so* $(1)/usr/lib/
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/mkf2fs/install
 | 
				
			||||||
 | 
						$(INSTALL_DIR) $(1)/usr/sbin
 | 
				
			||||||
 | 
						$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mkfs.f2fs $(1)/usr/sbin
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(eval $(call BuildPackage,libf2fs))
 | 
				
			||||||
 | 
					$(eval $(call BuildPackage,mkf2fs))
 | 
				
			||||||
 | 
					$(eval $(call BuildPackage,f2fsck))
 | 
				
			||||||
 | 
					$(eval $(call BuildPackage,f2fs-tools))
 | 
				
			||||||
							
								
								
									
										19
									
								
								package/utils/f2fs-tools/patches/001-compile.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								package/utils/f2fs-tools/patches/001-compile.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					--- a/configure.ac
 | 
				
			||||||
 | 
					+++ b/configure.ac
 | 
				
			||||||
 | 
					@@ -20,14 +20,9 @@ AC_DEFINE([F2FS_MINOR_VERSION], m4_bpats
 | 
				
			||||||
 | 
					 				[\([0-9]*\).\([0-9]*\)\(\w\|\W\)*], [\2]),
 | 
				
			||||||
 | 
					 				[Minor version for f2fs-tools])
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-AC_CHECK_FILE(.git,
 | 
				
			||||||
 | 
					-	AC_DEFINE([F2FS_TOOLS_DATE],
 | 
				
			||||||
 | 
					-		"m4_bpatsubst(f2fs_tools_gitdate,
 | 
				
			||||||
 | 
					-		[\([0-9-]*\)\(\w\|\W\)*], [\1])",
 | 
				
			||||||
 | 
					-		[f2fs-tools date based on Git commits]),
 | 
				
			||||||
 | 
					-	AC_DEFINE([F2FS_TOOLS_DATE],
 | 
				
			||||||
 | 
					+AC_DEFINE([F2FS_TOOLS_DATE],
 | 
				
			||||||
 | 
					 		"f2fs_tools_date",
 | 
				
			||||||
 | 
					-		[f2fs-tools date based on Source releases]))
 | 
				
			||||||
 | 
					+		[f2fs-tools date based on Source releases])
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 AC_CONFIG_SRCDIR([config.h.in])
 | 
				
			||||||
 | 
					 AC_CONFIG_HEADER([config.h])
 | 
				
			||||||
@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					--- a/include/f2fs_fs.h
 | 
				
			||||||
 | 
					+++ b/include/f2fs_fs.h
 | 
				
			||||||
 | 
					@@ -15,6 +15,7 @@
 | 
				
			||||||
 | 
					 #include <inttypes.h>
 | 
				
			||||||
 | 
					 #include <linux/types.h>
 | 
				
			||||||
 | 
					 #include <sys/types.h>
 | 
				
			||||||
 | 
					+#include <byteswap.h>
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 #ifdef HAVE_CONFIG_H
 | 
				
			||||||
 | 
					 #include <config.h>
 | 
				
			||||||
							
								
								
									
										55
									
								
								package/utils/f2fs-tools/patches/020-no_selinux.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								package/utils/f2fs-tools/patches/020-no_selinux.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
				
			|||||||
 | 
					--- a/configure.ac
 | 
				
			||||||
 | 
					+++ b/configure.ac
 | 
				
			||||||
 | 
					@@ -49,7 +49,7 @@ AC_PATH_PROG([LDCONFIG], [ldconfig],
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 # Checks for libraries.
 | 
				
			||||||
 | 
					 PKG_CHECK_MODULES([libuuid], [uuid])
 | 
				
			||||||
 | 
					-PKG_CHECK_MODULES([libselinux], [libselinux])
 | 
				
			||||||
 | 
					+# PKG_CHECK_MODULES([libselinux], [libselinux])
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 # Checks for header files.
 | 
				
			||||||
 | 
					 AC_CHECK_HEADERS([linux/fs.h fcntl.h mntent.h stdlib.h string.h \
 | 
				
			||||||
 | 
					--- a/fsck/sload.c
 | 
				
			||||||
 | 
					+++ b/fsck/sload.c
 | 
				
			||||||
 | 
					@@ -16,10 +16,11 @@
 | 
				
			||||||
 | 
					 #include <libgen.h>
 | 
				
			||||||
 | 
					 #include <dirent.h>
 | 
				
			||||||
 | 
					 #include <mntent.h>
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+#ifdef WITH_ANDROID
 | 
				
			||||||
 | 
					 #include <selinux/selinux.h>
 | 
				
			||||||
 | 
					 #include <selinux/label.h>
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-#ifdef WITH_ANDROID
 | 
				
			||||||
 | 
					 #include <selinux/label.h>
 | 
				
			||||||
 | 
					 #include <private/android_filesystem_config.h>
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					@@ -110,10 +111,12 @@ static int build_directory(struct f2fs_s
 | 
				
			||||||
 | 
					 		handle_selabel(dentries + i, S_ISDIR(stat.st_mode),
 | 
				
			||||||
 | 
					 							target_out_dir);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+#ifdef WITH_ANDROID
 | 
				
			||||||
 | 
					 		if (sehnd && selabel_lookup(sehnd, &dentries[i].secon,
 | 
				
			||||||
 | 
					 					dentries[i].path, stat.st_mode) < 0)
 | 
				
			||||||
 | 
					 			ERR_MSG("Cannot lookup security context for %s\n",
 | 
				
			||||||
 | 
					 						dentries[i].path);
 | 
				
			||||||
 | 
					+#endif
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 		dentries[i].pino = dir_ino;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					@@ -218,6 +221,7 @@ int f2fs_sload(struct f2fs_sb_info *sbi,
 | 
				
			||||||
 | 
					 		return ret;
 | 
				
			||||||
 | 
					 	}
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+#ifdef WITH_ANDROID
 | 
				
			||||||
 | 
					 	if (sehnd) {
 | 
				
			||||||
 | 
					 		char *secontext = NULL;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					@@ -233,6 +237,7 @@ int f2fs_sload(struct f2fs_sb_info *sbi,
 | 
				
			||||||
 | 
					 		}
 | 
				
			||||||
 | 
					 		free(secontext);
 | 
				
			||||||
 | 
					 	}
 | 
				
			||||||
 | 
					+#endif
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 	/* update curseg info; can update sit->types */
 | 
				
			||||||
 | 
					 	move_curseg_info(sbi, SM_I(sbi)->main_blkaddr);
 | 
				
			||||||
		Reference in New Issue
	
	Block a user