summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Ludd <solar@gentoo.org>2004-07-03 18:22:14 +0000
committerNed Ludd <solar@gentoo.org>2004-07-03 18:22:14 +0000
commitae7b6689ebefe8cf26eb1c89e909a3e065f44f0e (patch)
tree780a54fc3da82fcac4fc20f336d1c9b0b0df8ff2 /sys-fs/dosfstools
parentStable amd64, sparc, x86. (Manifest recommit) (diff)
downloadgentoo-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/ChangeLog8
-rw-r--r--sys-fs/dosfstools/Manifest21
-rw-r--r--sys-fs/dosfstools/dosfstools-2.10-r1.ebuild44
-rw-r--r--sys-fs/dosfstools/files/digest-dosfstools-2.10-r11
-rw-r--r--sys-fs/dosfstools/files/dosfstools-2.10-lseek64.patch168
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" );
+ }
+