Opened 14 months ago
Last modified 6 weeks ago
#29386 new enhancement
Install script packages via sagespkg
Reported by:  mkoeppe  Owned by:  

Priority:  major  Milestone:  sage9.4 
Component:  build  Keywords:  
Cc:  dimpase, jhpalmieri, embray, mjo  Merged in:  
Authors:  Matthias Koeppe  Reviewers:  
Report Upstream:  N/A  Work issues:  rework on top of #29013 
Branch:  u/mkoeppe/install_script_packages_via_sage_spkg (Commits, GitHub, GitLab)  Commit:  660d689c8fc712b813adb19f076aa9d8eeaaccb4 
Dependencies:  #29013  Stopgaps: 
Description (last modified by )
Followup from #29287.
Script packages are installed by special rules in build/make/Makefile
.
This ticket installs them by sagespkg
instead. This enables script packages to participate in the staged installs (SAGE_DESTDIR
) and uninstallation mechanisms.
This is useful for #29082... to clean up #27870/#29003, which introduced files in SAGE_LOCAL
that do not belong to any package and are never uninstalled.
We also make the decision whether spkginstall
is generated from a template spkginstall.in
or provided as is in the source tree orthogonal to the distinction source=script
vs. source=pip
.
We simply generate spkginstall
if spkginstall.in
is present.
We also rename targets SPKGclean
to SPKGuninstall
(as originally discussed in #29097), leaving a deprecated target behind. This is to unify the targets between normal and script packages (the latter used uninstall
already).
Ideally, when done, changing a package's source between script and normal and pip will no longer require running bootstrap
.
Change History (18)
comment:1 Changed 13 months ago by
 Milestone changed from sage9.1 to sage9.2
comment:2 Changed 11 months ago by
 Dependencies set to #29793
comment:3 Changed 11 months ago by
 Description modified (diff)
comment:4 Changed 10 months ago by
 Cc mjo added
comment:5 Changed 9 months ago by
 Milestone changed from sage9.2 to sage9.3
comment:6 Changed 9 months ago by
+1 this would be a very nice improvement.
comment:7 Changed 8 months ago by
 Branch set to u/mkoeppe/install_script_packages_via_sage_spkg
comment:8 Changed 8 months ago by
 Commit set to fee5bc2c04387745dbb9b8265ec13be7bcd434e1
 Dependencies changed from #29793 to #29793, #30657
comment:9 Changed 8 months ago by
 Commit changed from fee5bc2c04387745dbb9b8265ec13be7bcd434e1 to e4c27f6f307c06d6a1c9fc368cb72a461e4c6b20
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
9ee2110  build/bin/sagedisthelpers: Also use $sudo for storing the wheel file

d7aac84  src/doc/en/developer/packaging.rst: Update sdh_... documentation

9b7c7a0  build/bin/sagepip{install,uninstall}: Fix typo in comment

4135e8b  build/bin/sagepipinstall: Remove an outdated comment

f2e7075  Merge tag '9.2.beta13' into t/29500/install_all_python_packages_via_pip_wheel__create_pep_503_simple_repository_for_wheels

bd0fd2f  Merge branch 't/29500/install_all_python_packages_via_pip_wheel__create_pep_503_simple_repository_for_wheels' into t/30657/fix_up__sage__p_

2e20f23  build/bin/sagespkg: Move SAGE_SPKG_{INST,SCRIPTS,WHEELS} setting here from build/bin/install, make them relative to SAGE_INST_LOCAL

ac09b14  Merge branch 't/30657/fix_up__sage__p_' into t/29386/install_script_packages_via_sage_spkg

bf0c3dc  build/bin/sagespkg: Exit with error for some oldstyle script invocations

e4c27f6  build/bin/sagespkg: Remove error message when checksums.ini does not exist (script package)

comment:10 Changed 8 months ago by
 Commit changed from e4c27f6f307c06d6a1c9fc368cb72a461e4c6b20 to 81a63df3107793d067f1bd5a9807bfff8c0cd054
Branch pushed to git repo; I updated commit sha1. New commits:
3ceeaa7  build/bin/sagespkg: Fix up for normal and script packages

8c4fb4d  build/bin/sagespkg: Handle script packages without packageversion.txt

137365a  build/make/Makefile.in: Replace 'SPKGclean' by 'SPKGuninstall', with deprecation

a9cbfda  build/make/Makefile.in: Install script packages using sagespkg

81a63df  src/bin/sage: Use 'make SPKGuninstall' instead of clean

comment:11 Changed 8 months ago by
 Commit changed from 81a63df3107793d067f1bd5a9807bfff8c0cd054 to 3d6fa5924f54b85a28f5c4d969afca01da8801fc
Branch pushed to git repo; I updated commit sha1. New commits:
3d6fa59  build/make/Makefile.in: Replace 'SPKGclean' by 'SPKGuninstall', with deprecation, for pip packages too

comment:12 Changed 8 months ago by
 Description modified (diff)
comment:13 Changed 8 months ago by
 Commit changed from 3d6fa5924f54b85a28f5c4d969afca01da8801fc to ae5ea98908707d8ce3f23603f51b070b117c3892
Branch pushed to git repo; I updated commit sha1. New commits:
ae5ea98  build/make/Makefile.in: Make SPKGuninstall targets phony

comment:14 Changed 8 months ago by
 Commit changed from ae5ea98908707d8ce3f23603f51b070b117c3892 to 6c27c05e64886bfb2133dc70c6f87145eb74fcf5
comment:15 Changed 8 months ago by
 Commit changed from 6c27c05e64886bfb2133dc70c6f87145eb74fcf5 to 660d689c8fc712b813adb19f076aa9d8eeaaccb4
Branch pushed to git repo; I updated commit sha1. New commits:
9750195  WIP: Install pip packages with sagespkg

be2417c  Merge tag '9.2.beta14' into t/30657/fix_up__sage__p_

8ee7ee2  build/make/install: Set SAGE_SPKG_WHEELS also here so that script packages still work

72c5901  Merge branch 't/30657/fix_up__sage__p_' into t/29386/install_script_packages_via_sage_spkg

660d689  Revert "build/make/install: Set SAGE_SPKG_WHEELS also here so that script packages still work"

comment:16 Changed 3 months ago by
 Milestone changed from sage9.3 to sage9.4
Setting new milestone based on a cursory review of ticket status, priority, and last modification date.
comment:17 Changed 6 weeks ago by
 Dependencies changed from #29793, #30657 to #29793, #30657, #29013
 Description modified (diff)
 Work issues set to rework on top of #29013
comment:18 Changed 6 weeks ago by
 Dependencies changed from #29793, #30657, #29013 to #29013
pushing these forward to 9.2