Removing qtwebengine from a Gentoo Linux installation
March 9, 2021 2 Comments
At the beginning of March I updated the world set in Gentoo Testing (~amd64) running the KDE suite (Plasma, Frameworks and Applications) on my secondary laptop, an eleven-year-old Compal NBLB2. It has a first-generation Core i7 CPU and the maximum amount of RAM that can be installed in that model (8 GB).
root # uname -a
Linux meshedgedx 5.0.11-gentoo #1 SMP Fri Jun 7 15:33:06 BST 2019 x86_64 Intel(R) Core(TM) i7 CPU Q 720 @ 1.60GHz GenuineIntel GNU/Linux
Gentoo Linux being a source-based distribution, updates to the largest packages take hours to build on older machines. Actually, some packages can take hours to build on newer machines too. On this older laptop I therefore merge the www-client/firefox-bin
binary package instead of the www-client/firefox
source-code package, and have installed Microsoft Office 2007 running in WINE instead of trying to merge the app-office/libreoffice
source-code package (app-office/libreoffice-bin
cannot be merged in this Testing installation because of incompatibility with the versions of installed dependencies, so it would only be a viable alternative binary package in a Stable installation).
Possibly the worst source-code package to build is dev-qt/qtwebengine
. Nowadays it takes a ridiculous amount of time to build on this laptop, even with the jumbo-build
USE flag set and MAKEOPTS="-j4"
or even MAKEOPTS="-j1"
. The latest merge on the laptop took more than 14 hours:
root # genlop -t qtwebengine | tail -n 3
Fri Mar 5 02:02:07 2021 >>> dev-qt/qtwebengine-5.15.2_p20210224
merge time: 14 hours, 14 minutes and 7 seconds.
That is actually quite fast for that laptop; qtwebengine
has sometimes taken two days to merge in the past.
What a waste of time and electricity, not to mention the unnecessary wear on the laptop (fan bearing; prolonged heat on components; etc.).
This one package is such a hassle to merge that it had me wondering if I should switch from Gentoo Linux to a binary distribution. Even on my six-year-old Compal W230SS laptop with a fourth-generation Core i7 CPU and 16 GB of RAM, qtwebengine
takes circa five hours to merge. After several years putting up with this scourge of source-based Linux distributions on my secondary laptop, I had finally had enough and decided to excise the package, which did not look like an easy task with the full KDE suite installed. This is how I did it…
1. First I made sure the installation was up-to-date (see my earlier post ‘My system upgrade procedure for Gentoo Linux‘ for the steps I normally use to update all packages to their latest versions).
2. I ascertained which packages depended on qtwebengine
:
root # equery depends qtwebengine
* These packages depend on qtwebengine:
kde-apps/kaccounts-providers-20.12.2 (>=dev-qt/qtwebengine-5.15.2:5)
kde-apps/kalgebra-20.12.2 (>=dev-qt/qtwebengine-5.15.2:5[widgets])
kde-apps/kdenlive-20.12.2 (webengine ? >=dev-qt/qtwebengine-5.15.2:5)
kde-apps/kimagemapeditor-20.12.2 (>=dev-qt/qtwebengine-5.15.2:5[widgets])
kde-apps/ktp-text-ui-20.12.2 (>=dev-qt/qtwebengine-5.15.2:5[widgets])
kde-apps/marble-20.12.2 (webengine ? >=dev-qt/qtwebengine-5.15.2:5[widgets])
kde-apps/parley-20.12.2 (>=dev-qt/qtwebengine-5.15.2:5[widgets])
kde-plasma/kdeplasma-addons-5.21.1 (webengine ? >=dev-qt/qtwebengine-5.15.2:5)
kde-plasma/libksysguard-5.21.1 (webengine ? >=dev-qt/qtwebengine-5.15.2:5)
net-libs/signon-ui-0.15_p20171022-r1 (dev-qt/qtwebengine:5)
net-p2p/ktorrent-20.12.2 (rss ? >=dev-qt/qtwebengine-5.15.2:5)
(webengine ? >=dev-qt/qtwebengine-5.15.2:5)
www-client/falkon-3.1.0-r1 (>=dev-qt/qtwebengine-5.12.3:5[widgets])
3. I disabled the USE flag ‘webengine
‘ globally:
root # nano /etc/portage/make.conf # Add -webengine to the list of USE flags
4. I merged the world set in order to incorporate the USE flag change:
root # emerge -uvDN @world
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] kde-apps/marble-20.12.2:5/20.12::gentoo USE="dbus geolocation kde nls pbf phonon -aprs -debug -designer -gps -handbook -shapefile -test -webengine*" 0 KiB
[ebuild R ] kde-apps/kdeedu-meta-20.12.2:5::gentoo USE="-webengine*" 0 KiB
[ebuild R ] kde-apps/kdecore-meta-20.12.2:5::gentoo USE="share thumbnail -handbook -webengine*" 0 KiB
[ebuild R ] net-p2p/ktorrent-20.12.2:5::gentoo USE="bwscheduler downloadorder infowidget ipfilter kross logviewer magnetgenerator mediaplayer rss scanfolder shutdown stats upnp zeroconf -debug -handbook -test -webengine*" 0 KiB
[ebuild R ] kde-apps/kdenetwork-meta-20.12.2:5::gentoo USE="bittorrent -dropbox -webengine*" 0 KiB
[ebuild R ] kde-apps/kdeutils-meta-20.12.2:5::gentoo USE="cups rar -7zip -floppy -gpg -lrz -webengine*" 0 KiB
Total: 6 packages (6 reinstalls), Size of downloads: 0 KiB
>>> Verifying ebuild manifests
>>> Emerging (1 of 6) kde-apps/marble-20.12.2::gentoo
>>> Emerging (2 of 6) kde-apps/kdecore-meta-20.12.2::gentoo
>>> Emerging (3 of 6) net-p2p/ktorrent-20.12.2::gentoo
>>> Emerging (4 of 6) kde-apps/kdeutils-meta-20.12.2::gentoo
>>> Installing (2 of 6) kde-apps/kdecore-meta-20.12.2::gentoo
>>> Installing (4 of 6) kde-apps/kdeutils-meta-20.12.2::gentoo
>>> Installing (3 of 6) net-p2p/ktorrent-20.12.2::gentoo
>>> Emerging (5 of 6) kde-apps/kdenetwork-meta-20.12.2::gentoo
>>> Installing (5 of 6) kde-apps/kdenetwork-meta-20.12.2::gentoo
>>> Installing (1 of 6) kde-apps/marble-20.12.2::gentoo
>>> Emerging (6 of 6) kde-apps/kdeedu-meta-20.12.2::gentoo
>>> Installing (6 of 6) kde-apps/kdeedu-meta-20.12.2::gentoo
>>> Jobs: 6 of 6 complete Load avg: 1.93, 3.62, 3.86
>>> Auto-cleaning packages...
>>> No outdated packages were found on your system.
* GNU info directory index is up-to-date.
* After world updates, it is important to remove obsolete packages with
* emerge --depclean. Refer to `man emerge` for more information.
5. I uninstalled packages that were no longer required by any other packages and also not required by me (I do not use the Falkon browser, Telepathy and KAlgebra, to give a few examples, and so did not mind various specific packages being removed):
root # emerge --ask --depclean
* Always study the list of packages to be cleaned for any obvious
* mistakes. Packages that are part of the world set will always
* be kept. They can be manually added to this set with
* `emerge --noreplace `. Packages that are listed in
* package.provided (see portage(5)) will be removed by
* depclean, even if they are part of the world set.
*
* As a safety measure, depclean will not remove any packages
* unless *all* required dependencies have been resolved. As a
* consequence of this, it often becomes necessary to run
* `emerge --update --newuse --deep @world` prior to depclean.
Calculating dependencies... done!
>>> Calculating removal order...
>>> These are the packages that would be unmerged:
kde-apps/parley
selected: 20.12.2
protected: none
omitted: none
www-client/falkon
selected: 3.1.0-r1
protected: none
omitted: none
kde-apps/kimagemapeditor
selected: 20.12.2
protected: none
omitted: none
kde-apps/plasma-telepathy-meta
selected: 20.12.2
protected: none
omitted: none
kde-apps/kalgebra
selected: 20.12.2
protected: none
omitted: none
kde-apps/ktp-kded-module
selected: 20.12.2
protected: none
omitted: none
kde-apps/ktp-desktop-applets
selected: 20.12.2
protected: none
omitted: none
kde-apps/ktp-accounts-kcm
selected: 20.12.2
protected: none
omitted: none
kde-apps/ktp-send-file
selected: 20.12.2
protected: none
omitted: none
kde-apps/ktp-approver
selected: 20.12.2
protected: none
omitted: none
kde-apps/ktp-auth-handler
selected: 20.12.2
protected: none
omitted: none
kde-apps/ktp-contact-runner
selected: 20.12.2
protected: none
omitted: none
kde-apps/ktp-text-ui
selected: 20.12.2
protected: none
omitted: none
kde-apps/signon-kwallet-extension
selected: 20.12.2
protected: none
omitted: none
net-im/telepathy-connection-managers
selected: 2-r2
protected: none
omitted: none
kde-apps/ktp-filetransfer-handler
selected: 20.12.2
protected: none
omitted: none
kde-apps/ktp-contact-list
selected: 20.12.2
protected: none
omitted: none
net-irc/telepathy-idle
selected: 0.2.0-r3
protected: none
omitted: none
net-voip/telepathy-salut
selected: 0.8.1-r3
protected: none
omitted: none
net-voip/telepathy-gabble
selected: 0.18.4-r2
protected: none
omitted: none
kde-apps/ktp-common-internals
selected: 20.12.2
protected: none
omitted: none
net-libs/telepathy-accounts-signon
selected: 2.1
protected: none
omitted: none
net-libs/libnice
selected: 0.1.15
protected: none
omitted: none
net-libs/telepathy-logger-qt
selected: 17.09.0
protected: none
omitted: none
net-im/telepathy-logger
selected: 0.8.2-r1
protected: none
omitted: none
net-libs/gupnp-igd
selected: 0.2.5-r10
protected: none
omitted: none
net-libs/libsignon-glib
selected: 2.1
protected: none
omitted: none
net-libs/telepathy-qt
selected: 0.9.8
protected: none
omitted: none
net-libs/gupnp
selected: 1.2.4
protected: none
omitted: none
net-libs/gssdp
selected: 1.2.3
protected: none
omitted: none
net-libs/libsoup
selected: 2.70.0
protected: none
omitted: none
net-libs/libpsl
selected: 0.21.1
protected: none
omitted: none
net-libs/glib-networking
selected: 2.66.0
protected: none
omitted: none
net-im/telepathy-mission-control
selected: 5.16.5
protected: none
omitted: none
net-libs/telepathy-glib
selected: 0.24.1-r1
protected: none
omitted: none
All selected packages: =kde-apps/ktp-desktop-applets-20.12.2 =kde-apps/ktp-contact-runner-20.12.2 =kde-apps/ktp-contact-list-20.12.2 =net-libs/telepathy-accounts-signon-2.1 =net-libs/telepathy-glib-0.24.1-r1 =net-voip/telepathy-salut-0.8.1-r3 =kde-apps/ktp-text-ui-20.12.2 =net-libs/libsignon-glib-2.1 =net-im/telepathy-connection-managers-2-r2 =kde-apps/ktp-accounts-kcm-20.12.2 =kde-apps/kimagemapeditor-20.12.2 =kde-apps/ktp-common-internals-20.12.2 =kde-apps/parley-20.12.2 =net-libs/libnice-0.1.15 =net-libs/libsoup-2.70.0 =kde-apps/ktp-auth-handler-20.12.2 =net-libs/gssdp-1.2.3 =net-irc/telepathy-idle-0.2.0-r3 =net-libs/libpsl-0.21.1 =kde-apps/kalgebra-20.12.2 =net-libs/gupnp-igd-0.2.5-r10 =kde-apps/ktp-filetransfer-handler-20.12.2 =kde-apps/ktp-send-file-20.12.2 =net-libs/gupnp-1.2.4 =kde-apps/ktp-kded-module-20.12.2 =net-im/telepathy-mission-control-5.16.5 =kde-apps/plasma-telepathy-meta-20.12.2 =net-voip/telepathy-gabble-0.18.4-r2 =net-im/telepathy-logger-0.8.2-r1 =kde-apps/signon-kwallet-extension-20.12.2 =net-libs/telepathy-logger-qt-17.09.0 =net-libs/telepathy-qt-0.9.8 =net-libs/glib-networking-2.66.0 =kde-apps/ktp-approver-20.12.2 =www-client/falkon-3.1.0-r1
>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.
Would you like to unmerge these packages? [Yes/No] Yes
>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging (1 of 35) kde-apps/parley-20.12.2...
>>> Unmerging (2 of 35) www-client/falkon-3.1.0-r1...
>>> Unmerging (3 of 35) kde-apps/kimagemapeditor-20.12.2...
>>> Unmerging (4 of 35) kde-apps/plasma-telepathy-meta-20.12.2...
>>> Unmerging (5 of 35) kde-apps/kalgebra-20.12.2...
>>> Unmerging (6 of 35) kde-apps/ktp-kded-module-20.12.2...
>>> Unmerging (7 of 35) kde-apps/ktp-desktop-applets-20.12.2...
>>> Unmerging (8 of 35) kde-apps/ktp-accounts-kcm-20.12.2...
>>> Unmerging (9 of 35) kde-apps/ktp-send-file-20.12.2...
>>> Unmerging (10 of 35) kde-apps/ktp-approver-20.12.2...
>>> Unmerging (11 of 35) kde-apps/ktp-auth-handler-20.12.2...
>>> Unmerging (12 of 35) kde-apps/ktp-contact-runner-20.12.2...
>>> Unmerging (13 of 35) kde-apps/ktp-text-ui-20.12.2...
>>> Unmerging (14 of 35) kde-apps/signon-kwallet-extension-20.12.2...
>>> Unmerging (15 of 35) net-im/telepathy-connection-managers-2-r2...
>>> Unmerging (16 of 35) kde-apps/ktp-filetransfer-handler-20.12.2...
>>> Unmerging (17 of 35) kde-apps/ktp-contact-list-20.12.2...
>>> Unmerging (18 of 35) net-irc/telepathy-idle-0.2.0-r3...
>>> Unmerging (19 of 35) net-voip/telepathy-salut-0.8.1-r3...
>>> Unmerging (20 of 35) net-voip/telepathy-gabble-0.18.4-r2...
>>> Unmerging (21 of 35) kde-apps/ktp-common-internals-20.12.2...
>>> Unmerging (22 of 35) net-libs/telepathy-accounts-signon-2.1...
>>> Unmerging (23 of 35) net-libs/libnice-0.1.15...
>>> Unmerging (24 of 35) net-libs/telepathy-logger-qt-17.09.0...
>>> Unmerging (25 of 35) net-im/telepathy-logger-0.8.2-r1...
>>> Unmerging (26 of 35) net-libs/gupnp-igd-0.2.5-r10...
>>> Unmerging (27 of 35) net-libs/libsignon-glib-2.1...
>>> Unmerging (28 of 35) net-libs/telepathy-qt-0.9.8...
>>> Unmerging (29 of 35) net-libs/gupnp-1.2.4...
>>> Unmerging (30 of 35) net-libs/gssdp-1.2.3...
>>> Unmerging (31 of 35) net-libs/libsoup-2.70.0...
>>> Unmerging (32 of 35) net-libs/libpsl-0.21.1...
>>> Unmerging (33 of 35) net-libs/glib-networking-2.66.0...
>>> Unmerging (34 of 35) net-im/telepathy-mission-control-5.16.5...
>>> Unmerging (35 of 35) net-libs/telepathy-glib-0.24.1-r1...
Packages installed: 1651
Packages in world: 329
Packages in system: 43
Required packages: 1651
Number removed: 35
* GNU info directory index is up-to-date.
Notice that the package qtwebengine
had not been removed, so something still depended on it.
6. I checked if there were any packages still installed with a dependency on qtwebengine
:
root # equery depends qtwebengine
* These packages depend on qtwebengine:
kde-apps/kaccounts-providers-20.12.2 (>=dev-qt/qtwebengine-5.15.2:5)
kde-apps/kdenlive-20.12.2 (webengine ? >=dev-qt/qtwebengine-5.15.2:5)
kde-apps/marble-20.12.2 (webengine ? >=dev-qt/qtwebengine-5.15.2:5[widgets])
kde-plasma/kdeplasma-addons-5.21.1 (webengine ? >=dev-qt/qtwebengine-5.15.2:5)
kde-plasma/libksysguard-5.21.1 (webengine ? >=dev-qt/qtwebengine-5.15.2:5)
net-libs/signon-ui-0.15_p20171022-r1 (dev-qt/qtwebengine:5)
net-p2p/ktorrent-20.12.2 (rss ? >=dev-qt/qtwebengine-5.15.2:5)
(webengine ? >=dev-qt/qtwebengine-5.15.2:5)
As can be seen from the above output, the only remaining installed packages that ‘hard-depended’ on the ‘webengine
‘ USE flag were kde-apps/kaccounts-providers-20.12.2
and net-libs/signon-ui-0.15_p20171022-r1
.
Additionally, the package net-p2p/ktorrent-20.12.2
still depended on qtwebengine
because the rss
USE flag was enabled. So I added the line ‘net-p2p/ktorrent -rss
‘ to the file /etc/portage/package.use/package.use
and re-merged net-p2p/ktorrent
. Actually, I re-merged the following packages just in case they needed to be rebuilt, although in retrospect I believe that was unnecessary:
Fri Mar 5 05:37:26 2021 >>> kde-apps/kdecore-meta-20.12.2
Fri Mar 5 05:37:55 2021 >>> kde-apps/kdeutils-meta-20.12.2
Fri Mar 5 05:45:49 2021 >>> net-p2p/ktorrent-20.12.2
Fri Mar 5 05:46:49 2021 >>> kde-apps/kdenetwork-meta-20.12.2
Fri Mar 5 05:57:41 2021 >>> kde-apps/marble-20.12.2
Fri Mar 5 05:58:15 2021 >>> kde-apps/kdeedu-meta-20.12.2
7. By now another day had dawned, so I checked if new versions of the ebuilds for any KDE packages had been uploaded to the Portage repositories:
root # emaint sync -a
root # eix-update && updatedb
8. I rebooted the laptop and checked which packages still depended on qtwebengine
. It turned out that only the two packages with a hard-dependency on qtwebengine
were still preventing me from removing it:
root # equery depends qtwebengine
* These packages depend on qtwebengine:
kde-apps/kaccounts-providers-20.12.2 (>=dev-qt/qtwebengine-5.15.2:5)
net-libs/signon-ui-0.15_p20171022-r1 (dev-qt/qtwebengine:5)
9. I checked if any packages depended on those two packages:
root # equery depends kaccounts-providers
* These packages depend on kaccounts-providers:
kde-misc/kio-gdrive-20.12.2 (>=kde-apps/kaccounts-providers-20.12.2:5)
# equery depends kio-gdrive
* These packages depend on kio-gdrive:
kde-apps/kdenetwork-meta-20.12.2 (>=kde-misc/kio-gdrive-20.12.2:5)
root # equery depends signon-ui
* These packages depend on signon-ui:
kde-apps/kaccounts-providers-20.12.2 (net-libs/signon-ui)
So kdenetwork-meta
hard-depends on kio-gdrive
, which does not make much sense, really, given that not all KDE users have a Google Drive account and those users therefore do not need the kio-gdrive
package to be installed.
10. The contents of the kdenetwork-meta-20.12.3
ebuild look like this:
root # cat /usr/portage/kde-apps/kdenetwork-meta/kdenetwork-meta-20.12.3.ebuild
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="kdenetwork - merge this to pull in all kdenetwork-derived packages"
HOMEPAGE="https://kde.org/"
LICENSE="metapackage"
SLOT="5"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
IUSE="+bittorrent dropbox +webengine"
RDEPEND="
>=kde-apps/kdenetwork-filesharing-${PV}:${SLOT}
>=kde-apps/kget-${PV}:${SLOT}
>=kde-apps/kopete-${PV}:${SLOT}
>=kde-apps/krdc-${PV}:${SLOT}
>=kde-apps/krfb-${PV}:${SLOT}
>=kde-apps/zeroconf-ioslave-${PV}:${SLOT}
>=kde-misc/kdeconnect-${PV}:${SLOT}
>=kde-misc/kio-gdrive-${PV}:${SLOT}
>=net-irc/konversation-${PV}:${SLOT}
bittorrent? (
>=net-libs/libktorrent-${PV}:${SLOT}
>=net-p2p/ktorrent-${PV}:${SLOT}
)
dropbox? ( >=kde-apps/dolphin-plugins-dropbox-${PV}:${SLOT} )
"
so I created an ebuild for kdenetwork-meta-20.12.3
in my local overlay with the dependency on kio-gdrive
removed:
root # mkdir -p /usr/local/portage/kde-apps/kdenetwork-meta
root # cd /usr/local/portage/kde-apps/kdenetwork-meta
root # cp /usr/portage/kde-apps/kdenetwork-meta/kdenetwork-meta-20.12.3.ebuild .
root # nano kdenetwork-meta-20.12.3.ebuild # Delete the line containing ">=kde-misc/kio-gdrive-${PV}:${SLOT}"
root # ebuild kdenetwork-meta-20.12.3.ebuild manifest
>>> Creating Manifest for /usr/local/portage/kde-apps/kdenetwork-meta
root # # eix-update && updatedb
11. I re-merged the world set in order to update all KDE packages that now had a newer ebuild version:
root # emerge -uvDN @world
12. I rechecked the three packages that had depended on qtwebengine
:
root # equery depends signon-ui
* These packages depend on signon-ui:
kde-apps/kaccounts-providers-20.12.3 (net-libs/signon-ui)
root # equery depends kaccounts-providers
* These packages depend on kaccounts-providers:
kde-misc/kio-gdrive-20.12.3 (kaccounts ? >=kde-apps/kaccounts-providers-20.08.3:5)
root # equery depends kio-gdrive
* These packages depend on kio-gdrive:
root #
As can be seen above, my modified ebuild for kdenetwork-meta-20.12.3
had indeed removed the impediment to uninstalling kio-gdrive
and therefore the impediment to uninstalling kaccount-providers
and signon-ui
.
13. I merged my modified version of kdenetwork-meta-20.12.3
:
Up to this point kde-apps/kdenetwork-meta-20.12.3
had been merged from the main Portage tree:
root # eix -I kde-apps/kdenetwork-meta
[I] kde-apps/kdenetwork-meta
Available versions: (5) 20.08.3-r1 (~)20.12.3 (~)20.12.3[1]
{+bittorrent dropbox +webengine}
Installed versions: 20.12.3(5)(15:23:08 05/03/21)(bittorrent -dropbox -webengine)
Homepage: https://kde.org/
Description: kdenetwork - merge this to pull in all kdenetwork-derived packages
[1] "local_overlay" /usr/local/portage
I then merged the version from my local overlay:
root # emerge -1v kdenetwork-meta::local_overlay
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] kde-apps/kdenetwork-meta-20.12.3:5::local_overlay [20.12.3:5::gentoo] USE="bittorrent -dropbox -webengine" 0 KiB
Total: 1 package (1 reinstall), Size of downloads: 0 KiB
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) kde-apps/kdenetwork-meta-20.12.3::local_overlay
>>> Installing (1 of 1) kde-apps/kdenetwork-meta-20.12.3::local_overlay
>>> Jobs: 1 of 1 complete Load avg: 1.76, 0.88, 0.61
>>> Auto-cleaning packages...
>>> No outdated packages were found on your system.
* GNU info directory index is up-to-date.
root # eix -I kde-apps/kdenetwork-meta
[I] kde-apps/kdenetwork-meta
Available versions: (5) 20.08.3-r1 (~)20.12.3 (~)20.12.3[1]
{+bittorrent dropbox +webengine}
Installed versions: 20.12.3(5)[1](16:40:43 05/03/21)(bittorrent -dropbox -webengine)
Homepage: https://kde.org/
Description: kdenetwork - merge this to pull in all kdenetwork-derived packages
[1] "local_overlay" /usr/local/portage
14. I checked which packages still depended on qtwebengine
:
root # equery depends qtwebengine
* These packages depend on qtwebengine:
kde-apps/kaccounts-providers-20.12.3 (>=dev-qt/qtwebengine-5.15.2:5)
kde-apps/kdenlive-20.12.3 (webengine ? >=dev-qt/qtwebengine-5.15.2:5)
kde-apps/marble-20.12.3 (webengine ? >=dev-qt/qtwebengine-5.15.2:5[widgets])
kde-plasma/kdeplasma-addons-5.21.2 (webengine ? >=dev-qt/qtwebengine-5.15.2:5)
kde-plasma/libksysguard-5.21.2 (webengine ? >=dev-qt/qtwebengine-5.15.2:5)
net-libs/signon-ui-0.15_p20171022-r1 (dev-qt/qtwebengine:5)
net-p2p/ktorrent-20.12.3 (rss ? >=dev-qt/qtwebengine-5.15.2:5)
(webengine ? >=dev-qt/qtwebengine-5.15.2:5)
Eureka! kdenetwork-meta
no longer depends on qtwebengine
.
15. I was then able to remove qtwebengine
and the remaining packages that hard-depend on it:
root # emerge --ask --depclean qtwebengine kaccounts-providers signon-ui kio-gdrive
Calculating dependencies... done!
>>> Calculating removal order...
>>> These are the packages that would be unmerged:
kde-misc/kio-gdrive
selected: 20.12.3
protected: none
omitted: none
kde-apps/kaccounts-providers
selected: 20.12.3
protected: none
omitted: none
net-libs/signon-ui
selected: 0.15_p20171022-r1
protected: none
omitted: none
dev-qt/qtwebengine
selected: 5.15.2_p20210224
protected: none
omitted: none
All selected packages: =dev-qt/qtwebengine-5.15.2_p20210224 =kde-apps/kaccounts-providers-20.12.3 =kde-misc/kio-gdrive-20.12.3 =net-libs/signon-ui-0.15_p20171022-r1
>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.
Would you like to unmerge these packages? [Yes/No] Yes
>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging (1 of 4) kde-misc/kio-gdrive-20.12.3...
>>> Unmerging (2 of 4) kde-apps/kaccounts-providers-20.12.3...
>>> Unmerging (3 of 4) net-libs/signon-ui-0.15_p20171022-r1...
>>> Unmerging (4 of 4) dev-qt/qtwebengine-5.15.2_p20210224...
Packages installed: 1648
Packages in world: 329
Packages in system: 43
Required packages: 1648
Number removed: 4
* GNU info directory index is up-to-date.
\o/ \o/ \o/ \o/ No more qtwebengine
in Gentoo Linux Testing (~amd64) running KDE.
Of course this was only possible because I do not need the specific packages that had been uninstalled during this entire procedure. Other people may not be in the same position.
16. I added the following lines to the file /etc/portage/package.mask/package.mask
so that the packages are not pulled in automatically when merging the world set in future:
dev-qt/qtwebengine kde-apps/kdenetwork-meta::gentoo kde-misc/kio-gdrive kde-apps/kaccounts-providers net-libs/signon-ui
17. In future I will have to modify new versions of the kdenetwork-meta
ebuild and add them to my local overlay. Furthermore, if other packages become dependent on qtwebengine
in future and I do not require them, I will have to repeat the above steps in order to remove them (if viable). I just hope I can keep the qtwebengine
package from ever being installed again.
Nice. Encountering this beast only now on Slackware current. I don’t like how all the functionality of Chrome is available in other programs, and then up to the that program maker to enable control, or not, over web content.
I have already got loads of copies of Web Storage cruft in my home, a JS thing that can be used like cookies.
My browser is locked down and has been for years, though granular control of features is getting harder. But other web-aware programs can have all the problems in a browser, but without the control for the user.
It’s the mobile phone app paradigm. Something like a banking app is basically a browser that can access one website, as are so many. Yeah, they might have some local resources to cut corners, but they get rid of the whole IE/chrome/FF/Opera on Win/Lin/Apple/’roid support costs.
Users are disempowered, publishers are empowered, and that is what the world of IT is about. FOSS is meant to be about users first, but proprietary paradigms are constantly foisted on users.
UPDATE October 2022: For those of us who do not use Telepathy, KAccounts, Google Drive and applications depending on
qtwebengine
, removingqtwebengine
from Gentoo Linux is now easier than the method described in my post above (see Gentoo Bug Report #782505 for the ebuild change that has facilitated this). Now I have the global USE flags-webengine
and-telepathy
in/etc/portage/make.conf
, and the local USE flags-kaccounts
and-share
in/etc/portage/package.use/kio-gdrive
. Re-merging @world then gets rid ofdev-qt/qtwebengine
andkde-misc/kio-gdrive
.