diff -up ./bin/composer.rpm ./bin/composer --- ./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'); -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-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'); + $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-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() - ->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-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 - 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(); @@ -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 - 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-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; - 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; @@ -219,7 +219,7 @@ class JsonFile $isComposerSchemaFile = false; if (null === $schemaFile) { $isComposerSchemaFile = true; - $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 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')); + $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();