- TeX 67.4%
- Python 15.2%
- Shell 11.4%
- Makefile 2.3%
- AutoIt 2.1%
- Other 1.6%
| bbs-bs-atmel-flip | ||
| bbs-bs-bbh-brennwert | ||
| bbs-bs-bbh-gasbrenner | ||
| bbs-bs-codesys | ||
| bbs-bs-dali-cockpit | ||
| bbs-bs-ddscad | ||
| bbs-bs-digital-simulator | ||
| bbs-bs-dr-sommer-werkstofftechnik-gefuege-lernprogramm | ||
| bbs-bs-eltako-pct14 | ||
| bbs-bs-europa-fachkunde-metall | ||
| bbs-bs-europa-tabellenbuch-metalltechnik | ||
| bbs-bs-faro-cam2 | ||
| bbs-bs-gcms-solution | ||
| bbs-bs-geogebra-rechner-suite | ||
| bbs-bs-hagercad | ||
| bbs-bs-ifm-schwingungsanalyse | ||
| bbs-bs-iwo-we-mit-oel-lehrer | ||
| bbs-bs-iwo-we-mit-oel-schueler | ||
| bbs-bs-jumo-ctron | ||
| bbs-bs-kahlert-anlagenmodelle-codesys | ||
| bbs-bs-kahlert-hausautomation-logo | ||
| bbs-bs-keil-uvision-5 | ||
| bbs-bs-keller-symplus-drehen | ||
| bbs-bs-keller-symplus-fraesen | ||
| bbs-bs-kicad | ||
| bbs-bs-knx-ets6 | ||
| bbs-bs-lucas-nuelle-rx-lea | ||
| bbs-bs-mqtt-explorer | ||
| bbs-bs-nmap | ||
| bbs-bs-npcap | ||
| bbs-bs-pap-designer | ||
| bbs-bs-parker-sensowin | ||
| bbs-bs-phywe-measure-franck-hertz-experiment | ||
| bbs-bs-phywe-measure-xray-treiber | ||
| bbs-bs-picoscope7-automotive | ||
| bbs-bs-proficad | ||
| bbs-bs-qt6 | ||
| bbs-bs-raspberry-pi-imager | ||
| bbs-bs-relux-desktop | ||
| bbs-bs-rt-toolbox3 | ||
| bbs-bs-rt-visualbox | ||
| bbs-bs-rudolf-mueller-medien-metallbaupraxis-app | ||
| bbs-bs-siemens-nx | ||
| bbs-bs-siemens-simaris-suite | ||
| bbs-bs-siemens-sinamics-starter | ||
| bbs-bs-teraterm | ||
| bbs-bs-tulip-player | ||
| bbs-bs-uaexpert | ||
| bbs-bs-uniflow-smartclient | ||
| bbs-bs-vivaldi-browser | ||
| bbs-bs-wago-navigator | ||
| .env | ||
| .gitignore | ||
| backup_packages.sh | ||
| create_rooms.py | ||
| download_packages.py | ||
| LICENSE | ||
| README.md | ||
| room_list.csv | ||
| Snippets.md | ||
| sync_to_repo.sh | ||
| TODO.md | ||
| upload_package.sh | ||
Softwarepakete für iServ-Server der BBS Brinkstraße
Dieses Repository enthält Softwarepakete für iServ und Hilfsskripte, um die Pakete als Archiv zu sichern und per WebDAV hoch- und herunterzuladen (IServ oder Nextcloud).
README-Datei erzeugt mit Github Copilot (GPT-5.3-Codex)!
Inhalt
- Paketordner mit Präfix
bbs-bs-*, z. B.:bbs-bs-codesysbbs-bs-mqtt-explorerbbs-bs-raspberry-pi-imagerbbs-bs-uaexpert
- Skript backup_packages.sh zum Erstellen von
.tar.gz-Archiven - Skript upload_package.sh zum Hochladen der Archive per WebDAV
- Skript download_packages.py zum Anzeigen, Herunterladen und Entpacken von Archiven aus WebDAV
- Skript sync_to_repo.sh zum Uebernehmen lokaler Paket-Aenderungen ins Repo (ohne
bbs-bs-*/data/)
Voraussetzungen
bashtar(für Backups)curl(für Upload)python3(für Download)
Konfiguration via .env
Die Datei .env im Repository-Verzeichnis wird automatisch von upload_package.sh und download_packages.py geladen.
Beispielinhalt:
ARCHIVE_PROVIDER=iserv
ISERV_SERVER_URL=https://iserv.server.de/webdav
ISERV_USERNAME=max.mustermann
ISERV_PASSWORD=dein-passwort
ISERV_SUBDIR=Uploadordner
ISERV_INSECURE_TLS=false
NEXTCLOUD_SHARE_FOLDER=xw96nuFGNboL8mD
NEXTCLOUD_BASE_URL=https://nextcloud.server.de
NEXTCLOUD_INSECURE_TLS=false
NEXTCLOUD_WEBDAV_PATH=/public.php/webdav
NEXTCLOUD_SUBDIR=pakete
Hinweis: Bereits gesetzte Umgebungsvariablen in der Shell haben Vorrang vor
Werten aus der .env.
Archiv erstellen: backup_packages.sh
Erzeugt Archive im Format:
<paketname>_<version>_<YYYY-MM-DD>.tar.gz
Die version wird aus der Datei control des jeweiligen Paketordners gelesen.
Aufruf:
./backup_packages.sh --all
./backup_packages.sh --dir bbs-bs-codesys
Hilfe:
./backup_packages.sh --help
Archive hochladen: upload_package.sh
Lädt vorhandene Archive (bbs-bs-*.tar.gz) per WebDAV hoch.
Standardziel ist iserv. Alternativ kann nextcloud ausgewählt werden.
Aufruf:
./upload_package.sh --all
./upload_package.sh --dir bbs-bs-codesys
./upload_package.sh --all --provider nextcloud
Hilfe:
./upload_package.sh --help
Umgebungsvariablen für den Upload
ARCHIVE_PROVIDER(iservodernextcloud, Standard:iserv)- Für
iserv:ISERV_SERVER_URL(komplette IServ-WebDAV-URL, z. B.https://host/webdav)ISERV_USERNAME(IServ-Benutzername)ISERV_PASSWORD(IServ-Passwort)ISERV_SUBDIR(optional, Unterordner unterhalb von/webdav/Files)ISERV_INSECURE_TLS=true(optional, aktiviertcurl -k)
- Für
nextcloud:NEXTCLOUD_SHARE_FOLDER(Share-Token)NEXTCLOUD_BASE_URL(Basis-URL des Nextcloud-Servers)NEXTCLOUD_INSECURE_TLS=true(optional, aktiviertcurl -k)NEXTCLOUD_WEBDAV_PATH(optional, Standard/public.php/webdav)NEXTCLOUD_SUBDIR(optional, Unterordner unterhalb von WebDAV)
Beispiel:
ISERV_SERVER_URL="https://iserv.example.de/webdav" \
ISERV_USERNAME="<benutzername>" \
ISERV_PASSWORD="<passwort>" \
ISERV_SUBDIR="Uploadordner" \
./upload_package.sh --all
NEXTCLOUD_SHARE_FOLDER="<token>" \
NEXTCLOUD_BASE_URL="https://nextcloud.example.de" \
./upload_package.sh --all --provider nextcloud
Archive herunterladen: download_packages.py
Liest verfügbare Archive aus dem IServ-/Nextcloud-WebDAV-Verzeichnis, zeigt Programme und Versionen an und lädt eine ausgewählte Version herunter. Anschließend wird das Archiv im aktuellen Verzeichnis entpackt.
Aufruf:
./download_packages.py
./download_packages.py --provider nextcloud
Nur auflisten:
./download_packages.py -l
Neueste Version eines Programms laden:
./download_packages.py --program bbs-bs-kicad --latest
Testlauf ohne Download/Entpacken:
./download_packages.py --program bbs-bs-kicad --latest --dry-run
Hilfe:
./download_packages.py -h
Typischer Ablauf
./backup_packages.sh --all
./upload_package.sh --all
./download_packages.py --program bbs-bs-kicad --latest
Aenderungen aus externem Paketverzeichnis ins Repo uebernehmen
Das Skript sync_to_repo.sh kopiert geaenderte Dateien nur aus
Paketordnern mit Praefix bbs-bs-* aus einem externen Arbeitsverzeichnis in
dieses Repository. Andere Verzeichnisse werden ignoriert. Zusaetzlich wird
immer bbs-bs-*/data/ ausgeschlossen.
Typischer Aufruf aus dem externen Verzeichnis:
/pfad/zum/softwarepakete-iserv/sync_to_repo.sh
Optional mit Vorschau:
/pfad/zum/softwarepakete-iserv/sync_to_repo.sh --dry-run
Optional als echtes Spiegeln (inkl. Entfernen nicht mehr vorhandener Dateien im Repo):
/pfad/zum/softwarepakete-iserv/sync_to_repo.sh --delete