Topic: Syspath Packages for PHP

New packages in RHSCL like MariaDB now include a package called name-syspaths that adds wrappers in standard locations for SCL binaries. Each available version of these packages is marked as conflicting with all other versions of the package to make sure you only install one wrapper at a time.

This allows scripts to use the SCL version without requiring any changes. Would it be possible to add this for the PHP versions?

Re: Syspath Packages for PHP

Indeed, I'm aware of this feature

Do you ask to ad this syspath to packages in my repository (php##) ? or in official repository (rh-php##) ?

To be honest, this is not so simple / user friendly with PHP which provides various commands (php, php-cgi, phpize, pear, ...) in various package, so this mean various syspath packages.


For my repository, I will think if possible (perhaps only for the main "php" command)
BTW, if you need a single version, much simpler to use the "single" installtion (php-* packages)

For official repository, better to open a support ticket with RH support channel.

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: Syspath Packages for PHP

I am suggesting you add this for your repositories (if it makes it to RedHat, that is great too, but we are using yours at the moment).
Looking at the MariaDB package as an example, they include a lot of different binaries and man pages:

/usr/bin/msql2mysql
/usr/bin/my_print_defaults
/usr/bin/mysql
/usr/bin/mysql_find_rows
/usr/bin/mysql_plugin
/usr/bin/mysql_waitpid
/usr/bin/mysqlaccess
/usr/bin/mysqladmin
/usr/bin/mysqlbinlog
/usr/bin/mysqlcheck
/usr/bin/mysqldump
/usr/bin/mysqlimport
/usr/bin/mysqlshow
/usr/bin/mysqlslap
/usr/share/man/man1/msql2mysql.1.gz
/usr/share/man/man1/my_print_defaults.1.gz
/usr/share/man/man1/mysql.1.gz
/usr/share/man/man1/mysql_find_rows.1.gz
/usr/share/man/man1/mysql_plugin.1.gz
/usr/share/man/man1/mysql_waitpid.1.gz
/usr/share/man/man1/mysqlaccess.1.gz
/usr/share/man/man1/mysqladmin.1.gz
/usr/share/man/man1/mysqlbinlog.1.gz
/usr/share/man/man1/mysqlcheck.1.gz
/usr/share/man/man1/mysqldump.1.gz
/usr/share/man/man1/mysqlimport.1.gz
/usr/share/man/man1/mysqlshow.1.gz
/usr/share/man/man1/mysqlslap.1.gz

The main php binary would be a great start though.

Thanks.

Re: Syspath Packages for PHP

If you only want a single version, why do you use the scl, and not the base packages ?

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: Syspath Packages for PHP

We have 4 different versions running FPM, and many of those applications also have command line tools. The reason for syspaths would be to easily change the version used by other scripts with hardcoded shebang lines or change the default version used by composer (we not infrequently have people run composer manually and break things because the default version is 5.6).

Re: Syspath Packages for PHP

So, php56-syspaths, php70-syspaths, php71-syspaths, php72-syspaths and php73-syspaths package are now available in the repository

Of course, only one can be installed

They provide wrappers for php, phar and php-cgi commands (+ man page + php.ini)


Feedback welcome.

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: Syspath Packages for PHP

Works great. Thanks.