1
0
Fork 0
Commit Graph

6664 Commits (996eb563c048a78ddb4ba02c72693302edfe5fbd)

Author SHA1 Message Date
Jordi Boggiano 0543b59e06
Merge pull request #9334 from johnstevenson/proxy-streams
Improve proxy error messages for streams
2020-10-25 14:13:40 +01:00
johnstevenson c99e19db64 Fix logic (again) 2020-10-25 12:59:01 +00:00
Helmut Hummel d1dfd394c1 Correctly avoid partial updates in require commands
The installer does not support partial updates, when
no lock file is present. The check in require command
to prevent a partial update however does not check whether
a lock file is present, but whether a lock file should be written,
which most likely always is true.

This check is now changed to check if a lock file is actually present.
2020-10-24 21:34:34 +02:00
Jordi Boggiano 9bfddadf3d
Make sure no unknown files get excluded from the phar, fixes #9331 2020-10-24 20:49:07 +02:00
johnstevenson 2a913c7a68 Improve proxy error messages for streams 2020-10-24 18:20:31 +01:00
Jordi Boggiano b4f0f4ddd2
Fix php8 file being missing from phar, refs #9331 2020-10-24 14:58:05 +02:00
Jordi Boggiano 191196de48
Detect broken packagist.org mirrors and fix them on the fly, refs #9297 2020-10-24 11:10:08 +02:00
Jordi Boggiano 62eff8e979
Tweaks to new proxying code, refs #9324 2020-10-24 10:36:39 +02:00
Jordi Boggiano 62fd612e63
Merge remote-tracking branch 'johnstevenson/curl-proxy' 2020-10-24 10:22:52 +02:00
Jordi Boggiano 0d236858ec
Merge branch '1.10' 2020-10-24 09:59:46 +02:00
Jordi Boggiano 25496c199d
Update link to composer 2 release notes 2020-10-24 09:43:02 +02:00
Jordi Boggiano 28c7e38411
Merge remote-tracking branch 'stof/fix_why_not' into 1.10 2020-10-24 09:39:09 +02:00
johnstevenson d47261eb93 Refactor proxy handling for Composer2 2020-10-23 21:38:29 +01:00
Nils Adermann e868996bdd Validate: Warn about providing or replacing packages you require 2020-10-23 22:02:13 +02:00
Jordi Boggiano 8564dd8dac
Allow Url::sanitize to escape URLs without scheme 2020-10-23 13:27:46 +02:00
johnstevenson 8feb83b22b
Remove duplicate StreamContextFactory ssl options
Added in Dec 2014 (commit 8dad846), superseded in Jan 2016 (pr #4759)
2020-10-23 13:25:17 +02:00
Jordi Boggiano 49a28f606c
Merge branch '1.10' 2020-10-23 10:38:03 +02:00
Christophe Coevoet 3dd7e829b9 Fix support of provided packages in the why-not command
The version provided by such a rule is defined by the constraint of the
rule, not by the package version.
2020-10-22 19:54:03 +02:00
Nils Adermann dacc21e54f
Merge pull request #9158 from infabo/patch-1
Fix symlink check
2020-10-22 16:04:27 +02:00
terry.kern 0466add822 Also use channel string for update message
https://github.com/composer/composer/pull/9305#issuecomment-714381153
2020-10-22 14:41:16 +02:00
TerryKern e68b52697b Improve readability of version info message
Instead of:

> You are already using composer version 1.10.15 (1 channel).

it shows:

> You are already using composer version 1.10.15 (1.x channel).
2020-10-22 11:54:59 +02:00
Nils Adermann 6409ed0fc2 Validate: Warn about providing or replacing packages you require 2020-10-22 11:28:19 +02:00
Jordi Boggiano b74afd772b
Merge pull request #9309 from naderman/fix-solver-9290
MultiConflictRule conflict analysis handling on level 1 decisions
2020-10-21 18:40:03 +02:00
Nils Adermann 9338401be7 CS: Typehint array, remove unnecessary docblock, call spl_object_hash once 2020-10-21 18:11:24 +02:00
Nils Adermann 7b4cb9c370 Solver: Prevent infinite recursion in analyzeUnsolvableRule
In complex scenarios reasons for learned rules can themselves be learned
rules caused by other learned rules which had the some of the same
reasons. In this situation iterating over all problem rules requires
keeping track of which rules have previously been analyzed to avoid and
endless loop.

Side effect is that the sorting of problems including learned rules
changes slightly.
2020-10-21 17:11:13 +02:00
Nils Adermann 9641ad6025 SolverProblemException: Hide learnt rules on output
Results in too much error output which is not helpful. Very repetitive
and hard to understand. In issue 8903 even leads to endless recursion
bug.
2020-10-21 14:08:12 +02:00
Nils Adermann 7f41698157 Solver: on analyze, when reaching last decision > l1 skip other multi rule literals 2020-10-21 13:36:31 +02:00
Jordi Boggiano 14ec957e96
Fix composer show -a usage, fixes #9304 2020-10-20 17:34:07 +02:00
Jordi Boggiano 99a5469b5e
More hints 2020-10-18 13:13:44 +02:00
Chauncey McAskill 1bb87babe6 Fix availability of $urls in FileDownloader
Fixed:
- Ensure manipulations to the first element of $urls in the $download callback are available in $accept and $reject
2020-10-15 16:11:16 -04:00
Jordi Boggiano c46b75de81
Allow any non-numeric version to be used for flex as we can not establish if they are compatible 2020-10-15 16:16:00 +02:00
Jordi Boggiano 59acf9d4aa
Remove dev hint for 2.0, fixes #8738 2020-10-15 14:40:27 +02:00
Ingo Fabbri 750172dc4c
Fix symlink check
Given you have a symlink in one of your path repositories and mirroring-strategy enabled.

```bash
lrwxrwxrwx 1 inf inf    8 27. Aug 17:41 Create.html -> New.html
-rw-r--r-- 1 inf inf  750 27. Aug 17:24 Edit.html
-rw-r--r-- 1 inf inf    0 27. Aug 17:24 List.html
-rw-r--r-- 1 inf inf 5064 27. Aug 17:24 New.html
-rw-r--r-- 1 inf inf  716 27. Aug 17:24 Show.html
```

`$file->getLinkTarget()` just returns a relative path in this example. It does not return an absolute normalized path.
`$sources` is always a normalized path.

`strpos` can never be `0`.

Use `$file->getRealPath()` to fix the strpos-check.
2020-10-15 14:17:53 +02:00
Jordi Boggiano 2ca2ec3d0a
Allow loading flex main branch 2020-10-15 09:53:12 +02:00
Jordi Boggiano 743d551399
Fix using show command to show platform packages, and allow using it to show replacers too by using the replaced name, fixes #7628 2020-10-14 17:58:35 +02:00
Jordi Boggiano 8d0596163c
Rename abstract class back to the previously present SolverOperation, mark it internal, reintroduce some duplication 2020-10-14 17:53:57 +02:00
Bezpiatov 140de5480d Fixed variable usage 2020-10-14 17:58:39 +03:00
Bezpiatov 9a5121ed27 Refactor Operation classes to use constants instead of strings for comparison 2020-10-14 17:56:42 +03:00
Jordi Boggiano e7d99c37b3
Fix show --locked to avoid listing all the things 2020-10-14 15:41:53 +02:00
Jordi Boggiano da1357c663
Avoid showing alias versions in show command, show the original version 2020-10-14 15:41:36 +02:00
Jordi Boggiano 9492dc7f7c
Make sure symfony/flex does not get loaded in a buggy version to avoid bogus issue reports 2020-10-14 13:48:55 +02:00
Jordi Boggiano c5d8a13bc4
Bump curl timeout to 300 2020-10-14 13:30:12 +02:00
Jordi Boggiano 34dd9e19e1
Add curl/zip ext info to diagnose command 2020-10-14 13:29:41 +02:00
Nils Adermann 8a2bae82ab Improve docblocks on fixed/locked/fixedLocked packages in request
Also fixes two small code review issues
2020-10-14 11:46:13 +02:00
Nils Adermann fdde9e5933 On composer install we fix locked packages, but consider them locked for error reporting 2020-10-14 11:46:13 +02:00
Nils Adermann 74fb313c39 Separate locked packages from fixed packages in request
Locked packages are basically like removable fixed packages, so we still
only load one version, but we do not require their installation unless
something the user needs requires their use. So they automatically get
removed if they are no longer needed on any update.
2020-10-14 11:46:13 +02:00
Nils Adermann 73e24ea9fb Partial updates should remove all unused dependencies
Instead of marking locked packages as fixed, we change the pool builder
to load only the locked version and treat it like a fixed package, but
removing the actual request fix, makes the solver treat it as a regular
optional dependency. As a consequence locked packages may be removed on
a partial update of another package, but they cannot be updated.
2020-10-14 11:46:13 +02:00
Nils Adermann 85eb007f4f Transaction: Define a total order on packages to keep behavior on PHP8
So far the ordering of alias packages with the same name was undefined
so the actual order was determined by implementation of the sorting
algorithm in PHP. As of PHP8 sort is stable by default which changes the
outcome in some of our test cases.

With the fully defined total order the order can longer change depending
on sorting algorithm used and remains the same across PHP versions.
2020-10-14 11:13:51 +02:00
Jordi Boggiano 9ca7457698
Check whether remove command successfully removed the target packages, fixes #6998 2020-10-13 16:18:28 +02:00
Jordi Boggiano 7ea6d5d2e7
Merge branch '1.10' 2020-10-13 16:00:04 +02:00