summaryrefslogtreecommitdiffstats
path: root/bitbake/bin/bitbake
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: bitbake: Switch to post release versionRichard Purdie2016-04-291-1/+1
| | | | | | (Bitbake rev: 309f5907a3661821e041ed14645b5d165007b058) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Update version to 1.30.0Richard Purdie2016-04-061-1/+1
| | | | | | (Bitbake rev: 292bffc8412cd0ddc0c6d16e872c7801e1a67890) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Bump version to 1.29.1Richard Purdie2016-03-311-1/+1
| | | | | | (Bitbake rev: 2f6be16c274974be5eb07641374d691ef049fe76) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Bump version post release to 1.29.0Richard Purdie2016-02-121-1/+1
| | | | | | (Bitbake rev: da1107a2c2331b3335c7bd46821edcb1933a0ff8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake/lib: Update version to 1.28.0Richard Purdie2015-10-011-1/+1
| | | | | | (Bitbake rev: 3e63abc6977bd5ef52ccb4d3757536bd564dfd34) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Bump version to 1.27.1Richard Purdie2015-06-091-1/+1
| | | | | | (Bitbake rev: 430f7a288b4446600b3a943c51f6711ffcf9e619) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: use sys.exit to simplify the codeEd Bartosh2015-04-291-8/+5
| | | | | | | | | | | Used sys.exit instead of assigning exit code to variable. This way it's more clear when bitbake exists and which exit code is used. (Bitbake rev: 5ecb8817bd49223652ede4fe513f1a42f2196798) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Check if bitbake versions matchEd Bartosh2015-04-291-0/+4
| | | | | | | | | | | | | | | | Bitbake program and core versions must match. Moved __version__ from main.py back to bin/bitbake. Implemented check for version match in bin/bitbake. (Bitbake rev: 2fe7d8c574ddf6a30278cff1a5a5c4089dc56d6d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> tbs Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Handle BBMainExceptionEd Bartosh2015-04-291-1/+4
| | | | | | | | | | | | | | | | Some error messages were lost because BBMainException was inherited from bb.BBHandledException. When bb.BBHandledException is processed error messages are not printed as they suppose to be printed before raising this exception. Stopped to inherit BBMainException from bb.BBHandledException. Handled BBMainException in bin/bitbake and printed error message to the stderr. (Bitbake rev: c8e2a40c4e9865ebef9936d23644f2602a5c90f5) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bin/bitbake: Create bitbake_main APIEd Bartosh2015-03-251-357/+6
| | | | | | | | | | Moved most of functionality of bin/bitbake to lib/bb/main.py to be able to call bitbake from python code. (Bitbake rev: d377f7f88d73f4e5d2dffef03d6acee809827ac6) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bin/bitbake: only check that /dev/shm is writable on LinuxRoss Burton2015-01-211-2/+2
| | | | | | | (Bitbake rev: 7a87ca9518f7239a2dfeb4576c59ea7b1f8d3071) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: add option to write offline event log fileAlexandru DAMIAN2014-12-181-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a "-w/--write-log" option to bitbake that writes an event log file for the current build. The name of the file is passed as a parameter to the "-w" argument. If the parameter is the empty string '', the file name is generated in the form bitbake_eventlog_DATE.json, where DATE is the current date and time, with second precision. The "-w" option can also be supplied as the BBEVENTLOG environment variable. We add a script, toater-eventreplay, that reads an event log file and loads the data into a Toaster database, creating a build entry. We modify the toasterui to fix minor issues with reading events from an event log file. Performance impact is undetectable under no-task executed builds. (Bitbake rev: 1befb4a783bb7b7b387d4b5ee08830d9516f1ac2) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Update to 1.25.0 as development version after releaseRichard Purdie2014-12-031-1/+1
| | | | | | (Bitbake rev: 94d9590a4310f96396e8e782bcf65918f4dcdb36) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: clarify startup messageAlexandru DAMIAN2014-10-301-1/+1
| | | | | | | | | | Fix the startup message by making clear which server runs on which port. (Bitbake rev: 26d601ab2a677a422bab425696a2cf6357ff3576) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bin/bitbake: Update to version 1.24.0Richard Purdie2014-09-231-1/+1
| | | | | | (Bitbake rev: 637ce8df2658e4905fab8a0600a45505596bf472) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bin/bitbake: Update to version 1.23.2Richard Purdie2014-09-111-1/+1
| | | | | | (Bitbake rev: e24095f54c52a547c0462836586a5d716249036e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: remove choices for dump-signaturesRobert Yang2014-07-241-1/+1
| | | | | | | | | The SIGNATURE_HANDLER can be defined by the user, so we can't use choices. (Bitbake rev: 0036b36e333a68c6d30a6bf5c21bfd4fd3e8441b) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: "per-package" should say "per-recipe"Robert P. J. Day2014-07-231-1/+1
| | | | | | | (Bitbake rev: 1cd369883469747a8158826bb8d67dcca2a8577f) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: update help message for dump-signaturesRobert Yang2014-07-211-2/+2
| | | | | | | | | | | | | | | | | The bitbake -S had been updated which always reuires an argument, so update the help info: - Add the two args in the help message: none and printdiff - Use type="choice" so that we can get more friendly error messages, for example: bitbake: error: option -S: invalid choice: 'printdiffX' (choose from 'none', 'printdiff') - dump-signatures=DUMP_SIGNATURES -> dump-signatures=SIGNATURE_HANDLER (Bitbake rev: 021b778fa4685bdde39e1a0f6c7c57632dcf792a) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: xmlrpc: add support for token reusingAlexandru DAMIAN2014-06-131-1/+7
| | | | | | | | | | | | | | | | | | | | We add support to specify a connection token in the command line and in the environment variable BBTOKEN. When a client registers to a bitbake server, that client will have exclusive access to the server. The client is identified by a server-supplied token. If a client terminates, we cannot reconnect to the server as the token is lost. This patch adds the capability to specify the connection token in the command line for xmlrpc clients. This allows us to have bitbake work as an already-authenticated client with the server and resume sending commands to a server. (Bitbake rev: db5390940c0afbcdc9fbcf1225761968ae51d4a7) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update toaster to run in managed modeAlexandru DAMIAN2014-06-061-18/+16
| | | | | | | | | | | | | | We disable bitbake self start to prevent race condition. ToasterUI will shutdown the server when the build is done if running in managed mode. We fix usage of kill server flag in the bitbake binary. (Bitbake rev: 30159dbda3a40fa596302f91c705cb5f148c97a9) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: xmlrpc: client - remove fatal errorsAlexandru DAMIAN2014-06-061-10/+13
| | | | | | | | | | | | | | | | | | | | | When we use the XMLRPC client API to connect to a bitbake server, we want to receive errors from the API instead of having the API exiting without warning. Thus the "bb.fatal" calls have been replaced with "bb.warn" calls, and we re-raise the original exception for handling by the original caller. The bitbake starting script has been modified to properly test for failures in calling the client API and handle them. Additional error handling added in the client, as to prevent fatal crashes. (Bitbake rev: eb63f08c33644f64752aaae2146a000956ce894a) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: move configuration reading codeAlexandru DAMIAN2014-06-061-1/+22
| | | | | | | | | | | | | | | The configuration reading code should live in the main bitbake entry point, and the server modules should be supplied with correct configuration instead of attempting to parse from configuration files. This patch moves the endpoint address reading from XMLRPC to the bitbake main script. (Bitbake rev: ac5753274ff932e1d6f073ab4dab7bd6fe5355a1) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Bump version to 1.23.1Richard Purdie2014-05-011-1/+1
| | | | | | (Bitbake rev: c40a4100ddb841d231360344616e59ab98e61fb5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Update to version 1.23.0 for masterRichard Purdie2014-04-101-1/+1
| | | | | | (Bitbake rev: bb4980c63db386ce7d30d9a6b86e9f3861b3bc3a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Update to version 1.22.0Richard Purdie2014-04-101-1/+1
| | | | | | (Bitbake rev: a8a32de0fb74ff63e5490e3b5e4419146a8f7367) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bin/bitbake: Only try and process an event_queue if it existsRichard Purdie2014-03-301-1/+1
| | | | | | | | | The connection may have failed before the event queue has been setup. Handle this correctly in the exception handler. (Bitbake rev: db4d80b5c2d32117cdf06333b9627202998b1512) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bin/bitbake/cooker: Ensure initial featureset is optimalRichard Purdie2014-03-301-7/+9
| | | | | | | | | | | | | If the featureset didn't match the defaults, we'd pay the price of two base configuration parses which showed up adversely in the performance benchmarks. This also passes the feature set into the cooker creation so in the common case we don't have to reset the server. This speeds up both knotty and hob startup. If the featureset doesn't match, the system will reset as before, this just streamlines the common case. (Bitbake rev: 1249543c4dbf3edeac033d888497864cfc807a4e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Force -S option to take a parameterRichard Purdie2014-03-271-2/+2
| | | | | | | | | | | | | There is no easy way to make this change. We really need parameters for the -S (dump signatures) handling code. Such a parameter can then be used within the codebase to handle the signatures in different ways. For now, "none" is the recommended default and "printdiff" will execute the new (and more expensive) comparison algorithms. (Bitbake rev: b9873588696507dfb6aade6821f6f75cb9a19e0a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: fix typo in variable nameRoss Burton2014-03-111-1/+1
| | | | | | | | | | When passing -t with an incorrect server type, the error message was using a variable that doesn't exist. (Bitbake rev: 98b991287df06cd89955c1d0591fce3b5d4403d1) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add two-stage commit startup logicAlexandru DAMIAN2014-01-071-0/+1
| | | | | | | | | | | | | | | | | Toaster start script lunches multiple process components of the toaster system. This patch adds logic into the startup script to safely fail startup and do proper cleanup on any error that may happen during system start. Bitbake needs to return 0 if it will successfully lunches the server-mode. (Bitbake rev: f43d284e7ae752049711d8215a6020bee6966d45) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Update to version 1.21.1 for masterRichard Purdie2013-12-201-1/+1
| | | | | | (Bitbake rev: 4cc6e61fe11eb233bdba7c1bdc110b8cdafa56f8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake.lock: Add host:port to bitbake.lock for memres serverJason Wessel2013-12-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea is to build on the --status-only option for bitbake and expose a mechanism where the oe init scripts can easily switch between memres server and the non-memres server. In the case of the standard oe init script the following can shut down the server: if [ -z "$BBSERVER" ] && [ -f bitbake.lock ] ; then grep ":" bitbake.lock > /dev/null && BBSERVER=`cat bitbake.lock` bitbake --status-only if [ $? = 0 ] ; then echo "Shutting down bitbake memory resident server with bitbake -m" BBSERVER=`cat bitbake.lock` bitbake -m fi fi A similar function can be used to automatically detect if the server is already running for the oe memres init script. This new functionality allows for the memres init script to be started in a new shell and connect up to an alaready running server without seeing the error of trying to start the server multiple times. (Bitbake rev: b1803958de8d7c3c3279841e38604a08dc2316cc) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake, xmlrpc.py: Implement memory resident auto port ↵Jason Wessel2013-12-021-0/+10
| | | | | | | | | | | | | | | | | | | | | | configuration/restart This patch adds the ability to dynamically select a port for the bitbake memory resident server when the BBSERVER port is set to -1. This allows for running multiple instances of the bitbake memory resident server on the same system in different build directories. The client portion of the bitbake instance can also request that the server automatically start when using the auto port feature. This is to deal with a bitbake instance that eventually times out and exits or that has died for some unknown reason. The new functionality allows for lazy startup of the server after sourcing the init script for the memory resident functionality. (Bitbake rev: d6abc07ff385357d312d8435b89e0a9c1f965433) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Add --status-only optionJason Wessel2013-12-021-1/+14
| | | | | | | | | | | The --status-only option is purely to check the health of the server. The idea is to use it from the oe environment script so as to know if the server needs to be started or not. (Bitbake rev: 46b26ef5c27bfa9c91680f494f02750305b8098c) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Update post 1.20 to development versionRichard Purdie2013-10-141-1/+1
| | | | | | (Bitbake rev: 03d051b6da52ec4ee26f97aa9038622f8d87e55d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bin/bitbake: Clarify server error messageRichard Purdie2013-10-071-2/+2
| | | | | | | | | Getting an error message about --remote-server being set when really BBSERVER was is confusing, clarify the message. (Bitbake rev: d7b5938a30a9b0ed83f899a06a88786e8392f8bd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bin/bitbake: Clear ui-queue when starting a serverRichard Purdie2013-10-071-0/+1
| | | | | | | | | | When starting a server we don't want to show the debug event queue which is reserved for when when errors have occurred. This patch copies the UI code to ensure the user doesn't see confusing output. (Bitbake rev: a886cda58415085981646fb9a024fa7641f55865) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bin/bitbake: No need to show tracebacks for BBHandledExceptionsRichard Purdie2013-10-071-0/+2
| | | | | | | | | | For BBHandledExceptions, we've already displaced a sensible error to the user so we don't need to do it again. Just exit with an error value. (Bitbake rev: 1ff5ec26eba70ab1c85674a60b7dac77317bf349) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bin/bitbake: Catch establish connection log messagesRichard Purdie2013-10-071-2/+2
| | | | | | | | | | If for example you try "bitbake -m" with an invalid BBSERVER, error messages are not displayed. This change ensures logging is in place to catch and display such errors. (Bitbake rev: 719808f95adc7820fcc09743c592513414d03ce1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Update to version 1.20.0Richard Purdie2013-09-241-1/+1
| | | | | | (Bitbake rev: 2666865a27cedbffc82800b4cab1d6cff5a0222e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bin/bitbake: Improve --help textRichard Purdie2013-09-221-30/+29
| | | | | | | | | | | | | | | | The --help text was rather inconsistent in style and plain incorrect in places, using confusing terminology in others. I guess most people know what the options do and don't read this but its confusing to new users. This updates it to use the terms recipe and task consistently, remove the references to stage, bbread and generally try and make the output more useful. [YOCTO #4856] (Bitbake rev: 516311946c7bd14c84947dc44c3bb0563e5a9667) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: cooker,xmlrpc,servers: implement CookerFeaturesAlexandru DAMIAN2013-09-221-20/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implementing feature set selection that allows a client to enable specific features in the server at connection time. Only enabling of features is supported, as there is no way to safely remove data loaded into the cooker. Once enabled, a feature will remain enabled for the life of the cooker. Client-server connection now supports specifying the feature set required by the client. This is implemented in the Process server using a managed proxy list, so the server cooker will now load dynamically needed features based on what client connects to it. In the XMLRPC server the feature set is requested by using a parameter for registerUIHandler function. This allows observer-only clients to also specify features for the server. The server code configuration now is completly separated from the client code. All hardcoding of client knowledge is removed from the server. The extra_caches is removed as the client can now specify the caches it needs using the feature. The UI modules now need to specify the desired featureSet. HOB is modified to conform to the featureSet specification. The only feature available is CookerFeatures.HOB_EXTRA_CACHES which forces loading the bb.cache_extra:HobRecipeInfo class. (Bitbake rev: 98e594837aab89ea042cfa9f3740d20a661b14e2) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: read BBSERVER environement for remote serverAlexandru DAMIAN2013-06-171-0/+9
| | | | | | | | | | | This change allows bitbake to connect to a remote server by reading the BBSERVER environment variable and effecting the config. Basically a shortcut to the command line parameters. (Bitbake rev: 81929f86c57ed0a4ad0cda7aaa820fceabaa61e9) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: knotty, bitbake: add option to terminate a remote serverAlexandru DAMIAN2013-06-171-0/+3
| | | | | | | | | | I add an option to terminate a remote server gracefully as not to need a kill command. (Bitbake rev: 7495f835666a9561c2c7d84da7aaa74e4df55b9a) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: knotty, xmlrpc: add observer-only modeAlexandru DAMIAN2013-06-171-1/+7
| | | | | | | | | | | | | | | | | | | | | I add an observer only mode for the knotty UI and the XMLRPC server that will allow the UI to register a callback with a server in order to receive events. The observer-UI is able to send read-only commands to the server, and also is able to register as an event handler. Read-only commands are the commands that do not change the state of the server and have been marked as such in the command module. The observer can switch to a full client if it calls addClient at any time, and the server has no other client running. (Bitbake rev: 4de9ee21f1fa4d04937cc7430fb1fc8b7a8f61e2) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Update version to 1.19.1Richard Purdie2013-06-141-1/+1
| | | | | | (Bitbake rev: 6acd444a557bba977ae1772371fdadf5f510e3b6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Improve remote server handlingAlexandru DAMIAN2013-06-071-2/+3
| | | | | | | | | | | Two fixes in bitbake related to running remote servers - * can now specify correctly the bind port * the information in print conforms to common server infrastructure (Bitbake rev: b657208ee15ae065e5fcc2dd6e0051e03d246727) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: xmlrpc remote serverAlexandru DAMIAN2013-05-301-2/+15
| | | | | | | | | | | | | | | | Added code in XMLRPC server that creates a stub local server for a client-only connection and is able to connect to a remote server, and receive events from the remote server. Added the option to start a client with a remote server in bitbake. Original code by Bogdan Marinescu <bogdan.a.marinescu@intel.com> (Bitbake rev: 25b2af76104d5aaf6435de8c158e0407512f97ce) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: move start server code in a separate functionAlexandru DAMIAN2013-05-301-35/+41
| | | | | | | | | | | This is a code sanitization targeted at making further server-related changes easier (launch a server separately or creating a mockup-server) to do. (Bitbake rev: eac00258d213137ef73aed255c92b7981e2f1c75) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>