En suivant l'excellent tip de Mr GuiGui2, j’ai pu monter ma petite archi de bulk build personnelle pour fournir du package tout frais à pkgin.
J’ai donc ajouté le bloc magique suivant à mon /etc/mk.conf, qui
permet de gérer la présence de commentaires dans pkgchk.conf :
# bulk build config
DEPENDS_TARGET= bulk-install
BATCH=          yes
BULK_PREREQ+=   pkgtools/lintpkgsrc
.if defined(SPECIFIC_PKGS)
PKGLIST!=               awk '$$1 !~ /^\\#/ {print $$1}' ${PKGCHK_CONF}
.       for _pkg_ in ${PKGLIST}
HOST_SPECIFIC_PKGS+=    ${_pkg_}
.       endfor
.endif
Pour aller plus loin, j’ai automatisé le process au maximum pour lancer
des bulk build réguliers par cron, grâce au script [bulk-builder][]. Ce
script remplace do-sandbox-build et do-sandbox-upload, il est
également capable de gérer des chemins alternatifs, mettre à jour
pkgsrc avant de lancer le bulk.
La procédure pour mettre ça en place est donc :
1. Ajouter le bloc montré plus haut à /etc/mk.conf et y définir
PKGCHK_CONF, il s’agit du chemin vers une liste de packages au format
\“catetgorie/package\”, un par ligne, qu’on peut automatiquement créer
avec pkg_chk -g.
2. Créer la sandbox :
# cd /usr/pkgsrc/mk/bulk
# sh mksandbox --without-x /usr/sandbox
3. Créer et configurer /usr/pkgsrc/mk/bulk/build.conf :
# cd /usr/pkgsrc/mk/bulk
# cp build.conf-example build.conf
# vi build.conf
4. Lancer le bulk build :
# sh bulk-builder -u -R
-udemande decvs uple répertoire/usr/pkgsrcavant de commencer-Rdemande de ne pas uploader le résultat (les packages)
Enfin, il suffit d’utiliser la ligne suivante pour utiliser les packages
avec pkgin, dans /usr/pkg/etc/pkgin/repositories.conf :
file:///usr/pkgsrc/packages/All