Compare commits
17 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6726d9532c | ||
|
|
be646e3049 | ||
|
|
0135dd3f70 | ||
|
|
e6b311b775 | ||
|
|
fbe5fb1315 | ||
|
|
43626f55c7 | ||
|
|
8ce47961b6 | ||
|
|
344b52bad6 | ||
|
|
4c75923142 | ||
|
|
0b0a4cad4e | ||
|
|
72bc774bfb | ||
|
|
b45ab985a5 | ||
|
|
6033cee431 | ||
|
|
2e10ba5846 | ||
|
|
1586f84b54 | ||
|
|
b3b9da84eb | ||
|
|
1202c85cf8 |
6 changed files with 337 additions and 125 deletions
81
composer-bash-completion
Normal file
81
composer-bash-completion
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
# This file is part of the Symfony package.
|
||||
#
|
||||
# (c) Fabien Potencier <fabien@symfony.com>
|
||||
#
|
||||
# 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
|
||||
IFS=$'\n'
|
||||
local sf_cmd="${COMP_WORDS[0]}"
|
||||
|
||||
# for an alias, get the real script behind it
|
||||
if [[ $(type -t $sf_cmd) == "alias" ]]; then
|
||||
sf_cmd=$(alias $sf_cmd | sed -E "s/alias $sf_cmd='(.*)'/\1/")
|
||||
fi
|
||||
|
||||
if [ ! -f "$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" "-sbash" "-c$cword" "-S2.3.10")
|
||||
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
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
diff -up ./src/Composer/Factory.php.noxdg ./src/Composer/Factory.php
|
||||
--- ./src/Composer/Factory.php.noxdg 2021-05-31 15:37:50.548115679 +0200
|
||||
+++ ./src/Composer/Factory.php 2021-05-31 15:39:05.192882880 +0200
|
||||
@@ -653,6 +653,10 @@ class Factory
|
||||
*/
|
||||
private static function useXdg()
|
||||
--- ./src/Composer/Factory.php.noxdg 2022-03-16 09:51:30.398977729 +0100
|
||||
+++ ./src/Composer/Factory.php 2022-03-16 09:52:14.113841110 +0100
|
||||
@@ -665,6 +665,10 @@ class Factory
|
||||
|
||||
private static function useXdg(): bool
|
||||
{
|
||||
+ // As XDG is very patially implemted
|
||||
+ // resulting in command/code in ~/.config
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
diff -up ./bin/composer.rpm ./bin/composer
|
||||
--- ./bin/composer.rpm 2021-09-14 15:45:17.000000000 +0200
|
||||
+++ ./bin/composer 2021-09-14 15:45:33.025118009 +0200
|
||||
@@ -6,7 +6,7 @@ if (PHP_SAPI !== 'cli' && PHP_SAPI !== '
|
||||
--- ./bin/composer.rpm 2022-06-02 06:47:42.000000000 +0200
|
||||
+++ ./bin/composer 2022-06-02 06:49:45.037192985 +0200
|
||||
@@ -11,7 +11,7 @@ if (PHP_VERSION_ID < 70205) {
|
||||
}
|
||||
|
||||
setlocale(LC_ALL, 'C');
|
||||
|
|
@ -11,10 +11,10 @@ diff -up ./bin/composer.rpm ./bin/composer
|
|||
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 2021-09-14 15:45:17.000000000 +0200
|
||||
+++ ./src/Composer/Autoload/AutoloadGenerator.php 2021-09-14 15:45:33.025118009 +0200
|
||||
@@ -395,7 +395,7 @@ EOF;
|
||||
$filesystem->filePutContentsIfModified($targetDir.'/autoload_real.php', $this->getAutoloadRealFile(true, (bool) $includePathFileContents, $targetDirLoader, (bool) $includeFilesFileContents, $vendorPathCode, $appBaseDirCode, $suffix, $useGlobalIncludePath, $prependAutoloader, $staticPhpVersion, $checkPlatform));
|
||||
--- ./src/Composer/Autoload/AutoloadGenerator.php.rpm 2022-06-02 06:47:42.000000000 +0200
|
||||
+++ ./src/Composer/Autoload/AutoloadGenerator.php 2022-06-02 06:49:45.037192985 +0200
|
||||
@@ -425,7 +425,7 @@ EOF;
|
||||
$filesystem->filePutContentsIfModified($targetDir.'/autoload_real.php', $this->getAutoloadRealFile(true, (bool) $includePathFileContents, $targetDirLoader, (bool) $includeFilesFileContents, $vendorPathCode, $appBaseDirCode, $suffix, $useGlobalIncludePath, $prependAutoloader, $checkPlatform));
|
||||
|
||||
$filesystem->safeCopy(__DIR__.'/ClassLoader.php', $targetDir.'/ClassLoader.php');
|
||||
- $filesystem->safeCopy(__DIR__.'/../../../LICENSE', $targetDir.'/LICENSE');
|
||||
|
|
@ -23,9 +23,9 @@ diff -up ./src/Composer/Autoload/AutoloadGenerator.php.rpm ./src/Composer/Autolo
|
|||
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 2021-09-14 15:45:17.000000000 +0200
|
||||
+++ ./src/Composer/Compiler.php 2021-09-14 15:45:33.025118009 +0200
|
||||
@@ -118,7 +118,7 @@ class Compiler
|
||||
--- ./src/Composer/Compiler.php.rpm 2022-06-02 06:47:42.000000000 +0200
|
||||
+++ ./src/Composer/Compiler.php 2022-06-02 06:49:45.037192985 +0200
|
||||
@@ -107,7 +107,7 @@ class Compiler
|
||||
// Add Composer resources
|
||||
$finder = new Finder();
|
||||
$finder->files()
|
||||
|
|
@ -35,9 +35,9 @@ diff -up ./src/Composer/Compiler.php.rpm ./src/Composer/Compiler.php
|
|||
;
|
||||
foreach ($finder as $file) {
|
||||
diff -up ./src/Composer/InstalledVersions.php.rpm ./src/Composer/InstalledVersions.php
|
||||
--- ./src/Composer/InstalledVersions.php.rpm 2021-09-14 15:45:17.000000000 +0200
|
||||
+++ ./src/Composer/InstalledVersions.php 2021-09-14 15:45:33.026118007 +0200
|
||||
@@ -251,7 +251,7 @@ class InstalledVersions
|
||||
--- ./src/Composer/InstalledVersions.php.rpm 2022-06-02 06:47:42.000000000 +0200
|
||||
+++ ./src/Composer/InstalledVersions.php 2022-06-02 06:49:45.037192985 +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
|
||||
|
|
@ -46,7 +46,7 @@ diff -up ./src/Composer/InstalledVersions.php.rpm ./src/Composer/InstalledVersio
|
|||
self::$installed = include __DIR__ . '/installed.php';
|
||||
} else {
|
||||
self::$installed = array();
|
||||
@@ -324,7 +324,7 @@ class InstalledVersions
|
||||
@@ -339,7 +339,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
|
||||
|
|
@ -56,31 +56,55 @@ diff -up ./src/Composer/InstalledVersions.php.rpm ./src/Composer/InstalledVersio
|
|||
} else {
|
||||
self::$installed = array();
|
||||
diff -up ./src/Composer/Json/JsonFile.php.rpm ./src/Composer/Json/JsonFile.php
|
||||
--- ./src/Composer/Json/JsonFile.php.rpm 2021-09-14 15:45:17.000000000 +0200
|
||||
+++ ./src/Composer/Json/JsonFile.php 2021-09-14 15:46:22.434026477 +0200
|
||||
@@ -34,7 +34,7 @@ class JsonFile
|
||||
const JSON_PRETTY_PRINT = 128;
|
||||
const JSON_UNESCAPED_UNICODE = 256;
|
||||
--- ./src/Composer/Json/JsonFile.php.rpm 2022-06-02 06:47:42.000000000 +0200
|
||||
+++ ./src/Composer/Json/JsonFile.php 2022-06-02 06:49:45.037192985 +0200
|
||||
@@ -39,7 +39,7 @@ class JsonFile
|
||||
/** @deprecated Use \JSON_UNESCAPED_UNICODE */
|
||||
public const JSON_UNESCAPED_UNICODE = 256;
|
||||
|
||||
- const COMPOSER_SCHEMA_PATH = '/../../../res/composer-schema.json';
|
||||
+ const COMPOSER_SCHEMA_PATH = '/usr/share/composer/res/composer-schema.json';
|
||||
- public const COMPOSER_SCHEMA_PATH = __DIR__ . '/../../../res/composer-schema.json';
|
||||
+ public const COMPOSER_SCHEMA_PATH = '/usr/share/composer/res/composer-schema.json';
|
||||
|
||||
/** @var string */
|
||||
private $path;
|
||||
@@ -191,7 +191,7 @@ class JsonFile
|
||||
@@ -219,7 +219,7 @@ class JsonFile
|
||||
$isComposerSchemaFile = false;
|
||||
if (null === $schemaFile) {
|
||||
$isComposerSchemaFile = true;
|
||||
- $schemaFile = __DIR__ . self::COMPOSER_SCHEMA_PATH;
|
||||
- $schemaFile = 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 ./src/Composer/PHPStan/ConfigReturnTypeExtension.php.rpm ./src/Composer/PHPStan/ConfigReturnTypeExtension.php
|
||||
--- ./src/Composer/PHPStan/ConfigReturnTypeExtension.php.rpm 2022-06-02 06:50:28.987916014 +0200
|
||||
+++ ./src/Composer/PHPStan/ConfigReturnTypeExtension.php 2022-06-02 06:51:05.429709332 +0200
|
||||
@@ -30,7 +30,7 @@ final class ConfigReturnTypeExtension im
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
- $schema = JsonFile::parseJson((string) file_get_contents(__DIR__.'/../../../res/composer-schema.json'));
|
||||
+ $schema = JsonFile::parseJson((string) file_get_contents('/usr/share/composer/res/composer-schema.json'));
|
||||
/**
|
||||
* @var string $prop
|
||||
*/
|
||||
diff -up ./src/Composer/vendor/composer/ca-bundle/src/CaBundle.php.rpm ./src/Composer/vendor/composer/ca-bundle/src/CaBundle.php
|
||||
--- ./src/Composer/vendor/composer/ca-bundle/src/CaBundle.php.rpm 2022-05-24 13:56:16.000000000 +0200
|
||||
+++ ./src/Composer/vendor/composer/ca-bundle/src/CaBundle.php 2022-06-02 06:49:45.037192985 +0200
|
||||
@@ -125,7 +125,7 @@ class CaBundle
|
||||
*/
|
||||
public static function getBundledCaBundlePath()
|
||||
{
|
||||
- $caBundleFile = __DIR__.'/../res/cacert.pem';
|
||||
+ $caBundleFile = '/etc/pki/tls/certs/ca-bundle.crt'; // System CA, always
|
||||
|
||||
// cURL does not understand 'phar://' paths
|
||||
// see https://github.com/composer/ca-bundle/issues/10
|
||||
diff -up ./tests/Composer/Test/Json/ComposerSchemaTest.php.rpm ./tests/Composer/Test/Json/ComposerSchemaTest.php
|
||||
--- ./tests/Composer/Test/Json/ComposerSchemaTest.php.rpm 2021-09-14 15:45:17.000000000 +0200
|
||||
+++ ./tests/Composer/Test/Json/ComposerSchemaTest.php 2021-09-14 15:45:33.025118009 +0200
|
||||
@@ -93,7 +93,8 @@ class ComposerSchemaTest extends TestCas
|
||||
private function check($json)
|
||||
--- ./tests/Composer/Test/Json/ComposerSchemaTest.php.rpm 2022-06-02 06:47:42.000000000 +0200
|
||||
+++ ./tests/Composer/Test/Json/ComposerSchemaTest.php 2022-06-02 06:49:45.037192985 +0200
|
||||
@@ -97,7 +97,8 @@ class ComposerSchemaTest extends TestCas
|
||||
private function check(string $json)
|
||||
{
|
||||
$validator = new Validator();
|
||||
- $validator->check(json_decode($json), (object) array('$ref' => 'file://' . __DIR__ . '/../../../../res/composer-schema.json'));
|
||||
|
|
@ -89,43 +113,3 @@ diff -up ./tests/Composer/Test/Json/ComposerSchemaTest.php.rpm ./tests/Composer/
|
|||
|
||||
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 2021-09-14 15:45:17.000000000 +0200
|
||||
+++ ./tests/Composer/Test/PolyfillTestCase.php 2021-09-14 15:45:33.026118007 +0200
|
||||
@@ -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
|
||||
{
|
||||
|
|
|
|||
217
composer.spec
217
composer.spec
|
|
@ -10,35 +10,46 @@
|
|||
# For compatibility with SCL
|
||||
%undefine __brp_mangle_shebangs
|
||||
|
||||
%if 0
|
||||
%bcond_without tests
|
||||
%bcond_without syslib
|
||||
%else
|
||||
%bcond_with tests
|
||||
%bcond_with syslib
|
||||
%endif
|
||||
|
||||
%global gh_commit 8a5ad75194f901e3b39ece4bbd22cbdabc79ae8f
|
||||
%global gh_commit ebac357c0a41359f3981098729042ed6dedc97ba
|
||||
%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 api_version 2.2.0
|
||||
%global api_version 2.3.0
|
||||
%global run_version 2.2.2
|
||||
|
||||
%global upstream_version 2.2.4
|
||||
#global upstream_prever RC1
|
||||
#global upstream_lower rc1
|
||||
%global upstream_version 2.3.10
|
||||
#global upstream_prever RC2
|
||||
#global upstream_lower rc2
|
||||
|
||||
%global symfony_prefix php-symfony4
|
||||
%global symfony_path %{_datadir}/php/Symfony4
|
||||
%global symfony_min 4.4
|
||||
%global symfony_prefix php-symfony5
|
||||
%global symfony_path %{_datadir}/php/Symfony5
|
||||
%global symfony_min 5.4.1
|
||||
|
||||
%global _phpunit %{_bindir}/phpunit9
|
||||
%global bashcompdir %(pkg-config --variable=completionsdir bash-completion 2>/dev/null)
|
||||
%global bashcomproot %(dirname %{bashcompdir} 2>/dev/null)
|
||||
|
||||
|
||||
Name: composer
|
||||
Version: %{upstream_version}%{?upstream_prever:~%{upstream_lower}}
|
||||
Release: 1%{?dist}
|
||||
Summary: Dependency Manager for PHP
|
||||
|
||||
# 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
|
||||
|
|
@ -50,19 +61,23 @@ Patch0: %{name}-rpm.patch
|
|||
Patch1: %{name}-noxdg.patch
|
||||
|
||||
BuildArch: noarch
|
||||
# platform set in makesrc.sh
|
||||
BuildRequires: php(language) >= 7.2.5
|
||||
BuildRequires: php-cli
|
||||
BuildRequires: php-json
|
||||
BuildRequires: pkgconfig(bash-completion)
|
||||
%if %{with tests}
|
||||
BuildRequires: (php-composer(composer/ca-bundle) >= 1.0 with php-composer(composer/ca-bundle) < 2)
|
||||
BuildRequires: (php-composer(composer/metadata-minifier) >= 1.0 with php-composer(composer/metadata-minifier) < 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) >= 2.0 with php-composer(composer/xdebug-handler) < 3)
|
||||
BuildRequires: (php-composer(composer/xdebug-handler) >= 2.0.2 with php-composer(composer/xdebug-handler) < 4)
|
||||
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) < 3)
|
||||
BuildRequires: (php-composer(seld/phar-utils) >= 1.2 with php-composer(seld/phar-utils) < 2)
|
||||
BuildRequires: (php-composer(psr/log) >= 1.1 with php-composer(psr/log) < 4)
|
||||
BuildRequires: (php-composer(justinrainbow/json-schema) >= 5.2.11 with php-composer(justinrainbow/json-schema) < 6)
|
||||
BuildRequires: (php-composer(react/promise) >= 2.7 with php-composer(react/promise) < 3)
|
||||
BuildRequires: (php-composer(composer/pcre) >= 1.0 with php-composer(composer/pcre) < 2)
|
||||
BuildRequires: (php-composer(composer/pcre) >= 2 with php-composer(composer/pcre) < 4)
|
||||
BuildRequires: %{symfony_prefix}-console >= %{symfony_min}
|
||||
BuildRequires: %{symfony_prefix}-finder >= %{symfony_min}
|
||||
BuildRequires: %{symfony_prefix}-filesystem >= %{symfony_min}
|
||||
|
|
@ -74,44 +89,78 @@ BuildRequires: php-zip
|
|||
BuildRequires: %{_phpunit}
|
||||
# For autoloader
|
||||
BuildRequires: php-fedora-autoloader-devel
|
||||
BuildRequires: php-seld-phar-utils >= 1.1
|
||||
BuildRequires: php-PsrLog >= 1.1
|
||||
%endif
|
||||
|
||||
# From composer.json, "require": {
|
||||
# "php": "^5.3.2 || ^7.0",
|
||||
# "php": "^7.2.5 || ^8.0",
|
||||
# "composer/ca-bundle": "^1.0",
|
||||
# "composer/metadata-minifier": "^1.0",
|
||||
# "composer/semver": "^3.0",
|
||||
# "composer/spdx-licenses": "^1.2",
|
||||
# "composer/xdebug-handler": "^2.0",
|
||||
# "composer/xdebug-handler": "^2.0.2 || ^3.0.3",
|
||||
# "justinrainbow/json-schema": "^5.2.11",
|
||||
# "psr/log": "^1.0 || ^2.0"
|
||||
# "psr/log": "^1.0 || ^2.0 || ^3.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 || ^6.0",
|
||||
# "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0",
|
||||
# "symfony/process": "^^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0",
|
||||
# "react/promise": "^1.2 || ^2.7",
|
||||
# "composer/pcre": "^1.0"
|
||||
Requires: php(language) >= 5.3.2
|
||||
# "seld/phar-utils": "^1.2",
|
||||
# "symfony/console": "^5.4.1 || ^6.0",
|
||||
# "symfony/filesystem": "^5.4 || ^6.0",
|
||||
# "symfony/finder": "^5.4 || ^6.0",
|
||||
# "symfony/process": "^5.4 || ^6.0",
|
||||
# "react/promise": "^2.8",
|
||||
# "composer/pcre": "^2 || ^3"
|
||||
# "symfony/polyfill-php73": "^1.24",
|
||||
# "symfony/polyfill-php80": "^1.24"
|
||||
Requires: php(language) >= 7.2.5
|
||||
Requires: php-cli
|
||||
%if %{with syslib}
|
||||
Requires: (php-composer(composer/ca-bundle) >= 1.0 with php-composer(composer/ca-bundle) < 2)
|
||||
Requires: (php-composer(composer/metadata-minifier) >= 1.0 with php-composer(composer/metadata-minifier) < 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) >= 2.0 with php-composer(composer/xdebug-handler) < 3)
|
||||
Requires: (php-composer(composer/xdebug-handler) >= 2.0.2 with php-composer(composer/xdebug-handler) < 4)
|
||||
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) < 3)
|
||||
Requires: (php-composer(seld/phar-utils) >= 1.2 with php-composer(seld/phar-utils) < 2)
|
||||
Requires: (php-composer(psr/log) >= 1.1 with php-composer(psr/log) < 4)
|
||||
Requires: (php-composer(justinrainbow/json-schema) >= 5.2.11 with php-composer(justinrainbow/json-schema) < 6)
|
||||
Requires: (php-composer(react/promise) >= 2.7 with php-composer(react/promise) < 3)
|
||||
Requires: (php-composer(composer/pcre) >= 1.0 with php-composer(composer/pcre) < 2)
|
||||
Requires: (php-composer(composer/pcre) >= 2 with php-composer(composer/pcre) < 4)
|
||||
Requires: %{symfony_prefix}-console >= %{symfony_min}
|
||||
Requires: %{symfony_prefix}-finder >= %{symfony_min}
|
||||
Requires: %{symfony_prefix}-process >= %{symfony_min}
|
||||
Requires: %{symfony_prefix}-filesystem >= %{symfony_min}
|
||||
# For our autoloader
|
||||
Requires: php-composer(fedora/autoloader)
|
||||
%else
|
||||
# System certificates
|
||||
Requires: ca-certificates
|
||||
# Bundled libraries
|
||||
# License MIT
|
||||
Provides: bundled(php-composer-ca-bundle) = 1.3.2
|
||||
Provides: bundled(php-composer-metadata-minifier) = 1.0.0
|
||||
Provides: bundled(php-composer-pcre) = 2.0.0
|
||||
Provides: bundled(php-composer-semver) = 3.3.2
|
||||
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) = v2.9.0
|
||||
Provides: bundled(php-seld-jsonlint) = 1.9.0
|
||||
Provides: bundled(php-seld-phar-utils) = 1.2.0
|
||||
Provides: bundled(php-symfony-console) = v5.4.10
|
||||
Provides: bundled(php-symfony-deprecation-contracts) = v2.5.2
|
||||
Provides: bundled(php-symfony-filesystem) = v5.4.9
|
||||
Provides: bundled(php-symfony-finder) = v5.4.8
|
||||
Provides: bundled(php-symfony-polyfill-ctype) = v1.26.0
|
||||
Provides: bundled(php-symfony-polyfill-intl-grapheme) = v1.26.0
|
||||
Provides: bundled(php-symfony-polyfill-intl-normalizer) = v1.26.0
|
||||
Provides: bundled(php-symfony-polyfill-mbstring) = v1.26.0
|
||||
Provides: bundled(php-symfony-polyfill-php73) = v1.26.0
|
||||
Provides: bundled(php-symfony-polyfill-php80) = v1.26.0
|
||||
Provides: bundled(php-symfony-process) = v5.4.8
|
||||
Provides: bundled(php-symfony-service-contracts) = v2.5.2
|
||||
Provides: bundled(php-symfony-string) = v5.4.10
|
||||
%endif
|
||||
# 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",
|
||||
|
|
@ -119,14 +168,11 @@ Requires: %{symfony_prefix}-filesystem >= %{symfony_min}
|
|||
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
|
||||
|
|
@ -170,11 +216,20 @@ if grep -r '\.\./res'; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
rm src/bootstrap.php
|
||||
rm src/Composer/vendor/composer/ca-bundle/res/cacert.pem
|
||||
|
||||
%if %{with syslib}
|
||||
rm -rf src/Composer/vendor
|
||||
|
||||
phpab --template fedora --output src/Composer/autoload.php src/Composer
|
||||
cat << 'EOF' | tee -a src/Composer/autoload.php
|
||||
|
||||
\Fedora\Autoloader\Dependencies::required([
|
||||
'%{_datadir}/php/Composer/XdebugHandler2/autoload.php', /* before symfony which load composer */
|
||||
[ /* before symfony which load composer */
|
||||
'%{_datadir}/php/Composer/XdebugHandler3/autoload.php',
|
||||
'%{_datadir}/php/Composer/XdebugHandler2/autoload.php',
|
||||
],
|
||||
'%{symfony_path}/Component/Console/autoload.php',
|
||||
'%{symfony_path}/Component/Finder/autoload.php',
|
||||
'%{symfony_path}/Component/Process/autoload.php',
|
||||
|
|
@ -185,8 +240,11 @@ cat << 'EOF' | tee -a src/Composer/autoload.php
|
|||
'%{_datadir}/php/Composer/Spdx/autoload.php',
|
||||
'%{_datadir}/php/Composer/MetadataMinifier/autoload.php',
|
||||
'%{_datadir}/php/Composer/Semver3/autoload.php',
|
||||
'%{_datadir}/php/Composer/Pcre/autoload.php',
|
||||
[
|
||||
'%{_datadir}/php/Composer/Pcre3/autoload.php',
|
||||
'%{_datadir}/php/Composer/Pcre2/autoload.php',
|
||||
], [
|
||||
'%{_datadir}/php/Psr/Log3/autoload.php',
|
||||
'%{_datadir}/php/Psr/Log2/autoload.php',
|
||||
'%{_datadir}/php/Psr/Log/autoload.php',
|
||||
],
|
||||
|
|
@ -201,8 +259,33 @@ require 'Composer/autoload.php';
|
|||
\Fedora\Autoloader\Autoload::addPsr0('Composer\\Test\\', __DIR__ . '/');
|
||||
EOF
|
||||
|
||||
rm src/bootstrap.php
|
||||
%else
|
||||
: 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));
|
||||
}
|
||||
'
|
||||
%endif
|
||||
|
||||
: fix reported version
|
||||
%if 0%{?gh_date}
|
||||
|
|
@ -237,6 +320,7 @@ if (version_compare(Composer::RUNTIME_API_VERSION, "%{run_version}")) {
|
|||
|
||||
%install
|
||||
: Profile scripts
|
||||
install -Dpm 644 %{SOURCE1} %{buildroot}%{bashcompdir}/%{name}
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/profile.d
|
||||
install -m 644 %{SOURCE3} %{SOURCE4} %{buildroot}%{_sysconfdir}/profile.d/
|
||||
|
||||
|
|
@ -256,7 +340,7 @@ install -Dpm 755 bin/%{name} %{buildroot}%{_bindir}/%{name}
|
|||
|
||||
|
||||
%check
|
||||
%if %{with tests}
|
||||
%if %{with tests} && %{with syslib}
|
||||
: Online tests
|
||||
rm tests/Composer/Test/Util/RemoteFilesystemTest.php
|
||||
|
||||
|
|
@ -266,7 +350,10 @@ rm -rf res
|
|||
: Run test suite
|
||||
export BUILDROOT=%{buildroot}
|
||||
|
||||
FILTER="--filter '^((?!(testIntegration)).)*$'"
|
||||
# testSearchWithSpecialChars is online
|
||||
# testCreateMap fails on 8.1
|
||||
# testOutputIgnoresFormatting use InstalledVersions
|
||||
FILTER="--filter '^((?!(testIntegration|testSearchWithSpecialChars|testCreateMap|testOutputIgnoresFormatting)).)*$'"
|
||||
|
||||
# Adapt for phunit9
|
||||
find tests \
|
||||
|
|
@ -301,9 +388,61 @@ exit $ret
|
|||
%{_bindir}/%{name}
|
||||
%{_datadir}/php/Composer
|
||||
%{_datadir}/%{name}
|
||||
%{bashcomproot}
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Jul 14 2022 Remi Collet <remi@remirepo.net> - 2.3.10-1
|
||||
- update to 2.3.10
|
||||
|
||||
* Tue Jul 5 2022 Remi Collet <remi@remirepo.net> - 2.3.9-1
|
||||
- update to 2.3.9
|
||||
|
||||
* Fri Jul 1 2022 Remi Collet <remi@remirepo.net> - 2.3.8-1
|
||||
- update to 2.3.8
|
||||
- add bash completion file (for upcoming 2.4)
|
||||
|
||||
* Tue Jun 7 2022 Remi Collet <remi@remirepo.net> - 2.3.7-1
|
||||
- update to 2.3.7
|
||||
|
||||
* Thu Jun 2 2022 Remi Collet <remi@remirepo.net> - 2.3.6-1
|
||||
- update to 2.3.6
|
||||
|
||||
* Thu Apr 14 2022 Remi Collet <remi@remirepo.net> - 2.3.5-1
|
||||
- update to 2.3.5
|
||||
|
||||
* Fri Apr 8 2022 Remi Collet <remi@remirepo.net> - 2.3.4-1
|
||||
- update to 2.3.4
|
||||
|
||||
* Sat Apr 2 2022 Remi Collet <remi@remirepo.net> - 2.3.3-1
|
||||
- update to 2.3.3
|
||||
|
||||
* Thu Mar 31 2022 Remi Collet <remi@remirepo.net> - 2.3.2-1
|
||||
- update to 2.3.2
|
||||
|
||||
* Wed Mar 30 2022 Remi Collet <remi@remirepo.net> - 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 <remi@remirepo.net> - 2.2.10-1
|
||||
- update to 2.2.10
|
||||
|
||||
* Wed Mar 16 2022 Remi Collet <remi@remirepo.net> - 2.2.9-1
|
||||
- update to 2.2.9
|
||||
|
||||
* Tue Mar 15 2022 Remi Collet <remi@remirepo.net> - 2.2.8-1
|
||||
- update to 2.2.8
|
||||
|
||||
* Fri Feb 25 2022 Remi Collet <remi@remirepo.net> - 2.2.7-1
|
||||
- update to 2.2.7
|
||||
|
||||
* Sat Feb 5 2022 Remi Collet <remi@remirepo.net> - 2.2.6-1
|
||||
- update to 2.2.6
|
||||
|
||||
* Sat Jan 22 2022 Remi Collet <remi@remirepo.net> - 2.2.5-1
|
||||
- update to 2.2.5
|
||||
|
||||
* Sun Jan 9 2022 Remi Collet <remi@remirepo.net> - 2.2.4-1
|
||||
- update to 2.2.4
|
||||
|
||||
|
|
|
|||
34
makesrc.sh
34
makesrc.sh
|
|
@ -8,21 +8,29 @@ 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 ]; 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
|
||||
export COMPOSER_VENDOR_DIR=src/Composer/vendor
|
||||
composer install --no-interaction --no-progress --no-dev --optimize-autoloader
|
||||
cp src/Composer/vendor/composer/installed.json ../
|
||||
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."
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (composer-2.2.4-8a5ad75.tgz) = 383c9bcfb39f772c8dfb316b798c383afa0ed899e081c5c03395b52bf3dc5263472719677dde65c412f9a8ca8bcfccacfc097a2465901d1671d232d496d8e868
|
||||
SHA512 (composer-2.3.10-ebac357.tgz) = 22302bfb5bb03f87567eda1fcfe906b049d43ff43862472405d13f6af472b1452834d09cb944753b740950c2d98911e6af72bb7b771c048a26cdb165b0c73659
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue