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.