These scripts are not a 100% solution. There are far to many variations in internal infrastructure regarding credential management, network setup, host permissions, etc. to make fully generic scripts. These scripts are based on scripts used for an internal WindRiver project and have a few extra features that might be useful.
The staging script does several things:
-
Create a local mirror from WindRiver Delivers that contains all RCPLs for a specific release.
-
Use wrlinux-x/bin/flatten_mirror.py for each RCPL to create a merged flattened directory that contains all the WRLinux content for a specific release.
The script handles both initial staging and upgrades. By default content will be cached and reused, but the cache can be deleted and recreated.
The stage.sh script takes four environment variables as input:
-
BASE - The location where the mirror and flattened tree are stored
-
REL_NUM - The WRLinux release number, i.e. 22 or 23
-
WR_USERNAME - The WindRiver Delivers account username
-
WR_PASSWORD - The WindRiver Delivers account password
Recommend at least 200GB local disk space to hold all the mirrors
The install.sh script will push all the content from the flat-final directory to a Gitlab server.
The install.sh script takes three environment variables as input:
-
BASE - The location where the mirror and flattened tree are stored
-
REL_NUM - The WRLinux release number, i.e. 22 or 23
-
GITLAB_HOST - The FQDN of the gitlab server
The script defaults to wrlx/release/WRL10_$REL_NUM/WRLinux-lts-$REL_NUM-Core as the location of the git repositories.
-
git and glab binary in $PATH
-
A valid access token with group create and push access must be located in access_token.txt
-
The script will create and set all the groups and projects to public visibility