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

Meta-ticket: Update other packages to using the sage-dist-helpers functions + DESTDIR where applicable #24024

Open
embray opened this issue Oct 12, 2017 · 53 comments

Comments

@embray
Copy link
Contributor

embray commented Oct 12, 2017

This is a meta-ticket for tickets that address updating other packages to use the helper functions in sage-dist-helpers where possible. There are
a few advantages to doing this:

  • In general it simplifies these scripts and reduces a lot of boilerplate. As more functions get written even more boilerplate can be removed, but even the existing functions help a lot.
  • Although this requires irritating bulk updates to packages now, it reduces the overall need for such bulk updates in the future, since many packages that have similar build and installation steps can be be updated at once by updates to the applicable helper functions.

The second bullet point is especially motivated right now by #22509. Since it requires updates to nearly every package in Sage anyways, it makes more sense to update most packages to use the helper functions, and then add DESTDIR support through the helper functions. In particular, the vast majority of Python and autotools packages can be given DESTDIR support en masse by this approach.

Component: build

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

@embray embray added this to the sage-8.1 milestone Oct 12, 2017
@embray embray self-assigned this Oct 12, 2017
@jdemeyer

This comment has been minimized.

@embray

This comment has been minimized.

@embray
Copy link
Contributor Author

embray commented Oct 12, 2017

comment:4

Note that for #22509 there will have be a second round of updates to DESTDIR support for some packages that manually copy files to locations in $SAGE_LOCAL. However, making these updates first still significantly reduces that number of packages that will require additional treatment.

@embray embray modified the milestones: sage-8.1, sage-8.2 Dec 12, 2017
@embray

This comment has been minimized.

@embray
Copy link
Contributor Author

embray commented Feb 2, 2018

comment:6

Added classifications to several of the packages that still need to be converted over to sdh-helpers/SAGE_DESTDIR support. Still not an exhaustive list.

@embray

This comment has been minimized.

@jdemeyer
Copy link

comment:8

cysignals should be easy... it is only unusual because it uses autoconf in a Python package but sdh_configure should just work anyway.

@embray
Copy link
Contributor Author

embray commented Mar 19, 2018

comment:9

Replying to @jdemeyer:

cysignals should be easy... it is only unusual because it uses autoconf in a Python package but sdh_configure should just work anyway.

Indeed. Most of them are easy and are already done in my old branch for this. The only reason many of these packages were separated out from #24025 is that they required one or two more other changes.

@embray
Copy link
Contributor Author

embray commented Mar 26, 2018

comment:10

At this point, now that DESTDIR support is available, there's no reason not to handle adding DESTDIR support, at least at a basic level, at the same time as implementing use of sage-dist-helpers.

@embray embray changed the title Update other packages to using the sage-dist-helpers functions where applicable Update other packages to support DESTDIR where applicable Mar 26, 2018
@embray

This comment has been minimized.

@embray embray changed the title Update other packages to support DESTDIR where applicable Update other packages to using the sage-dist-helpers functions where applicable Mar 27, 2018
@embray

This comment has been minimized.

@embray embray changed the title Update other packages to using the sage-dist-helpers functions where applicable Update other packages to using the sage-dist-helpers functions + DESTDIR where applicable Mar 27, 2018
@embray

This comment has been minimized.

@embray

This comment has been minimized.

@embray

This comment has been minimized.

@embray

This comment has been minimized.

@embray

This comment has been minimized.

@embray

This comment has been minimized.

@embray

This comment has been minimized.

@embray

This comment has been minimized.

@embray

This comment has been minimized.

@embray
Copy link
Contributor Author

embray commented Apr 3, 2018

comment:23

zn_poly is not autotools.

@mkoeppe mkoeppe added this to the sage-9.6 milestone Dec 14, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.6, sage-9.7 Apr 2, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Aug 31, 2022
@mkoeppe mkoeppe removed this from the sage-9.8 milestone Jan 29, 2023
@mkoeppe
Copy link
Contributor

mkoeppe commented Dec 8, 2023

vbraun pushed a commit to vbraun/sage that referenced this issue Dec 17, 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 -->

Most normal SPKGs are installed by staging in `DESTDIR`. When copying to
the final install location in `SAGE_LOCAL`, an installation record is
created, which is used later in package uninstallation.

However, when SPKG installation was switched to using staging in
`DESTDIR` (Meta-ticket sagemath#24024), the parts of `spkg-install` scripts that
used to be responsible for removing an old version of the installed
package were either kept in place or moved to `spkg-legacy-uninstall`
scripts. This was done to enable incremental builds from older
installations.

By passage of time, this is no longer needed.

Some of the removals are a partial cherry-pick from sagemath#25140 by @embray.

We also switch `frobby` to `DESTDIR` staging and *add* an `spkg-legacy-
uninstall` script.

Resolves sagemath#25140.
Resolves sagemath#30480.

<!-- 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: ...
-->
- Depends on sagemath#36778 (merged here to resolve merge conflict)

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

No branches or pull requests

4 participants