dosfstools: update native to 2.11
This unify recipes for target and native builds and also drops the the already merged patches. (From OE-Core rev: 3a401ddce55e185c8ccfdc43c1440fd77daff9ae) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
f57eca6f28
commit
ef6062981b
|
@ -1,19 +0,0 @@
|
|||
# dosfstools-native OE build file
|
||||
# Copyright (C) 2004-2006, Advanced Micro Devices, Inc. All Rights Reserved
|
||||
# Released under the MIT license (see packages/COPYING)
|
||||
|
||||
require dosfstools_${PV}.bb
|
||||
|
||||
PR="r5"
|
||||
|
||||
SRC_URI = "ftp://ftp.uni-erlangen.de/pub/Linux/LOCAL/dosfstools/dosfstools-${PV}.src.tar.gz \
|
||||
file://mkdosfs-bootcode.patch \
|
||||
file://mkdosfs-dir.patch \
|
||||
file://alignment_hack.patch \
|
||||
file://dosfstools-2.10-kernel-2.6.patch \
|
||||
file://msdos_fat12_undefined.patch \
|
||||
file://dosfstools-msdos_fs-types.patch \
|
||||
file://include-linux-types.patch \
|
||||
file://2.6.20-syscall.patch"
|
||||
|
||||
inherit native
|
|
@ -1,72 +0,0 @@
|
|||
Only use the system's llseek().
|
||||
|
||||
Upstream-Status: Inappropriate [licensing]
|
||||
We're tracking an old release of dosfstools due to licensing issues.
|
||||
|
||||
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
|
||||
|
||||
Index: dosfstools-2.10/dosfsck/io.c
|
||||
===================================================================
|
||||
--- dosfstools-2.10.orig/dosfsck/io.c 2007-06-07 16:15:52.000000000 +0200
|
||||
+++ dosfstools-2.10/dosfsck/io.c 2007-06-07 16:16:06.000000000 +0200
|
||||
@@ -42,28 +42,11 @@
|
||||
/* Use the _llseek system call directly, because there (once?) was a bug in
|
||||
* the glibc implementation of it. */
|
||||
#include <linux/unistd.h>
|
||||
-#if defined __alpha || defined __ia64__ || defined __s390x__ || defined __x86_64__ || defined __ppc64__
|
||||
/* On alpha, the syscall is simply lseek, because it's a 64 bit system. */
|
||||
static loff_t llseek( int fd, loff_t offset, int whence )
|
||||
{
|
||||
return lseek(fd, offset, whence);
|
||||
}
|
||||
-#else
|
||||
-# ifndef __NR__llseek
|
||||
-# error _llseek system call not present
|
||||
-# endif
|
||||
-static _syscall5( int, _llseek, uint, fd, ulong, hi, ulong, lo,
|
||||
- loff_t *, res, uint, wh );
|
||||
-
|
||||
-static loff_t llseek( int fd, loff_t offset, int whence )
|
||||
-{
|
||||
- loff_t actual;
|
||||
-
|
||||
- if (_llseek(fd, offset>>32, offset&0xffffffff, &actual, whence) != 0)
|
||||
- return (loff_t)-1;
|
||||
- return actual;
|
||||
-}
|
||||
-#endif
|
||||
|
||||
|
||||
void fs_open(char *path,int rw)
|
||||
Index: dosfstools-2.10/mkdosfs/mkdosfs.c
|
||||
===================================================================
|
||||
--- dosfstools-2.10.orig/mkdosfs/mkdosfs.c 2007-06-07 16:15:11.000000000 +0200
|
||||
+++ dosfstools-2.10/mkdosfs/mkdosfs.c 2007-06-07 16:15:30.000000000 +0200
|
||||
@@ -116,27 +116,11 @@
|
||||
/* Use the _llseek system call directly, because there (once?) was a bug in
|
||||
* the glibc implementation of it. */
|
||||
#include <linux/unistd.h>
|
||||
-#if defined __alpha || defined __ia64__ || defined __s390x__ || defined __x86_64__ || defined __ppc64__
|
||||
/* On alpha, the syscall is simply lseek, because it's a 64 bit system. */
|
||||
static loff_t llseek( int fd, loff_t offset, int whence )
|
||||
{
|
||||
return lseek(fd, offset, whence);
|
||||
}
|
||||
-#else
|
||||
-# ifndef __NR__llseek
|
||||
-# error _llseek system call not present
|
||||
-# endif
|
||||
-static _syscall5( int, _llseek, uint, fd, ulong, hi, ulong, lo,
|
||||
- loff_t *, res, uint, wh );
|
||||
-static loff_t llseek( int fd, loff_t offset, int whence )
|
||||
-{
|
||||
- loff_t actual;
|
||||
-
|
||||
- if (_llseek(fd, offset>>32, offset&0xffffffff, &actual, whence) != 0)
|
||||
- return (loff_t)-1;
|
||||
- return actual;
|
||||
-}
|
||||
-#endif
|
||||
|
||||
#define ROUND_UP(value, divisor) (value + (divisor - (value % divisor))) / divisor
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
Submitted By: Jim Gifford (jim at linuxfromscratch dot org)
|
||||
Date: 2004-02-09
|
||||
Initial Package Version: 2.6
|
||||
Origin: Jim Gifford
|
||||
Upstream-Status: Accepted
|
||||
Description: Fixes Compile Issues with the 2.6 Kernel
|
||||
|
||||
--- dosfstools-2.10/dosfsck/common.h.orig 2004-02-09 18:37:59.056737458 +0000
|
||||
+++ dosfstools-2.10/dosfsck/common.h 2004-02-09 18:38:18.333392952 +0000
|
||||
@@ -2,6 +2,13 @@
|
||||
|
||||
/* Written 1993 by Werner Almesberger */
|
||||
|
||||
+#include <linux/version.h>
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0)
|
||||
+ #define __KERNEL__
|
||||
+ #include <asm/types.h>
|
||||
+ #undef __KERNEL__
|
||||
+ #define MSDOS_FAT12 4084 /* maximum number of clusters in a 12 bit FAT */
|
||||
+#endif
|
||||
|
||||
#ifndef _COMMON_H
|
||||
#define _COMMON_H
|
||||
--- dosfstools-2.10/dosfsck/file.c.orig 2004-02-09 18:40:52.016728845 +0000
|
||||
+++ dosfstools-2.10/dosfsck/file.c 2004-02-09 18:40:03.665117865 +0000
|
||||
@@ -15,6 +15,14 @@
|
||||
#define _LINUX_STAT_H /* hack to avoid inclusion of <linux/stat.h> */
|
||||
#define _LINUX_STRING_H_ /* hack to avoid inclusion of <linux/string.h>*/
|
||||
#define _LINUX_FS_H /* hack to avoid inclusion of <linux/fs.h> */
|
||||
+
|
||||
+#include <linux/version.h>
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0)
|
||||
+ #define __KERNEL__
|
||||
+ #include <asm/types.h>
|
||||
+ #undef __KERNEL__
|
||||
+#endif
|
||||
+
|
||||
#include <linux/msdos_fs.h>
|
||||
|
||||
#include "common.h"
|
||||
--- dosfstools-2.10/dosfsck/dosfsck.h.orig 2004-02-09 18:57:11.022870974 +0000
|
||||
+++ dosfstools-2.10/dosfsck/dosfsck.h 2004-02-09 18:56:20.628614393 +0000
|
||||
@@ -13,6 +13,15 @@
|
||||
#define _LINUX_STAT_H /* hack to avoid inclusion of <linux/stat.h> */
|
||||
#define _LINUX_STRING_H_ /* hack to avoid inclusion of <linux/string.h>*/
|
||||
#define _LINUX_FS_H /* hack to avoid inclusion of <linux/fs.h> */
|
||||
+
|
||||
+#include <linux/version.h>
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0)
|
||||
+ #define __KERNEL__
|
||||
+ #include <asm/types.h>
|
||||
+ #include <asm/byteorder.h>
|
||||
+ #undef __KERNEL__
|
||||
+#endif
|
||||
+
|
||||
#include <linux/msdos_fs.h>
|
||||
|
||||
/* 2.1 kernels use le16_to_cpu() type functions for CF_LE_W & Co., but don't
|
||||
--- dosfstools-2.10/mkdosfs/mkdosfs.c.orig 2004-02-09 18:31:41.997157413 +0000
|
||||
+++ dosfstools-2.10/mkdosfs/mkdosfs.c 2004-02-09 18:34:07.311945252 +0000
|
||||
@@ -66,6 +66,13 @@
|
||||
#include <time.h>
|
||||
#include <errno.h>
|
||||
|
||||
+#include <linux/version.h>
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0)
|
||||
+ #define __KERNEL__
|
||||
+ #include <asm/types.h>
|
||||
+ #undef __KERNEL__
|
||||
+#endif
|
||||
+
|
||||
#if __BYTE_ORDER == __BIG_ENDIAN
|
||||
|
||||
#include <asm/byteorder.h>
|
|
@ -5,9 +5,10 @@ We're tracking an old release of dosfstools due to licensing issues.
|
|||
|
||||
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
|
||||
|
||||
diff -urN dosfstools-2.10.orig/mkdosfs/ChangeLog dosfstools-2.10/mkdosfs/ChangeLog
|
||||
--- dosfstools-2.10.orig/mkdosfs/ChangeLog 1997-06-18 03:09:38.000000000 -0700
|
||||
+++ dosfstools-2.10/mkdosfs/ChangeLog 2004-08-02 20:57:57.734939816 -0700
|
||||
Index: dosfstools-2.11/mkdosfs/ChangeLog
|
||||
===================================================================
|
||||
--- dosfstools-2.11.orig/mkdosfs/ChangeLog 1997-06-18 10:09:38.000000000 +0000
|
||||
+++ dosfstools-2.11/mkdosfs/ChangeLog 2011-12-06 12:14:23.634011558 +0000
|
||||
@@ -1,3 +1,14 @@
|
||||
+19th June 2003 Sam Bingner (sam@bingner.com)
|
||||
+
|
||||
|
@ -23,10 +24,11 @@ diff -urN dosfstools-2.10.orig/mkdosfs/ChangeLog dosfstools-2.10/mkdosfs/ChangeL
|
|||
28th January 1995 H. Peter Anvin (hpa@yggdrasil.com)
|
||||
|
||||
Better algorithm to select cluster sizes on large filesystems.
|
||||
diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.8 dosfstools-2.10/mkdosfs/mkdosfs.8
|
||||
--- dosfstools-2.10.orig/mkdosfs/mkdosfs.8 2003-05-15 11:28:28.000000000 -0700
|
||||
+++ dosfstools-2.10/mkdosfs/mkdosfs.8 2004-08-02 20:57:57.735939664 -0700
|
||||
@@ -40,6 +40,10 @@
|
||||
Index: dosfstools-2.11/mkdosfs/mkdosfs.8
|
||||
===================================================================
|
||||
--- dosfstools-2.11.orig/mkdosfs/mkdosfs.8 2004-02-25 19:36:07.000000000 +0000
|
||||
+++ dosfstools-2.11/mkdosfs/mkdosfs.8 2011-12-06 12:19:54.777888434 +0000
|
||||
@@ -44,6 +44,10 @@
|
||||
.I message-file
|
||||
]
|
||||
[
|
||||
|
@ -37,7 +39,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.8 dosfstools-2.10/mkdosfs/mkdosfs
|
|||
.B \-n
|
||||
.I volume-name
|
||||
]
|
||||
@@ -155,6 +159,18 @@
|
||||
@@ -165,6 +169,18 @@
|
||||
carriage return-line feed combinations, and tabs have been expanded.
|
||||
If the filename is a hyphen (-), the text is taken from standard input.
|
||||
.TP
|
||||
|
@ -56,21 +58,22 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.8 dosfstools-2.10/mkdosfs/mkdosfs
|
|||
.BI \-n " volume-name"
|
||||
Sets the volume name (label) of the filesystem. The volume name can
|
||||
be up to 11 characters long. The default is no label.
|
||||
@@ -188,8 +204,9 @@
|
||||
@@ -198,8 +214,9 @@
|
||||
simply will not support it ;)
|
||||
.SH AUTHOR
|
||||
Dave Hudson - <dave@humbug.demon.co.uk>; modified by Peter Anvin
|
||||
-<hpa@yggdrasil.com>. Fixes and additions by Roman Hodek
|
||||
-<Roman.Hodek@informatik.uni-erlangen.de> for Debian/GNU Linux.
|
||||
-<roman@hodek.net> for Debian/GNU Linux.
|
||||
+<hpa@yggdrasil.com> and Sam Bingner <sam@bingner.com>. Fixes and
|
||||
+additions by Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de>
|
||||
+for Debian/GNU Linux.
|
||||
.SH ACKNOWLEDGEMENTS
|
||||
.B mkdosfs
|
||||
is based on code from
|
||||
diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs.c
|
||||
--- dosfstools-2.10.orig/mkdosfs/mkdosfs.c 2003-06-14 13:07:08.000000000 -0700
|
||||
+++ dosfstools-2.10/mkdosfs/mkdosfs.c 2004-08-02 20:57:57.736939512 -0700
|
||||
Index: dosfstools-2.11/mkdosfs/mkdosfs.c
|
||||
===================================================================
|
||||
--- dosfstools-2.11.orig/mkdosfs/mkdosfs.c 2005-03-12 16:12:16.000000000 +0000
|
||||
+++ dosfstools-2.11/mkdosfs/mkdosfs.c 2011-12-06 12:27:55.121886076 +0000
|
||||
@@ -24,6 +24,12 @@
|
||||
- New options -A, -S, -C
|
||||
- Support for filesystems > 2GB
|
||||
|
@ -84,7 +87,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
|
||||
Copying: Copyright 1993, 1994 David Hudson (dave@humbug.demon.co.uk)
|
||||
|
||||
@@ -167,6 +173,8 @@
|
||||
@@ -153,6 +159,8 @@
|
||||
#define FAT_BAD 0x0ffffff7
|
||||
|
||||
#define MSDOS_EXT_SIGN 0x29 /* extended boot sector signature */
|
||||
|
@ -93,7 +96,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
#define MSDOS_FAT12_SIGN "FAT12 " /* FAT12 filesystem signature */
|
||||
#define MSDOS_FAT16_SIGN "FAT16 " /* FAT16 filesystem signature */
|
||||
#define MSDOS_FAT32_SIGN "FAT32 " /* FAT32 filesystem signature */
|
||||
@@ -188,6 +196,8 @@
|
||||
@@ -175,6 +183,8 @@
|
||||
#define BOOTCODE_SIZE 448
|
||||
#define BOOTCODE_FAT32_SIZE 420
|
||||
|
||||
|
@ -102,7 +105,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
/* __attribute__ ((packed)) is used on all structures to make gcc ignore any
|
||||
* alignments */
|
||||
|
||||
@@ -215,7 +225,7 @@
|
||||
@@ -202,7 +212,7 @@
|
||||
__u16 fat_length; /* sectors/FAT */
|
||||
__u16 secs_track; /* sectors per track */
|
||||
__u16 heads; /* number of heads */
|
||||
|
@ -111,7 +114,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
__u32 total_sect; /* number of sectors (if sectors == 0) */
|
||||
union {
|
||||
struct {
|
||||
@@ -298,6 +308,8 @@
|
||||
@@ -285,6 +295,8 @@
|
||||
|
||||
/* Global variables - the root of all evil :-) - see these and weep! */
|
||||
|
||||
|
@ -120,7 +123,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
static char *program_name = "mkdosfs"; /* Name of the program */
|
||||
static char *device_name = NULL; /* Name of the device on which to create the filesystem */
|
||||
static int atari_format = 0; /* Use Atari variation of MS-DOS FS format */
|
||||
@@ -842,6 +854,12 @@
|
||||
@@ -837,6 +849,12 @@
|
||||
vi->volume_id[2] = (unsigned char) ((volume_id & 0x00ff0000) >> 16);
|
||||
vi->volume_id[3] = (unsigned char) (volume_id >> 24);
|
||||
}
|
||||
|
@ -133,16 +136,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
|
||||
if (!atari_format) {
|
||||
memcpy(vi->volume_label, volume_name, 11);
|
||||
@@ -886,7 +904,7 @@
|
||||
printf( "Using %d reserved sectors\n", reserved_sectors );
|
||||
bs.fats = (char) nr_fats;
|
||||
if (!atari_format || size_fat == 32)
|
||||
- bs.hidden = CT_LE_L(0);
|
||||
+ bs.hidden = bs.secs_track;
|
||||
else
|
||||
/* In Atari format, hidden is a 16 bit field */
|
||||
memset( &bs.hidden, 0, 2 );
|
||||
@@ -1358,6 +1376,32 @@
|
||||
@@ -1362,6 +1380,32 @@
|
||||
* dir area on FAT12/16, and the first cluster on FAT32. */
|
||||
writebuf( (char *) root_dir, size_root_dir, "root directory" );
|
||||
|
||||
|
@ -172,28 +166,28 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
+ }
|
||||
+ }
|
||||
+
|
||||
if (blank_sector) free( blank_sector );
|
||||
if (info_sector) free( info_sector );
|
||||
free (root_dir); /* Free up the root directory space from setup_tables */
|
||||
free (fat); /* Free up the fat table space reserved during setup_tables */
|
||||
@@ -1371,7 +1415,7 @@
|
||||
@@ -1376,7 +1420,7 @@
|
||||
{
|
||||
fatal_error("\
|
||||
Usage: mkdosfs [-A] [-c] [-C] [-v] [-I] [-l bad-block-file] [-b backup-boot-sector]\n\
|
||||
- [-m boot-msg-file] [-n volume-name] [-i volume-id]\n\
|
||||
+ [-m boot-msg-file] [-n volume-name] [-i volume-id] [-B bootcode]\n\
|
||||
[-s sectors-per-cluster] [-S logical-sector-size] [-f number-of-FATs]\n\
|
||||
[-F fat-size] [-r root-dir-entries] [-R reserved-sectors]\n\
|
||||
[-h hidden-sectors] [-F fat-size] [-r root-dir-entries] [-R reserved-sectors]\n\
|
||||
/dev/name [blocks]\n");
|
||||
@@ -1433,7 +1477,7 @@
|
||||
@@ -1439,7 +1483,7 @@
|
||||
printf ("%s " VERSION " (" VERSION_DATE ")\n",
|
||||
program_name);
|
||||
|
||||
- while ((c = getopt (argc, argv, "AcCf:F:Ii:l:m:n:r:R:s:S:v")) != EOF)
|
||||
+ while ((c = getopt (argc, argv, "AcCf:F:Ii:l:m:n:r:R:s:S:v:B:b")) != EOF)
|
||||
- while ((c = getopt (argc, argv, "AbcCf:F:Ii:l:m:n:r:R:s:S:h:v")) != EOF)
|
||||
+ while ((c = getopt (argc, argv, "AbcCf:F:Ii:l:m:n:r:R:s:S:v:B:")) != EOF)
|
||||
/* Scan the command line for options */
|
||||
switch (c)
|
||||
{
|
||||
@@ -1494,6 +1538,51 @@
|
||||
@@ -1509,6 +1553,51 @@
|
||||
listfile = optarg;
|
||||
break;
|
||||
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
Add -s <directory> support to populate the image.
|
||||
Add -d <directory> support to populate the image.
|
||||
|
||||
Upstream-Status: Inappropriate [licensing]
|
||||
We're tracking an old release of dosfstools due to licensing issues.
|
||||
|
||||
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
|
||||
|
||||
diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs.c
|
||||
--- dosfstools-2.10.orig/mkdosfs/mkdosfs.c 2004-08-02 20:48:45.000000000 -0700
|
||||
+++ dosfstools-2.10/mkdosfs/mkdosfs.c 2004-08-02 20:49:44.296953792 -0700
|
||||
Index: dosfstools-2.11/mkdosfs/mkdosfs.c
|
||||
===================================================================
|
||||
--- dosfstools-2.11.orig/mkdosfs/mkdosfs.c 2011-12-06 12:27:55.000000000 +0000
|
||||
+++ dosfstools-2.11/mkdosfs/mkdosfs.c 2011-12-06 12:37:13.445950703 +0000
|
||||
@@ -18,6 +18,10 @@
|
||||
as a rule), and not the block. For example the boot block does not
|
||||
occupy a full cluster.
|
||||
|
@ -26,18 +27,18 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
+#include <libgen.h>
|
||||
+#include <dirent.h>
|
||||
|
||||
#if __BYTE_ORDER == __BIG_ENDIAN
|
||||
|
||||
@@ -124,6 +130,8 @@
|
||||
}
|
||||
#endif
|
||||
#include <linux/version.h>
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0)
|
||||
@@ -110,6 +116,8 @@
|
||||
* sufficient (or even better :) for 64 bit offsets in the meantime */
|
||||
#define llseek lseek
|
||||
|
||||
+#define ROUND_UP(value, divisor) (value + (divisor - (value % divisor))) / divisor
|
||||
+
|
||||
/* Constant definitions */
|
||||
|
||||
#define TRUE 1 /* Boolean constants */
|
||||
@@ -163,7 +171,6 @@
|
||||
@@ -149,7 +157,6 @@
|
||||
#define ATTR_VOLUME 8 /* volume label */
|
||||
#define ATTR_DIR 16 /* directory */
|
||||
#define ATTR_ARCH 32 /* archived */
|
||||
|
@ -45,7 +46,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
#define ATTR_NONE 0 /* no attribute bits */
|
||||
#define ATTR_UNUSED (ATTR_VOLUME | ATTR_ARCH | ATTR_SYS | ATTR_HIDDEN)
|
||||
/* attribute bits that are copied "as is" */
|
||||
@@ -258,6 +265,19 @@
|
||||
@@ -245,6 +252,19 @@
|
||||
__u32 reserved2[4];
|
||||
};
|
||||
|
||||
|
@ -65,7 +66,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
struct msdos_dir_entry
|
||||
{
|
||||
char name[8], ext[3]; /* name and extension */
|
||||
@@ -306,6 +326,15 @@
|
||||
@@ -293,6 +313,15 @@
|
||||
|
||||
#define MESSAGE_OFFSET 29 /* Offset of message in above code */
|
||||
|
||||
|
@ -81,7 +82,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
/* Global variables - the root of all evil :-) - see these and weep! */
|
||||
|
||||
static char *template_boot_code; /* Variable to store a full template boot sector in */
|
||||
@@ -339,6 +368,9 @@
|
||||
@@ -326,6 +355,9 @@
|
||||
static int size_root_dir; /* Size of the root directory in bytes */
|
||||
static int sectors_per_cluster = 0; /* Number of sectors per disk cluster */
|
||||
static int root_dir_entries = 0; /* Number of root directory entries */
|
||||
|
@ -89,9 +90,9 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
+static int last_cluster_written = 0;
|
||||
+
|
||||
static char *blank_sector; /* Blank sector - all zeros */
|
||||
static int hidden_sectors = 0; /* Number of hidden sectors */
|
||||
|
||||
|
||||
@@ -411,7 +443,6 @@
|
||||
@@ -399,7 +431,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -99,7 +100,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
/* Mark a specified sector as having a particular value in it's FAT entry */
|
||||
|
||||
static void
|
||||
@@ -1262,6 +1293,9 @@
|
||||
@@ -1266,6 +1297,9 @@
|
||||
die ("unable to allocate space for root directory in memory");
|
||||
}
|
||||
|
||||
|
@ -109,7 +110,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
memset(root_dir, 0, size_root_dir);
|
||||
if ( memcmp(volume_name, " ", 11) )
|
||||
{
|
||||
@@ -1310,11 +1344,11 @@
|
||||
@@ -1314,11 +1348,11 @@
|
||||
}
|
||||
|
||||
if (!(blank_sector = malloc( sector_size )))
|
||||
|
@ -124,7 +125,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
/* Write the new filesystem's data tables to wherever they're going to end up! */
|
||||
|
||||
#define error(str) \
|
||||
@@ -1336,7 +1370,7 @@
|
||||
@@ -1340,7 +1374,7 @@
|
||||
do { \
|
||||
int __size = (size); \
|
||||
if (write (dev, buf, __size) != __size) \
|
||||
|
@ -133,7 +134,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
} while(0)
|
||||
|
||||
|
||||
@@ -1407,6 +1441,452 @@
|
||||
@@ -1412,6 +1446,452 @@
|
||||
free (fat); /* Free up the fat table space reserved during setup_tables */
|
||||
}
|
||||
|
||||
|
@ -586,19 +587,16 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
|
||||
/* Report the command usage and return a failure error code */
|
||||
|
||||
@@ -1418,9 +1898,9 @@
|
||||
@@ -1423,7 +1903,7 @@
|
||||
[-m boot-msg-file] [-n volume-name] [-i volume-id] [-B bootcode]\n\
|
||||
[-s sectors-per-cluster] [-S logical-sector-size] [-f number-of-FATs]\n\
|
||||
[-F fat-size] [-r root-dir-entries] [-R reserved-sectors]\n\
|
||||
[-h hidden-sectors] [-F fat-size] [-r root-dir-entries] [-R reserved-sectors]\n\
|
||||
- /dev/name [blocks]\n");
|
||||
+ [-d directory] /dev/name [blocks]\n");
|
||||
}
|
||||
-
|
||||
+
|
||||
|
||||
/*
|
||||
* ++roman: On m68k, check if this is an Atari; if yes, turn on Atari variant
|
||||
* of MS-DOS filesystem by default.
|
||||
@@ -1458,6 +1938,8 @@
|
||||
@@ -1463,6 +1943,8 @@
|
||||
int c;
|
||||
char *tmp;
|
||||
char *listfile = NULL;
|
||||
|
@ -607,16 +605,16 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
FILE *msgfile;
|
||||
struct stat statbuf;
|
||||
int i = 0, pos, ch;
|
||||
@@ -1477,7 +1959,7 @@
|
||||
@@ -1483,7 +1965,7 @@
|
||||
printf ("%s " VERSION " (" VERSION_DATE ")\n",
|
||||
program_name);
|
||||
|
||||
- while ((c = getopt (argc, argv, "AcCf:F:Ii:l:m:n:r:R:s:S:v:B:b")) != EOF)
|
||||
+ while ((c = getopt (argc, argv, "AcCd:f:F:Ii:l:m:n:r:R:s:S:v:B:b")) != EOF)
|
||||
- while ((c = getopt (argc, argv, "AbcCf:F:Ii:l:m:n:r:R:s:S:v:B:")) != EOF)
|
||||
+ while ((c = getopt (argc, argv, "AbcCd:f:F:Ii:l:m:n:r:R:s:S:v:B:")) != EOF)
|
||||
/* Scan the command line for options */
|
||||
switch (c)
|
||||
{
|
||||
@@ -1502,6 +1984,10 @@
|
||||
@@ -1508,6 +1990,10 @@
|
||||
create = TRUE;
|
||||
break;
|
||||
|
||||
|
@ -627,7 +625,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
|
|||
case 'f': /* f : Choose number of FATs */
|
||||
nr_fats = (int) strtol (optarg, &tmp, 0);
|
||||
if (*tmp || nr_fats < 1 || nr_fats > 4)
|
||||
@@ -1796,8 +2282,10 @@
|
||||
@@ -1811,8 +2297,10 @@
|
||||
else if (listfile)
|
||||
get_list_blocks (listfile);
|
||||
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
# dosfstools OE build file
|
||||
# Copyright (C) 2004-2006, Advanced Micro Devices, Inc. All Rights Reserved
|
||||
# Released under the MIT license (see packages/COPYING)
|
||||
|
||||
DESCRIPTION = "DOS FAT Filesystem Utilities"
|
||||
|
||||
SECTION = "base"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://mkdosfs/COPYING;md5=cbe67f08d6883bff587f615f0cc81aa8"
|
||||
PR = "r3"
|
||||
|
||||
SRC_URI = "ftp://ftp.uni-erlangen.de/pub/Linux/LOCAL/dosfstools/dosfstools-${PV}.src.tar.gz \
|
||||
file://alignment_hack.patch \
|
||||
file://dosfstools-2.10-kernel-2.6.patch \
|
||||
file://msdos_fat12_undefined.patch \
|
||||
file://include-linux-types.patch"
|
||||
|
||||
SRC_URI[md5sum] = "59a02f311a891af8787c4c9e28c6b89b"
|
||||
SRC_URI[sha256sum] = "55a7b2f5ea4506bde935ee3145573e1773427fc72283a36796c7c2cf861dd064"
|
||||
|
||||
do_install () {
|
||||
oe_runmake "PREFIX=${D}" "SBINDIR=${D}${sbindir}" \
|
||||
"MANDIR=${D}${mandir}/man8" install
|
||||
}
|
|
@ -7,11 +7,14 @@ DESCRIPTION = "DOS FAT Filesystem Utilities"
|
|||
SECTION = "base"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://mkdosfs/COPYING;md5=cbe67f08d6883bff587f615f0cc81aa8"
|
||||
PR = "r0"
|
||||
PR = "r1"
|
||||
|
||||
SRC_URI = "ftp://ftp.uni-erlangen.de/pub/Linux/LOCAL/dosfstools/dosfstools-${PV}.src.tar.gz \
|
||||
file://mkdosfs-bootcode.patch \
|
||||
file://mkdosfs-dir.patch \
|
||||
file://alignment_hack.patch \
|
||||
file://msdos_fat12_undefined.patch \
|
||||
file://dosfstools-msdos_fs-types.patch \
|
||||
file://include-linux-types.patch"
|
||||
|
||||
SRC_URI[md5sum] = "407d405ade410f7597d364ab5dc8c9f6"
|
||||
|
@ -21,3 +24,5 @@ do_install () {
|
|||
oe_runmake "PREFIX=${D}" "SBINDIR=${D}${sbindir}" \
|
||||
"MANDIR=${D}${mandir}/man8" install
|
||||
}
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
|
|
Loading…
Reference in New Issue