diff -up ./bin/composer.rpm ./bin/composer --- ./bin/composer.rpm 2020-10-25 06:23:06.000000000 +0100 +++ ./bin/composer 2020-10-25 06:23:12.862707931 +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 2020-10-25 06:23:06.000000000 +0100 +++ ./src/Composer/Autoload/AutoloadGenerator.php 2020-10-25 06:23:12.863707931 +0100 @@ -364,7 +364,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-10-25 06:23:12.863707931 +0100 +++ ./src/Composer/Compiler.php 2020-10-25 06:26:14.912591239 +0100 @@ -99,7 +99,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-10-25 06:23:06.000000000 +0100 +++ ./src/Composer/Json/JsonFile.php 2020-10-25 06:23:12.863707931 +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-10-25 06:23:06.000000000 +0100 +++ ./tests/Composer/Test/Json/ComposerSchemaTest.php 2020-10-25 06:23:12.863707931 +0100 @@ -113,7 +113,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 2020-10-25 06:23:06.000000000 +0100 +++ ./tests/Composer/Test/PolyfillTestCase.php 2020-10-25 06:23:12.863707931 +0100 @@ -18,8 +18,33 @@ namespace Composer\Test { use PHPUnit\Framework\Constraint\StringContains; use PHPUnit\Framework\Constraint\TraversableContains; - 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 {