[gobolinux-users] Freshen 2.2.4
Michael Homer
gobo-users-dufus at wotfun.com
Sun Jul 15 00:52:58 UTC 2007
On 7/15/07, Isaac Dupree <isaacdupree at charter.net> wrote:
> Isaac Dupree wrote:
> > Michael Homer wrote:
> >> Hi,
> >> I've released Freshen 2.2.4
>
> > Unfortunately...
> > Although the Util-Linux situation was improved, HAL (which isn't
> > currently installed, but to-be-installed due to KDE-Base) depends on
> > Util-Linux >= 2.12r. Freshen wants to downgrade(good recognizing that
> > it's a downgrade) 2.12r-r3 to 2.12q-r1 because of HAL -- but HAL
> > requires a later version in its Dependencies!!!!
>
> I don't understand. How does Freshen decide what set of packages to
> consider?
First, take everything in /Programs and add them to the set. Then add
all dependencies of each program in the set to the set. Continue until
you have them all. If specific programs to examine were listed on the
command line, start with them instead of the contents of /Programs.
If -x was specified on the command line or in Freshen.conf, remove all
listed programs and all other programs with a dependency on them from
the set.
Also, check for minimum and maximum versions of dependencies of
programs installed and try to ensure that they're satisfied by
removing incompatible versions.
Create a digraph with edges from each program to its dependencies.
Perform a topological sort on this graph to produce an ordered list L
such that for all p in L (for all d in dep(p) the index of d < the
index of p). [The brackets are for scoping, not a parenthetical]
For each program in the list, if the newest available version is the
same as the version currently installed, remove it from the list.
The result is the list of updates that will be used.
> Taken together, the following results from Freshen 2.2.4 do
> not make any sense to me (all after a Freshen -C, and all as user#0):
I'm not on Gobo at the moment, so I can't test this out. However, it
looks like one of two things: one, there's a bug in the version
comparisons that makes 2.12q-r1<2.12r, or two, something requires
<2.12r and the fact that it's displaying HAL is a bug (it's actually
expected behaviour in that case, since it only shows exactly one
program that's pulling something into the tree, and which it is
doesn't matter).
> $ Freshen -x KDE-Base
> [IDR] Util-Linux 2.12q-r1 (HAL) 2.12r-r3
> [IUB] LibIDL 0.8.8-r3 0.8.8-r1
> [IUR] CDRTools 2.01a31-r1 2.01.01a27
> [N R] HAL 0.5.9-r1 (KDE-Base) none
That is also expected behaviour, but perhaps arguably a bug all the
same. Dependencies of excluded programs -do- remain in the tree, since
dependencies are added before exclusion takes place. The odd
Util-Linux behaviour is still a bug. I was never able to reproduce it,
though. The two versions compare properly, and it doesn't even try to
remove 2.12r from the set on my system.
>
> Hmm... HAL is not looked at normally because it's not installed. The
> discrepancy between the last two cases may be a bug -- some KDE thing
> requires HAL (at least KDE-Base does, so every KDE thing does
> indirectly). The non-explicitly-excluded KDE things cause KDE-Base's
> dependencies to be pulled in, even though all KDE things have to be left
> out because they depend on the newer KDE-Base, which is excluded?
> Should that be considered a bug?
>
> That doesn't explain what's going on with Util-Linux. No recipe in my
> /Files/Compile/{Recipes,LocalRecipes}, including old and new versions of
> everything in Freshen's listings (I think -- it's at least KDE parts
> 3.5.3 and 3.5.6), mentions Util-Linux, except for
> /Files/Compile/Recipes/HAL/0.5.9-r1/Resources/Dependencies
> containing the line
> Util-Linux >= 2.12r
It could be a package dependency file. They're in either
/tmp/dependencies-* or /tmp/Freshen/dependencies-*, depending on how
you have it set up. It's still odd behaviour all the same. If you
delete all of them and run it again, do you get the same behaviour?
I will see about adding some more debugging output tomorrow or the
next day that will at least show when it excludes a version and why.
>
>
> P.S. sometimes Freshen's output glitches and repeats itself a bit such
> as the following (not an exact quote, since I can't seem to reproduce it
> right now. maybe a nasty multithreading/SMP problem(race condition?)?:
>
> Freshen: ;Freshen: Updating settingsUpdating settings...
Freshen is single-threaded, so it at least shouldn't be a problem. I
don't know where the semicolon could possibly come from, though.
-Michael
More information about the gobolinux-users
mailing list