Poudriere - Compile ALL Ports

Chris portmaster at BSDforge.com
Tue May 5 20:46:26 UTC 2020


On Tue, 5 May 2020 22:38:36 +0200 Leander Schaefer info at NetOcean.de said

> Hello,
> 
> I have been dealing with Poudriere for quite a while and one of the most 
> issues I have is, that I have ports which won't compile along with 
> another. Reason is mostly something like:
> 
> pkg-static: ImageMagick7-7.0.10.6 conflicts with ImageMagick6-6.9.11.6,1 
> (installs files into the same place). Problematic file: 
> /usr/local/bin/Magick++-config
> 
> So in other words a newer version is going to place its binaries etc. 
> into the same place as the previous version. I have read and used 
> something like:
> 
> # Build several PHP versions parallel on the same server:
> # https://github.com/freebsd/poudriere/issues/602
> PHP_ALT=php56 php70 php71 php72 php73
> .for port in ${PHP_ALT}
> .if ${.CURDIR:M*/ports*/*/${port}*}
> DISABLE_CONFLICTS=YES
> PREFIX=/usr/local/${port}
> PHPBASE=/usr/local/${port}
> LOCALBASE=/usr/local
> CONFIGURE_ARGS+=--datadir=/usr/local/${port}/share
> CONFIGURE_ARGS+=--bindir=/usr/local/${port}/bin
> CONFIGURE_ARGS+=--with-config-file-scan-dir=/usr/local/${port}/etc/php
> #CONFIGURE_ARGS+=--with-php-config=/usr/local/${port}/bin/php.conf
> #CONFIGURE_ARGS+=--with-iconv=/usr/local
> #CONFIGURE_ARGS+=--with-pcre-dir=/usr/local
> .endif
> .endfor
> 
> But I was wondering: How is the FreeBSD Team dealing with this, when 
> they compile their packages for the public repository? Because we only 
> use one official repository and all packages are there ... some even 
> with differet options enabled. So how to deal with this? How can I 
> compile the entire ports tree without issues and build a repository of 
> it and some packages even with different options? Lets say one OpenLDAP 
> with SASL and another one with SASL? The only way I was able to do this 
> was building it in separate repositories.
> 
> Thanks
I use Jails which helps weed out some of the conflicts. That is different
jails for different (port) options that *may* cause conflict. Also
ports-mgmt/synth is pretty damn clever about sorting out conflicts.
However, I have no direct knowledge on how the pkg build admins deal with
this. But just thought I'd share some alternate avenue(s) FWIW. :-)

> 
> _______________________________________________
> freebsd-ports at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"




More information about the freebsd-ports mailing list