composer / composer/satis

Satis removed packages that it couldn't find

Open
#416 7 comments 0 reactions 0 assignees View on GitHub
feature
Dominant language
PHP
Stars
3.3k
Forks
530
Avg merge
6h 53m
Merged PRs (30d)
13

Description

Satis failed to connect to pear when it was building:

```
$ cd /srv/www/php-pkg.zedcore.com/install && export COMPOSER_HOME=/srv/www/php-pkg.zedcore.com/install && php /srv/www/php-pkg.zedcore.com/install/satis/bin/satis --no-interaction build /srv/www/php-pkg.zedcore.com/install/satis.conf /srv/www/php-pkg.zedcore.com/web
Scanning packages
Initializing PEAR repository https://pear.php.net
PEAR repository from https://pear.php.net could not be loaded. Undefined index: channel
Initializing PEAR repository https://pear.horde.org
The pear-pear.php.net/mail_mimedecode >=1.5.6 requirement did not match any package
The pear-pear.php.net/pear >=1.10.1 requirement did not match any package
Creating local downloads in '/srv/www/php-pkg.zedcore.com/web/dist'
Dumping 'phpunit/phpunit'.
Dumping 'sebastian/exporter'.
Dumping 'phpunit/phpunit'.
Dumping 'phpunit/phpunit'.
Dumping 'symfony/yaml'.
Dumping 'doctrine/instantiator'.
Dumping 'pear-pear.horde.org/horde_exception'.
Dumping 'symfony/console'.
Skipping 'phpunit/phpunit 4.7.x-dev' (is dev)
Dumping 'symfony/debug'.
```

Since it couldn't connect to PEAR, it's now removed the various pear dependencies from the static file it's generated. I think satis should be doing something different:

* If we can't connect to any one of the repositories, then something has almost certainly gone wrong and we should bail
* If we can't find one of the packages, then something has also probably gone wrong (either the developer mistyped or it was in a missing repository) so we should bail.

If this does get added, I imagine some people would want to force satis to update anyway so adding a --`force-on-failure` option is probably worth doing.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.