#!/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 " 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)"