'zypper dup' without Gnome?

Hi community,
I’m in doubt with removing Gnome 3 and GDM from my Tumbleweed distribution while regularlyusing ‘zypper dup’ for upgrading the distribution.

Restrictions:

  • I want to keep libgtk3 and libgtk2 with their brandings for dependent applications like Eclipse.
  • I want to keep XFCE as fallback environment
  • I KDE 5 and sddm as the main environment
  • I need the Packman repository (I know it is not officially supported with Tumbleweed, but I assume this is a valid use case for many users).

What I did:

  • In YaST, deselect the YaST patterns GNOME Base System and GNOME Desktop Environment
  • In YaST, remove all pattern packages containing ‘gnome’ in their name
  • In YaST, manually remove all what I found belonging just to the GNOME Desktop Environment

Everytime I call ‘zypper dup’ I get offered most of the Gnome Desktop Environment-specific packages back:

rkrell:~ # zypper dup
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Retrieving repository 'Main Repository (NON-OSS)' metadata ..................................................................................................................................................................................[done]
Building repository 'Main Repository (NON-OSS)' cache .......................................................................................................................................................................................[done]
Retrieving repository 'Main Repository (OSS)' metadata ......................................................................................................................................................................................[done]
Building repository 'Main Repository (OSS)' cache ...........................................................................................................................................................................................[done]
Retrieving repository 'openSUSE-Tumbleweed-Debug' metadata ..................................................................................................................................................................................[done]
Building repository 'openSUSE-Tumbleweed-Debug' cache .......................................................................................................................................................................................[done]
Retrieving repository 'openSUSE-Tumbleweed-Source' metadata .................................................................................................................................................................................[done]
Building repository 'openSUSE-Tumbleweed-Source' cache ......................................................................................................................................................................................[done]
Loading repository data...
Reading installed packages...
Computing distribution upgrade...


The following 6 applications are going to be installed:
  "Archive Manager" Brasero Evince "GNOME Calculator" "Print Settings" "Sound Juicer"


The following 85 NEW packages are going to be installed:
  NetworkManager-gnome NetworkManager-vpnc alacarte brasero bundle-lang-gnome-cs bundle-lang-gnome-de bundle-lang-gnome-en canberra-gtk-play evince evince-browser-plugin evince-plugin-pdfdocument evince-plugin-psdocument file-roller
  gconf-polkit gcr-viewer gdmflexiserver gnome-calculator gnome-keyring gnome-keyring-32bit gnome-keyring-pam gnome-keyring-pam-32bit gnome-menus gnome-menus-branding-openSUSE gnome-online-accounts gnome-themes-accessibility graphviz-gnome
  grilo-plugin-tracker grilo-plugins gstreamer-plugins-bad-lang gstreamer-plugins-ugly-lang gvfs-backends ipset-kmp-desktop-6.25.1_k4.1.4_1-1.11 kernel-desktop-4.1.4-1.1 kernel-desktop-devel-4.1.4-1.1 kernel-devel-4.1.4-1.1 libbrasero-burn3-1
  libbrasero-media3-1 libbrasero-utils3-1 libevdocument3-4 libevview3-3 libgck-modules-gnome-keyring libgnome-desktop-3-10 libgnome-desktop-3_0-common libgnome-menu-3-0 libgnomesu libgnomesu0 libgnomeui-lang libgoa-1_0-0 libgoa-backend-1_0-1
  libgrilo-0_2-1 libgrlnet-0_2-0 libgrlpls-0_2-0 libnm-gtk0 libreoffice-gnome libsvn_auth_gnome_keyring-1-0 libtracker-common-1_0 libtracker-control-1_0-0 libtracker-miner-1_0-0 libtracker-sparql-1_0-0 libyelp0 lightdm lightdm-gtk-greeter
  lightdm-gtk-greeter-branding-openSUSE lightdm-gtk-greeter-lang lightdm-lang plasma-nm5-vpnc pragha-plugins python-idna python-ipaddress python-pyasn1 seahorse sound-juicer sound-juicer-lang system-config-printer system-config-printer-applet
  system-config-printer-common system-config-printer-dbus-service telepathy-mission-control-plugin-goa tracker tracker-miner-files transmission-gtk typelib-1_0-GMenu-3_0 typelib-1_0-GnomeKeyring-1_0 xli yelp


The following 131 packages are going to be upgraded:
  Mesa Mesa-libEGL1 Mesa-libGL1 Mesa-libGLESv2-2 Mesa-libglapi0 MozillaFirefox MozillaFirefox-translations-common PackageKit PackageKit-backend-zypp PackageKit-browser-plugin PackageKit-gstreamer-plugin PackageKit-gtk3-module ant ant-contrib
  ant-contrib-manual autoyast2-installation bind-utils bundle-lang-common-cs bundle-lang-common-de bundle-lang-common-en cdrkit-cdrtools-compat device-mapper device-mapper-32bit digikam digikam-doc digikam-lang gdk-pixbuf-loader-rsvg
  genisoimage ghc-http-client ghc-http-client-tls ghc-pandoc ghc-streaming-commons ghostscript ghostscript-x11 git git-core git-cvs git-email git-gui git-svn git-web gitk gtk2-engine-oxygen gtk2-theme-oxygen gutenprint hwinfo icedax
  kdeclarative-components kernel-macros kipi-plugins kipi-plugins-acquireimage libKF5Declarative5 libKF5QuickAddons5 libKF5WindowSystem5 libKF5WindowSystem5-lang libQt5WebKit5 libQt5WebKit5-imports libQt5WebKitWidgets5 libbind9-140 libbluray1
  libcamel-1_2-52 libdns161 libdrm2 libdrm_intel1 libdrm_nouveau2 libdrm_radeon1 libgbm1 libgraphite2-3 libimobiledevice6 libirs141 libisc148 libisccc140 libisccfg140 libkms1 liblua5_3 liblwres141 libmediawiki1 libminiupnpc10 libortp9         
  libpackagekit-glib2-18 libphonon4qt5 libpwquality1 librsvg-2-2 libsqlite3-0 libvdpau_nouveau libvdpau_r300 libvdpau_r600 libvdpau_radeonsi libwayland-egl1 libxatracker2 libyui-ncurses-pkg6 libyui-qt-pkg6 libzypp lua lvm2 man-pages nfs-client
  openSUSE-release openSUSE-release-ftp openvpn pandoc plasma-framework plasma-framework-components plasma-framework-private python-cryptography python3-setuptools site-config typelib-1_0-PackageKitGlib-1_0 vim vim-data virtualbox
  virtualbox-guest-kmp-desktop virtualbox-host-kmp-desktop virtualbox-qt wodim x11-tools xdm xf86-input-libinput yast2 yast2-bootloader yast2-country yast2-country-data yast2-installation yast2-network yast2-ntp-client yast2-pkg-bindings
  yast2-ruby-bindings yast2-storage zypper zypper-aptitude zypper-log


The following product is going to be upgraded:
  "openSUSE Tumbleweed"


131 packages to upgrade, 85 new.
Overall download size: 277.8 MiB. Already cached: 0 B. After the operation, additional 352.8 MiB will be used.
Continue? [y/n/? shows all options] (y):

Examples:

  • Brasero: I did not find any packages which would require Brasero to be installed (when I want to use k3b)
  • GNOME Calculator: I use kcalc instead

Can I customize this?

Update: The worst issue hereby is the reintroduction tracker together gnome-keyring, always asking me separately for a password after logging into KDE, although tracker isn’t relevant for KDE.

This one cleans it up after ‘zypper dup’ quite good, except for some remaining base libs:
zypper remove tracker evince brasero gnome-calculator file-roller sound-juicer gnome-menus

On 2015-08-12 12:36, renekrell wrote:
> Everytime I call ‘zypper dup’ I get offered most of the Gnome Desktop
> Environment-specific packages back:

Possibly a recommends. Use taboo.


Cheers / Saludos,

Carlos E. R.

(from 13.1 x86_64 “Bottle” (Minas Tirith))

It’s probably easier to leave them installed, but don’t use them. To not have them reinstalled, you will need to blacklist those packages, or find everything that recommends them and remove those too.

You can switch booting to something other than GDM. I suggest “lightdm”, but first make sure that it is installed (XFCE brings it in). You can make that change in Yast “/etc/sysconfig” editor, or manually edit “/etc/sysconfig/displaymanager” and reboot.

If you are being asked to open the Gnome keyring, it is because something is saved there that you need. If you use “lightdm” that can automatically open it when you login to XFCE, but it probably doesn’t open on login to KDE.

I use sddm which I can boot into XFCE also, I don’t use any other display manager. Bu this isn’t the core problem here.

There are two issues i’m affacted by:

  • small remaining disk space available to the OS
  • unnecessary processes, used earlier, but unused now, like Tracker mining and some other one unknown to me at the moment requiring Gnome Keyring to ask me for a password.

I would also use the “taboo” option to mark packages which should not install. Regarding Gnome keyring, you could use seahorse to check the contents and maybe remove them.

On 2015-08-12 14:16, renekrell wrote:

> - unnecessary processes, used earlier, but unused now, like Tracker
> mining and some other one unknown to me at the moment requiring Gnome
> Keyring to ask me for a password.

You can list the running processes by typing in a terminal or console
“ps afx | less -S”, and often you can deduce what started what.
Sometimes not.

In my system, I see runing “/usr/lib/tracker-store” and
“/usr/lib/tracker-miner-fs”, but the parent is not identified.


Cheers / Saludos,

Carlos E. R.

(from 13.1 x86_64 “Bottle” (Minas Tirith))

Just to summarize:

Quick and dirty solution: Uninstall and set “Taboo – Never Install” in YaST:

  • brasero
  • evince
  • file-roller
  • gnome-calculator
  • sound-juicer
  • system-config-printer
  • tracker
  • gnome-keyring (There is unfortunately a cross-dependency gnome-keyring -> NetworkManager-vpnc -> plasma-nm5-vpnc. For those using VPNC in KDE with NetworkManager this may be a problem).
    After uninstalling them you might find a lot of dependent packages which can be removed afterwards, for instance gnome-menus.
    Reboot is recommended to get rid of the tracker* processes running in the background, they are completely meaningless for the KDE Desktop Environment, baloo should do this job there as far as I know.

Nice to have for the OpenSUSE packagers:

  • Not to have the above packages in a default system installation pattern, because they pull in a lot of transitive dependencies. It would be better to have them automatically select based on the pattern “GNOME Desktop Environment”.
  • Example: If one wants to burn CDs there should be a default choice between k3b or Brasero to preinstall, for example, maybe based on the chosen desktop environment. The same for the calculators, which each desktop environment comes with.

Thanks for the answers.