#19371: Install Jupyter kernel spec in $SAGE_LOCAL
-------------------------------------+-------------------------------------
       Reporter:  jdemeyer           |        Owner:
           Type:  enhancement        |       Status:  positive_review
       Priority:  blocker            |    Milestone:  sage-6.9
      Component:  interfaces         |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Jeroen Demeyer     |    Reviewers:  Eric Gourgoulhon
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/jdemeyer/install_jupyter_kernel_spec_in__sage_local|  
7c916ef8bab1dad676559fb52694f59d06a389ba
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by fbissey):

 Replying to [comment:7 jdemeyer]:
 > Replying to [comment:6 fbissey]:
 > > It gives me problem on install at the moment because it violates
 sandbox rules of packaging.
 > I think you need to explain this more. The only possible issue I can see
 is that maybe the directory `ENV_JUPYTER_PATH[0]` is the "wrong" place in
 your Sage-on-Gentoo setup.

 `ENV_JUPYTER_PATH` is defined as `os.path.join(sys.prefix, 'share',
 'jupyter')` which translates as `/usr/share/jupyter` (or
 `$SAGE_LOCAL/share/jupyter`) in concrete terms. The problem is the sage
 installation procedure is now trying to create and write files out of the
 sandbox.

 Proper packaging in the sense of rpm, deb and most other doesn't allow you
 to write in the "live" system. Things are installed and written in a
 sandbox space and then copied (merged) to the system. Because of the way
 Andrew wrote `env.py` (and I was grateful to him for that) I can set most
 `SAGE_*` variables so sage will write things in my sandbox. If
 `jupyter_core` was allowing me to over-ride `ENV_JUPYTER_PATH` I could set
 in the appropriate place in the sandbox and it would be merged in the
 right place.

 >
 > If `ENV_JUPYTER_PATH[0]` is some directory inside `$SAGE_LOCAL` (which
 it should be), I don't see why installing this one particular file in
 `$SAGE_LOCAL` is any different from installing the huge number of other
 files in `$SAGE_LOCAL`...
 >

 `sys.prefix` is `SAGE_LOCAL`, actually even in `sage-on-gentoo`, the
 difference is that you don't protect your live prefix during build.

 > > But I am more worried about the fact that on a global install people
 won't be able to touch that directory. If you don't need to put anything
 else in it at "user runtime" great.
 > We do not need to put anything else in that directory at runtime. Why do
 you think we do?

 Because I am uncertain of how it works. You are obviously creating
 something there as place holder but it was possibly silly of me.

--
Ticket URL: <http://trac.sagemath.org/ticket/19371#comment:8>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to