You are not logged in.

#1 2008-10-23 09:55:58

yourself
Member
Registered: 2008-10-23
Posts: 120

A bit confused about how -Suy works... Any help?

I'm new to Arch, I've been using it for the past one or two months.

I have been doing "pacman -Suy" every day now and everything went fine.

Yesterday, Gnome 2.24 came through. So, I installed it. I noticed today that many parts of GNOME 2.24 have not been installed correctly. For example:
-> The deskbar applet was not there
-> The hamster-applet was not there
-> The Dwell-click applet was not there
...
Mostly, stuff belonging to gnome-extra meta.

When i decided to "pacman -Sy gnome-extra", it told me that it was going to "reinstall" and NOT upgrade all the corresponding packages because they were all up-to-date (some of them were not present on my system), but then again told me to download some 27MB of packages. So I decided to proceed with the install and, lo and behold, eveything checks out OK.

I'm baffled. Shouldn't "pacman -Suy" had upgraded everything the first time? I mean, check that gnome-extra was new and so re-install it with the new packages? What is going on here? Are there any more metas like gnome-extra that I should be upgrading by hand?

P.S. Note: I'm using Pacman-color v3.2.1.b instead of pacman. Could this be responsible?

Thanks!

Offline

#2 2008-10-23 11:31:34

smakked
Member
From: Gold Coast , Australia
Registered: 2008-08-14
Posts: 420

Re: A bit confused about how -Suy works... Any help?

Umm isnt it pacman -Syu ...not Suy?

DOnt you want to Sync first then upgrade?

But you could ignore my n00bness and im most probably wrong.


Certified Android Junkie
Arch 64

Offline

#3 2008-10-23 11:36:42

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,473
Website

Re: A bit confused about how -Suy works... Any help?

The order does not matter.  So "pacman -Syu" == "pacman -Suy"

Pacman does not keep track of the groups installed.  So when new packages join a group (either because they are new or have been split from an old package) you will need to install them.

A command to help you  "pacman -S gnome-extra --needed"

Offline

#4 2008-10-23 12:18:08

yourself
Member
Registered: 2008-10-23
Posts: 120

Re: A bit confused about how -Suy works... Any help?

So the only option I see to *really* upgrade the whole system is to remember what package groups I want installed, and issue something like this:

$ sudo pacman -Suy --needed base gnome gnome-extra compiz-fusion gstreamer0.10-plugins texlive-most xorg ... && sudo pacman -Suy

This is reasonable enough: If I wanted yesterday to install gnome-extras, why wouldn't I want today the (new) packages that the upgraded gnome-extras contains?

Is there any way for pacman to remember what package groups I have explicitly installed and upgrade these as well? Something like -e option, but which works for package groups. I haven't found anything resembling this for pacman, have I missed something?


(forgot the --needed option)

Last edited by yourself (2008-10-23 12:27:35)

Offline

#5 2008-10-23 12:32:19

SkonesMickLoud
Arch Linux f@h Team Member
From: The D of C
Registered: 2008-09-20
Posts: 178

Re: A bit confused about how -Suy works... Any help?

No.

pacman -Syu will update all packages that are currently on the system that are currently out of date.  It will not download new packages that have been added to a group since the install of that group.  For instance:

If GroupA contains packages: foo1 foo2 foo3 and foo4

Pacman -Syu will not add package foo5 if/when foo5 is added to GroupA.

Offline

#6 2008-10-23 13:03:22

klixon
Member
From: Nederland
Registered: 2007-01-17
Posts: 525

Re: A bit confused about how -Suy works... Any help?

And there is currently no way to check for group dependencies?
Sounds like a nice added option, or am I missing something?

I did "install" group "xorg". I was kind of expecting -Syu to check for groups as well... hmmm...
*heads off to check missing group-dependencies*


Stand back, intruder, or i'll blast you out of space! I am Klixon and I don't want any dealings with you human lifeforms. I'm a cyborg!

Offline

#7 2008-10-23 13:07:18

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,473
Website

Re: A bit confused about how -Suy works... Any help?

I think there is/was a bug report about adding this functionality.  The --needed option was added to cover this situation so I don't know if it is still open...

Offline

#8 2008-10-23 13:40:39

iphitus
Forum Fellow
From: Melbourne, Australia
Registered: 2004-10-09
Posts: 4,927

Re: A bit confused about how -Suy works... Any help?

pacman -Syuyuyuyuyuyuyu works equally well

Offline

#9 2008-10-23 13:54:47

klixon
Member
From: Nederland
Registered: 2007-01-17
Posts: 525

Re: A bit confused about how -Suy works... Any help?

I'll check when i get home smile

lol@iphitus, what's the recommended dose of yu's? I wouldn't want to cut myself short on those

Last edited by klixon (2008-10-23 13:55:55)


Stand back, intruder, or i'll blast you out of space! I am Klixon and I don't want any dealings with you human lifeforms. I'm a cyborg!

Offline

#10 2008-10-23 16:44:28

yourself
Member
Registered: 2008-10-23
Posts: 120

Re: A bit confused about how -Suy works... Any help?

I have sent a message to the pacman-dev ML, let's see where that gets us...

Offline

#11 2008-10-23 17:03:10

yourself
Member
Registered: 2008-10-23
Posts: 120

Re: A bit confused about how -Suy works... Any help?

So, there is in fact a discussion about this issue:

http://bugs.archlinux.org/task/8242

Offline

#12 2008-10-23 19:20:13

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,965
Website

Re: A bit confused about how -Suy works... Any help?

iphitus wrote:

pacman -Syuyuyuyuyuyuyu works equally well

Not equally... that will force a database refresh. tongue



Here's a script (Python for a change wink ) that can check if a locally installed group is complete or not. If not, it will list the packages that are missing. If you pass it group names as arguments, only those groups will be checked. If you don't pass it any arguments, all groups found locally will be checked. Be careful in how you interpret this because you might have installed a package that belongs to a group and it might tell you that xx packages belonging to that group were not found on your computer. Obviously, if you haven't installed the group, that's what you'd expect.

The script does not install or update anything. It only displays some info. Save it as "group_checker.py" and make it executable. To check "gnome" and "gnome-extra", invoke as follows:

group_checker.py gnome gnome-extra

group_checker.py

#!/usr/bin/python

import sys
import os
import re
from sets import Set
from string import join

local_group_cmd = 'pacman -Qg'
for arg in sys.argv[1:]:
    local_group_cmd += " %s" % arg
local_group_list = os.popen(local_group_cmd).read().rstrip()
if len(local_group_list) == 0:
    exit()

regex = re.compile('(\S+)\s+(\S+)')
local_group_dictionary = {}
for line in local_group_list.split("\n"):
    (group,pkg) = regex.search(line).group(1,2)
    if local_group_dictionary.has_key(group):
        local_group_dictionary[group].add(pkg)
    else:
        local_group_dictionary[group] = Set([pkg])

sync_group_cmd = 'pacman -Sg ' + join(local_group_dictionary.keys())
sync_group_list = os.popen(sync_group_cmd).read().rstrip()

sync_group_dictionary = {}
for line in sync_group_list.split("\n"):
    (group,pkg) = regex.search(line).group(1,2)
    if sync_group_dictionary.has_key(group):
        sync_group_dictionary[group].add(pkg)
    else:
        sync_group_dictionary[group] = Set([pkg])

for group in local_group_dictionary.keys():
    missing_pkgs = sync_group_dictionary[group].difference(local_group_dictionary[group])
    if len(missing_pkgs) == 0:
        print "%s is complete" % group
    else:
        print "%s contains the following %d package(s) not found on your system" % (group, len(missing_pkgs))
        for pkg in missing_pkgs:
            print "\t%s" % pkg

My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#13 2008-10-24 13:02:35

yourself
Member
Registered: 2008-10-23
Posts: 120

Re: A bit confused about how -Suy works... Any help?

But the whole idea is that you *shouldn't* have to do version checking -- you let the package manager to it for you by issuing one command..!

The reason we find "pacman -Suy" convenient is that it checks automatically all the packages. If we had to do "pacman -Su <package>" for each package in our system, we wouldn't find it convenient...

My point is that we shouldn't be expected to check wether gnome-extras/whatever has changed, exactly for the same reason we are not expected to check if a specific pakage has changed.

Offline

#14 2008-10-24 20:12:15

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: A bit confused about how -Suy works... Any help?

Currently pacman ONLY has a concept of "installed packages" not "installed groups". That is the issue here. From pacman's point of view, a group is just a list of packages. When you install the gnome group, pacman really says "ok installing these 10 packages". When you check for an update, it says "are there updates to these 10 packages" NOT "are there updates to this group".

There is a bug report regarding this, but the changes needed are fairly complex. --needed was most likely added as an interim solution. Anyone is welcome to provide a patch if you're unhappy.

Offline

#15 2008-10-25 10:13:21

yourself
Member
Registered: 2008-10-23
Posts: 120

Re: A bit confused about how -Suy works... Any help?

phrakture wrote:

There is a bug report regarding this, but the changes needed are fairly complex. --needed was most likely added as an interim solution. Anyone is welcome to provide a patch if you're unhappy.

No no no! The changes (if this is done the "right way", using dummy metapackages that contain other normal packages as dependencies) are minimal (only in the repository: add the new dummy packages and you're done).

The only change that would be required in pacman is if we decided to completely drop the group concept and go with the metapackge concept. If both remain (I don't see a reason for groups to remain but other people might) absolutely no change in pacman is required...

Offline

#16 2008-10-25 22:00:07

alex_anthony
Member
From: UK
Registered: 2007-09-25
Posts: 344

Re: A bit confused about how -Suy works... Any help?

groups don't require you to install everything in them like metapackages do.
With metapackages if you don't install all the dependencies it keeps bugging you that you have unfulfilled dependencies.
i prefer groups, but I doubt it would be hard to just make gnome-metapackage and gnome-extras-metapackage packages and update them every 6 months.

Offline

#17 2008-10-26 00:35:03

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,473
Website

Re: A bit confused about how -Suy works... Any help?

Make a metapackage and put it in the AUR if you really want one.  That is what it is there for...

Offline

#18 2008-10-26 11:59:49

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,965
Website

Re: A bit confused about how -Suy works... Any help?

[shameless plug]
You can use "metapax" to create metapackages, among other things. The link is in my sig.
[/shameless plug]


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

Board footer

Powered by FluxBB