aboutsummaryrefslogtreecommitdiffstats
path: root/jjb/common/include-apps-build-app-by-recipe.sh
blob: 628e092c92d6d1665c0451998294a12e0ebe36e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
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  --repo-branch=repo-1 --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