-
-
Notifications
You must be signed in to change notification settings - Fork 527
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
Make $SAGE_LOCAL/bin/sage work again from any directory, in an environment without SAGE_* variables, following symlinks #30888
Comments
Dependencies: #29850 |
Commit: |
Author: Matthias Koeppe |
Last 10 new commits:
|
comment:6
Unfortunately I did not notice it when I reviewed #30128. |
This comment has been minimized.
This comment has been minimized.
Changed commit from |
Changed branch from u/mkoeppe/remove_unused_env_variable_sage_scripts_dir to none |
comment:7
Any takers for this one? |
Changed author from Matthias Koeppe to none |
comment:8
What kind of solution is acceptable here? I've lost track of the big picture, but it looks like all of the important Are we allowed to stick autoconf values directly into
which would set a default value of |
comment:9
Replying to @orlitzky:
The directory can be found from $0, with resolving symlinks.
No, because the |
comment:10
It could be done on top of #29852, just adding code to resolve a $0 symlink instead of using $0 directly. |
comment:12
We can fake
If setup.py installs the script, it knows the correct location. It could replace a placeholder at install-time as in e.g. https://git.launchpad.net/dkimpy-milter/tree/setup.py |
comment:13
Replying to @orlitzky:
I agree it's a bit ugly... that would be the third copy of the code (another one is in SAGE_ROOT/sage). Perhaps we can get rid of the copy in
Hardlinks - granted. What do you mean by "symlinks out of the tree"? We would just document what is supported. The installation manual already has some guidance regarding "system wide installation" that needs updating anyway.
True, but perhaps the resolving code would only be run if the files cannot be found without resolving. Then it would impose the runtime penalty only if symlinks are in use.
No, this is unfortunately not true. The final install location of the Python package is not known at |
comment:14
Replying to @mkoeppe:
If you move
Ok, I don't know enough about how this works to propose anything else. Copy/paste it is, then. |
comment:15
Replying to @orlitzky:
Right, let's just say that this is not supported. |
comment:17
Best to work on it on top of #30013 |
comment:18
Hoping we can make progress on this ticket this week - https://wiki.sagemath.org/days111 |
Changed keywords from none to sd111 |
comment:19
User bug report - https://groups.google.com/g/sage-devel/c/tejOsRxfC9w/m/ulKTsowHBAAJ |
comment:21
Replying to @orlitzky:
Got time to work on this for Sage 9.3? |
Author: Michael Orlitzky |
Branch: u/mjo/ticket/30888 |
Commit: |
comment:22
Further cleanup is possible, but I think this fixes the issue and makes the diff nice and clear. New commits:
|
comment:23
This works well, thanks very much. |
Reviewer: Matthias Koeppe |
comment:25
Setting priority to blocker to bring this ticket to the attention of the release bot. |
Changed branch from u/mjo/ticket/30888 to |
The feature introduced in #25486 (Discover
SAGE_SCRIPTS_DIR
to make$SAGE_LOCAL/bin/sage
work from any directory, in an environment without SAGE_* variables) was killed by #30128 (enforce sourcing ofsage-env-config
beforesrc/bin/sage-env
).We repair it, making sure that it works even if $0 is a symlink.
CC: @orlitzky @dimpase @jhpalmieri
Component: scripts
Keywords: sd111
Author: Michael Orlitzky
Branch/Commit:
a63d256
Reviewer: Matthias Koeppe
Issue created by migration from https://trac.sagemath.org/ticket/30888
The text was updated successfully, but these errors were encountered: