Blob Blame History Raw
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