diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-11-15 00:42:34 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-11-15 00:42:34 +0000 |
commit | 2717977c6161d90cef0c6b2c7a49471e0d0ba596 (patch) | |
tree | 9877bf910da35587524adcf396598a6f21f56fa2 /sys-fs | |
parent | use @sections@ from the configure script in makewhatis rather than hardcoding... (diff) | |
download | gentoo-2-2717977c6161d90cef0c6b2c7a49471e0d0ba596.tar.gz gentoo-2-2717977c6161d90cef0c6b2c7a49471e0d0ba596.tar.bz2 gentoo-2-2717977c6161d90cef0c6b2c7a49471e0d0ba596.zip |
Fix by Ulrich Mueller for generation of filesystems on 256meg devices #112504.
(Portage version: 2.0.53_rc7)
Diffstat (limited to 'sys-fs')
-rw-r--r-- | sys-fs/dosfstools/ChangeLog | 8 | ||||
-rw-r--r-- | sys-fs/dosfstools/dosfstools-2.11-r1.ebuild | 41 | ||||
-rw-r--r-- | sys-fs/dosfstools/files/digest-dosfstools-2.11-r1 | 1 | ||||
-rw-r--r-- | sys-fs/dosfstools/files/dosfstools-2.11-fat32size.patch | 46 |
4 files changed, 95 insertions, 1 deletions
diff --git a/sys-fs/dosfstools/ChangeLog b/sys-fs/dosfstools/ChangeLog index ad9e5352436a..e5437036f416 100644 --- a/sys-fs/dosfstools/ChangeLog +++ b/sys-fs/dosfstools/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-fs/dosfstools # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/dosfstools/ChangeLog,v 1.22 2005/06/18 04:18:37 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-fs/dosfstools/ChangeLog,v 1.23 2005/11/15 00:42:34 vapier Exp $ + +*dosfstools-2.11-r1 (15 Nov 2005) + + 15 Nov 2005; Mike Frysinger <vapier@gentoo.org> + +files/dosfstools-2.11-fat32size.patch, +dosfstools-2.11-r1.ebuild: + Fix by Ulrich Mueller for generation of filesystems on 256meg devices #112504. *dosfstools-2.11 (18 Jun 2005) diff --git a/sys-fs/dosfstools/dosfstools-2.11-r1.ebuild b/sys-fs/dosfstools/dosfstools-2.11-r1.ebuild new file mode 100644 index 000000000000..c32d405f193d --- /dev/null +++ b/sys-fs/dosfstools/dosfstools-2.11-r1.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/dosfstools/dosfstools-2.11-r1.ebuild,v 1.1 2005/11/15 00:42:34 vapier Exp $ + +inherit eutils + +DESCRIPTION="DOS filesystem tools - provides mkdosfs, mkfs.msdos, mkfs.vfat" +HOMEPAGE="ftp://ftp.uni-erlangen.de/pub/Linux/LOCAL/dosfstools/" +SRC_URI="ftp://ftp.uni-erlangen.de/pub/Linux/LOCAL/dosfstools/${P}.src.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~sparc ~x86" +IUSE="" + +DEPEND="" + +src_unpack() { + unpack ${A} + cd "${S}" + sed -i \ + -e '/^PREFIX/s:=:=/usr:' \ + -e '/^MANDIR/s:/usr:/share:' \ + Makefile || die "sed Makefile" + epatch "${FILESDIR}"/dosfstools-2.11-fat32size.patch +} + +src_compile() { + # this package does *not* play well with optimisations + # please dont change to: make OPTFLAGS="${CFLAGS}" + emake -j1 || die +} + +src_install() { + make PREFIX="${D}"/usr install || die + dodoc CHANGES TODO + newdoc dosfsck/README README.dosfsck + newdoc dosfsck/CHANGES CHANGES.dosfsck + newdoc mkdosfs/README README.mkdosfs + newdoc mkdosfs/ChangeLog ChangeLog.mkdosfs +} diff --git a/sys-fs/dosfstools/files/digest-dosfstools-2.11-r1 b/sys-fs/dosfstools/files/digest-dosfstools-2.11-r1 new file mode 100644 index 000000000000..6f106d56fc2a --- /dev/null +++ b/sys-fs/dosfstools/files/digest-dosfstools-2.11-r1 @@ -0,0 +1 @@ +MD5 407d405ade410f7597d364ab5dc8c9f6 dosfstools-2.11.src.tar.gz 68346 diff --git a/sys-fs/dosfstools/files/dosfstools-2.11-fat32size.patch b/sys-fs/dosfstools/files/dosfstools-2.11-fat32size.patch new file mode 100644 index 000000000000..5047155dd841 --- /dev/null +++ b/sys-fs/dosfstools/files/dosfstools-2.11-fat32size.patch @@ -0,0 +1,46 @@ +Fix generation of FAT filesystems on devices that are 256meg in size + +Patch by Ulrich Mueller and accepted upstream + +http://bugs.gentoo.org/112504 + +--- mkdosfs/mkdosfs.c ++++ mkdosfs/mkdosfs.c +@@ -769,18 +769,19 @@ + size_fat = 32; + } + if (size_fat == 32) { +- /* For FAT32, try to do the same as M$'s format command: +- * fs size < 256M: 0.5k clusters +- * fs size < 8G: 4k clusters +- * fs size < 16G: 8k clusters +- * fs size >= 16G: 16k clusters ++ /* For FAT32, try to do the same as M$'s format command ++ * (see http://www.win.tue.nl/~aeb/linux/fs/fat/fatgen103.pdf p. 20): ++ * fs size <= 260M: 0.5k clusters ++ * fs size <= 8G: 4k clusters ++ * fs size <= 16G: 8k clusters ++ * fs size > 16G: 16k clusters + */ + unsigned long sz_mb = + (blocks+(1<<(20-BLOCK_SIZE_BITS))-1) >> (20-BLOCK_SIZE_BITS); +- bs.cluster_size = sz_mb >= 16*1024 ? 32 : +- sz_mb >= 8*1024 ? 16 : +- sz_mb >= 256 ? 8 : +- 1; ++ bs.cluster_size = sz_mb > 16*1024 ? 32 : ++ sz_mb > 8*1024 ? 16 : ++ sz_mb > 260 ? 8 : ++ 1; + } + else { + /* FAT12 and FAT16: start at 4 sectors per cluster */ +@@ -1036,6 +1037,8 @@ + break; + + case 32: ++ if (clust32 < MIN_CLUST_32) ++ fprintf(stderr, "WARNING: Not enough clusters for a 32 bit FAT!\n"); + cluster_count = clust32; + fat_length = fatlength32; + bs.fat_length = CT_LE_W(0); |