#!/bin/bash # Build-Script für Debian-Paket (.deb) # Erstellt ein installierbares Debian-Paket set -e PKG_NAME="csv-processor" PKG_VERSION="2.0.0" PKG_ARCH="amd64" MAINTAINER="Sebastian Zell " DESCRIPTION="Professionelles Werkzeug zur Verarbeitung von CSV- und Excel-Dateien" echo "========================================" echo "CSV-Processor - Debian Package Build" echo "========================================" # Prüfe ob PyInstaller installiert ist if ! command -v pyinstaller &> /dev/null; then echo "PyInstaller nicht gefunden. Installiere..." pip install pyinstaller fi # Build-Verzeichnis vorbereiten echo "Bereite Build-Verzeichnis vor..." BUILD_DIR="deb_build" rm -rf "$BUILD_DIR" 2>/dev/null || true mkdir -p "$BUILD_DIR/DEBIAN" mkdir -p "$BUILD_DIR/usr/bin" mkdir -p "$BUILD_DIR/usr/share/applications" mkdir -p "$BUILD_DIR/usr/share/$PKG_NAME" # Executables erstellen echo "" echo "Erstelle Executables mit PyInstaller..." # CLI-Version pyinstaller --onefile --name csv-processor-cli --clean csv_processor.py cp dist/csv-processor-cli "$BUILD_DIR/usr/bin/" # GUI-Version pyinstaller --onefile --name csv-processor-gui --clean csv_processor_gui.py cp dist/csv-processor-gui "$BUILD_DIR/usr/bin/" # Rechte setzen chmod 755 "$BUILD_DIR/usr/bin/csv-processor-cli" chmod 755 "$BUILD_DIR/usr/bin/csv-processor-gui" # Desktop-Eintrag erstellen cat > "$BUILD_DIR/usr/share/applications/csv-processor.desktop" << EOF [Desktop Entry] Name=CSV-Processor Comment=Professionelle CSV/Excel-Verarbeitung Exec=csv-processor-gui Icon=accessories-text-editor Terminal=false Type=Application Categories=Office;Utility; EOF # DEBIAN/control erstellen cat > "$BUILD_DIR/DEBIAN/control" << EOF Package: $PKG_NAME Version: $PKG_VERSION Section: utils Priority: optional Architecture: $PKG_ARCH Maintainer: $MAINTAINER Description: $DESCRIPTION CSV-Processor ist ein professionelles Werkzeug zur Verarbeitung und Konvertierung von CSV- und Excel-Dateien. Es bietet Spaltennamen-Mapping, Datenbereinigung, Spaltenauswahl und Voreinstellungen für wiederkehrende Aufgaben. EOF # Debian-Paket bauen echo "" echo "Erstelle Debian-Paket..." dpkg-deb --build "$BUILD_DIR" "dist/${PKG_NAME}_${PKG_VERSION}_${PKG_ARCH}.deb" # Aufräumen rm -rf "$BUILD_DIR" rm -rf build/ rm -f *.spec echo "" echo "========================================" echo "Build abgeschlossen!" echo "========================================" echo "" echo "Erstelltes Paket:" ls -la dist/*.deb echo "" echo "Installation mit:" echo " sudo dpkg -i dist/${PKG_NAME}_${PKG_VERSION}_${PKG_ARCH}.deb"