Compare commits

...
Sign in to create a new pull request.

12 commits

Author SHA1 Message Date
Remi Collet
20ca81f201 v1.3.5
(cherry picked from commit ea76054980)
2026-01-07 08:14:22 +01:00
Remi Collet
be598232cf v1.3.4
(cherry picked from commit 39b3e34680)
(cherry picked from commit 5dc1e96f40)
2026-01-05 10:44:15 +01:00
Remi Collet
d5e35a557c v1.3.0
(cherry picked from commit e37ad716ab)
2025-11-26 10:19:41 +01:00
Remi Collet
f693238a56 update to 1.2.1
supplements php-pear

(cherry picked from commit dbc3f36cfa)
2025-09-10 14:43:21 +02:00
Remi Collet
4f7d2fb9da v1.2.0 2025-09-03 06:31:13 +02:00
Remi Collet
102f101e6f v1.1.0
(cherry picked from commit da51af944b)
(cherry picked from commit fc6cc2e72b)
2025-08-28 09:24:51 +02:00
Remi Collet
f024952d89 v1.0.0
(cherry picked from commit 9661e373f7)
(cherry picked from commit b631897760)
2025-06-18 10:47:24 +02:00
Remi Collet
f1709c34da v0.10.0
(cherry picked from commit f9694efeee)
2025-05-05 07:58:41 +02:00
Remi Collet
965381943b update to 0.9.0
add notice about dnf in self-update output
open https://github.com/php/pie/issues/217 broken bash completion

(cherry picked from commit 4851f13542)
2025-04-15 09:32:30 +02:00
Remi Collet
55e4561119 v0.8.0
(cherry picked from commit efa34ea12c)
2025-03-13 11:55:50 +01:00
Remi Collet
36b84afdf3 v0.7.0
(cherry picked from commit 5bf2ebedd5)
2025-03-03 11:02:53 +01:00
Remi Collet
78080db393 update to 0.6.0
always use composer-generators

(cherry picked from commit cf92af6f4d)
(cherry picked from commit f889f65c78)
2025-01-29 10:26:21 +01:00
7 changed files with 116 additions and 93 deletions

14
.gitignore vendored
View file

@ -1,3 +1,17 @@
/pie-0.3.0-dc299c3.tgz
/pie-0.4.0-883447d.tgz
/pie-0.5.0-b6e014b.tgz
/pie-0.6.0-e7fcd16.tgz
/pie-0.7.0-8304dd2.tgz
/pie-0.8.0-108707d.tgz
/pie-0.9.0-2c73701.tgz
/pie-0.10.0-453a462.tgz
/pie-0.12.0-6f6ce74.tgz
/pie-1.0.0-6b7bbdd.tgz
/pie-1.1.0-28b3e0d.tgz
/pie-1.2.0-4b20e77.tgz
/pie-1.2.1-8288fd6.tgz
/pie-1.3.0-3a28242.tgz
/pie-1.3.1-2ebd9dc.tgz
/pie-1.3.4-d41c81a.tgz
/pie-1.3.5-90d6d18.tgz

View file

@ -37,7 +37,7 @@ _sf_pie() {
local completecmd=("$sf_cmd" "_complete" "--no-interaction" "-sbash" "-c$cword" "-a1")
for w in ${words[@]}; do
w=$(printf -- '%b' "$w")
w="${w//\\\\/\\}"
# remove quotes from typed values
quote="${w:0:1}"
if [ "$quote" == \' ]; then

View file

@ -1,12 +1,12 @@
diff -up ./vendor/composer/ca-bundle/src/CaBundle.php.rpm ./vendor/composer/ca-bundle/src/CaBundle.php
--- ./vendor/composer/ca-bundle/src/CaBundle.php.rpm 2024-09-25 09:49:53.000000000 +0200
+++ ./vendor/composer/ca-bundle/src/CaBundle.php 2024-10-03 07:11:10.752092401 +0200
@@ -121,7 +121,7 @@ class CaBundle
@@ -122,7 +122,7 @@ class CaBundle
*/
public static function getBundledCaBundlePath()
{
- $caBundleFile = __DIR__.'/../res/cacert.pem';
+ $caBundleFile = '/etc/pki/tls/certs/ca-bundle.crt'; // System CA, always
+ $caBundleFile = '/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem'; // System CA, always
// cURL does not understand 'phar://' paths
// see https://github.com/composer/ca-bundle/issues/10

View file

@ -1,7 +1,7 @@
diff -up ./vendor/composer/composer/src/Composer/Factory.php.noxdg ./vendor/composer/composer/src/Composer/Factory.php
--- ./vendor/composer/composer/src/Composer/Factory.php.noxdg 2024-04-20 12:34:54.442117723 +0200
+++ ./vendor/composer/composer/src/Composer/Factory.php 2024-04-20 12:35:39.497640757 +0200
@@ -702,6 +702,10 @@ class Factory
diff -up ./src/Platform.php.noxdg ./src/Platform.php
--- ./src/Platform.php.noxdg 2025-11-04 07:41:36.891311937 +0100
+++ ./src/Platform.php 2025-11-04 07:42:29.282702463 +0100
@@ -35,6 +35,10 @@ class Platform
private static function useXdg(): bool
{
@ -12,11 +12,11 @@ diff -up ./vendor/composer/composer/src/Composer/Factory.php.noxdg ./vendor/comp
foreach (array_keys($_SERVER) as $key) {
if (strpos((string) $key, 'XDG_') === 0) {
return true;
diff -up ./src/Platform.php.old ./src/Platform.php
--- ./src/Platform.php.old 2024-12-24 10:01:31.088992537 +0100
+++ ./src/Platform.php 2024-12-24 10:01:36.394197932 +0100
@@ -23,6 +23,10 @@ class Platform
{
diff -up ./vendor/composer/composer/src/Composer/Factory.php.noxdg ./vendor/composer/composer/src/Composer/Factory.php
--- ./vendor/composer/composer/src/Composer/Factory.php.noxdg 2025-09-19 13:41:59.000000000 +0200
+++ ./vendor/composer/composer/src/Composer/Factory.php 2025-11-04 07:41:36.891444253 +0100
@@ -707,6 +707,10 @@ class Factory
private static function useXdg(): bool
{
+ // As XDG is very partially implemented
@ -24,5 +24,5 @@ diff -up ./src/Platform.php.old ./src/Platform.php
+ return false;
+
foreach (array_keys($_SERVER) as $key) {
/** @psalm-suppress RedundantCastGivenDocblockType */
if (strpos((string) $key, 'XDG_') === 0) {
return true;

View file

@ -1,12 +1,42 @@
diff -up ./bin/pie.rpm ./bin/pie
--- ./bin/pie.rpm 2024-10-04 11:40:48.733248660 +0200
+++ ./bin/pie 2024-10-04 11:42:00.473990273 +0200
@@ -17,7 +17,7 @@ use Symfony\Component\Console\Input\Inpu
use Symfony\Component\Console\Output\OutputInterface;
--- ./bin/pie.rpm 2025-11-04 07:31:47.045861211 +0100
+++ ./bin/pie 2025-11-04 07:34:03.568067299 +0100
@@ -28,13 +28,14 @@ use function error_reporting;
/** @psalm-suppress UnresolvableInclude */
use const E_DEPRECATED;
-require_once __DIR__ . '/../src/Util/PieVersion.php';
+require_once '/usr/share/pie/src/Util/PieVersion.php';
+
if (PieVersion::isPharBuild()) {
error_reporting(error_reporting() & ~E_DEPRECATED);
}
// phpcs:ignore Squiz.NamingConventions.ValidVariableName.NotCamelCaps
-include $_composer_autoload_path ?? __DIR__ . '/../vendor/autoload.php';
+include $_composer_autoload_path ?? '/usr/share/pie/vendor/autoload.php';
$container = Container::factory();
diff -up ./src/Command/SelfUpdateCommand.php.rpm ./src/Command/SelfUpdateCommand.php
--- ./src/Command/SelfUpdateCommand.php.rpm 2025-11-04 07:31:47.045962420 +0100
+++ ./src/Command/SelfUpdateCommand.php 2025-11-04 07:34:56.202111078 +0100
@@ -85,6 +85,7 @@ final class SelfUpdateCommand extends Co
{
if (! PieVersion::isPharBuild()) {
$this->io->writeError('<comment>Aborting! You are not running a PHAR, cannot self-update.</comment>');
+ $this->io->writeError('<comment>Update the pie RPM using the package manager (dnf).</comment>');
return Command::FAILURE;
}
diff -up ./src/Command/SelfVerifyCommand.php.rpm ./src/Command/SelfVerifyCommand.php
--- ./src/Command/SelfVerifyCommand.php.rpm 2025-11-04 07:31:47.046045232 +0100
+++ ./src/Command/SelfVerifyCommand.php 2025-11-04 07:35:34.439595840 +0100
@@ -43,6 +43,7 @@ final class SelfVerifyCommand extends Co
{
if (! PieVersion::isPharBuild()) {
$this->io->writeError('<comment>Aborting! You are not running a PHAR, cannot self-verify.</comment>');
+ $this->io->writeError('<comment>Verify the pie RPM using the package manager (rpm).</comment>');
return Command::FAILURE;
}

127
pie.spec
View file

@ -1,35 +1,34 @@
# remirepo/fedora spec file for pie
#
# SPDX-FileCopyrightText: Copyright 2024 Remi Collet
# SPDX-FileCopyrightText: Copyright 2024-2026 Remi Collet
# SPDX-License-Identifier: CECILL-2.1
# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
#
# Please, preserve the changelog entries
#
%bcond_with generators
%global gh_commit b6e014bdbe790a6cbb83ea0582ac9b6eb8ab31c1
%global gh_commit 90d6d1850b254540328a8397a9e689ad1bca873e
%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
#global gh_date 20241003
%global gh_branch main
%global gh_owner php
%global gh_project pie
%global upstream_version 0.5.0
#global upstream_prever dev
#global upstream_lower DEV
%global upstream_version 1.3.5
#global upstream_prever rc3
%global bashcompdir %(pkg-config --variable=completionsdir bash-completion 2>/dev/null)
%global bashcomproot %(dirname %{bashcompdir} 2>/dev/null)
Name: pie
Version: %{upstream_version}%{?upstream_prever:~%{upstream_lower}}
Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}}
Release: 1%{?dist}
Summary: PHP Installer for Extensions
# SPDX: pie is BSD-3-Clause, all dependencies are MIT
# SPDX: pie is BSD-3-Clause
# thephpf/attestation is BSD-3-Clause
# others dependencies are MIT
License: BSD-3-Clause AND MIT
URL: https://github.com/php/pie
# tarball generated by makesrc.sh
@ -39,6 +38,7 @@ Source1: %{name}-bash-completion
Source9: makesrc.sh
# Fix autoloader path
# add message about dnf in self-update command
Patch0: %{name}-rpm.patch
# Don't use XDG directories
Patch1: %{name}-noxdg.patch
@ -52,9 +52,7 @@ BuildRequires: php-cli
BuildRequires: php-json
BuildRequires: php-zip
BuildRequires: pkgconfig(bash-completion)
%if %{with generators}
BuildRequires: composer-generators
%endif
# From composer.json, "require": {
# "php": "8.1.*||8.2.*||8.3.*||8.4.*",
@ -63,7 +61,7 @@ Requires: php(language) >= 8.1
Requires: php-cli
Requires: php-zip
# System certificates
Requires: ca-certificates
Requires: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
# From phpcompatinfo
# Ignored: core, date, filter, hash, pcre, random, reflection, spl, standard
Requires: php-ctype
@ -74,45 +72,10 @@ Requires: php-json
Requires: php-mbstring
Requires: php-posix
Requires: php-phar
# PECL is now deprecated
# PIE is designed to replace it
Supplements: php-pear
%if %{without generators}
# Bundled libraries
# License MIT
Provides: bundled(php-composer(composer/ca-bundle)) = 1.5.5
Provides: bundled(php-composer(composer/class-map-generator)) = 1.5.0
Provides: bundled(php-composer(composer/composer)) = 2.8.4
Provides: bundled(php-composer(composer/metadata-minifier)) = 1.0.0
Provides: bundled(php-composer(composer/pcre)) = 3.3.2
Provides: bundled(php-composer(composer/semver)) = 3.4.3
Provides: bundled(php-composer(composer/spdx-licenses)) = 1.5.8
Provides: bundled(php-composer(composer/xdebug-handler)) = 3.0.5
Provides: bundled(php-composer(fidry/cpu-core-counter)) = 1.2.0
Provides: bundled(php-composer(illuminate/container)) = 10.48.25
Provides: bundled(php-composer(illuminate/contracts)) = 10.48.25
Provides: bundled(php-composer(justinrainbow/json-schema)) = 5.3.0
Provides: bundled(php-composer(psr/container)) = 2.0.2
Provides: bundled(php-composer(psr/log)) = 3.0.2
Provides: bundled(php-composer(psr/simple-cache)) = 3.0.0
Provides: bundled(php-composer(react/promise)) = 3.2.0
Provides: bundled(php-composer(seld/jsonlint)) = 1.11.0
Provides: bundled(php-composer(seld/phar-utils)) = 1.2.1
Provides: bundled(php-composer(seld/signal-handler)) = 2.0.2
Provides: bundled(php-composer(symfony/console)) = 6.4.17
Provides: bundled(php-composer(symfony/deprecation-contracts)) = 3.5.1
Provides: bundled(php-composer(symfony/filesystem)) = 6.4.13
Provides: bundled(php-composer(symfony/finder)) = 6.4.17
Provides: bundled(php-composer(symfony/polyfill-ctype)) = 1.31.0
Provides: bundled(php-composer(symfony/polyfill-intl-grapheme)) = 1.31.0
Provides: bundled(php-composer(symfony/polyfill-intl-normalizer)) = 1.31.0
Provides: bundled(php-composer(symfony/polyfill-mbstring)) = 1.31.0
Provides: bundled(php-composer(symfony/process)) = 6.4.15
Provides: bundled(php-composer(symfony/service-contracts)) = 3.5.1
Provides: bundled(php-composer(symfony/string)) = 6.4.15
Provides: bundled(php-composer(webmozart/assert)) = 1.11.0
# Composer library
Provides: php-composer(php/pie) = %{version}
%endif
%description
PIE (PHP Installer for Extensions).
@ -135,30 +98,6 @@ find . \( -name \*.rpm -o -name \*noxdg -o -name \*nocacert \) -delete -print
rm vendor/composer/ca-bundle/res/cacert.pem
: Set version
sed -e 's/@pie_version@/%{upstream_version}%{?upstream_prever}/' -i bin/pie
%if %{without generators}
: List bundled libraries and Licenses
php -r '
$pkgs = file_get_contents("vendor/composer/installed.json");
$pkgs = json_decode($pkgs, true);
if (!is_array($pkgs) || !isset($pkgs["packages"])) {
echo "cant decode json file\n";
exit(3);
}
$res = [];
foreach($pkgs["packages"] as $pkg) {
$lic = implode(" and ", $pkg["license"]);
if (!isset($res[$lic])) $res[$lic] = [];
$res[$lic][] = sprintf("Provides: bundled(php-composer(%s)) = %s", $pkg["name"], ltrim($pkg["version"], "v"));
}
foreach($res as $lic => $lib) {
sort($lib);
printf("# License %s\n%s\n", $lic, implode("\n", $lib));
}'
%endif
%build
# Nothing
@ -198,6 +137,46 @@ done
%changelog
* Wed Jan 7 2026 Remi Collet <remi@remirepo.net> - 1.3.5-1
- update to 1.3.5
* Sat Jan 3 2026 Remi Collet <remi@remirepo.net> - 1.3.4-1
- update to 1.3.4
* Wed Nov 26 2025 Remi Collet <remi@remirepo.net> - 1.3.0-1
- update to 1.3.0
* Wed Sep 10 2025 Remi Collet <remi@remirepo.net> - 1.2.1-1
- update to 1.2.1
- supplements php-pear
* Wed Sep 3 2025 Remi Collet <remi@remirepo.net> - 1.2.0-1
- update to 1.2.0
* Fri Aug 8 2025 Remi Collet <remi@remirepo.net> - 1.1.0-1
- update to 1.1.0
* Wed Jun 18 2025 Remi Collet <remi@remirepo.net> - 1.0.0-1
- update to 1.0.0
* Sun May 4 2025 Remi Collet <remi@remirepo.net> - 0.10.0-1
- update to 0.10.0
* Tue Apr 15 2025 Remi Collet <remi@remirepo.net> - 0.9.0-2
- update to 0.9.0
- add notice about dnf in self-update output
- open https://github.com/php/pie/issues/217 broken bash completion
* Thu Mar 13 2025 Remi Collet <remi@remirepo.net> - 0.8.0-1
- update to 0.8.0
* Mon Mar 3 2025 Remi Collet <remi@remirepo.net> - 0.7.0-1
- update to 0.7.0
* Wed Jan 29 2025 Remi Collet <remi@remirepo.net> - 0.6.0-1
- update to 0.6.0
- always use composer-generators
* Thu Jan 9 2025 Remi Collet <remi@remirepo.net> - 0.5.0-1
- update to 0.5.0

View file

@ -1 +1 @@
SHA512 (pie-0.5.0-b6e014b.tgz) = e7f28f1d3bb53340711555e30bf118a6e563a45a3fe06da2a67ebcb65046aa24505ddebfecd73b0a898a8d02a2d6de55545777bcd17d9ff15a30256ffe487b0f
SHA512 (pie-1.3.5-90d6d18.tgz) = 26b76820bfb5faa045cc70c832ef85a3f8dba9f2f8b131a67f813ee99614300889111c9f4a61157266c4e8543cdbe757a89daf535733071c56a05ac254f5b706