Package-Name: dosfstools
#Source: ibibliolinux:///system/filesystems/dosfs/dosfstools-(\d+.\d+(.\d+)?).src.tar.gz $1
Source: http://user.parknet.co.jp/hirofumi//(.)/[\0-\377]* 2.10 http://user.parknet.co.jp/hirofumi/tmp/fatfsprogs.tar.bz2
Zap-Before-Install: 1
Repack:
	tar xjvfp "$(SOURCE)"
	mv fatfsprogs/dosfstools-"$(VERSION)" .
	rm `find . -name \*~\*`
Compile:
	cp -pf CHANGES TODO "$(PREFIX)/"
	for i in ANNOUNCE COPYING ChangeLog README ; do \
		cp -pf mkdosfs/$$i "$(PREFIX)"/mkdosfs.$$i ; \
	done
	for i in CHANGES COPYING README ; do \
		cp -pf dosfsck/$$i "$(PREFIX)"/dosfsck.$$i ; \
	done
	umask 022 ; mkdir -p "$(PREFIX)"/{man/man8,sbin}
	$(MAKE) all install SBINDIR="$(PREFIX)/sbin" MANDIR="$(PREFIX)/man/man8"
Install:
	mv -f "$(PREFIX)"/sbin/{dosfsck,fsck.msdos,fsck.vfat,mkdosfs,mkfs.msdos,mkfs.vfat} /sbin/
	$(MAKE) instman SECTION=8 MAN="dosfsck mkdosfs"
Patch-2.7: <<EOT
######## begin linux 2.6 patch
--- dosfsck/boot.c.old	2004-08-20 13:38:41 +0900
+++ dosfsck/boot.c	2004-08-20 13:42:43 +0900
@@ -16,6 +16,9 @@
 #include "io.h"
 #include "boot.h"
 
+#ifndef MSDOS_FAT12
+# define MSDOS_FAT12 MAX_FAT12
+#endif
 
 #define ROUND_TO_MULTIPLE(n,m) ((n) && (m) ? (n)+(m)-1-((n)-1)%(m) : 0)
     /* don't divide by zero */
######## end linux 2.6 patch
######## begin glibc 2.3 patch
--- mkdosfs/mkdosfs.c.old	2000-11-29 01:23:58 +0900
+++ mkdosfs/mkdosfs.c	2003-11-26 17:17:13 +0900
@@ -105,6 +105,7 @@
 # ifndef __NR__llseek
 # error _llseek system call not present
 # endif
+# include <errno.h>
 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 )
######## end glibc 2.3 patch
--- dosfsck/boot.c.old	2000-11-29 01:20:02 +0900
+++ dosfsck/boot.c	2003-10-26 21:40:13 +0900
@@ -98,8 +98,8 @@
     }
     printf("Data area starts at byte %llu (sector %llu)\n",fs->data_start,
 	   fs->data_start/lss);
-    printf("%10lu data clusters (%lu bytes)\n",fs->clusters,fs->clusters*
-      fs->cluster_size);
+    printf("%10lu data clusters (%llu bytes)\n",fs->clusters,
+      (long long)fs->clusters*(long long)fs->cluster_size);
     printf("%u sectors/track, %u heads\n",CF_LE_W(b->secs_track),
 	   CF_LE_W(b->heads));
     printf("%10u hidden sectors\n",
EOT

/pkg/dosfstools/
/sbin/dosfsck
/sbin/fsck.msdos
/sbin/fsck.vfat
/sbin/mkdosfs
/sbin/mkfs.msdos
/sbin/mkfs.vfat
/usr/man/man8/dosfsck.8.gz
/usr/man/man8/mkdosfs.8.gz
