Opened 4 years ago
Last modified 8 weeks ago
#21559 needs_work enhancement
Move sagethedistribution 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:  sage9.2 
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/changesrcbininstallation (Commits)  Commit:  9825799e82c8201359faf2e7db103b9f52ba2aef 
Dependencies:  #23769, #29381, #29383  Stopgaps: 
Description (last modified by )
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
selfcontained 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/spkginstall scripts, not by anything in src testcc.sh testcflags.sh testcxx.sh # Only used by build/make/deps sagestarts
Obsolete, delete:
sageREADMEosx.txt # see #25995, #21570 sagepkg # a script to create oldstyle spkgs sageunzip # unused
Install by a script package sagedistributionscripts
? These would be scripts that only sagethedistribution would install in SAGE_LOCAL, but would not be in OS packages:
sagelistexperimental sagelistoptional sagelistpackages sageliststandard
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 sageeval #??
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
?
sageversion.sh
In followup 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):
mathreadline sagecleaner sageclonesource sagecoverage sagecoverageall sagecython sagedownloadupstream # > build? sageenv sageenvconfig sageenvconfig.in sagefixpkgchecksums # > build? sagefixdoctests sagegdbcommands sagegrep sagegrepdoc sageinlinefortran sageipynb2rst sageipython sagelocation sagemaxima.lisp sagenativeexecute sagenotebook sagenumthreads.py sageopen sagepreparse sagepypkglocation sagepython sagerebase.bat sagerebase.sh sagerebaseall.bat sagerebaseall.sh sagerst2sws sagerst2txt sagersyncdist sagerun sageruncython sageruntests sagesdist sagestartuptime.py sagesws2rst sageupdatesrc sageupdateversion sageupgrade
(Based on the full list of src/bin
as of 9.1.beta4.)
See also
 #21707: Split sageenv into sagebuildenv and sageenv
Change History (34)
comment:1 Changed 4 years ago by
 Cc embray added
 Description modified (diff)
comment:2 followup: ↓ 3 Changed 4 years ago by
comment:3 in reply to: ↑ 2 Changed 4 years ago by
comment:4 Changed 4 years ago by
 Description modified (diff)
comment:5 Changed 2 years ago by
 Description modified (diff)
 Milestone changed from sage7.5 to sage8.3
comment:6 Changed 22 months ago by
 Milestone changed from sage8.3 to sage8.4
update milestone 8.3 > 8.4
comment:7 Changed 13 months ago by
 Description modified (diff)
 Milestone changed from sage8.4 to sage8.8
comment:8 Changed 12 months ago by
 Milestone sage8.8 deleted
As the Sage8.8 release milestone is pending, we should delete the sage8.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 (sage8.9).
comment:9 Changed 5 months ago by
 Cc isuruf added
comment:10 Changed 5 months ago by
 Cc jhpamieri fbissey added
comment:11 Changed 5 months ago by
 Cc jhpalmieri added; jhpamieri removed
comment:12 Changed 3 months ago by
 Description modified (diff)
 Milestone set to sage9.1
comment:13 Changed 3 months ago by
 Description modified (diff)
comment:14 Changed 3 months ago by
 Cc kcrisman added
 Description modified (diff)
comment:15 Changed 3 months ago by
 Branch set to u/mkoeppe/changesrcbininstallation
comment:16 Changed 3 months ago by
 Commit set to 428ea11b2a4ac1c6754f9981d0b732e593e02aac
 Description modified (diff)
 Summary changed from Move sagethedistribution scripts from src/bin to build/bin to Move sagethedistribution scripts from src/bin to build/bin; install remaining src/bin scripts by setup.py, not make
comment:17 Changed 3 months ago by
 Commit changed from 428ea11b2a4ac1c6754f9981d0b732e593e02aac to 1b3c860afdb5368545541e989975881a4c57ca1c
Branch pushed to git repo; I updated commit sha1. New commits:
1b3c860  Move src/bin/sagestarts to build/bin/

comment:18 Changed 3 months ago by
 Description modified (diff)
 Status changed from new to needs_review
comment:19 Changed 3 months ago by
 Description modified (diff)
comment:20 Changed 3 months ago by
 Commit changed from 1b3c860afdb5368545541e989975881a4c57ca1c to 546d1b07856ea236ad6a9021f21109b0082ca82d
Branch pushed to git repo; I updated commit sha1. New commits:
546d1b0  Merge tag '9.1.beta7' into t/21559/changesrcbininstallation

comment:21 Changed 3 months ago by
 Cc mjo added
comment:22 Changed 3 months ago by
This ticket could use some help from distribution packagers...
comment:23 Changed 3 months ago by
 Commit changed from 546d1b07856ea236ad6a9021f21109b0082ca82d to dddd4628522f62c7f78315b507116117a580912d
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
2850b50  Move src/bin/testc*.sh to build/bin/, delete src/bin/sageREADMEosx.txt

4466fd6  Install src/bin/* by setup.py [scripts] instead of by build/make/deps

26b7596  Move src/bin/sagestarts to build/bin/

dddd462  Remove obsolete script sagepkg (creates oldstyle spkg archives)

comment:24 Changed 3 months ago by
 Commit changed from dddd4628522f62c7f78315b507116117a580912d to 9825799e82c8201359faf2e7db103b9f52ba2aef
Branch pushed to git repo; I updated commit sha1. New commits:
9825799  src/bin/sageunzip: Remove (unused script)

comment:25 Changed 3 months ago by
 Description modified (diff)
New commits:
9825799  src/bin/sageunzip: Remove (unused script)

comment:26 Changed 3 months ago by
 Status changed from needs_review to needs_work
comment:27 Changed 3 months ago by
 Dependencies set to #23769, #29381, #29383
comment:28 Changed 2 months ago by
 Description modified (diff)
comment:29 Changed 2 months ago by
 Description modified (diff)
comment:30 Changed 2 months ago by
 Cc arojas added
 Description modified (diff)
comment:31 Changed 2 months ago by
This breaks if you try to install sagelib with setup.py without running configure first (as some distros do) since sageenvconfig doesn't exist in that case. At least sageenv and sageenvconfig should be optional.
comment:32 followup: ↓ 33 Changed 2 months ago by
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 2 months ago by
Replying to ghShlokatadistance:
Can this build also configure a better link or communication between SAGE_LOCAL or SAGE_SCRIPTS_DIR variables?
Take a look at #25486
comment:34 Changed 8 weeks ago by
 Milestone changed from sage9.1 to sage9.2
+1
Also
sagepipinstall
of #21441, but I might wait until that ticket is merged first, then move that script along with the others.