Bug 33689 - python3-pandas requires too much dependencies
Summary: python3-pandas requires too much dependencies
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 9
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: MGA9-64-OK
Keywords: advisory, validated_update
Depends on:
Blocks:
 
Reported: 2024-10-28 12:09 CET by papoteur
Modified: 2024-10-29 01:55 CET (History)
3 users (show)

See Also:
Source RPM: python-pandas
CVE:
Status comment:


Attachments

Description papoteur 2024-10-28 12:09:34 CET
Description of problem:
Installing python3-pandas pulls matplotlib, withe requires python-qt5 and texlive, which is more than 1 Gb. However, this dependence is not in the python package, it is added only in our spec.
Building the package with %pyproject_buildrequires doesn't pull matplotlib.

Version-Release number of selected component (if applicable):
python3-pandas-1.4.1-2.mga9

How reproducible:
Always

urpmq --requires python3-pandas
libc.so.6()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libgcc_s.so.1()(64bit)
libgcc_s.so.1(GCC_3.0)(64bit)
libm.so.6()(64bit)
libm.so.6(GLIBC_2.2.5)(64bit)
libm.so.6(GLIBC_2.29)(64bit)
libpython3.10.so.1.0()(64bit)
libstdc++.so.6()(64bit)
libstdc++.so.6(CXXABI_1.3)(64bit)
libstdc++.so.6(CXXABI_1.3.9)(64bit)
libstdc++.so.6(GLIBCXX_3.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
libstdc++.so.6(GLIBCXX_3.4.29)(64bit)
python(abi)[== 3.10]
python3.10dist(numpy)[>= 1.21]
python3.10dist(python-dateutil)[>= 2.8.1]
python3.10dist(pytz)[>= 2020.1]
python3dist(bottleneck)
python3dist(matplotlib)
python3dist(numexpr)
python3dist(scipy)
python3dist(tables)
Comment 1 papoteur 2024-10-28 12:41:53 CET
Submitting:
RPMS:
python3-pandas-1.4.1-2.1.mga9
Source:
python-pandas-1.4.1-2.1.mga9

Assignee: python => qa-bugs

papoteur 2024-10-28 12:42:02 CET

CC: (none) => yvesbrungard

Comment 2 katnatek 2024-10-28 18:07:48 CET
(In reply to papoteur from comment #0)
> Description of problem:
> Installing python3-pandas pulls matplotlib, withe requires python-qt5 and
> texlive, which is more than 1 Gb. However, this dependence is not in the
> python package, it is added only in our spec.
> Building the package with %pyproject_buildrequires doesn't pull matplotlib.
> 

In my experience with python packages, many times buildrequires not always are runtime requires and sometimes part of runtime requires need to be added in the spec, are you sure we can drop that require?
Comment 3 katnatek 2024-10-28 18:10:19 CET
(In reply to katnatek from comment #2)
> (In reply to papoteur from comment #0)
> > Description of problem:
> > Installing python3-pandas pulls matplotlib, withe requires python-qt5 and
> > texlive, which is more than 1 Gb. However, this dependence is not in the
> > python package, it is added only in our spec.
> > Building the package with %pyproject_buildrequires doesn't pull matplotlib.
> > 
> 
> In my experience with python packages, many times buildrequires not always
> are runtime requires
Maybe need to rewrite part of my comment, I mean

many times runtime requires not always
are buildrequires 


Is almost the same but is more accurate to what I want to post
Comment 4 papoteur 2024-10-28 19:00:07 CET
(In reply to katnatek from comment #3)
> (In reply to katnatek from comment #2)
> > In my experience with python packages, many times buildrequires not always
> > are runtime requires
> Maybe need to rewrite part of my comment, I mean
> 
> many times runtime requires not always
> are buildrequires 
> 
> 
> Is almost the same but is more accurate to what I want to post
Your second though is clearer.
the macro %pyproject_buildrequires manages also the requirements as specified by developers. If something is wrong, the error is upstream.
I have tested with a docker image of madb, all seems OK.
Comment 5 katnatek 2024-10-28 19:07:33 CET
(In reply to papoteur from comment #4)
> (In reply to katnatek from comment #3)
> > (In reply to katnatek from comment #2)
> > > In my experience with python packages, many times buildrequires not always
> > > are runtime requires
> > Maybe need to rewrite part of my comment, I mean
> > 
> > many times runtime requires not always
> > are buildrequires 
> > 
> > 
> > Is almost the same but is more accurate to what I want to post
> Your second though is clearer.
> the macro %pyproject_buildrequires manages also the requirements as
> specified by developers. If something is wrong, the error is upstream.
> I have tested with a docker image of madb, all seems OK.

The real problem for python things is sometimes the runtime requires not always are listed right by some developers and not always included in a way that our build process catch them, it's fine I think if for build not requires the same as for run , but in most cases we or the build process not have a check step that could need some runtime requires.

Thanks for the confirmation
Comment 6 katnatek 2024-10-28 19:11:39 CET
RH x86_64

Current version

LC_ALL=C urpmi python3-pandas
To satisfy dependencies, the following packages are going to be installed:
  Package                        Version      Release       Arch    
(medium "Core Release (distrib1)")
  lib64blosc1                    1.21.2       1.mga9        x86_64  
  lib64hdf5_200                  1.12.2       5.mga9        x86_64  
  lib64qhull_r8.0                2020.2       6.mga9        x86_64  
  lib64qt5bluetooth5             5.15.7       1.mga9        x86_64  
  lib64qt5designer5              5.15.7       2.mga9        x86_64  
  lib64qt5location5              5.15.7       2.mga9        x86_64  
  lib64qt5nfc5                   5.15.7       1.mga9        x86_64  
  lib64qt5positioningquick5      5.15.7       2.mga9        x86_64  
  lib64qt5quick3d5               5.15.7       1.mga9        x86_64  
  lib64qt5quick3dassetimport5    5.15.7       1.mga9        x86_64  
  lib64qt5quick3drender5         5.15.7       1.mga9        x86_64  
  lib64qt5quick3druntimerender5  5.15.7       1.mga9        x86_64  
  lib64qt5quick3dutils5          5.15.7       1.mga9        x86_64  
  lib64qt5remoteobjects5         5.15.7       1.mga9        x86_64  
  lib64qt5serialport5            5.15.7       1.mga9        x86_64  
  lib64qt5websockets5            5.15.7       1.mga9        x86_64  
  lib64qt5xmlpatterns5           5.15.7       1.mga9        x86_64  
  python3-bottleneck             1.3.7        1.mga9        x86_64  
  python3-contourpy              1.0.6        1.mga9        x86_64  
  python3-cycler                 0.11.0       1.mga9        noarch  
  python3-fs                     2.4.16       1.mga9        noarch  
  python3-kiwisolver             1.4.4        1.mga9        x86_64  
  python3-lz4                    3.1.3        3.mga9        x86_64  
  python3-matplotlib             3.6.2        2.mga9        x86_64  
  python3-matplotlib-data        3.6.2        2.mga9        noarch  
  python3-matplotlib-data-fonts  3.6.2        2.mga9        noarch  
  python3-matplotlib-qt5         3.6.2        2.mga9        x86_64  
  python3-mpmath                 1.2.1        4.mga9        noarch  
  python3-numexpr                2.8.3        1.mga9        x86_64  
  python3-numpy-f2py             1.24.3       1.mga9        x86_64  
  python3-pandas                 1.4.1        2.mga9        x86_64  
  python3-pandas-datareader      0.10.0       3.mga9        noarch  (recommended)
  python3-qt5                    5.15.7       3.mga9        x86_64  
  python3-qt5-bluetooth          5.15.7       3.mga9        x86_64  
  python3-qt5-dbus               5.15.7       3.mga9        x86_64  
  python3-qt5-designer           5.15.7       3.mga9        x86_64  
  python3-qt5-location           5.15.7       3.mga9        x86_64  
  python3-qt5-multimedia         5.15.7       3.mga9        x86_64  
  python3-qt5-multimediawidgets  5.15.7       3.mga9        x86_64  
  python3-qt5-nfc                5.15.7       3.mga9        x86_64  
  python3-qt5-opengl             5.15.7       3.mga9        x86_64  
  python3-qt5-positioning        5.15.7       3.mga9        x86_64  
  python3-qt5-printsupport       5.15.7       3.mga9        x86_64  
  python3-qt5-quick3d            5.15.7       3.mga9        x86_64  
  python3-qt5-quickwidgets       5.15.7       3.mga9        x86_64  
  python3-qt5-remoteobjects      5.15.7       3.mga9        x86_64  
  python3-qt5-sensors            5.15.7       3.mga9        x86_64  
  python3-qt5-serialport         5.15.7       3.mga9        x86_64  
  python3-qt5-sql                5.15.7       3.mga9        x86_64  
  python3-qt5-svg                5.15.7       3.mga9        x86_64  
  python3-qt5-test               5.15.7       3.mga9        x86_64  
  python3-qt5-texttospeech       5.15.7       3.mga9        x86_64  
  python3-qt5-webchannel         5.15.7       3.mga9        x86_64  
  python3-qt5-websockets         5.15.7       3.mga9        x86_64  
  python3-qt5-widgets            5.15.7       3.mga9        x86_64  
  python3-qt5-x11extras          5.15.7       3.mga9        x86_64  
  python3-qt5-xml                5.15.7       3.mga9        x86_64  
  python3-qt5-xmlpatterns        5.15.7       3.mga9        x86_64  
  python3-sympy                  1.11.1       1.mga9        noarch  
  python3-tables                 3.7.0        2.mga9        x86_64  
  python3-xlrd                   2.0.1        4.mga9        noarch  (recommended)
  python3-xlwt                   1.3.0        3.mga9        noarch  (recommended)
  python3-zopfli                 0.2.1        1.mga9        x86_64  
  qtquick3d5                     5.15.7       1.mga9        x86_64  
  qtremoteobjects5               5.15.7       1.mga9        x86_64  
  qtxmlpatterns5                 5.15.7       1.mga9        x86_64  
  qtxmlpatterns5-xmlpatterns     5.15.7       1.mga9        x86_64  
(medium "Core Updates (distrib3)")
  lib64gst-gir1.0                1.22.11      1.mga9        x86_64  
  lib64python3-devel             3.10.11      1.3.mga9      x86_64  
  lib64python3.10-testsuite      3.10.11      1.3.mga9      x86_64  (recommended)
  python3-docs                   3.10.11      1.3.mga9      noarch  (recommended)
  python3-fonttools              4.38.0       2.1.mga9      noarch  
  python3-pyglet                 1.5.27       1.mga9        noarch  
  python3-scipy                  1.9.1        2.1.mga9      x86_64  
  tkinter3                       3.10.11      1.3.mga9      x86_64  (recommended)
429MB of additional disk space will be used.
87MB of packages will be retrieved.
Proceed with the installation of the 75 packages? (Y/n) 

Testing package

LC_ALL=C urpmi python3-pandas
To satisfy dependencies, the following packages are going to be installed:
  Package                        Version      Release       Arch    
(medium "QA Testing (64-bit)")
  python3-pandas                 1.4.1        2.1.mga9      x86_64  
(medium "Core Release (distrib1)")
  python3-numpy-f2py             1.24.3       1.mga9        x86_64  
  python3-pandas-datareader      0.10.0       3.mga9        noarch  (recommended)
  python3-xlrd                   2.0.1        4.mga9        noarch  (recommended)
  python3-xlwt                   1.3.0        3.mga9        noarch  (recommended)
(medium "Core Updates (distrib3)")
  lib64python3-devel             3.10.11      1.3.mga9      x86_64  
  lib64python3.10-testsuite      3.10.11      1.3.mga9      x86_64  (recommended)
  python3-docs                   3.10.11      1.3.mga9      noarch  (recommended)
  python3-scipy                  1.9.1        2.1.mga9      x86_64  
  tkinter3                       3.10.11      1.3.mga9      x86_64  (recommended)
253MB of additional disk space will be used.
48MB of packages will be retrieved.
Proceed with the installation of the 10 packages? (Y/n)

This and the comment#4 should be enough I think

Whiteboard: (none) => MGA9-64-OK
CC: (none) => andrewsfarm

katnatek 2024-10-28 19:15:26 CET

Keywords: (none) => advisory

Comment 7 Thomas Andrews 2024-10-29 01:01:17 CET
Looks good to me. If it's found that it now doesn't work without some of those dependencies, that'll be another bug.

Validating.

Keywords: (none) => validated_update
CC: (none) => sysadmin-bugs

Comment 8 Mageia Robot 2024-10-29 01:55:34 CET
An update for this issue has been pushed to the Mageia Updates repository.

https://advisories.mageia.org/MGAA-2024-0218.html

Resolution: (none) => FIXED
Status: NEW => RESOLVED


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