60 lines
2.1 KiB
Markdown
60 lines
2.1 KiB
Markdown
## Overview
|
|
|
|
This repository contains simple Debian packages and a helper script to build and upload them to a Gitea Package Registry.
|
|
|
|
### Layout
|
|
|
|
- Each package lives in its own directory (for example `uconsole-custom-theme/`, `uconsole-rotate/`).
|
|
- Inside each package:
|
|
- `DEBIAN/control`: package metadata (name, version, architecture, etc.)
|
|
- Payload files arranged exactly as they should be installed (for example `usr/share/...`).
|
|
- `README.md` file to document the package.
|
|
- `builds/`: output folder for built `.deb` files (created automatically via the build-upload script).
|
|
- `build-upload.sh`: interactive helper to build and upload a package.
|
|
|
|
### Requirements
|
|
|
|
- Packages: `dpkg-deb`, `curl`
|
|
- A self-hosted Gitea server >= 1.17 (introduced [packages](https://docs.gitea.com/usage/packages/overview))
|
|
|
|
### Build and upload a package
|
|
|
|
1) Create or modify package paylod/script (ex: `usr/bin/uconsole-rotate`)
|
|
2) Edit `DEBIAN/control` in the package directory (Bump `Version`).
|
|
3) From within the directory, run:
|
|
|
|
```
|
|
./build-upload.sh
|
|
```
|
|
|
|
3) Select a package from the list, then enter your Gitea username/password (or personal access token). The script:
|
|
- Builds and output to `builds/<package>_<version>_all.deb`
|
|
- Uploads it to: `https://git.chiasson.cloud/api/packages/Olivier/debian/pool/bookworm/main/upload`
|
|
- Handles Gitea response
|
|
|
|
### Consumer setup (APT on target systems)
|
|
|
|
Add the source and key (example for `bookworm`, owner `Olivier`):
|
|
|
|
```
|
|
sudo curl -fsSL https://git.chiasson.cloud/api/packages/Olivier/debian/repository.key \
|
|
| sudo gpg --dearmor -o /etc/apt/keyrings/chiasson-cloud.gpg
|
|
echo "deb [signed-by=/etc/apt/keyrings/chiasson-cloud.gpg] \
|
|
https://git.chiasson.cloud/api/packages/Olivier/debian bookworm main" \
|
|
| sudo tee /etc/apt/sources.list.d/chiasson-cloud.list
|
|
sudo apt update
|
|
```
|
|
|
|
Install packages:
|
|
|
|
```
|
|
sudo apt install uconsole-custom-theme uconsole-rotate
|
|
```
|
|
|
|
### Notes
|
|
|
|
- If your package overwrites files from other packages, declare appropriate `Replaces` (and optionally `Conflicts/Breaks`) in `DEBIAN/control`.
|
|
- For Gitea, the Debian registry path is owner-scoped: `/api/packages/<owner>/debian ...`.
|
|
|
|
|