[fuse-zip] patch for new libzip
Remi Collet
remi at fedoraproject.org
Sat Feb 4 15:45:09 UTC 2012
commit 4f9cef51cbe6f42db0e5478bbe6dbfd4c1df5a05
Author: remi <fedora at famillecollet.com>
Date: Sat Feb 4 16:44:32 2012 +0100
patch for new libzip
fuse-zip-libzip010.patch | 32 ++++++++++++++++++++++++++++++++
fuse-zip.spec | 3 +++
2 files changed, 35 insertions(+), 0 deletions(-)
---
diff --git a/fuse-zip-libzip010.patch b/fuse-zip-libzip010.patch
new file mode 100644
index 0000000..26199ee
--- /dev/null
+++ b/fuse-zip-libzip010.patch
@@ -0,0 +1,32 @@
+diff -up fuse-zip-0.2.12/bigBuffer.cpp.orig fuse-zip-0.2.12/bigBuffer.cpp
+--- fuse-zip-0.2.12/bigBuffer.cpp.orig 2012-02-04 16:28:38.000000000 +0100
++++ fuse-zip-0.2.12/bigBuffer.cpp 2012-02-04 16:37:13.000000000 +0100
+@@ -244,7 +244,12 @@ void BigBuffer::truncate(offset_t offset
+ len = offset;
+ }
+
++// LIBZIP_VERSION is only defined in libzip >= 0.10 which use a new prototype for callback
++#ifdef LIBZIP_VERSION
++zip_int64_t BigBuffer::zipUserFunctionCallback(void *state, void *data, zip_uint64_t len, enum zip_source_cmd cmd) {
++#else
+ ssize_t BigBuffer::zipUserFunctionCallback(void *state, void *data, size_t len, enum zip_source_cmd cmd) {
++#endif
+ CallBackStruct *b = (CallBackStruct*)state;
+ switch (cmd) {
+ case ZIP_SOURCE_OPEN: {
+diff -up fuse-zip-0.2.12/bigBuffer.h.orig fuse-zip-0.2.12/bigBuffer.h
+--- fuse-zip-0.2.12/bigBuffer.h.orig 2012-02-04 16:30:13.000000000 +0100
++++ fuse-zip-0.2.12/bigBuffer.h 2012-02-04 16:37:16.000000000 +0100
+@@ -46,7 +46,12 @@ private:
+
+ chunks_t chunks;
+
++// LIBZIP_VERSION is only defined in libzip >= 0.10 which use a new prototype for callback
++#ifdef LIBZIP_VERSION
++ static zip_int64_t zipUserFunctionCallback(void *state, void *data, zip_uint64_t len, enum zip_source_cmd cmd);
++#else
+ static ssize_t zipUserFunctionCallback(void *state, void *data, size_t len, enum zip_source_cmd cmd);
++#endif
+
+ /**
+ * Return number of chunks needed to keep 'offset' bytes.
diff --git a/fuse-zip.spec b/fuse-zip.spec
index fae20f9..00c2e38 100644
--- a/fuse-zip.spec
+++ b/fuse-zip.spec
@@ -9,6 +9,7 @@ Source0: http://%{name}.googlecode.com/files/%{name}-%{version}.tar.gz
# Submitted patch
# http://code.google.com/p/fuse-zip/issues/detail?id=15
Patch0: fuse-zip-makefile.patch
+Patch1: fuse-zip-libzip010.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libzip-devel, pkgconfig, fuse-devel, zlib-devel
Requires: fuse
@@ -28,6 +29,7 @@ on large archives with many files.
%prep
%setup -q
%patch0 -p1 -b .makefile
+%patch1 -p1 -b .libzip010
%build
make %{?_smp_mflags} CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_OPT_FLAGS"
@@ -49,6 +51,7 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Sat Feb 04 2012 Remi Collet <remi at fedoraproject.org> - 0.2.12-4
- rebuild for new libzip
+- add patch for new callback prototype (fix #787370)
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.2.12-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
More information about the scm-commits
mailing list