Crea repository basati su git poudriere
1. Installa e configura Poudriere
https://docs.freebsd.org/en/books/handbook/ports/#ports-poudriere
Installa Poudriere utilizzando il pacchetto o la port ports-mgmt/poudriere e devel/ccache per usare ccache e velocizzare il processo di compilazione.
File di configurazione Poudriere: /usr/local/etc/poudriere.conf
Per ZFS, scommentare "#ZPOOL=zroot"
Per abilitare ccache scommentare "#CCACHE_DIR=/var/cache/ccache"
2. Buildare con Poudriere
2.1. Clona un repository
https://docs.freebsd.org/en/books/handbook/ports/#ports-using-installation-methods
# git clone --depth 1 https://git.FreeBSD.org/ports.git /usr/local/poudriere/ports/local/
2.2. Crea una alberatura Poudriere localmente gestita
# poudriere ports -c -p local -m null -M /usr/local/poudriere/ports/local/
2.3. Aggiorna la repo git
# cd /usr/local/poudriere/ports/local # git pull
2.4. Crea una jail da usare con Poudriere
# poudriere jail -c -j 13amd64 -v 13.3-RELEASE
2.5. Buildare con poudriere
Crea una lista di prime-origin attualmente installate:
pkg info -o `pkg prime-list` | awk '{print $2}' | sort > pkg-info-`date +%Y%m%d%H%M`
oppure
Crea una lista di tutti i pacchetti attualmente installati:
pkg info -o '*' | awk '{print $2}' | sort > pkg-info-`date +%Y%m%d%H%M`
Fai la build dei pacchetti:
poudriere bulk -j 13amd64-local -p local -f pkg-info-202410041128
3. La build routine
3.1. Mantieni i pacchetti aggiornati
Aggiorna la repo git:
# cd /usr/local/poudriere/ports/local # git pull
Fai la build dei pacchetti:
poudriere bulk -j 13amd64-local -p local -f pkg-info-202410041128
3.2. Configurare le OPZIONI prima della compilazione (FACOLTATIVO)
Configura le opzioni
poudriere options -j 13amd64-local -p local -f filename -c
Remuovi le opzioni
poudriere options -j 13amd64-local -p local -r -f filename
Mostra le opzioni configurate in maniera non recursiva:
poudriere options -j 13amd64-local -p local -s -f filename -n
3.3. Pulizia dei pacchetti vecchi o indesiderati (FACOLTATIVO)
Fai la clean di tutti i pacchetti:
poudriere pkgclean -A -j 13amd64-local -p local