[gobolinux-users] New user question (start of many)

Andre Detsch detsch at terra.com.br
Fri Nov 12 09:54:32 GMT 2004

[Sorry about the delay in the response. Besides my Internet connection at home 
being almost unusable last days, my @gobolinux.org mail is broken because of 
the recent server change. So, I'm replying based on the web archives.]

Michael Homer wrote:
> My system is at the moment horrendously out of date (88 updates, 
> according to Freshen). The latest is 1.1, yes, and I've just (in the 
> last 20 minutes) gotten the latest Scripts and Compile. Which seem to 
> have changed quite a lot since what I had. Once I've gotten up to speed 
> on those I'll work on getting a new version of Freshen out. Quick 
> summary of the changes since ah May? Particularly with the front-end 
> friendliness and RecipeList.

About  the front-end friendliness:
- All 'questions-related' messages are now redirected to a 
'questionStream' (check Log* files at Scripts/Current/Functions). So, you can 
override this stream in order to catch this kind of message easily. Since 
Freshen already runs in console, maybe catching this messages is not 

Overall changes in Compile:
- Basically the way Recipes are matched and downloaded was restructured. For 
example: in Compile 1.0.X, 'Compile Qt' resulted in downloading the 
RecipeList from site and all recipes of qt through UpdateRecipes. Then, one 
of the recipes was chosen as the latest and compiled. Now, 'FindPackage 
--type=recipe Qt' is called, command that downloads (and caches) the 
RecipesList and returns a url (or a local path, if available) that is used by 
directly by GetRecipe (which was simplified, in order to just download and/or 
decompress and/or place the uncompressed recipe in the right place).
- Compile --no-web (-W) is a simple but usefull option when you are without 
Internet (specially usefull when used after a 'Compile --no-build', that 
already fetches all the needed files)

New features in Scripts package:
- The FindPackage script is also used to match binary packages (you can check 
'FindPackage --help' to see its features). It is used at InstallPackage 
(enabling more automatic commands like 'InstallPackage qt').
- A script that can be useful to Freshen is 'GetAvailable'. This script itself 
is used by FindPackage (and by Manager). Based on the setting contained at 
GetAvailable.conf file, it deals with the RecipesList and BinaryPackageLists  
files (downloading, caching, etc) and prints the list of recipes, 
official_packages, local_packages, contrib_packages and/or tracked_versions. 
Take a look at 'GetAvailable --help'; (Due to the recent changes in our 
servers structure, updating 
the /Programs/Scripts/Settings/Scripts/GetAvailable.conf file is required)
- GetInstalled lists the installed programs, marking (with a '*') the Current 
and, if '--detect-unlinked' is passed, it marks (with a 'X') versions that 
have no link inside ${goboLinks}
- GuessProgramCase is now used all around, so the Scripts (and Compile) are 
now completely (afaik) case insensitive regarding /Programs/* entries.
- GuessLatest, now a completely new script (and not a complex script, too), 
but I still recommend using it to encapsulate the discovery of 'what is the 
latest version of a package/recipe'. It has been working quite well, and 
supports things like '2.3 < 2.12', '2.1a4 < 2.1a32', '2.1beta2 < 2.1', 
'2.1beta2 < 2.1rc1' and so on.
- The 'Dependencies' script was improved, and now encapsulates much more the 
dependencies checking, avoiding replication of code between Compile and 
- You can check the Manager package for another script, 'ShowPackages'. It 
uses GetAvailable (and GuessLatest) to return a list of packages that matches 
a given condition. For exemple, 
 ShowPackages installed '<' recipe
returns a list of installed programs that are outdated by available recipes.
 ShowPackages installed '>' official_package,recipe
returns a list of installed packages that are more recent than available 
recipes or official_packages.
ShowPackages --help is not yet complete, but the available types ('recipe', 
'installed', etc) are the same as reported in 'GetAvailable --help' plus the 
'installed' type. The operator can be any string containing '<', '=' and/or 

I think that's it. Any questions, I will be happy to reply. If offlist, please 
use the <detsch at terra.com.br> address in the next days, until the @gobolinux 
comes back to life.

Just noticed that a new email about Freshen at the list. Again sorry about the 
delay in this reply.

André Detsch

More information about the Gobolinux-users mailing list