Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian....@packages.debian.org
Usertags: pu

QtWebKit support was removed from PyQt4 as part of an attempt to (originally)
remove it for stretch and later reduce its use to a minimum due to scads of
unfixed security issues (QtWebKit for Qt4 has been unmaintained upstream for
quite some time).  I neglected to remove QtWebKit usages from PyKDE4 before
release (see the bug this fixes).

All this patch does is remove usage of the not available functionality so that
the bindings work at all.  Regression risk is nil.  The same change is already
in sid and buster with no issues reported.

The package is ready to upload.  I would appreciate an ack in time to get this
in for 9.1 (but understand that I might not get that).

Debdiff attached.

Thanks,

Scott K
diff -Nru pykde4-4.14.3/debian/changelog pykde4-4.14.3/debian/changelog
--- pykde4-4.14.3/debian/changelog	2016-06-29 13:54:34.000000000 -0400
+++ pykde4-4.14.3/debian/changelog	2017-07-10 14:01:23.000000000 -0400
@@ -1,3 +1,13 @@
+pykde4 (4:4.14.3-2+deb9u1) stable; urgency=medium
+
+  * Team upload.
+  * Drop bindings for plasma webview bindings: No longer functional due to
+    QtWebKit being dropped from PyQt4 and obsolete (Closes: #865861)
+    - Add debian/patches/no_webview_webkit.patch
+    - Drop libqtwebkit-dev from build-depends
+
+ -- Scott Kitterman <sc...@kitterman.com>  Mon, 10 Jul 2017 14:00:50 -0400
+
 pykde4 (4:4.14.3-2) unstable; urgency=medium
 
   * Team upload.
diff -Nru pykde4-4.14.3/debian/control pykde4-4.14.3/debian/control
--- pykde4-4.14.3/debian/control	2016-06-26 01:05:03.000000000 -0400
+++ pykde4-4.14.3/debian/control	2017-06-26 14:52:30.000000000 -0400
@@ -10,7 +10,6 @@
                libphonon-dev (>= 4:4.6.0really4.4.4),
                libqt4-dev (>= 4:4.7.1),
                libqt4-opengl-dev (>= 4:4.7.1),
-               libqtwebkit-dev,
                libsoprano-dev (>= 2.7.0),
                pkg-config,
                pkg-kde-tools (>= 0.12),
diff -Nru pykde4-4.14.3/debian/patches/no_webview_webkit.patch pykde4-4.14.3/debian/patches/no_webview_webkit.patch
--- pykde4-4.14.3/debian/patches/no_webview_webkit.patch	1969-12-31 19:00:00.000000000 -0500
+++ pykde4-4.14.3/debian/patches/no_webview_webkit.patch	2017-06-26 14:52:30.000000000 -0400
@@ -0,0 +1,158 @@
+--- pykde4-4.14.3.orig/CMakeLists.txt
++++ pykde4-4.14.3/CMakeLists.txt
+@@ -91,7 +91,6 @@ include_directories(
+     ${QT_QTSQL_INCLUDE_DIR}
+     ${QT_QTXML_INCLUDE_DIR}
+     ${QT_QTSVG_INCLUDE_DIR}
+-    ${QT_QTWEBKIT_INCLUDE_DIR}
+     ${KDE4_INCLUDE_DIR}
+     ${KDE4_INCLUDE_DIR}/solid
+     ${KDE4_INCLUDE_DIR}/kio
+--- pykde4-4.14.3.orig/sip/plasma/abstractrunner.sip
++++ pykde4-4.14.3/sip/plasma/abstractrunner.sip
+@@ -94,7 +94,6 @@
+ #include <plasma/view.h>
+ #include <plasma/wallpaper.h>
+ #include <plasma/scripting/wallpaperscript.h>
+-#include <plasma/widgets/webview.h>
+ %End
+ 
+ namespace Plasma
+@@ -288,8 +287,6 @@ protected:
+         sipType = sipType_Plasma_SvgWidget;
+     else if (dynamic_cast<Plasma::TabBar*>(sipCpp))
+         sipType = sipType_Plasma_TabBar;
+-    else if (dynamic_cast<Plasma::WebView*>(sipCpp))
+-        sipType = sipType_Plasma_WebView;
+     else if (dynamic_cast<Plasma::CheckBox*>(sipCpp))
+         sipType = sipType_Plasma_CheckBox;
+     else if (dynamic_cast<Plasma::ComboBox*>(sipCpp))
+--- pykde4-4.14.3.orig/sip/plasma/animation.sip
++++ pykde4-4.14.3/sip/plasma/animation.sip
+@@ -163,8 +163,6 @@ protected:
+         sipType = sipType_Plasma_SvgWidget;
+     else if (dynamic_cast<Plasma::TabBar*>(sipCpp))
+         sipType = sipType_Plasma_TabBar;
+-    else if (dynamic_cast<Plasma::WebView*>(sipCpp))
+-        sipType = sipType_Plasma_WebView;
+     else if (dynamic_cast<Plasma::CheckBox*>(sipCpp))
+         sipType = sipType_Plasma_CheckBox;
+     else if (dynamic_cast<Plasma::ComboBox*>(sipCpp))
+@@ -292,5 +290,4 @@ public:
+ #include <plasma/view.h>
+ #include <plasma/wallpaper.h>
+ #include <plasma/scripting/wallpaperscript.h>
+-#include <plasma/widgets/webview.h>
+ %End
+--- pykde4-4.14.3.orig/sip/plasma/plasmamod.sip
++++ pykde4-4.14.3/sip/plasma/plasmamod.sip
+@@ -27,7 +27,6 @@
+ %Import QtGui/QtGuimod.sip
+ %Import QtNetwork/QtNetworkmod.sip
+ %Import QtSvg/QtSvgmod.sip
+-%Import QtWebKit/QtWebKitmod.sip
+ %Import QtXml/QtXmlmod.sip
+ %Import QtDeclarative/QtDeclarativemod.sip
+ %Import QtScript/QtScriptmod.sip
+@@ -116,5 +115,4 @@
+ %Include toolbutton.sip
+ %Include treeview.sip
+ %Include videowidget.sip
+-%Include webview.sip
+ %Include windoweffects.sip
+--- pykde4-4.14.3.orig/sip/plasma/webview.sip
++++ /dev/null
+@@ -1,93 +0,0 @@
+-// Copyright 2008 Simon Edwards <si...@simonzone.com>
+-
+-//                 Generated by twine
+-
+-// This program is free software; you can redistribute it and/or modify
+-// it under the terms of the GNU Library General Public License as
+-// published by the Free Software Foundation; either version 2, or
+-// (at your option) any later version.
+-
+-// This program is distributed in the hope that it will be useful,
+-// but WITHOUT ANY WARRANTY; without even the implied warranty of
+-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-// GNU General Public License for more details
+-
+-// You should have received a copy of the GNU Library General Public
+-// License along with this program; if not, write to the
+-// Free Software Foundation, Inc.,
+-// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+-
+-
+-namespace Plasma
+-{
+-
+-class WebView : QGraphicsWidget
+-{
+-%TypeHeaderCode
+-#include <plasma/widgets/webview.h>
+-%End
+-
+-
+-public:
+-    explicit                WebView (QGraphicsItem* parent = 0);
+-    void                    setUrl (const KUrl& url);
+-    KUrl                    url () const;
+-//ig    void                    setHtml (const QByteArray& html, const KUrl& baseUrl = KUrl());
+-    QString                 html () const;
+-    void                    setHtml (const QString& html, const KUrl& baseUrl = KUrl());
+-    QRectF                  geometry () const;
+-    void                    setPage (QWebPage* page);
+-    QWebPage*               page () const;
+-    QWebFrame*              mainFrame () const;
+-    void                    setDragToScroll (bool drag);
+-    bool                    dragToScroll ();
+-    void                    setGeometry (const QRectF& geometry);
+-
+-signals:
+-    void                    loadProgress (int percent);
+-    void                    loadFinished (bool success);
+-
+-protected:
+-    void                    paint (QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0);
+-    void                    mouseMoveEvent (QGraphicsSceneMouseEvent* event);
+-    void                    hoverMoveEvent (QGraphicsSceneHoverEvent* event);
+-    void                    mousePressEvent (QGraphicsSceneMouseEvent* event);
+-    void                    mouseDoubleClickEvent (QGraphicsSceneMouseEvent* event);
+-    void                    mouseReleaseEvent (QGraphicsSceneMouseEvent* event);
+-    void                    contextMenuEvent (QGraphicsSceneContextMenuEvent* event);
+-    void                    wheelEvent (QGraphicsSceneWheelEvent* event);
+-    void                    keyPressEvent (QKeyEvent* event);
+-    void                    keyReleaseEvent (QKeyEvent* event);
+-    void                    focusInEvent (QFocusEvent* event);
+-    void                    focusOutEvent (QFocusEvent* event);
+-    void                    dragEnterEvent (QGraphicsSceneDragDropEvent* event);
+-    void                    dragLeaveEvent (QGraphicsSceneDragDropEvent* event);
+-    void                    dragMoveEvent (QGraphicsSceneDragDropEvent* event);
+-    void                    dropEvent (QGraphicsSceneDragDropEvent* event);
+-public:
+-    ~WebView ();
+-    QSizeF                  contentsSize () const;
+-    void                    setScrollPosition (const QPointF& position);
+-    QPointF                 scrollPosition () const;
+-    QRectF                  viewportGeometry () const;
+-protected:
+-    QSizeF                  sizeHint (Qt::SizeHint which, const QSizeF& constraint) const;
+-public:
+-    qreal                   zoomFactor () const;
+-    void                    setZoomFactor (const qreal zoom);
+-protected:
+-    QVariant                itemChange (QGraphicsItem::GraphicsItemChange change, const QVariant& value);
+-public:
+-    void                    back ();
+-    void                    forward ();
+-    void                    reload ();
+-    void                    stop ();
+-signals:
+-    void                    urlChanged (const QUrl& url);
+-};
+-// WebView
+-
+-};
+-// Plasma
+-
+-
diff -Nru pykde4-4.14.3/debian/patches/series pykde4-4.14.3/debian/patches/series
--- pykde4-4.14.3/debian/patches/series	2013-07-13 09:05:07.000000000 -0400
+++ pykde4-4.14.3/debian/patches/series	2017-06-26 14:52:30.000000000 -0400
@@ -8,3 +8,4 @@
 cmake_no_bytecode.diff
 pythonpluginfactory_python3.diff
 kpythonpluginfactory_3.2support.diff
+no_webview_webkit.patch

Reply via email to