-
-
Notifications
You must be signed in to change notification settings - Fork 481
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
src/bin/sage: Delegate handling of options of sage-the-distribution, specifying a subset that is supported by sagelib proper #29111
Comments
comment:1
As I said on #29092, we should also move corresponding sage-the-distribution tests (such as those for |
comment:3
pushing these forward to 9.2 |
This comment has been minimized.
This comment has been minimized.
comment:6
I've asked this question before: if Sage is built with the system's Python, should we still keep |
comment:7
Here are some arguments that should always be allowed:
"Advanced" arguments:
Maybe also (I'm not saying is a complete list, but I would suggest these as a starting point.) |
comment:9
Hum, this ticket reminds me that I need to clean the version in sage-on-gentoo
I have to drop the py2/py3 stuff for just defaut python. I dropped |
comment:10
Dropping |
comment:11
Replying to @jhpalmieri:
Install scripts of user packages need this. |
Dependencies: #29878 |
comment:13
Replying to @mkoeppe:
Certainly, vanilla sage does need it. In sage-on-gentoo at best you would have a normal shell since I dropped sage-env altogether. |
comment:14
Replying to @kiwifb:
Yes, vanilla shell is fine. The point is that user packages need the interface. |
comment:16
Now, I understand what you mean. User scripts may start with |
comment:17
Great! |
comment:19
Here's a beginning of what I have in mind. New commits:
|
Commit: |
comment:20
Okay, I'm fine with keeping |
This comment has been minimized.
This comment has been minimized.
comment:22
Replying to @jhpalmieri:
I think those should be moved to
I think that's too complicated |
comment:23
At the risk of starting another holy war, we shouldn't expect these to work on a distribution because we shouldn't expect the source files to be available after installation. My current sage.git checkout contains 71MiB of *.py files that are entirely redundant after the optimized .opt-2.pyc files are generated. Someone is eventually going to realize that they shouldn't be installed after this gets more popular. |
comment:24
We could just conditionalize these ones based on whether SAGE_SRC is set or not by sage-env... |
comment:109
Good idea. From http://fricas.sourceforge.net/history.html, it looks like FriCAS is a fork of Axiom, but I just installed it, and it doesn't install |
comment:110
Then let's just drop |
comment:111
is axiom package an old-style one? It's probably very outdated. also, my impression is that fricas fork is the most active of all the forks of the original axiom forks. |
comment:112
That's right, there is no new-style |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:114
Done. Needs review |
comment:115
I'm happy with everything. Who else would like to weigh in? |
Changed reviewer from Matthias Koeppe, John Palmieri, ... to Matthias Koeppe, John Palmieri, François Bissey |
comment:117
Sorry, I was busy and forgot about it. We have reached an agreement with what goes in and what's next. I think we have bashed it enough and it is ready to go. |
comment:118
Thanks! |
comment:119
|
comment:120
Follow-ups:
|
comment:121
Merge confilct |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
Changed commit from |
comment:126
Follow-up in #33753 |
The
sage
script has a number of options that only make sense for sage-the-distribution, but do not make sense in downstream packaging of sage. Consequently, downstream packagers may install simple custom versions of the script that only provide a subset of the options.Examples:
sage -sqlite
-- as discussed in spkg-configure.m4 for sqlite #29002/sqlite3 CLI executable should be checked for at configure time #29092 -- because from a downstream packaging point of view, sage is not really responsible for providing sqlite, it's provided by justs another system packagesage -upgrade
-- only makes sense with sage-the-distribution built from sourceWe should specify the subset of sage command line options that must be supported in any deployment/packaging of sage. This is so that user packages can work reliably.
Examples:
sage -c SAGECOMMAND
-- obviouslysage -python -c COMMAND
sage -t
-- because it is used by user packages for testing sage sourcessage -sh
..... ?In this ticket, we actually split
src/bin/sage
into sagelib functionality and sage-the-distribution functionality.src/bin/sage
delegates unknown options tobuild/bin/sage-site
.Ideally, distributions should be able to use an unmodified
src/bin/sage
.Context:
See also:
src/doc/bootstrap
: Generatesrc/doc/en/reference/repl/options.rst
Depends on #29878
Depends on #29289
Depends on #29884
CC: @kiwifb @isuruf @dimpase @embray @saraedum @antonio-rojas @slel @EmmanuelCharpentier @orlitzky @kcrisman
Component: scripts
Author: Matthias Koeppe, John Palmieri
Branch:
3953671
Reviewer: Matthias Koeppe, John Palmieri, François Bissey
Issue created by migration from https://trac.sagemath.org/ticket/29111
The text was updated successfully, but these errors were encountered: