95 lines
2.6 KiB
Bash
Executable File
95 lines
2.6 KiB
Bash
Executable File
#!/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 <sebastian.zell@zell-aufmass.de>"
|
|
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"
|