Opened 4 years ago

Last modified 10 days ago

#21559 needs_work enhancement

Move sage-the-distribution scripts from src/bin to build/bin; install remaining src/bin scripts by setup.py, not make

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.1
Component: build Keywords:
Cc: jdemeyer, vbraun, embray, isuruf, jhpalmieri, fbissey, kcrisman, mjo, arojas Merged in:
Authors: Matthias Koeppe Reviewers:
Report Upstream: N/A Work issues:
Branch: u/mkoeppe/change-src-bin-installation (Commits) Commit: 9825799e82c8201359faf2e7db103b9f52ba2aef
Dependencies: #23769, #29381, #29383 Stopgaps:

Description (last modified by mkoeppe)

This ticket cleans up src/bin and how its contents are installed. One of its goals is to make the sagelib installation done by src/setup.py self-contained regarding the scripts that it needs at runtime.

Move to build/bin (no longer installed in SAGE_LOCAL):

# Used only by some build/pkgs/SPKG/spkg-install scripts, not by anything in src
testcc.sh
testcflags.sh
testcxx.sh
# Only used by build/make/deps
sage-starts                    

Obsolete, delete:

sage-README-osx.txt      # see #25995, #21570
sage-pkg       # a script to create old-style spkgs
sage-unzip   # unused

Install by a script package sage-distribution-scripts? These would be scripts that only sage-the-distribution would install in SAGE_LOCAL, but would not be in OS packages:

sage-list-experimental
sage-list-optional
sage-list-packages
sage-list-standard

Left in src/bin, installation changed to be done by src/setup.py using the scripts feature, instead of by build/make/Makefile (after scanning them in configure) (this used to be ticket #21569). All of these scripts must be useful in OS packaging of sagelib as well:

sage
sage-eval       #??

Helper scripts that have no business of being in the user's PATH. They belong to something like libexec. Perhaps src/sage/ext_data/libexec?

sage-version.sh

In follow-up tickets, src/bin could be cleaned up more. See the list of files added on this ticket to src/setup.py.

Not an executable script, move elsewhere (#21570):

To be determined (see list):

math-readline
sage-cleaner
sage-clone-source
sage-coverage
sage-coverageall
sage-cython
sage-download-upstream                 # -> build?
sage-env
sage-env-config
sage-env-config.in
sage-fix-pkg-checksums               # -> build?
sage-fixdoctests
sage-gdb-commands
sage-grep
sage-grepdoc
sage-inline-fortran
sage-ipynb2rst
sage-ipython
sage-location
sage-maxima.lisp
sage-native-execute
sage-notebook
sage-num-threads.py
sage-open
sage-preparse
sage-pypkg-location
sage-python
sage-rebase.bat
sage-rebase.sh
sage-rebaseall.bat
sage-rebaseall.sh
sage-rst2sws
sage-rst2txt
sage-rsyncdist
sage-run
sage-run-cython
sage-runtests
sage-sdist
sage-startuptime.py
sage-sws2rst
sage-update-src
sage-update-version
sage-upgrade

(Based on the full list of src/bin as of 9.1.beta4.)

See also

  • #21707: Split sage-env into sage-build-env and sage-env

Change History (33)

comment:1 Changed 4 years ago by mkoeppe

  • Cc embray added
  • Description modified (diff)

comment:2 follow-up: Changed 4 years ago by embray

+1

Also sage-pip-install of #21441, but I might wait until that ticket is merged first, then move that script along with the others.

comment:3 in reply to: ↑ 2 Changed 4 years ago by jdemeyer

Replying to embray:

+1

Also sage-pip-install of #21441

I already moved that in #21441 (which still needs review by the way).

comment:4 Changed 3 years ago by mkoeppe

  • Description modified (diff)

comment:5 Changed 22 months ago by mkoeppe

  • Description modified (diff)
  • Milestone changed from sage-7.5 to sage-8.3

comment:6 Changed 20 months ago by vdelecroix

  • Milestone changed from sage-8.3 to sage-8.4

update milestone 8.3 -> 8.4

comment:7 Changed 11 months ago by mkoeppe

  • Description modified (diff)
  • Milestone changed from sage-8.4 to sage-8.8

comment:8 Changed 10 months ago by embray

  • Milestone sage-8.8 deleted

As the Sage-8.8 release milestone is pending, we should delete the sage-8.8 milestone for tickets that are not actively being worked on or that still require significant work to move forward. If you feel that this ticket should be included in the next Sage release at the soonest please set its milestone to the next release milestone (sage-8.9).

comment:9 Changed 3 months ago by mkoeppe

  • Cc isuruf added

comment:10 Changed 3 months ago by mkoeppe

  • Cc jhpamieri fbissey added

comment:11 Changed 3 months ago by mkoeppe

  • Cc jhpalmieri added; jhpamieri removed

comment:12 Changed 6 weeks ago by mkoeppe

  • Description modified (diff)
  • Milestone set to sage-9.1

comment:13 Changed 6 weeks ago by mkoeppe

  • Description modified (diff)

comment:14 Changed 5 weeks ago by mkoeppe

  • Cc kcrisman added
  • Description modified (diff)

comment:15 Changed 4 weeks ago by mkoeppe

  • Branch set to u/mkoeppe/change-src-bin-installation

comment:16 Changed 4 weeks ago by mkoeppe

  • Authors set to Matthias Koeppe
  • Commit set to 428ea11b2a4ac1c6754f9981d0b732e593e02aac
  • Description modified (diff)
  • Summary changed from Move sage-the-distribution scripts from src/bin to build/bin to Move sage-the-distribution scripts from src/bin to build/bin; install remaining src/bin scripts by setup.py, not make

New commits:

1a54a80Move src/bin/testc*.sh to build/bin/, delete src/bin/sage-README-osx.txt
428ea11Install src/bin/* by setup.py [scripts] instead of by build/make/deps

comment:17 Changed 4 weeks ago by git

  • Commit changed from 428ea11b2a4ac1c6754f9981d0b732e593e02aac to 1b3c860afdb5368545541e989975881a4c57ca1c

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

1b3c860Move src/bin/sage-starts to build/bin/

comment:18 Changed 4 weeks ago by mkoeppe

  • Description modified (diff)
  • Status changed from new to needs_review

comment:19 Changed 4 weeks ago by mkoeppe

  • Description modified (diff)

comment:20 Changed 3 weeks ago by git

  • Commit changed from 1b3c860afdb5368545541e989975881a4c57ca1c to 546d1b07856ea236ad6a9021f21109b0082ca82d

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

546d1b0Merge tag '9.1.beta7' into t/21559/change-src-bin-installation

comment:21 Changed 2 weeks ago by mkoeppe

  • Cc mjo added

comment:22 Changed 2 weeks ago by mkoeppe

This ticket could use some help from distribution packagers...

comment:23 Changed 2 weeks ago by git

  • Commit changed from 546d1b07856ea236ad6a9021f21109b0082ca82d to dddd4628522f62c7f78315b507116117a580912d

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

2850b50Move src/bin/testc*.sh to build/bin/, delete src/bin/sage-README-osx.txt
4466fd6Install src/bin/* by setup.py [scripts] instead of by build/make/deps
26b7596Move src/bin/sage-starts to build/bin/
dddd462Remove obsolete script sage-pkg (creates old-style spkg archives)

comment:24 Changed 2 weeks ago by git

  • Commit changed from dddd4628522f62c7f78315b507116117a580912d to 9825799e82c8201359faf2e7db103b9f52ba2aef

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

9825799src/bin/sage-unzip: Remove (unused script)

comment:25 Changed 2 weeks ago by mkoeppe

  • Description modified (diff)
Last edited 2 weeks ago by mkoeppe (previous) (diff)

comment:26 Changed 12 days ago by mkoeppe

  • Status changed from needs_review to needs_work

comment:27 Changed 11 days ago by mkoeppe

  • Dependencies set to #23769, #29381, #29383

comment:28 Changed 10 days ago by mkoeppe

  • Description modified (diff)

comment:29 Changed 10 days ago by mkoeppe

  • Description modified (diff)

comment:30 Changed 10 days ago by mkoeppe

  • Cc arojas added
  • Description modified (diff)

comment:31 Changed 10 days ago by arojas

This breaks if you try to install sagelib with setup.py without running configure first (as some distros do) since sage-env-config doesn't exist in that case. At least sage-env and sage-env-config should be optional.

comment:32 follow-up: Changed 10 days ago by gh-Shlokatadistance

Can this build also configure a better link or communication between SAGE_LOCAL or SAGE_SCRIPTS_DIR variables?

comment:33 in reply to: ↑ 32 Changed 10 days ago by mkoeppe

Replying to gh-Shlokatadistance:

Can this build also configure a better link or communication between SAGE_LOCAL or SAGE_SCRIPTS_DIR variables?

Take a look at #25486

Note: See TracTickets for help on using tickets.