diff options
-rw-r--r-- | packages/mtd/mtd-utils-native_20060223.bb | 12 | ||||
-rw-r--r-- | packages/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-20060131.patch | 100 | ||||
-rw-r--r-- | packages/mtd/mtd-utils/fix-ignoreerrors-20060131.patch | 20 | ||||
-rw-r--r-- | packages/mtd/mtd-utils_20060223.bb | 36 |
4 files changed, 168 insertions, 0 deletions
diff --git a/packages/mtd/mtd-utils-native_20060223.bb b/packages/mtd/mtd-utils-native_20060223.bb new file mode 100644 index 0000000000..cd1fb7d11b --- /dev/null +++ b/packages/mtd/mtd-utils-native_20060223.bb @@ -0,0 +1,12 @@ +LICENSE = "GPLv2" +SECTION = "base" +include mtd-utils_${PV}.bb +inherit native +DEPENDS = "zlib-native" +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/mtd-utils" + +do_stage () { + for binary in ${mtd_utils}; do + install -m 0755 util/$binary ${STAGING_BINDIR}/ + done +} diff --git a/packages/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-20060131.patch b/packages/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-20060131.patch new file mode 100644 index 0000000000..e24f395890 --- /dev/null +++ b/packages/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-20060131.patch @@ -0,0 +1,100 @@ +--- mtd/util/mkfs.jffs2.c~add-exclusion-to-mkfs-jffs2.patch ++++ mtd/util/mkfs.jffs2.c +@@ -92,7 +92,12 @@ + struct filesystem_entry *files; /* Only relevant to directories */ + }; + +- ++struct ignorepath_entry { ++ struct ignorepath_entry* next; /* Points to the next ignorepath element */ ++ char name[PATH_MAX]; /* Name of the entry */ ++}; ++ ++static struct ignorepath_entry* ignorepath = 0; + static int out_fd = -1; + static int in_fd = -1; + static char default_rootdir[] = "."; +@@ -367,7 +372,7 @@ + char *hpath, *tpath; + struct dirent *dp, **namelist; + struct filesystem_entry *entry; +- ++ struct ignorepath_entry* element = ignorepath; + + if (lstat(hostpath, &sb)) { + perror_msg_and_die("%s", hostpath); +@@ -376,6 +381,15 @@ + entry = add_host_filesystem_entry(targetpath, hostpath, + sb.st_uid, sb.st_gid, sb.st_mode, 0, parent); + ++ while ( element ) { ++ if ( strcmp( element->name, targetpath ) == 0 ) { ++ printf( "Note: ignoring directories below '%s'\n", targetpath ); ++ return entry; ++ break; ++ } ++ element = element->next; ++ } ++ + n = scandir(hostpath, &namelist, 0, alphasort); + if (n < 0) { + perror_msg_and_die("opening directory %s", hostpath); +@@ -1157,6 +1171,7 @@ + {"root", 1, NULL, 'r'}, + {"pagesize", 1, NULL, 's'}, + {"eraseblock", 1, NULL, 'e'}, ++ {"ignore", 1, NULL, 'I'}, + {"output", 1, NULL, 'o'}, + {"help", 0, NULL, 'h'}, + {"verbose", 0, NULL, 'v'}, +@@ -1199,6 +1214,7 @@ + " -L, --list-compressors Show the list of the avaiable compressors\n" + " -t, --test-compression Call decompress and compare with the original (for test)\n" + " -n, --no-eraseblock-headers Don't add a eraseblock header to every eraseblock\n" ++ " -I, --ignore=PATH Ignore sub directory and file tree below PATH when recursing over the file system\n" + " -o, --output=FILE Output to FILE (default: stdout)\n" + " -l, --little-endian Create a little-endian filesystem\n" + " -b, --big-endian Create a big-endian filesystem\n" +@@ -1368,11 +1384,12 @@ + struct filesystem_entry *root; + char *compr_name = NULL; + int compr_prior = -1; ++ struct ignorepath_entry* element = ignorepath; + + jffs2_compressors_init(); + + while ((opt = getopt_long(argc, argv, +- "D:d:r:s:o:qUPfh?vVe:lbp::nc:m:x:X:Lty:i:", long_options, &c)) >= 0) ++ "D:d:r:s:I:o:qUPfh?vVe:lbp::nc:m:x:X:Lty:i:", long_options, &c)) >= 0) + { + switch (opt) { + case 'D': +@@ -1395,6 +1412,28 @@ + page_size = strtol(optarg, NULL, 0); + break; + ++ case 'I': ++ printf( "Note: Adding '%s' to ignore Path\n", optarg ); ++ element = ignorepath; ++ if ( !ignorepath ) { ++ ignorepath = xmalloc( sizeof( struct ignorepath_entry ) ); ++ ignorepath->next = 0; ++ strcpy( &ignorepath->name[0], optarg ); ++ } else { ++ while ( element->next ) element = element->next; ++ element->next = xmalloc( sizeof( struct ignorepath_entry ) ); ++ element->next->next = 0; ++ strcpy( &element->next->name[0], optarg ); ++ } ++ printf( "--------- Dumping ignore path list ----------------\n" ); ++ element = ignorepath; ++ while ( element ) { ++ printf( " * '%s'\n", &element->name[0] ); ++ element = element->next; ++ } ++ printf( "---------------------------------------------------\n" ); ++ break; ++ + case 'o': + if (out_fd != -1) { + error_msg_and_die("output filename specified more than once"); diff --git a/packages/mtd/mtd-utils/fix-ignoreerrors-20060131.patch b/packages/mtd/mtd-utils/fix-ignoreerrors-20060131.patch new file mode 100644 index 0000000000..8266a37c46 --- /dev/null +++ b/packages/mtd/mtd-utils/fix-ignoreerrors-20060131.patch @@ -0,0 +1,20 @@ +--- mtd/util/nanddump.c.orig 2006-01-30 21:19:22.000000000 +0100 ++++ mtd/util/nanddump.c 2006-01-30 21:19:24.000000000 +0100 +@@ -224,7 +224,7 @@ + } + } + +- if (badblock) { ++ if (badblock && !ignoreerrors) { + if (omitbad) + continue; + memset (readbuf, 0xff, bs); +@@ -259,7 +259,7 @@ + if (omitoob) + continue; + +- if (badblock) { ++ if (badblock && !ignoreerrors) { + memset (readbuf, 0xff, meminfo.oobsize); + } else { + /* Read OOB data and exit on failure */ diff --git a/packages/mtd/mtd-utils_20060223.bb b/packages/mtd/mtd-utils_20060223.bb new file mode 100644 index 0000000000..21d0f21fcd --- /dev/null +++ b/packages/mtd/mtd-utils_20060223.bb @@ -0,0 +1,36 @@ +DESCRIPTION = "Tools for managing memory technology devices." +SECTION = "base" +DEPENDS = "zlib" +HOMEPAGE = "http://www.linux-mtd.infradead.org/" +LICENSE = "GPLv2" +PR = "r0" +SRCDATE = "${PV}" + +SRC_URI = "cvs://anoncvs:anoncvs@cvs.infradead.org/home/cvs;module=mtd \ + file://add-exclusion-to-mkfs-jffs2-20060131.patch;patch=1 \ + file://fix-ignoreerrors-20060131.patch;patch=1" +S = "${WORKDIR}/mtd/" + +CFLAGS_prepend = "-I${S}/include " + +do_compile () { + oe_runmake -C util ${mtd_utils} +} + +do_stage () { + install -d ${STAGING_INCDIR}/mtd + for f in ${S}/include/mtd/*.h; do + install -m 0644 $f ${STAGING_INCDIR}/mtd/ + done +} + +mtd_utils = "ftl_format flash_erase flash_eraseall nanddump doc_loadbios \ + mkfs.jffs ftl_check mkfs.jffs2 flash_lock flash_unlock flash_info mtd_debug \ + flashcp nandwrite jffs2dump sumtool" + +do_install () { + install -d ${D}${bindir} + for binary in ${mtd_utils}; do + install -m 0755 util/$binary ${D}${bindir} + done +} |