diff --git a/README.MD b/README.MD new file mode 100644 index 0000000..02a9811 --- /dev/null +++ b/README.MD @@ -0,0 +1,58 @@ +## 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/...`). +- `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/__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//debian ...`. + +