This is a followup to #25139 and represents work that was originally done in #22510 to convert most packages to use spkg-legacy-uninstall and remove uninstall-related commands from their spkg-install scripts.
This work was brought over from an older branch and still needs some adjustment: It should incorporate the changes from the #24024 metaticket which conflict with some of these changes. There are also some additional optional and experimental packages (and maybe a couple standard packages) that still need to be updated as well.
Probably won't bother with that until and unless #25139 is approved of in some form that still includes the spkg-legacy-uninstall feature.
To summarize what this is about: Part of the goal in implementing the new installation/uninstallation system for packages is that spkg-install should, ideally, not modify $SAGE_LOCAL in any way, at least for packages that support DESTDIR-based installation. This allows more separation from the building of packages from their runtime installation target.
However, many packages' spkg-install or spkg-build include commands (mostly in the form of rm -rf's) to clean up files from previous installs of those packages. This is no longer necessary for new-style package installations that track exactly what files are installed by a package. But it is still necessary when upgrading from old installs of packages that don't have a file manifest. This is what the spkg-legacy-uninstall script is for. It's just taking the rm -rf's from spkg-install and moving it into a separate script that is called by the uninstaller if it doesn't have a file manifest for that package.
So this ticket is just creating the spkg-legacy-uninstall for many packages that already have DESTDIR support.
Component: build
Keywords: uninstall
Author: Erik Bray
Branch/Commit: u/embray/build/spkg-uninstall/legacy-uninstallers @ e2d2b01
Reviewer: Julian Rüth
Issue created by migration from https://trac.sagemath.org/ticket/25140
This is a followup to #25139 and represents work that was originally done in #22510 to convert most packages to use
spkg-legacy-uninstalland remove uninstall-related commands from theirspkg-installscripts.This work was brought over from an older branch and still needs some adjustment: It should incorporate the changes from the #24024 metaticket which conflict with some of these changes. There are also some additional optional and experimental packages (and maybe a couple standard packages) that still need to be updated as well.
Probably won't bother with that until and unless #25139 is approved of in some form that still includes the
spkg-legacy-uninstallfeature.To summarize what this is about: Part of the goal in implementing the new installation/uninstallation system for packages is that
spkg-installshould, ideally, not modify$SAGE_LOCALin any way, at least for packages that supportDESTDIR-based installation. This allows more separation from the building of packages from their runtime installation target.However, many packages'
spkg-installorspkg-buildinclude commands (mostly in the form ofrm -rf's) to clean up files from previous installs of those packages. This is no longer necessary for new-style package installations that track exactly what files are installed by a package. But it is still necessary when upgrading from old installs of packages that don't have a file manifest. This is what thespkg-legacy-uninstallscript is for. It's just taking therm -rf's fromspkg-installand moving it into a separate script that is called by the uninstaller if it doesn't have a file manifest for that package.So this ticket is just creating the
spkg-legacy-uninstallfor many packages that already haveDESTDIRsupport.Component: build
Keywords: uninstall
Author: Erik Bray
Branch/Commit: u/embray/build/spkg-uninstall/legacy-uninstallers @
e2d2b01Reviewer: Julian Rüth
Issue created by migration from https://trac.sagemath.org/ticket/25140