diff --git a/.gitignore b/.gitignore
index 4dbaf78..2451128 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,13 @@
/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
diff --git a/pie-bash-completion b/pie-bash-completion
index f189bdc..837f518 100644
--- a/pie-bash-completion
+++ b/pie-bash-completion
@@ -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
diff --git a/pie-nocacert.patch b/pie-nocacert.patch
index c0b6a45..1d744be 100644
--- a/pie-nocacert.patch
+++ b/pie-nocacert.patch
@@ -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
diff --git a/pie-noxdg.patch b/pie-noxdg.patch
index 896ab51..1ee3f16 100644
--- a/pie-noxdg.patch
+++ b/pie-noxdg.patch
@@ -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;
diff --git a/pie-rpm.patch b/pie-rpm.patch
index bce68f7..9d4a8d0 100644
--- a/pie-rpm.patch
+++ b/pie-rpm.patch
@@ -1,23 +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.old ./src/Command/SelfUpdateCommand.php
---- ./src/Command/SelfUpdateCommand.php.old 2025-04-15 08:39:08.283938705 +0200
-+++ ./src/Command/SelfUpdateCommand.php 2025-04-15 08:40:47.169189092 +0200
-@@ -66,6 +66,7 @@ final class SelfUpdateCommand extends Co
+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()) {
- $output->writeln('Aborting! You are not running a PHAR, cannot self-update.');
-+ $output->writeln('Update the pie RPM using the package manager (dnf).');
+ $this->io->writeError('Aborting! You are not running a PHAR, cannot self-update.');
++ $this->io->writeError('Update the pie RPM using the package manager (dnf).');
- return 1;
+ 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('Aborting! You are not running a PHAR, cannot self-verify.');
++ $this->io->writeError('Verify the pie RPM using the package manager (rpm).');
+
+ return Command::FAILURE;
}
diff --git a/pie.spec b/pie.spec
index a6d189f..0a5fa9b 100644
--- a/pie.spec
+++ b/pie.spec
@@ -1,33 +1,34 @@
# remirepo/fedora spec file for pie
#
-# SPDX-FileCopyrightText: Copyright 2024-2025 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
#
-%global gh_commit 2c73701769a0edffd1f5f051b658f1ac31c78c64
+%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.9.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}}
-Release: 2%{?dist}
+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
@@ -60,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
@@ -71,6 +72,9 @@ 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
%description
@@ -94,9 +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
-
%build
# Nothing
@@ -136,6 +137,40 @@ done
%changelog
+* Wed Jan 7 2026 Remi Collet - 1.3.5-1
+- update to 1.3.5
+
+* Sat Jan 3 2026 Remi Collet - 1.3.4-1
+- update to 1.3.4
+
+* Fri Nov 28 2025 Remi Collet - 1.3.1-1
+- update to 1.3.1
+
+* Wed Nov 26 2025 Remi Collet - 1.3.0-1
+- update to 1.3.0
+
+* Wed Sep 10 2025 Remi Collet - 1.2.1-1
+- update to 1.2.1
+- supplements php-pear
+
+* Wed Sep 3 2025 Remi Collet - 1.2.0-1
+- update to 1.2.0
+
+* Fri Aug 8 2025 Remi Collet - 1.1.0-1
+- update to 1.1.0
+
+* Fri Jul 25 2025 Fedora Release Engineering - 1.0.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
+
+* Wed Jun 18 2025 Remi Collet - 1.0.0-1
+- update to 1.0.0
+
+* Fri May 9 2025 Remi Collet - 0.12.0-1
+- update to 0.12.0
+
+* Sun May 4 2025 Remi Collet - 0.10.0-1
+- update to 0.10.0
+
* Tue Apr 15 2025 Remi Collet - 0.9.0-2
- update to 0.9.0
- add notice about dnf in self-update output
@@ -151,6 +186,9 @@ done
- update to 0.6.0
- always use composer-generators
+* Sat Jan 18 2025 Fedora Release Engineering - 0.5.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
+
* Thu Jan 9 2025 Remi Collet - 0.5.0-1
- update to 0.5.0
diff --git a/sources b/sources
index f0d04ef..e29878f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (pie-0.9.0-2c73701.tgz) = b1b524d8000176fdc34970c468f2dfe3da080f44fdbf2be57056b58f6b187c833a31ef1894e7ae9dc768b33c4801d201697994a5d52a32954513a2a4349d5ec7
+SHA512 (pie-1.3.5-90d6d18.tgz) = 26b76820bfb5faa045cc70c832ef85a3f8dba9f2f8b131a67f813ee99614300889111c9f4a61157266c4e8543cdbe757a89daf535733071c56a05ac254f5b706