pkgname: pag pkgver: '3.3.23' pkgrel: '3' pkgdesc: 'PaganOS package manager – atomowa instalacja, weryfikacja GPG, i18n (PL/EN), rollback' url: 'https://git.paganlinux.eu/pag' arch: x86_64 # UWAGA: gnupg jest twardą zależnością runtime – bez gpg pag nie potrafi # zweryfikować ani indeksu repo, ani paczek (fail-closed), a komunikaty były # mylące. Musi być instalowany razem z pag. depends: - python3 - gnupg makedepends: [] source: - 'https://git.paganlinux.eu/git/pag/archive?branch=main' sha256sums: - SKIP update: | curl -fsSL 'https://git.paganlinux.eu/git/pag/archive?branch=main' \ | tar -xzO pag-main/pag 2>/dev/null \ | grep -m1 -oE 'PAG_VERSION = "[0-9.]+"' \ | grep -oE '[0-9.]+' build: | cd ${pkgname}-${pkgver} # Źródło z CRLF psuje shebang („env: 'python3\r': No such file or directory”). # Normalizuj do LF zanim cokolwiek zainstalujemy/pakujemy. sed -i 's/\r$//' pag head -1 pag | grep -q '^#!/usr/bin/env python3$' \ || { echo "❌ pag: nieprawidłowy shebang po normalizacji: $(head -1 pag)" >&2; exit 1; } # Walidacja składni – nie pakuj uszkodzonego/po edycji skryptu python3 -m py_compile pag install -Dm755 pag "${PKGDIR}/usr/bin/pag" # Rejestracja plików .pag w menedżerach plików. Instalacja przechodzi # przez pkexec i pag, więc nadal wymaga podpisu GPG oraz klucza repo. install -Dm644 /dev/stdin "${PKGDIR}/usr/share/mime/packages/pagan-package.xml" <<'EOF' PaganOS package Pakiet PaganOS EOF install -Dm644 /dev/stdin "${PKGDIR}/usr/share/applications/pag-package-installer.desktop" <<'EOF' [Desktop Entry] Type=Application Name=PaganOS Package Installer Name[pl]=Instalator pakietów PaganOS Comment=Verify and install a PaganOS .pag package Comment[pl]=Sprawdź i zainstaluj pakiet PaganOS .pag Exec=pkexec env PAG_YES=1 /usr/bin/pag install -- %F Terminal=true NoDisplay=true MimeType=application/x-pagan-package; Categories=System;PackageManager; EOF # Tłumaczenia generowane z TEJ SAMEJ wersji paga → zawsze zgodne; # `pag` czyta je z /etc/pag/lang → /usr/share/pag/lang (pliki nadpisują # wbudowane słowniki, a ich brak nie psuje działania). # `|| echo` – gdy źródło paga w git jest starsze i nie zna --lang-extract, # build NIE pada: zostają wbudowane słowniki (PL/EN). PAG_LANG_NO_FILES=1 python3 pag --lang-extract "${PKGDIR}/usr/share/pag/lang" \ || echo " (uwaga: --lang-extract nieobsługiwane – zostają wbudowane tłumaczenia)" package: | true