summaryrefslogtreecommitdiff
path: root/archivers/ark
diff options
context:
space:
mode:
authorRaphael Kubo da Costa <rakuco@FreeBSD.org>2019-03-09 19:23:05 +0000
committerRaphael Kubo da Costa <rakuco@FreeBSD.org>2019-03-09 19:23:05 +0000
commit532ae65d80ae7ff3fadbdd92b8dc29b1db54110c (patch)
tree07ed592e7de6e0dd5d25efac5e205dd8889aebb7 /archivers/ark
parent70e77c11d32af54ff1f7a0e8eec59ab81d64d168 (diff)
downloadfreebsd-ports-532ae65d80ae7ff3fadbdd92b8dc29b1db54110c.zip
Backport patch to fix creation of .tar archives when ZTD support is enabled.
As the patch says, when ZSTD support is present creating a regular .tar archive will end up creating a zstd file instead. In my tests, this prevented adding/remove entries from the archive at all. MFH: 2019Q1
Diffstat (limited to 'archivers/ark')
-rw-r--r--archivers/ark/Makefile2
-rw-r--r--archivers/ark/files/patch-git_a3bcf9bec26
2 files changed, 27 insertions, 1 deletions
diff --git a/archivers/ark/Makefile b/archivers/ark/Makefile
index 334d6deb2c8f..d444381d565a 100644
--- a/archivers/ark/Makefile
+++ b/archivers/ark/Makefile
@@ -2,7 +2,7 @@
PORTNAME= ark
DISTVERSION= ${KDE_APPLICATIONS_VERSION}
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= archivers kde kde-applications
MAINTAINER= kde@FreeBSD.org
diff --git a/archivers/ark/files/patch-git_a3bcf9bec b/archivers/ark/files/patch-git_a3bcf9bec
new file mode 100644
index 000000000000..4697f7ea73bf
--- /dev/null
+++ b/archivers/ark/files/patch-git_a3bcf9bec
@@ -0,0 +1,26 @@
+commit a3bcf9becddd5725725089add15fbae39c79757e
+Author: Elvis Angelaccio <elvis.angelaccio@kde.org>
+Date: Sat Mar 9 13:05:35 2019 +0100
+
+ Fix creation of tar archives
+
+ Usage of QString::compare() breaks the creation of tar archives, because
+ `zst` is "bigger" than `tar` which means ark would use the `zstd` filter
+ even when creating a simple tar archive.
+
+ BUG: 405136
+ FIXED-IN: 19.03.80
+
+diff --git a/plugins/libarchive/readwritelibarchiveplugin.cpp b/plugins/libarchive/readwritelibarchiveplugin.cpp
+index 38f62881..e83d0087 100644
+--- plugins/libarchive/readwritelibarchiveplugin.cpp
++++ plugins/libarchive/readwritelibarchiveplugin.cpp
+@@ -352,7 +352,7 @@ bool ReadWriteLibarchivePlugin::initializeNewFileWriterFilters(const Compression
+ qCDebug(ARK) << "Detected lz4 compression for new file";
+ ret = archive_write_add_filter_lz4(m_archiveWriter.data());
+ #ifdef HAVE_ZSTD_SUPPORT
+- } else if (filename().rightRef(3).compare(QLatin1String("zst"), Qt::CaseInsensitive)) {
++ } else if (filename().right(3).toUpper() == QLatin1String("ZST")) {
+ qCDebug(ARK) << "Detected zstd compression for new file";
+ ret = archive_write_add_filter_zstd(m_archiveWriter.data());
+ #endif