Add a method to re-use meta data from stx repo

StarlingX has many repos to maintain meta data (patches and config files)
for packages, previously we added a local copy of those files as bitbake's
metadata for each recipe which may cause maintenance issue.

So add a method to avoid that, which includes:

* Add new recipes stx-${STX_REPO}-source for thoes stx git repo and put
  them into the work-shared directory so they can be used by other recipes
  that need the stx  meta data, so it will reduce downloads and increase
  re-use.

* Add stx-source.bbclass for easily creating the work-shared recipes

* Add stx-metadata.bbclass for those recipes that need the stx meta data,
  it will add dependency on the stx-${STX_REPO}-source and redefine the
  SRC_URI before do_patch, so it can find the patches in stx repo in
  work-shard and do the patch, and other meta data like config files can
  be used in do_install, then the local copy of those meta data can be
  removed, and for the future upgrade, we don't need to manually check
  and update those meta data any more.

Issue-ID: INF-215

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Change-Id: Ieb27b4886e3cd9ccb4a9cbf63085bf28dda29549
4 files changed
tree: 8ea808ab8a4cfb5263ef3e689f7c9dde2a997890
  1. docs/
  2. meta-starlingx/
  3. meta-stx-oran/
  4. releases/
  5. scripts/
  6. .gitattributes
  7. .gitignore
  8. .gitreview
  9. .readthedocs.yaml
  10. INFO.yaml
  11. LICENSE
  12. README.md
  13. tox.ini
README.md

o-ran repo for Performance Tuned Infrastructure

This includes a Yocto/OpenEmbedded compatible layer meta-stx-oran and wrapper scripts to pull all required Yocto/OE layers to build out the reference platform.

meta-stx-oran layer depends on many Yocto/OE layers with 'thud' branch (Yocto version 2.6),to have a better user experience, meta-stx-oran depends on WRLinux 1018 open source version and uses wrlinux setup tools to create the build environment.

About Yocto and Wind River Linux

The Yocto Project is an open source collaboration project that provides templates, tools and methods to help you create custom Linux-based systems for embedded and IOT products, regardless of the hardware architecture.

Wind River is a founding member of the Linux Foundation's Yocto Project and continues to help maintain many Yocto Project components.

Wind River Linux is based on Yocto and is the leading free open-source Linux for the embedded industry.

How to use

Prerequisite:

$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
  build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
  xz-utils debianutils iputils-ping make xsltproc docbook-utils fop dblatex xmlto \
  python-git
* To install the required packages for CentOS 7:
$ sudo yum install -y epel-release
$ sudo yum makecache
$ sudo yum install gawk make wget tar bzip2 gzip python unzip perl patch \
  diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat \
  perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-Digest-SHA \
  python34-pip xz which SDL-devel xterm

Use wrapper script build_oran.sh to build the image

# Get the wrapper script with either curl or wget
$ curl -o build_oran.sh 'https://gerrit.o-ran-sc.org/r/gitweb?p=pti/rtp.git;a=blob_plain;f=scripts/build_oran.sh;hb=HEAD'
$ wget -O build_oran.sh 'https://gerrit.o-ran-sc.org/r/gitweb?p=pti/rtp.git;a=blob_plain;f=scripts/build_oran.sh;hb=HEAD'

$ chmod +x build_oran.sh
$ WORKSPACE=/path/to/workspace
$ ./build_oran.sh -w ${WORKSPACE}

If all go well, you will get the ISO image in: ${WORKSPACE}/prj_wrl1018_oran/tmp-glibc/deploy/images/intel-x86-64/oran-image-inf-host-intel-x86-64.iso

License

Copyright (C) 2019 Wind River Systems, Inc.

Source code included in the tree for individual recipes is under the LICENSE stated in the associated recipe (.bb file) unless otherwise stated.

The metadata is under the following license unless otherwise stated.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.