Skip to content

Commit

Permalink
#227 make deb script configurable using params
Browse files Browse the repository at this point in the history
  • Loading branch information
elKei24 committed Feb 4, 2021
1 parent bed47c4 commit 1460f69
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 14 deletions.
13 changes: 6 additions & 7 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,21 +62,20 @@ jobs:
path: ~/project
- attach_workspace:
at: /tmp/workspace
- run: cp -r /tmp/workspace/** .
- run: ../scripts/backend_deb.sh
- run: ../scripts/backend_deb.sh -v 0.1 -t /tmp/workspace/build/distributions/*.tar
- store_artifacts:
path: build/*.deb
path: *.deb
- persist_to_workspace:
root: .
paths:
- build/*.deb
- *.deb
deploy:
docker:
- image: cimg/base:2020.01
working_directory: ~/project/backend
steps:
- checkout:
path: ~/project
- run: ../scripts/backend_deb.sh
- store_artifacts:
path: build/*.deb
- attach_workspace:
at: /tmp/workspace
- run: echo "TODO: put to ftp folder"
39 changes: 32 additions & 7 deletions scripts/backend_deb.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/bash -e
#!/bin/bash
set -eo pipefail

# deb constants
version=1.0
Expand All @@ -8,15 +9,34 @@ architecture=amd64
maintainer="The Ehrenamtskarte Team <[email protected]>"
description="Backend server for the Ehrenamtskarte app"

# read input
while getopts v:r:a:n:t:h flag
do
case "${flag}" in
v) version=${OPTARG};;
r) revision=${OPTARG};;
a) architecture=${OPTARG};;
n) name=${OPTARG};;
t) tarfile=${OPTARG};;
h)
echo "$0 [-v version] [-r revision] [-a architecture] [-n name] -t backend_tar"
exit 0;;
esac
done

if [[ -z "$tarfile" ]]; then
echo "Must provide input tar file using -t file" 1>&2
exit 1
fi

debworkdir=$(mktemp -d)
fullname=${name}_${version}-${revision}_${architecture}
debworkdir=build/$fullname
debfile=build/${fullname}.deb
ctrlfile=${debworkdir}/DEBIAN/control
debfile=${fullname}.deb

# init deb workdir
mkdir -p $debworkdir
rm -rf ${debworkdir}/*
mkdir ${debworkdir}/DEBIAN
ctrlfile=${debworkdir}/DEBIAN/control
echo "Creating control file in $ctrlfile"
touch $ctrlfile
echo "Package: $name" >> $ctrlfile
echo "Version: $version" >> $ctrlfile
Expand All @@ -25,8 +45,13 @@ echo "Maintainer: $maintainer" >> $ctrlfile
echo "Description: $description" >> $ctrlfile

# copy files to deb workdir
echo "Copying $tarfile"
mkdir -p ${debworkdir}/var/ehrenamtskarte/backend
tar -xf build/distributions/backend.tar -C ${debworkdir}/var/ehrenamtskarte
tar -xf $tarfile -C ${debworkdir}/var/ehrenamtskarte

# build the deb
dpkg-deb --build --root-owner-group $debworkdir $debfile

# clean up
echo "Cleaning up …"
rm -rf $debworkdir

0 comments on commit 1460f69

Please sign in to comment.