51 lines
1.1 KiB
Markdown
51 lines
1.1 KiB
Markdown
# 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`:
|
|
|
|
```ini
|
|
# /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:
|
|
|
|
```sh
|
|
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.
|
|
|
|
```yml
|
|
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
|
|
```
|