Hi, Another release of Scripts and Compile, integrating many bugfixes and a bunch of cool stuff. Highlights:
* fixes problem with endless loop in FindPackage * uses new and more powerful script CheckDependencies, which supports version ranges * new syntax for recipe type declarations (recipe_type=makefile instead of is_makefile=yes) http://gobo.calica.com/packages/official/Scripts--2.4.0--i686.tar.bz2 http://gobo.calica.com/packages/official/Compile--1.6.0--i686.tar.bz2 The full list of what's changed since the previous versions, extracted from the CVS logs, follows below. Enjoy! -- Hisham SCRIPTS ====== 2006-08-09 17:25 hisham * bin/AllDependencies: remove obsolete script 2006-08-09 16:25 detsch * Resources/Defaults/Settings/Scripts/GetAvailable.conf: Reduced default timeout for wget inside GetAvailable. It probably could be even less than 7 seconds. 2006-08-09 15:54 detsch * bin/GetAvailable: Avoid infinite waiting when a server is down. 2006-08-08 21:50 detsch * bin/SandboxInstall: Small hack: using NO_UNIONFS environment variable at SandboxInstall to avoid unionfs usage. Relevant for ChrootCompile, since unionfs has problems within chroot environments. 2006-08-08 17:47 lucasvr * bin/ColorMake: Fixes the assumption that menuconfig is always the 1st parameter (one might pass ARCH= and other parameters as well). 2006-08-07 22:25 detsch * bin/CheckDependencies: Using CompatibilityList. 2006-08-06 20:52 mohjive * Resources/Defaults/Settings/Scripts/CompatibilityList: Added sendmail and clones to the CompatibilityList 2006-08-06 17:54 mohjive * Resources/Defaults/Settings/Scripts/CompatibilityList: Added BD/BerkeleyDB to the CompabilityList 2006-08-05 15:05 mohjive * bin/InstallPackage: Added make on the sources if the package was Scripts 2006-08-04 17:52 lucasvr * bin/ScriptFunctions: ScriptFunctions is always sourced, so bad things can happen if we unset goboCrossCompiling. Let's remove it and add a fallback /Programs/Scripts/Current/Functions entry which should be triggered in cross-compile mode instead (thanks for Hisham for pointing that). 2006-08-04 16:42 hisham * Functions/LogNormal, Functions/LogVerbose, bin/ScriptFunctions: Further cleanup the old assert stuff. 2006-08-04 16:35 lucasvr * Functions/Log, bin/ScriptFunctions: Removal of dead functions from ScriptFunctions; Replacement of usage from PassAway() to Pass_Away(); Do not look for script files under $cross_prefix/Programs. 2006-08-03 17:03 mohjive * Functions/File: Removed trace, forgotten earlier 2006-08-03 10:46 lucasvr * src/LinkOrExpandAll.c: Added return status on main(). 2006-08-02 13:27 lucasvr * bin/install: Removes 'strip' option on install if we're cross-compiling. This is needed due to the fact that CoreUtils' install has a hardcoded "strip" command on exec(), which fails when treating binary files for other architectures. Since replacing that hardcoded entry by a getenv() call might introduce security problems, we're fine with this workaround. 2006-08-01 12:20 mohjive * bin/Hashes, bin/VerifyProgram, Functions/File: Made Hashes use signing functions from Functions/File Made all verifying and signing use ListProgramFiles instead of find 2006-08-01 10:24 lucasvr * Resources/Defaults/Settings/Scripts/CompatibilityList: Added a new entry LibGLEW -> GLEW, as suggested by Hisham in gobolinux-recipes. 2006-07-30 16:45 detsch * bin/InstallPackage: Replaced usage of Dependencies to CheckDependencies. Btw, using --no-recursive and still calling dependencies checking after package installation. So, overall behaviour and assumptions are the same, but we gain features like new format Resources/Dependencies support. 2006-07-30 15:59 detsch * bin/CreatePackage: If there is no Resources/Dependencies file, create one using 'GenBuildInformation', not 'Dependencies' 2006-07-30 15:07 detsch * bin/GenBuildInformation: Added GenBuildInformation script, based on Dependencies code. 2006-07-29 19:57 detsch * bin/CheckDependencies: Don't setting a lower limit on installed version when checking dependencies for a recipe and the dependency line (from Dependencies / BuildDependencies) follows the old style (only <program> [version], without ranges). 2006-07-29 19:43 detsch * bin/CheckDependencies: Small cleanup, added some comments, better messages when some default action (e.g. Compile All) was choosen by the user. 2006-07-29 19:01 detsch * bin/CheckDependencies: Added support for BuildDependencies (applies only on Recipes). Small cleanup on 'get_rules_for' function. 2006-07-29 18:47 detsch * bin/CheckDependencies: Changed function find_dependencies_file to find_dependencies_files (not it returns a list of files). 2006-07-29 18:41 detsch * bin/CheckDependencies: Better handling of empty/invalid lines on dependencies files. Small identation adjustments. 2006-07-26 19:50 detsch * Makefile: Added DescribeProgram to Makefile. 2006-07-26 16:09 hisham * bin/DescribeProgram: Return an error code when a description is not found. 2006-07-26 15:50 hisham * bin/DescribeProgram: Add --mode flag. Code cleanups. 2006-07-26 15:49 hisham * Resources/Defaults/Settings/DescribeProgram.conf, bin/DescribeProgram: Moving DescribeProgram to Scripts 2006-07-26 15:22 hisham * bin/CheckDependencies: Fix typo 2006-07-26 15:05 detsch * bin/CheckDependencies: Adjustment of global_always_do variable, to allow it to be ok again when installing packages and compilling recipes on a same CheckDependencies run. Small adjustments on yes variable: it has to be lower case. 2006-07-26 14:40 hisham * bin/CheckDependencies: Change wording of question, as discussed in the mailing list. 2006-07-25 21:55 detsch * lib/python2.3/site-packages/PythonUtils.py: Handling comments and empty lines when reading files like Dependencies.blacklist. 2006-07-25 10:25 lucasvr * Resources/Defaults/Settings/Scripts/Dependencies.blacklist: Including a default Dependencies.blacklist, filled with Nvidia and Glibc packages. The entry in the wiki has just been filled, too. 2006-07-24 22:15 detsch * bin/CheckDependencies: Dependencies.blacklist support. Hardcoded Glibc as blacklisted. 2006-07-24 22:08 detsch * lib/python2.3/site-packages/PythonUtils.py: Support for file-based settings (i.e., the whole file is returned, not only a specific attribute). 2006-07-24 12:22 lucasvr * Resources/Defaults/Settings/UpdateSettings.conf: Adding an UpdateSettings.conf with 'auto' mode set as default. 2006-07-24 12:08 lucasvr * src/List.c: Printing the broken link instead of a strerror message. 2006-07-23 20:12 hisham * bin/CheckDependencies: fix propagated typo 2006-07-23 20:11 hisham * bin/GrepQuick: Make filenames easier to spot and to copy-n-paste 2006-07-23 20:10 detsch * bin/CheckDependencies: Fixed exit code (now returns success) when there is no missing dependency. 2006-07-23 18:05 hisham * bin/ScriptFunctions: Silence out error for when ScriptFunctions is sourced within Python scripts 2006-07-23 01:10 detsch * bin/CheckDependencies: Removed an erroneous 'echo'. 2006-07-23 00:36 detsch * bin/CheckDependencies: Better question messages. Placed 'main' inside a 'try: except' block for KeyboardInterrupt. Added --quiet-progress option. 2006-07-22 11:54 hisham * bin/SandboxInstall: Cleanup tmp more aggressively (for Tetex) 2006-07-22 10:30 hisham * Functions/Log, bin/Dependencies, bin/InstallPackage: Dependencies: Only retry when an attempted command returns a "not found" code. Have it die when a dependency is not filled, but add a --keep-going mode to revert to the old behavior in InstallPackage. Die_With: a function to have scripts die with a custom error code. 2006-07-21 20:46 detsch * bin/SymlinkProgram: Respecting '--relative' when linking Environment file. 2006-07-21 00:36 lucasvr * src/Makefile: Ensuring that all files have their executable bit set (fixes problems with permissions on CVS). 2006-07-20 14:14 lucasvr * bin/SymlinkProgram: Specifying the cache and config file for ldconfig so that it also runs fine when cross-compiling. 2006-07-19 12:20 hisham * bin/PrepareProgram: Make PrepareProgram respect the given capitalization. This is necessary in order to maintain consistency with Compile, when two programs diferring only in capitalization exist in /Programs. (It's an erroneous condition, I know, but the new behavior at least works -- in the old one, it would PrepareProgram with one dir and build relative to another.) Perhaps GuessProgramCase(?) should scream and shout when it finds two entries diferring only in capitalization. 2006-07-19 12:06 hisham * bin/SandboxInstall: Check earlier, to avoid weird errors. 2006-07-18 11:24 lucasvr * bin/AddUser: Fixes a bug in the "full-name" test: if the last command in the "||" block succeeded, the "&&" condition would also evaluate true, replacing the user's full name by a blank string. 2006-07-14 15:54 lucasvr * bin/Dependencies: Adding back "^" to the blacklist array; Moved FilterLines to a single 'cat' pipeline. 2006-07-14 13:59 lucasvr * bin/Dependencies: Added a check to blacklist before asking for the update of undesired packages; Moved the blacklist construction to the top of the file; Removed "^" before "$app" in the blacklist construction, as it was being included as a printable character (I guess it was not the intention, right?). 2006-07-10 17:33 lucasvr * Resources/Defaults/Settings/Scripts/UpdateSettings.conf, bin/UpdateSettings: Rollback: changing the default mode in the conf file instead, as suggested by Dan. 2006-07-10 12:10 lucasvr * bin/UpdateSettings: Set 'quick' as default on UpdateSettings. 2006-07-10 12:09 lucasvr * bin/SandboxInstall: Remove temporary files left at /System/Variable/tmp 2006-07-10 11:59 lucasvr * Functions/GoboLinux: Added missing quotes to avoid problems with evaluations on null parameters. 2006-07-10 02:17 hisham * Functions/GoboLinux: avoid endless recursion on Release_Superuser 2006-06-27 11:26 lucasvr * Resources/Defaults/Settings/Scripts/CompatibilityList: Added 'MesaLib -> Mesa' entry. 2006-06-26 20:21 detsch * bin/CreatePackage: Removing Resources/Defaults/Settings directory, is empty. 2006-06-26 17:17 lucasvr * bin/GetAvailable: Fixed TABs. 2006-06-25 18:33 detsch * Makefile: Avoiding error messages on Makefile 'rm'. 2006-06-24 13:43 drmoose * Functions/Hints, Resources/Defaults/Settings/Scripts/UpdateSettings.conf, bin/UpdateSettings: UpdateSettings has changed auto_merge was made safer Yes, this is Haiku. An announcement will soon be made on the -devel list describing the change 2006-06-22 18:25 lucasvr * Functions/File, bin/GetAvailable: Added https support. 2006-06-15 14:42 lucasvr * bin/NoRecipe: needs to pass --type=recipe so that we don't mix with installed,official and contrib binary packages. 2006-06-15 02:46 lucasvr * bin/NoRecipe: Calling FindPackage by default, which can be disabled with '--no-web'. 2006-06-14 21:16 hisham * bin/CreateRootlessEnvironment: Improve zsh detection. 2006-06-14 21:11 hisham * bin/CreateRootlessEnvironment: Bump version number for Scripts 2006-06-14 20:45 drmoose * Resources/Defaults/Settings/bashrc, Resources/Defaults/Settings/completion.bash, bin/CreateRootlessEnvironment: Several rootless-related bugfixes brought to my attention by Marco Cagnoli 2006-06-14 19:39 drmoose * Functions/Array, Functions/File, Functions/GoboLinux, Functions/Hints, Functions/HintsFileParser.rb, Functions/String, Functions/Versions, bin/UpdateSettings: Committing an implementation of my UpdateSettings proposal, described at http://www.wotfun.com/pipermail/gobolinux-devel/2006-June/001119.html 2006-06-14 16:31 hisham * bin/Dependencies: Adding relevant documentation, as suggested by Andre 2006-06-06 20:48 hisham * Resources/Wrappers/Edit: Don't pass "" when no arguments were given. 2006-06-06 09:20 drmoose * Functions/GoboLinux: [no log message] 2006-06-06 02:05 hisham * bin/: SandboxInstall, SymlinkProgram: Update notes in --help. 2006-06-05 21:39 drmoose * bin/KillProcess: Fixed 'is a directory' Parse_Conf bug. 2006-06-05 15:27 lucasvr * src/List.c: Fixed output for large files (>4gb), as reported by Hisham. 2006-06-05 14:45 hisham * bin/SymlinkProgram: silence harmless error 2006-06-03 21:59 hisham * Functions/GoboLinux, Resources/Defaults/Settings/zshrc, bin/CheckDependencies, bin/FindPackage, bin/GetAvailable, bin/GoboPath, bin/TemplateScript, lib/python2.3/site-packages/PythonUtils.py: goboUserSettings is no longer relative to $HOME. Instead, its typical value now is $HOME/.Settings. Removed hardcoded instances of ~/.Settings. COMPILE ======= 2006-08-10 14:46 mohjive * bin/: Compile, MakeRecipe, NewVersion, RecipeLint: * Change recipe type declarations * added checks for svn variables 2006-08-10 13:37 hisham * bin/GenRecipeStore: Fix documentation, die properly on error. 2006-08-10 13:35 hisham * bin/RecipeLint: Fixed checks that were not being performed correctly (thanks to Lucas for the report). Added missing checks. RecipeLint is now stricter than ever. ;) 2006-08-10 13:06 hisham * bin/RecipeLint: Revert: this is a _lint_ tool: it's not about cutting corners. ;) 2006-08-10 13:04 hisham * bin/Compile: Reuse makefile logic in xmkmf recipes 2006-08-10 12:04 lucasvr * bin/RecipeLint: Added unmanaged_files to the list of supported constructions; Removed Glibc from the list of dependency checkings. 2006-08-09 22:18 mohjive * bin/Compile: Changing to check for direct dependencies before calling post_install() 2006-08-07 19:52 mohjive * bin/Compile: reverted to old behaviour regarding exit(0) and a small test fix 2006-08-07 19:22 hisham * bin/Compile: Add missing quote 2006-08-07 19:18 mohjive * bin/Compile: * added check for direct dependencies * moved exit(0) out of cleanup (one might want to do things after wrapup) * moved call of post_install to after wrapup - files are installed in wrapup 2006-08-07 18:41 mohjive * bin/Compile: converted tabs to three spaces 2006-08-07 18:05 mohjive * bin/Compile: * added some cleanup before packing the recipe * made svn nadling more "correct" 2006-08-07 11:15 lucasvr * bin/NewVersion: Replacement of tabs by 3 spaces. 2006-08-07 10:21 mohjive * Functions/Compile: added compileSupportedArchitectures variable 2006-08-07 07:49 mohjive * bin/NewVersion: Added some support for arch-specific recipes 2006-08-06 18:42 mohjive * bin/NewVersion: Simplified the version substitution entry 2006-08-06 18:29 mohjive * bin/NewVersion: Updated path in message to correct path 2006-08-04 18:19 lucasvr * Resources/Defaults/Settings/Compile/Cross/: Cross-Native.conf, empty_cache.conf: Two new files required for creating native builds from BootStrap. 2006-08-04 09:07 mohjive * bin/FetchArchive: Make cvs check case insensitive 2006-08-02 16:07 hisham * bin/Compile: Export path variables only when applying variables for .patch.in files 2006-08-02 15:05 hisham * bin/RecipeLint: Oops, this wasn't supposed to get in. 2006-08-02 14:52 hisham * bin/RecipeLint: Make recipe parser more flexible. Accept patch.in files in tarball. Be case-insensitive when checking CVS in compile_version. 2006-08-02 11:37 lucasvr * bin/RecipeLint: Added sh4 to the list of subdirectories. 2006-08-02 09:40 mohjive * bin/Compile: fixed regression with environmental variables not beeing accessable by ApplyVariables due to not beeing exported 2006-07-31 18:07 lucasvr * bin/Compile: Hisham: fixes incorrectly exported variables. 2006-07-31 00:51 lucasvr * bin/Compile: Little change in the Log_Normal messages. 2006-07-31 00:47 lucasvr * bin/Compile: Little typo fix. 2006-07-30 15:51 detsch * bin/Compile: Generating 'BuildInformation' file. Not using 'Dependencies' script anymore. 2006-07-30 11:55 lucasvr * bin/RecipeLint: Checking for wget usage on recipes. 2006-07-28 11:25 hisham * bin/RecipeLint: Check cache only once. 2006-07-28 11:07 lucasvr * bin/RecipeLint: Perform full tests if the file is cached at /Files/Compile/Archives. 2006-07-26 16:28 hisham * bin/GenRecipeStore: Added an option to pack a single recipe (or all local recipes of a program, if a version is not passed). GenRecipeStore now calls RecipeLint to perform sanity checks on the recipe. GenRecipeStore now tries to put a Resources/Description file in the recipe if one is not found, using DescribeProgram (recently 'graduated' from Manager into the Scripts package). Added --no-lint and --no-web options to allow reverting to the old behavior and being offline friendly (though the lint results when running with --no-web should be taken with a grain of salt). 2006-07-26 16:19 hisham * bin/RecipeLint: Added a --no-web option. Not sure about its usefulness, but offline users may want to run some of RecipeLint's checks. 2006-07-25 23:14 lucasvr * Resources/Defaults/Settings/Compile/Cross/: Cross-ARM.conf, Cross-Common.conf, Cross-SH4.conf: Since we make reference to host directories inside Cross-Common.conf, it's better to ensure that we're not prefixing cross dirs when parsing it. 2006-07-25 16:45 lucasvr * bin/Compile: Added '--no-dependencies' flag to Compile; Ensuring that further dependencies don't fulfill dependencies again, since the entire dependency tree is collected once. 2006-07-25 16:10 lucasvr * bin/GetRecipe: Ensuring to execute this script with paths relative to the host and not the target when cross-compiling. 2006-07-25 12:39 lucasvr * bin/Compile: Small cleanup, removing unused variables. 2006-07-24 01:39 hisham * bin/Compile: Use Temporary_File (I had totally forgotten about that!) 2006-07-23 18:05 hisham * bin/Compile: Have Compile respect CheckDependencies' error code on Ctrl-C 2006-07-23 00:33 detsch * bin/Compile: Small adjustments at dependencies checking loop. 2006-07-22 12:28 detsch * bin/Compile: Using CheckDependencies for dependencies matching. 2006-07-22 10:35 hisham * bin/Compile: Added a cleanup function for failure terminations as well. Removed replication of install_extras, and had it happen later in the process. Return a "not found" code when Compile fails because a recipe isn't found, to play nice with Dependencies. Factored out creation of the tree into build_tree_if Use version with GuessProgramCase in case there's something in /Programs with incorrect capitalization. Have dependencies check happen earlier, so that freshly installed programs are found and used in the dependency variables (foo_path). 2006-07-20 10:37 hisham * bin/MakeRecipe: Make it smarter when processing an URL that does not contain the proper archive name: try to talk to the HTTP server and fetch the Content-Disposition header to figure out what name should we save the file to. Ah, and also remove some TABS! 2006-07-20 10:11 hisham * bin/MakeRecipe: Have it detect better when package contents are stored under more than one directory level. 2006-07-14 13:56 lucasvr * bin/Compile: Fixed usage of a wrong flag to Dependencies. 2006-07-11 02:09 hisham * bin/Compile: Revert last commit, bring back the update_each_settings variable. 2006-07-11 00:41 lucasvr * bin/Compile: Removed broken test for 'update_each_settings', as it was not being referenced as a variable and there wasn't any references for it in the entire cvs. 2006-07-10 14:19 detsch * Makefile: Avoid failing when running make without arguments. 2006-06-22 18:21 lucasvr * bin/GetRecipe: Added support to https. 2006-06-21 15:51 lucasvr * Resources/Defaults/Settings/Compile/Cross/sh4_cache.conf: Added an autoconf cache file for SH4. 2006-06-21 13:26 lucasvr * Resources/Defaults/Settings/Compile/Cross/arm_cache.conf: Defaults to y on ac_cv_sysv_ipc 2006-06-20 12:21 lucasvr * bin/MakeRecipe: Let NamingConventions deduce the package's name, as FindPackage can return a URL, making packagename to be "recipe-store". 2006-06-18 12:09 hisham * doc/README: Updated manifest info with docs from http://wiki.gobolinux.org/Recipe_format_specification Added info on docs. We should probably do away with this README and ship a copy of the recipe format spec wiki page instead (with a better name such as Recipe_format_specification.txt (or even html). 2006-06-18 11:45 lucasvr * doc/README: added a practical example to the use of manifest= 2006-06-10 14:22 lucasvr * doc/README: documented pre_patch() _______________________________________________ gobolinux-devel mailing list gobolinux-devel@lists.gobolinux.org http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel