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

sage-package: Add commands "dependencies", "trees" #33860

Closed
mkoeppe opened this issue May 17, 2022 · 0 comments · Fixed by #37350
Closed

sage-package: Add commands "dependencies", "trees" #33860

mkoeppe opened this issue May 17, 2022 · 0 comments · Fixed by #37350

Comments

@mkoeppe
Copy link
Contributor

mkoeppe commented May 17, 2022

to simplify bootstrapping and configure code

Component: refactoring

Issue created by migration from https://trac.sagemath.org/ticket/33860

@mkoeppe mkoeppe added this to the sage-9.7 milestone May 17, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Aug 1, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.8, sage-9.9 Jan 7, 2023
@mkoeppe mkoeppe removed this from the sage-10.0 milestone Apr 30, 2023
vbraun pushed a commit to vbraun/sage that referenced this issue Oct 12, 2023
…-{in,ex}clude-dependencies`

    
We enhance the command `sage --package list`:
- New switches `--{in,ex}clude-dependencies` walk the tree of
dependencies declared in `dependencies` files
- Output is always (uniquified and) sorted, eliminating the use of
`sort` in various scripts
- Handling of `--exclude` is moved to the end, which improves its
applicability.

The new parsing of the `dependencies*` files in `sage_bootstrap` is
generic preparation for handling more of the bootstrapping phase in
Python, as sketched in sagemath#33860 (part of sagemath#29146).

This PR is immediate preparation for sagemath#35593, where it is desired to
create "minimized" lists of system packages that do not include all
standard packages that are really only needed as dependencies of "top-
level" packages.

<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36393
Reported by: Matthias Köppe
Reviewer(s): Michael Orlitzky
vbraun pushed a commit to vbraun/sage that referenced this issue Feb 22, 2024
    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->
We add a new command `sage --package dependencies`.
Like the command `sage --package properties` introduced in sagemath#37018, it
can be used to eliminate direct references to `build/pkgs/` from various
scripts and reduce code duplication in reading SPKG metadata.

Here we only make such changes in `sage-spkg-info`.
The only user-visible change is that the listed dependencies are now
sorted alphabetically; this hides [subtle nuances that may be expressed
in the sort order of some `dependencies` files](https://github.com/sagem
ath/sage/pull/36878#issuecomment-1876426258).

- Closes sagemath#33860

Split out from:
- sagemath#36740

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#37350
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee, Matthias Köppe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant