Bug#889622: stretch-pu: package fuse-zip/0.4.0-2+deb9u1
Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian.org@packages.debian.org
Usertags: pu
Hi,
I'd like to update fuse-zip in stretch to fix a bug which prevents it from
writing changes back to zip files. I took upstream's patch and applied it to the
version in stretch: https://bitbucket.org/agalanin/fuse-zip/commits/9b9c2f47cfe9
Changes:
fuse-zip (0.4.0-2+deb9u1) stretch; urgency=medium
.
* Backport upstream commit 9b9c2f47cfe9 to fix writeback fail with libzip 1.0
Best regards,
Matthew
diff -Nru fuse-zip-0.4.0/debian/changelog fuse-zip-0.4.0/debian/changelog
--- fuse-zip-0.4.0/debian/changelog 2015-02-24 01:15:35.000000000 +1100
+++ fuse-zip-0.4.0/debian/changelog 2018-02-03 10:44:41.000000000 +1100
@@ -1,3 +1,9 @@
+fuse-zip (0.4.0-2+deb9u1) stretch; urgency=medium
+
+ * Backport upstream commit 9b9c2f47cfe9 to fix writeback fail with libzip 1.0
+
+ -- Matthew Harm Bekkema <mbekkema97@gmail.com> Sat, 03 Feb 2018 10:44:41 +1100
+
fuse-zip (0.4.0-2) unstable; urgency=low
* Bump standards
diff -Nru fuse-zip-0.4.0/debian/control fuse-zip-0.4.0/debian/control
--- fuse-zip-0.4.0/debian/control 2015-02-24 01:14:52.000000000 +1100
+++ fuse-zip-0.4.0/debian/control 2018-02-03 10:44:41.000000000 +1100
@@ -1,7 +1,7 @@
Source: fuse-zip
Section: utils
Priority: optional
-Maintainer: Matthew Bekkema <mbekkema97@gmail.com>
+Maintainer: Matthew Harm Bekkema <mbekkema97@gmail.com>
Build-Depends: debhelper (>= 9),
libfuse-dev,
libzip-dev (>= 0.11.2),
diff -Nru fuse-zip-0.4.0/debian/patches/fix-zip-source-supports.patch fuse-zip-0.4.0/debian/patches/fix-zip-source-supports.patch
--- fuse-zip-0.4.0/debian/patches/fix-zip-source-supports.patch 1970-01-01 10:00:00.000000000 +1000
+++ fuse-zip-0.4.0/debian/patches/fix-zip-source-supports.patch 2018-02-03 10:44:41.000000000 +1100
@@ -0,0 +1,59 @@
+Author: Alexander Galanin <al@galanin.nnov.ru>
+Description: Properly handle ZIP_SOURCE_SUPPORTS call introduced in libzip 1.0
+
+--- a/lib/bigBuffer.cpp
++++ b/lib/bigBuffer.cpp
+@@ -1,5 +1,5 @@
+ ////////////////////////////////////////////////////////////////////////////
+-// Copyright (C) 2008-2014 by Alexander Galanin //
++// Copyright (C) 2008-2016 by Alexander Galanin //
+ // al@galanin.nnov.ru //
+ // http://galanin.nnov.ru/~al //
+ // //
+@@ -282,9 +282,27 @@
+ delete b;
+ return 0;
+ }
+- default: {
++ case ZIP_SOURCE_CLOSE:
+ return 0;
++ case ZIP_SOURCE_ERROR: {
++ // This code should not be called in normal case because none of
++ // implemented functions raises error flag.
++ int *errs = static_cast<int *>(data);
++#if LIBZIP_VERSION_MAJOR >= 1
++ errs[0] = ZIP_ER_OPNOTSUPP;
++#else
++ errs[0] = ZIP_ER_INVAL;
++#endif
++ errs[1] = EINVAL;
++ return 2 * sizeof(int);
+ }
++#if LIBZIP_VERSION_MAJOR >= 1
++ case ZIP_SOURCE_SUPPORTS:
++ return ZIP_SOURCE_SUPPORTS_READABLE;
++#endif
++ default:
++ // indicate unsupported operation
++ return -1;
+ }
+ }
+
+--- a/lib/bigBuffer.h
++++ b/lib/bigBuffer.h
+@@ -1,5 +1,5 @@
+ ////////////////////////////////////////////////////////////////////////////
+-// Copyright (C) 2008-2014 by Alexander Galanin //
++// Copyright (C) 2008-2016 by Alexander Galanin //
+ // al@galanin.nnov.ru //
+ // http://galanin.nnov.ru/~al //
+ // //
+@@ -48,8 +48,6 @@
+
+ /**
+ * Callback for zip_source_function.
+- * ZIP_SOURCE_CLOSE is not needed to be handled, ZIP_SOURCE_ERROR is
+- * never called because read() always successfull.
+ * See zip_source_function(3) for details.
+ */
+ static zip_int64_t zipUserFunctionCallback(void *state, void *data,
diff -Nru fuse-zip-0.4.0/debian/patches/series fuse-zip-0.4.0/debian/patches/series
--- fuse-zip-0.4.0/debian/patches/series 1970-01-01 10:00:00.000000000 +1000
+++ fuse-zip-0.4.0/debian/patches/series 2018-02-03 10:44:41.000000000 +1100
@@ -0,0 +1 @@
+fix-zip-source-supports.patch
Reply to: