diff -up ./bin/composer.rpm ./bin/composer
--- ./bin/composer.rpm 2022-01-25 09:39:15.000000000 +0100
+++ ./bin/composer 2022-01-25 09:50:21.372957269 +0100
@@ -6,7 +6,7 @@ if (PHP_SAPI !== 'cli' && PHP_SAPI !== '
}
setlocale(LC_ALL, 'C');
-require __DIR__.'/../src/bootstrap.php';
+require '/usr/share/php/Composer/autoload.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 2022-01-25 09:39:15.000000000 +0100
+++ ./src/Composer/Autoload/AutoloadGenerator.php 2022-01-25 09:50:21.373957265 +0100
@@ -419,7 +419,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 2022-01-25 09:39:15.000000000 +0100
+++ ./src/Composer/Compiler.php 2022-01-25 09:50:21.373957265 +0100
@@ -125,7 +125,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/InstalledVersions.php.rpm ./src/Composer/InstalledVersions.php
--- ./src/Composer/InstalledVersions.php.rpm 2022-01-25 09:39:15.000000000 +0100
+++ ./src/Composer/InstalledVersions.php 2022-01-25 09:50:21.373957265 +0100
@@ -264,7 +264,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();
@@ -337,7 +337,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 = require __DIR__ . '/installed.php';
} else {
self::$installed = array();
diff -up ./src/Composer/Json/JsonFile.php.rpm ./src/Composer/Json/JsonFile.php
--- ./src/Composer/Json/JsonFile.php.rpm 2022-01-25 09:39:15.000000000 +0100
+++ ./src/Composer/Json/JsonFile.php 2022-01-25 09:50:21.373957265 +0100
@@ -35,7 +35,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';
/** @var string */
private $path;
@@ -197,7 +197,7 @@ class JsonFile
$isComposerSchemaFile = false;
if (null === $schemaFile) {
$isComposerSchemaFile = true;
- $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 2022-01-25 09:39:15.000000000 +0100
+++ ./tests/Composer/Test/Json/ComposerSchemaTest.php 2022-01-25 09:50:21.373957265 +0100
@@ -97,7 +97,8 @@ class ComposerSchemaTest extends TestCas
private function check($json)
{
$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));
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 2022-01-25 09:39:15.000000000 +0100
+++ ./tests/Composer/Test/PolyfillTestCase.php 2022-01-25 09:50:21.373957265 +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
{
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-01-25 09:50:57.595802751 +0100
+++ ./src/Composer/vendor/composer/ca-bundle/src/CaBundle.php 2022-01-25 09:51:36.038638770 +0100
@@ -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