Hi! I am posting this question to the list with CC to the relevant maintainers because it involves a number of packages.
On a few of OpenBSD 6.8 amd64 instances using stable we are using php-7.4.x with apache-httpd and with the OpenBSD httpd as well as on the command line. Everything is kept up to date regularly. We are also using the following packages: dokuwiki-2020.07.29 pear-utils-1.10.9 phpMyAdmin-4.9.5 wp-cli-2.4.0 Each of these has a dependency on php-7.3.x which means the older version of PHP is also installed even though it is not used. # pkg_info -R php-7.3.26 Information for inst:php-7.3.26 Required by: dokuwiki-2020.07.29 pear-utils-1.10.9 php-gd-7.3.26 php-mysqli-7.3.26 phpMyAdmin-4.9.5 wp-cli-2.4.0 # A similar issue exists for php-gd-7.3.26: # pkg_info -R php-gd-7.3.26 Information for inst:php-gd-7.3.26 Required by: dokuwiki-2020.07.29 phpMyAdmin-4.9.5 # And for php-mysqli-7.3.26: # pkg_info -R php-mysqli-7.3.26 Information for inst:php-mysqli-7.3.26 Required by: phpMyAdmin-4.9.5 # Using these packages with php-7.4.x seems to work fine. But pulling in the older PHP version just to satisfy the dependency seems somewhat wasteful. I’d love to be able get rid of the unnecessary php-7.3.x packages to save space and to save time during updates. Is there a way to make the dependencies more general so they will accept the php-7.4.x versions to satisfy the requirement? Maybe there is a way to specify a minimum required version in the packages? @Stuart: Possibly the basic issue is with the way the PHP packages are built. PHP generally makes major changes that might affect compatibility with a x.x version bump and reserves the x.x.x bumps to bug fixes. So should the PHP packages use a flavor mechanism to differentiate between x.x versions? A related issue I found is that with PHP, unlike other packages, I can’t just pkg_add php or pkg_add php-x.x to install the latest version. Instead I have to specify the full version, e.g. pkg_add php-7.4.14. This is somewhat cumbersome when wanting to just install the latest version because I would need to do a pkg_info -Q php first to figure out which exact version to get. Is this intentional or is there a better way to do a generic install? Note: I am a complete noob when it comes to the internals of the OpenBSD packaging system. So Im asking from the perspective of an admin using the system. Thanks! -- Mike Fischer