Opened 14 months ago

Last modified 6 weeks ago

#29386 new enhancement

Install script packages via sage-spkg

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.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:

Status badges

Description (last modified by mkoeppe)

Follow-up from #29287.

Script packages are installed by special rules in build/make/Makefile.

This ticket installs them by sage-spkg 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 spkg-install is generated from a template spkg-install.in or provided as is in the source tree orthogonal to the distinction source=script vs. source=pip. We simply generate spkg-install if spkg-install.in is present.

We also rename targets SPKG-clean to SPKG-uninstall (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 mkoeppe

  • Milestone changed from sage-9.1 to sage-9.2

pushing these forward to 9.2

comment:2 Changed 11 months ago by mkoeppe

  • Dependencies set to #29793

comment:3 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:4 Changed 10 months ago by mkoeppe

  • Cc mjo added

comment:5 Changed 9 months ago by mkoeppe

  • Milestone changed from sage-9.2 to sage-9.3

comment:6 Changed 9 months ago by embray

+1 this would be a very nice improvement.

comment:7 Changed 8 months ago by mkoeppe

  • Branch set to u/mkoeppe/install_script_packages_via_sage_spkg

comment:8 Changed 8 months ago by mkoeppe

  • Commit set to fee5bc2c04387745dbb9b8265ec13be7bcd434e1
  • Dependencies changed from #29793 to #29793, #30657

New commits:

f0f03c9build/bin/sage-spkg: Remove dead code for manufacturing an spkg-install script
46e5f68build/bin/sage-spkg: Get rid of USE_LOCAL_SCRIPTS (it was always yes); prepare for script packages
fee5bc2build/bin/sage-spkg: For script packages, do not poison the proxy variables

comment:9 Changed 8 months ago by git

  • Commit changed from fee5bc2c04387745dbb9b8265ec13be7bcd434e1 to e4c27f6f307c06d6a1c9fc368cb72a461e4c6b20

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

9ee2110build/bin/sage-dist-helpers: Also use $sudo for storing the wheel file
d7aac84src/doc/en/developer/packaging.rst: Update sdh_... documentation
9b7c7a0build/bin/sage-pip-{install,uninstall}: Fix typo in comment
4135e8bbuild/bin/sage-pip-install: Remove an outdated comment
f2e7075Merge tag '9.2.beta13' into t/29500/install_all_python_packages_via_pip_wheel__create_pep_503_simple_repository_for_wheels
bd0fd2fMerge branch 't/29500/install_all_python_packages_via_pip_wheel__create_pep_503_simple_repository_for_wheels' into t/30657/fix_up__sage__p_
2e20f23build/bin/sage-spkg: Move SAGE_SPKG_{INST,SCRIPTS,WHEELS} setting here from build/bin/install, make them relative to SAGE_INST_LOCAL
ac09b14Merge branch 't/30657/fix_up__sage__p_' into t/29386/install_script_packages_via_sage_spkg
bf0c3dcbuild/bin/sage-spkg: Exit with error for some old-style script invocations
e4c27f6build/bin/sage-spkg: Remove error message when checksums.ini does not exist (script package)

comment:10 Changed 8 months ago by git

  • Commit changed from e4c27f6f307c06d6a1c9fc368cb72a461e4c6b20 to 81a63df3107793d067f1bd5a9807bfff8c0cd054

Branch pushed to git repo; I updated commit sha1. New commits:

3ceeaa7build/bin/sage-spkg: Fix up for normal and script packages
8c4fb4dbuild/bin/sage-spkg: Handle script packages without package-version.txt
137365abuild/make/Makefile.in: Replace 'SPKG-clean' by 'SPKG-uninstall', with deprecation
a9cbfdabuild/make/Makefile.in: Install script packages using sage-spkg
81a63dfsrc/bin/sage: Use 'make SPKG-uninstall' instead of -clean

comment:11 Changed 8 months ago by git

  • Commit changed from 81a63df3107793d067f1bd5a9807bfff8c0cd054 to 3d6fa5924f54b85a28f5c4d969afca01da8801fc

Branch pushed to git repo; I updated commit sha1. New commits:

3d6fa59build/make/Makefile.in: Replace 'SPKG-clean' by 'SPKG-uninstall', with deprecation, for pip packages too

comment:12 Changed 8 months ago by mkoeppe

  • Authors set to Matthias Koeppe
  • Description modified (diff)

comment:13 Changed 8 months ago by git

  • Commit changed from 3d6fa5924f54b85a28f5c4d969afca01da8801fc to ae5ea98908707d8ce3f23603f51b070b117c3892

Branch pushed to git repo; I updated commit sha1. New commits:

ae5ea98build/make/Makefile.in: Make SPKG-uninstall targets phony

comment:14 Changed 8 months ago by git

  • Commit changed from ae5ea98908707d8ce3f23603f51b070b117c3892 to 6c27c05e64886bfb2133dc70c6f87145eb74fcf5

Branch pushed to git repo; I updated commit sha1. New commits:

47ef805WIP: Install pip packages with sage-spkg
6c27c05build/make/Makefile.in: Another SPKG-clean -> SPKG-uninstall

comment:15 Changed 8 months ago by git

  • Commit changed from 6c27c05e64886bfb2133dc70c6f87145eb74fcf5 to 660d689c8fc712b813adb19f076aa9d8eeaaccb4

Branch pushed to git repo; I updated commit sha1. New commits:

9750195WIP: Install pip packages with sage-spkg
be2417cMerge tag '9.2.beta14' into t/30657/fix_up__sage__p_
8ee7ee2build/make/install: Set SAGE_SPKG_WHEELS also here so that script packages still work
72c5901Merge branch 't/30657/fix_up__sage__p_' into t/29386/install_script_packages_via_sage_spkg
660d689Revert "build/make/install: Set SAGE_SPKG_WHEELS also here so that script packages still work"

comment:16 Changed 3 months ago by mkoeppe

  • Milestone changed from sage-9.3 to sage-9.4

Setting new milestone based on a cursory review of ticket status, priority, and last modification date.

comment:17 Changed 6 weeks ago by mkoeppe

  • 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 mkoeppe

  • Dependencies changed from #29793, #30657, #29013 to #29013
Note: See TracTickets for help on using tickets.