aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/e2fsprogs/e2fsprogs/0002-misc-create_inode.c-copy-files-recursively.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/e2fsprogs/e2fsprogs/0002-misc-create_inode.c-copy-files-recursively.patch')
-rw-r--r--meta/recipes-devtools/e2fsprogs/e2fsprogs/0002-misc-create_inode.c-copy-files-recursively.patch135
1 files changed, 0 insertions, 135 deletions
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0002-misc-create_inode.c-copy-files-recursively.patch b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0002-misc-create_inode.c-copy-files-recursively.patch
deleted file mode 100644
index 9bff644ea6..0000000000
--- a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0002-misc-create_inode.c-copy-files-recursively.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From 08dfbaf4e3f704232ff46d78c0758a6cfe3961c8 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Mon, 23 Dec 2013 02:59:10 -0500
-Subject: [PATCH 02/11] misc/create_inode.c: copy files recursively
-
-Use opendir() and readdir() to read the native directory, then use
-lstat() to identify the file type and call the corresponding function to
-add the file to the filesystem, call the populate_fs() recursively if it
-is a directory.
-
-NOTE: the libext2fs can't create the socket file.
-
-Upstream-Status: Backport
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-Reviewed-by: Darren Hart <dvhart@linux.intel.com>
----
- misc/create_inode.c | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 97 insertions(+)
-
-diff --git a/misc/create_inode.c b/misc/create_inode.c
-index 46aaa60..b68b910 100644
---- a/misc/create_inode.c
-+++ b/misc/create_inode.c
-@@ -1,5 +1,13 @@
- #include "create_inode.h"
-
-+#if __STDC_VERSION__ < 199901L
-+# if __GNUC__ >= 2
-+# define __func__ __FUNCTION__
-+# else
-+# define __func__ "<unknown>"
-+# endif
-+#endif
-+
- /* Make a special file which is block, character and fifo */
- errcode_t do_mknod_internal(ext2_ino_t cwd, const char *name, struct stat *st)
- {
-@@ -23,4 +31,93 @@ errcode_t do_write_internal(ext2_ino_t cwd, const char *src, const char *dest)
- /* Copy files from source_dir to fs */
- errcode_t populate_fs(ext2_ino_t parent_ino, const char *source_dir)
- {
-+ const char *name;
-+ DIR *dh;
-+ struct dirent *dent;
-+ struct stat st;
-+ char ln_target[PATH_MAX];
-+ ext2_ino_t ino;
-+ errcode_t retval;
-+ int read_cnt;
-+
-+ root = EXT2_ROOT_INO;
-+
-+ if (chdir(source_dir) < 0) {
-+ com_err(__func__, errno,
-+ _("while changing working directory to \"%s\""), source_dir);
-+ return errno;
-+ }
-+
-+ if (!(dh = opendir("."))) {
-+ com_err(__func__, errno,
-+ _("while openning directory \"%s\""), source_dir);
-+ return errno;
-+ }
-+
-+ while((dent = readdir(dh))) {
-+ if((!strcmp(dent->d_name, ".")) || (!strcmp(dent->d_name, "..")))
-+ continue;
-+ lstat(dent->d_name, &st);
-+ name = dent->d_name;
-+
-+ switch(st.st_mode & S_IFMT) {
-+ case S_IFCHR:
-+ case S_IFBLK:
-+ case S_IFIFO:
-+ if ((retval = do_mknod_internal(parent_ino, name, &st))) {
-+ com_err(__func__, retval,
-+ _("while creating special file \"%s\""), name);
-+ return retval;
-+ }
-+ break;
-+ case S_IFSOCK:
-+ /* FIXME: there is no make socket function atm. */
-+ com_err(__func__, 0,
-+ _("ignoring socket file \"%s\""), name);
-+ continue;
-+ case S_IFLNK:
-+ if((read_cnt = readlink(name, ln_target, sizeof(ln_target))) == -1) {
-+ com_err(__func__, errno,
-+ _("while trying to readlink \"%s\""), name);
-+ return errno;
-+ }
-+ ln_target[read_cnt] = '\0';
-+ if ((retval = do_symlink_internal(parent_ino, name, ln_target))) {
-+ com_err(__func__, retval,
-+ _("while writing symlink\"%s\""), name);
-+ return retval;
-+ }
-+ break;
-+ case S_IFREG:
-+ if ((retval = do_write_internal(parent_ino, name, name))) {
-+ com_err(__func__, retval,
-+ _("while writing file \"%s\""), name);
-+ return retval;
-+ }
-+ break;
-+ case S_IFDIR:
-+ if ((retval = do_mkdir_internal(parent_ino, name, &st))) {
-+ com_err(__func__, retval,
-+ _("while making dir \"%s\""), name);
-+ return retval;
-+ }
-+ if ((retval = ext2fs_namei(current_fs, root, parent_ino, name, &ino))) {
-+ com_err(name, retval, 0);
-+ return retval;
-+ }
-+ /* Populate the dir recursively*/
-+ retval = populate_fs(ino, name);
-+ if (retval) {
-+ com_err(__func__, retval, _("while adding dir \"%s\""), name);
-+ return retval;
-+ }
-+ chdir("..");
-+ break;
-+ default:
-+ com_err(__func__, 0,
-+ _("ignoring entry \"%s\""), name);
-+ }
-+ }
-+ closedir(dh);
-+ return retval;
- }
---
-1.7.10.4
-