Re arrange pmbootstrap_custom_build.md

This commit is contained in:
Florian RICHER 2024-02-18 18:02:23 +01:00
parent 69093706c2
commit 777d7d3519

View file

@ -13,7 +13,7 @@ tags:
## À propos de Postmarket OS
[Postmarket OS](https://postmarketos.org/) est une distribution basée sur [Alpine](https://www.alpinelinux.org/) conçut pour fonctionner sur téléphones, tablette
[Postmarket OS](https://postmarketos.org/) est une distribution basée sur [Alpine](https://www.alpinelinux.org/) conçut pour fonctionner sur téléphone, tablette
ou sur Raspberry PI.
La communauté autour du projet propose un ensemble d'outils comme `pmbootstrap` qui permet de configurer et d'installer Postmarket OS sur son téléphone.
On peut aussi l'utiliser pour compiler son propre paquet et l'installer sur son téléphone facilement.
@ -22,46 +22,48 @@ On peut aussi l'utiliser pour compiler son propre paquet et l'installer sur son
Avant de pouvoir l'utiliser, il faut d'abord l'installer depuis ce [lien](https://wiki.postmarketos.org/wiki/Pmbootstrap).
Une fois installé et configuré, il faut d'abord exécuter les commandes suivantes :
Une fois installé et configuré, il faut d'abord préparé son environnement de travail.
_Met à jour le repository [pmaports.git](https://wiki.postmarketos.org/wiki/Pmaports.git) cloné en local._
> Le repo pmaports.git stocke tous les paquets Alpine avec le fichier fichier `APKBUILD` utilisé par le serveur de compilation.
>
> Le fonctionnement est similaire à `PKGBUILD` pour les utilisateurs de [Archlinux](https://archlinux.org/)
>
> Ce fichier contient toute la procédure pour préparer les sources, compiler le paquet depuis les sources, le numéro de version
> ainsi que la procédure pour vérifier si le paquet fonctionne correctement.
> Généralement on utilise les tests du projet comme les tests unitaires ou les tests fonctionnels.
```bash
pmbootstrap pull
```
> Le repo pmaports.git stocke tous les paquets Alpine avec le fichier `APKBUILD` utilisé par le serveur de compilation.
>
> Le fonctionnement est similaire à `PKGBUILD` pour les utilisateurs de [Archlinux](https://archlinux.org/)
>
> Ce fichier contient toute la procédure pour préparer les sources, compiler le paquet depuis les sources, le numéro de version
> ainsi que la procédure pour vérifier si le paquet fonctionne correctement.
> Généralement on utilise les tests du projet comme les tests unitaires ou les tests fonctionnels.
_Met à jour le cache de la commande APK depuis l'environnement de travail_
> L'environnement de travail se situe par défaut dans le dossier `$HOME/.local/var/pmbootstrap/`
```bash
pmbootstrap update
```
> L'environnement de travail se situe par défaut dans le dossier `$HOME/.local/var/pmbootstrap/`
_Supprime le dossier de la commande chroot_
> La commande chroot permet de changer la racine Linux.
> Par exemple, on peut faire `chroot $HOME/mon_dossier` et à partir de ce moment-là, `/` pointera vers `$HOME/mon_dossier` dans notre shell actuel.
>
> C'est très utilisé par pmbootstrap pour configurer le système Alpine.
> Ça évite de devoir faire une VM ou un container Linux juste pour changer quelque fichier.
>
> Dans notre cas, il correspond au système pour le téléphone utilisé pour le configuré avant de l'installer ou de le tester sur notre téléphone.
>
> Par défaut, il se situe dans le dossier `$HOME/.local/var/pmbootstrap/cache_git/pmaports/`
```bash
pmbootstrap zap
```
> La commande chroot permet de changer la racine Linux.
> Par exemple, on peut faire `chroot $HOME/mon_dossier` et à partir de ce moment-là, `/` pointera vers `$HOME/mon_dossier` dans notre shell actuel.
>
> C'est très utilisé par pmbootstrap pour configurer le système Alpine.
> Ça évite de devoir faire une VM ou un container Linux juste pour changer quelque fichier.
>
> Dans notre cas, il correspond au système de notre téléphone pour le configuré avant de l'installer ou de le tester sur notre appareil.
>
> Par défaut, il se situe dans le dossier `$HOME/.local/var/pmbootstrap/cache_git/pmaports/`
_[Optionnel] Changer la branche du repo [pmaports.git](https://wiki.postmarketos.org/wiki/Pmaports.git)_
> `$workdir` par défaut se situe dans le dossier `$HOME/.local/var/pmbootstrap/cache_git/pmaports/`
> Exemple de branche utile : `kde-nightly`
```bash
git -C $workdir checkout [branch]
```
> `$workdir` par défaut se situe dans le dossier `$HOME/.local/var/pmbootstrap/cache_git/pmaports/`
>
> Exemple de branche utile : `kde-nightly`
## Compilation de notre paquet Alpine
@ -145,13 +147,13 @@ On a les arguments suivants :
> Dans notre cas, la signature ne sera pas valide, car le paquet n'est pas compilé par le mainteneur original donc il suffit de rajouter notre signature.
Pour revenir en arrière, il suffit de taper la commande ci-dessous depuis le téléphone ou depuis la connexion SSH
> APK va réinstaller les paquets depuis les repos officiels.
```bash
sudo apk upgrade -a
```
> APK va réinstaller les paquets depuis les repos officiels.
En cas de problème liée à des conflits de fichier, on peut utiliser cette commande
> Cette commande va forcer APK à écraser les fichiers en conflit.
```bash
sudo apk fix --force
```
```
> Cette commande va forcer APK à écraser les fichiers en conflit.