🔒 Repository is read-only – file editing is disabled.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
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'
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-pagan-package">
<comment>PaganOS package</comment>
<comment xml:lang="pl">Pakiet PaganOS</comment>
<glob pattern="*.pag"/>
</mime-type>
</mime-info>
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