From 9254c2bc6500471b22eead69781ddef84f87e2bf Mon Sep 17 00:00:00 2001 From: root Date: Tue, 23 Aug 2011 23:14:30 +0000 Subject: Tue Aug 23 23:14:30 UTC 2011 --- community/fuseiso/PKGBUILD | 25 +++++++----- community/fuseiso/fuseiso-20070708-largeiso.patch | 48 +++++++++++++++++++++++ 2 files changed, 63 insertions(+), 10 deletions(-) create mode 100644 community/fuseiso/fuseiso-20070708-largeiso.patch (limited to 'community/fuseiso') diff --git a/community/fuseiso/PKGBUILD b/community/fuseiso/PKGBUILD index 53071f272..cfc87ea2c 100644 --- a/community/fuseiso/PKGBUILD +++ b/community/fuseiso/PKGBUILD @@ -1,28 +1,33 @@ -# $Id: PKGBUILD 22459 2010-07-21 20:26:36Z lcarlier $ +# $Id: PKGBUILD 54617 2011-08-22 06:10:07Z lcarlier $ # Contributor: Shinlun Hsieh -# Maintainer: Daniel J Griffiths +# Contributor: Daniel J Griffiths pkgname=fuseiso pkgver=20070708 -pkgrel=2 +pkgrel=3 pkgdesc="FUSE module to mount ISO filesystem images" arch=('i686' 'x86_64') url="http://sourceforge.net/projects/fuseiso/" license=('GPL') depends=('fuse' 'glib2' 'zlib') makedepends=('pkgconfig') -source=(http://ubiz.ru/dm/${pkgname}-${pkgver}.tar.bz2) -md5sums=('4bb50412b6d01f337565e28afddca3a5') +source=("http://ubiz.ru/dm/${pkgname}-${pkgver}.tar.bz2" + 'fuseiso-20070708-largeiso.patch') +md5sums=('4bb50412b6d01f337565e28afddca3a5' + '5c4dce932aba735727221f4e1695f277') build() { - cd ${srcdir}/${pkgname}-${pkgver} + cd ${srcdir}/${pkgname}-${pkgver} - ./configure --prefix=/usr - make + # Fix for isos larger than 4Go https://bugzilla.redhat.com/show_bug.cgi?id=440436 + patch -p1 -i "${srcdir}/fuseiso-20070708-largeiso.patch" + + ./configure --prefix=/usr + make } package() { - cd ${srcdir}/${pkgname}-${pkgver} + cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install + make DESTDIR=${pkgdir} install } diff --git a/community/fuseiso/fuseiso-20070708-largeiso.patch b/community/fuseiso/fuseiso-20070708-largeiso.patch new file mode 100644 index 000000000..e323768d2 --- /dev/null +++ b/community/fuseiso/fuseiso-20070708-largeiso.patch @@ -0,0 +1,48 @@ +http://bugzilla.redhat.com/show_bug.cgi?id=440436 + +diff -ur fuseiso-20070708.orig/src/isofs.c fuseiso-20070708/src/isofs.c +--- fuseiso-20070708.orig/src/isofs.c 2007-07-08 15:22:59.000000000 +0300 ++++ fuseiso-20070708/src/isofs.c 2009-10-25 12:02:16.000000000 +0200 +@@ -178,7 +178,7 @@ + context.data_size = isonum_723(context.pd.logical_block_size); + + if(!context.block_size) { +- fprintf(stderr, "init: wrong block data size %d, using default 2048\n", context.data_size); ++ fprintf(stderr, "init: wrong block data size %Lu, using default 2048\n", context.data_size); + context.data_size = 2048; + }; + +@@ -324,7 +324,7 @@ + + if(context.block_size != 2048) { + // report unusual data block size +- printf("Data block size: %d\n", context.block_size); ++ printf("Data block size: %Lu\n", context.block_size); + }; + + char buf[129]; +@@ -479,7 +479,7 @@ + }; + size_t len = read(context.fd, buf, context.data_size); + if(len != context.data_size) { +- fprintf(stderr, "isofs_read_raw_block: can`t read full block, read only %d bytes from offset %d, %d required; errno %d, message %s\n", ++ fprintf(stderr, "isofs_read_raw_block: can`t read full block, read only %d bytes from offset %d, %Lu required; errno %d, message %s\n", + len, (int) off, context.data_size, errno, strerror(errno)); + fprintf(stderr, "isofs_read_raw_block: huh? reading zeros beyond file end? someone want to save a penny?\n"); + memset(buf + len, 0, context.data_size - len); +diff -ur fuseiso-20070708.orig/src/isofs.h fuseiso-20070708/src/isofs.h +--- fuseiso-20070708.orig/src/isofs.h 2006-10-17 04:50:39.000000000 +0300 ++++ fuseiso-20070708/src/isofs.h 2009-10-25 12:02:16.000000000 +0200 +@@ -38,9 +38,9 @@ + struct iso_directory_record *root; + int file_offset; // offset to begin of useful data (for .nrg files) + int id_offset; // offset to CD001 inside file +- size_t block_size; // raw block size +- size_t block_offset; // offset from block start to data +- size_t data_size; // data size inside block ++ off_t block_size; // raw block size ++ off_t block_offset; // offset from block start to data ++ off_t data_size; // data size inside block + int susp; // parse susp entries + int susp_skip; // skip bytes from susp SP entry + int joliet_level; // joliet extension level (1, 2 or 3) -- cgit v1.2.3-54-g00ecf