You are not logged in.

#1 2015-08-12 00:58:27

davermont
Member
Registered: 2014-09-07
Posts: 21

Installing KDE meta packages over existing KDE components?

Let's say you've previously installed a software package and then follow it up by installing a meta package that contains the existing software package in question. For example if you've previously installed konsole, but then install kde-meta-kdebase (which contains konsole). If I then remove the meta package kde-meta-kdebase, konsole remains. So clearly pacman doesn't treat konsole as part of the meta package if it has previously been installed (at least for certain purposes). Can anyone suggest a strategy for installing a meta package over existing components such that the existing pieces are then treated as part of the meta package. Essentially what I'm trying to achieve is to install kde-meta, but to have previously-installed packages that are part of kde-meta get kind of sucked in to the monolith.

I would prefer an approach that would either install over existing components, if possible, or failing that, quickly identifies all the packages that I should uninstall before installing the meta package. I have tried this approach, but it doesn't actually seem to work: https://wiki.archlinux.org/index.php/KD … r_packages

Thanks,
D

Last edited by davermont (2015-08-12 01:00:30)

Offline

#2 2015-08-12 01:38:47

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: Installing KDE meta packages over existing KDE components?

Has konsole been installed explicitly or as a dependency? Is it listed as part of the meta-package?

Offline

#3 2015-08-12 13:04:06

davermont
Member
Registered: 2014-09-07
Posts: 21

Re: Installing KDE meta packages over existing KDE components?

I've installed konsole explicitly and it is indeed listed as part of the meta-package.

Offline

#4 2015-08-12 13:58:38

Raynman
Member
Registered: 2011-10-22
Posts: 1,539

Re: Installing KDE meta packages over existing KDE components?

You talk about the meta packages as if they have some kind of special status. Saying things like "kde-meta-kdebase contains konsole" is fine, but you have to remember that it is just an empty package with a bunch of dependencies and pacman treats them just like other dependencies. (see also the comparison with groups in the wiki)

Removing a package will not automatically remove its dependencies, but pacman has an option to do that as well:

       -s, --recursive
           Remove each target specified including all of their dependencies,
           provided that (A) they are not required by other packages; and (B)
           they were not explicitly installed by the user. This operation is
           recursive and analogous to a backwards --sync operation, and it
           helps keep a clean system without orphans. If you want to omit
           condition (B), pass this option twice.

So, if konsole is not required by anything else, then

# pacman -Rss kde-meta-kdebase

should remove konsole. That should be enough if your only problem is with removing meta packages.

For completeness: If you never installed any of the "components" explicitly, a single -s is enough to get them all removed. You could also change the install reason for the components after installing the meta package with something like

# pacman -D --asdeps $(expac '%E' kde-meta-kdebase)

Last edited by Raynman (2015-08-12 14:01:21)

Offline

Board footer

Powered by FluxBB