summaryrefslogtreecommitdiffstats
path: root/composer.spec
diff options
context:
space:
mode:
Diffstat (limited to 'composer.spec')
-rw-r--r--composer.spec205
1 files changed, 120 insertions, 85 deletions
diff --git a/composer.spec b/composer.spec
index 519edb6..44e65e1 100644
--- a/composer.spec
+++ b/composer.spec
@@ -1,16 +1,17 @@
# remirepo/fedora spec file for composer
#
-# Copyright (c) 2015-2023 Remi Collet
-# License: CC-BY-SA-4.0
-# http://creativecommons.org/licenses/by-sa/4.0/
+# SPDX-FileCopyrightText: Copyright 2015-2025 Remi Collet
+# SPDX-License-Identifier: CECILL-2.1
+# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
#
# Please, preserve the changelog entries
#
+# remirepo:2
# For compatibility with SCL
%undefine __brp_mangle_shebangs
-%global gh_commit 623e5e1de055e65bc6c3c61b8348dc4662d75e2b
+%global gh_commit 85ff84d6c5260ba21740a7c5c9a111890805d6e7
%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
%global gh_branch 2.0-dev
%global gh_owner composer
@@ -18,7 +19,7 @@
%global api_version 2.6.0
%global run_version 2.2.2
-%global upstream_version 2.6.2
+%global upstream_version 2.8.8
#global upstream_prever RC1
#global upstream_lower rc1
@@ -40,7 +41,7 @@ Source0: %{gh_project}-%{upstream_version}%{?upstream_prever}-%{gh_short}
Source1: %{name}-bash-completion
Source3: %{name}.sh
Source4: %{name}.csh
-# Get a git snapshot to retrieve the test suite
+# Create a git snapshot with dependencies
Source5: makesrc.sh
# Use our autoloader, resources path, fix for tests
@@ -54,6 +55,7 @@ BuildRequires: php(language) >= 7.2.5
BuildRequires: php-cli
BuildRequires: php-json
BuildRequires: pkgconfig(bash-completion)
+BuildRequires: composer-generators
# From composer.json, "require": {
# "php": "^7.2.5 || ^8.0",
@@ -78,36 +80,6 @@ Requires: php(language) >= 7.2.5
Requires: php-cli
# System certificates
Requires: ca-certificates
-# Bundled libraries
-# License MIT
-Provides: bundled(php-composer-ca-bundle) = 1.3.7
-Provides: bundled(php-composer-class-map-generator) = 1.1.0
-Provides: bundled(php-composer-metadata-minifier) = 1.0.0
-Provides: bundled(php-composer-pcre) = 2.1.0
-Provides: bundled(php-composer-semver) = 3.4.0
-Provides: bundled(php-composer-spdx-licenses) = 1.5.7
-Provides: bundled(php-composer-xdebug-handler) = 3.0.3
-Provides: bundled(php-justinrainbow-json-schema) = 5.2.12
-Provides: bundled(php-psr-container) = 1.1.1
-Provides: bundled(php-psr-log) = 1.1.4
-Provides: bundled(php-react-promise) = v3.0.0
-Provides: bundled(php-seld-jsonlint) = 1.10.0
-Provides: bundled(php-seld-phar-utils) = 1.2.1
-Provides: bundled(php-seld-signal-handler) = 2.0.2
-Provides: bundled(php-symfony-console) = v5.4.28
-Provides: bundled(php-symfony-deprecation-contracts) = v2.5.2
-Provides: bundled(php-symfony-filesystem) = v5.4.25
-Provides: bundled(php-symfony-finder) = v5.4.27
-Provides: bundled(php-symfony-polyfill-ctype) = v1.28.0
-Provides: bundled(php-symfony-polyfill-intl-grapheme) = v1.28.0
-Provides: bundled(php-symfony-polyfill-intl-normalizer) = v1.28.0
-Provides: bundled(php-symfony-polyfill-mbstring) = v1.28.0
-Provides: bundled(php-symfony-polyfill-php73) = v1.28.0
-Provides: bundled(php-symfony-polyfill-php80) = v1.28.0
-Provides: bundled(php-symfony-polyfill-php81) = v1.28.0
-Provides: bundled(php-symfony-process) = v5.4.28
-Provides: bundled(php-symfony-service-contracts) = v2.5.2
-Provides: bundled(php-symfony-string) = v5.4.26
# From composer.json, suggest
# "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages",
@@ -138,8 +110,6 @@ Requires: php-tokenizer
Requires: php-xsl
Requires: php-zlib
-# Composer library
-Provides: php-composer(composer/composer) = %{version}
# Special internal for Plugin API
Provides: php-composer(composer-plugin-api) = %{api_version}
Provides: php-composer(composer-runtime-api) = %{run_version}
@@ -159,39 +129,7 @@ Documentation: https://getcomposer.org/doc/
%patch -P1 -p1 -b .noxdg
find . \( -name \*.rpm -o -name \*noxdg \) -delete -print
-if grep -r '\.\./res'; then
- : Patch need to fixed
- exit 1
-fi
-
-rm src/bootstrap.php
-rm src/Composer/vendor/composer/ca-bundle/res/cacert.pem
-
-: symlink autoloader for library
-ln -s vendor/autoload.php src/Composer/autoload.php
-
-: fix layout
-sed -e "s:/../..' . '/src/Composer::" -i src/Composer/vendor/composer/autoload_static.php
-
-: List bundled libraries and Licenses
-php -r '
- $pkgs = file_get_contents("src/Composer/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-%s) = %s", str_replace(["/", "_"], ["-", "-"], $pkg["name"]), $pkg["version"]);
- }
- foreach($res as $lic => $lib) {
- sort($lib);
- printf("# License %s\n%s\n", $lic, implode("\n", $lib));
- }
-'
+rm vendor/composer/ca-bundle/res/cacert.pem
: fix reported version
sed -e '/BRANCH_ALIAS_VERSION/s/@package_branch_alias_version@//' \
@@ -200,7 +138,7 @@ sed -e '/BRANCH_ALIAS_VERSION/s/@package_branch_alias_version@//' \
: check Plugin API version
php -r '
namespace Composer;
-include "src/Composer/autoload.php";
+include "src/bootstrap.php";
if (version_compare(Plugin\PluginInterface::PLUGIN_API_VERSION, "%{api_version}")) {
printf("Plugin API version is %s, expected %s\n", Plugin\PluginInterface::PLUGIN_API_VERSION, "%{api_version}");
exit(1);
@@ -212,7 +150,7 @@ if (version_compare(Composer::RUNTIME_API_VERSION, "%{run_version}")) {
%build
-# Nothing
+: Nothing to build
%install
@@ -221,25 +159,46 @@ install -Dpm 644 %{SOURCE1} %{buildroot}%{bashcompdir}/%{name}
mkdir -p %{buildroot}%{_sysconfdir}/profile.d
install -m 644 %{SOURCE3} %{SOURCE4} %{buildroot}%{_sysconfdir}/profile.d/
-: Library
-mkdir -p %{buildroot}%{_datadir}/php
-cp -pr src/* %{buildroot}%{_datadir}/php
-
-: Resources
-mkdir -p %{buildroot}%{_datadir}/%{name}
-cp -pr res %{buildroot}%{_datadir}/%{name}/res
-cp -p LICENSE %{buildroot}%{_datadir}/%{name}/LICENSE
+: Library autoloader for compatibility
+mkdir -p %{buildroot}%{_datadir}/php/Composer
+ln -s ../../composer/vendor/autoload.php %{buildroot}%{_datadir}/php/Composer/autoload.php
-ln -sf %{_datadir}/%{name}/LICENSE LICENSE
+: Sources
+mkdir -p %{buildroot}%{_datadir}/%{name}
+cp -pr src res vendor LICENSE\
+ %{buildroot}%{_datadir}/%{name}/
: Command
install -Dpm 755 bin/%{name} %{buildroot}%{_bindir}/%{name}
+: Licenses
+ln -sf ../../%{name}/LICENSE LICENSE
+cd vendor
+for lic in */*/LICENSE
+do dir=$(dirname $lic)
+ own=$(dirname $dir)
+ prj=$(basename $dir)
+ ln -sf ../../composer/vendor/$own/$prj/LICENSE ../$own-$prj-LICENSE
+done
+
+
+%check
+: Check autoloader
+php -r '
+ include "%{buildroot}%{_datadir}/%{name}/src/bootstrap.php";
+ exit (class_exists("Composer\\Composer") ? 0 : 1);
+'
+: Check compatibility autoloader
+php -r '
+ include "%{buildroot}%{_datadir}/php/Composer/autoload.php";
+ exit (class_exists("Composer\\Composer") ? 0 : 2);
+'
+
%files
-%{!?_licensedir:%global license %%doc}
-%license LICENSE
-%doc *.md doc
+%license *LICENSE
+%doc *.md
+%doc doc
%doc composer.json
%config(noreplace) %{_sysconfdir}/profile.d/%{name}.*
%{_bindir}/%{name}
@@ -249,6 +208,82 @@ install -Dpm 755 bin/%{name} %{buildroot}%{_bindir}/%{name}
%changelog
+* Sat Apr 5 2025 Remi Collet <remi@remirepo.net> - 2.8.8-1
+- update to 2.8.8
+
+* Thu Apr 3 2025 Remi Collet <remi@remirepo.net> - 2.8.7-1
+- update to 2.8.7
+
+* Tue Feb 25 2025 Remi Collet <remi@remirepo.net> - 2.8.6-1
+- update to 2.8.6
+
+* Tue Jan 21 2025 Remi Collet <remi@remirepo.net> - 2.8.5-1
+- update to 2.8.5
+
+* Wed Dec 11 2024 Remi Collet <remi@remirepo.net> - 2.8.4-1
+- update to 2.8.4
+- re-license spec file to CECILL-2.1
+
+* Mon Nov 18 2024 Remi Collet <remi@remirepo.net> - 2.8.3-1
+- update to 2.8.3
+
+* Wed Oct 30 2024 Remi Collet <remi@remirepo.net> - 2.8.2-3
+- keep upstream layout for simplicity
+
+* Wed Oct 30 2024 Remi Collet <remi@remirepo.net> - 2.8.2-2
+- fix diagnose command
+
+* Wed Oct 30 2024 Remi Collet <remi@remirepo.net> - 2.8.2-1
+- update to 2.8.2
+
+* Fri Oct 4 2024 Remi Collet <remi@remirepo.net> - 2.8.1-1
+- update to 2.8.1
+
+* Thu Oct 3 2024 Remi Collet <remi@remirepo.net> - 2.8.0-1
+- update to 2.8.0
+
+* Wed Sep 4 2024 Remi Collet <remi@remirepo.net> - 2.7.9-1
+- update to 2.7.9
+
+* Fri Aug 23 2024 Remi Collet <remi@remirepo.net> - 2.7.8-1
+- update to 2.7.8
+
+* Tue Jun 11 2024 Remi Collet <remi@remirepo.net> - 2.7.7-1
+- update to 2.7.7
+
+* Sun May 5 2024 Remi Collet <remi@remirepo.net> - 2.7.6-1
+- update to 2.7.6
+
+* Sat May 4 2024 Remi Collet <remi@remirepo.net> - 2.7.5-1
+- update to 2.7.5
+
+* Tue Apr 23 2024 Remi Collet <remi@remirepo.net> - 2.7.4-1
+- update to 2.7.4
+
+* Sat Apr 20 2024 Remi Collet <remi@remirepo.net> - 2.7.3-1
+- update to 2.7.3
+
+* Tue Mar 12 2024 Remi Collet <remi@remirepo.net> - 2.7.2-1
+- update to 2.7.2
+
+* Sat Feb 10 2024 Remi Collet <remi@remirepo.net> - 2.7.1-1
+- update to 2.7.1
+
+* Fri Feb 9 2024 Remi Collet <remi@remirepo.net> - 2.7.0-1
+- update to 2.7.0
+
+* Sat Dec 9 2023 Remi Collet <remi@remirepo.net> - 2.6.6-1
+- update to 2.6.6
+
+* Fri Oct 6 2023 Remi Collet <remi@remirepo.net> - 2.6.5-1
+- update to 2.6.5
+
+* Fri Sep 29 2023 Remi Collet <remi@remirepo.net> - 2.6.4-1
+- update to 2.6.4
+
+* Fri Sep 15 2023 Remi Collet <remi@remirepo.net> - 2.6.3-1
+- update to 2.6.3
+
* Mon Sep 4 2023 Remi Collet <remi@remirepo.net> - 2.6.2-1
- update to 2.6.2