76 lines
1.9 KiB
Bash
76 lines
1.9 KiB
Bash
#!/bin/bash
|
|
# ArcGIS DEB Package Build Script
|
|
# Builds libarcgis-maps-sdk-qt-dev DEB package for internal SCM repository
|
|
|
|
set -e
|
|
|
|
PACKAGE_NAME="libarcgis-maps-sdk-qt-dev"
|
|
VERSION="300.0.0"
|
|
ARCHITECTURE="amd64"
|
|
MAINTAINER="Legatus Team <legatus@defence-elec.de>"
|
|
DESCRIPTION="ArcGIS Maps SDK for Qt - development files (embedded ini-file licenses)"
|
|
|
|
# Create package structure
|
|
DEB_DIR="deb-package"
|
|
rm -rf "$DEB_DIR"
|
|
mkdir -p "$DEB_DIR/DEBIAN"
|
|
mkdir -p "$DEB_DIR/opt/ArcGIS/MapsSDK_Qt_300.0.0"
|
|
mkdir -p "$DEB_DIR/opt/offline-cache/arcgis"
|
|
|
|
# Copy ArcGIS files from external/ArcGIS
|
|
if [ -d "../../external/ArcGIS" ]; then
|
|
cp -r ../../external/ArcGIS/* "$DEB_DIR/opt/ArcGIS/MapsSDK_Qt_300.0.0/"
|
|
fi
|
|
|
|
# Create control file
|
|
cat > "$DEB_DIR/DEBIAN/control" << EOF
|
|
Package: $PACKAGE_NAME
|
|
Version: $VERSION
|
|
Architecture: $ARCHITECTURE
|
|
Maintainer: $MAINTAINER
|
|
Depends: libqt6core6, libqt6gui6, libqt6widgets6, libqt6positioning6
|
|
Section: libdevel
|
|
Priority: optional
|
|
Description: $DESCRIPTION
|
|
ArcGIS Maps SDK for Qt (version 300.0.0) for Legatus.
|
|
.
|
|
License: Embedded ini-file licenses
|
|
Map-specific licenses embedded in Lts/Viewer/SituationMap/Map/*.ini files.
|
|
EOF
|
|
|
|
# Create postinst script
|
|
cat > "$DEB_DIR/DEBIAN/postinst" << 'EOF'
|
|
#!/bin/bash
|
|
set -e
|
|
|
|
echo "ArcGIS DEB package installed successfully"
|
|
echo "License: Embedded ini-file licenses in Lts/Viewer/SituationMap/Map/*.ini"
|
|
|
|
# Set permissions
|
|
chmod -R 755 /opt/ArcGIS
|
|
|
|
exit 0
|
|
EOF
|
|
|
|
chmod 755 "$DEB_DIR/DEBIAN/postinst"
|
|
|
|
# Create postrm script
|
|
cat > "$DEB_DIR/DEBIAN/postrm" << 'EOF'
|
|
#!/bin/bash
|
|
set -e
|
|
|
|
echo "ArcGIS DEB package removed"
|
|
|
|
exit 0
|
|
EOF
|
|
|
|
chmod 755 "$DEB_DIR/DEBIAN/postrm"
|
|
|
|
# Build DEB package
|
|
echo "Building DEB package: ${PACKAGE_NAME}_${VERSION}_${ARCHITECTURE}.deb"
|
|
cd "$DEB_DIR"
|
|
dpkg-deb --build . "../${PACKAGE_NAME}_${VERSION}_${ARCHITECTURE}.deb"
|
|
cd ..
|
|
|
|
echo "DEB package created: ${PACKAGE_NAME}_${VERSION}_${ARCHITECTURE}.deb"
|
|
echo "Size: $(du -h ${PACKAGE_NAME}_${VERSION}_${ARCHITECTURE}.deb | cut -f1)" |