UNPKG

3.53 kBapplication/x-shView Raw
1#!/bin/bash
2# Exit on error
3set -e
4
5HOME=`pwd`
6AWK=/usr/bin/awk
7HEAD=/usr/bin/head
8GIT=/usr/bin/git
9SORT=/usr/bin/sort
10DCH=/usr/bin/dch
11PR=/usr/bin/pr
12SED=/bin/sed
13FMT=/usr/bin/fmt
14PR=/usr/bin/pr
15XARGS=/usr/bin/xargs
16CUT=/usr/bin/cut
17
18
19cd $HOME/targets
20TARGETS=(*)
21echo "Targets: $TARGETS"
22cd $HOME
23
24PKG=openhim-core-js
25
26echo -n "Which version of the OpenHIM (from NPM) would you like this package to install? (eg. 1.3.0) "
27read OPENHIM_VERSION
28
29if [ -z "$OPENHIM_VERSION" ]; then
30 echo "Please supply a valid openhim-core version."
31 exit 1
32fi
33
34echo -n "Would you like to upload the build(s) to Launchpad? [y/N] "
35read UPLOAD
36if [[ "$UPLOAD" == "y" || "$UPLOAD" == "Y" ]]; then
37 if [ -n "$LAUNCHPADPPALOGIN" ]; then
38 echo Using $LAUNCHPADPPALOGIN for Launchpad PPA login
39 echo "To Change You can do: export LAUNCHPADPPALOGIN=$LAUNCHPADPPALOGIN"
40 else
41 echo -n "Enter your launchpad login for the ppa and press [ENTER]: "
42 read LAUNCHPADPPALOGIN
43 echo "You can do: export LAUNCHPADPPALOGIN=$LAUNCHPADPPALOGIN to avoid this step in the future"
44 fi
45
46 if [ -n "${DEB_SIGN_KEYID}" ]; then
47 echo Using ${DEB_SIGN_KEYID} for Launchpad PPA login
48 echo "To Change You can do: export DEB_SIGN_KEYID=${DEB_SIGN_KEYID}"
49 echo "For unsigned you can do: export DEB_SIGN_KEYID="
50 else
51 echo "No DEB_SIGN_KEYID key has been set. Will create an unsigned"
52 echo "To set a key for signing do: export DEB_SIGN_KEYID=<KEYID>"
53 echo "Use gpg --list-keys to see the available keys"
54 fi
55
56 echo -n "Enter the name of the PPA: "
57 read PPA
58fi
59
60
61BUILDDIR=$HOME/builds
62
63
64for TARGET in "${TARGETS[@]}"
65do
66 TARGETDIR=$HOME/targets/$TARGET
67 RLS=`$HEAD -1 $TARGETDIR/debian/changelog | $AWK '{print $2}' | $AWK -F~ '{print $1}' | $AWK -F\( '{print $2}'`
68 BUILDNO=$((${RLS##*-}+1))
69
70 if [ -z "$BUILDNO" ]; then
71 BUILDNO=1
72 fi
73
74 BUILD=${PKG}_${OPENHIM_VERSION}-${BUILDNO}~${TARGET}
75 echo "Building $BUILD ..."
76
77 # Update changelog
78 cd $TARGETDIR
79 echo "Updating changelog for build ..."
80 $DCH -Mv "${OPENHIM_VERSION}-${BUILDNO}~${TARGET}" --distribution "${TARGET}" "Release Debian Build ${OPENHIM_VERSION}-${BUILDNO}. Find v${OPENHIM_VERSION} changelog here: https://github.com/jembi/openhim-core-js/releases"
81
82 # Clear and create packaging directory
83 PKGDIR=${BUILDDIR}/${BUILD}
84 rm -fr $PKGDIR
85 mkdir -p $PKGDIR
86 cp -R $TARGETDIR/* $PKGDIR
87
88 # Set NPM version of the OpenHIM to install
89 $SED -i s/OPENHIM_VERSION=/OPENHIM_VERSION=$OPENHIM_VERSION/ $PKGDIR/home/openhim/bin/install_node.sh
90 $SED -i s/OPENHIM_VERSION=/OPENHIM_VERSION=$OPENHIM_VERSION/ $PKGDIR/debian/postinst
91
92 # Install OpenHIM from NPM to get latest files to include in package
93 cd /tmp
94 TGZ=`npm pack openhim-core@$OPENHIM_VERSION`
95 tar xvzf $TGZ
96 cd /tmp/package
97 npm install --production
98 mkdir -p $PKGDIR/usr/share/openhim-core
99 mv /tmp/package/* $PKGDIR/usr/share/openhim-core
100 rm -r /tmp/package
101
102 cd $PKGDIR
103 if [[ "$UPLOAD" == "y" || "$UPLOAD" == "Y" ]] && [[ -n "${DEB_SIGN_KEYID}" && -n "{$LAUNCHPADLOGIN}" ]]; then
104 echo "Uploading to PPA ${LAUNCHPADPPALOGIN}/${PPA}"
105
106 CHANGES=${BUILDDIR}/${BUILD}_source.changes
107
108 DPKGCMD="dpkg-buildpackage -k${DEB_SIGN_KEYID} -S -sa "
109 $DPKGCMD
110 DPUTCMD="dput ppa:$LAUNCHPADPPALOGIN/$PPA $CHANGES"
111 $DPUTCMD
112 else
113 echo "Not uploading to launchpad"
114 DPKGCMD="dpkg-buildpackage -uc -us"
115 $DPKGCMD
116 fi
117done