📦 Pacman Package Server
|
||
---|---|---|
.woodpecker | ||
migrations | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
config.toml | ||
docker-compose.yml | ||
Dockerfile | ||
README.md |
Pacco
Pacco is an application for managing and hosting pacman repositories.
Features
- Multiple repositories
- Multiple architectures
- Web UI for packages
- API for pushing new packages
- Smart mirroring
Usage
Package Repo
To use the packages pacco provides, add the following to pacman.conf
:
# /etc/pacman.conf
[repo]
Server = https://example.com/pkg/$repo/$arch
Add a new package
To upload a package you created with makepkg
to a repo use curl:
curl -X POST \
-F "pkg=@./<pkg_name>-<version>-<rel>-<arch>.pkg.tar.zst" \
-F "sig=@./<pkg_name>-<version>-<rel>-<arch>.pkg.tar.zst.sig" \
"https://<domain>/pkg/<repo>/upload"
Build with CI
You can add the following as a CI pipeline to automatically build and push a new package version.
when:
- event: push
branch: main
steps:
- name: "PKGBUILD"
image: git.hydrar.de/jmarya/pacco:latest
commands:
- pacco build --ci --push navos
environment:
PACCO_HOST: "https://pac.hydrar.de"
PACCO_TOKEN:
from_secret: pacco_token
SIGN_KEY:
from_secret: navos_key