sagemath/sage

Install src/bin scripts by sagelib's setup.py, not make

Closed this issue · 83 comments

This ticket cleans up how the contents of src/bin 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.

Previous tickets moved some of the scripts to build/bin (no longer installed in SAGE_LOCAL).

In follow-up tickets, src/bin could be cleaned up more.

  • See the list of files added on this ticket to src/setup.py for beginnings of a categorization.
  • #29850: Install src/bin/sage-env-config as part of sage_conf
  • #29847: Install sage_setup with setuptools as a prerequisite for building/installing sagelib, install sage-the-distribution scripts as "scripts"

Depends on #29111

CC: @jdemeyer @vbraun @embray @isuruf @jhpalmieri @kiwifb @kcrisman @orlitzky @antonio-rojas @dimpase

Component: build

Author: Matthias Koeppe

Branch/Commit: 19d7f67

Reviewer: John Palmieri, François Bissey

Issue created by migration from https://trac.sagemath.org/ticket/21559

Description changed:

--- 
+++ 
@@ -1,5 +1,6 @@
 This list includes probably:
 - `sage-download-upstream`
 - `sage-fix-pkg-checksums`
+- `testcc.sh` etc. (which are used by some spkg without a proper build system)
 and perhaps more.
 
comment:2

+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

Replying to @embray:

+1

Also sage-pip-install of #21441

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

Description changed:

--- 
+++ 
@@ -4,3 +4,4 @@
 - `testcc.sh` etc. (which are used by some spkg without a proper build system)
 and perhaps more.
 
+See also #21707: Split sage-env into sage-build-env and sage-env

Description changed:

--- 
+++ 
@@ -2,6 +2,8 @@
 - `sage-download-upstream`
 - `sage-fix-pkg-checksums`
 - `testcc.sh` etc. (which are used by some spkg without a proper build system)
+- #25130: `sage-dist-helpers`
+
 and perhaps more.
 
 See also #21707: Split sage-env into sage-build-env and sage-env
comment:6

update milestone 8.3 -> 8.4

Description changed:

--- 
+++ 
@@ -3,6 +3,7 @@
 - `sage-fix-pkg-checksums`
 - `testcc.sh` etc. (which are used by some spkg without a proper build system)
 - #25130: `sage-dist-helpers`
+- #23769: `src/bin/sage-starts` should be moved to `build/bin` or merged into `build/make/deps`
 
 and perhaps more.
 
comment:8

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).

Description changed:

--- 
+++ 
@@ -7,4 +7,72 @@
 
 and perhaps more.
 
+Full list of `src/bin` as of 9.1.beta4:
+
+```
+math-readline
+sage
+sage-README-osx.txt
+sage-cachegrind
+sage-callgrind
+sage-cleaner
+sage-clone-source
+sage-coverage
+sage-coverageall
+sage-cython
+sage-download-upstream
+sage-env
+sage-env-config
+sage-env-config.in
+sage-eval
+sage-fix-pkg-checksums
+sage-fixdoctests
+sage-gdb-commands
+sage-grep
+sage-grepdoc
+sage-inline-fortran
+sage-ipynb2rst
+sage-ipython
+sage-list-experimental
+sage-list-optional
+sage-list-packages
+sage-list-standard
+sage-location
+sage-massif
+sage-maxima.lisp
+sage-native-execute
+sage-notebook
+sage-num-threads.py
+sage-omega
+sage-open
+sage-pkg
+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-starts
+sage-startuptime.py
+sage-sws2rst
+sage-unzip
+sage-update-src
+sage-update-version
+sage-upgrade
+sage-valgrind
+sage-version.sh
+testcc.sh
+testcflags.sh
+testcxx.sh
+```
+
+
 See also #21707: Split sage-env into sage-build-env and sage-env

Description changed:

--- 
+++ 
@@ -9,12 +9,37 @@
 
 Full list of `src/bin` as of 9.1.beta4:
 
+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
+```
+
+To stay in `src/bin`, install by `src/setup.py` (#21569):
+
+```
+sage
+# Helper scripts invoked by sage script
+sage-cachegrind
+sage-callgrind
+sage-valgrind
+
+```
+
+Not an executable script, move elsewhere:
+
+```
+sage-README-osx.txt      # ???
+
+```
+
+To be determined:
+
 ```
 math-readline
-sage
-sage-README-osx.txt
-sage-cachegrind
-sage-callgrind
 sage-cleaner
 sage-clone-source
 sage-coverage
@@ -67,11 +92,7 @@
 sage-update-src
 sage-update-version
 sage-upgrade
-sage-valgrind
 sage-version.sh
-testcc.sh
-testcflags.sh
-testcxx.sh
 ```
 
 

Description changed:

--- 
+++ 
@@ -29,10 +29,16 @@
 
 ```
 
-Not an executable script, move elsewhere:
+Obsolete, delete:
 
 ```
-sage-README-osx.txt      # ???
+sage-README-osx.txt      # see #25995, #21570
+
+```
+
+Not an executable script, move elsewhere (#21570):
+
+```
 
 ```
 

Description changed:

--- 
+++ 
@@ -1,13 +1,4 @@
-This list includes probably:
-- `sage-download-upstream`
-- `sage-fix-pkg-checksums`
-- `testcc.sh` etc. (which are used by some spkg without a proper build system)
-- #25130: `sage-dist-helpers`
-- #23769: `src/bin/sage-starts` should be moved to `build/bin` or merged into `build/make/deps`
-
-and perhaps more.
-
-Full list of `src/bin` as of 9.1.beta4:
+This ticket cleans up `src/bin` and how its contents are installed.
 
 Move to `build/bin` (no longer installed in SAGE_LOCAL):
 
@@ -18,7 +9,13 @@
 testcxx.sh
 ```
 
-To stay in `src/bin`, install by `src/setup.py` (#21569):
+Obsolete, delete:
+
+```
+sage-README-osx.txt      # see #25995, #21570
+```
+
+To stay in `src/bin`, install 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):
 
 ```
 sage
@@ -26,15 +23,9 @@
 sage-cachegrind
 sage-callgrind
 sage-valgrind
-
+...
 ```
 
-Obsolete, delete:
-
-```
-sage-README-osx.txt      # see #25995, #21570
-
-```
 
 Not an executable script, move elsewhere (#21570):
 
@@ -42,7 +33,7 @@
 
 ```
 
-To be determined:
+To be determined (see list added to `src/setup.py`):
 
 ```
 math-readline
@@ -51,12 +42,12 @@
 sage-coverage
 sage-coverageall
 sage-cython
-sage-download-upstream
+sage-download-upstream                 # -> build?
 sage-env
 sage-env-config
 sage-env-config.in
 sage-eval
-sage-fix-pkg-checksums
+sage-fix-pkg-checksums               # -> build?
 sage-fixdoctests
 sage-gdb-commands
 sage-grep
@@ -91,7 +82,7 @@
 sage-run-cython
 sage-runtests
 sage-sdist
-sage-starts
+sage-starts                    #23769: `src/bin/sage-starts` should be moved to `build/bin` or merged into `build/make/deps`
 sage-startuptime.py
 sage-sws2rst
 sage-unzip
@@ -101,5 +92,6 @@
 sage-version.sh
 ```
 
+(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

Commit: 428ea11

Author: Matthias Koeppe

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

Changed commit from 428ea11 to 1b3c860

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

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

Description changed:

--- 
+++ 
@@ -7,6 +7,8 @@
 testcc.sh
 testcflags.sh
 testcxx.sh
+# Only used by build/make/deps
+sage-starts                    
 ```
 
 Obsolete, delete:
@@ -15,17 +17,9 @@
 sage-README-osx.txt      # see #25995, #21570
 ```
 
-To stay in `src/bin`, install 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):
+This ticket leaves all remaining files in `src/bin`, but changes their installation 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).
 
-```
-sage
-# Helper scripts invoked by sage script
-sage-cachegrind
-sage-callgrind
-sage-valgrind
-...
-```
-
+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):
 
@@ -33,7 +27,7 @@
 
 ```
 
-To be determined (see list added to `src/setup.py`):
+To be determined (see list):
 
 ```
 math-readline
@@ -82,7 +76,6 @@
 sage-run-cython
 sage-runtests
 sage-sdist
-sage-starts                    #23769: `src/bin/sage-starts` should be moved to `build/bin` or merged into `build/make/deps`
 sage-startuptime.py
 sage-sws2rst
 sage-unzip
@@ -94,4 +87,5 @@
 
 (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
+See also 
+- #21707: Split sage-env into sage-build-env and sage-env

Description changed:

--- 
+++ 
@@ -54,12 +54,10 @@
 sage-list-packages
 sage-list-standard
 sage-location
-sage-massif
 sage-maxima.lisp
 sage-native-execute
 sage-notebook
 sage-num-threads.py
-sage-omega
 sage-open
 sage-pkg
 sage-preparse

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

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

Changed commit from 1b3c860 to 546d1b0

comment:22

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

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)

Changed commit from 546d1b0 to dddd462

Changed commit from dddd462 to 9825799

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

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

Description changed:

--- 
+++ 
@@ -15,6 +15,8 @@
 
 ```
 sage-README-osx.txt      # see #25995, #21570
+sage-pkg       # a script to create old-style spkgs
+sage-unzip   # unused
 ```
 
 This ticket leaves all remaining files in `src/bin`, but changes their installation 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).
@@ -59,7 +61,6 @@
 sage-notebook
 sage-num-threads.py
 sage-open
-sage-pkg
 sage-preparse
 sage-pypkg-location
 sage-python
@@ -76,7 +77,6 @@
 sage-sdist
 sage-startuptime.py
 sage-sws2rst
-sage-unzip
 sage-update-src
 sage-update-version
 sage-upgrade

Dependencies: #23769, #29381, #29383

Description changed:

--- 
+++ 
@@ -17,6 +17,15 @@
 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
 ```
 
 This ticket leaves all remaining files in `src/bin`, but changes their installation 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).
@@ -51,10 +60,6 @@
 sage-inline-fortran
 sage-ipynb2rst
 sage-ipython
-sage-list-experimental
-sage-list-optional
-sage-list-packages
-sage-list-standard
 sage-location
 sage-maxima.lisp
 sage-native-execute

Description changed:

--- 
+++ 
@@ -28,7 +28,20 @@
 sage-list-standard
 ```
 
-This ticket leaves all remaining files in `src/bin`, but changes their installation 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).
+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`.
 
@@ -51,7 +64,6 @@
 sage-env
 sage-env-config
 sage-env-config.in
-sage-eval
 sage-fix-pkg-checksums               # -> build?
 sage-fixdoctests
 sage-gdb-commands
@@ -85,7 +97,6 @@
 sage-update-src
 sage-update-version
 sage-upgrade
-sage-version.sh
 ```
 
 (Based on the full list of `src/bin` as of 9.1.beta4.)

Description changed:

--- 
+++ 
@@ -1,4 +1,4 @@
-This ticket cleans up `src/bin` and how its contents are installed.
+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):
 
comment:31

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

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

comment:33

Replying to @Shlokatadistance:

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

Take a look at #25486

Changed dependencies from #23769, #29381, #29383 to #29702

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

5db5318Trac #29345: remove "break" statements from AC_SEARCH_LIBS.
e810ad1Trac #29345: don't use sage's config.status for the lrcalc build.
93c9921Trac #29345: replace the function that populates the CVXOPT_* variables.
0e66a0aTrac #29345: add Dima's SPKG patches for ksh compatibility.
df3f05ebuild/make/Makefile.in [SCRIPT_PACKAGE_templ]: cd into the SPKG directory; adjust spkg-install scripts
5372065Merge branch 't/29793/script_packages_should_cd_into_the_spkg_directory' into t/29411/make_sagelib_a_script_package
c166b97Merge branch 't/29411/make_sagelib_a_script_package' into t/29702/move_all_code_from_src_setup_py__src_fpickle_setup_py_to_sage_setup
cc30471build/bin/write-dockerfile.sh: Do not ADD removed file src/Makefile.in
8a41326Merge branch 't/29411/make_sagelib_a_script_package' into t/29702/move_all_code_from_src_setup_py__src_fpickle_setup_py_to_sage_setup
7c8a030Install src/bin/* by setup.py [scripts] instead of by build/make/Makefile.in

Changed commit from 9825799 to 7c8a030

Description changed:

--- 
+++ 
@@ -1,105 +1,5 @@
-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.
+This ticket cleans up how the contents of `src/bin` 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):
+Previous tickets moved some of the scripts to `build/bin` (no longer installed in `SAGE_LOCAL`). In follow-up tickets, `src/bin` could be cleaned up more.  See the list of files added on this ticket to `src/setup.py` for beginnings of a categorization.
+ 
 
-```
-# 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

Changed commit from 7c8a030 to 64ec6ae

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

64ec6aesrc/setup.py [scripts]: Categorize scripts

Changed commit from 64ec6ae to 1ee054c

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

1ee054cFixup

Changed commit from 1ee054c to daa045c

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

daa045csrc/setup.py: Do not install deprecated script bin/sage-fix-pkg-checksums
comment:42

(this script is deleted in #29111)

Changed dependencies from #29702 to #29702, #29111, #29920

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

e3d9cf2src/setup.py: Do not install deprecated scripts sage-list-{experimental,optional,standard}

Changed commit from daa045c to e3d9cf2

comment:46

(these scripts are deleted in #29920)

comment:47

A bit much to ask but is there a way to override the scripts variable in setup.py? Apart from patching that is. I and other distros will pick and choose what we install and certainly, even where. We can do things after install is run if needs be.

But building and providing our own list would be a nice to have.

comment:48

Replying to @kiwifb:

A bit much to ask but is there a way to override the scripts variable in setup.py? Apart from patching that is. I and other distros will pick and choose what we install and certainly, even where. We can do things after install is run if needs be.

But building and providing our own list would be a nice to have.

Adding hooks for distributors is not a good direction for development. It's better to sort out in sagelib itself which scripts should be considered part of sagelib, and which ones are provided by sage-the-distribution instead.

comment:49

This can be done on follow-up tickets of this ticket.
You can help by categorizing the scripts in the section "Uncategorized scripts in alphabetical order".

comment:50

Replying to @mkoeppe:

This can be done on follow-up tickets of this ticket.
You can help by categorizing the scripts in the section "Uncategorized scripts in alphabetical order".

I'll think about it. Like I said it is a "nice to have", not a must have. But this will mark a transition for distros. Before this, most of us were manually installing a selection of scripts. Suddenly the install won't be manual anymore :)

comment:51

In fact, the scripts that belong to sage-the-distribution could perhaps be assigned to sage_setup (#29847) -- this distutils package that would be installed by sage-the-distribution but not by distros.

comment:52

Replying to @mkoeppe:

This can be done on follow-up tickets of this ticket.
You can help by categorizing the scripts in the section "Uncategorized scripts in alphabetical order".

Here are some thoughts:

Perhaps could just be deleted:

  • sage-cython: #29923
  • sage-native-execute: look at the script and see #9386.
  • sage-open: I wonder if the comment in that script is still valid; perhaps it can be deleted, or done purely in Python in sage/misc/viewer.py, the only place it's used. Maybe I'll look into this.
  • sage-pypkg-location: apparently unused
  • sage-unzip is in the listed, but the script itself is gone, isn't it?

Doctesting-related scripts. Where do these go?

  • sage-runtests
  • coverage scripts
  • sage-fix-doctests
  • sage-startuptime

In the libexec group:

  • sage-cleaner?

Only relevant for sage-the-distribution:

  • sage-download
  • sage-clone-source
  • sage-sdist
  • sage-location
comment:53

Replying to @jhpalmieri:

Doctesting-related scripts. Where do these go?

  • sage-runtests
  • coverage scripts
  • sage-fix-doctests

Per #29111, they are sagelib scripts.

  • sage-startuptime

Not sure about this one.

Changed commit from e3d9cf2 to 455c294

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

455c294src/setup.py: Do not install removed script bin/sage-unzip

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

b214410Classify doctesting-related scripts

Changed commit from 455c294 to b214410

Changed commit from b214410 to 8d10bb9

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

8d10bb9Categorize some uncategorized scripts

Changed commit from 8d10bb9 to 6b04075

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

05ba86aMerge branch 't/29884/src_doc_bootstrap__generate_src_doc_en_reference_repl_options_rst' into t/29111/specify_a_subset_of_sage_command_line_options_that_are_supported_by_sagelib___rather_than_sage_the_distribution
72c7e23src/doc/en/reference/repl/options.rst: Replace copypasta by include of generated file options.txt
e9a883dtrac 29111: revising "sage --advanced" message.
5dca421trac 29111: more reorganization of "sage --advanced" message
8f0ee05trac 29111: delete sage-fix-pkg-checksums
21fc231trac 29111: re "sage --advanced" message:
875940dtrac 29111: more tinkering. Fix doctests in tests/cmdline.py.
4a3d36eMove 'sage -app' back to src/bin/sage
3a0193csrc/bin/sage: Remove handling of 'sage -axiom'
6b04075Merge branch 't/29111/specify_a_subset_of_sage_command_line_options_that_are_supported_by_sagelib___rather_than_sage_the_distribution' into t/21559/change-src-bin-installation

Changed commit from 6b04075 to 831cc09

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

9c7116bsrc/bin/sage-list-optional, sage-list-experimental, sage-list-standard: Remove deprecated scripts
831cc09Merge branch 't/29920/remove_deprecated_scripts_sage_list_optional__sage_list_experimental__sage_list_standard' into t/21559/change-src-bin-installation

Changed commit from 831cc09 to e3eca85

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

a56dc35Merge tag '9.2.beta1' into t/29702/public/move_all_code_from_src_setup_py__src_fpickle_setup_py_to_sage_setup
e3eca85Merge branch 'public/move_all_code_from_src_setup_py__src_fpickle_setup_py_to_sage_setup' of git://trac.sagemath.org/sage into t/21559/change-src-bin-installation
comment:60

I run into problems unless I make this change:

diff --git a/src/setup.py b/src/setup.py
index 9970525cf9..85a32a5962 100755
--- a/src/setup.py
+++ b/src/setup.py
@@ -162,7 +162,6 @@ code = setup(name = 'sage',
                  'bin/sage-rebaseall.sh',
                  'bin/sage-rst2sws',
                  'bin/sage-rst2txt',
-                 'bin/sage-rsyncdist',
                  'bin/sage-run',
                  'bin/sage-run-cython',
                  'bin/sage-startuptime.py',

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

7d29141src/setup.py: Do not install removed script sage-rsyncdist

Changed commit from e3eca85 to 7d29141

Description changed:

--- 
+++ 
@@ -1,5 +1,9 @@
 This ticket cleans up how the contents of `src/bin` 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.
 
-Previous tickets moved some of the scripts to `build/bin` (no longer installed in `SAGE_LOCAL`). In follow-up tickets, `src/bin` could be cleaned up more.  See the list of files added on this ticket to `src/setup.py` for beginnings of a categorization.
- 
+Previous tickets moved some of the scripts to `build/bin` (no longer installed in `SAGE_LOCAL`). 
 
+In follow-up tickets, `src/bin` could be cleaned up more. 
+- See the list of files added on this ticket to `src/setup.py` for beginnings of a categorization.
+- #29850: Install `src/bin/sage-env-config` as part of `sage_conf`
+- #29847: Install `sage_setup` with `setuptools` as a prerequisite for building/installing sagelib, install sage-the-distribution scripts as "scripts"
+
comment:63

Needs review

comment:64

Looks okay to me.

Reviewer: John Palmieri, François Bissey

comment:65

Thanks!

Changed commit from 7d29141 to c5f7f2f

Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. New commits:

c5f7f2fMerge tag '9.2.beta3' into t/21559/change-src-bin-installation

Changed commit from c5f7f2f to 19d7f67

Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. New commits:

3953671Merge tag '9.2.beta4' into t/29111/specify_a_subset_of_sage_command_line_options_that_are_supported_by_sagelib___rather_than_sage_the_distribution
19d7f67Merge branch 't/29111/specify_a_subset_of_sage_command_line_options_that_are_supported_by_sagelib___rather_than_sage_the_distribution' into t/21559/change-src-bin-installation

Changed dependencies from #29702, #29111, #29920 to #29111