2007/3/12, Michael Homer <[EMAIL PROTECTED]>:
> On 3/13/07, Jonas Karlsson <[EMAIL PROTECTED]> wrote:
> > 2007/3/12, Michael Homer <[EMAIL PROTECTED]>:
> > > On 3/9/07, Michael Homer <[EMAIL PROTECTED]> wrote:
> > > > On 3/9/07, Jonas Karlsson <[EMAIL PROTECTED]> wrote:
> > > > >
> > > > > A feature that I think would be nice is to see why an application is
> > > > > in the list, i.e. what application that had that dependency.
> > > > Good idea. I will add that, possibly for the release after this one
> > > > since it may not be simple.
> > > >
> > > > I'm actually not sure how well the addition of uninstalled
> > > > dependencies to the tree is working - it's more of a happy accident of
> > > > the sorting algorithm than by design at this point. If you notice any
> > > > bugs with it let me know. In particular, I've just realised that I
> > > > don't think their own dependencies are included in the calculations.
> >
> > I haven't found any real bugs in the sorting algorithm, but what I had
> > in mind was to get a list of applications that pulled in an
> > application in to the list, next to the listed application.
> There isn't really room for that, but Freshen -V -i program does give
> you that list. The problem with putting it directly into the list,
> aside from just a space issue, is that it's expensive to generate -
> essentially the only way to do it is to run through the entire dataset
> and search.
>
> I will try adding it in the list for N-tagged programs only, at
> verbose and above, and see how it comes out.

Ok

> >
> > > Ok. So I've done pretty much all of that, tested it, it all seems to
> > > be functioning. If there are no major problems, I'll tag this as 2.1
> > > final and get a recipe out as well.
> >
> > I still get some error when an older version then the available is
> > symlinked as current:
> >
> > Freshen: Attempting to fetch recipe dependencies for Xorg
> > GetRecipe: Recipe for Xorg none not found
> > Freshen: Attempting to fetch package dependencies for Xorg 7.2-r1
> There was a bug in how it compared versions pulled from /F/C/R. It may
> have caused this - I don't think it's related to which version is
> symlinked current though, since it looked for a valid package version.
>
> Freshen will assume that the newest installed version is symlinked in
> at all times, since otherwise it'll try to install it, but that will
> cause errors if something depends on that newer version and can't find
> it. All the ways around that are a bit of a hack.

What's the problem of using the 'Current' link if it exists? It's
_very_ unlikely that the 'Current' link points to the version not
linked in.

> >
> > And Freshen died with this error:
> >
> > Freshen: Notice: dependency file for KDE-Libs has incorrect
> > capitalisation on NAS
> > Freshen: Freshen: Error: undefined method `set?' for nil:NilClass
> > [NoMethodError]
> >
> > When I looked into it I can find no recipe for NAS, so I guess that's
> > the problem. However the error message isn't that descriptive. :)
> > After I ran 'GetRecipe KDE-Libs' the error got away, so my guess it
> > that that dependency listing is in an old version of the recipe, but I
> > couldn't find any KDE-Libs recipe or installed package of KDE-Libs
> > that listed that dependency, so I don't know where Freshen got that
> > from.
> >
> > I got the same error from another package, GLSavers-NR:
> >
> > Freshen: Notice: dependency file for GLSavers-NR has incorrect
> > capitalisation on Nvidia
> > Freshen: Freshen: Error: undefined method `set?' for nil:NilClass
> > [NoMethodError]
> >
> > The strange thing is that I cannot see what application made Freshen
> > try to look at this recipe/package. There's no application that has
> > GLSavers-NR as dependency afaik. I tried to grep for it, but couldn't
> > find anything. Here's where that dependency list thing I suggested
> > would come in handy. 'Freshen --info GLSavers-NR' dies with
> >
> > Freshen: Generating list of installed programs...
> > Freshen: Freshen: Error: undefined method `each' for nil:NilClass
> > [NoMethodError]
> >
> > so I can't tell what's wrong.
> The "incorrect capitalisation" error isn't always true; it's just a
> guess, since that was the most common way it came up (for me). It
> emits that, and then searches /Programs and all the recipe directories
> for entries with the same name ignoring case, then assumes that's the
> correct name and tries again until it runs out of possibilities. If it
> doesn't find one at all it dies, since it can't possibly resolve the
> tree without complete data.
>
> Try `grep GLSavers-NR /tmp/dependencies-*` and see what you get.
> That'll show you if a package dependency file has pulled it in. If
> not, it's possible that it's already installed, or at least that
> /Programs/GLSavers-NR exists.
>
Ok, I found that apparantly I had GLSavers-NR installed...
But I really can't find where 'NAS' comes from. I can't find it in any
dependency file.

===========
This part is for old .999 version:

I get this error all the time. As soon as I solve one of these there's
planty more:

Freshen: Notice: dependency file for Amarok has incorrect capitalisation on Fam
Found a match: Fam=>FAM
Freshen: Notice: dependency file for Amarok has incorrect capitalisation on KDE
Freshen: Freshen: Error: undefined method `set?' for nil:NilClass
[NoMethodError]

so FAM was solved by Freshen, but there are probably plenty of apps
that doesn't have a  package or recipe in the store on my system.
After all it's a 012, with old glibc and all that. However I have
this:

]FindPackage kde
Loading lists... \
/Files/Compile/Recipes/KDE/3.4.92

so there is a recipe available, but Freshen doesn't find it.
===================
This issues are fixed on the latest version. The latest version
completes succesfully.

Though when I wanted to look further at Amarok, as I had some issues
with that with the earlier releases of Freshen I get the following:

]Freshen --info Amarok
Freshen: Generating list of installed programs...
Freshen: Saving /Programs data to cache
Freshen: Downloading recipe for Amarok 1.4.4-r2...
http://karlsson.sytes.net/GoboLinux/RecipeStore/Amarok--1.4.4-r2--recipe.tar.bz2:
00:11:04 ERROR 404: Not Found.
Freshen: Retrieved recipe...

bzip2: Compressed file ends unexpectedly;
        perhaps it is corrupted?  *Possible* reason follows.
bzip2: Inappropriate ioctl for device
        Input file = (stdin), output file = (stdout)

It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.

You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.

tar: Child returned status 2
tar: Error exit delayed from previous errors
Freshen: Recipe installed.
Freshen: Producing updates list...
Freshen: Circular dependency of Mesa on Xorg removed from tree
Freshen: Freshen: Error: No such file or directory -
/Files/Compile/Recipes/Amarok/1.4.4-r2/Recipe [Errno::ENOENT]

This comes probably from that Freshen only uses the first entry in the
getRecipeStores array. And in my configuration that's my server, which
isn't an official mirror and therefore doesn't have all the recipes.

>
> I will put a hold on the 2.1 release while I sort these out - thanks
> for the testing, it's always difficult to handle the edge cases that
> don't come up on my system.
>
Well, glad to help. :)
My system is an edge system... (the bad variant)

>
> I have uploaded a new package to
> http://gobo.wotfun.com/Freshen--2.0.9991--i686.tar.bz2 - it should go
> some way towards resolving those problems, I hope. I think some of
> them will still come up, but with backtraces I'll be able to fix them.

There's an entry in the CVS for Freshen. It would be easier if we used
that for testing.
> > >
> > > Package attached. Configuration file change is the addition of the
> > > fetchAllPackageLists option.
> > >
> > > By the way, in creating the package I got a pile of errors in this form:
> > > /Programs/Scripts/2.6.3/bin/../Functions/File: line 130:
> > > /Programs/Freshen/2.0.999/Resources/FileHash: Permission denied
> > > `sudo CreatePackage` did not help. So the package is not signed, so it
> > > probably needs a manual SymlinkProgram after installation. It seems
> > > from looking in Functions/File that that would mean packages can only
> > > be created as root, since $hashfile will never be world-writable. `|
> > > $sudo_exec tee -a "$hashfile" > /dev/null`?
> >
> > What was your permissions? $sudo_exec should be set to "sudo -u #0"
> > and should therefore be able to write to that file as long as any user
> > has write permissions. But packages without signature is better than
> > packages with invalid signatures, as the former will be symlinked at
> > install while the latter will have to be manually symlinked.
> The full block is:
> $sudo_exec ListProgramFiles --files "$file_prefix" | grep -v
> "Resources/FileHash" | while read file
> do
>    $sudo_exec sha1sum "$file" >> "$hashfile"
> done
> My reading of that is that ListProgramFiles is run sudo and sha1sum is
> run sudo, and not the while block - if it were, sudo on sha1sum would
> be unnecessary. That means that >> is done as the executing user, not
> root, and the executing user may not have write permissions
> Running as sudo doesn't do anything to help though, exactly the same
> errors occur. /Programs/Freshen/2.0.999/Resources is drwxr-xr-x all
> the way up the tree, owned by root.
>
> The package I just uploaded is signed, but I had to chmod a+w
> /P/Freshen/2.0.9991/Resources manually to do it, which isn't a problem
> in practice, now that I know to do it.

I got an invalid signature for that package. Are you using an old
version of scripts? We did have a signing issue with the older
versions.

-- 
/Jonas
_______________________________________________
gobolinux-devel mailing list
gobolinux-devel@lists.gobolinux.org
http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel

Reply via email to