]> Pileus Git - ~andy/sunrise/commitdiff
sys-fs/fuseiso: New ebuild fixing issues with large isos as described in msg 17 in...
authorThomas Fischer (f15h) <fischer@unix-ag.uni-kl.de>
Thu, 22 Jan 2009 12:08:41 +0000 (12:08 +0000)
committerThomas Fischer (f15h) <fischer@unix-ag.uni-kl.de>
Thu, 22 Jan 2009 12:08:41 +0000 (12:08 +0000)
svn path=/sunrise/; revision=7763

sys-fs/fuseiso/ChangeLog
sys-fs/fuseiso/Manifest
sys-fs/fuseiso/files/fuseiso-20070708-largerthan4gb.patch [new file with mode: 0644]
sys-fs/fuseiso/fuseiso-20070708-r1.ebuild [moved from sys-fs/fuseiso/fuseiso-20070708.ebuild with 50% similarity]

index 50f0becbbfc18cec9d3cbce0f5a4c081514e64e9..b96e3728a221567dbdb771cca419a85572cccfab 100644 (file)
@@ -1,7 +1,12 @@
 # ChangeLog for sys-fs/fuseiso
-# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $
 
+  22 Jan 2009; Thomas Fischer (Sparki) <fischer@unix-ag.uni-kl.de>
+  -fuseiso-20070708.ebuild, +fuseiso-20070708-r1.ebuild,
+  +files/fuseiso-20070708-largerthan4gb.patch:
+  New ebuild fixing issues with large isos as described in msg 17 in bug 143307
+
   13 Aug 2007; Markus Ullmann <jokey@gentoo.org> -fuseiso-20061017.ebuild:
   Drop old
 
index 734c5ccbf014a7c76eed9c0af8ed6779bb5327ce..40af85c314f1fcda5ea0fdb2a34554abd75237bb 100644 (file)
@@ -1,4 +1,5 @@
+AUX fuseiso-20070708-largerthan4gb.patch 2396 RMD160 495b7d960370a9e6efa2817717ae0170ad469885 SHA1 445f846d19e0d232f96757de7ef183749704aacc SHA256 5263a3a5f9dd1027836813bf5dd93b2a9af41064a948480ee808886bb69a14f5
 DIST fuseiso-20070708.tar.bz2 239960 RMD160 af5f6ab3ae7c5cd368ce5670182523f0deace73e SHA1 fe142556ad35dd7e5dc31a16183232a6e2da7692 SHA256 8b242e077d66cd20900c59c905ff90b4c934b0613dd5a20facb0b1260ac5fd88
-EBUILD fuseiso-20070708.ebuild 519 RMD160 d0302429cbe4de54c16c0b6e048b972de95d91f7 SHA1 6777e6f93b942e3da88267a911513f42067e0fe2 SHA256 03c899590ccdc23cac121c5c6e6bed607881baebd1583423a45bc07159fc45d4
-MISC ChangeLog 802 RMD160 bf2ccd19f274ad4a40db9b0552edc857a4b029a4 SHA1 d3621024b26361196df681b501eb66719818425d SHA256 7571ddfc0867fcb3a25e767296b8883ce7e466120684fbf8bc76b61ec7e28031
+EBUILD fuseiso-20070708-r1.ebuild 825 RMD160 1af9767d8f59b242b1366552b2fd52681e082bce SHA1 ba1c62d018dfc69584edc63a90a335d9e1dfbb2b SHA256 9212705f278d6a39afa85d487e6d890492599f3cd1de38152692166925158faf
+MISC ChangeLog 1054 RMD160 ad2a5b76fc1fb8548a5245bb4f52a56d9b76caff SHA1 b47ad0c7cb66997f23d0c5693cc7a7965e2c41bf SHA256 9888d7c081c8b08b258781cfab425fee82e167f030e9ca4948a3a89a3bd6abbc
 MISC metadata.xml 170 RMD160 645927a396fdc21cdeb089fe42c5397332420ea6 SHA1 ac7f48a14fec325926f9ce1be8fbf1f311b4f2e4 SHA256 d797a2ec6f9dc516c9f9c1a758ee87ad3e8c43101b5dc76c2f872d5bd4639b42
diff --git a/sys-fs/fuseiso/files/fuseiso-20070708-largerthan4gb.patch b/sys-fs/fuseiso/files/fuseiso-20070708-largerthan4gb.patch
new file mode 100644 (file)
index 0000000..4da0995
--- /dev/null
@@ -0,0 +1,48 @@
+Index: src/isofs.c
+===================================================================
+--- src/isofs.c        (Revision 5)
++++ src/isofs.c        (Arbeitskopie)
+@@ -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);
+Index: src/isofs.h
+===================================================================
+--- src/isofs.h        (Revision 5)
++++ src/isofs.h        (Arbeitskopie)
+@@ -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)
similarity index 50%
rename from sys-fs/fuseiso/fuseiso-20070708.ebuild
rename to sys-fs/fuseiso/fuseiso-20070708-r1.ebuild
index 3b88457f066da2a45897e7fe89bfa6a988ee20bd..df6449a376298904f8d22ac715dedb3e27aff0f4 100644 (file)
@@ -1,10 +1,12 @@
-# Copyright 1999-2008 Gentoo Foundation
+# Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Header: $
 
+inherit eutils
+
 DESCRIPTION="FUSE module to mount ISO9660 images"
 SRC_URI="http://ubiz.ru/dm/${P}.tar.bz2"
-HOMEPAGE="http://fuse.sourceforge.net/wiki/index.php/FuseIso"
+HOMEPAGE="http://apps.sourceforge.net/mediawiki/fuse/index.php?title=FuseIso"
 
 LICENSE="GPL-2"
 KEYWORDS="~amd64 ~x86"
@@ -15,6 +17,16 @@ DEPEND=">=sys-fs/fuse-2.2.1
        >=dev-libs/glib-2.4.2"
 RDEPEND=${DEPEND}
 
+src_unpack () {
+       unpack ${A}
+
+       # applying patch from Red Hat bug 440436
+       # https://bugzilla.redhat.com/show_bug.cgi?id=440436
+       EPATCH_OPTS="-d ${S}"
+       EPATCH_SINGLE_MSG="Applying bug fix to access content in large ISO files"
+       epatch "${FILESDIR}/${P}-largerthan4gb.patch"
+}
+
 src_install () {
        emake DESTDIR="${D}" install || die "emake install failed"
        dodoc README NEWS ChangeLog AUTHORS