## 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 ...`.


