mirror of
https://github.com/nsacyber/HIRS.git
synced 2024-12-20 21:43:18 +00:00
23570f71c3
Changes how tpm20.h, which contains the TPM2 SAPI, is imported to allow successful packaging of both debs and rpms.
115 lines
4.2 KiB
Bash
Executable File
115 lines
4.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Define script directory
|
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
|
|
# Set variables
|
|
GIT_HASH=`git rev-parse HEAD | head -c6`
|
|
# assign build version vars
|
|
source $SCRIPT_DIR/build_version_helper.sh
|
|
DEBIAN_FULL_VERSION=$VERSION.$RELEASE
|
|
OS=`lsb_release -c | awk '{print $2}'`
|
|
PROVISIONER_FULL_PACKAGE_NAME="hirs-provisioner"
|
|
|
|
# Enter package directory
|
|
mkdir -p $SCRIPT_DIR/deb
|
|
cd $SCRIPT_DIR/deb
|
|
|
|
# Clear old builds
|
|
rm -rf DEB_SOURCES
|
|
rm -f DEBS/hirs*.deb
|
|
rm -f DEBS/tpm-module*.deb
|
|
|
|
# Create directories
|
|
mkdir -p DEBS
|
|
|
|
# Copy Sources for HIRS_Provisioner
|
|
cd $SCRIPT_DIR/..
|
|
|
|
# build HIRS items.
|
|
./gradlew -PdisplayVersion=$DISPLAY_VERSION :HIRS_Provisioner:installDist
|
|
|
|
# Setup Provisioner directories
|
|
mkdir -p $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/debian
|
|
mkdir -p $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/install-provisioner/bin
|
|
mkdir -p $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/install-provisioner/lib
|
|
mkdir -p $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/install-provisioner/scripts
|
|
mkdir -p $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/install-provisioner/setup
|
|
|
|
# Copy Provisioner files
|
|
cp -r HIRS_Provisioner/build/install/HIRS_Provisioner/* $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/install-provisioner
|
|
rm -rf $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/install-provisioner/bin/*.bat
|
|
cp -r HIRS_Provisioner/debian/* $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/debian
|
|
cp -r HIRS_Provisioner/man/* $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/debian
|
|
cp -r HIRS_Provisioner/scripts/* $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/install-provisioner/scripts
|
|
cp -r HIRS_Provisioner/src/main/resources/*.properties $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/install-provisioner/scripts/install
|
|
|
|
cp -r HIRS_Provisioner/setup/* $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/install-provisioner/setup
|
|
cp HIRS_Provisioner/hirs-provisioner-config.sh $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/install-provisioner/scripts
|
|
cp HIRS_Provisioner/scripts/install/*.sh $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/install-provisioner/scripts
|
|
cp HIRS_Provisioner/setup/hirs-provisioner.properties $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/install-provisioner/setup
|
|
cp HIRS_Provisioner/build/resources/main/defaults.properties $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/install-provisioner/setup/provisioner.properties
|
|
cp HIRS_Utils/src/main/resources/logging.properties $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/install-provisioner
|
|
cp NOTICE $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/debian/copyright
|
|
|
|
sed -i "s/VER/$DEBIAN_FULL_VERSION/" $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/debian/changelog
|
|
sed -i "s/RELEASE/$OS/" $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner/debian/changelog
|
|
|
|
# Build Debian package for HIRS Provisioner
|
|
echo "Building $PROVISIONER_FULL_PACKAGE_NAME"
|
|
cd $SCRIPT_DIR/deb/DEB_SOURCES/$PROVISIONER_FULL_PACKAGE_NAME/
|
|
debuild -i -us -uc -b
|
|
ret=$?
|
|
|
|
if [[ $ret -ne 0 ]]; then
|
|
echo "Failed to build HIRS Provisioner deb package"
|
|
exit 1
|
|
fi
|
|
|
|
mv $SCRIPT_DIR/deb/DEB_SOURCES/hirs-provisioner*.deb $SCRIPT_DIR/deb/DEBS/
|
|
|
|
echo "HIRS Provisioner deb building complete"
|
|
|
|
# TPM Module
|
|
cd $SCRIPT_DIR/..
|
|
|
|
# Compile the TPM Module
|
|
./gradlew :tpm_module:build
|
|
cd tpm_module
|
|
|
|
# Setup build directories
|
|
mkdir -p $SCRIPT_DIR/deb/DEB_SOURCES/tpm-module/
|
|
mkdir -p $SCRIPT_DIR/deb/DEB_SOURCES/tpm-module/debian
|
|
mkdir -p $SCRIPT_DIR/deb/DEB_SOURCES/tpm-module/src
|
|
|
|
# Copy build files
|
|
cp tpm_module $SCRIPT_DIR/deb/DEB_SOURCES/tpm-module/src/
|
|
cp -r debian/* $SCRIPT_DIR/deb/DEB_SOURCES/tpm-module/debian
|
|
cp -r man/* $SCRIPT_DIR/deb/DEB_SOURCES/tpm-module/debian
|
|
cp ../NOTICE $SCRIPT_DIR/deb/DEB_SOURCES/tpm-module/debian/copyright
|
|
|
|
# Build Debian package for TPM Module
|
|
cd $SCRIPT_DIR/deb/DEB_SOURCES/tpm-module/
|
|
debuild -i -us -uc -b
|
|
ret=$?
|
|
|
|
if [[ $ret -ne 0 ]]; then
|
|
echo "Failed to build tpm-module deb package"
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p $SCRIPT_DIR/deb/DEBS/
|
|
mv $SCRIPT_DIR/deb/DEB_SOURCES/tpm-module*.deb $SCRIPT_DIR/deb/DEBS/
|
|
|
|
echo "TPM deb building complete"
|
|
|
|
# HIRS Provisioner TPM 2.0
|
|
cd $SCRIPT_DIR/deb
|
|
$SCRIPT_DIR/../HIRS_ProvisionerTPM2/package/package.tpm2.ubuntu.sh
|
|
if [ -f DEBS/HIRSProvisionerTPM2.0*.deb ]; then
|
|
echo 'HIRS Provisioner TPM 2.0 deb building complete'
|
|
else
|
|
echo 'Failed to build HIRS Provisioner TPM 2.0 deb package'
|
|
exit 1
|
|
fi
|