pkgsrc et options de dépendences
by Emile `iMil' Heitor - 2009-02-21
Je suis en train de packager un module apache, mod-vhost-ldap
, qui a pour dépendence www/apache22
et par conséquent devel/apr-util
. Jusque là, rien de terrible, les inclusions suivantes gèrent ces dépendances directes :
Seulement voila, pour que mod-vhost-ldap
compile correctement, devel/apr-utils
doit impérativement être compilé avec le support LDAP. Ceci est réalisé en plaçant la variable PKG_OPTIONS.apr-util=ldap
par exemple dans /etc/mk.conf
. Cependant, si cette variable n’est pas renseignée, et que rien de particulier n’est spécifié dans le Makefile
du package mod-vhost-ldap
, la compilation de ce dernier foirera lamentablement et je vous met au défi d’en trouver la cause.
Pour ces cas particuliers, un package qui dépend d’une particularité du build d’un autre package, une piste se trouve dans net/fetch
, ecrit par Joerg. L’astuce n’est pas de toute beauté: si la condition sus-citée n’est pas valide, on arrete le port grace à la directive PKG_FAIL_REASON
à laquelle on affecte un message d’erreur compréhensible. Cela se traduit par les lignes suivantes :
Moyennant quoi, notre package ne compilera que si la condition “PKG_BUILD_OPTIONS
contient au moins l’option ldap”.