Topic: php syspaths devel et fpm lien inexistant + correction pour remi

salut remi je sais pas trop ou ont doit t'envoyer les modif pour les problèmes

vu ta enlever github pour remplacer par un git perso

j'ai constater un problème avec les pacquet scl php dans syspaths

y pas les liens des devel et du fpm dedans

yum -y install php56 php56-syspaths php56-php php56-php-devel php56-php-gd php56-php-mbstring php56-php-intl php56-php-mysql php56-php-xml php56-php-xmlrpc php56-php-mcrypt php56-php-imap php56-php-suhosin php56-php-fpm

php --version
PHP 5.6.40 (cli) (built: Jun  7 2022 15:04:35)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Suhosin v0.9.38, Copyright (c) 2007-2015, by SektionEins GmbH


php-config --version
-bash: php-config: command not found

phpize --version
-bash: phpize: command not found

php-fpm --version
-bash: php-fpm: command not found

yum -y remove php56 php56*

yum -y install php70 php70-syspaths php70-php php70-php-devel php70-php-gd php70-php-mbstring php70-php-intl php70-php-mysql php70-php-xml php70-php-xmlrpc php70-php-mcrypt php70-php-imap php70-php-snuffleupagus php70-php-fpm

php --version
PHP 7.0.33 (cli) (built: Jun  7 2022 14:29:59) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

php-config --version
-bash: php-config: command not found

phpize --version
-bash: phpize: command not found

php-fpm --version
-bash: php-fpm: command not found

yum -y remove php70 php70*

c'est le même problème de lien manquant dans tous les scl



original


#blabla
%package syspaths
Summary:   System-wide wrappers for the %{name} package
Requires:  %{?scl_name}-runtime%{?_isa} = %{version}-%{release}
Requires:  %{?scl_name}-php-cli%{?_isa}
Requires:  %{?scl_name}-php-common%{?_isa}
Conflicts: php-common
#etc
%scl_install
#etc
# syspaths
mkdir -p %{buildroot}%{_root_sysconfdir}
ln -s %{_sysconfdir}/php.ini %{buildroot}%{_root_sysconfdir}/php.ini
ln -s %{_sysconfdir}/php.d   %{buildroot}%{_root_sysconfdir}/php.d
mkdir -p %{buildroot}%{_root_bindir}
ln -s %{_bindir}/php     %{buildroot}%{_root_bindir}/php
ln -s %{_bindir}/phar    %{buildroot}%{_root_bindir}/phar
ln -s %{_bindir}/php-cgi %{buildroot}%{_root_bindir}/php-cgi
mkdir -p %{buildroot}%{_root_mandir}/man1
ln -s %{_mandir}/man1/php.1.gz     %{buildroot}%{_root_mandir}/man1/php.1.gz
ln -s %{_mandir}/man1/phar.1.gz    %{buildroot}%{_root_mandir}/man1/phar.1.gz
ln -s %{_mandir}/man1/php-cgi.1.gz %{buildroot}%{_root_mandir}/man1/php-cgi.1.gz
#etc
%files syspaths
%{_root_sysconfdir}/php.ini
%{_root_sysconfdir}/php.d
%{_root_bindir}/php
%{_root_bindir}/phar
%{_root_bindir}/php-cgi
%{_root_mandir}/man1/php.1.gz
%{_root_mandir}/man1/phar.1.gz
%{_root_mandir}/man1/php-cgi.1.gz

nécessaire pour les devel et le php-fpm

#blabla
%package syspaths
Summary:   System-wide wrappers for the %{name} package
Requires:  %{?scl_name}-runtime%{?_isa} = %{version}-%{release}
Requires:  %{?scl_name}-php-cli%{?_isa}
Requires:  %{?scl_name}-php-common%{?_isa}


Requires:  %{?scl_name}-php-fpm%{?_isa}
Requires:  %{?scl_name}-php-devel%{?_isa}

Conflicts: php-common
#etc
%scl_install
#etc
# syspaths
mkdir -p %{buildroot}%{_root_sysconfdir}
ln -s %{_sysconfdir}/php.ini %{buildroot}%{_root_sysconfdir}/php.ini
ln -s %{_sysconfdir}/php.d   %{buildroot}%{_root_sysconfdir}/php.d
mkdir -p %{buildroot}%{_root_bindir}
ln -s %{_bindir}/php     %{buildroot}%{_root_bindir}/php
ln -s %{_bindir}/phar    %{buildroot}%{_root_bindir}/phar
ln -s %{_bindir}/php-cgi %{buildroot}%{_root_bindir}/php-cgi


ln -s %{_bindir}/php-config %{buildroot}%{_root_bindir}/php-config
ln -s %{_bindir}/phpize %{buildroot}%{_root_bindir}/phpize
mkdir -p %{buildroot}%{_root_sbindir}
ln -s %{_sbindir}/php-fpm %{buildroot}%{_root_sbindir}/php-fpm

mkdir -p %{buildroot}%{_root_mandir}/man1
ln -s %{_mandir}/man1/php.1.gz     %{buildroot}%{_root_mandir}/man1/php.1.gz
ln -s %{_mandir}/man1/phar.1.gz    %{buildroot}%{_root_mandir}/man1/phar.1.gz
ln -s %{_mandir}/man1/php-cgi.1.gz %{buildroot}%{_root_mandir}/man1/php-cgi.1.gz
#etc
%files syspaths
%{_root_sysconfdir}/php.ini
%{_root_sysconfdir}/php.d
%{_root_bindir}/php
%{_root_bindir}/phar
%{_root_bindir}/php-cgi
%{_root_mandir}/man1/php.1.gz
%{_root_mandir}/man1/phar.1.gz
%{_root_mandir}/man1/php-cgi.1.gz


%{_root_bindir}/php-config
%{_root_bindir}/phpize
%{_root_sbindir}/php-fpm

#etc

Re: php syspaths devel et fpm lien inexistant + correction pour remi

> vu ta enlever github pour remplacer par un git perso

github reste là pour les tickets

et n'importe quel git peut gérer les PR ("git format-patch" / "mail" et "git am")

> y pas les liens des devel et du fpm dedans

C'est voulu (c'est surtout utile pour php-cli)

En plus il faudrait faire un php-devel-syspaths et php-fpm-syspaths (car sinon on aurait des lien morts)
et sans doute aussi pour php-pear-syspaths, bref un trou sans fond

En résumé, c'est juste un truc à minima
pour les autres, il est préférable d'installer en mode "single" si vraiment on veut une seule version.



P.S. ou alors j'ai raté un cas d'utilisation...

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: php syspaths devel et fpm lien inexistant + correction pour remi

> Requires:  %{?scl_name}-php-fpm%{?_isa}
> Requires:  %{?scl_name}-php-devel%{?_isa}

Justement ce que je ne veux pas faire

Rendre obligatoire l'installation des outils de développement n'est clairement pas une bonne idée.

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: php syspaths devel et fpm lien inexistant + correction pour remi

ps y aussi une erreur sur gd-last-devel dans el7

la même que celle que t'avais faite sur el6

avec la dep de libwebp7 ta encore oublier le conditionnelle dans le require

ta avez fait même petite erreur avec el6

dans buildrequire il y et

mais dans le require non

yum y remove libwebp-devel libwebp gd-devel gd
yum -y install gd-last-devel
#blabla
Error: libwebp7-devel conflicts with libwebp-devel-0.3.0-10.el7_9.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

c'est a cause de sa même erreur que sous el6

la ton buildrequire et bon

#blabla
%if %{with webp}
%if 0%{?rhel} == 7
BuildRequires: libwebp7-devel
%else
BuildRequires: libwebp-devel
%endif
%endif
#ect

mais ton require non

#blabla
Requires: libtiff-devel%{?_isa}
%if %{with webp}
BuildRequires: libwebp-devel
%endif
Requires: libX11-devel%{?_isa}
#etc

il devrait être comme sa

#blabla
Requires: libtiff-devel%{?_isa}
%if %{with webp}
%if 0%{?rhel} == 7
BuildRequires: libwebp7-devel
%else
BuildRequires: libwebp-devel
%endif
%endif
Requires: libX11-devel%{?_isa}
#etc

Re: php syspaths devel et fpm lien inexistant + correction pour remi

Remi wrote:

> Requires:  %{?scl_name}-php-fpm%{?_isa}
> Requires:  %{?scl_name}-php-devel%{?_isa}

Justement ce que je ne veux pas faire

Rendre obligatoire l'installation des outils de développement n'est clairement pas une bonne idée.


j'y pensez j'ai hésiter a te l'envoyer comme sa ou rajouter

syspaths-devel
et
syspaths-fpm

Re: php syspaths devel et fpm lien inexistant + correction pour remi

Franchement... EL-7... faut arreter d'utiliser ce truc...

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: php syspaths devel et fpm lien inexistant + correction pour remi

gd corrigé dans
https://git.remirepo.net/cgit/rpms/lib/ … 38baa3b01b

(au passage, je pense même qu'on pourrait virer toutes ces dépendances, qui sont privées et non nécessaire à l'utilisation de la libgd)

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

8 (edited by andykimpe 2022-06-22 16:31:14)

Re: php syspaths devel et fpm lien inexistant + correction pour remi

et tu voudrais qu'on utilise quoi

fedora qui faux faire une mise a niveau tous les 6 mois

ou el8 (Centos 8) et que t’arrive pas a mettre a jour depuis el7 CentOS 7

a chaque fois dnf renvoie une erreur sur des pacquet en conflit

que tu sais pas résoudre

et ovh ne propose que el7 (CentOS 7)

fedora 34 ou 35

y a ni CentOS 8

ni CentOS Stream 8

ni Fedora 36

même au niveau des distribution debian

il propose encore debian 9 et ubuntu 18.04

9 (edited by andykimpe 2022-06-22 20:42:50)

Re: php syspaths devel et fpm lien inexistant + correction pour remi

Remi wrote:

gd corrigé dans
https://git.remirepo.net/cgit/rpms/lib/ … 38baa3b01b

(au passage, je pense même qu'on pourrait virer toutes ces dépendances, qui sont privées et non nécessaire à l'utilisation de la libgd)

a oui je comprend pourquoi ta mis le git sur ton serveur tu change il build direct

par contre il a build release 6 dans gd mais pas dans gd-last

sur rhel 7 c'est gd-last donc sur le dépot le problème et toujours présent du coup

Re: php syspaths devel et fpm lien inexistant + correction pour remi

gd-last n'est plus utilisé (sauf sur certains vieux paquets),
c'est gd3php maintenant



P.S.1 il est encore utilisé par php 5.5 qui n'a jamais été reconstruit depuis le changement
P.S.2 il n'est plus utilisé du tout (5.5 a été mis à jour pour un CVE critique)

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: php syspaths devel et fpm lien inexistant + correction pour remi

> a oui je comprend pourquoi ta mis le git sur ton serveur tu change il build direct

Non, je veux juste ne pas utiliser des outils non libre 
https://blog.remirepo.net/post/2017/03/ … -de-github

Tous les paquets sont construits et signés sur me machine locale.

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

12 (edited by andykimpe 2022-06-24 00:38:00)

Re: php syspaths devel et fpm lien inexistant + correction pour remi

Remi wrote:

gd-last n'est plus utilisé (sauf sur certains vieux paquets),
c'est gd3php maintenant



P.S.1 il est encore utilisé par php 5.5 qui n'a jamais été reconstruit depuis le changement
P.S.2 il n'est plus utilisé du tout (5.5 a été mis à jour pour un CVE critique)


effectivement et la en mettant obsolette ta même régler le problème

par contre dans php 5.6 t'es loin d’être a jour ta publier releasse 33

ont et a la 58 d'habitude t'es toujours à jour la dessus mais pas la

y a même le patch pour openssl 3 régler pour le problème de build dans el9 et fedora 36


Add minimal OpenSSL 3.0 patch

From: Debian PHP Maintainers <ondrej@debian.org>
Date: Thu, 21 Apr 2022 12:52:24 +0200
Subject: Add minimal OpenSSL 3.0 patch

---
 ext/openssl/openssl.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index b53114c..70b5710 100644
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -57,6 +57,10 @@
 #include <openssl/rand.h>
 #include <openssl/ssl.h>
 #include <openssl/pkcs12.h>
+#if PHP_OPENSSL_API_VERSION >= 0x30000
+#include <openssl/core_names.h>
+#include <openssl/param_build.h>
+#endif
 
 /* Common */
 #include <time.h>
@@ -1337,7 +1341,9 @@ PHP_MINIT_FUNCTION(openssl)
     REGISTER_LONG_CONSTANT("PKCS7_NOSIGS", PKCS7_NOSIGS, CONST_CS|CONST_PERSISTENT);
 
     REGISTER_LONG_CONSTANT("OPENSSL_PKCS1_PADDING", RSA_PKCS1_PADDING, CONST_CS|CONST_PERSISTENT);
+#ifdef RSA_SSLV23_PADDING
     REGISTER_LONG_CONSTANT("OPENSSL_SSLV23_PADDING", RSA_SSLV23_PADDING, CONST_CS|CONST_PERSISTENT);
+#endif
     REGISTER_LONG_CONSTANT("OPENSSL_NO_PADDING", RSA_NO_PADDING, CONST_CS|CONST_PERSISTENT);
     REGISTER_LONG_CONSTANT("OPENSSL_PKCS1_OAEP_PADDING", RSA_PKCS1_OAEP_PADDING, CONST_CS|CONST_PERSISTENT);

et il prévois encore malgré ce qui avait dit en 2018 de faire des maj de sécurités

j'usqu'a fin 2022

ps y a pas loin de 200 patchs qui ont étais publier pour php 5.6 (198)

toi y en a que 67

Re: php syspaths devel et fpm lien inexistant + correction pour remi

> ont et a la 58 d'habitude t'es toujours à jour la dessus mais pas la

Je ne vois pas de quoi tu parle.
Et comparer avec debian... aucun sens.

> ps y a pas loin de 200 patchs qui ont étais publier pour php 5.6 (198)

Tu sais où debian et d'autres prennent les patches ?

Avant c'était là: https://github.com/Microsoft/php-src
Mais comme c'est moi qui faisait pratiquement tout le boulot, et que MS a arreté
maintenant c'est là: https://github.com/remicollet/php-src-security


En plus le patch openssl 3 est juste pas suffisant
c'est pour ça que j'ai choisi de ne maintenir que php >= 7.4 pour F36 et EL-9

Ex du patch 7.4 (26 commits, >2000 lignes)
https://git.remirepo.net/cgit/rpms/scl- … ssl3.patch

Après avec la patch minimum, oui, ça build....
Avec le mien, la suite de tests passe... (sans segfault)

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

14 (edited by andykimpe 2022-06-24 08:52:00)

Re: php syspaths devel et fpm lien inexistant + correction pour remi

a oui sa explique bien des choses notamment pourquoi il sort les même releasse que toi

je pensais que c'était du a une communication entre vous 2

mais non en faite c'est lui qui viens piquet ton travail

et si je comprend bien il prend t'es patch de la 7.3 pour les appliquer sur la 5.6

pas sur que ce soit très compatible de faire sa

surtout qu'il efface les anciennes releasse pour publier les nouvelles

vu qui a que 10 giga sur launchpad ce fait qui que tu peux même plus

revenir a le releasse initial

Re: php syspaths devel et fpm lien inexistant + correction pour remi

> je pensais que c'était du a une communication entre vous 2

évidement on communique régulièrement

> et si je comprend bien il prend t'es patch de la 7.3 pour les appliquer sur la 5.6

Ben non, il prend ceux pour la 5.6, vu qu'il a une branche par version : 5.6, 7.0, 7.1, 7.2 et 7.3 (et bientôt 7.4)

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