X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=src%2Fxds%2Fxds-server.git;a=blobdiff_plain;f=scripts%2Fsdks%2FREADME.md;h=97bae2111988178e5fb2d1cad68cd657f91eaae7;hp=8b741ec90c098d347ab7f671a7d715f31d983acd;hb=1a8b7603899f30f052ad123b7607b45a6d4c8772;hpb=f2eecfb601acc6c67fb52bf2edda93505bc44da5 diff --git a/scripts/sdks/README.md b/scripts/sdks/README.md index 8b741ec..97bae21 100644 --- a/scripts/sdks/README.md +++ b/scripts/sdks/README.md @@ -5,35 +5,31 @@ To support a new SDK family, you must create a new directory under Then you must create the following scripts (or executable) : -- `get-config`: returned SDK configuration structure -- `list`: returned the list of installed SDKs - `add`: add a new SDK +- `db-dump`: returned the list of available SDKs (JSON format) +- `db-update`: update SDKs database +- `get-family-config`: returned SDK family configuration structure (JSON format) +- `get-sdk-info`: extract SDK info (JSON format) from a SDK file/tarball - `remove`: remove an existing SDK -## `get-config` +## `add` -Returned SDK configuration as json format: +add a new SDK -```json -{ - "familyName": "xxx", - "description": "bla bla", - "rootDir": "/yyy/zzz", - "envSetupFilename": "my-envfilename*", - "scriptsDir": "scripts_path" -} -``` +This script returns code 0 when sdk is successfully installed, else returns an +error code. -where: +List of parameters to implement: -- `familyName` : sdk familyName (usually same name used as xxx directory) -- `rootDir` : root directory where SDK are/will be installed -- `envSetupFilename` : sdk files (present in each sdk) that will be sourced to - setup sdk environment +- `-f|--file ` : install a SDK using a file +- `--force`: force SDK install when a SDK already in the same destination directory +- `-u|--url ` : download SDK using this URL and then install it +- `-no-clean` : don't cleanup temporary files +- `-h|--help` : display help -## `list` +## `db-dump` -Returned the list all SDKs (available and installed) +Returned the list all SDKs (available and installed) using JSON format. ```json [ @@ -59,18 +55,67 @@ Returned the list all SDKs (available and installed) ] ``` -## `add` +## `db-update` -add a new SDK +Update sdk database that may be used by `list` command. + +## `get-family-config` + +Returned SDK configuration as JSON format: + +```json +{ + "familyName": "xxx", + "description": "bla bla", + "rootDir": "/yyy/zzz", + "envSetupFilename": "my-envfilename*", + "scriptsDir": "scripts_path" +} +``` + +where: + +- `familyName` : sdk familyName (usually same name used as xxx directory) +- `rootDir` : root directory where SDK are/will be installed +- `envSetupFilename` : sdk files (present in each sdk) that will be sourced to + setup sdk environment + +## `get-sdk-info` + +Extract SDK info, such as name, version, ... from a SDK tarball file (when +--file option is set) or from a url (when --url option is set). + +This script may also be used to check that a SDK tarball file is correct in +order to determine for example that the SDK family. List of parameters to implement: -- `-f|--file ` : install a SDK using a file -- `--force`: force SDK install when a SDK already in the same destination directory -- `-u|--url ` : download SDK using this URL and then install it -- `-no-clean` : don't cleanup temporary files +- `-f|--file ` : SDK tarball file used to get SDK info +- `-u|--url ` : url link used to get SDK info +- `--md5` : md5sum value used to validate SDK tarball file - `-h|--help` : display help +This script returns an error (value different from 0) and potential print an +error message. Else when info are successfully extracted, this script must +returned the following JSON structure: + +```json +{ + "name": "My SDK name", + "description": "A description", + "profile": "profile", + "version": "version", + "arch": "architecture", + "path": "", + "url": "https://website.url.to.download.sdk", + "status": "Not Installed", + "date": "2017-12-25 00:00", + "size": "123 MB", + "md5sum": "123456789", + "setupFile": "path to file to setup SDK environment" +} +``` + ## `remove` Remove an existing SDK