#23 Remove the python3-tools package (bz#1312030)
Merged 5 years ago by churchyard. Opened 6 years ago by ishcherb.
rpms/ ishcherb/python3 no-tools  into  master

file modified
+52 -54
@@ -14,7 +14,7 @@ 

  #  WARNING  When rebasing to a new Python version,

  #           remember to update the python3-docs package as well

  Version: %{pybasever}.4

- Release: 13%{?dist}

+ Release: 14%{?dist}

  License: Python

  

  
@@ -505,8 +505,21 @@ 

  # TODO change to a specific subpackage once available (#1218294)

  Requires: redhat-rpm-config

  

+ Provides: %{name}-2to3 = %{version}-%{release}

+ Provides: 2to3 = %{version}-%{release}

+ 

  Conflicts: %{name} < %{version}-%{release}

  

+ # https://bugzilla.redhat.com/show_bug.cgi?id=1111275

+ # /usr/bin/2to3 was moved from python2-tools to python3-tools

+ # TODO Remove in Fedora 29

+ Conflicts: python2-tools < 2.7.13-17

+ Conflicts: python-tools < 2.7.13-17

+ # https://bugzilla.redhat.com/show_bug.cgi?id=1312030

+ # /usr/bin/2to3 was moved from python3-tools to python3-devel

+ # TODO Remove in Fedora 30

+ Conflicts: python3-tools < 3.6.4-14

+ 

  # Shall be removed in Fedora 31

  Obsoletes: platform-python-devel < %{platpyver}

  
@@ -515,32 +528,35 @@ 

  Python extension modules (typically written in C or C++), to embed Python

  into other programs, and to make binary distributions for Python libraries.

  

- It also contains the necessary macros to build RPM packages with Python modules.

+ It also contains the necessary macros to build RPM packages with Python modules

+ and 2to3 tool, an automatic source converter from Python 2.X.

  

  

- %package tools

- Summary: A collection of tools included with Python including 2to3 and idle

+ %package idle

+ Summary: A basic graphical development environment for Python

  Requires: %{name} = %{version}-%{release}

  Requires: %{name}-tkinter = %{version}-%{release}

  

- Provides: %{name}-2to3 = %{version}-%{release}

- Provides: %{name}-idle = %{version}-%{release}

- Provides: 2to3 = %{version}-%{release}

  Provides: idle3 = %{version}-%{release}

  

- # https://bugzilla.redhat.com/show_bug.cgi?id=1111275

- # /usr/bin/2to3 was moved from here

- # TODO Remove in Fedora 29

- Conflicts: python2-tools < 2.7.13-17

- Conflicts: python-tools < 2.7.13-17

+ Provides: %{name}-tools = %{version}-%{release}

+ Provides: %{name}-tools%{?_isa} = %{version}-%{release}

+ Obsoletes: %{name}-tools < %{version}-%{release}

  

  # Shall be removed in Fedora 31

  Obsoletes: platform-python-tools < %{platpyver}

  

- %description tools

- This package contains several tools included with Python, including:

- - 2to3, an automatic source converter from Python 2.X

- - idle, a basic graphical development environment

+ %description idle

+ IDLE is Python’s Integrated Development and Learning Environment.

+ 

+ IDLE has the following features: Python shell window (interactive

+ interpreter) with colorizing of code input, output, and error messages;

+ multi-window text editor with multiple undo, Python colorizing,

+ smart indent, call tips, auto completion, and other features;

+ search within any window, replace within editor windows, and

+ search through multiple files (grep); debugger with persistent

+ breakpoints, stepping, and viewing of global and local namespaces;

+ configuration, browsers, and other dialogs.

  

  

  %package tkinter
@@ -558,7 +574,6 @@ 

  %package test

  Summary: The self-test suite for the main python3 package

  Requires: %{name} = %{version}-%{release}

- Requires: %{name}-tools = %{version}-%{release}

  

  # Shall be removed in Fedora 31

  Obsoletes: platform-python-test < %{platpyver}
@@ -583,7 +598,7 @@ 

  Requires: %{name}-devel%{?_isa} = %{version}-%{release}

  Requires: %{name}-test%{?_isa} = %{version}-%{release}

  Requires: %{name}-tkinter%{?_isa} = %{version}-%{release}

- Requires: %{name}-tools%{?_isa} = %{version}-%{release}

+ Requires: %{name}-idle%{?_isa} = %{version}-%{release}

  

  %description debug

  python3-debug provides a version of the Python runtime with numerous debugging
@@ -891,21 +906,6 @@ 

  cp -a %{SOURCE11} %{buildroot}%{_datadir}/appdata

  appstream-util validate-relax --nonet %{buildroot}%{_datadir}/appdata/idle3.appdata.xml

  

- # Development tools

- install -m755 -d %{buildroot}%{pylibdir}/Tools

- install Tools/README %{buildroot}%{pylibdir}/Tools/

- cp -ar Tools/freeze %{buildroot}%{pylibdir}/Tools/

- cp -ar Tools/i18n %{buildroot}%{pylibdir}/Tools/

- cp -ar Tools/pynche %{buildroot}%{pylibdir}/Tools/

- cp -ar Tools/scripts %{buildroot}%{pylibdir}/Tools/

- 

- # Documentation tools

- install -m755 -d %{buildroot}%{pylibdir}/Doc

- cp -ar Doc/tools %{buildroot}%{pylibdir}/Doc/

- 

- # Demo scripts

- cp -ar Tools/demo %{buildroot}%{pylibdir}/Tools/

- 

  # Make sure distutils looks at the right pyconfig.h file

  # See https://bugzilla.redhat.com/show_bug.cgi?id=201434

  # Similar for sysconfig: sysconfig.get_config_h_filename tries to locate
@@ -918,22 +918,21 @@ 

    %{buildroot}%{pylibdir}/distutils/sysconfig.py \

    %{buildroot}%{pylibdir}/sysconfig.py

  

+ # Install pathfix.py to bindir

+ # See https://github.com/fedora-python/python-rpm-porting/issues/24

+ cp -p Tools/scripts/pathfix.py %{buildroot}%{_bindir}/

+ 

  # Switch all shebangs to refer to the specific Python version.

  # This currently only covers files matching ^[a-zA-Z0-9_]+\.py$,

  # so handle files named using other naming scheme separately.

  LD_LIBRARY_PATH=./build/optimized ./build/optimized/python \

    Tools/scripts/pathfix.py \

    -i "%{_bindir}/python%{pybasever}" \

-   %{buildroot} %{buildroot}%{pylibdir}/Tools/scripts/*-*.py \

-   %{buildroot}%{pylibdir}/Tools/pynche/{pynche,pynche.pyw}

- # not covered, also redundant and useless:

- rm %{buildroot}%{pylibdir}/Tools/scripts/{2to3,idle3,pydoc3,pyvenv}

- 

- 

- # Move pathfix.py to bindir

- # See https://github.com/fedora-python/python-rpm-porting/issues/24

- mv %{buildroot}%{pylibdir}/Tools/scripts/pathfix.py %{buildroot}%{_bindir}/

+   %{buildroot}

  

+ # Remove tests for python3-tools which was removed in

+ # https://bugzilla.redhat.com/show_bug.cgi?id=1312030

+ rm -rf %{buildroot}%{pylibdir}/test/test_tools

  

  # Remove shebang lines from .py files that aren't executable, and

  # remove executability from .py files that don't have a shebang line:
@@ -943,10 +942,6 @@ 

    -perm /u+x,g+x,o+x ! -exec grep -m 1 -q '^#!' {} \; \

    -exec chmod a-x {} \; \) \)

  

- # Remove executable flag from files that shouldn't have it:

- chmod a-x \

-   %{buildroot}%{pylibdir}/Tools/README

- 

  # Get rid of DOS batch files:

  find %{buildroot} -name \*.bat -exec rm {} \;

  
@@ -1134,8 +1129,6 @@ 

  %{pylibdir}/ensurepip/rewheel/__pycache__/*%{bytecode_suffixes}

  %endif

  

- %{pylibdir}/idlelib

- 

  %dir %{pylibdir}/test/

  %dir %{pylibdir}/test/__pycache__/

  %dir %{pylibdir}/test/support/
@@ -1311,6 +1304,9 @@ 

  

  %files devel

  %defattr(-,root,root)

+ %{_bindir}/2to3

+ # TODO: Remove 2to3-3.7 once rebased to 3.7

+ %{_bindir}/2to3-%{pybasever}

  %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/*

  %exclude %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/Makefile

  %{pylibdir}/distutils/command/wininst-*.exe
@@ -1329,14 +1325,10 @@ 

  %{_rpmconfigdir}/macros.d/macros.pybytecompile%{pybasever}

  %{_rpmconfigdir}/macros.d/macros.systempython

  

- %files tools

+ %files idle

  %defattr(-,root,root,755)

- %{_bindir}/2to3

- # TODO: Remove 2to3-3.7 once rebased to 3.7

- %{_bindir}/2to3-%{pybasever}

  %{_bindir}/idle*

- %{pylibdir}/Tools

- %doc %{pylibdir}/Doc

+ %{pylibdir}/idlelib

  %{_datadir}/appdata/idle3.appdata.xml

  %{_datadir}/applications/idle3.desktop

  %{_datadir}/icons/hicolor/*/apps/idle3.*
@@ -1502,6 +1494,12 @@ 

  # ======================================================

  

  %changelog

+ * Thu Feb 15 2018 Iryna Shcherbina <ishcherb@redhat.com> - 3.6.4-14

+ - Remove the python3-tools package (#rhbz 1312030)

+ - Move /usr/bin/2to3 to python3-devel

+ - Move /usr/bin/idle and idlelib to python3-idle

+ - Provide python3-tools from python3-idle

+ 

  * Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.6.4-13

  - Escape macros in %%changelog

  

For more details see https://bugzilla.redhat.com/show_bug.cgi?id=1312030

Scope:

  • Remove the python3-tools package and Tools/ library
  • Move /usr/bin/2to3 to python3-devel
  • Move /usr/bin/idle and idlelib to python3-idle
  • Provide python3-tools from python3-idle, and add conflicts with python3-devel (as 2to3 was moved there)
  • Remove tests for tools from python3-tests package

Backported from: https://src.fedoraproject.org/rpms/python37/pull-request/4

This looks good from the first glance. Will wait for the CI build to finish and run some queries.

$ rpm -qp --requires python3-idle-3.6.4-14.fc28.x86_64.rpm  | grep -v rpmlib
/usr/bin/python3.6
python3 = 3.6.4-14.fc28
python3-tkinter = 3.6.4-14.fc28


$ rpm -qpl python3-idle-3.6.4-14.fc28.x86_64.rpm | grep bin
/usr/bin/idle3
/usr/bin/idle3.6


$ rpm -qpl python3-idle-3.6.4-14.fc28.x86_64.rpm | grep appda
/usr/share/appdata/idle3.appdata.xml


$ rpm -qpl python3-idle-3.6.4-14.fc28.x86_64.rpm | grep desktop
/usr/share/applications/idle3.desktop


$ rpm -qp --obsoletes python3-idle-3.6.4-14.fc28.x86_64.rpm 
platform-python-tools < 3.6.2-20
python3-tools < 3.6.4-14.fc28


$ rpm -qp --provides python3-idle-3.6.4-14.fc28.x86_64.rpm 
application()
application(idle3.desktop)
idle3 = 3.6.4-14.fc28
metainfo()
metainfo(idle3.appdata.xml)
mimehandler(text/x-python)
python3-idle = 3.6.4-14.fc28
python3-idle(x86-64) = 3.6.4-14.fc28
python3-tools = 3.6.4-14.fc28
python3-tools(x86-64) = 3.6.4-14.fc28


$ rpm -qpvl python3-devel-3.6.4-14.fc28.x86_64.rpm | grep 2to3
lrwxrwxrwx    1 root    root                        8 úno 16 11:15 /usr/bin/2to3 -> 2to3-3.6
-rwxr-xr-x    1 root    root                       95 úno 16 11:15 /usr/bin/2to3-3.6


$ rpm -qp --requires python3-devel-3.6.4-14.fc28.x86_64.rpm | grep -v rpmlib
/bin/sh
/usr/bin/pkg-config
/usr/bin/python3.6
/usr/bin/python3.6m
libpython3.6m.so.1.0()(64bit)
python-rpm-macros
python3 = 3.6.4-14.fc28
python3-libs(x86-64) = 3.6.4-14.fc28
python3-rpm-generators
python3-rpm-macros
redhat-rpm-config


$ rpm -qp --conflicts python3-devel-3.6.4-14.fc28.x86_64.rpm 
python-tools < 2.7.13-17
python2-tools < 2.7.13-17
python3 < 3.6.4-14.fc28
python3-tools < 3.6.4-14


$ rpm -qp --provides python3-devel-3.6.4-14.fc28.x86_64.rpm | grep 2to3
2to3 = 3.6.4-14.fc28
python3-2to3 = 3.6.4-14.fc28

This seems good to me. I'll merge and build.

Pull-Request has been merged by churchyard

6 years ago

Commit 29a768c fixes this pull-request

Pull-Request has been merged by churchyard

5 years ago