summaryrefslogtreecommitdiffstats
path: root/composer-rpm.patch
blob: 26ee8944e668c671c614c6953be5783181837602 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
diff -up ./bin/composer.rpm ./bin/composer
--- ./bin/composer.rpm	2022-03-16 09:47:01.000000000 +0100
+++ ./bin/composer	2022-03-16 09:53:25.479618079 +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-03-16 09:47:01.000000000 +0100
+++ ./src/Composer/Autoload/AutoloadGenerator.php	2022-03-16 09:53:25.479618079 +0100
@@ -418,7 +418,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-03-16 09:47:01.000000000 +0100
+++ ./src/Composer/Compiler.php	2022-03-16 09:53:25.480618076 +0100
@@ -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-03-16 09:47:01.000000000 +0100
+++ ./src/Composer/InstalledVersions.php	2022-03-16 09:53:25.480618076 +0100
@@ -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-03-16 09:54:28.547422853 +0100
+++ ./src/Composer/Json/JsonFile.php	2022-03-16 09:56:07.126118722 +0100
@@ -38,7 +38,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;
@@ -200,7 +200,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	2021-10-28 22:44:15.000000000 +0200
+++ ./src/Composer/vendor/composer/ca-bundle/src/CaBundle.php	2022-03-16 09:53:25.480618076 +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
diff -up ./tests/Composer/Test/Json/ComposerSchemaTest.php.rpm ./tests/Composer/Test/Json/ComposerSchemaTest.php
--- ./tests/Composer/Test/Json/ComposerSchemaTest.php.rpm	2022-03-16 09:47:01.000000000 +0100
+++ ./tests/Composer/Test/Json/ComposerSchemaTest.php	2022-03-16 09:53:25.480618076 +0100
@@ -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();