# pag - PaganOS Package Manager

Prosty, szybki menedżer pakietów dla [PaganOS](https://paganlinux.eu). Instaluje, aktualizuje i usuwa pakiety z podpisem GPG, atomową instalacją i wsparciem rollbacku.

## Instalacja

```bash
pag install pag
pag sync
```

## Użycie

| Komenda | Opis |
|---------|------|
| `pag sync` | Synchronizuj indeks repozytorium |
| `pag install <pakiet>` | Zainstaluj pakiet |
| `pag remove <pakiet>` | Usuń pakiet |
| `pag upgrade` | Aktualizuj wszystkie pakiety |
| `pag search <fraza>` | Szukaj pakietu |
| `pag info <pakiet>` | Pokaż szczegóły pakietu |
| `pag list` | Lista zainstalowanych pakietów |
| `pag rollback <pakiet>` | Przywróć poprzednią wersję |
| `pag key add <plik>` | Zaimportuj klucz GPG |
| `pag key list` | Lista zaufanych kluczy |
| `pag self-update` | Aktualizuj samego siebie |
| `pag clean` | Wyczyść cache |

## Przykłady

```bash
pag install neovim ripgrep fd bat
pag sync && pag upgrade
pag search python
pag rollback neovim
```

## Architektura

```
/etc/pag/repos/           # pliki .conf z URL-ami repozytoriów
/etc/pag/trusted-keys.gpg # klucze GPG
/var/cache/pag/repos/     # zsynchronizowane indeksy
/var/cache/pag/pkgs/      # pobrane pakiety
/var/lib/pag/installed.db # baza SQLite
```

## Format .pkg.tar.xz

```
pakiet-1.0-1.pkg.tar.xz
├── metadata.json    # nazwa, wersja, zależności, SHA256, GPG
└── data.tar.xz      # właściwe pliki
```

## Bezpieczeństwo

- Podpisy GPG (klucz: `A14CBE52BE0D63F5`)
- Atomowa instalacja (tmpdir → rename)
- Rollback
- Weryfikacja SHA256
- Izolowane buildy w chroot

## Licencja

GPL-3.0-or-later
