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

System package quoting fixes #36910

Merged
merged 11 commits into from
Dec 26, 2023
Merged

Conversation

mkoeppe
Copy link
Member

@mkoeppe mkoeppe commented Dec 17, 2023

The format of the distros/*.txt was underspecified. We now clarify that there should be 1 package per line and no shell quoting.

We extend the system package scripts so that they apply shell quoting when they print shell commands.
This fixes a failure seen in CI due to underquoting: https://github.com/sagemath/sage/actions/runs/7202678226/job/19621287638#step:11:134

We also wrap the command lines that are displayed by sage-spkg-info and formatted for the installation guide.
https://pianomister.github.io/diffsite/?url1=https%3A%2F%2Fdeploy-preview-36910--sagemath-tobias.netlify.app%2Fhtml%2Fen%2Finstallation%2Fsource&url2=https%3A%2F%2Fsagemath-tobias.netlify.app%2Fhtml%2Fen%2Finstallation%2Fsource

📝 Checklist

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

⌛ Dependencies

git grep -l \" build/pkgs/*/distros* | xargs sed -i.bak '/^"/s/"//g'

git grep -l -E '^([^# ]+) +([^# ][^#]+)(#.*)' build/pkgs/*/distros/*.txt | xargs sed -E -i.bak $'s/^([^# ]+) +([^# ][^#]+)(#.*)?/\\3\\\n\\1\\\n\\2/'

git grep -l -E '^([^# ]+) +([^# ][^#]+)' build/pkgs/*/distros/*.txt | xargs sed -E -i.bak $'s/^([^# ]+) +([^# ][^#]+)/\\1\\\n\\2/'

git grep -l -E ' +$' build/pkgs/*/distros/*.txt | xargs sed -E -i.bak 's/[ ]+$//'
@mkoeppe mkoeppe requested a review from dimpase December 18, 2023 17:35
@dimpase
Copy link
Member

dimpase commented Dec 18, 2023

OK

@mkoeppe
Copy link
Member Author

mkoeppe commented Dec 18, 2023

Thanks!

Copy link

Documentation preview for this PR (built with commit 7c0eb33; changes) is ready! 🎉

@mkoeppe
Copy link
Member Author

mkoeppe commented Dec 19, 2023

Marking it blocker so that blocker #36926 does not break the portability CI.

vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 21, 2023
    
this is the branch from sagemath#31505, rebased over Sage 10.0 branch

Resolves sagemath#31505

- Depends on sagemath#36910 (merged here)
    
URL: sagemath#35667
Reported by: Dima Pasechnik
Reviewer(s):
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 21, 2023
    
<!-- ^^^^^
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 -->
The format of the `distros/*.txt` was underspecified. We now clarify
that there should be 1 package per line and no shell quoting.

We extend the system package scripts so that they apply shell quoting
when they print shell commands.
This fixes a failure seen in CI due to underquoting: https://github.com/
sagemath/sage/actions/runs/7202678226/job/19621287638#step:11:134

We also wrap the command lines that are displayed by `sage-spkg-info`
and formatted for the installation guide.
https://pianomister.github.io/diffsite/?url1=https%3A%2F%2Fdeploy-
preview-36910--sagemath-tobias.netlify.app%2Fhtml%2Fen%2Finstallation%2F
source&url2=https%3A%2F%2Fsagemath-
tobias.netlify.app%2Fhtml%2Fen%2Finstallation%2Fsource

<!-- 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.
- [ ] 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#36910
Reported by: Matthias Köppe
Reviewer(s): Dima Pasechnik, Matthias Köppe
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 21, 2023
    
<!-- ^^^^^
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 -->
This is a workaround for:
- sagemath#36840

Cherry-picked from sagemath#36372

Author: @tobiasdiez

Reviewer: @mkoeppe

<!-- 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.
- [ ] The description explains in detail what this PR is about.
- [ ] 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: ...
-->
- Depends on sagemath#36910 (merged here to fix merge conflict)

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36926
Reported by: Matthias Köppe
Reviewer(s):
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 22, 2023
    
this is the branch from sagemath#31505, rebased over Sage 10.0 branch

Resolves sagemath#31505

- Depends on sagemath#36910 (merged here)
    
URL: sagemath#35667
Reported by: Dima Pasechnik
Reviewer(s):
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 22, 2023
    
<!-- ^^^^^
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 -->
The format of the `distros/*.txt` was underspecified. We now clarify
that there should be 1 package per line and no shell quoting.

We extend the system package scripts so that they apply shell quoting
when they print shell commands.
This fixes a failure seen in CI due to underquoting: https://github.com/
sagemath/sage/actions/runs/7202678226/job/19621287638#step:11:134

We also wrap the command lines that are displayed by `sage-spkg-info`
and formatted for the installation guide.
https://pianomister.github.io/diffsite/?url1=https%3A%2F%2Fdeploy-
preview-36910--sagemath-tobias.netlify.app%2Fhtml%2Fen%2Finstallation%2F
source&url2=https%3A%2F%2Fsagemath-
tobias.netlify.app%2Fhtml%2Fen%2Finstallation%2Fsource

<!-- 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.
- [ ] 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#36910
Reported by: Matthias Köppe
Reviewer(s): Dima Pasechnik, Matthias Köppe
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 22, 2023
    
<!-- ^^^^^
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 -->
This is a workaround for:
- sagemath#36840

Cherry-picked from sagemath#36372

Author: @tobiasdiez

Reviewer: @mkoeppe

<!-- 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.
- [ ] The description explains in detail what this PR is about.
- [ ] 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: ...
-->
- Depends on sagemath#36910 (merged here to fix merge conflict)

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36926
Reported by: Matthias Köppe
Reviewer(s):
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 23, 2023
    
this is the branch from sagemath#31505, rebased over Sage 10.0 branch

Resolves sagemath#31505

- Depends on sagemath#36910 (merged here)
    
URL: sagemath#35667
Reported by: Dima Pasechnik
Reviewer(s):
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 23, 2023
    
<!-- ^^^^^
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 -->
The format of the `distros/*.txt` was underspecified. We now clarify
that there should be 1 package per line and no shell quoting.

We extend the system package scripts so that they apply shell quoting
when they print shell commands.
This fixes a failure seen in CI due to underquoting: https://github.com/
sagemath/sage/actions/runs/7202678226/job/19621287638#step:11:134

We also wrap the command lines that are displayed by `sage-spkg-info`
and formatted for the installation guide.
https://pianomister.github.io/diffsite/?url1=https%3A%2F%2Fdeploy-
preview-36910--sagemath-tobias.netlify.app%2Fhtml%2Fen%2Finstallation%2F
source&url2=https%3A%2F%2Fsagemath-
tobias.netlify.app%2Fhtml%2Fen%2Finstallation%2Fsource

<!-- 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.
- [ ] 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#36910
Reported by: Matthias Köppe
Reviewer(s): Dima Pasechnik, Matthias Köppe
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 23, 2023
    
<!-- ^^^^^
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 -->
This is a workaround for:
- sagemath#36840

Cherry-picked from sagemath#36372

Author: @tobiasdiez

Reviewer: @mkoeppe

<!-- 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.
- [ ] The description explains in detail what this PR is about.
- [ ] 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: ...
-->
- Depends on sagemath#36910 (merged here to fix merge conflict)

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36926
Reported by: Matthias Köppe
Reviewer(s):
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 24, 2023
    
this is the branch from sagemath#31505, rebased over Sage 10.0 branch

Resolves sagemath#31505

- Depends on sagemath#36910 (merged here)
    
URL: sagemath#35667
Reported by: Dima Pasechnik
Reviewer(s):
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 24, 2023
    
<!-- ^^^^^
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 -->
The format of the `distros/*.txt` was underspecified. We now clarify
that there should be 1 package per line and no shell quoting.

We extend the system package scripts so that they apply shell quoting
when they print shell commands.
This fixes a failure seen in CI due to underquoting: https://github.com/
sagemath/sage/actions/runs/7202678226/job/19621287638#step:11:134

We also wrap the command lines that are displayed by `sage-spkg-info`
and formatted for the installation guide.
https://pianomister.github.io/diffsite/?url1=https%3A%2F%2Fdeploy-
preview-36910--sagemath-tobias.netlify.app%2Fhtml%2Fen%2Finstallation%2F
source&url2=https%3A%2F%2Fsagemath-
tobias.netlify.app%2Fhtml%2Fen%2Finstallation%2Fsource

<!-- 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.
- [ ] 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#36910
Reported by: Matthias Köppe
Reviewer(s): Dima Pasechnik, Matthias Köppe
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 24, 2023
    
<!-- ^^^^^
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 -->
This is a workaround for:
- sagemath#36840

Cherry-picked from sagemath#36372

Author: @tobiasdiez

Reviewer: @mkoeppe

<!-- 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.
- [ ] The description explains in detail what this PR is about.
- [ ] 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: ...
-->
- Depends on sagemath#36910 (merged here to fix merge conflict)

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36926
Reported by: Matthias Köppe
Reviewer(s):
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 25, 2023
this is the branch from sagemath#31505, rebased over Sage 10.0 branch

Resolves sagemath#31505

- Depends on sagemath#36910 (merged here)

URL: sagemath#35667
Reported by: Dima Pasechnik
Reviewer(s):
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 26, 2023
    
this is the branch from sagemath#31505, rebased over Sage 10.0 branch

Resolves sagemath#31505

- Depends on sagemath#36910 (merged here)
    
URL: sagemath#35667
Reported by: Dima Pasechnik
Reviewer(s):
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 26, 2023
    
<!-- ^^^^^
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 -->
This is a workaround for:
- sagemath#36840

Cherry-picked from sagemath#36372

Author: @tobiasdiez

Reviewer: @mkoeppe

<!-- 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.
- [ ] The description explains in detail what this PR is about.
- [ ] 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: ...
-->
- Depends on sagemath#36910 (merged here to fix merge conflict)

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36926
Reported by: Matthias Köppe
Reviewer(s):
@vbraun vbraun merged commit d1c22c5 into sagemath:develop Dec 26, 2023
17 of 23 checks passed
@mkoeppe mkoeppe added this to the sage-10.3 milestone Dec 26, 2023
@mkoeppe mkoeppe deleted the system-package-quoting branch January 7, 2024 02:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants