Hello,

> You could try it now if you want. To get an idea of what you're in for,
> the last copy of resolvelinks() was introduced in Trac 30888:
>
> https://trac.sagemath.org/ticket/30888

Thank you for the tips.
It looks like there is a lot of information for a newbie to process without
a "Hitchhiker's Guide to the SageMath Multiverse" (smiley)
She might try with some "low hanging fruit" first. (smiley)

<you wrote>
At build- or run-time, some of those scripts may not exist, some may be
symlinked, some may have been moved from their original locations... if
everything was using autotools, you could just substitute in the
correct location of resolvelinks.sh. But some pieces of sage don't use
autotools, .
</you wrote>
> and the "sage" script itself is still invoked by many people
> *before* building anything

Is this use case scenario, (running a script before building anything)
documented or undocumented?


*> "Make $SAGE_LOCAL/bin/sage work again from any directory, in an
environment without SAGE_* variables, following symlinks"*
> Trac #30888: resolve $0 links in src/bin/sage.

Please advise if this  issue can be reproduced with SageMath 9.2 and
earlier only.
Is it still available on GitHub and how to check it out.

BTW, it was asked:

> >BTW, is symlink a solution for "Copy & Paste"?

and the answer should be,  "Copy & Paste" is a solution to broken symlink?

A follow up question is "why 'Copy&Paste' works and 'source' does not?

Last but not least

>> 2/- What "deserves to be factored out at some point in the future"? The
>> "resolvelinks" function or the scripts, "sage/src/bin/sage-env",
>> "sage/sage" and "sage/src/bin/sage"?

> The function.

What are the problems with the current version of 'resolvelinks', how
should it be factored?
What are the problems when just the function is sourced, not the whole
'sage/src/bin/sage-env' script
When it is properly done, can 'Copy&Past' be replaced with 'source'?

Thank you so much for your response. It is much appreciated

Regards,

phiho


On Thu, Apr 21, 2022 at 6:16 PM Michael Orlitzky <mich...@orlitzky.com>
wrote:

> On Thu, 2022-04-21 at 14:28 -0700, ph h wrote:
> > Dear All,
> >
> > While waiting for advice on the questions on the thread "Copy&Paste"
> >
> > """
> > BTW, is symlink a solution for "Copy & Paste"?
> > By another way, are there reasons that "Copy & Paste & Symlinks" is
> better
> > than just symlinks.
> > """
> >
> > This is not meant "to look  a gift horse in the mouth", but  "straight
> from
> > the horse's mouth", some advice were found (and appended below) and they
> > beg the questions:
> >
> > 1/- Why "Copy&Passte&Symlink" was used instead of "Refactor&Source"?
> There
> > are of course good reasons for this, it is believed.
>
> Refactor and source isn't as simple as it sounds. Sage is a mishmash of
> subprojects with different build systems, and is constantly in
> transition between high-level refactorings. During those neverending
> transitions, we try to keep both the start and end points working.
>
> At build- or run-time, some of those scripts may not exist, some may be
> symlinked, some may have been moved from their original locations... if
> everything was using autotools, you could just substitute in the
> correct location of resolvelinks.sh. But some pieces of sage don't use
> autotools, and the "sage" script itself is still invoked by many people
> *before* building anything.
>
> These aren't insurmountable problems, but copy/paste is relatively
> straightforward.
>
>
> > 2/- What "deserves to be factored out at some point in the future"? The
> > "resolvelinks" function or the scripts, "sage/src/bin/sage-env",
> > "sage/sage" and "sage/src/bin/sage"?
>
> The function.
>
>
> > 3/- When will that "point in the future" come? If "the future" is now,
> how
> > can these be best done? or just "que serĂ¡, serĂ¡"
> >
>
> You could try it now if you want. To get an idea of what you're in for,
> the last copy of resolvelinks() was introduced in Trac 30888:
>
>   https://trac.sagemath.org/ticket/30888
>
> The comments reveal that,
>
>   1. The "sage" script needs to know its own absolute, link-free
>      location.
>   2. It will be installed when ./configure has not been run.
>   3. Python doesn't make the final installation location available at
>      setup.py time, so a fake-autotools solution is out.
>
> To what extent those are true/necessary I can't really say, and I
> wasn't super interested in learning the intricacies of a bad way to
> install software just to avoid copy/pasting a shell function. If
> there's any easy way to avoid it, we'd all be happy.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sage-devel/2a6a7c87f54a056c4d22e1a84ebf5597c0b58f52.camel%40orlitzky.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/CALZQg1ZCrjkDwXKgi6f0tR3SgQWBDJzoYb_cOX7JC-DznGGfyA%40mail.gmail.com.

Reply via email to