Re: keeping old php74 in poudriere
- Reply: void : "Re: keeping old php74 in poudriere"
- In reply to: void : "keeping old php74 in poudriere"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 21 Feb 2023 19:24:52 UTC
On 21/02/2023 19:16, void wrote: > basically i need to keep php74 and all the extensions for a machine > I have to look after. Would the correct approach be to use an overlay? > If this is the correct approach, do I need to: > > 1. make a ports tree that has php74 etc in it, such as 2202Q4, and then: > > [a] remove the whole tree apart from the relevant ports > [b] as [a] but also remove things at the top level like Mk/* > [c] keep the whole 2022Q4 tree, and use that as the overlay. > [d] if [c] then how would the overlay be referenced? From the top of the > tree, or does there need to be one overlay for each port? > > 2. not use an overlay but to use some other method? It depends on how long you will to support it and if you just want to build fixes for vulnerable ports or you want to have everything new except PHP 7.4. I needed to keep PHP 5.6 in the past so I forked the latest ports tree with PHP 5.6 and merged fixes for individual ports from time to time (like newer version of Apache, fixed version of cURL etc.). This works well for a relatively long time. If you need everything new and just an old PHP 7.4, you can use overlays. Overlay directory will contain only the ports you want to add (and probably Mk/bsd.default-versions.mk + Mk/Uses/php.mk The overlay directory must be registered ports tree in poudriere so created it with command poudriere ports -c -p php74_overlay -f /poudriere/ports/php74_overlay -m null Then you will need to copy each port (PHP extension) you want to keep building, eg.: archivers/php74-phar archivers/php74-zip converters/php74-iconv converters/php74-mbstring databases/php74-mysqli databases/php74-pdo databases/php74-pdo_mysql devel/php-composer2 devel/php74-gettext devel/php74-intl devel/php74-readline devel/php74-tokenizer ftp/php74-curl ftp/php74-ftp lang/php74 mail/php74-imap net/php74-sockets security/pecl-mcrypt security/pecl-ssh2 www/php74-opcache www/php74-session Then you can bulk build everything you have listed in "php74" (you can name the file different). Use you correct names for -j, -z and -p. This will work in my environment where jail is named 12_3_amd64 and ports tree is current quarterly ~ 2023Q1 poudriere bulk -j 12_3_amd64 -z php74 -p 2023Q1 -f /usr/local/etc/poudriere.d/pkglists/php74 -O php74_overlay I didn't tested this setup with PHP 7.4 but used something like this with different version of PHP 8.1 than what was in ports tree. Kind regards Miroslav Lachman