summaryrefslogtreecommitdiff
path: root/composer-rpm.patch
diff options
context:
space:
mode:
Diffstat (limited to 'composer-rpm.patch')
-rw-r--r--composer-rpm.patch90
1 files changed, 90 insertions, 0 deletions
diff --git a/composer-rpm.patch b/composer-rpm.patch
new file mode 100644
index 0000000..162dcdd
--- /dev/null
+++ b/composer-rpm.patch
@@ -0,0 +1,90 @@
+diff -up ./bin/composer.rpm ./bin/composer
+--- ./bin/composer.rpm 2023-09-01 11:05:16.000000000 +0200
++++ ./bin/composer 2023-09-01 11:05:28.156309389 +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 2023-09-01 11:05:16.000000000 +0200
++++ ./src/Composer/Autoload/AutoloadGenerator.php 2023-09-01 11:05:28.156309389 +0200
+@@ -448,7 +448,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, [], [
+diff -up ./src/Composer/Compiler.php.rpm ./src/Composer/Compiler.php
+--- ./src/Composer/Compiler.php.rpm 2023-09-01 11:05:16.000000000 +0200
++++ ./src/Composer/Compiler.php 2023-09-01 11:05:28.156309389 +0200
+@@ -105,7 +105,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 2023-09-01 11:05:16.000000000 +0200
++++ ./src/Composer/InstalledVersions.php 2023-09-01 11:05:28.156309389 +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();
+@@ -341,7 +341,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')) {
+ /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
+ $required = require __DIR__ . '/installed.php';
+ self::$installed = $required;
+diff -up ./src/Composer/Json/JsonFile.php.rpm ./src/Composer/Json/JsonFile.php
+--- ./src/Composer/Json/JsonFile.php.rpm 2023-09-01 11:05:16.000000000 +0200
++++ ./src/Composer/Json/JsonFile.php 2023-09-01 11:06:16.767233012 +0200
+@@ -40,7 +40,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';
+
+ public const INDENT_DEFAULT = ' ';
+
+@@ -229,7 +229,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/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 2023-08-30 11:31:38.000000000 +0200
++++ ./src/Composer/vendor/composer/ca-bundle/src/CaBundle.php 2023-09-01 11:05:28.156309389 +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