109 lines
2.8 KiB
Markdown
109 lines
2.8 KiB
Markdown
# postit-debian
|
|
|
|
Paquet Debian pour [PostIt.Desktop](../yavsc), le client desktop
|
|
Avalonia de la plateforme Yavsc.Org.
|
|
|
|
Le paquet expose la commande `postit` sur le système, installe
|
|
l'entrée `.desktop` dans le menu, et enregistre le scheme URI
|
|
`postit://` comme MIME handler (utilisé par l'OIDC Authorization
|
|
Code + PKCE pour le hand-off du callback — RFC 8252 §7.1).
|
|
|
|
Cible : Debian 13 (trixie). Testé également sur Ubuntu 24.04 LTS
|
|
(equivalent ABI).
|
|
|
|
## Construction
|
|
|
|
Pré-requis :
|
|
|
|
```bash
|
|
sudo apt install build-essential debhelper imagemagick librsvg2-bin \
|
|
dotnet-sdk-10.0 git
|
|
```
|
|
|
|
Sur Debian 13, installer .NET 10 depuis le dépôt officiel Microsoft :
|
|
|
|
```bash
|
|
wget https://packages.microsoft.com/config/debian/13/packages-microsoft-prod.deb \
|
|
-O /tmp/ms-prod.deb
|
|
sudo dpkg -i /tmp/ms-prod.deb
|
|
sudo apt update
|
|
sudo apt install dotnet-sdk-10.0
|
|
```
|
|
|
|
Puis :
|
|
|
|
```bash
|
|
make deb
|
|
```
|
|
|
|
Le `.deb` atterrit dans le répertoire parent (ou `$POSTIT_OUT_DIR`).
|
|
|
|
Pour bumper la version amont sans modifier ce dépôt :
|
|
|
|
```bash
|
|
make deb POSTIT_GIT_TAG=1.0.1
|
|
make deb POSTIT_GIT_URL=https://github.com/fork/yavsc.git POSTIT_GIT_TAG=my-branch
|
|
```
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
sudo apt install ./postit_1.0.0-1_amd64.deb
|
|
```
|
|
|
|
ou directement :
|
|
|
|
```bash
|
|
sudo dpkg -i postit_1.0.0-1_amd64.deb
|
|
sudo apt -f install # résout les dépendances manquantes
|
|
```
|
|
|
|
Pour installer sur **arm64** :
|
|
|
|
```bash
|
|
make clean && make deb # sur une machine arm64, le .deb sera _arm64.deb
|
|
```
|
|
|
|
## Vérification
|
|
|
|
Après installation :
|
|
|
|
```bash
|
|
$ which postit
|
|
/usr/bin/postit
|
|
$ postit --help # (l'application Avalonia ouvre sa fenêtre)
|
|
$ xdg-mime query default x-scheme-handler/postit
|
|
postit.desktop
|
|
$ xdg-open postit://callback?code=test
|
|
```
|
|
|
|
Le scheme handler lance PostIt avec l'URL en argument. En interne,
|
|
PostIt (PostIt.Desktop) appelle `SingleInstance.TryHandOffAsync`
|
|
puis sort, transferrant l'URL au process PostIt déjà actif via
|
|
un named pipe.
|
|
|
|
## Désinstallation
|
|
|
|
```bash
|
|
sudo apt remove postit
|
|
```
|
|
|
|
Le `postrm` du paquet rafraîchit la base `.desktop`. Le scheme
|
|
handler `postit://` n'est pas explicitement désenregistré
|
|
(système — par utilisateur c'est `xdg-mime default ...`).
|
|
|
|
## Maintenance
|
|
|
|
- Bumper `debian/changelog` à chaque release, conformément à la
|
|
Debian Policy §4.4 (entries datées, signées par le mainteneur).
|
|
- Mettre à jour `POSTIT_GIT_TAG` par défaut dans `debian/rules`
|
|
et `Makefile` à chaque release amont.
|
|
- Rebuild après changement de licence amont.
|
|
|
|
## Liens
|
|
|
|
- [pazof/yavsc](https://github.com/pazof/yavsc) — source amont.
|
|
- [doc/postit-oidc.md](https://github.com/pazof/yavsc/blob/main/doc/architecture/postit-oidc.md)
|
|
— flow OIDC + custom URI scheme.
|
|
- [Debian Policy Manual](https://www.debian.org/doc/debian-policy/)
|
|
— référence pour la structure d'un paquet.
|