diff --git a/composer-bash-completion b/composer-bash-completion new file mode 100644 index 0000000..0b6447f --- /dev/null +++ b/composer-bash-completion @@ -0,0 +1,84 @@ +# This file is part of the Symfony package. +# +# (c) Fabien Potencier +# +# For the full copyright and license information, please view +# https://symfony.com/doc/current/contributing/code/license.html + +_sf_composer() { + # Use newline as only separator to allow space in completion values + local IFS=$'\n' + local sf_cmd="${COMP_WORDS[0]}" + + # for an alias, get the real script behind it + sf_cmd_type=$(type -t $sf_cmd) + if [[ $sf_cmd_type == "alias" ]]; then + sf_cmd=$(alias $sf_cmd | sed -E "s/alias $sf_cmd='(.*)'/\1/") + elif [[ $sf_cmd_type == "file" ]]; then + sf_cmd=$(type -p $sf_cmd) + fi + + if [[ $sf_cmd_type != "function" && ! -x $sf_cmd ]]; then + return 1 + fi + + local cur prev words cword + _get_comp_words_by_ref -n := cur prev words cword + + local completecmd=("$sf_cmd" "_complete" "--no-interaction" "-sbash" "-c$cword" "-S2.9.3") + for w in ${words[@]}; do + w=$(printf -- '%b' "$w") + # remove quotes from typed values + quote="${w:0:1}" + if [ "$quote" == \' ]; then + w="${w%\'}" + w="${w#\'}" + elif [ "$quote" == \" ]; then + w="${w%\"}" + w="${w#\"}" + fi + # empty values are ignored + if [ ! -z "$w" ]; then + completecmd+=("-i$w") + fi + done + + local sfcomplete + if sfcomplete=$(${completecmd[@]} 2>&1); then + local quote suggestions + quote=${cur:0:1} + + # Use single quotes by default if suggestions contains backslash (FQCN) + if [ "$quote" == '' ] && [[ "$sfcomplete" =~ \\ ]]; then + quote=\' + fi + + if [ "$quote" == \' ]; then + # single quotes: no additional escaping (does not accept ' in values) + suggestions=$(for s in $sfcomplete; do printf $'%q%q%q\n' "$quote" "$s" "$quote"; done) + elif [ "$quote" == \" ]; then + # double quotes: double escaping for \ $ ` " + suggestions=$(for s in $sfcomplete; do + s=${s//\\/\\\\} + s=${s//\$/\\\$} + s=${s//\`/\\\`} + s=${s//\"/\\\"} + printf $'%q%q%q\n' "$quote" "$s" "$quote"; + done) + else + # no quotes: double escaping + suggestions=$(for s in $sfcomplete; do printf $'%q\n' $(printf '%q' "$s"); done) + fi + COMPREPLY=($(IFS=$'\n' compgen -W "$suggestions" -- $(printf -- "%q" "$cur"))) + __ltrim_colon_completions "$cur" + else + if [[ "$sfcomplete" != *"Command \"_complete\" is not defined."* ]]; then + >&2 echo + >&2 echo $sfcomplete + fi + + return 1 + fi +} + +complete -F _sf_composer composer diff --git a/composer-noxdg.patch b/composer-noxdg.patch new file mode 100644 index 0000000..2927848 --- /dev/null +++ b/composer-noxdg.patch @@ -0,0 +1,14 @@ +diff -up ./src/Composer/Factory.php.noxdg ./src/Composer/Factory.php +--- ./src/Composer/Factory.php.noxdg 2024-04-20 12:34:54.442117723 +0200 ++++ ./src/Composer/Factory.php 2024-04-20 12:35:39.497640757 +0200 +@@ -702,6 +702,10 @@ class Factory + + private static function useXdg(): bool + { ++ // As XDG is very partially implemented ++ // resulting in command/code in ~/.config ++ return false; ++ + foreach (array_keys($_SERVER) as $key) { + if (strpos((string) $key, 'XDG_') === 0) { + return true; diff --git a/composer-rpm.patch b/composer-rpm.patch index 130d62d..7323225 100644 --- a/composer-rpm.patch +++ b/composer-rpm.patch @@ -1,110 +1,45 @@ diff -up ./bin/composer.rpm ./bin/composer ---- ./bin/composer.rpm 2020-12-04 08:01:03.000000000 +0100 -+++ ./bin/composer 2020-12-04 08:07:35.946138601 +0100 -@@ -6,7 +6,7 @@ if (PHP_SAPI !== 'cli' && PHP_SAPI !== ' +--- ./bin/composer.rpm 2024-10-03 07:10:57.000000000 +0200 ++++ ./bin/composer 2024-10-03 07:11:10.751092365 +0200 +@@ -16,7 +16,7 @@ if (PHP_VERSION_ID < 70205) { } setlocale(LC_ALL, 'C'); -require __DIR__.'/../src/bootstrap.php'; -+require '/usr/share/php/Composer/autoload.php'; ++require '/usr/share/composer/src/bootstrap.php'; use Composer\Console\Application; use Composer\XdebugHandler\XdebugHandler; -diff -up ./src/Composer/Autoload/AutoloadGenerator.php.rpm ./src/Composer/Autoload/AutoloadGenerator.php ---- ./src/Composer/Autoload/AutoloadGenerator.php.rpm 2020-12-04 08:01:03.000000000 +0100 -+++ ./src/Composer/Autoload/AutoloadGenerator.php 2020-12-04 08:07:35.946138601 +0100 -@@ -373,7 +373,7 @@ EOF; - $filesystem->filePutContentsIfModified($targetDir.'/autoload_real.php', $this->getAutoloadRealFile(true, (bool) $includePathFileContents, $targetDirLoader, (bool) $includeFilesFileContents, $vendorPathCode, $appBaseDirCode, $suffix, $useGlobalIncludePath, $prependAutoloader, $staticPhpVersion, $checkPlatform)); - - $filesystem->safeCopy(__DIR__.'/ClassLoader.php', $targetDir.'/ClassLoader.php'); -- $filesystem->safeCopy(__DIR__.'/../../../LICENSE', $targetDir.'/LICENSE'); -+ $filesystem->safeCopy((getenv('BUILDROOT')?:'') . '/usr/share/composer/LICENSE', $targetDir.'/LICENSE'); - - if ($this->runScripts) { - $this->eventDispatcher->dispatchScript(ScriptEvents::POST_AUTOLOAD_DUMP, $this->devMode, array(), array( -diff -up ./src/Composer/Compiler.php.rpm ./src/Composer/Compiler.php ---- ./src/Composer/Compiler.php.rpm 2020-12-04 08:01:03.000000000 +0100 -+++ ./src/Composer/Compiler.php 2020-12-04 08:07:35.946138601 +0100 -@@ -98,7 +98,7 @@ class Compiler - // Add Composer resources - $finder = new Finder(); - $finder->files() -- ->in(__DIR__.'/../../res') -+ ->in((getenv('BUILDROOT')?:'') . '/usr/share/composer/res') - ->sort($finderSort) - ; - foreach ($finder as $file) { -diff -up ./src/Composer/Json/JsonFile.php.rpm ./src/Composer/Json/JsonFile.php ---- ./src/Composer/Json/JsonFile.php.rpm 2020-12-04 08:01:03.000000000 +0100 -+++ ./src/Composer/Json/JsonFile.php 2020-12-04 08:07:35.946138601 +0100 -@@ -34,7 +34,7 @@ class JsonFile - const JSON_PRETTY_PRINT = 128; - const JSON_UNESCAPED_UNICODE = 256; - -- const COMPOSER_SCHEMA_PATH = '/../../../res/composer-schema.json'; -+ const COMPOSER_SCHEMA_PATH = '/usr/share/composer/res/composer-schema.json'; - - private $path; - private $httpDownloader; -@@ -179,7 +179,7 @@ class JsonFile - } - - if (null === $schemaFile) { -- $schemaFile = __DIR__ . self::COMPOSER_SCHEMA_PATH; -+ $schemaFile = (getenv('BUILDROOT')?:'') . self::COMPOSER_SCHEMA_PATH; - } - - // Prepend with file:// only when not using a special schema already (e.g. in the phar) -diff -up ./tests/Composer/Test/Json/ComposerSchemaTest.php.rpm ./tests/Composer/Test/Json/ComposerSchemaTest.php ---- ./tests/Composer/Test/Json/ComposerSchemaTest.php.rpm 2020-12-04 08:01:03.000000000 +0100 -+++ ./tests/Composer/Test/Json/ComposerSchemaTest.php 2020-12-04 08:07:35.947138597 +0100 -@@ -113,7 +113,8 @@ class ComposerSchemaTest extends TestCas - private function check($json) +diff -up ./src/Composer/InstalledVersions.php.rpm ./src/Composer/InstalledVersions.php +--- ./src/Composer/InstalledVersions.php.rpm 2024-10-03 07:10:57.000000000 +0200 ++++ ./src/Composer/InstalledVersions.php 2024-10-03 07:11:10.752092401 +0200 +@@ -266,7 +266,7 @@ class InstalledVersions + if (null === self::$installed) { + // only require the installed.php file if this file is loaded from its dumped location, + // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 +- if (substr(__DIR__, -8, 1) !== 'C') { ++ if (substr(__DIR__, -8, 1) !== 'C' && is_file(__DIR__ . '/installed.php')) { + self::$installed = include __DIR__ . '/installed.php'; + } else { + self::$installed = array(); +@@ -341,7 +341,7 @@ class InstalledVersions + if (null === self::$installed) { + // only require the installed.php file if this file is loaded from its dumped location, + // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 +- if (substr(__DIR__, -8, 1) !== 'C') { ++ if (substr(__DIR__, -8, 1) !== 'C' && is_file(__DIR__ . '/installed.php')) { + /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ + $required = require __DIR__ . '/installed.php'; + self::$installed = $required; +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 +@@ -125,7 +125,7 @@ class CaBundle + */ + public static function getBundledCaBundlePath() { - $validator = new Validator(); -- $validator->check(json_decode($json), (object) array('$ref' => 'file://' . __DIR__ . '/../../../../res/composer-schema.json')); -+ $f = (getenv('BUILDROOT')?:'') . '/usr/share/composer/res/composer-schema.json'; -+ $validator->check(json_decode($json), (object) array('$ref' => 'file://' . $f)); +- $caBundleFile = __DIR__.'/../res/cacert.pem'; ++ $caBundleFile = '/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem'; // System CA, always - if (!$validator->isValid()) { - $errors = $validator->getErrors(); -diff -up ./tests/Composer/Test/PolyfillTestCase.php.rpm ./tests/Composer/Test/PolyfillTestCase.php ---- ./tests/Composer/Test/PolyfillTestCase.php.rpm 2020-12-04 08:07:35.947138597 +0100 -+++ ./tests/Composer/Test/PolyfillTestCase.php 2020-12-04 08:09:14.344707638 +0100 -@@ -15,10 +15,35 @@ namespace Composer\Test { - use PHPUnit\Framework\Constraint\LogicalNot; - use PHPUnit\Framework\Constraint\StringContains; - -- if (method_exists('PHPUnit\Framework\TestCase', 'assertStringContainsString')) { -+ if (method_exists('PHPUnit\Framework\TestCase', 'assertFileDoesNotExist')) { - abstract class PolyfillTestCase extends TestCase - { - } -+ } else if (method_exists('PHPUnit\Framework\TestCase', 'assertStringContainsString')) { -+ abstract class PolyfillTestCase extends TestCase { -+ /** -+ * @param string $filename -+ * @param string $message -+ * -+ * @return void -+ */ -+ public static function assertFileDoesNotExist($filename, $message = '') -+ { -+ static::assertFileNotExists($filename, $message); -+ } -+ -+ /** -+ * @param string $pattern -+ * @param string $string -+ * @param string $message -+ * -+ * @return void -+ */ -+ public static function assertMatchesRegularExpression($pattern, $string, $message = '') -+ { -+ static::assertRegExp($pattern, $string, $message); -+ } -+ } - } else { - abstract class PolyfillTestCase extends TestCase - { + // cURL does not understand 'phar://' paths + // see https://github.com/composer/ca-bundle/issues/10 diff --git a/composer.spec b/composer.spec index 1b18982..f6de2ad 100644 --- a/composer.spec +++ b/composer.spec @@ -1,152 +1,105 @@ # remirepo/fedora spec file for composer # -# Copyright (c) 2015-2020 Remi Collet -# License: CC-BY-SA -# 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 # -# For compatibility with SCL -%undefine __brp_mangle_shebangs -%global gh_commit 62139b2806178adb979d76bd3437534a1a9fd490 +%global gh_commit fb3bee27676fd852a8a11ebbb1de19b4dada5aba %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_branch 2.0-dev %global gh_owner composer %global gh_project composer -%global with_tests %{?_without_tests:0}%{!?_without_tests:1} -%global api_version 2.0.0 -%global run_version 2.0.0 +%global api_version 2.9.0 +%global run_version 2.2.2 -%global upstream_version 2.0.8 -#global upstream_prever RC2 -#global upstream_lower rc2 +%global upstream_version 2.9.3 +#global upstream_prever RC1 +#global upstream_lower rc1 -%global symfony_prefix php-symfony -%global symfony_path %{_datadir}/php/Symfony -%global symfony_min 2.8 +%global _phpunit %{_bindir}/phpunit9 +%global bashcompdir %(pkg-config --variable=completionsdir bash-completion 2>/dev/null) +%global bashcomproot %(dirname %{bashcompdir} 2>/dev/null) -%global _phpunit %{_bindir}/phpunit Name: composer Version: %{upstream_version}%{?upstream_prever:~%{upstream_lower}} Release: 1%{?dist} Summary: Dependency Manager for PHP +# SPDX: composer and all dependencies are MIT License: MIT URL: https://getcomposer.org/ Source0: %{gh_project}-%{upstream_version}%{?upstream_prever}-%{gh_short}.tgz # Profile scripts +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 Patch0: %{name}-rpm.patch +# Disable XDG support as only partially implemented +Patch1: %{name}-noxdg.patch BuildArch: noarch +# platform set in makesrc.sh +BuildRequires: php(language) >= 7.2.5 BuildRequires: php-cli -%if %{with_tests} -%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 -BuildRequires: (php-composer(composer/ca-bundle) >= 1.0 with php-composer(composer/ca-bundle) < 2) -BuildRequires: (php-composer(composer/semver) >= 3.0 with php-composer(composer/semver) < 4) -BuildRequires: (php-composer(composer/spdx-licenses) >= 1.2 with php-composer(composer/spdx-licenses) < 2) -BuildRequires: (php-composer(composer/xdebug-handler) >= 1.1 with php-composer(composer/xdebug-handler) < 2) -BuildRequires: (php-composer(seld/jsonlint) >= 1.4 with php-composer(seld/jsonlint) < 2) -BuildRequires: (php-composer(seld/phar-utils) >= 1.0 with php-composer(seld/phar-utils) < 2) -BuildRequires: (php-composer(psr/log) >= 1.0 with php-composer(psr/log) < 2) -BuildRequires: (php-composer(justinrainbow/json-schema) >= 5.2.10 with php-composer(justinrainbow/json-schema) < 6) -BuildRequires: (php-composer(react/promise) >= 2.7 with php-composer(react/promise) < 3) -%else -BuildRequires: php-composer-ca-bundle -BuildRequires: php-composer-semver3 -BuildRequires: php-composer-spdx-licenses >= 1.2 -BuildRequires: php-composer-xdebug-handler >= 1.1 -BuildRequires: php-jsonlint >= 1.4 -BuildRequires: php-seld-phar-utils -BuildRequires: php-PsrLog -BuildRequires: php-justinrainbow-json-schema5 >= 5.2.10 -BuildRequires: php-react-promise >= 2.7 -%endif -BuildRequires: %{symfony_prefix}-console >= %{symfony_min} -BuildRequires: %{symfony_prefix}-finder >= %{symfony_min} -BuildRequires: %{symfony_prefix}-filesystem >= %{symfony_min} -BuildRequires: %{symfony_prefix}-process >= %{symfony_min} -BuildRequires: php-zip -# From composer.json, "require-dev": { -# "symfony/phpunit-bridge": "^4.2 || ^5.0", -# "phpspec/prophecy": "^1.10" -BuildRequires: %{_phpunit} -# For autoloader -BuildRequires: php-fedora-autoloader-devel -BuildRequires: php-seld-phar-utils >= 1.1 -BuildRequires: php-PsrLog >= 1.1 -%endif +BuildRequires: php-json +BuildRequires: pkgconfig(bash-completion) +BuildRequires: composer-generators # From composer.json, "require": { -# "php": "^5.3.2 || ^7.0", -# "composer/ca-bundle": "^1.0", -# "composer/semver": "^3.0", -# "composer/spdx-licenses": "^1.2", -# "composer/xdebug-handler": "^1.1", -# "justinrainbow/json-schema": "^5.2.10", -# "psr/log": "^1.0" -# "seld/jsonlint": "~1.4", -# "seld/phar-utils": "^1.0", -# "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", -# "symfony/filesystem": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", -# "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", -# "symfony/process": "^^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", -# "react/promise": "^1.2 || ^2.7" -Requires: php(language) >= 5.3.2 +# "php": "^7.2.5 || ^8.0", +# "ext-json": "*", +# "composer/ca-bundle": "^1.5", +# "composer/class-map-generator": "^1.4.0", +# "composer/metadata-minifier": "^1.0", +# "composer/semver": "^3.3", +# "composer/spdx-licenses": "^1.5.7", +# "composer/xdebug-handler": "^2.0.2 || ^3.0.3", +# "justinrainbow/json-schema": "^6.5.1", +# "psr/log": "^1.0 || ^2.0 || ^3.0", +# "seld/jsonlint": "^1.4", +# "seld/phar-utils": "^1.2", +# "symfony/console": "^5.4.47 || ^6.4.25 || ^7.1.10 || ^8.0", +# "symfony/filesystem": "^5.4.45 || ^6.4.24 || ^7.1.10 || ^8.0", +# "symfony/finder": "^5.4.45 || ^6.4.24 || ^7.1.10 || ^8.0", +# "symfony/process": "^5.4.47 || ^6.4.25 || ^7.1.10 || ^8.0", +# "react/promise": "^3.3", +# "composer/pcre": "^2.3 || ^3.3", +# "symfony/polyfill-php73": "^1.24", +# "symfony/polyfill-php80": "^1.24", +# "symfony/polyfill-php81": "^1.24", +# "seld/signal-handler": "^2.0" +Requires: php(language) >= 7.2.5 +Requires: php-json Requires: php-cli -%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 -Requires: (php-composer(composer/ca-bundle) >= 1.0 with php-composer(composer/ca-bundle) < 2) -Requires: (php-composer(composer/semver) >= 3.0 with php-composer(composer/semver) < 4) -Requires: (php-composer(composer/spdx-licenses) >= 1.2 with php-composer(composer/spdx-licenses) < 2) -Requires: (php-composer(composer/xdebug-handler) >= 1.1 with php-composer(composer/xdebug-handler) < 2) -Requires: (php-composer(seld/jsonlint) >= 1.4 with php-composer(seld/jsonlint) < 2) -Requires: (php-composer(seld/phar-utils) >= 1.0 with php-composer(seld/phar-utils) < 2) -Requires: (php-composer(psr/log) >= 1.0 with php-composer(psr/log) < 2) -Requires: (php-composer(justinrainbow/json-schema) >= 5.2.10 with php-composer(justinrainbow/json-schema) < 6) -Requires: (php-composer(react/promise) >= 2.7 with php-composer(react/promise) < 3) -%else -Requires: php-composer-ca-bundle -Requires: php-composer-semver3 -Requires: php-composer-spdx-licenses >= 1.2 -Requires: php-composer-xdebug-handler >= 1.1 -Requires: php-jsonlint >= 1.4 -Requires: php-seld-phar-utils -Requires: php-PsrLog -Requires: php-justinrainbow-json-schema5 >= 5.2.10 -Requires: php-react-promise >= 2.7 -%endif -Requires: %{symfony_prefix}-console >= %{symfony_min} -Requires: %{symfony_prefix}-finder >= %{symfony_min} -Requires: %{symfony_prefix}-process >= %{symfony_min} -Requires: %{symfony_prefix}-filesystem >= %{symfony_min} +# System certificates +Requires: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem + # From composer.json, suggest -# "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", -# "ext-zip": "Enabling the zip extension allows you to unzip archives", -# "ext-zlib": "Allow gzip compression of HTTP requests" +# "ext-curl": "Provides HTTP support (will fallback to PHP streams if missing)", +# "ext-openssl": "Enables access to repositories and packages over HTTPS", +# "ext-zip": "Allows direct extraction of ZIP archives (unzip/7z binaries will be used instead if available)", +# "ext-zlib": "Enables gzip for HTTP requests" +Requires: php-curl Requires: php-openssl Requires: php-zip Requires: php-zlib -# For our autoloader -Requires: php-composer(fedora/autoloader) -Requires: php-seld-phar-utils >= 1.1 -Requires: php-PsrLog >= 1.1 -# From phpcompatinfo for version 2.0.0 +# From phpcompatinfo for version 2.2.5 Requires: php-ctype -Requires: php-curl Requires: php-date +Requires: php-dom Requires: php-filter Requires: php-hash Requires: php-iconv Requires: php-intl -Requires: php-json Requires: php-libxml Requires: php-mbstring Requires: php-pcntl @@ -159,12 +112,14 @@ 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} +# PEAR is now deprecated +# composer is designed to replace it +Supplements: php-pear + %description Composer helps you declare, manage and install dependencies of PHP projects, @@ -176,60 +131,20 @@ Documentation: https://getcomposer.org/doc/ %prep %setup -q -n %{gh_project}-%{gh_commit} -%patch0 -p1 -b .rpm -find . -name \*.rpm -exec rm {} \; -print - -if grep -r '\.\./res'; then - : Patch need to fixed - exit 1 -fi - -phpab --template fedora --output src/Composer/autoload.php src/Composer -cat << 'EOF' | tee -a src/Composer/autoload.php - -\Fedora\Autoloader\Dependencies::required([ - '%{symfony_path}/Component/Console/autoload.php', - '%{symfony_path}/Component/Finder/autoload.php', - '%{symfony_path}/Component/Process/autoload.php', - '%{symfony_path}/Component/Filesystem/autoload.php', - '%{_datadir}/php/Seld/JsonLint/autoload.php', - '%{_datadir}/php/Seld/PharUtils/autoload.php', - '%{_datadir}/php/Composer/CaBundle/autoload.php', - '%{_datadir}/php/Composer/Spdx/autoload.php', - '%{_datadir}/php/Composer/Semver3/autoload.php', - '%{_datadir}/php/Composer/XdebugHandler/autoload.php', - '%{_datadir}/php/Psr/Log/autoload.php', - '%{_datadir}/php/JsonSchema5/autoload.php', - '%{_datadir}/php/React/Promise/autoload.php', -]); -EOF - -cat << 'EOF' | tee tests/bootstrap.php - - 2.9.3-1 +- update to 2.9.3 + +* Thu Nov 20 2025 Remi Collet - 2.9.2-1 +- update to 2.9.2 + +* Thu Nov 13 2025 Remi Collet - 2.9.1-1 +- update to 2.9.1 + +* Thu Nov 13 2025 Remi Collet - 2.9.0-1 +- update to 2.9.0 + +* Fri Sep 19 2025 Remi Collet - 2.8.12-1 +- update to 2.8.12 + +* Wed Aug 27 2025 Remi Collet - 2.8.11-1 +- update to 2.8.11 + +* Wed Jul 23 2025 Fedora Release Engineering - 2.8.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jul 11 2025 Remi Collet - 2.8.10-1 +- update to 2.8.10 + +* Tue May 13 2025 Remi Collet - 2.8.9-1 +- update to 2.8.9 + +* Sat Apr 5 2025 Remi Collet - 2.8.8-1 +- update to 2.8.8 + +* Tue Feb 25 2025 Remi Collet - 2.8.6-1 +- update to 2.8.6 + +* Tue Jan 21 2025 Remi Collet - 2.8.5-1 +- update to 2.8.5 + +* Thu Jan 16 2025 Fedora Release Engineering - 2.8.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Dec 11 2024 Remi Collet - 2.8.4-1 +- update to 2.8.4 +- re-license spec file to CECILL-2.1 + +* Mon Nov 18 2024 Remi Collet - 2.8.3-1 +- update to 2.8.3 + +* Wed Oct 30 2024 Remi Collet - 2.8.2-3 +- keep upstream layout for simplicity + +* Wed Oct 30 2024 Remi Collet - 2.8.2-2 +- update to 2.8.2 +- fix diagnose command + +* Fri Oct 4 2024 Remi Collet - 2.8.1-1 +- update to 2.8.1 + +* Thu Oct 3 2024 Remi Collet - 2.8.0-1 +- update to 2.8.0 + +* Wed Sep 4 2024 Remi Collet - 2.7.9-1 +- update to 2.7.9 + +* Fri Aug 23 2024 Remi Collet - 2.7.8-1 +- update to 2.7.8 + +* Wed Jul 17 2024 Fedora Release Engineering - 2.7.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jun 11 2024 Remi Collet - 2.7.7-1 +- update to 2.7.7 + +* Sun May 5 2024 Remi Collet - 2.7.6-1 +- update to 2.7.6 + +* Tue Apr 23 2024 Remi Collet - 2.7.4-1 +- update to 2.7.4 + +* Tue Mar 12 2024 Remi Collet - 2.7.2-1 +- update to 2.7.2 + +* Sat Feb 10 2024 Remi Collet - 2.7.1-1 +- update to 2.7.1 + +* Wed Jan 24 2024 Fedora Release Engineering - 2.6.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 2.6.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Dec 9 2023 Remi Collet - 2.6.6-1 +- update to 2.6.6 + +* Fri Oct 6 2023 Remi Collet - 2.6.5-1 +- update to 2.6.5 + +* Fri Sep 29 2023 Remi Collet - 2.6.4-1 +- update to 2.6.4 + +* Fri Sep 15 2023 Remi Collet - 2.6.3-1 +- update to 2.6.3 + +* Mon Sep 4 2023 Remi Collet - 2.6.2-1 +- update to 2.6.2 + +* Fri Sep 1 2023 Remi Collet - 2.6.1-1 +- update to 2.6.1 + +* Fri Sep 1 2023 Remi Collet - 2.6.0-1 +- update to 2.6.0 + +* Wed Jul 19 2023 Fedora Release Engineering - 2.5.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jun 10 2023 Remi Collet - 2.5.8-1 +- update to 2.5.8 + +* Wed May 24 2023 Remi Collet - 2.5.7-1 +- update to 2.5.7 + +* Wed May 24 2023 Remi Collet - 2.5.6-1 +- update to 2.5.6 + +* Tue Mar 21 2023 Remi Collet - 2.5.5-1 +- update to 2.5.5 + +* Wed Feb 15 2023 Remi Collet - 2.5.4-1 +- update to 2.5.4 + +* Fri Feb 10 2023 Remi Collet - 2.5.3-1 +- update to 2.5.3 + +* Mon Feb 6 2023 Remi Collet - 2.5.2-1 +- update to 2.5.2 + +* Thu Jan 19 2023 Fedora Release Engineering - 2.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Dec 22 2022 Remi Collet - 2.5.1-1 +- update to 2.5.1 + +* Tue Dec 20 2022 Remi Collet - 2.5.0-1 +- update to 2.5.0 + +* Fri Oct 28 2022 Remi Collet - 2.4.4-1 +- update to 2.4.4 + +* Sat Oct 15 2022 Remi Collet - 2.4.3-1 +- update to 2.4.3 + +* Thu Sep 15 2022 Remi Collet - 2.4.2-1 +- update to 2.4.2 + +* Mon Aug 29 2022 Remi Collet - 2.4.1-1 +- update to 2.4.1 + +* Tue Aug 16 2022 Remi Collet - 2.4.0-1 +- update to 2.4.0 + +* Wed Jul 20 2022 Fedora Release Engineering - 2.3.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jul 14 2022 Remi Collet - 2.3.10-1 +- update to 2.3.10 + +* Tue Jul 5 2022 Remi Collet - 2.3.9-1 +- update to 2.3.9 + +* Fri Jul 1 2022 Remi Collet - 2.3.8-1 +- update to 2.3.8 +- add bash completion file (for upcoming 2.4) + +* Tue Jun 7 2022 Remi Collet - 2.3.7-1 +- update to 2.3.7 + +* Thu Jun 2 2022 Remi Collet - 2.3.6-1 +- update to 2.3.6 + +* Thu Apr 14 2022 Remi Collet - 2.3.5-1 +- update to 2.3.5 + +* Fri Apr 8 2022 Remi Collet - 2.3.4-1 +- update to 2.3.4 + +* Sat Apr 2 2022 Remi Collet - 2.3.3-1 +- update to 2.3.3 + +* Thu Mar 31 2022 Remi Collet - 2.3.2-1 +- update to 2.3.2 + +* Wed Mar 30 2022 Remi Collet - 2.3.0-1 +- update to 2.3.0 +- always use bundled libraries + as symfony/* 5.4 and composer/pcre 2 are not available + +* Wed Mar 30 2022 Remi Collet - 2.2.10-1 +- update to 2.2.10 + +* Wed Mar 16 2022 Remi Collet - 2.2.9-1 +- update to 2.2.9 + +* Tue Mar 15 2022 Remi Collet - 2.2.8-1 +- update to 2.2.8 + +* Fri Feb 25 2022 Remi Collet - 2.2.7-1 +- update to 2.2.7 + +* Sat Feb 5 2022 Remi Collet - 2.2.6-1 +- update to 2.2.6 + +* Tue Jan 25 2022 Remi Collet - 2.2.5-2 +- use system libraries on Fedora, bundled libraries on EL + +* Sat Jan 22 2022 Remi Collet - 2.2.5-1 +- update to 2.2.5 + +* Wed Jan 19 2022 Fedora Release Engineering - 2.2.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sun Jan 9 2022 Remi Collet - 2.2.4-1 +- update to 2.2.4 + +* Sat Jan 1 2022 Remi Collet - 2.2.3-1 +- update to 2.2.3 + +* Thu Dec 23 2021 Remi Collet - 2.2.1-1 +- update to 2.2.1 + +* Wed Dec 22 2021 Remi Collet - 2.2.0-1 +- update to 2.2.0 +- add dependency on composer/pcre + +* Tue Nov 30 2021 Remi Collet - 2.1.14-1 +- update to 2.1.14 + +* Tue Nov 9 2021 Remi Collet - 2.1.12-1 +- update to 2.1.12 + +* Tue Nov 2 2021 Remi Collet - 2.1.11-1 +- update to 2.1.11 + +* Sat Oct 30 2021 Remi Collet - 2.1.10-1 +- update to 2.1.10 +- allow psr/log v2 + +* Tue Oct 5 2021 Remi Collet - 2.1.9-1 +- update to 2.1.9 + +* Sat Sep 18 2021 Remi Collet - 2.1.8-1 +- update to 2.1.8 + +* Tue Sep 14 2021 Remi Collet - 2.1.7-1 +- update to 2.1.7 + +* Mon Aug 23 2021 Remi Collet - 2.1.6-1 +- update to 2.1.6 + +* Fri Jul 23 2021 Remi Collet - 2.1.5-1 +- update to 2.1.5 + +* Thu Jul 22 2021 Remi Collet - 2.1.4-1 +- update to 2.1.4 +- raise dependency on justinrainbow/json-schema 5.2.11 + +* Wed Jul 21 2021 Fedora Release Engineering - 2.1.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jun 10 2021 Remi Collet - 2.1.3-1 +- update to 2.1.3 + +* Mon Jun 7 2021 Remi Collet - 2.1.2-1 +- update to 2.1.2 + +* Mon Jun 7 2021 Remi Collet - 2.1.1-2 +- fix Composer\InstalledVersions RPM installation + +* Fri Jun 4 2021 Remi Collet - 2.1.1-1 +- update to 2.1.1 + +* Thu Jun 3 2021 Remi Collet - 2.1.0-1 +- update to 2.1.0 + +* Mon May 31 2021 Remi Collet - 2.0.14-2 +- disable XDG directories usage, see #1955455 + +* Sat May 22 2021 Remi Collet - 2.0.14-1 +- update to 2.0.14 +- switch to composer/xdebug-handler v2 + +* Tue Apr 27 2021 Remi Collet - 2.0.13-1 +- update to 2.0.13 +- add dependency on composer/metadata-minifier + +* Thu Apr 1 2021 Remi Collet - 2.0.12-1 +- update to 2.0.12 + +* Wed Feb 24 2021 Remi Collet - 2.0.11-1 +- update to 2.0.11 + +* Tue Feb 23 2021 Remi Collet - 2.0.10-1 +- update to 2.0.10 + +* Thu Jan 28 2021 Remi Collet - 2.0.9-1 +- update to 2.0.9 +- switch to Symfony 4 +- switch to phpunit9 + +* Tue Jan 26 2021 Fedora Release Engineering - 2.0.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Fri Dec 4 2020 Remi Collet - 2.0.8-1 - update to 2.0.8 diff --git a/makesrc.sh b/makesrc.sh index 9615a91..dc25efb 100755 --- a/makesrc.sh +++ b/makesrc.sh @@ -8,21 +8,30 @@ PREVER=$(sed -n '/^%global upstream_prever/{s/.* //;p}' $NAME.spec) COMMIT=$(sed -n '/^%global gh_commit/{s/.* //;p}' $NAME.spec) SHORT=${COMMIT:0:7} -echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION$PREVER\n" +if [ -f $NAME-$VERSION$PREVER-$SHORT.tgz -a "$1" != "-f" ]; then + echo skip $NAME-$VERSION$PREVER-$SHORT.tgz already here +else + echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION$PREVER\n" -echo "Cloning..." -git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT + echo "Cloning..." + git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT -echo "Getting commit..." -pushd $PROJECT-$COMMIT -git checkout $COMMIT -cp composer.json ../composer.json -popd + echo "Getting commit..." + pushd $PROJECT-$COMMIT + git checkout $COMMIT || exit 1 + cp composer.json ../composer.json + composer config platform.php 7.2.5 + rm composer.lock + composer install --no-interaction --no-progress --no-dev --optimize-autoloader + cp vendor/composer/installed.json ../ + # bash completion + bin/composer completion bash >../composer-bash-completion + popd -echo "Archiving..." -tar czf $NAME-$VERSION$PREVER-$SHORT.tgz --exclude .git $PROJECT-$COMMIT - -echo "Cleaning..." -rm -rf $PROJECT-$COMMIT + echo "Archiving..." + tar czf $NAME-$VERSION$PREVER-$SHORT.tgz --exclude .git $PROJECT-$COMMIT + echo "Cleaning..." + rm -rf $PROJECT-$COMMIT +fi echo "Done." diff --git a/sources b/sources index 16a0a5d..05fc8e8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (composer-2.0.8-62139b2.tgz) = 852ff831849c7fe230feadfe4a2b516662d9cd339d885f0ec2a0e2e31ab51c22105deaf6e3fc2d04b97aca4a91b67def8f8ad047636321662963f0fbd2d845ca +SHA512 (composer-2.9.3-fb3bee2.tgz) = b8f9a7bc73a7b765f113a22308e2b4b35c14ebfadadc57047a37f210be4099a49abc72c85c5c9ce200baa3e63ad0c1a97da744277ca1da948b419af40379658c