aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jjb/ci-apps-verify/ci-apps-jjb.yaml1
-rw-r--r--jjb/common/include-apps-build-app-by-recipe.sh140
2 files changed, 141 insertions, 0 deletions
diff --git a/jjb/ci-apps-verify/ci-apps-jjb.yaml b/jjb/ci-apps-verify/ci-apps-jjb.yaml
index afc3b309..21959533 100644
--- a/jjb/ci-apps-verify/ci-apps-jjb.yaml
+++ b/jjb/ci-apps-verify/ci-apps-jjb.yaml
@@ -546,6 +546,7 @@
- ../common/include-apps-fetch-install-sdk.sh
- ../common/include-apps-build-app.sh
- ../common/include-apps-prepare-upload-folder-merged.sh
+ - ../common/include-apps-build-app-by-recipe.sh
#- ../common/include-apps-rsync-download-apprepo.sh
diff --git a/jjb/common/include-apps-build-app-by-recipe.sh b/jjb/common/include-apps-build-app-by-recipe.sh
new file mode 100644
index 00000000..c3d9ea23
--- /dev/null
+++ b/jjb/common/include-apps-build-app-by-recipe.sh
@@ -0,0 +1,140 @@
+#!/bin/bash
+# (c) 2016 Jan-Simon Moeller dl9pf(at)gmx.de
+# License GPLv2
+#
+# debugging purposes
+set -e
+
+################################################################################
+# build the app
+################################################################################
+
+# fallback
+if test -z "${GERRIT_PROJECT}"; then
+ export GERRIT_PROJECT="apps/settings"
+fi
+if test -z "${GERRIT_BRANCH}"; then
+ export GERRIT_BRANCH="master"
+fi
+if test -z "${GERRIT_REFSPEC}"; then
+ export GERRIT_REFSPEC="refs/tags/icefish_8.99.4"
+fi
+if test -z "${GERRIT_HOST}"; then
+ export GERRIT_HOST="gerrit.automotivelinux.org"
+fi
+
+# apply GERRIT_*
+if test -n "${GERRIT_PROJECT}"; then
+ export TARGETPROJECT="${GERRIT_PROJECT}"
+fi
+if test -n "${GERRIT_BRANCH}"; then
+ export TARGETBRANCH="${GERRIT_BRANCH}"
+fi
+if test -n "${GERRIT_REFSPEC}"; then
+ export TARGETREFSPEC="${GERRIT_REFSPEC}"
+fi
+
+
+ls
+pwd
+
+
+HANDLED="no"
+
+# Projects in apps/*
+###################
+if [[ ! x"yes" = x"$HANDLED" ]] && $(echo "$TARGETPROJECT" | grep -q "apps/"); then
+
+ MYPROJECT=`echo $TARGETPROJECT | sed -e "s#apps/##g"`
+
+ # clone git
+ rm -rf ${MYPROJECT}
+ git clone --recurse-submodules --recursive https://${GERRIT_HOST}/gerrit/${GERRIT_PROJECT}.git
+ pushd ${MYPROJECT}
+ git log -1 --pretty=oneline
+ if test x"" != x"${TARGETREFSPEC}" ; then
+ git fetch origin ${TARGETREFSPEC}
+ git reset --hard FETCH_HEAD
+ else
+ # try
+ # GERRIT_CHANGE_NUMBER="9551"
+ # GERRIT_PATCHSET_NUMBER="2"
+ if ( test x"" != x"${GERRIT_CHANGE_NUMBER}" -a x"" != x"${GERRIT_PATCHSET_NUMBER}" ) ; then
+ pip install --user git-review
+ git review -d ${GERRIT_CHANGE_NUMBER},${GERRIT_PATCHSET_NUMBER}
+ fi
+ sleep 2
+ # if not reset, we leave it to master
+ fi
+
+ # update git submodules
+ if test -f .gitmodules ; then
+ git submodule init && git submodule update
+ fi
+
+ git log -1 --pretty=oneline
+
+ # Fixme: use aglbuild script
+ #set -x
+ MYPROJSRC=`pwd`
+ popd
+
+ mkdir AGL
+ pushd AGL
+ repo init --reference=/opt/AGL/preclone -q -b $TARGETBRANCH -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo
+ repo sync --force-sync -d -j12
+
+ source meta-agl/scripts/aglsetup.sh -m qemux86-64 agl-demo agl-devel agl-voiceagent-alexa agl-cluster-demo
+
+################################################################################
+## auto.conf inclusion of mirrors
+################################################################################
+
+export DLHOST="http://download.automotivelinux.org/"
+if test x"" = x"${GERRIT_BRANCH}"; then
+ export DISTROBRANCH="master"
+else
+ export DISTROBRANCH="${GERRIT_BRANCH}"
+fi
+cat << EOF >> conf/auto.conf
+PREMIRRORS = "\
+git://.*/.* ${DLHOST}/AGL/mirror/ \n \
+ftp://.*/.* ${DLHOST}/AGL/mirror/ \n \
+http://.*/.* ${DLHOST}/AGL/mirror/ \n \
+https://.*/.* ${DLHOST}/AGL/mirror/ \n \
+ "
+
+EOF
+
+if test x"YES" != x"${DISABLE_SSTATE_MIRROR}" ; then
+
+cat << EOF >> conf/auto.conf
+SSTATE_MIRRORS = " \
+ file://.* ${DLHOST}/sstate-mirror/${DISTROBRANCH}/\${DEFAULTTUNE}/PATH \n \
+ "
+#
+#file://.* file:///opt/AGL/sstate-mirror/\${MACHINE}/PATH \n
+#
+
+IMAGE_FSTYPES_remove = "ext3"
+SSTATE_DIR = "\${TOPDIR}/sstate-cache/\${MACHINE}/"
+
+EOF
+
+fi
+
+
+ # do externalsrc for the app build
+cat << EOF >> conf/auto.conf
+#
+INHERIT += "externalsrc"
+EXTERNALSRC_pn-${MYPROJECT} = "${MYPROJSRC}"
+
+EOF
+
+ cat conf/auto.conf
+
+ bitbake $MYPROJECT
+
+ HANDLED="yes"
+fi