Project

General

Profile

Freedom issue #2117

[marble]: depends on qt5-webengine

dllud - 7 months ago - . Updated 5 months ago.

Status:
fixed
Priority:
freedom issue
Assignee:
% Done:

100%


Description

One more fatality of the great Chromium purge (#1167).
With the update to version 18.12.0, marble-common (a dependency of marble and marble-qt) now depends on qt5-webengine. All these packages are now broken on Parabola and should be removed from the repos.

(It seems that, one by one, Parabola will be left with nothing more than command-line tools.)


Related issues

Related to Packages - Freedom issue #1167: [chromium][qt5-webengine][electron] QTWebgine/Electron embeds "entire Chromium platform"confirmed

Actions

History

#1

Updated by freemor 7 months ago

Or perhaps we should just pull all of KDE as it is mostly based on QT and there is a lot of this, "Thing that has no business needing web browser functionality suddenly requires most of Chrome (qt-webengine)" .

I understand I'd be a serious blow to those using KDE but the fact is it's facing a creeping death already as one bit after another fall to this.

I can understand @dllud's and/or KDE users frustration. It's gotta be hugely annoying to watch as pieces keep falling off you DE.

#2

Updated by dllud 7 months ago

CMakeLists.txt:131 from marble-18.12.0.tar.xz [1] shows that this package should build nicely without webengine.

 find_package(Qt5 ${REQUIRED_QT_VERSION}
        COMPONENTS
            WebEngine
            WebEngineWidgets
    )

   if ( NOT Qt5WebEngineWidgets_FOUND )
     set ( MARBLE_NO_WEBKITWIDGETS TRUE )
   endif()

I will give it a go and report back.

[1] https://download.kde.org/stable/applications/18.12.0//src/marble-18.12.0.tar.xz

#3

Updated by dllud 7 months ago

Built successfully without qt5-webengine. I am now running marble-qt with no issues so far. Thus no need to remove these packages, but you will have to rebuild them.

On the PKGBUILD, besides removing qt5-webengine, I also had to take out some rm commands because I was getting cannot remove XXX errors. Not sure if it was the right thing to do. I am pasting the full diff bellow.

This should be easy to put into ABSLibre. Can someone do it? Otherwise, if you would like me to put it into ABSLibre or a personal repo, please instruct on how should I get the necessary push permissions.

diff --git a/marble/trunk/PKGBUILD b/marble/trunk/PKGBUILD
index 4e6ddff..b5f0237 100644
--- a/marble/trunk/PKGBUILD
+++ b/marble/trunk/PKGBUILD
@@ -13,7 +13,7 @@ arch=(x86_64)
 url="https://www.kde.org/applications/system/marble" 
 license=(GPL)
 makedepends=(extra-cmake-modules gpsd kdoctools knewstuff kparts krunner libwlocate phonon-qt5
-             plasma-workspace qt5-serialport qt5-tools qt5-webengine shapelib)
+             plasma-workspace qt5-serialport qt5-tools shapelib)
 source=("https://download.kde.org/stable/applications/$pkgver/src/$pkgbase-$pkgver.tar.xz"{,.>
 sha256sums=('db39df148d327a61fd6080d4b3e55c8734762e4042c98386229fe3fbbcd85f52'
             'SKIP')
@@ -40,7 +40,7 @@ build() {

 package_marble-common() {
   pkgdesc='Common libraries and plugins for Marble'
-  depends=(qt5-svg qt5-webengine phonon-qt5 desktop-file-utils)
+  depends=(qt5-svg phonon-qt5 desktop-file-utils)
   optdepends=('gpsd: GPS based geolocation'
               'libwlocate: WLAN based geolocation'
               'qt5-serialport: APRS plugin'
@@ -50,13 +50,11 @@ package_marble-common() {

   cd build
   make DESTDIR="$pkgdir" install
-  rm -r "$pkgdir"/usr/share/{config.kcfg,kxmlgui5,metainfo,plasma} \
+  rm -r "$pkgdir"/usr/share/{metainfo,plasma} \
         "$pkgdir"/usr/bin \
-        "$pkgdir"/etc \
         "$pkgdir"/usr/lib/qt/{qml,plugins/*.so} \
-        "$pkgdir"/usr/share/applications/{marble_geo.desktop,marble_worldwind.desktop,org.kde>
-        "$pkgdir"/usr/share/kservices5/{marble_part.desktop,plasma*} \
-        "$pkgdir"/usr/share/locale/*/LC_MESSAGES/*.mo
+        "$pkgdir"/usr/share/applications/org.kde.marble*.desktop \
+        "$pkgdir"/usr/share/kservices5/plasma* 
 }

 package_marble-qt() {
@@ -77,5 +75,4 @@ package_marble() {
   make -C src/plasma DESTDIR="$pkgdir" install
   make -C src/plasmarunner DESTDIR="$pkgdir" install
   make -C src/thumbnailer DESTDIR="$pkgdir" install
-  rm -r "$pkgdir"/usr/share/{icons,doc/HTML}
 }
#4

Updated by bill-auger 7 months ago

  • Priority changed from bug to freedom issue
  • Subject changed from marble depends on qt5-webengine to [marble[: depends on qt5-webengine

good job, dllud

the 'qt5-webengine' dependency is actually associated with 'marble-common'; which is required by 'marble'

the bigger issue with this, is that 'marble' is in both the 'kde-applications' and 'kdeedu' package groups, and a hard dependency of 'kdeedu-meta'; so there could be a cascading effect of its removal

freemor wrote:

Or perhaps we should just pull all of KDE as it is mostly based on QT and there is a lot of this, "Thing that has no business needing web browser functionality suddenly requires most of Chrome (qt-webengine)" .

that has been discussed in the past - it was decided that we would keep supporting KDE until it became impossible, which very well could happen at the proliferation rate of this insane "every application needs an embedded web browser" trend

a few months ago, lucid-eagle tried to make a parabola/KDE liveISO - he had some real issues with it but with some manual intervention it was still possible to run most of KDE on parabola

#5

Updated by bill-auger 7 months ago

  • Related to Freedom issue #1167: [chromium][qt5-webengine][electron] QTWebgine/Electron embeds "entire Chromium platform" added
#6

Updated by dllud 7 months ago

there could be a cascading effect of its removal

There's no need to remove this one in particular. Removing qt5-webengine from the PKGBUILD as I mentioned above works and delivers all 3 packages (marble, marble-qt and marble-common) in a usable state.

Please tell me whether some dev can add this to ABSLibre, or if and how I can do it myself.

It is worthwhile to check if other KDE applications also have soft dependencies on qt5-webengine like Marble.

#7

Updated by bill-auger 7 months ago

  • Subject changed from [marble[: depends on qt5-webengine to [marble]: depends on qt5-webengine

yes you did good - someone will get to this at the next convenience

keep in mind that this is a relatively low-priority concern - the core 'base' system is non-graphical; so there are no essential packages that could possibly use 'qt5-webengine'; and anyone who has such a package installed, can most likely continue to use it indefinitely - they just wont get any upgrades - for that same reason, there is little value in identifying every package that depends on 'qt5-webengine', because they would necessarily be impossible to actually install - the only noticeable effect of removing them, is that pacman would not index them

#8

Updated by dllud 7 months ago

(Thanks for the prompt reply.)

this is a very low-priority concern

I understand. I had an issue with it though:

pacman -Syu upgraded marble-qt but failed to upgrade marble-common due to the missing dependency. I was left with mismatching versions of these two packages on my system. (There seems to be no constraint to keep both packages at the same version.) I could still run Marble with no apparent issue, but I guess that won't always be the case if these two package keep drifting apart.

#9

Updated by bill-auger 7 months ago

yes that is an unfortunate policy of QT to modularlize everything the way they do - it is a good idea in theory; but in practice, most of the modules end up be tightly coupled to the same version of the others, negating much of the benefits of modularization - the primary effect of which being no more than long dependency lists for most QT packages

#10

Updated by oaken-source 5 months ago

  • Assignee set to oaken-source
  • Status changed from open to in progress

I'm currently building marble-common without the qt5-webengine dependency.

#11

Updated by oaken-source 5 months ago

  • % Done changed from 0 to 100
  • Status changed from in progress to fixed

marble-common without a qt5-webengine dependency is in [libre] now.

#12

Updated by dllud 5 months ago

Thanks! Shouldn't it be removed/filtered from [extra]?

pacman -Ss marble-common
libre/marble-common 18.12.2-1.parabola1
    Common libraries and plugins for Marble
extra/marble-common 18.12.2-1
    Common libraries and plugins for Marble
#13

Updated by oaken-source 5 months ago

it is. this will sort itself out with the next repo update tonight.

Also available in: Atom PDF