034256c7d11cc725b22f55fdbe2908ef727cd386
[AGL/meta-agl.git] / templates / base / 01_setup_pkg_revision.sh
1 # use a function to be neutral with other fragments
2 function 01_setup_pkg_revision() {
3     # BASH_SOURCE can't be used as this fragment is concatenated in a larger script
4     local THIS=meta-agl/templates/base/01_setup_pkg_revision.sh
5
6     # RPMREVISION and LOCALCONF must be set previously in the setup script
7     [[ -z "$RPMREVISION" || -z "$LOCALCONF" ]] && return 0
8
9     echo "INFO: using RPM revision schema $RPMREVISION"
10
11     cat <<EOF >> $LOCALCONF
12
13 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
14 # fragment {
15 # generated by $THIS "$RPMREVISION"
16 #
17
18 EOF
19
20     case "$RPMREVISION" in
21         prservice*)
22             [[ $RPMREVISION =~ ^prservice(:([^ \t\n]+))?$ ]] && {
23                 echo "PRSERV_HOST ?= \"${BASH_REMATCH[2]:-localhost:0}\"" >> $LOCALCONF
24             } || {
25                 echo "ERROR ($THIS): invalid address specified for PR Service"
26                 return 1
27             }
28             ;;
29         timestamp)
30             AGL_PR=$(date --utc '+%Y%m%d.%H%M%S')
31             cat <<'EOF' >> $LOCALCONF
32 # to re-generate AGL_PR the same way as aglsetup does, run:
33 #   echo "AGL_PR ?= \"$(date --utc '+%Y%m%d.%H%M%S')\""
34 EOF
35             echo "AGL_PR ?= \"${AGL_PR}\"" >> $LOCALCONF;
36             cat <<'EOF' >> $LOCALCONF
37 PKGR = "${PR}${EXTENDPRAUTO}.${AGL_PR}"
38 PKGV = "${@ '${PV}'.replace('AUTOINC','${AGL_PR}')}"
39 BB_HASHBASE_WHITELIST_append = " PKGR PKGV"
40 EOF
41             ;;
42         value:*)
43             echo "AGL_PR ?= \"${RPMREVISION#value:}\"" >> $LOCALCONF;
44             cat <<'EOF' >> $LOCALCONF
45 PKGR = "${PR}${EXTENDPRAUTO}.${AGL_PR}"
46 PKGV = "${@ '${PV}'.replace('AUTOINC','${AGL_PR}')}"
47 BB_HASHBASE_WHITELIST_append = " PKGR PKGV"
48 EOF
49             ;;
50         none)
51             # do nothing
52             ;;
53         *)
54             echo "ERROR ($THIS): unknown package revision method '$REVISION'"
55             return 1
56             ;;
57     esac
58
59     cat <<'EOF' >> $LOCALCONF
60
61 #
62 # }
63 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
64 EOF
65
66 }
67
68 01_setup_pkg_revision