From 7a65a910b77ad191d69881098c47f9b0c852d92e Mon Sep 17 00:00:00 2001 From: root Date: Tue, 13 Aug 2013 01:33:19 -0700 Subject: Tue Aug 13 01:31:08 PDT 2013 --- community/fuseiso/PKGBUILD | 33 ++++++++++++++++ community/fuseiso/fuseiso-20070708-largeiso.patch | 48 +++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 community/fuseiso/PKGBUILD create mode 100644 community/fuseiso/fuseiso-20070708-largeiso.patch (limited to 'community/fuseiso') diff --git a/community/fuseiso/PKGBUILD b/community/fuseiso/PKGBUILD new file mode 100644 index 000000000..39ee9bffc --- /dev/null +++ b/community/fuseiso/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 57911 2011-11-04 11:59:27Z lcarlier $ +# Contributor: Shinlun Hsieh +# Contributor: Daniel J Griffiths + +pkgname=fuseiso +pkgver=20070708 +pkgrel=4 +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" + 'fuseiso-20070708-largeiso.patch') +md5sums=('4bb50412b6d01f337565e28afddca3a5' + '5c4dce932aba735727221f4e1695f277') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + # 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} + + 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