Poudriere - Compile ALL Ports

Leander Schaefer info at NetOcean.de
Thu May 7 18:39:58 UTC 2020


Hello Chris,

Hello List,

I have checked out ports-mgmt/synth unfortunately it would be a massive 
downgrade compared to poudriere. Does anyone have the right clue about 
how the FreeBSD package managment team provides a complete repository 
without having these conflicts? There must be a way to do this with 
poudriere since I am most certainly sure they also use poudriere.

Also is there a way to tell poudriere to give a package a different / 
individual name. E.g. I want to compile openldap one time with SASL and 
another time without SASL and place them in the same repository. The 
package naming could/should then be something like this:

- openldap-sasl

- openldap

Thanks

Am 05.05.20 um 23:06 schrieb Leander Schaefer:
> Hello Chris,
>
>
> thanks for your reply. Thanks for the hint about ports-mgmt/synth. I 
> am definitly going to have a look into this! Well, my Podriere is 
> using Jails by default. Is there any hack you applied for this issue 
> to avoid?
>
>
> Best regards,
>
> Leander
>
>
> Am 05.05.20 um 22:46 schrieb Chris:
>> 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"
>>
>>
>
> Mit freundlichen Grüßen
>
> Leander Schäfer
>
>
> _______________________________________________
> 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