You are not logged in.

#1 2008-08-18 15:48:32

kingc
Member
From: South Africa
Registered: 2008-05-27
Posts: 1

How does pacman handle groups?

Hi

I'm wondering if pacman manages (in the local db) package groups separately from the packages that make up the group.

What I mean by this is if I install the group "FooGroup" which includes top-level packages "Foo1" and "Foo2", I assume "Foo1" and "Foo2" will be marked as explicitly installed, rather than essentially being 'dependencies' on "FooGroup" ?

The reason I ask this is that if I install a group explicitly, I would expect the packages in the group to be managed as... well... a group. So if a new package "Foo3" is added to "FooGroup", pacman -Su would automatically install it as I have explicity installed the group, rather than just updating "Foo1" and "Foo2" which would already be installed -- and likewise I would expect that pacman may remove a package removed from the group definition (assuming no dependencies) although this case is the easier of the two to deal with manually.

Then part 2 of my question is, if pacman does manage explicitly installed groups 'properly', how do I see which groups I have explicitly installed ? Not via pacman -Qeg (lists explicitly installed packages and their groups, irrespective of whether the *group* was explicitly installed or not) ?

-Craig

Offline

#2 2008-08-18 20:34:31

shining
Pacman Developer
Registered: 2006-05-10
Posts: 2,043

Re: How does pacman handle groups?

Well, I am afraid only answering the first question will answers all the rest too :
No, pacman does not manage package groups separately from the packages that make up the group.

When you do pacman -S <group>, it is exactly the same as pacman -S <all packages from that group>
This makes all the other features you are asking impossible.

There is a feature request about this though :
http://bugs.archlinux.org/task/8242

But we are not convinced this is worth implementing.
You can just do pacman -S <group> --needed to install the missing packages.

Otherwise, as said in the last comment of this bug report, you will have to use a meta-package rather than a group.


pacman roulette : pacman -S $(pacman -Slq | LANG=C sort -R | head -n $((RANDOM % 10)))

Offline

#3 2008-08-18 21:18:36

DonVla
Member
From: Bonn, Germany
Registered: 2007-06-07
Posts: 997

Re: How does pacman handle groups?

shining wrote:

Otherwise, as said in the last comment of this bug report, you will have to use a meta-package rather than a group.

in the bug report he is not talking directly about a server-side meta-package (like debian or similar),
but a "meta-package" (i would rather say a meta-file/meta-directory) inside the local repo. this can be solved by adding a new
directory under /var/lib/pacman called groups and installed groups have their own files in this directory which are added when running pacman -S <group>.
every update checks then if there are new pakages inside the installed groups.

Offline

#4 2008-08-18 22:02:38

shining
Pacman Developer
Registered: 2006-05-10
Posts: 2,043

Re: How does pacman handle groups?

DonVla wrote:

in the bug report he is not talking directly about a server-side meta-package (like debian or similar),
but a "meta-package" (i would rather say a meta-file/meta-directory) inside the local repo. this can be solved by adding a new
directory under /var/lib/pacman called groups and installed groups have their own files in this directory which are added when running pacman -S <group>.
every update checks then if there are new pakages inside the installed groups.

That is not what I understood at all. But his last sentence is confusing, so I will ask for clarification in the bug comments.

Anyway, what you are proposing is easy to say, but more difficult to implement in C. It would also add more complexity, and potentially more points of failures.


pacman roulette : pacman -S $(pacman -Slq | LANG=C sort -R | head -n $((RANDOM % 10)))

Offline

Board footer

Powered by FluxBB