Accepting request 260953 from KDE:Frameworks5

Update to 5.1.1

OBS-URL: https://build.opensuse.org/request/show/260953
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kio-extras5?expand=0&rev=12
This commit is contained in:
Dominique Leuenberger 2014-11-13 08:21:51 +00:00 committed by Git OBS Bridge
parent e73ee95eb1
commit 98f524047d
9 changed files with 16907 additions and 5 deletions

View File

@ -0,0 +1,181 @@
From 92203bdebc4814ef27388ca0fdd6731f2abeab3d Mon Sep 17 00:00:00 2001
From: Maarten De Meyer <de.meyer.maarten@gmail.com>
Date: Sun, 28 Sep 2014 17:35:40 +0200
Subject: [PATCH 1/5] Port comicbook thumbnailer to KF5
Mostly standard porting stuff.
Still need to change qdebug calls to qCDebug.
CCBUG: 339456
REVIEW: 120382
(cherry picked from commit 72d25f79050f8cf249b0a640a2be8764c59eca91)
---
CMakeLists.txt | 1 +
thumbnail/CMakeLists.txt | 22 +++++++++++++---------
thumbnail/comiccreator.cpp | 41 +++++++++++++++++++----------------------
3 files changed, 33 insertions(+), 31 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 34c5fb9f2fe10bb53ab4f1c7c09815494157c263..3d538d4e3f06620e61cbddc375bc4a9652671bf8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -36,6 +36,7 @@ find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
KIO
KHtml
KDE4Support
+ Pty
Solid
)
diff --git a/thumbnail/CMakeLists.txt b/thumbnail/CMakeLists.txt
index cd1263af2444e97b7c7d20f2a25899009db9af01..aec8b8ea9c86f6b8b650caf885c02117dbf014f0 100644
--- a/thumbnail/CMakeLists.txt
+++ b/thumbnail/CMakeLists.txt
@@ -201,14 +201,18 @@ install(TARGETS svgthumbnail DESTINATION ${PLUGIN_INSTALL_DIR})
# install ( FILES windowsimagethumbnail.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
#
# ########### next target ###############
-#
-# set(comicbookthumbnail_SRCS comiccreator.cpp)
-# add_library(comicbookthumbnail MODULE ${comicbookthumbnail_SRCS})
-# target_link_libraries(comicbookthumbnail ${KIO_LIBRARIES})
-# if (UNIX)
-# target_link_libraries(comicbookthumbnail KF5::Pty)
-# endif ()
-# install(TARGETS comicbookthumbnail DESTINATION ${PLUGIN_INSTALL_DIR})
+
+set(comicbookthumbnail_SRCS comiccreator.cpp)
+add_library(comicbookthumbnail MODULE ${comicbookthumbnail_SRCS})
+target_link_libraries(comicbookthumbnail
+ Qt5::Gui
+ KF5::Archive
+ KF5::KIOWidgets
+)
+if (UNIX)
+ target_link_libraries(comicbookthumbnail KF5::Pty)
+endif ()
+install(TARGETS comicbookthumbnail DESTINATION ${PLUGIN_INSTALL_DIR})
########### install files ###############
@@ -222,5 +226,5 @@ install(FILES
# htmlthumbnail.desktop
# djvuthumbnail.desktop
# desktopthumbnail.desktop
-# comicbookthumbnail.desktop
+ comicbookthumbnail.desktop
DESTINATION ${SERVICES_INSTALL_DIR})
diff --git a/thumbnail/comiccreator.cpp b/thumbnail/comiccreator.cpp
index 39df58a4ddc1de3d79cdb0766fc0b11c02c9ec2d..4ec0db8c6953e2d9983e4a9d7f542b27404175e4 100644
--- a/thumbnail/comiccreator.cpp
+++ b/thumbnail/comiccreator.cpp
@@ -29,23 +29,22 @@
#include "comiccreator.h"
-#include <kdemacros.h>
-#include <kmimetype.h>
-#include <kstandarddirs.h>
-
#include <kzip.h>
#include <ktar.h>
#include <QDebug>
-#include <ktempdir.h>
#include <kprocess.h>
#include <memory>
#include <QtCore/QFile>
#include <QtCore/QEventLoop>
+#include <QMimeDatabase>
+#include <QMimeType>
#include <QStandardPaths>
+#include <QTemporaryDir>
// For KIO-Thumbnail debug outputs
+// TODO KF5 qCDebug
#define KIO_THUMB 11371
extern "C"
@@ -66,23 +65,25 @@ bool ComicCreator::create(const QString& path, int width, int height, QImage& im
QImage cover;
// Detect mime type.
- const KMimeType::Ptr mime = KMimeType::findByFileContent(path);
+ QMimeDatabase db;
+ db.mimeTypeForFile(path, QMimeDatabase::MatchContent);
+ const QMimeType mime = db.mimeTypeForFile(path, QMimeDatabase::MatchContent);
- if (mime->is("application/x-cbz") || mime->name() == "application/zip") {
+ if (mime.inherits("application/x-cbz") || mime.inherits("application/zip")) {
// ZIP archive.
cover = extractArchiveImage(path, ZIP);
- } else if (mime->is("application/x-cbt") ||
- mime->name() == "application/x-gzip" ||
- mime->name() == "application/x-tar") {
+ } else if (mime.inherits("application/x-cbt") ||
+ mime.inherits("application/x-gzip") ||
+ mime.inherits("application/x-tar")) {
// TAR archive
cover = extractArchiveImage(path, TAR);
- } else if (mime->is("application/x-cbr") || mime->name() == "application/x-rar") {
+ } else if (mime.inherits("application/x-cbr") || mime.inherits("application/x-rar")) {
// RAR archive.
cover = extractRARImage(path);
}
if (cover.isNull()) {
- kDebug(KIO_THUMB)<<"Error creating the comic book thumbnail.";
+ qDebug()<<"Error creating the comic book thumbnail.";
return false;
}
@@ -178,7 +179,7 @@ QImage ComicCreator::extractRARImage(const QString& path)
// Check if unrar is available. Get its path in 'unrarPath'.
QString unrar = unrarPath();
if (unrar.isEmpty()) {
- kDebug(KIO_THUMB)<<"A suitable version of unrar is not available.";
+ qDebug()<<"A suitable version of unrar is not available.";
return QImage();
}
@@ -195,14 +196,12 @@ QImage ComicCreator::extractRARImage(const QString& path)
// Extract the cover file alone. Use verbose paths.
// unrar x -n<file> path/to/archive /path/to/temp
- KTempDir cUnrarTempDir;
- startProcess(unrar, QStringList() << "x" << "-n" + entries[0] << path << cUnrarTempDir.name());
+ QTemporaryDir cUnrarTempDir;
+ startProcess(unrar, QStringList() << "x" << "-n" + entries[0] << path << cUnrarTempDir.path());
// Load cover file data into image.
QImage cover;
- cover.load(cUnrarTempDir.name() + entries[0]);
-
- cUnrarTempDir.unlink();
+ cover.load(cUnrarTempDir.path() + QDir::separator() + entries[0]);
return cover;
}
@@ -223,10 +222,10 @@ QString ComicCreator::unrarPath() const
/// Check the standard paths to see if a suitable unrar is available.
QString unrar = QStandardPaths::findExecutable("unrar");
if (unrar.isEmpty()) {
- unrar = KStandardDirs::findExe("unrar-nonfree");
+ unrar = QStandardPaths::findExecutable("unrar-nonfree");
}
if (unrar.isEmpty()) {
- unrar = KStandardDirs::findExe("rar");
+ unrar = QStandardPaths::findExecutable("rar");
}
if (!unrar.isEmpty()) {
QProcess proc;
@@ -313,5 +312,3 @@ ThumbCreator::Flags ComicCreator::flags() const
{
return DrawFrame;
}
-
-#include "comiccreator.moc"
--
2.1.2

View File

@ -0,0 +1,127 @@
From 47777a2631fb09eb930e80015e447037b4467ce7 Mon Sep 17 00:00:00 2001
From: Maarten De Meyer <de.meyer.maarten@gmail.com>
Date: Mon, 29 Sep 2014 00:32:20 +0200
Subject: [PATCH 2/5] Port textcreator thumbnailer
Thumbcreator needs to be a QGuiApplication because we use pixmaps.
CCBUG: 339456
REVIEW: 120408
(cherry picked from commit 7cadf8888ec1b02e30512a44c1bae76202f30f96)
---
thumbnail/CMakeLists.txt | 25 ++++++++++++++-----------
thumbnail/textcreator.cpp | 14 +++++++-------
thumbnail/thumbnail.cpp | 2 +-
3 files changed, 22 insertions(+), 19 deletions(-)
diff --git a/thumbnail/CMakeLists.txt b/thumbnail/CMakeLists.txt
index aec8b8ea9c86f6b8b650caf885c02117dbf014f0..4c2d5e9cab7c500d2d29a5ad479b7dfb514de85c 100644
--- a/thumbnail/CMakeLists.txt
+++ b/thumbnail/CMakeLists.txt
@@ -107,16 +107,19 @@ target_link_libraries(svgthumbnail
install(TARGETS svgthumbnail DESTINATION ${PLUGIN_INSTALL_DIR})
-# ########### next target ###############
-#
-# set(textthumbnail_PART_SRCS textcreator.cpp)
-#
-# add_library(textthumbnail MODULE ${textthumbnail_PART_SRCS})
-#
-# target_link_libraries(textthumbnail ${KIO_LIBRARIES})
-#
-# install(TARGETS textthumbnail DESTINATION ${PLUGIN_INSTALL_DIR})
-#
+########### next target ###############
+
+set(textthumbnail_PART_SRCS textcreator.cpp)
+
+add_library(textthumbnail MODULE ${textthumbnail_PART_SRCS})
+
+target_link_libraries(textthumbnail
+ Qt5::Gui
+ KF5::KIOWidgets
+)
+
+install(TARGETS textthumbnail DESTINATION ${PLUGIN_INSTALL_DIR})
+
# ########### next target ###############
#
# if(NOT WINCE)
@@ -222,7 +225,7 @@ install(FILES
svgthumbnail.desktop
imagethumbnail.desktop
jpegthumbnail.desktop
-# textthumbnail.desktop
+ textthumbnail.desktop
# htmlthumbnail.desktop
# djvuthumbnail.desktop
# desktopthumbnail.desktop
diff --git a/thumbnail/textcreator.cpp b/thumbnail/textcreator.cpp
index d3f633ced1bd780c6e8ce53464fc1607e1ed1795..7c0263c8e8cb4f88d1429b5714c51c2939d817f0 100644
--- a/thumbnail/textcreator.cpp
+++ b/thumbnail/textcreator.cpp
@@ -21,16 +21,15 @@
#include "textcreator.h"
#include <QFile>
+#include <QFontDatabase>
#include <QPixmap>
#include <QImage>
#include <QPainter>
#include <QPalette>
#include <QTextCodec>
-
-#include <kglobalsettings.h>
-#include <kencodingprober.h>
-#include <klocale.h>
+// TODO Fix or remove kencodingprober code
+// #include <kencodingprober.h>
extern "C"
{
@@ -60,7 +59,7 @@ static QTextCodec *codecFromContent(const char *data, int dataSize)
#else
QByteArray ba = QByteArray::fromRawData(data, dataSize);
// try to detect UTF text, fall back to locale default (which is usually UTF-8)
- return QTextCodec::codecForUtfText(ba, KGlobal::locale()->codecForEncoding());
+ return QTextCodec::codecForUtfText(ba, QTextCodec::codecForLocale());
#endif
}
@@ -84,7 +83,8 @@ bool TextCreator::create(const QString &path, int width, int height, QImage &img
int yborder = 1 + pixmapSize.height()/16; // minimum y-border
// this font is supposed to look good at small sizes
- QFont font = KGlobalSettings::smallestReadableFont();
+ QFont font = QFontDatabase::systemFont(QFontDatabase::SmallestReadableFont);
+
font.setPixelSize( qMax(7, qMin( 10, ( pixmapSize.height() - 2 * yborder ) / 16 ) ) );
QFontMetrics fm( font );
@@ -121,7 +121,7 @@ bool TextCreator::create(const QString &path, int width, int height, QImage &img
foreach ( const QString &line, textLines ) {
QString trimmedLine = line.trimmed();
if ( trimmedLine.contains( '\t' ) || trimmedLine.contains( " " ) ) {
- font.setFamily( KGlobalSettings::fixedFont().family() );
+ font.setFamily( QFontDatabase::systemFont(QFontDatabase::FixedFont).family());
break;
}
}
diff --git a/thumbnail/thumbnail.cpp b/thumbnail/thumbnail.cpp
index 3a38dc916c33243a23e5e3cb9a69a88eb49e30b0..d4a7f35014af21fb1dacaea59128ac7373e6805b 100644
--- a/thumbnail/thumbnail.cpp
+++ b/thumbnail/thumbnail.cpp
@@ -118,7 +118,7 @@ extern "C" Q_DECL_EXPORT int kdemain( int argc, char **argv )
// and HTML previews need even KApplication :(
putenv(strdup("SESSION_MANAGER="));
- QCoreApplication app( argc, argv);
+ QGuiApplication app(argc, argv);
#endif
--
2.1.2

View File

@ -0,0 +1,30 @@
From 92bbcc70d6aa753757c38bb8747f48e9218bacfc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Tinkl?= <lukas@kde.org>
Date: Wed, 8 Oct 2014 21:50:27 +0200
Subject: [PATCH 3/5] don't screw up the filenames
save in hex format, just like KIO::filePreview does and what's
mandated by the thumbnail spec:
http://specifications.freedesktop.org/thumbnail-spec/thumbnail-spec-latest.html#THUMBSAVE
(cherry picked from commit 9ddd3441cfca384d73a57ca560bddb19410e460a)
---
thumbnail/thumbnail.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/thumbnail/thumbnail.cpp b/thumbnail/thumbnail.cpp
index d4a7f35014af21fb1dacaea59128ac7373e6805b..39e8de58d6312cc2ee4eab141470bd88bede809e 100644
--- a/thumbnail/thumbnail.cpp
+++ b/thumbnail/thumbnail.cpp
@@ -711,7 +711,7 @@ bool ThumbnailProtocol::createSubThumbnail(QImage& thumbnail, const QString& fil
int cacheSize = 0;
QCryptographicHash md5(QCryptographicHash::Md5);
md5.addData(QFile::encodeName(fileName.url()));
- const QString thumbName = QFile::encodeName(md5.result()) + ".png";
+ const QString thumbName = QFile::encodeName(md5.result().toHex()) + ".png";
if (m_thumbBasePath.isEmpty()) {
m_thumbBasePath = QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation) + QLatin1String("/thumbnails/");
--
2.1.2

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,38 @@
From b85ebdb74fd25916749e72f8db37c6f1818da62c Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <rakuco@FreeBSD.org>
Date: Thu, 30 Oct 2014 14:33:33 +0200
Subject: [PATCH 5/5] kio_sftp: Use the right type for timeout_sec and
timeout_usec.
libssh expects the values passed to the SSH_OPTIONS_TIMEOUT and
SSH_OPTIONS_TIMEOUT_USEC to be longs, not plain ints.
On 64-bit platforms with sizeof(long) > sizeof(int), this mismatch can
be problematic and potentially result in invalid memory access that
causes the calls to ssh_options_set() to fail.
Forward-ported from kde-runtime/3dc39e92d34b3612e90f7a0b34d5d845a7af0b72.
CCBUG: 331674
REVIEW: 120900
(cherry picked from commit 3662f8beb435807a9ebc99ec722a877a5877b3fd)
---
sftp/kio_sftp.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sftp/kio_sftp.cpp b/sftp/kio_sftp.cpp
index 2e0e825a1502f7b7f1c7e9c0c7548bb596cdb3f2..e6849b7f3e24a74cfdef8027edc1102cee7fd4b6 100644
--- a/sftp/kio_sftp.cpp
+++ b/sftp/kio_sftp.cpp
@@ -528,7 +528,7 @@ bool sftpProtocol::sftpOpenConnection (const AuthInfo& info)
return false;
}
- int timeout_sec = 30, timeout_usec = 0;
+ long timeout_sec = 30, timeout_usec = 0;
kDebug(KIO_SFTP_DB) << "Creating the SSH session and setting options";
--
2.1.2

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d654a1d1a16194798ba9b1e64e526ff431636f0b710cb496268070559a23f49c
size 480740

3
kio-extras-5.1.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a97b519bdb83a721c83732dee5fa72dc2116eb3e5a3eb1904d8f66fb6d0a1b15
size 485648

View File

@ -1,3 +1,25 @@
-------------------------------------------------------------------
Thu Nov 6 20:14:13 UTC 2014 - hrvoje.senjan@gmail.com
- Update to 5.1.1:
* Bugfix release
* For more details please see:
https://www.kde.org/announcements/plasma-5.1.1.php
- Added patches from upstream:
0001-Port-comicbook-thumbnailer-to-KF5.patch,
0002-Port-textcreator-thumbnailer.patch (kde#339456),
0003-don-t-screw-up-the-filenames.patch,
0004-Added-support-for-NFSv3-major-refactoring-fixed-bugs.patch
(kde#268797, kde#309113)
0005-kio_sftp-Use-the-right-type-for-timeout_sec-and-time.patch
(kde#331674)
- Added kpty-devel BuildRequires
-------------------------------------------------------------------
Sat Oct 25 17:31:33 UTC 2014 - hrvoje.senjan@gmail.com
- Recommend lang subpackage
-------------------------------------------------------------------
Thu Oct 9 21:24:30 UTC 2014 - hrvoje.senjan@gmail.com

View File

@ -17,14 +17,24 @@
Name: kio-extras5
Version: 5.1.0
Version: 5.1.1
Release: 0
Summary: Additional KIO-slaves for KDE applications
License: GPL-2.0+
Group: System/GUI/KDE
Url: http://www.kde.org
Source: kio-extras-%{version}.1.tar.xz
Source: kio-extras-%{version}.tar.xz
Source99: %{name}-rpmlintrc
# PATCH-FIX-UPSTREAM 0001-Port-comicbook-thumbnailer-to-KF5.patch
Patch0: 0001-Port-comicbook-thumbnailer-to-KF5.patch
# PATCH-FIX-UPSTREAM 0002-Port-textcreator-thumbnailer.patch
Patch1: 0002-Port-textcreator-thumbnailer.patch
# PATCH-FIX-UPSTREAM 0003-don-t-screw-up-the-filenames.patch
Patch2: 0003-don-t-screw-up-the-filenames.patch
# PATCH-FIX-UPSTREAM 0004-Added-support-for-NFSv3-major-refactoring-fixed-bugs.patch
Patch3: 0004-Added-support-for-NFSv3-major-refactoring-fixed-bugs.patch
# PATCH-FIX-UPSTREAM 0005-kio_sftp-Use-the-right-type-for-timeout_sec-and-time.patch
Patch4: 0005-kio_sftp-Use-the-right-type-for-timeout_sec-and-time.patch
BuildRequires: OpenEXR-devel
BuildRequires: karchive-devel
BuildRequires: kconfig-devel
@ -39,6 +49,7 @@ BuildRequires: khtml-devel
BuildRequires: ki18n-devel
BuildRequires: kiconthemes-devel
BuildRequires: kio-devel
BuildRequires: kpty-devel
BuildRequires: libjpeg-devel
BuildRequires: libssh-devel
BuildRequires: openslp-devel
@ -56,6 +67,7 @@ BuildRequires: pkgconfig(smbclient)
# we want some imageformats in
Recommends: libqt5-qtimageformats
Recommends: kimageformats
Recommends: %{name}-lang
#BuildRequires: update-desktop-files
Provides: kfileaudiopreview = 4.100.0
Obsoletes: kfileaudiopreview <= 4.100.0
@ -67,6 +79,11 @@ Additional KIO-slaves for KDE applications.
%lang_package
%prep
%setup -q -n kio-extras-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
sed -i '/^add_subdirectory( doc )/d' CMakeLists.txt
%build