summaryrefslogtreecommitdiff
path: root/scripts/packaging/build-deb.sh
blob: f7dd22a0af1a0eb35964b336aabe370c2c018f4f (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
#!/bin/sh

# This script generates a debian package from your current repository tree
# (including modified and unstaged files), using the debian directory from the
# latest debian/platform-X.Y branch.
#
# In order to achieve that, what it does is:
#
#   - copy the current repository into a temporary directory.
#   - find what is the latest "debian/platform-X.Y" branch.
#   - checkout the "debian/" directory from that branch.
#   - update the "debian/changelog" file with dummy information.
#   - run "debuild -uc -us".

debemail="Leap Automatic Deb Builder <deb@leap.se>"
scriptdir=$(dirname "${0}")
gitroot=$(git -C "${scriptdir}" rev-parse --show-toplevel)
deb_branch=$(git -C "${gitroot}"  branch | grep "debian/platform" | sort | tail -n 1 | xargs)
reponame=$(basename "${gitroot}")
tempdir=$(mktemp -d)
targetdir="${tempdir}/${reponame}"

cp -r "${gitroot}" "${tempdir}/${reponame}"
git -C "${targetdir}" checkout "${deb_branch}" -- debian

(cd "${targetdir}" && DEBEMAIL="${debemail}" dch -b "Automatic build.")
(cd "${targetdir}" && debuild -uc -us)

echo "****************************************"
echo "Packages can be found in: ${tempdir}"
ls "${tempdir}"
echo "****************************************"