aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/genext2fs/genext2fs-1.4.1/update_to_1.95.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/genext2fs/genext2fs-1.4.1/update_to_1.95.patch')
-rw-r--r--meta/recipes-devtools/genext2fs/genext2fs-1.4.1/update_to_1.95.patch119
1 files changed, 0 insertions, 119 deletions
diff --git a/meta/recipes-devtools/genext2fs/genext2fs-1.4.1/update_to_1.95.patch b/meta/recipes-devtools/genext2fs/genext2fs-1.4.1/update_to_1.95.patch
deleted file mode 100644
index ea2b16ccf9..0000000000
--- a/meta/recipes-devtools/genext2fs/genext2fs-1.4.1/update_to_1.95.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-See http://genext2fs.cvs.sourceforge.net/viewvc/genext2fs/genext2fs/genext2fs.c?view=log
-
-The latest version of genext2fs.c is the v1.95 in the cvs repo:
-http://genext2fs.cvs.sourceforge.net/viewvc/genext2fs/genext2fs/genext2fs.c?revision=1.95
-
-First let's upgrade to the version.
-
-Upstream-Status: inappropriate
-
-Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
-
---- a/genext2fs.c 2007-03-26 22:19:59.000000000 +0800
-+++ b/genext2fs.c 2012-03-28 22:15:03.678856820 +0800
-@@ -286,7 +286,9 @@
- // older solaris. Note that this is still not very portable, in that
- // the return value cannot be trusted.
-
--#if SCANF_CAN_MALLOC
-+#if 0 // SCANF_CAN_MALLOC
-+// C99 define "a" for floating point, so you can have runtime surprise
-+// according the library versions
- # define SCANF_PREFIX "a"
- # define SCANF_STRING(s) (&s)
- #else
-@@ -778,7 +780,7 @@
- if(hdlinks.hdl[i].src_inode == inode)
- return i;
- }
-- return -1;
-+ return -1;
- }
-
- // printf helper macro
-@@ -1356,20 +1358,23 @@
- return nod;
- }
-
-+// chmod an inode
-+void
-+chmod_fs(filesystem *fs, uint32 nod, uint16 mode, uint16 uid, uint16 gid)
-+{
-+ inode *node;
-+ node = get_nod(fs, nod);
-+ node->i_mode = (node->i_mode & ~FM_IMASK) | (mode & FM_IMASK);
-+ node->i_uid = uid;
-+ node->i_gid = gid;
-+}
-+
- // create a simple inode
- static uint32
- mknod_fs(filesystem *fs, uint32 parent_nod, const char *name, uint16 mode, uint16 uid, uint16 gid, uint8 major, uint8 minor, uint32 ctime, uint32 mtime)
- {
- uint32 nod;
- inode *node;
-- if((nod = find_dir(fs, parent_nod, name)))
-- {
-- node = get_nod(fs, nod);
-- if((node->i_mode & FM_IFMT) != (mode & FM_IFMT))
-- error_msg_and_die("node '%s' already exists and isn't of the same type", name);
-- node->i_mode = mode;
-- }
-- else
- {
- nod = alloc_nod(fs);
- node = get_nod(fs, nod);
-@@ -1591,13 +1596,24 @@
- dname = malloc(len + 1);
- for(i = start; i < count; i++)
- {
-+ uint32 oldnod;
- SNPRINTF(dname, len, "%s%lu", name, i);
-- mknod_fs(fs, nod, dname, mode, uid, gid, major, minor + (i * increment - start), ctime, mtime);
-+ oldnod = find_dir(fs, nod, dname);
-+ if(oldnod)
-+ chmod_fs(fs, oldnod, mode, uid, gid);
-+ else
-+ mknod_fs(fs, nod, dname, mode, uid, gid, major, minor + (i * increment - start), ctime, mtime);
- }
- free(dname);
- }
- else
-- mknod_fs(fs, nod, name, mode, uid, gid, major, minor, ctime, mtime);
-+ {
-+ uint32 oldnod = find_dir(fs, nod, name);
-+ if(oldnod)
-+ chmod_fs(fs, oldnod, mode, uid, gid);
-+ else
-+ mknod_fs(fs, nod, name, mode, uid, gid, major, minor, ctime, mtime);
-+ }
- }
- }
- if (line)
-@@ -1664,6 +1680,17 @@
- }
- else
- {
-+ if((nod = find_dir(fs, this_nod, name)))
-+ {
-+ error_msg("ignoring duplicate entry %s", name);
-+ if(S_ISDIR(st.st_mode)) {
-+ if(chdir(dent->d_name) < 0)
-+ perror_msg_and_die(name);
-+ add2fs_from_dir(fs, nod, squash_uids, squash_perms, fs_timestamp, stats);
-+ chdir("..");
-+ }
-+ continue;
-+ }
- save_nod = 0;
- /* Check for hardlinks */
- if (!S_ISDIR(st.st_mode) && !S_ISLNK(st.st_mode) && st.st_nlink > 1) {
-@@ -1994,7 +2021,7 @@
- //system blocks
- for(j = 1; j <= overhead_per_group; j++)
- allocate(bbm, j);
--
-+
- /* Inode bitmap */
- ibm = get_blk(fs,fs->gd[i].bg_inode_bitmap);
- //non-filesystem inodes