Bug 1758271 - Branch request: python3-ipython for epel8
Summary: Branch request: python3-ipython for epel8
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: ipython
Version: epel8
Hardware: All
OS: Linux
unspecified
low
Target Milestone: ---
Assignee: Lumír Balhar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1750771 1762652 1762654 1762947 1762948 1762949
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-10-03 17:50 UTC by Ling Li
Modified: 2020-07-28 15:23 UTC (History)
12 users (show)

Fixed In Version: ipython-7.16.1-1.el8
Clone Of:
Environment:
Last Closed: 2020-07-28 15:23:19 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ling Li 2019-10-03 17:50:05 UTC
Please build ipython for EPEL-8.  Among its dependencies, only the followings exist for now, 

   python3-decorator  python3-jsonschema  python3-pexpect  python3-pygments

Others are also required to be built.

   python3-backcall python3-jedi python3-traitlets python3-prompt_toolkit python3-pickleshare


During the writing of this request, I realized that ipython had never been packaged/branched for EPEL, even though most of its dependencies were in EPEL 7.  If that's because of some policy issues, please disregard my request.

Thank you!

Comment 1 Ling Li 2019-10-03 17:53:44 UTC
Oh, my mistake.  ipython was packaged for EPEL.  It was a pretty old version, probably without the python3 subpackages.  Sorry for the confusion.

Comment 2 Orion Poplawski 2019-10-17 03:59:47 UTC
Please file bugs for the missing components and have them block this bug.  That will help us track dependencies.  Thanks!

Comment 3 Ling Li 2019-10-17 08:06:49 UTC
I created the following bugs: python3-jedi (Bug 1762652), python3-traitlets (Bug 1762654), python3-prompt_toolkit (Bug 1762656).  I don't know how to set up the blocking relation, though.

Somehow python-backcall and python-pickleshare are not in EPEL's component list, and hence I can't file bugs for them (sorry), even though their spec files are in Fedora's git:

https://src.fedoraproject.org/rpms/python-backcall/
https://src.fedoraproject.org/rpms/python-pickleshare/

Comment 4 Miro Hrončok 2019-10-17 09:23:53 UTC
You click "Show advanced fields" button and search for the "Depends on" field. You put comma separated list of bug numbers. I've just did that.

> Somehow python-backcall and python-pickleshare are not in EPEL's component list, and hence I can't file bugs for them (sorry)

The common thing to do in that case is to use the Fedora component.

Comment 5 Ling Li 2019-10-17 21:05:21 UTC
Thank you!  I filed more bugs and linked them, including the one that got renamed (python-prompt-toolkit).

Comment 6 Steve Traylen 2019-12-17 12:41:03 UTC
Was just looking at this:

It's also blocked on:

simplegeneric - https://bugzilla.redhat.com/show_bug.cgi?id=1784433
matplotlib - https://bugzilla.redhat.com/show_bug.cgi?id=1750771

I won't add to the blocker list as you may well know something I don't.

Comment 7 Orion Poplawski 2019-12-18 02:18:38 UTC
Let's add them.  Thanks.

Comment 8 Ling Li 2020-02-27 23:09:03 UTC
Ipython v7.1 and above no longer depends on simplegeneric.  See https://github.com/ipython/ipython/commit/dc0ceb16f92e0e943435106e863a5cfccd724a2d

Comment 9 Fabian Arrotin 2020-04-19 06:36:58 UTC
Just to add that through Configmanagement SIG at the CentOS side, I already tried to rebuild some components (all from Fedora .spec) , including ipython (7.9) and it fails strangely : 

https://cbs.centos.org/kojifiles/work/tasks/9380/1149380/build.log

From what I see it detects the correct path for python: "sys.executable : /usr/libexec/platform-python" but then in some tests fails with : "/usr/bin/sh: platform-python: command not found" like if it was trying to find it in $PATH and not from full path

Comment 10 Miro Hrončok 2020-04-19 07:28:19 UTC
In epel, %__python3 is /usr/bin/python3. I suggest not to build ipython with /usr/libexec/platform-python, as ipython is not a system tool.

Comment 11 Miro Hrončok 2020-04-19 07:33:23 UTC
ipython-7.13.0/IPython/utils/tests/test_process.py:

  python = os.path.basename(sys.executable)

Comment 12 Christoph 2020-06-02 13:28:31 UTC
using 

https://src.fedoraproject.org/rpms/ipython/raw/f32/f/ipython.spec

disable checks and remove dependency on python3-simplegeneric

it can be built with epel repositories.


```
--- ipython.spec	2020-06-02 15:20:03.696212522 +0200
+++ python-ipython.spec	2020-06-02 15:12:29.204956799 +0200
@@ -1,5 +1,10 @@
+%if 0%{?rhel} > 0
+# don't build for rhel, depenencies not satisfierd
+%bcond_with check
+%else
 %bcond_without check
-%bcond_without doc
+%endif
+%bcond_with doc
 
 Name:           ipython
 Version:        7.12.0
@@ -78,7 +83,7 @@
 BuildRequires:  python3-pexpect
 BuildRequires:  python3-pickleshare
 BuildRequires:  python3-prompt-toolkit >= 2
-BuildRequires:  python3-simplegeneric
+# BuildRequires:  python3-simplegeneric
 BuildRequires:  python3-traitlets >= 4.2
 Requires:       python3-backcall
 Requires:       python3-decorator
@@ -88,7 +93,7 @@
 Requires:       python3-prompt-toolkit >= 2
 Requires:       python3-pygments
 Requires:       python3-setuptools
-Requires:       python3-simplegeneric > 0.8
+# Requires:       python3-simplegeneric > 0.8
 Requires:       python3-traitlets >= 4.2
 
 %description -n python3-ipython
@@ -109,6 +114,7 @@
 This package contains the ipython sphinx extension.
 
 
+%if %{with check}
 %package -n python3-ipython-tests
 Summary:        Tests for %{name}
 %{?python_provide:%python_provide python3-ipython-tests}
@@ -124,6 +130,7 @@
 %description -n python3-ipython-tests
 This package contains the tests of %{name}.
 You can check this way, if ipython works on your platform.
+%endif # with check
 
 %if %{with doc}
 %package -n python3-ipython-doc
@@ -183,7 +190,8 @@
     PATH="%{buildroot}%{_bindir}:$PATH" \
     %{buildroot}%{_bindir}/iptest3
 popd
-
+%else
+rm -f %{buildroot}%{_bindir}/iptest*
 %endif
 
 %files -n python3-ipython
@@ -219,10 +227,12 @@
 %{python3_sitelib}/IPython/sphinxext/
 
 
+%if %{with check}
 %files -n python3-ipython-tests
 %{_bindir}/iptest3
 %exclude %{_bindir}/iptest
 %{python3_sitelib}/IPython/*/tests
+%endif
 
 
 %if %{with doc}
```

Comment 13 Lumír Balhar 2020-06-03 04:37:43 UTC
Hi Christoph,

what is the problem with tests? Could you please provide a scratch build so we can test it?

I'll remove the dependency of singledispatch.

Comment 14 Lumír Balhar 2020-06-03 04:41:13 UTC
(In reply to Lumír Balhar from comment #13)
> Hi Christoph,
> 
> what is the problem with tests? Could you please provide a scratch build so
> we can test it?
> 
> I'll remove the dependency of singledispatch.

simplegeneric, of course

Comment 15 Christoph 2020-06-03 14:49:52 UTC
scratch build means what? 

Basically it is fetching

https://src.fedoraproject.org/rpms/ipython/raw/f32/f/ipython.spec

removing simplegeneric and disabling the check packages. The diff is above.


Building the test package fails because of missing dependencies

missing test dependencies:

python3-ipykernel
python3-jupyter-client
python3-nbformat
python3-testpath

just for information, test dependencies provided by epel

python3-matplotlib                       
python3-tornado >= 4.0
python3-zmq
python3-zmq-tests

Comment 16 Lumír Balhar 2020-07-07 11:20:42 UTC
I can confirm that ipython without check/docs builds for epel8. Scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=46742981

I've prepared a PR (waiting for the update to 7.16.1): https://src.fedoraproject.org/rpms/ipython/pull-request/13

Could you please help me with testing this version on Centos/RHEL 8? If it'll work well, I can request the epel8 branch and ship the latest version there.

Comment 17 Miro Hrončok 2020-07-07 11:30:58 UTC
> Could you please help me with testing this version on Centos/RHEL 8?

It starts fine in an epel8 mock.

Comment 18 Lumír Balhar 2020-07-09 10:01:17 UTC
I'd like to have at least one more tester before I ship it.

Comment 19 Carl George 🤠 2020-07-09 14:58:37 UTC
I installed the scratch build in a RHEL 8 container.  It starts and can import both standard library and third party modules.  I tried a few other basic tasks and everything worked as expected.

Comment 20 Lumír Balhar 2020-07-10 08:11:32 UTC
PR is merged and a new branch requested: https://pagure.io/releng/fedora-scm-requests/issue/26967

Comment 21 Fedora Update System 2020-07-12 18:11:12 UTC
FEDORA-EPEL-2020-86e4215da0 has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-86e4215da0

Comment 22 Fedora Update System 2020-07-13 01:49:24 UTC
FEDORA-EPEL-2020-86e4215da0 has been pushed to the Fedora EPEL 8 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-86e4215da0

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 23 Fedora Update System 2020-07-28 15:23:19 UTC
FEDORA-EPEL-2020-86e4215da0 has been pushed to the Fedora EPEL 8 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.