Files
qt6-migration-pipeline/external-dependencies/deb-packages/arcgis/build-deb.sh
T

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)"