Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added `meteor update --all-packages` to update indirect dependencies #7653

Merged
merged 3 commits into from Aug 17, 2016

Conversation

@tmeasday
Copy link
Contributor

@tmeasday tmeasday commented Aug 16, 2016

See #7495. Still some decisions to be made:

  1. Should we make --all-packages the default? (see conversation on the issue).
  2. How should we deal with new indirect dependencies?
    The behavior now is to take the lowest version (with patches). It seems weird to do this to a new package that the user has no expectations about, TBH.
  3. Should we do anything about underpinning indirect dependencies when updating?
    See the second half of this comment

Minutiae:

  • Add a help entry for the tool
  • Add to commandline docs
  • Changelog
@tmeasday tmeasday force-pushed the 7495-update-indirect-dependencies branch Aug 16, 2016
See #7495. Still some decisions to be made:

 - Should we make --all-packages the default?
 - How should we deal with *new* indirect dependencies?
 - Should we do anything about underpinning indirect dependencies when updating?
@tmeasday tmeasday force-pushed the 7495-update-indirect-dependencies branch to 01e1dbf Aug 17, 2016
@benjamn benjamn merged commit 0693c84 into devel Aug 17, 2016
4 checks passed
4 checks passed
CLA Author has signed the Meteor CLA.
Details
ci/circleci Your tests passed on CircleCI!
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details
@benjamn benjamn added this to the Release 1.4.1 milestone Aug 17, 2016
@glasser
Copy link
Member

@glasser glasser commented Dec 14, 2016

Was this intentionally not added to the command-line docs (help.txt)? I see it is not there, and that the checkbox in the PR description was left unchecked.

@tmeasday
Copy link
Contributor Author

@tmeasday tmeasday commented Dec 14, 2016

That seems unlikely @glasser; I would probably suspect the PR got merged and I forgot about it :/

@glasser
Copy link
Member

@glasser glasser commented Dec 14, 2016

@tmeasday
Copy link
Contributor Author

@tmeasday tmeasday commented Dec 14, 2016

That's pretty surprising @glasser. What happens if you run it again (w/ --all-packages)? If the same thing, does it help to run meteor update coffeescript etc?

@glasser
Copy link
Member

@glasser glasser commented Dec 14, 2016

glasser@glasser-lyrid 0 ~/Projects/Meteor/galaxy-server devel + u= p= $ meteor update --all-packages
This project is already at Meteor 1.4.2.3, the latest release.
Your top-level dependencies are at their latest compatible versions.

Newer versions of the following indirect dependencies are available:
 * coffeescript 1.11.1_4 (1.12.0_1 is available)
 * percolate:synced-cron 1.3.0 (1.3.2 is available)
 * percolatestudio:segment.io 2.0.0_1 (3.0.0 is available)
To update one or more of these packages, pass their names to 
`meteor update`, or just run `meteor update --all-packages`.
glasser@glasser-lyrid 0 ~/Projects/Meteor/galaxy-server devel + u= p= $ meteor update coffeescript
The specified packages are at their latest compatible versions.
glasser@glasser-lyrid 0 ~/Projects/Meteor/galaxy-server devel + u= p= $ meteor update percolate:synced-cron
The specified packages are at their latest compatible versions.
glasser@glasser-lyrid 0 ~/Projects/Meteor/galaxy-server devel + u= p= $ meteor update percolatestudio:segment.io
The specified packages are at their latest compatible versions.
@tmeasday
Copy link
Contributor Author

@tmeasday tmeasday commented Dec 14, 2016

I guess the reporting of "newer versions available" is wrong here, in the sense that they are available but not installable with the current constraints.

@abernix
Copy link
Member

@abernix abernix commented Dec 14, 2016

@glasser: Elaborating on what @tmeasday said, yes, it's an impossible constraint. Instead of meteor update <package>, you'll (generally) get more clear explanations of what the impossible constraint is by running:

meteor add <package>@<version>

For the first two, you'll likely get a clear answer of which packages are holding the update back (due to their own dependencies on older versions). In that regard, I think the textual-suggestion to meteor update <package-name> is entirely wrong and I'm not sure is (ever?) correct in that context.

Instead of helpful information on the problem though, you also might run into an MINISAT-out: Cannot enlarge memory arrays error (#7533) where essentially the constraint solver runs out of memory trying to help. Since 1.4.2.3 is in use here you could use my custom 1.4.2.3 release which doubles the memory limit available to minisat with --release abernix:METEOR-TEST@1.4.2.3-issue-7533.1. That being said, it'll just be really slow at delivering you the harrowing news about the constraint issue which (from what I've seen so far) is thanks to an unpublished dependency.

In the case of coffeescript in this particular case, it's because 1.12.0_1 relies on babel-compiler@6.14.0 which is currently not released (only 6.14.0-beta.1 and 6.14.0-beta.0). I believe this is a side-effect of unpinned package versions getting published during beta cycles but not using the --release (or checkout) of the minimum version that they are intended to work on. I'm assuming this is the case as the releaseName in the packages.data.db DB (or troposphere, if my terminology is correct) is null, meaning coffeescript@1.12.0_1 may have been published from devel or release-1.4.3. That's speculation on my part, but @benjamn would know what the exact circumstances were at the time of publishing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants
You can’t perform that action at this time.