Hello community,

here is the log from the commit of package ark for openSUSE:Factory checked in 
at 2015-10-19 22:30:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-03 20:16:57.000000000 
+0200
+++ /work/SRC/openSUSE:Factory/.ark.new/ark.changes     2015-10-19 
22:30:51.000000000 +0200
@@ -1,0 +2,8 @@
+Sun Oct 11 13:14:59 UTC 2015 - tittiatc...@gmail.com
+
+- Update to KDE Applications 15.08.2
+   * KDE Applications 15.08.2 
+   * https://www.kde.org/announcements/announce-applications-15.08.2.php
+
+
+-------------------------------------------------------------------

Old:
----
  ark-15.08.1.tar.xz

New:
----
  ark-15.08.2.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ark.spec ++++++
--- /var/tmp/diff_new_pack.uxa7g4/_old  2015-10-19 22:30:52.000000000 +0200
+++ /var/tmp/diff_new_pack.uxa7g4/_new  2015-10-19 22:30:52.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           ark
-Version:        15.08.1
+Version:        15.08.2
 Release:        0
 Summary:        KDE Archiver Tool
 License:        GPL-2.0+

++++++ ark-15.08.1.tar.xz -> ark-15.08.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ark-15.08.1/CMakeLists.txt 
new/ark-15.08.2/CMakeLists.txt
--- old/ark-15.08.1/CMakeLists.txt      2015-09-10 13:55:01.000000000 +0200
+++ new/ark-15.08.2/CMakeLists.txt      2015-10-09 01:19:21.000000000 +0200
@@ -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 "1")
+set (KDE_APPLICATIONS_VERSION_MICRO "2")
 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.1/app/ark.appdata.xml 
new/ark-15.08.2/app/ark.appdata.xml
--- old/ark-15.08.1/app/ark.appdata.xml 2015-09-10 13:55:01.000000000 +0200
+++ new/ark-15.08.2/app/ark.appdata.xml 2015-10-09 01:19:21.000000000 +0200
@@ -219,7 +219,7 @@
       <li xml:lang="es">Vista previa del contenido de archivos sin 
extraerlos</li>
       <li xml:lang="et">Failide sisu näitamine ilma neid lahti pakkimata.</li>
       <li xml:lang="fi">Tiedoston sisällön esikatselu purkamatta tiedostoa</li>
-      <li xml:lang="fr">Prévisualiser le contenu des fichiers sans les 
extraire</li>
+      <li xml:lang="fr">Affichage du contenu des fichiers sans les 
extraire</li>
       <li xml:lang="gl">Obteña unha vista previa dos ficheiros comprimidos sen 
extraelos.</li>
       <li xml:lang="hu">Fájltartalom előnézete a fájlok kibontása nélkül</li>
       <li xml:lang="it">Anteprima dei file senza estrarre i file</li>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ark-15.08.1/app/ark_addtoservicemenu.desktop 
new/ark-15.08.2/app/ark_addtoservicemenu.desktop
--- old/ark-15.08.1/app/ark_addtoservicemenu.desktop    2015-09-10 
13:55:01.000000000 +0200
+++ new/ark-15.08.2/app/ark_addtoservicemenu.desktop    2015-10-09 
01:19:21.000000000 +0200
@@ -73,7 +73,9 @@
 Name[en_GB]=Here (as TAR.GZ)
 Name[es]=Aquí (como TAR.GZ)
 Name[fi]=Tähän (TAR.GZ-paketiksi)
+Name[fr]=Ici (en tar.gz)
 Name[gl]=Aquí (como TAR.GZ)
+Name[it]=Qui (come TAR.GZ)
 Name[ko]=여기(TAR.GZ로)
 Name[nl]=Hier (als TAR.GZ)
 Name[pl]=Tutaj (jako TAR.GZ)
@@ -101,7 +103,9 @@
 Name[en_GB]=Here (as ZIP)
 Name[es]=Aquí (como ZIP)
 Name[fi]=Tähän (ZIP-paketiksi)
+Name[fr]=Ici (en zip)
 Name[gl]=Aquí (como ZIP)
+Name[it]=Qui (come ZIP)
 Name[ko]=여기(ZIP으로)
 Name[nl]=Hier (als ZIP)
 Name[pl]=Tutaj (jako ZIP)
@@ -129,7 +133,9 @@
 Name[en_GB]=Here (as RAR)
 Name[es]=Aquí (como RAR)
 Name[fi]=Tähän (RAR-paketiksi)
+Name[fr]=Ici (en rar)
 Name[gl]=Aquí (como RAR)
+Name[it]=Qui (come RAR)
 Name[ko]=여기(RAR로)
 Name[nl]=Hier (als RAR)
 Name[pl]=Tutaj (jako RAR)
@@ -157,7 +163,9 @@
 Name[en_GB]=Compress to...
 Name[es]=Comprimir en...
 Name[fi]=Pakkaa…
+Name[fr]=Compresser vers...
 Name[gl]=Comprimir en…
+Name[it]=Comprimi in...
 Name[ko]=다음으로 압축하기...
 Name[nl]=Comprimeren naar...
 Name[pl]=Spakuj do...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ark-15.08.1/kerfuffle/archiveinterface.cpp 
new/ark-15.08.2/kerfuffle/archiveinterface.cpp
--- old/ark-15.08.1/kerfuffle/archiveinterface.cpp      2015-09-10 
13:55:01.000000000 +0200
+++ new/ark-15.08.2/kerfuffle/archiveinterface.cpp      2015-10-09 
01:19:21.000000000 +0200
@@ -36,7 +36,9 @@
 namespace Kerfuffle
 {
 ReadOnlyArchiveInterface::ReadOnlyArchiveInterface(QObject *parent, const 
QVariantList & args)
-        : QObject(parent), m_waitForFinishedSignal(false)
+        : QObject(parent),
+          m_waitForFinishedSignal(false),
+          m_isHeaderEncryptionEnabled(false)
 {
     qCDebug(KERFUFFLE) << "Created read-only interface for" << 
args.first().toString();
     m_filename = args.first().toString();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ark-15.08.1/kerfuffle/cliinterface.cpp 
new/ark-15.08.2/kerfuffle/cliinterface.cpp
--- old/ark-15.08.1/kerfuffle/cliinterface.cpp  2015-09-10 13:55:01.000000000 
+0200
+++ new/ark-15.08.2/kerfuffle/cliinterface.cpp  2015-10-09 01:19:21.000000000 
+0200
@@ -46,11 +46,12 @@
 #include <QEventLoop>
 #include <QFile>
 #include <QProcess>
+#include <QRegularExpression>
+#include <QStandardPaths>
+#include <QTemporaryDir>
 #include <QThread>
 #include <QTimer>
-#include <QStandardPaths>
 #include <QUrl>
-#include <QRegularExpression>
 
 namespace Kerfuffle
 {
@@ -101,10 +102,11 @@
         return false;
     }
 
+    emit finished(true);
     return true;
 }
 
-bool CliInterface::copyFiles(const QList<QVariant> & files, const QString & 
destinationDirectory, ExtractionOptions options)
+bool CliInterface::copyFiles(const QVariantList &files, const QString 
&destinationDirectory, ExtractionOptions options)
 {
     qCDebug(KERFUFFLE) << Q_FUNC_INFO << "to" << destinationDirectory;
 
@@ -236,15 +238,33 @@
         }
     }
 
-    QUrl destDir(destinationDirectory);
+    bool useTmpExtractDir = !files.isEmpty();
+    QUrl destDir;
+    QTemporaryDir tmpExtractDir;
+
+    if (useTmpExtractDir) {
+        qCDebug(KERFUFFLE) << "Using temporary extraction dir:" << 
tmpExtractDir.path();
+        if (!tmpExtractDir.isValid()) {
+            qCDebug(KERFUFFLE) << "Creation of temporary directory failed.";
+            failOperation();
+            return false;
+        }
+        destDir = QUrl(tmpExtractDir.path());
+    } else {
+        destDir = QUrl(destinationDirectory);
+    }
     QDir::setCurrent(destDir.adjusted(QUrl::RemoveScheme).url());
-    qCDebug(KERFUFFLE) << "Setting current dir to " << destinationDirectory;
 
     if (!runProcess(m_param.value(ExtractProgram).toStringList(), args)) {
         failOperation();
         return false;
     }
 
+    if (useTmpExtractDir) {
+        moveToFinalDest(files, destinationDirectory, tmpExtractDir);
+    }
+
+    emit finished(true);
     return true;
 }
 
@@ -353,7 +373,7 @@
         failOperation();
         return false;
     }
-
+    emit finished(true);
     return true;
 }
 
@@ -388,7 +408,7 @@
         failOperation();
         return false;
     }
-
+    emit finished(true);
     return true;
 }
 
@@ -474,9 +494,88 @@
         list();
         return;
     }
+}
 
-    //and we're finished
-    emit finished(true);
+bool CliInterface::moveToFinalDest(const QVariantList &files, const QString 
&finalDest, const QTemporaryDir &tmpDir)
+{
+    // Move extracted files from a QTemporaryDir to the final destination.
+
+    QDir finalDestDir(finalDest);
+    qCDebug(KERFUFFLE) << "Setting final dir to" << finalDest;
+
+    bool overwriteAll = false;
+    bool skipAll = false;
+
+    foreach (const QVariant& file, files) {
+
+        QFileInfo 
relEntry(file.value<fileRootNodePair>().file.remove(file.value<fileRootNodePair>().rootNode));
+        QFileInfo absSourceEntry(tmpDir.path() + QLatin1Char('/') + 
file.value<fileRootNodePair>().file);
+        QFileInfo absDestEntry(finalDestDir.path() + QLatin1Char('/') + 
relEntry.filePath());
+
+        if (absSourceEntry.isDir()) {
+
+            // For directories, just create the path.
+            if (!finalDestDir.mkpath(relEntry.filePath())) {
+                qCWarning(KERFUFFLE) << "Failed to create directory" << 
relEntry.filePath() << "in final destination.";
+            }
+
+        } else {
+
+            // If destination file exists, prompt the user.
+            if (absDestEntry.exists()) {
+                qCWarning(KERFUFFLE) << "File" << 
absDestEntry.absoluteFilePath() << "exists.";
+
+                if (!skipAll && !overwriteAll) {
+
+                    Kerfuffle::OverwriteQuery 
query(absDestEntry.absoluteFilePath());
+                    query.setNoRenameMode(true);
+                    emit userQuery(&query);
+                    query.waitForResponse();
+
+                    if (query.responseOverwrite() || 
query.responseOverwriteAll()) {
+                        if (query.responseOverwriteAll()) {
+                            overwriteAll = true;
+                        }
+                        if (!QFile::remove(absDestEntry.absoluteFilePath())) {
+                            qCWarning(KERFUFFLE) << "Failed to remove" << 
absDestEntry.absoluteFilePath();
+                        }
+
+                    } else if (query.responseSkip() || 
query.responseAutoSkip()) {
+                        if (query.responseAutoSkip()) {
+                            skipAll = true;
+                        }
+                        continue;
+
+                    } else if (query.responseCancelled()) {
+                        qCDebug(KERFUFFLE) << "Copy action cancelled.";
+                        return false;
+                    }
+
+                } else if (skipAll) {
+                    continue;
+
+                } else if (overwriteAll) {
+
+                    if (!QFile::remove(absDestEntry.absoluteFilePath())) {
+                        qCWarning(KERFUFFLE) << "Failed to remove" << 
absDestEntry.absoluteFilePath();
+                    }
+                }
+
+            }
+
+            // Create any parent directories.
+            if (!finalDestDir.mkpath(relEntry.path())) {
+                qCWarning(KERFUFFLE) << "Failed to create parent dirctory for 
file:" << absDestEntry.filePath();
+            }
+
+            // Move files to the final destination.
+            if 
(!QFile(absSourceEntry.absoluteFilePath()).rename(absDestEntry.absoluteFilePath()))
 {
+                qCWarning(KERFUFFLE) << "Failed to move file" << 
absSourceEntry.filePath() << "to final destination.";
+                return false;
+            }
+        }
+    }
+    return true;
 }
 
 void CliInterface::failOperation()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ark-15.08.1/kerfuffle/cliinterface.h 
new/ark-15.08.2/kerfuffle/cliinterface.h
--- old/ark-15.08.1/kerfuffle/cliinterface.h    2015-09-10 13:55:01.000000000 
+0200
+++ new/ark-15.08.2/kerfuffle/cliinterface.h    2015-10-09 01:19:21.000000000 
+0200
@@ -35,6 +35,7 @@
 
 class KProcess;
 class KPtyProcess;
+class QTemporaryDir;
 
 namespace Kerfuffle
 {
@@ -351,6 +352,8 @@
      */
     void writeToProcess(const QByteArray& data);
 
+    bool moveToFinalDest(const QVariantList &files, const QString &finalDest, 
const QTemporaryDir &tmpDir);
+
     QByteArray m_stdOutData;
     QRegExp m_existsPattern;
     QRegExp m_passwordPromptPattern;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ark-15.08.1/part/part.cpp 
new/ark-15.08.2/part/part.cpp
--- old/ark-15.08.1/part/part.cpp       2015-09-10 13:55:01.000000000 +0200
+++ new/ark-15.08.2/part/part.cpp       2015-10-09 01:19:21.000000000 +0200
@@ -771,9 +771,14 @@
 
     foreach (const QModelIndex& index, list) {
 
-        // Find the topmost unselected parent.
+        // Find the topmost unselected parent. This is done by iterating up
+        // through the directory hierarchy and see if each parent is included
+        // in the selection OR if the parent is already part of list.
+        // The latter is needed for unselected folders which are subfolders of
+        // a selected parent folder.
         QModelIndex selectionRoot = index.parent();
-        while (m_view->selectionModel()->isSelected(selectionRoot)) {
+        while (m_view->selectionModel()->isSelected(selectionRoot) ||
+               list.contains(selectionRoot)) {
             selectionRoot = selectionRoot.parent();
         }
 
@@ -781,6 +786,7 @@
         const QString rootInternalID =
             m_model->entryForIndex(selectionRoot).value(InternalID).toString();
 
+
         // Append index with root node to fileList.
         QModelIndexList alist = QModelIndexList() << index;
         foreach (const QVariant &file, filesForIndexes(alist)) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ark-15.08.1/plugins/libsinglefileplugin/singlefileplugin.cpp 
new/ark-15.08.2/plugins/libsinglefileplugin/singlefileplugin.cpp
--- old/ark-15.08.1/plugins/libsinglefileplugin/singlefileplugin.cpp    
2015-09-10 13:55:01.000000000 +0200
+++ new/ark-15.08.2/plugins/libsinglefileplugin/singlefileplugin.cpp    
2015-10-09 01:19:21.000000000 +0200
@@ -149,6 +149,12 @@
 {
     QString uncompressedName(QFileInfo(filename()).fileName());
 
+    // Bug 252701: For .svgz just remove the terminal "z".
+    if (uncompressedName.endsWith(QLatin1String(".svgz"), 
Qt::CaseInsensitive)) {
+        uncompressedName.chop(1);
+        return uncompressedName;
+    }
+
     foreach(const QString & extension, m_possibleExtensions) {
         qCDebug(KERFUFFLE_PLUGIN) << extension;
 


Reply via email to