Bug 1006575

Summary: ipython: please package new upstream version (2.0)
Product: [Fedora] Fedora Reporter: Zbigniew Jędrzejewski-Szmek <zbyszek>
Component: ipythonAssignee: Thomas Spura <tomspur>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: anthony.horton, cristian.ciupitu, i, jamatos, kparal, marcus.moeller, mark.harfouche, me, mrunge, orion, pkotvan, quantum.analyst, rhbgs.10.bigi_gigi, ron, shahms, shishirdasika, tomspur, ttomecek, wdocunningham+bugs, zingale
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ipython-2.3.0-1.fc22 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-11-14 23:43:23 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1016207, 1026376, 1061622, 1078371, 1089945    
Bug Blocks:    

Description Zbigniew Jędrzejewski-Szmek 2013-09-10 20:59:59 UTC
Description of problem:
Upstream is at 1.1, Fedora at 0.13.

Comment 1 Thomas Spura 2013-09-11 08:33:54 UTC
I didn't found the time yet to update it to the new version and try to further unbundle all included other programs.

Patches/co-maintainers are welcome :)

Comment 2 Christopher Meng 2013-10-07 09:05:03 UTC
Still have no time now?

Comment 3 Thomas Spura 2013-10-07 09:13:31 UTC
There are quite nasty dependencies to javascript libraries in the notebook:
https://github.com/ipython/ipython-components/

It might take some time till that is sorted out...

Comment 4 Christopher Meng 2013-11-21 04:03:51 UTC
OK.

I will wait, as python package python-ipdb is now included in Fedora, I want to test.

Thank you.

Comment 5 Thomas Spura 2013-12-16 08:34:37 UTC
*** Bug 1043215 has been marked as a duplicate of this bug. ***

Comment 6 Mark Harfouche 2013-12-16 19:00:50 UTC
Out of curiosity, does this rpm simply call 

python-pip install ipython

If so, why have it included?

I understand that certain packages like numpy and scipy need some additional dependencies. Is iPython one of them?

I ask this because I seem to be able to install it through pip.

Comment 7 Mark Harfouche 2013-12-16 19:01:38 UTC
I take back what I said. You answered it in an earlier post. (The need to unbundle)

Comment 8 Thomas Spura 2014-02-04 17:03:47 UTC
*** Bug 1061360 has been marked as a duplicate of this bug. ***

Comment 9 Tomas Tomecek 2014-03-31 09:21:17 UTC
(In reply to Thomas Spura from comment #3)
> There are quite nasty dependencies to javascript libraries in the notebook:
> https://github.com/ipython/ipython-components/
> 
> It might take some time till that is sorted out...

Was checking out current version of ipython we have. I can see that notebook is bundling jquery, codemirror and some other stuff (and this is not being unbundled).

I have also checked the newest 1.2 release and as you are mentioning, bundling gets really crazy in here. On top of it, it looks like that IPython/external list is bigger too.

Just out of curiosity, I was checking how other distros handle this thing. Guys in debian unbundle some stuff, but not everything:

https://packages.debian.org/jessie/ipython-notebook-common
https://packages.debian.org/jessie/ipython

Comment 10 Thomas Spura 2014-04-03 13:15:23 UTC
I thought it would be much worse. It is just bundling backbone, bootstrap, jquery, jquery-ui, marked and google-caja.
The latter should count as a copy lib, jquery is at least open as a review request. When I find the time, maybe I can also put online backbone and marked.
Any help here would be very much appreciated...

I opened a fpc ticket over here:
https://fedorahosted.org/fpc/ticket/416

Comment 11 Thomas Spura 2014-04-03 13:16:25 UTC
By the way, these are the dependencies of ipython-2.0.0.

Most likely we should only update rawhide...

Comment 12 Tomas Tomecek 2014-04-03 13:51:55 UTC
I started already. Here is link to ipython-1.2.1 in copr (everything is bundled):

http://copr.fedoraproject.org/coprs/ttomecek/ipython/

And here is link to 2.0 specfile (WIP):

https://github.com/TomasTomecek/fedora-rpm-ipython

Unbundling notebook's js/html/css stuff will be a real challenge.

Comment 13 Thomas Spura 2014-04-03 13:57:03 UTC
You can find my starting approaches now at least temporary over here:
https://github.com/tomspur/fedora-ipython-package

Comment 14 Thomas Spura 2014-04-12 07:25:14 UTC
(In reply to Thomas Spura from comment #13)
> You can find my starting approaches now at least temporary over here:
> https://github.com/tomspur/fedora-ipython-package

It's now also at the usual git of ipython in the next branch.

Comment 15 Orion Poplawski 2014-04-12 13:37:31 UTC
Thomas - thanks for pushing that.  I'll try to take a look.  Any thoughts on what should be done for F20?  I'm thinking that we should try to update that to 1.2.1 if possible.

Comment 16 Tomas Tomecek 2014-04-13 12:38:21 UTC
For me, it would make total sense to update F20 with ipy-2.0. My reasoning:

* when F20 will be rebased, why don't pick latest & greatest

* since F21 will be released "who knows when", we could have latest ipy in F20

* there are bundling differences between 1.2 and 2.0 -- once version 2.0 will be done, no need to hassle with 1.2

* 2.0 should be better than 1.2


I can see that Thomas' fpc ticket got no love from them. I'll try to get an opinion from some fpc members on Monday.

Comment 17 Orion Poplawski 2014-04-13 14:52:16 UTC
My only concern is that ipy2.0 requires tornado >= 3.1, which means an update for that too for F20.  I don't know if it is backwards compatible with 2.2.1 which is currently in F20.  If it can be updated as well, then I'm all for it.

Comment 18 José Matos 2014-04-21 23:47:26 UTC
(In reply to Tomas Tomecek from comment #12)
> I started already. Here is link to ipython-1.2.1 in copr (everything is
> bundled):
> 
> http://copr.fedoraproject.org/coprs/ttomecek/ipython/
> 
> And here is link to 2.0 specfile (WIP):
> 
> https://github.com/TomasTomecek/fedora-rpm-ipython
> 
> Unbundling notebook's js/html/css stuff will be a real challenge.

Your spec files misses several BR for the packages you delete:

python-decorator
python-path
python3-path

After adding those at the appropriate places the error I get is:
"Don't run iptest from the IPython source directory"

and the %check stage fails.

Comment 19 Thomas Spura 2014-04-22 09:32:26 UTC
(In reply to José Matos from comment #18)
> After adding those at the appropriate places the error I get is:
> "Don't run iptest from the IPython source directory"
> 
> and the %check stage fails.

It should be now a bit better at:
http://pkgs.fedoraproject.org/cgit/ipython.git/log/?h=next

For now highlight.js will be broken and the tests will fail. I opened a bug for that at the highlight.js package.

Comment 20 Thomas Spura 2014-05-30 00:17:46 UTC
ipython-2.1.0 is now in rawhide:
http://koji.fedoraproject.org/koji/taskinfo?taskID=6909927

I have some doubts about f20 as we'll most likely break some depending packages such as accerciser. Maybe let's wait at least a bit to see if there need to be some changes for further depending packages and then let's evaluate this again in a week or two.

What would you suggest?

Comment 21 José Matos 2014-05-31 15:15:40 UTC
(In reply to Thomas Spura from comment #20)
> 
> What would you suggest?

Your suggestions makes sense to me. :-)

Comment 22 Elliott Sales de Andrade 2014-06-14 06:12:19 UTC
I tried building this for F20 locally and it seemed to work except for a slightly broken Tornado build and missing Jinja. So I think you might need to add python(3)-jinja2 to the Requires for the notebook..

http://ipython.org/ipython-doc/stable/install/install.html#dependencies-for-the-ipython-html-notebook

Comment 23 Thomas Spura 2014-06-16 07:34:31 UTC
Thanks for testing.

It should be there in 2.1.0-2 and later:
$ repoquery --enablerepo=rawhide --requires python-ipython-notebook
python(abi) = 2.7
python-ipython-console = 2.1.0-3.fc21
python-jinja2
python-matplotlib
python-tornado

Comment 24 Elliott Sales de Andrade 2014-06-17 00:51:36 UTC
(In reply to Thomas Spura from comment #23)
> Thanks for testing.
> 
> It should be there in 2.1.0-2 and later:
> $ repoquery --enablerepo=rawhide --requires python-ipython-notebook
> python(abi) = 2.7
> python-ipython-console = 2.1.0-3.fc21
> python-jinja2
> python-matplotlib
> python-tornado

Ah yes, you are right. I must have picked up an old srpm.

BTW, I also see this warning when opening the notebook:

2014-06-16 20:47:56.421 [tornado.access] WARNING | 404 GET /static/components/font-awesome/font/fontawesome-webfont.woff?v=3.2.1 (127.0.0.1) 0.37ms referer=http://localhost:8888/static/style/style.min.css?v=7775081fa91df3822d16b2087bc2c8dd

I assume this is because font packages don't include woff's, but could this perhaps be patched out?

Comment 25 Orion Poplawski 2014-06-17 22:23:11 UTC
Shouldn't the requires on python-tornado be >= 3.1.0?

ImportError: The IPython Notebook requires tornado >= 3.1.0, but you have 2.2.1

Comment 26 Orion Poplawski 2014-06-17 23:01:50 UTC
You're {python,python3}-ipython-notebook requires are out of sync, specifically the js/font stuff.  Perhaps use a %global to handle that?  (Not sure if that works).

Comment 27 Thomas Spura 2014-06-18 07:02:35 UTC
(In reply to Elliott Sales de Andrade from comment #24)
> (In reply to Thomas Spura from comment #23)
> > Thanks for testing.
> > 
> > It should be there in 2.1.0-2 and later:
> > $ repoquery --enablerepo=rawhide --requires python-ipython-notebook
> > python(abi) = 2.7
> > python-ipython-console = 2.1.0-3.fc21
> > python-jinja2
> > python-matplotlib
> > python-tornado
> 
> Ah yes, you are right. I must have picked up an old srpm.
> 
> BTW, I also see this warning when opening the notebook:
> 
> 2014-06-16 20:47:56.421 [tornado.access] WARNING | 404 GET
> /static/components/font-awesome/font/fontawesome-webfont.woff?v=3.2.1
> (127.0.0.1) 0.37ms
> referer=http://localhost:8888/static/style/style.min.
> css?v=7775081fa91df3822d16b2087bc2c8dd
> 
> I assume this is because font packages don't include woff's, but could this
> perhaps be patched out?

Filled as #1110646 as I don't know why there is no woff file. (At least we also have woff in fedora, so maybe it will be installed in a future version of foneawesome-font).

(In reply to Orion Poplawski from comment #25)
> Shouldn't the requires on python-tornado be >= 3.1.0?
> 
> ImportError: The IPython Notebook requires tornado >= 3.1.0, but you have
> 2.2.1

That's why I didn't push this to f20.
I added the proper requires now in rawhide, so you also need a new python-tornado package on f20, so that it works.

(In reply to Orion Poplawski from comment #26)
> You're {python,python3}-ipython-notebook requires are out of sync,
> specifically the js/font stuff.  Perhaps use a %global to handle that?  (Not
> sure if that works).

I just copied it for now.

Thanks!

Comment 28 Orion Poplawski 2014-06-19 22:51:26 UTC
So, to handle the missing woff files we could perhaps rebuild the style.min.css file (and others).  The README.md file in IPython/html says to do a "fab css", however I'm seeing:

ValueError: lessc too new: 1.7.0 >= 1.5.0

If I hack that to accept 1.7.0, I get:

[localhost] local: lessc -x  style/style.less style/style.min.css
NameError: variable @folder-close-alt is undefined in /export/home/orion/fedora/ipython/python3-ipython-2.1.0-4.fc21/IPython/html/static/tree/less/tree.less on line 131, column 11:
130 .folder_icon:before {
131     .icon(@folder-close-alt)
132 }


Fatal error: local() encountered an error (return code 2) while executing 'lessc -x  style/style.less style/style.min.css'

Aborting.

so more work to be done there.

Comment 29 Thomas Spura 2014-07-12 08:32:07 UTC
This error is because, ipython expects an older fontawesome, than we have.
I'm currently working with upstream to update their bundled fontawesome to version 4.1 and update the less files accordingly at:
https://github.com/ipython/ipython/pull/6084

The patch to port to fontawesome-4 is already in rawhide and the copr repository.

Comment 30 William Cunningham 2014-09-21 00:46:04 UTC
I would like to request that we jump forward to ipython 2.2.0 for F21, if doing so is feasible at this point in the release cycle.

Comment 31 Thomas Spura 2014-09-21 22:16:23 UTC
(In reply to William Cunningham from comment #30)
> I would like to request that we jump forward to ipython 2.2.0 for F21, if
> doing so is feasible at this point in the release cycle.

It already is in f21:
http://koji.fedoraproject.org/koji/buildinfo?buildID=551503

Comment 32 Elliott Sales de Andrade 2014-09-22 05:45:15 UTC
(In reply to Thomas Spura from comment #29)
> The patch to port to fontawesome-4 is already in rawhide and the copr
> repository.

It looks like the patch might be missing a couple of the newer changes you made in the PR, e.g., the refresh icon seems to be missing.

Comment 33 Cristian Ciupitu 2014-11-06 03:51:03 UTC
What about the new version, 2.3?

Comment 34 Orion Poplawski 2014-11-14 23:43:23 UTC
Closing this out.  Please open new bugs for other issues.