FS#8588 - Personal grouping of (installed) packages

Attached to Project: Pacman
Opened by nik (somebody) - Friday, 09 November 2007, 21:40 GMT
Last edited by Aaron Griffin (phrakture) - Monday, 12 November 2007, 22:20 GMT
Task Type Feature Request
Category General
Status Closed
Assigned To Aaron Griffin (phrakture)
Dan McGee (toofishes)
Architecture All
Severity Low
Priority Normal
Reported Version 3.0.6
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

GENERAL
I often get in this situation: I have to install/test several programms for a certain purpose. Having done this I want to remove the bad packages (maybe all?)...but hey, what were the bad packages?

EXAMPLE
Let's say I'm a KDE User and want to try out GNOME. So I will install gnome, gnome-extras and probably a lot of other gnome/gtk applications. Now I'm unhappy with GNOME, so I want to remove everything I installed _in this context_ (= installing gnome environment plus extra apps).

IDEA
So when installing packages, it would be cool to have the possibility to mark some packages with an certain identifier (context, group...). Marking several packages with the same identifier forms a group. Using pacman without an explicit identifier, some default should be used.

This way, I can exactly trace back _what_ I installed for which _purpose/context_ (if I specified an identifier...).
This task depends upon

Closed by  Aaron Griffin (phrakture)
Monday, 12 November 2007, 22:20 GMT
Reason for closing:  Won't implement
Additional comments about closing:  Snarky Dan's fix is win!
Comment by Hussam Al-Tayeb (hussam) - Saturday, 10 November 2007, 00:16 GMT
Gnome already has a group and so does xorg and xfce.

if you 'pacman -S gnome' where gnome is a group, you can later 'pacman -Rns gnome' and it will uninstall everything in group 'gnome' + it's dependencies and remove any remaining system wide config files.

I think what you are asking for to make all packages belong to some group. for example, kde-multimedia , gnome-mulimedia , games , etc.

for example. 'pacman -S office' would offer to install openoffice-base, gnumeric ,etc.
Comment by Roman Kyrylych (Romashka) - Saturday, 10 November 2007, 14:16 GMT
@Hussam: what nik proposes is different. I don't see much practical benefit from this. KISS!
Comment by Hussam Al-Tayeb (hussam) - Saturday, 10 November 2007, 14:34 GMT
Romashka, yes it seems I misunderstood his request. I'm not suggesting that any changes be implemented. I was simply trying to interpret or understand what nik wanted. As far as I am concerned, things are fine the way they are because 'pacman -Rns' already takes care of cleanly uninstalling packages + their dependencies.

What exactly did nik request? The ability to add custom groups upon installation of packages?
Comment by nik (somebody) - Sunday, 11 November 2007, 20:55 GMT
I'm sorry, gnome was a really bad example since it is a meta package.

"The ability to add custom groups upon installation of packages?" -- yes!
Imagine you install x different packages. Each of them have different dependencies. And there is no "connection" between them (a package as dependency). I can imagine two cases:

(1) You install all x...try them out, and then you realize, that just one is useful. Now you wish to remove the other x-1 packages.
Now it would be useful to have marked all this packages since you install them for some certain purpose (in this case: find the useful/appropriate app). Now you could see: OK, remove all from this group (marked), except the one that is useful.

(2) You have to install all of them, but just temporary (for school/courses). Here it would be also cool to mark the packages because they were installed for a certain purpose. And if anybody asks you what packages have to be installed for this and that purpose, you can just fire up pacman and query: "hey, show all packages in group X". Then in the end, if you don't need the packages anymore, you just remove all packages that are associates with the group/purpose (or just some of them - case 1).

I hope it's now clear :)
Comment by Aaron Griffin (phrakture) - Monday, 12 November 2007, 22:09 GMT
Hmm, what you're proposing is providing features to pacman which should be in the domain of the user - it is not pacman's job to keep your system clean in the same way that it is not a hammer's job to build a house for you.

pacman can, however, report explicitly installed apps which have nothing dependent on them, which should cover most of the cases you describe.

I'd like to close this with a "won't implement" unless Dan has an objection.
Comment by Dan McGee (toofishes) - Monday, 12 November 2007, 22:17 GMT
I'll implement it right here.

1. Make text file list of packages you have a purpose for. Let's call this file mypackages.txt:
foo
bar
baz

2. cat mypackages.txt | xargs pacman -S

3. You want to remove them now? cat mypackages.txt | xargs pacman -Rs

Yeah, this is a won't implement. It is easy enough to use the power of Unix tools for this.