meta-starlingx/meta-stx-distro/classes/stx-source.bbclass
Jackie Huang 067b37abdc 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.

Story: 2008952
Task: 42576

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Change-Id: I0d07f2f6002eb0cee97ae86f95571d340de08a0b
2021-06-17 10:10:45 +08:00

37 lines
853 B
Plaintext

# This class is usd for creating source recipe for StarlingX repos,
# which will be used as a shared work directory with other recipes
STX_REPO ?= "integ"
OVERRIDES .= ":${STX_REPO}"
PROTOCOL = "https"
STX_URI = "git://opendev.org/starlingx/${STX_REPO}.git"
S = "${WORKDIR}/git"
PV = "1.0.0+git${SRCPV}"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRC_URI = "${STX_URI};protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
deltask do_configure
deltask do_compile
deltask do_install
deltask do_populate_sysroot
deltask do_populate_lic
inherit nopackages
WORKDIR = "${TMPDIR}/work-shared/${PN}"
STAMP = "${STAMPS_DIR}/work-shared/${PN}"
STAMPCLEAN = "${STAMPS_DIR}/work-shared/${PN}-*"
INHIBIT_DEFAULT_DEPS = "1"
DEPENDS = ""
PACKAGES = ""
EXCLUDE_FROM_WORLD = "1"
RM_WORK_EXCLUDE += "${PN}"