diff options
author | Ned Ludd <solar@gentoo.org> | 2004-07-03 18:22:14 +0000 |
---|---|---|
committer | Ned Ludd <solar@gentoo.org> | 2004-07-03 18:22:14 +0000 |
commit | ae7b6689ebefe8cf26eb1c89e909a3e065f44f0e (patch) | |
tree | 780a54fc3da82fcac4fc20f336d1c9b0b0df8ff2 /sys-fs/dosfstools | |
parent | Stable amd64, sparc, x86. (Manifest recommit) (diff) | |
download | gentoo-2-ae7b6689ebefe8cf26eb1c89e909a3e065f44f0e.tar.gz gentoo-2-ae7b6689ebefe8cf26eb1c89e909a3e065f44f0e.tar.bz2 gentoo-2-ae7b6689ebefe8cf26eb1c89e909a3e065f44f0e.zip |
added lseek64/PIC patch from bug 51962
Diffstat (limited to 'sys-fs/dosfstools')
-rw-r--r-- | sys-fs/dosfstools/ChangeLog | 8 | ||||
-rw-r--r-- | sys-fs/dosfstools/Manifest | 21 | ||||
-rw-r--r-- | sys-fs/dosfstools/dosfstools-2.10-r1.ebuild | 44 | ||||
-rw-r--r-- | sys-fs/dosfstools/files/digest-dosfstools-2.10-r1 | 1 | ||||
-rw-r--r-- | sys-fs/dosfstools/files/dosfstools-2.10-lseek64.patch | 168 |
5 files changed, 227 insertions, 15 deletions
diff --git a/sys-fs/dosfstools/ChangeLog b/sys-fs/dosfstools/ChangeLog index 246324fa7bf2..13779ec66274 100644 --- a/sys-fs/dosfstools/ChangeLog +++ b/sys-fs/dosfstools/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-fs/dosfstools # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/dosfstools/ChangeLog,v 1.12 2004/06/24 22:50:30 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-fs/dosfstools/ChangeLog,v 1.13 2004/07/03 18:22:14 solar Exp $ + +*dosfstools-2.10-r1 (03 Jul 2004) + + 03 Jul 2004; <solar@gentoo.org> dosfstools-2.10-r1.ebuild, + files/dosfstools-2.10-lseek64.patch: + added lseek64/PIC patch from bug 51962 12 May 2004; Alexander Gabert <pappy@gentoo.org> dosfstools-2.10.ebuild, dosfstools-2.9.ebuild: diff --git a/sys-fs/dosfstools/Manifest b/sys-fs/dosfstools/Manifest index 95fa67c51b08..921969c47bc7 100644 --- a/sys-fs/dosfstools/Manifest +++ b/sys-fs/dosfstools/Manifest @@ -1,20 +1,13 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -MD5 2a745638901b2f3b7d1cabfbc907d4a4 ChangeLog 2638 -MD5 b05deb62d72a5924aae3b475cc36115f dosfstools-2.8-r3.ebuild 1100 MD5 5cb58734a7f00cac1eb22ca421071b1f dosfstools-2.9.ebuild 1390 -MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164 +MD5 c8c83a119bb1a6f0480b8eed7f92e69f dosfstools-2.10-r1.ebuild 1310 MD5 627e09602d92c8681e818f2d2f7a58d7 dosfstools-2.10.ebuild 1434 -MD5 51b6aebebdca730b6a304548ec5c6da1 files/digest-dosfstools-2.8-r3 69 +MD5 b05deb62d72a5924aae3b475cc36115f dosfstools-2.8-r3.ebuild 1100 +MD5 6e558c1eb42c4b99b6e30887817ef2a7 ChangeLog 2815 +MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164 MD5 8102aee0611b0b9f797c88f7cc4fd503 files/digest-dosfstools-2.9 69 +MD5 1892bf8b14475bb28ecd9c09492ba854 files/dosfstools-2.10-lseek64.patch 5650 MD5 af6a07ad458852ef02d58a7a3658ca15 files/errno.patch 257 MD5 9eae6c4e222bcb616db95d21959a7688 files/digest-dosfstools-2.10 70 MD5 6b58c7a85ca01fc79287563b903024ff files/dosfstools-2.10-2.6.headers.patch 357 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.9.8 (GNU/Linux) - -iD8DBQFA4vOGHTu7gpaalycRAlriAKDDBmCg1s+mWfaOKxwOO/7ue2FLiQCfQkDX -nz2VkY7bs9XxpJcnwuhfDVE= -=5mae ------END PGP SIGNATURE----- +MD5 51b6aebebdca730b6a304548ec5c6da1 files/digest-dosfstools-2.8-r3 69 +MD5 9eae6c4e222bcb616db95d21959a7688 files/digest-dosfstools-2.10-r1 70 diff --git a/sys-fs/dosfstools/dosfstools-2.10-r1.ebuild b/sys-fs/dosfstools/dosfstools-2.10-r1.ebuild new file mode 100644 index 000000000000..fcb549741a11 --- /dev/null +++ b/sys-fs/dosfstools/dosfstools-2.10-r1.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/dosfstools/dosfstools-2.10-r1.ebuild,v 1.1 2004/07/03 18:22:14 solar Exp $ + +inherit eutils flag-o-matic + +DESCRIPTION="dos filesystem tools" +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="~x86 ~ppc ~sparc ~alpha ~hppa ~amd64 ~ia64" +IUSE="" + +DEPEND="virtual/libc" + +src_unpack() { + unpack ${A}; cd ${S} + epatch ${FILESDIR}/errno.patch + epatch ${FILESDIR}/${P}-2.6.headers.patch + epatch ${FILESDIR}/${P}-lseek64.patch + sed -i "s:PREFIX\ \=:PREFIX\ \=\ \/usr:" Makefile + sed -i "s:\/usr\/man:\/share\/man:" Makefile +} + +src_compile() { + # we no longer need to filter fPIC on this package thanks to the + # lseek64.patch from bug #51962 + + # this package does *not* play well with optimisations + # please dont change to: make OPTFLAGS="${CFLAGS}" + make || die +} + +src_install() { + make PREFIX=${D}/usr install || die + dodoc CHANGES TODO + newdoc dosfsck/README README.dosfsck + newdoc dosfsck/CHANGES CHANGES.dosfsck + newdoc dosfsck/COPYING COPYING.dosfsck + newdoc mkdosfs/README README.mkdosfs + newdoc mkdosfs/ChangeLog ChangeLog.mkdosfs +} diff --git a/sys-fs/dosfstools/files/digest-dosfstools-2.10-r1 b/sys-fs/dosfstools/files/digest-dosfstools-2.10-r1 new file mode 100644 index 000000000000..fc3e357d72c6 --- /dev/null +++ b/sys-fs/dosfstools/files/digest-dosfstools-2.10-r1 @@ -0,0 +1 @@ +MD5 59a02f311a891af8787c4c9e28c6b89b dosfstools-2.10.src.tar.gz 66759 diff --git a/sys-fs/dosfstools/files/dosfstools-2.10-lseek64.patch b/sys-fs/dosfstools/files/dosfstools-2.10-lseek64.patch new file mode 100644 index 000000000000..ea99c3fbb0d2 --- /dev/null +++ b/sys-fs/dosfstools/files/dosfstools-2.10-lseek64.patch @@ -0,0 +1,168 @@ +diff -Naur dosfstools-2.10-orig/Makefile dosfstools-2.10/Makefile +--- dosfstools-2.10-orig/Makefile 2003-05-15 19:00:27.000000000 +0000 ++++ dosfstools-2.10/Makefile 2004-06-28 05:00:45.000000000 +0000 +@@ -7,7 +7,7 @@ + OPTFLAGS = -O2 -fomit-frame-pointer + WARNFLAGS = -Wall + DEBUGFLAGS = +-CFLAGS = $(OPTFLAGS) $(WARNFLAGS) $(DEBUGFLAGS) ++CFLAGS = -D_GNU_SOURCE $(OPTFLAGS) $(WARNFLAGS) $(DEBUGFLAGS) + LDFLAGS = + + PREFIX = +diff -Naur dosfstools-2.10-orig/dosfsck/io.c dosfstools-2.10/dosfsck/io.c +--- dosfstools-2.10-orig/dosfsck/io.c 2003-06-14 20:03:20.000000000 +0000 ++++ dosfstools-2.10/dosfsck/io.c 2004-06-28 04:59:45.000000000 +0000 +@@ -39,32 +39,6 @@ + + unsigned device_no; + +-/* 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) + { +@@ -86,7 +60,7 @@ + CHANGE *walk; + int got; + +- if (llseek(fd,pos,0) != pos) pdie("Seek to %lld",pos); ++ if (lseek64(fd,pos,0) != pos) pdie("Seek to %lld",pos); + if ((got = read(fd,data,size)) < 0) pdie("Read %d bytes at %lld",size,pos); + if (got != size) die("Got %d bytes instead of %d at %lld",got,size,pos); + for (walk = changes; walk; walk = walk->next) { +@@ -106,7 +80,7 @@ + void *scratch; + int okay; + +- if (llseek(fd,pos,0) != pos) pdie("Seek to %lld",pos); ++ if (lseek64(fd,pos,0) != pos) pdie("Seek to %lld",pos); + scratch = alloc(size); + okay = read(fd,scratch,size) == size; + free(scratch); +@@ -121,7 +95,7 @@ + + if (write_immed) { + did_change = 1; +- if (llseek(fd,pos,0) != pos) pdie("Seek to %lld",pos); ++ if (lseek64(fd,pos,0) != pos) pdie("Seek to %lld",pos); + if ((did = write(fd,data,size)) == size) return; + if (did < 0) pdie("Write %d bytes at %lld",size,pos); + die("Wrote %d bytes instead of %d at %lld",did,size,pos); +@@ -144,7 +118,7 @@ + while (changes) { + this = changes; + changes = changes->next; +- if (llseek(fd,this->pos,0) != this->pos) ++ if (lseek64(fd,this->pos,0) != this->pos) + fprintf(stderr,"Seek to %lld failed: %s\n Did not write %d bytes.\n", + this->pos,strerror(errno),this->size); + else if ((size = write(fd,this->data,this->size)) < 0) +diff -Naur dosfstools-2.10-orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs.c +--- dosfstools-2.10-orig/mkdosfs/mkdosfs.c 2003-06-14 20:07:08.000000000 +0000 ++++ dosfstools-2.10/mkdosfs/mkdosfs.c 2004-06-28 05:00:16.000000000 +0000 +@@ -93,30 +93,6 @@ + + #endif /* __BIG_ENDIAN */ + +-/* 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 + + /* Constant definitions */ + +@@ -423,7 +399,7 @@ + { + long got; + +- if (llseek (dev, (loff_t)current_block * BLOCK_SIZE, SEEK_SET) /* Seek to the correct location */ ++ if (lseek64 (dev, (loff_t)current_block * BLOCK_SIZE, SEEK_SET) /* Seek to the correct location */ + != (loff_t)current_block * BLOCK_SIZE) + die ("seek failed during testing for blocks"); + +@@ -542,7 +518,7 @@ + { + char ch; + +- if (llseek (fd, offset, SEEK_SET) < 0) ++ if (lseek64 (fd, offset, SEEK_SET) < 0) + return FALSE; + if (read (fd, &ch, 1) < 1) + return FALSE; +@@ -565,7 +541,7 @@ + } + + /* first try SEEK_END, which should work on most devices nowadays */ +- if ((low = llseek(fd, 0, SEEK_END)) <= 0) { ++ if ((low = lseek64(fd, 0, SEEK_END)) <= 0) { + low = 0; + for (high = 1; valid_offset (fd, high); high *= 2) + low = high; +@@ -1310,7 +1286,7 @@ + #define seekto(pos,errstr) \ + do { \ + loff_t __pos = (pos); \ +- if (llseek (dev, __pos, SEEK_SET) != __pos) \ ++ if (lseek64 (dev, __pos, SEEK_SET) != __pos) \ + error ("seek to " errstr " failed whilst writing tables"); \ + } while(0) + +@@ -1667,11 +1643,11 @@ + die("unable to create %s"); + /* seek to the intended end-1, and write one byte. this creates a + * sparse-as-possible file of appropriate size. */ +- if (llseek( dev, offset, SEEK_SET ) != offset) ++ if (lseek64( dev, offset, SEEK_SET ) != offset) + die( "seek failed" ); + if (write( dev, &null, 1 ) < 0) + die( "write failed" ); +- if (llseek( dev, 0, SEEK_SET ) != 0) ++ if (lseek64( dev, 0, SEEK_SET ) != 0) + die( "seek failed" ); + } + |