Aiguille, fil, trou

Pour une partie de mon parc de machines, je fais mon propre bulk build. Ce dernier ne construit pas l’ensemble des packages, mais un petit subset (environ 600 packages) avec mes propres préférences. Parmi elles, il en est une qui fout un merdier sans nom dans le build, converters/libiconv. Comme je l’expliquais ici il y a quelques temps, j’ai besoin de construire converters/php-iconv avec la version pkgsrc de la libiconv. Cet impératif a un impact non négligeable dans la configuration de mon /etc/mk.conf, aussi je vous livre ce dernier, final et fonctionnel:


.ifdef BSD_PKG_MK

no base X11

MKX11=no
X11_TYPE=modular

clean dependencies when the “clean” target is called

CLEANDEPENDS=yes

everybody likes vim

ACCEPTABLE_LICENSES+=vim-license

USE_BUILTIN.iconv= no

A built-in gettext is always going to use a built-in iconv.

USE_BUILTIN.gettext= no

PKG_RCD_SCRIPTS= yes

PKG_OPTIONS.irssi= perl inet6
PKG_OPTIONS.mplayer= oss

DSPAM_STORAGE_DRIVER= mysql
PKG_OPTIONS.dspam+= graphs
MYSQL_VERSION_DEFAULT= 50
PHP_VERSION_DEFAULT= 52
PKG_OPTIONS.php= -cgi fastcgi

PKG_OPTIONS.rtorrent= xmlrpc

UPDATE_TARGET=package-install
DEPENDS_TARGET= bulk-install
BATCH= yes

ACCEPTABLE_LICENSES+= socks5-license
ACCEPTABLE_LICENSES+= sendmail-license
ACCEPTABLE_LICENSES+= openmotif-license
ACCEPTABLE_LICENSES+= idea-license

PKG_OPTIONS.dovecot= ssl ldap dovecot-sieve dovecot-managesieve
PKG_OPTIONS.nagios-nrpe = ssl tcpwrappers

PKGCHK_CONF?= /usr/pkgsrc/pkgchk.conf
BULK_PREREQ+= converters/libiconv
#

Parse pkgchk.conf and supply list of packages for the bulk build framework.

#
.if defined(SPECIFIC_PKGS)
PKGLIST!= awk ‘{print $$1}’ ${PKGCHK_CONF}
. for pkg in ${PKGLIST}
HOST_SPECIFIC_PKGS+= ${pkg}
. endfor
.endif

.endif # BSD_PKG_MK

À noter, donc, les particularités suivantes:

  • Xorg modular pour les dépendances relatives à X11
  • libiconv en provenance de pkgsrc, il est impératif de faire de même pour gettext
  • irssi est compilé avec le support perl et IPv6
  • storage MySQL pour dspam
  • MySQL 5.0
  • PHP 5.2
  • Options ssl ldap dovecot-sieve et dovecot-managesieve pour dovecot
  • Options ssl et tcpwrappers pour nagios-nrpe
  • On ajoute libiconv comme pré-requis pour la construction bulk
    J’utilise, pour générer tout ce petit monde, l’excellent script du sieur orgrim, disponible ici, avec sa note explicative.