Add offline dependency download scripts for air-gapped environment
- download-all-dependencies.sh: Downloads Qt6 6.10.2, source tarballs, and Ubuntu .deb packages - download-deb-packages.sh: Downloads Ubuntu .deb packages in Docker container - verify-offline-cache.sh: Verifies offline cache completeness - offline-cache/README.md: Documentation for offline cache structure and usage - .gitignore: Exclude external-dependencies/offline-cache/ from version control (2.3GB) The offline cache must be transferred to air-gapped environment via secure media. Excluded from git due to size and security best practices. Co-authored-by: Copilot <2235566219+Copilot@users.noreply.github.com> Entire-Checkpoint: 01M6PFZM0GHMBF46BKYPKZC192
This commit is contained in:
5 files changed
+572
No files matched your search
+78
@@ -0,0 +1,78 @@
|
||||
#!/bin/bash
|
||||
# Verify Offline Cache Integrity
|
||||
# Usage: bash verify-offline-cache.sh [offline-cache-path]
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
OFFLINE_CACHE="${1:-./offline-cache}"
|
||||
|
||||
echo "=== Verifying Offline Cache ==="
|
||||
echo "Path: $OFFLINE_CACHE"
|
||||
echo ""
|
||||
|
||||
ERRORS=0
|
||||
|
||||
# Check Qt installation
|
||||
echo "Checking Qt 6.10.2..."
|
||||
if [ -d "$OFFLINE_CACHE/qt6/6.10.2/gcc_64" ]; then
|
||||
QT_FILES=$(find "$OFFLINE_CACHE/qt6/6.10.2/gcc_64" -type f | wc -l)
|
||||
if [ "$QT_FILES" -ge 12000 ]; then
|
||||
echo "✓ Qt installation complete ($QT_FILES files)"
|
||||
else
|
||||
echo "✗ Qt installation incomplete (expected 12000+, found $QT_FILES)"
|
||||
ERRORS=$((ERRORS + 1))
|
||||
fi
|
||||
else
|
||||
echo "✗ Qt installation directory missing"
|
||||
ERRORS=$((ERRORS + 1))
|
||||
fi
|
||||
|
||||
# Check source tarballs
|
||||
echo ""
|
||||
echo "Checking source tarballs..."
|
||||
for tarball in KDReports-2.3.0.tar.gz Log4Qt-2.0.0.tar.gz grantlee-20d415b.tar.gz; do
|
||||
if [ -f "$OFFLINE_CACHE/src/$tarball" ]; then
|
||||
SIZE=$(du -h "$OFFLINE_CACHE/src/$tarball" | cut -f1)
|
||||
echo "✓ $tarball ($SIZE)"
|
||||
else
|
||||
echo "✗ $tarball missing"
|
||||
ERRORS=$((ERRORS + 1))
|
||||
fi
|
||||
done
|
||||
|
||||
# Check .deb packages
|
||||
echo ""
|
||||
echo "Checking Ubuntu .deb packages..."
|
||||
if [ -d "$OFFLINE_CACHE/deb" ]; then
|
||||
DEB_COUNT=$(ls -1 "$OFFLINE_CACHE/deb"/*.deb 2>/dev/null | wc -l)
|
||||
if [ "$DEB_COUNT" -ge 49 ]; then
|
||||
echo "✓ Debian packages complete ($DEB_COUNT packages)"
|
||||
else
|
||||
echo "✗ Debian packages incomplete (expected 49+, found $DEB_COUNT)"
|
||||
ERRORS=$((ERRORS + 1))
|
||||
fi
|
||||
else
|
||||
echo "✗ Debian packages directory missing"
|
||||
ERRORS=$((ERRORS + 1))
|
||||
fi
|
||||
|
||||
# Check package list
|
||||
echo ""
|
||||
echo "Checking package inventory..."
|
||||
if [ -f "$OFFLINE_CACHE/scripts/package-list.txt" ]; then
|
||||
echo "✓ Package list present"
|
||||
else
|
||||
echo "✗ Package list missing"
|
||||
ERRORS=$((ERRORS + 1))
|
||||
fi
|
||||
|
||||
# Summary
|
||||
echo ""
|
||||
echo "=== Verification Summary ==="
|
||||
if [ "$ERRORS" -eq 0 ]; then
|
||||
echo "✓ All checks passed"
|
||||
exit 0
|
||||
else
|
||||
echo "✗ $ERRORS check(s) failed"
|
||||
exit 1
|
||||
fi
|
||||
Reference in new issue
Block a user