Hello community, here is the log from the commit of package ark for openSUSE:Factory checked in at 2015-11-15 12:28:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ark (Old) and /work/SRC/openSUSE:Factory/.ark.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ark" Changes: -------- --- /work/SRC/openSUSE:Factory/ark/ark.changes 2015-10-19 22:30:51.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.ark.new/ark.changes 2015-11-15 12:28:06.000000000 +0100 @@ -1,0 +2,9 @@ +Tue Nov 10 19:52:12 UTC 2015 - tittiatc...@gmail.com + +- Update to KDE Applications 15.08.3 + * KDE Applications 15.08.3 + * https://www.kde.org/announcements/announce-applications-15.08.3.php + * boo#954531 + + +------------------------------------------------------------------- Old: ---- ark-15.08.2.tar.xz New: ---- ark-15.08.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ark.spec ++++++ --- /var/tmp/diff_new_pack.TVuCpQ/_old 2015-11-15 12:28:07.000000000 +0100 +++ /var/tmp/diff_new_pack.TVuCpQ/_new 2015-11-15 12:28:07.000000000 +0100 @@ -17,7 +17,7 @@ Name: ark -Version: 15.08.2 +Version: 15.08.3 Release: 0 Summary: KDE Archiver Tool License: GPL-2.0+ ++++++ ark-15.08.2.tar.xz -> ark-15.08.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ark-15.08.2/CMakeLists.txt new/ark-15.08.3/CMakeLists.txt --- old/ark-15.08.2/CMakeLists.txt 2015-10-09 01:19:21.000000000 +0200 +++ new/ark-15.08.3/CMakeLists.txt 2015-11-04 23:30:54.000000000 +0100 @@ -7,7 +7,7 @@ # KDE Application Version, managed by release script set (KDE_APPLICATIONS_VERSION_MAJOR "15") set (KDE_APPLICATIONS_VERSION_MINOR "08") -set (KDE_APPLICATIONS_VERSION_MICRO "2") +set (KDE_APPLICATIONS_VERSION_MICRO "3") set (KDE_APPLICATIONS_VERSION "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}") configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CTestCustom.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/CTestCustom.cmake) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ark-15.08.2/app/ark.appdata.xml new/ark-15.08.3/app/ark.appdata.xml --- old/ark-15.08.2/app/ark.appdata.xml 2015-10-09 01:19:21.000000000 +0200 +++ new/ark-15.08.3/app/ark.appdata.xml 2015-11-04 23:30:54.000000000 +0100 @@ -9,6 +9,7 @@ <name xml:lang="bg">Ark</name> <name xml:lang="bs">Ark</name> <name xml:lang="ca">Ark</name> + <name xml:lang="ca-valencia">Ark</name> <name xml:lang="cs">Ark</name> <name xml:lang="da">Ark</name> <name xml:lang="de">Ark</name> @@ -49,6 +50,7 @@ <summary xml:lang="bg">Работа с архиви</summary> <summary xml:lang="bs">Alat za arhiviranje</summary> <summary xml:lang="ca">Eina d'arxivament</summary> + <summary xml:lang="ca-valencia">Eina d'arxivament</summary> <summary xml:lang="cs">Archivační nástroj</summary> <summary xml:lang="da">Arkiveringsværktøj</summary> <summary xml:lang="de">Archivprogramm</summary> @@ -94,6 +96,7 @@ <p xml:lang="bg">Ark е графичен инструмент за архивиране/разархивиране, поддържащ множество формати, включително tar, gzip, bzip2, rar и zip, както и образи на CD-ROM. Ark може да се използва за разглеждане, извличане, създаване и променяне на архиви.</p> <p xml:lang="bs">Ark je grafički alat za kompresiju/dekompresiju s podrškom za više formata, uključujući tar, gzip, bzip2, rar i zip, kao i CD-ROM slike. Ark se može koristiti za kreiranje, izdvjanje i modifikaciju arhiva.</p> <p xml:lang="ca">L'Ark és una utilitat gràfica de compressió/descompressió de fitxers que implementa múltiples formats, incloent-hi tar, gzip, bzip2, rar i zip, i també imatges de CD-ROM. L'Ark es pot utilitzar per explorar, extreure, crear, i modificar arxius.</p> + <p xml:lang="ca-valencia">L'Ark és una utilitat gràfica de compressió/descompressió de fitxers que implementa múltiples formats, incloent-hi tar, gzip, bzip2, rar i zip, i també imatges de CD-ROM. L'Ark es pot utilitzar per explorar, extreure, crear, i modificar arxius.</p> <p xml:lang="cs">Ark je grafický nástroj pro kompresi/dekompresi souborů s podporou formátů jako je tar, gzip, bzipě, rar a zip a obrazů disků CD-ROM. Ark lze použít k prohlížení, rozbalování a úpravám archivů.</p> <p xml:lang="da">Ark er et grafisk værktøj til komprimering/dekomprimering, med understøttelse for flere formater, derunder tar, gzip, bzip2, rar og zip, såvel som cd-rom-imagefiler. Ark kan bruges til at gennemse, udtrække, oprette og redigere.</p> <p xml:lang="de">Ark ist ein grafisches Dienstprogramm zum Packen/Entpacken von Dateien mit Unterstützung für mehrere Formate wie tar, gzip, bzip2, rar, zip und auch CD-Abbilder. Mit Ark können Sie können Sie Archive durchsehen, entpacken, erstellen und bearbeiten.</p> @@ -132,6 +135,7 @@ <p xml:lang="bg">Функции:</p> <p xml:lang="bs">Svojstvo:</p> <p xml:lang="ca">Característiques:</p> + <p xml:lang="ca-valencia">Característiques:</p> <p xml:lang="cs">Vlastnosti:</p> <p xml:lang="da">Funktioner:</p> <p xml:lang="de">Leistungsmerkmale:</p> @@ -173,6 +177,7 @@ <li xml:lang="bg">Поддържани са много формати: gzip, bzip2, zip, rar, 7z и други</li> <li xml:lang="bs">Više podržanih formata: gzip, bzip2, zip, rar, 7z i drui</li> <li xml:lang="ca">Diversos formats implementats: gzip, bzip2, zip, rar, 7z i més</li> + <li xml:lang="ca-valencia">Diversos formats implementats: gzip, bzip2, zip, rar, 7z i més</li> <li xml:lang="cs">Je podporováno několik formátů: gzip, bzip2, zip, rar, 7z a další</li> <li xml:lang="da">Flere understøttede formater: gzip, bzip2, zip, rar, 7z og flere</li> <li xml:lang="de">Mehrere unterstützte Formate wie gzip, bzip2, zip, rar, 7z und mehr</li> @@ -211,6 +216,7 @@ <li xml:lang="bg">Преглеждане съдържанието на файла, без извличане на файловете</li> <li xml:lang="bs">Pregled sadržaja datoteka bez njihovog izdvajanja</li> <li xml:lang="ca">Vista prèvia del contingut de fitxers sense extreure'ls</li> + <li xml:lang="ca-valencia">Vista prèvia del contingut de fitxers sense extreure'ls</li> <li xml:lang="cs">Náhled obsahu souborů bez jejich rozbalení</li> <li xml:lang="da">Forhåndsvis filindhold uden at udtrække filer</li> <li xml:lang="de">Vorschau der Dateiinhalte ohne das Entpacken der Dateien</li> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ark-15.08.2/app/ark_addtoservicemenu.desktop new/ark-15.08.3/app/ark_addtoservicemenu.desktop --- old/ark-15.08.2/app/ark_addtoservicemenu.desktop 2015-10-09 01:19:21.000000000 +0200 +++ new/ark-15.08.3/app/ark_addtoservicemenu.desktop 2015-11-04 23:30:54.000000000 +0100 @@ -67,6 +67,7 @@ [Desktop Action compressHereAsTar] Name=Here (as TAR.GZ) Name[ca]=Aquí (com a TAR.GZ) +Name[ca@valencia]=Ací (com a TAR.GZ) Name[cs]=Zde (jako TAR.GZ) Name[da]=Her (som TAR.GZ) Name[de]=Hier (Als TAR.GZ-Archiv) @@ -97,6 +98,7 @@ [Desktop Action compressHereAsZip] Name=Here (as ZIP) Name[ca]=Aquí (com a ZIP) +Name[ca@valencia]=Ací (com a ZIP) Name[cs]=Zde (jako ZIP) Name[da]=Her (som ZIP) Name[de]=Hier (Als ZIP-Archiv) @@ -127,6 +129,7 @@ [Desktop Action compressHereAsRar] Name=Here (as RAR) Name[ca]=Aquí (com a RAR) +Name[ca@valencia]=Ací (com a RAR) Name[cs]=Zde (jako RAR) Name[da]=Her (som RAR) Name[de]=Hier (Als RAR-Archiv) @@ -157,6 +160,7 @@ [Desktop Action compressTo] Name=Compress to... Name[ca]=Comprimeix a... +Name[ca@valencia]=Comprimeix a... Name[cs]=Zkomprimovat do... Name[da]=Komprimér til... Name[de]=Komprimieren nach ... diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ark-15.08.2/app/ark_servicemenu.desktop.cmake new/ark-15.08.3/app/ark_servicemenu.desktop.cmake --- old/ark-15.08.2/app/ark_servicemenu.desktop.cmake 2015-10-09 01:19:21.000000000 +0200 +++ new/ark-15.08.3/app/ark_servicemenu.desktop.cmake 2015-11-04 23:30:54.000000000 +0100 @@ -12,7 +12,7 @@ X-KDE-Submenu[bg]=Извличане X-KDE-Submenu[bs]=Raspakivanje X-KDE-Submenu[ca]=Extreu -X-KDE-Submenu[ca@valencia]=Extrau +X-KDE-Submenu[ca@valencia]=Extreu X-KDE-Submenu[cs]=Rozbalit X-KDE-Submenu[da]=Pak ud X-KDE-Submenu[de]=Entpacken @@ -65,7 +65,7 @@ Name[bg]=Извличане тук Name[bs]=Raspakuj arhivu ovde Name[ca]=Extreu l'arxiu aquí -Name[ca@valencia]=Extrau l'arxiu ací +Name[ca@valencia]=Extreu l'arxiu ací Name[cs]=Rozbalit archiv sem Name[da]=Udpak arkiv her Name[de]=Archiv hierher auspacken @@ -125,7 +125,7 @@ Name[bg]=Извличане в... Name[bs]=Raspakuj arhivu u... Name[ca]=Extreu l'arxiu a... -Name[ca@valencia]=Extrau l'arxiu a... +Name[ca@valencia]=Extreu l'arxiu a... Name[cs]=Rozbalit archiv do... Name[da]=Udpak arkiv til... Name[de]=Archiv auspacken nach ... @@ -185,7 +185,7 @@ Name[bg]=Извличане тук, автоматична подпапка Name[bs]=Raspakuj arhivu ovdje, pogodi poddirektorij Name[ca]=Extreu l'arxiu aquí, detecta automàticament la subcarpeta -Name[ca@valencia]=Extrau l'arxiu ací, detecta automàticament la subcarpeta +Name[ca@valencia]=Extreu l'arxiu ací, detecta automàticament la subcarpeta Name[cs]=Rozbalit archiv sem, automaticky detekovat podsložku Name[da]=Udpak arkiv her og find automatisk undermappe Name[de]=Archiv hierher auspacken, Unterordner selbständig ermitteln diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ark-15.08.2/kerfuffle/archive_kerfuffle.cpp new/ark-15.08.3/kerfuffle/archive_kerfuffle.cpp --- old/ark-15.08.2/kerfuffle/archive_kerfuffle.cpp 2015-10-09 01:19:21.000000000 +0200 +++ new/ark-15.08.3/kerfuffle/archive_kerfuffle.cpp 2015-11-04 23:30:54.000000000 +0100 @@ -36,6 +36,7 @@ #include <QFile> #include <QFileInfo> #include <QMimeDatabase> +#include <QRegularExpression> #include <KPluginLoader> #include <KMimeTypeTrader> @@ -51,12 +52,24 @@ static QString determineMimeType(const QString& filename) { QMimeDatabase db; - QMimeType mimeFromExtension = db.mimeTypeForFile(filename, QMimeDatabase::MatchExtension); + + QFileInfo fileinfo(filename); + QString inputFile = filename; + + // #328815: since detection-by-content does not work for compressed tar archives (see below why) + // we cannot rely on it when the archive extension is wrong; we need to validate by hand. + if (fileinfo.completeSuffix().toLower().remove(QRegularExpression(QStringLiteral("[^a-z\\.]"))).contains(QStringLiteral("tar."))) { + inputFile.chop(fileinfo.completeSuffix().length()); + inputFile += fileinfo.completeSuffix().remove(QRegularExpression(QStringLiteral("[^a-zA-Z\\.]"))); + qCDebug(KERFUFFLE) << "Validated filename of compressed tar" << filename << "into filename" << inputFile; + } + + QMimeType mimeFromExtension = db.mimeTypeForFile(inputFile, QMimeDatabase::MatchExtension); QMimeType mimeFromContent = db.mimeTypeForFile(filename, QMimeDatabase::MatchContent); // mimeFromContent will be "application/octet-stream" when file is // unreadable, so use extension. - if (!QFileInfo(filename).isReadable()) { + if (!fileinfo.isReadable()) { return mimeFromExtension.name(); } @@ -73,6 +86,12 @@ } if (mimeFromExtension != mimeFromContent) { + + // #354344: ISO files are currently not detected-by-content. + if (mimeFromExtension.inherits(QStringLiteral("application/x-cd-image"))) { + return mimeFromExtension.name(); + } + qCWarning(KERFUFFLE) << "Mimetype for filename extension (" << mimeFromExtension.name() << ") did not match mimetype for content (" << mimeFromContent.name() << "). Using content-based mimetype."; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ark-15.08.2/part/part.cpp new/ark-15.08.3/part/part.cpp --- old/ark-15.08.2/part/part.cpp 2015-10-09 01:19:21.000000000 +0200 +++ new/ark-15.08.3/part/part.cpp 2015-11-04 23:30:54.000000000 +0100 @@ -543,8 +543,12 @@ } m_view->sortByColumn(0, Qt::AscendingOrder); - m_view->expandToDepth(0); + // #303708: expand the first level only when there is just one root folder. + // Typical use case: an archive with source files. + if (m_view->model()->rowCount() == 1) { + m_view->expandToDepth(0); + } // After loading all files, resize the columns to fit all fields m_view->header()->resizeSections(QHeaderView::ResizeToContents); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ark-15.08.2/plugins/libarchive/libarchivehandler.cpp new/ark-15.08.3/plugins/libarchive/libarchivehandler.cpp --- old/ark-15.08.2/plugins/libarchive/libarchivehandler.cpp 2015-10-09 01:19:21.000000000 +0200 +++ new/ark-15.08.3/plugins/libarchive/libarchivehandler.cpp 2015-11-04 23:30:54.000000000 +0100 @@ -158,6 +158,11 @@ rootNodeSingular.append(QLatin1Char('/')); } + // To avoid traversing the entire archive when extracting a limited set of + // entries, we maintain a list of remaining entries and stop when it's + // empty. + QVariantList remainingFiles = files; + ArchiveRead arch(archive_read_new()); if (!(arch.data())) { @@ -215,6 +220,11 @@ int no_entries = 0; while (archive_read_next_header(arch.data(), &entry) == ARCHIVE_OK) { + + if (!extractAll && remainingFiles.isEmpty()) { + break; + } + fileBeingRenamed.clear(); int index; @@ -241,7 +251,7 @@ return false; } - if (files.contains(QVariant::fromValue(fileRootNodePair(entryName))) || entryName == fileBeingRenamed || extractAll) { + if (remainingFiles.contains(QVariant::fromValue(fileRootNodePair(entryName))) || entryName == fileBeingRenamed || extractAll) { // Find the index of entry. if (entryName != fileBeingRenamed) { @@ -339,7 +349,7 @@ } int header_response; - qCDebug(KERFUFFLE_PLUGIN) << "Writing " << fileWithoutPath << " to " << archive_entry_pathname(entry); + //qCDebug(KERFUFFLE_PLUGIN) << "Writing " << fileWithoutPath << " to " << archive_entry_pathname(entry); if ((header_response = archive_write_header(writer.data(), entry)) == ARCHIVE_OK) { //if the whole archive is extracted and the total filesize is //available, we use partial progress @@ -361,6 +371,8 @@ archive_entry_clear(entry); no_entries++; + remainingFiles.removeOne(QVariant::fromValue(fileRootNodePair(entryName))); + } else { // Archive entry not among selected files, skip it.