From 5703a8d00af50b66a9fe5df156f25635ef1ce2a4 Mon Sep 17 00:00:00 2001 From: mboehmlaender Date: Tue, 10 Mar 2026 13:21:11 +0000 Subject: [PATCH] Delete --- build-handbrake-nvdec.sh | 198 --------------------------------------- deploy-ripster.sh | 46 --------- 2 files changed, 244 deletions(-) delete mode 100755 build-handbrake-nvdec.sh delete mode 100755 deploy-ripster.sh diff --git a/build-handbrake-nvdec.sh b/build-handbrake-nvdec.sh deleted file mode 100755 index 9f10e13..0000000 --- a/build-handbrake-nvdec.sh +++ /dev/null @@ -1,198 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd -P)" -REPO_ROOT="$SCRIPT_DIR" -BIN_DIR="${REPO_ROOT}/bin" -OUTPUT_BIN="${BIN_DIR}/HandBrakeCLI" -OUTPUT_TMP="${BIN_DIR}/.HandBrakeCLI.build-tmp" -HANDBRAKE_VERSION="${1:-1.10.0}" -JOBS="${JOBS:-$(nproc)}" -TMP_DIR="" - -export LANG="${LANG:-C.UTF-8}" -export LC_ALL="${LC_ALL:-C.UTF-8}" - -RED='\033[0;31m' -GREEN='\033[0;32m' -YELLOW='\033[1;33m' -BLUE='\033[0;34m' -RESET='\033[0m' - -info() { echo -e "${BLUE}[INFO]${RESET} $*"; } -ok() { echo -e "${GREEN}[OK]${RESET} $*"; } -warn() { echo -e "${YELLOW}[WARN]${RESET} $*"; } -error() { echo -e "${RED}[ERROR]${RESET} $*" >&2; } -fatal() { error "$*"; exit 1; } - -cleanup() { - if [[ -n "${TMP_DIR:-}" && -d "${TMP_DIR:-}" ]]; then - rm -rf "$TMP_DIR" - fi - rm -f "$OUTPUT_TMP" -} - -trap cleanup EXIT INT TERM - -run_as_root() { - if [[ "${EUID}" -eq 0 ]]; then - "$@" - elif command -v sudo >/dev/null 2>&1; then - sudo "$@" - else - fatal "Root-Rechte erforderlich. Bitte als root ausführen oder sudo installieren." - fi -} - -apt_get() { - run_as_root env DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a \ - apt-get -o Dpkg::Use-Pty=0 "$@" -} - -require_cmd() { - local cmd="$1" - command -v "$cmd" >/dev/null 2>&1 || fatal "Benötigter Befehl fehlt: $cmd" -} - -cleanup_stale_tmp_build_dirs() { - local stale_dirs=() - shopt -s nullglob - stale_dirs=(/tmp/handbrake-nvdec-build-*) - shopt -u nullglob - - if [[ ${#stale_dirs[@]} -gt 0 ]]; then - warn "Bereinige alte temporäre Build-Ordner in /tmp..." - run_as_root rm -rf "${stale_dirs[@]}" - fi -} - -repair_package_state() { - local audit_output="" - audit_output="$(run_as_root dpkg --audit || true)" - - if [[ -n "${audit_output//[[:space:]]/}" ]]; then - warn "Unvollständiger Paketstatus erkannt. Repariere dpkg/apt..." - run_as_root env DEBIAN_FRONTEND=noninteractive dpkg --configure -a - apt_get --fix-broken install -y - ok "Paketstatus repariert." - fi -} - -install_build_dependencies() { - repair_package_state - - info "Aktualisiere Paketlisten..." - apt_get update - - info "Installiere Build-Abhängigkeiten..." - apt_get install -y \ - autoconf automake build-essential cmake git \ - libass-dev libbz2-dev libfontconfig-dev libfreetype-dev libfribidi-dev libharfbuzz-dev \ - libjansson-dev liblzma-dev libmp3lame-dev libnuma-dev libogg-dev \ - libopus-dev libsamplerate0-dev libspeex-dev libtheora-dev libtool libtool-bin \ - libturbojpeg0-dev libvorbis-dev libx264-dev libxml2-dev libvpx-dev \ - m4 make meson nasm ninja-build patch pkg-config tar zlib1g-dev \ - curl libssl-dev clang bzip2 ca-certificates wget libffmpeg-nvenc-dev - - if [[ ! -f /usr/include/ffnvcodec/dynlink_nvcuvid.h ]]; then - warn "NVDEC-Header (dynlink_nvcuvid.h) nicht gefunden. Versuche nvidia-cuda-toolkit als Fallback..." - if ! apt_get install -y nvidia-cuda-toolkit; then - fatal "NVDEC-Header fehlen und nvidia-cuda-toolkit konnte nicht installiert werden." - fi - if [[ ! -f /usr/include/ffnvcodec/dynlink_nvcuvid.h && ! -f /usr/include/nvcuvid.h ]]; then - fatal "NVDEC-Header weiterhin nicht vorhanden. Prüfe Repository-Konfiguration (universe/multiverse)." - fi - fi -} - -download_source() { - local tarball="$1" - local url="https://github.com/HandBrake/HandBrake/releases/download/${HANDBRAKE_VERSION}/HandBrake-${HANDBRAKE_VERSION}-source.tar.bz2" - - info "Lade HandBrake ${HANDBRAKE_VERSION} Quellcode..." - if command -v curl >/dev/null 2>&1; then - curl -fL "$url" -o "$tarball" - else - wget -O "$tarball" "$url" - fi -} - -main() { - if [[ ! -f /etc/os-release ]]; then - fatal "/etc/os-release fehlt. Nur Debian/Ubuntu/Proxmox werden unterstützt." - fi - # shellcheck disable=SC1091 - . /etc/os-release - case "${ID:-}" in - debian|ubuntu|linuxmint|pop) ;; - *) - warn "Ungetestetes Betriebssystem: ${PRETTY_NAME:-unknown}. Es wird trotzdem versucht fortzufahren." - ;; - esac - - require_cmd nproc - require_cmd tar - require_cmd dpkg - - cleanup_stale_tmp_build_dirs - install_build_dependencies - require_cmd make - - local tarball src_dir - TMP_DIR="$(mktemp -d -p /tmp handbrake-nvdec-build-XXXXXX)" - tarball="${TMP_DIR}/HandBrake-${HANDBRAKE_VERSION}-source.tar.bz2" - src_dir="${TMP_DIR}/HandBrake-${HANDBRAKE_VERSION}" - - download_source "$tarball" - - info "Entpacke Quellcode..." - tar xjf "$tarball" -C "$TMP_DIR" - [[ -d "$src_dir" ]] || fatal "Entpacktes Quellverzeichnis nicht gefunden: $src_dir" - - local configure_log - configure_log="${TMP_DIR}/configure.log" - - info "Konfiguriere Build (NVDEC aktiviert)..." - ( - cd "$src_dir" - ./configure \ - --launch-jobs="$JOBS" \ - --enable-nvdec \ - --disable-gtk \ - --prefix=/usr/local >"$configure_log" 2>&1 - ) - - if ! rg -q 'Enable NVDEC:[[:space:]]+True' "$configure_log"; then - tail -n 80 "$configure_log" >&2 || true - fatal "Configure hat NVDEC nicht aktiviert (Enable NVDEC != True)." - fi - - if ! rg -q 'Enable NVENC:[[:space:]]+True' "$configure_log"; then - tail -n 80 "$configure_log" >&2 || true - fatal "Configure hat NVENC nicht aktiviert (Enable NVENC != True)." - fi - - rg 'Enable NVENC|Enable NVDEC' "$configure_log" || true - - info "Baue HandBrakeCLI mit ${JOBS} Threads (das kann länger dauern)..." - make --directory="${src_dir}/build" -j"$JOBS" - - [[ -x "${src_dir}/build/HandBrakeCLI" ]] || fatal "Build erfolgreich, aber HandBrakeCLI wurde nicht gefunden." - - mkdir -p "$BIN_DIR" - install -m 0755 "${src_dir}/build/HandBrakeCLI" "$OUTPUT_TMP" - - if "$OUTPUT_TMP" --help 2>&1 | rg -qi "nvdec|nvenc"; then - ok "Hinweis: NVENC/NVDEC-Begriffe in --help gefunden." - else - warn "--help zeigt NVENC/NVDEC nicht explizit. Maßgeblich ist die Configure-Zusammenfassung (Enable NVENC/NVDEC: True)." - fi - - mv -f "$OUTPUT_TMP" "$OUTPUT_BIN" - - ok "Fertig: ${OUTPUT_BIN}" - "$OUTPUT_BIN" --version | head -1 - info "Aufgeräumt: Nur ${OUTPUT_BIN} bleibt im Repository als Build-Artefakt." -} - -main "$@" diff --git a/deploy-ripster.sh b/deploy-ripster.sh deleted file mode 100755 index 56aa6ee..0000000 --- a/deploy-ripster.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -REMOTE_USER="michael" -REMOTE_HOST="10.10.10.24" -REMOTE_PATH="/home/michael/ripster" -SSH_PASSWORD="rabenNest7$" - -LOCAL_PATH="$(cd -- "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -REMOTE_TARGET="${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_PATH}" -SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ConnectTimeout=10" -DATA_RELATIVE_DIR="backend/data/***" -DATA_DIR="backend/data" - -if ! command -v sshpass >/dev/null 2>&1; then - echo "sshpass ist nicht installiert. Bitte installieren, z. B.: sudo apt-get install -y sshpass" - exit 1 -fi - -if [[ "$SSH_PASSWORD" == "CHANGE_ME" ]]; then - echo "Bitte in deploy-ripster.sh den Wert von SSH_PASSWORD setzen." - exit 1 -fi - -echo "Pruefe SSH-Verbindung zu ${REMOTE_USER}@${REMOTE_HOST} ..." -sshpass -p "$SSH_PASSWORD" ssh $SSH_OPTS "${REMOTE_USER}@${REMOTE_HOST}" "echo connected" >/dev/null - -echo "Stelle sicher, dass Remote-Ordner ${REMOTE_PATH} existiert ..." -sshpass -p "$SSH_PASSWORD" ssh $SSH_OPTS "${REMOTE_USER}@${REMOTE_HOST}" "set -euo pipefail; mkdir -p '${REMOTE_PATH}' '${REMOTE_PATH}/${DATA_DIR}'" - -echo "Uebertrage lokalen Ordner ${LOCAL_PATH} nach ${REMOTE_TARGET} ..." -echo "backend/data wird weder uebertragen noch auf dem Ziel geloescht: ${DATA_RELATIVE_DIR}" -sshpass -p "$SSH_PASSWORD" rsync -az --progress --delete \ - --exclude "${DATA_RELATIVE_DIR}" \ - --filter "protect ${DATA_RELATIVE_DIR}" \ - --filter "protect debug" \ - -e "ssh $SSH_OPTS" \ - "${LOCAL_PATH}/" "${REMOTE_TARGET}/" - -echo "Hole ${DATA_DIR} nach dem Deploy vom Zielserver auf den Quellserver ..." -mkdir -p "${LOCAL_PATH}/${DATA_DIR}" -sshpass -p "$SSH_PASSWORD" rsync -az --progress \ - -e "ssh $SSH_OPTS" \ - "${REMOTE_TARGET}/${DATA_DIR}/" "${LOCAL_PATH}/${DATA_DIR}/" - -echo "Fertig: ${LOCAL_PATH} wurde nach ${REMOTE_TARGET} uebertragen und ${DATA_DIR} wurde vom Zielserver auf den Quellserver geholt."