view packaging/linux-createpackage.sh.in @ 921:419cf0560d45

Create signature for linux installer in linux-createpackage.sh
author Andre Heinecke <andre.heinecke@intevation.de>
date Thu, 21 Aug 2014 14:50:13 +0200
parents 4087e489f569
children 15f7b3ebf21b
line wrap: on
line source
#!/bin/bash
# Copyright (C) 2014 by Bundesamt f�r Sicherheit in der Informationstechnik
# Software engineering by Intevation GmbH
#
# This file is Free Software under the GNU GPL (v>=2)
# and comes with ABSOLUTELY NO WARRANTY!
# See LICENSE.txt for details.

TMPDIR=$(mktemp -d)
TMPSHAR=$(mktemp "@CMAKE_BINARY_DIR@/shar.XXXXXXXXXX")

INSTALLER="@CMAKE_BINARY_DIR@/TrustBridge-@PROJECT_VERSION@.sh"

EXEFILES=("@CMAKE_BINARY_DIR@/cinst/cinst"
          "@CMAKE_BINARY_DIR@/cinst/mozilla"
          "@CMAKE_BINARY_DIR@/ui/trustbridge"
          "@CMAKE_BINARY_DIR@/ui/trustbridge-tray-starter.sh")
ICON="@CMAKE_SOURCE_DIR@/ui/img/logo-128.png"

L10N_DE_FILE="@CMAKE_BINARY_DIR@/packaging/linux-installer.l10n-de"

# Make installation in TMPDIR, this is what we will put into the
# shar-archive.
echo "Using $TMPDIR for temporary installation to build installer..."
install -d "$TMPDIR/bin"
install -d "$TMPDIR/share/pixmaps/trustbridge"
install "${EXEFILES[@]}" "$TMPDIR/bin"
install "$ICON" "$TMPDIR/share/pixmaps/trustbridge/trustbridge.png"

echo "Creating shar archive ..."
cd "$TMPDIR"
shar -z -B bin/* share/pixmaps/trustbridge/trustbridge.png | sed 's/^exit 0//' >>"$TMPSHAR"

echo "Building $INSTALLER..."
cp "@CMAKE_BINARY_DIR@/packaging/linux-installer.inc" "$INSTALLER"
binnames=""
for file in "${EXEFILES[@]}" ; do
  binnames="`basename $file` $binnames"
done
sed -i "s/###BINNAMES###/${binnames}/" "$INSTALLER"
sed -i "s/###ICONNAME###/trustbridge.png/" "$INSTALLER"
sed -i "/###SHAR###/r $TMPSHAR" "$INSTALLER"
sed -i "/###L10N_DE###/r $L10N_DE_FILE" "$INSTALLER"
chmod +x "$INSTALLER"
echo "Signing"
@CMAKE_SOURCE_DIR@/ui/tests/append-sig.sh @CMAKE_SOURCE_DIR@/ui/tests/data/codesign/codesigning.key \
                 $INSTALLER ${INSTALLER}_signed
mv ${INSTALLER}_signed $INSTALLER

echo "Cleaning up..."
rm -r "$TMPDIR"
rm  "$TMPSHAR"

http://wald.intevation.org/projects/trustbridge/