I used the wrong from address the first time. Forwarding.
On 3/13/07, Michael Homer <[EMAIL PROTECTED]> wrote:
> On 3/13/07, Jonas Karlsson <[EMAIL PROTECTED]> wrote:
> > 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.
> The problem is that then Freshen will try to install the newer,
> disabled version every time. I was using the Current link until you
> ran into problems, though. I think this way is slightly more optimal,
> since having a newer installed version is the rarer case.
> >
> > > >
> > > > 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.
> Even in /tmp? Puzzling.
> >
> > ===========
> > 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 think that's actually a bug-slash-bitrot in --info. It should be
> using GetRecipe like the rest of the program, not trying to fetch it
> itself, and I just forgot to update it. I have now.
> > >
> > > 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.
> I did not know that. I have just registered with Savannah, or tried
> to. I still haven't received the verification email from them,
> hopefully it's coming. In fact, I've done it twice, and it still
> hasn't arrived, so I'll assume they're not working now. If/when I am
> able to activate it, who do I need to talk to to get checkin rights?
>
> In the interim, you can fix your local copy of Freshen by inserting
> these lines directly after "def getRecipe(prog,ver)":
> system("GetRecipe #{prog} #{ver}"
> return
> I will check it in when I'm able.
> In the interim, I'm on the IRC channel now, so we can try sorting out the
> remaining bugs that way.
> > > > > 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.
> It's Scripts 2.6.3. I imagine that my key has to be somewhere
> accessible to verify it, and it's not. I didn't think that far ahead
> really.
> -Michael
>
_______________________________________________
gobolinux-devel mailing list
gobolinux-devel@lists.gobolinux.org
http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel