f2fs-tools: replace noselinux patch with upstream version
authorDenis Osvald <redacted>
Tue, 22 Nov 2016 17:09:53 +0000 (18:09 +0100)
committerDenis Osvald <redacted>
Tue, 22 Nov 2016 17:10:43 +0000 (18:10 +0100)
Signed-off-by: Denis Osvald <redacted>
utils/f2fs-tools/patches/020-no_selinux.patch [deleted file]
utils/f2fs-tools/patches/020-sload.f2fs-allow-to-build-without-libselinux.patch [new file with mode: 0644]

diff --git a/utils/f2fs-tools/patches/020-no_selinux.patch b/utils/f2fs-tools/patches/020-no_selinux.patch
deleted file mode 100644 (file)
index dcb3bd2..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
---- 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);
diff --git a/utils/f2fs-tools/patches/020-sload.f2fs-allow-to-build-without-libselinux.patch b/utils/f2fs-tools/patches/020-sload.f2fs-allow-to-build-without-libselinux.patch
new file mode 100644 (file)
index 0000000..eac06c9
--- /dev/null
@@ -0,0 +1,100 @@
+From b0a2386089fd6efade6b89094325ed8a9f8c6fff Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail@eworm.de>
+Date: Sat, 22 Oct 2016 22:06:54 +0200
+Subject: [PATCH] sload.f2fs: allow to build without libselinux
+
+Some systems do not have libselinux. Allow to build sload.f2fs without
+support for selinux.
+
+Signed-off-by: Christian Hesse <mail@eworm.de>
+Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
+---
+ configure.ac |  4 +++-
+ fsck/sload.c | 12 +++++++++++-
+ 2 files changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f519790..7a62328 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -54,7 +54,9 @@ AC_PATH_PROG([LDCONFIG], [ldconfig],
+ # Checks for libraries.
+ PKG_CHECK_MODULES([libuuid], [uuid])
+-PKG_CHECK_MODULES([libselinux], [libselinux])
++PKG_CHECK_MODULES([libselinux], [libselinux],
++      [AC_DEFINE([HAVE_LIBSELINUX], [1], [Use libselinux])],
++      [AC_MSG_NOTICE([libselinux not found])])
+ # Checks for header files.
+ AC_CHECK_HEADERS([linux/fs.h fcntl.h mntent.h stdlib.h string.h \
+diff --git a/fsck/sload.c b/fsck/sload.c
+index ea072d1..68799c1 100644
+--- a/fsck/sload.c
++++ b/fsck/sload.c
+@@ -16,8 +16,11 @@
+ #include <libgen.h>
+ #include <dirent.h>
+ #include <mntent.h>
++
++#ifdef HAVE_LIBSELINUX
+ #include <selinux/selinux.h>
+ #include <selinux/label.h>
++#endif
+ #ifdef WITH_ANDROID
+ #include <selinux/label.h>
+@@ -110,10 +113,12 @@ static int build_directory(struct f2fs_sb_info *sbi, const char *full_path,
+               handle_selabel(dentries + i, S_ISDIR(stat.st_mode),
+                                                       target_out_dir);
++#ifdef HAVE_LIBSELINUX
+               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;
+@@ -174,6 +179,7 @@ static int build_directory(struct f2fs_sb_info *sbi, const char *full_path,
+                       MSG(1, "Error unknown file type\n");
+               }
++#ifdef HAVE_LIBSELINUX
+               if (dentries[i].secon) {
+                       inode_set_selinux(sbi, dentries[i].ino, dentries[i].secon);
+                       MSG(1, "File = %s \n----->SELinux context = %s\n",
+@@ -184,10 +190,12 @@ static int build_directory(struct f2fs_sb_info *sbi, const char *full_path,
+                                       dentries[i].gid, dentries[i].capabilities);
+               }
++              free(dentries[i].secon);
++#endif
++
+               free(dentries[i].path);
+               free(dentries[i].full_path);
+               free((void *)dentries[i].name);
+-              free(dentries[i].secon);
+       }
+       free(dentries);
+@@ -218,6 +226,7 @@ int f2fs_sload(struct f2fs_sb_info *sbi, const char *from_dir,
+               return ret;
+       }
++#ifdef HAVE_LIBSELINUX
+       if (sehnd) {
+               char *secontext = NULL;
+@@ -233,6 +242,7 @@ int f2fs_sload(struct f2fs_sb_info *sbi, const char *from_dir,
+               }
+               free(secontext);
+       }
++#endif
+       /* update curseg info; can update sit->types */
+       move_curseg_info(sbi, SM_I(sbi)->main_blkaddr);
+-- 
+2.10.0
+
git clone https://git.99rst.org/PROJECT