mirror of
https://abf.rosa.ru/djam/python3.11.git
synced 2025-02-23 18:22:52 +00:00
565 lines
17 KiB
RPMSpec
565 lines
17 KiB
RPMSpec
%define docver 3.8.2
|
|
%define dirver 3.8
|
|
%define familyver 3
|
|
|
|
%define lib_major %{dirver}
|
|
%define lib_name_orig libpython%{sub_ver}
|
|
%define lib_name %mklibname python %{lib_major}
|
|
%define develname %mklibname python%{sub_ver} -d
|
|
|
|
%ifarch %{ix86} x86_64 ppc
|
|
%bcond_with valgrind
|
|
%else
|
|
%bcond_with valgrind
|
|
%endif
|
|
|
|
%bcond_without rewheel
|
|
|
|
####### python38 rosa201905 ###############
|
|
|
|
%bcond_without py38
|
|
|
|
%if %{with py38}
|
|
%define py3_name python38
|
|
%else
|
|
%define py3_name python3
|
|
%endif
|
|
|
|
%if %{with py38}
|
|
%define sub_ver 38
|
|
%else
|
|
%define sub_ver %{familyver}
|
|
%endif
|
|
|
|
# one dir for rpm4/5
|
|
%global _libexecdir /usr/libexec
|
|
|
|
###########################################
|
|
|
|
# We want to byte-compile the .py files within the packages using the new
|
|
# python3 binary.
|
|
#
|
|
# Unfortunately, rpmbuild's infrastructure requires us to jump through some
|
|
# hoops to avoid byte-compiling with the system python 2 version:
|
|
# /usr/lib/rpm/mandriva/macros sets up build policy that (amongst other things)
|
|
# defines __os_install_post. In particular, "brp-python-bytecompile" is
|
|
# invoked without an argument thus using the wrong version of python
|
|
# (/usr/bin/python, rather than the freshly built python), thus leading to
|
|
# numerous syntax errors, and incorrect magic numbers in the .pyc files. We
|
|
# thus remove the invocation of brp-python-bytecompile, whilst keeping the
|
|
# invocation of brp-python-hardlink (since this should still work for python3
|
|
# pyc/pyo files)
|
|
%define _python_bytecompile_build 0
|
|
|
|
Summary: An interpreted, interactive object-oriented programming language
|
|
Name: %{py3_name}
|
|
Version: 3.8.2
|
|
Release: 7
|
|
License: Modified CNRI Open Source License
|
|
Group: Development/Python
|
|
|
|
Source0: https://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz
|
|
Source1: https://docs.python.org/3/archives/python-%{docver}-docs-html.tar.bz2
|
|
Source2: python38.macros
|
|
Source3: pybytecompile.macros
|
|
Source4: python38-shebang-sanity.sh
|
|
Source100: python38.rpmlintrc
|
|
|
|
# 00001 #
|
|
# Fixup distutils/unixccompiler.py to remove standard library path from rpath:
|
|
# Was Patch0 in ivazquez' python3000 specfile:
|
|
Patch1: 00001-rpath.patch
|
|
|
|
# 00102 #
|
|
# Change the various install paths to use /usr/lib64/ instead or /usr/lib
|
|
# Only used when "%%{_lib}" == "lib64"
|
|
# Not yet sent upstream.
|
|
Patch102: 00102-lib64.patch
|
|
|
|
# 00111 #
|
|
# Patch the Makefile.pre.in so that the generated Makefile doesn't try to build
|
|
# a libpythonMAJOR.MINOR.a
|
|
# See https://bugzilla.redhat.com/show_bug.cgi?id=556092
|
|
# Downstream only: not appropriate for upstream
|
|
Patch111: 00111-no-static-lib.patch
|
|
|
|
# 00189 #
|
|
# Instead of bundled wheels, use our RPM packaged wheels from
|
|
# /usr/share/python-wheels
|
|
Patch189: 00189-use-rpm-wheels.patch
|
|
|
|
# 00205 #
|
|
# LIBPL variable in makefile takes LIBPL from configure.ac
|
|
# but the LIBPL variable defined there doesn't respect libdir macro
|
|
Patch205: 00205-make-libpl-respect-lib64.patch
|
|
|
|
# 00251
|
|
# Set values of prefix and exec_prefix in distutils install command
|
|
# to /usr/local if executable is /usr/bin/python* and RPM build
|
|
# is not detected to make pip and distutils install into separate location
|
|
# Fedora Change: https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe
|
|
Patch251: 00251-change-user-install-location.patch
|
|
|
|
# 00274 #
|
|
# Upstream uses Debian-style architecture naming. Change to match Fedora.
|
|
Patch274: 00274-fix-arch-names.patch
|
|
|
|
# 00328 #
|
|
# Restore pyc to TIMESTAMP invalidation mode as default in rpmbubild
|
|
# See https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/57#comment-27426
|
|
Patch328: 00328-pyc-timestamp-invalidation-mode.patch
|
|
|
|
#
|
|
# Mageia patches
|
|
#
|
|
Patch500: python3-3.7.1-module-linkage.patch
|
|
Patch501: python3-3.5.2-skip-distutils-tests-that-fail-in-rpmbuild.patch
|
|
Patch502: python3-3.7.1-uid-gid-overflows.patch
|
|
Patch503: python3-3.5.2-dont-raise-from-py_compile.patch
|
|
Patch506: python3-3.6.2-python3-config-LIBPLUSED-cmp0004-error.patch
|
|
Patch507: link-C-modules-with-libpython.patch
|
|
|
|
URL: http://www.python.org/
|
|
#Conflicts: tkinter3 < %{version}
|
|
Conflicts: %{lib_name}-devel < 3.4
|
|
Conflicts: %{develname} < 3.4
|
|
Requires: %{lib_name} = %{version}
|
|
BuildRequires: automake
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: blt
|
|
BuildRequires: db-devel
|
|
BuildRequires: expat-devel
|
|
BuildRequires: gdbm-devel
|
|
BuildRequires: gmp-devel
|
|
BuildRequires: ffi-devel
|
|
BuildRequires: pkgconfig(ncursesw)
|
|
BuildRequires: openssl-devel
|
|
BuildRequires: readline-devel
|
|
BuildRequires: tcl tcl-devel
|
|
BuildRequires: tk tk-devel
|
|
BuildRequires: autoconf
|
|
BuildRequires: bzip2-devel
|
|
BuildRequires: sqlite3-devel
|
|
# uncomment once the emacs part no longer conflict with python 2.X
|
|
#BuildRequires: emacs
|
|
#BuildRequires: emacs-bin
|
|
%if %{with valgrind}
|
|
BuildRequires: valgrind-devel
|
|
%endif
|
|
%if %{with rewheel}
|
|
BuildRequires: python3-setuptools
|
|
BuildRequires: python3-pip
|
|
%endif
|
|
Provides: python(abi) = %{dirver}
|
|
Provides: /usr/bin/python%{dirver}m
|
|
Provides: /usr/bin/python%{dirver}
|
|
%if %{without py38}
|
|
Provides: /usr/bin/python
|
|
Provides: /usr/bin/python%{familyver}
|
|
Provides: python = %{version}-%{release}
|
|
%endif
|
|
|
|
%description
|
|
Python is an interpreted, interactive, object-oriented programming
|
|
language often compared to Tcl, Perl, Scheme or Java. Python includes
|
|
modules, classes, exceptions, very high level dynamic data types and
|
|
dynamic typing. Python supports interfaces to many system calls and
|
|
libraries, as well as to various windowing systems (X11, Motif, Tk,
|
|
Mac and MFC).
|
|
|
|
Programmers can write new built-in modules for Python in C or C++.
|
|
Python can be used as an extension language for applications that
|
|
need a programmable interface. This package contains most of the
|
|
standard Python modules, as well as modules for interfacing to the
|
|
Tix widget set for Tk and RPM.
|
|
|
|
Note that documentation for Python is provided in the python-docs
|
|
package.
|
|
|
|
%package -n %{lib_name}
|
|
Summary: Shared libraries for Python %{version}
|
|
Group: System/Libraries
|
|
|
|
%description -n %{lib_name}
|
|
This packages contains Python shared object library. Python is an
|
|
interpreted, interactive, object-oriented programming language often
|
|
compared to Tcl, Perl, Scheme or Java.
|
|
|
|
%package -n %{develname}
|
|
Summary: The libraries and header files needed for Python development
|
|
Group: Development/Python
|
|
Requires: %{name} = %{version}
|
|
Requires: %{lib_name} = %{version}
|
|
Provides: %{name}-devel = %{version}-%{release}
|
|
Provides: %{lib_name_orig}-devel = %{version}-%{release}
|
|
Obsoletes: %{_lib}python3.1-devel < %{version}
|
|
Obsoletes: %{_lib}python3.2-devel < %{version}-%{release}
|
|
|
|
%description -n %{develname}
|
|
The Python programming language's interpreter can be extended with
|
|
dynamically loaded extensions and can be embedded in other programs.
|
|
This package contains the header files and libraries needed to do
|
|
these types of tasks.
|
|
|
|
Install %{develname} if you want to develop Python extensions. The
|
|
python package will also need to be installed. You'll probably also
|
|
want to install the python-docs package, which contains Python
|
|
documentation.
|
|
|
|
%package docs
|
|
Summary: Documentation for the Python programming language
|
|
Requires: %{name} = %{version}
|
|
Requires: xdg-utils
|
|
Group: Development/Python
|
|
BuildArch: noarch
|
|
|
|
%description docs
|
|
The python-docs package contains documentation on the Python
|
|
programming language and interpreter. The documentation is provided
|
|
in ASCII text files and in LaTeX source files.
|
|
|
|
Install the python-docs package if you'd like to use the documentation
|
|
for the Python language.
|
|
|
|
%package -n tkinter%{sub_ver}
|
|
Summary: A graphical user interface for the Python scripting language
|
|
Group: Development/Python
|
|
Requires: %{name} = %{version}
|
|
Requires: tcl tk
|
|
Provides: python%{sub_ver}-tkinter
|
|
|
|
%description -n tkinter%{sub_ver}
|
|
The Tkinter (Tk interface) program is an graphical user interface for
|
|
the Python scripting language.
|
|
|
|
You should install the tkinter package if you'd like to use a graphical
|
|
user interface for Python programming.
|
|
|
|
%package -n tkinter%{sub_ver}-apps
|
|
Summary: Various applications written using tkinter
|
|
Group: Development/Python
|
|
Requires: tkinter%{sub_ver}
|
|
|
|
%description -n tkinter%{sub_ver}-apps
|
|
Various applications written using tkinter
|
|
|
|
|
|
%prep
|
|
%setup -qn Python-%{version}
|
|
%patch1 -p1
|
|
|
|
%if "%{_lib}" == "lib64"
|
|
%patch102 -p1
|
|
%endif
|
|
%patch111 -p1
|
|
|
|
%if %{with rpmwheels}
|
|
%patch189 -p1
|
|
rm Lib/ensurepip/_bundled/*.whl
|
|
%endif
|
|
|
|
%patch205 -p1
|
|
%patch251 -p1
|
|
%patch274 -p1
|
|
%patch328 -p1
|
|
|
|
# Mageia patches
|
|
#%patch500 -p1
|
|
%patch501 -p1
|
|
%patch502 -p1
|
|
%patch503 -p1
|
|
%patch506 -p1
|
|
%patch507 -p1
|
|
|
|
# drop Autoconf version requirement
|
|
sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac
|
|
|
|
# Why we need this in 3.8? Won't work in any case
|
|
rm -f Lib/test/test_importlib/data/example-21.12-py3.6.egg
|
|
|
|
# docs
|
|
mkdir html
|
|
tar xf %{SOURCE1} -C html
|
|
|
|
find . -type f -print0 | xargs -0 perl -p -i -e 's@/usr/local/bin/python@/usr/bin/python3@'
|
|
|
|
cat > README.urpmi << EOF
|
|
Python interpreter support readline completion by default.
|
|
This is only used with the interpreter. In order to remove it,
|
|
you can :
|
|
1) unset PYTHONSTARTUP when you login
|
|
2) create a empty file \$HOME/.pythonrc.py
|
|
3) change %{_sysconfdir}/pythonrc.py
|
|
EOF
|
|
|
|
|
|
%build
|
|
rm -f Modules/Setup.local
|
|
|
|
export OPT="%{optflags} -g"
|
|
|
|
# to fix curses module build
|
|
export CFLAGS="%{optflags} -I/usr/include/ncursesw"
|
|
export CPPFLAGS="%{optflags} -I/usr/include/ncursesw"
|
|
|
|
autoreconf -vfi
|
|
# Remove -Wl,--no-undefined
|
|
%define _disable_ld_no_undefined 1
|
|
%configure --with-threads \
|
|
--enable-ipv6 \
|
|
--with-dbmliborder=gdbm \
|
|
--with-system-expat \
|
|
--with-system-ffi \
|
|
--enable-shared \
|
|
--without-ensurepip \
|
|
%if %{with valgrind}
|
|
--with-valgrind
|
|
%endif
|
|
|
|
|
|
# fix build
|
|
#perl -pi -e 's/^(LDFLAGS=.*)/$1 -lstdc++/' Makefile
|
|
# (misc) if the home is nfs mounted, rmdir fails due to delay
|
|
export TMP="/tmp" TMPDIR="/tmp"
|
|
#%make LN="ln -sf"
|
|
make EXTRA_CFLAGS="$CFLAGS" LN="ln -sf"
|
|
|
|
%install
|
|
mkdir -p %{buildroot}%{_prefix}/lib/python%{dirver}
|
|
|
|
# fix Makefile to get rid of reference to distcc
|
|
perl -pi -e "/^CC=/ and s/distcc/gcc/" Makefile
|
|
|
|
# set the install path
|
|
echo '[install_scripts]' >setup.cfg
|
|
echo 'install_dir='"${RPM_BUILD_ROOT}/usr/bin" >>setup.cfg
|
|
|
|
# python is not GNU and does not know fsstd
|
|
mkdir -p %{buildroot}%{_mandir}
|
|
%makeinstall_std LN="ln -sf"
|
|
|
|
(cd %{buildroot}%{_libdir}; ln -sf `ls libpython%{lib_major}*.so.*` libpython%{lib_major}.so)
|
|
# install pynche as pynche3
|
|
cat << EOF > %{buildroot}%{_bindir}/pynche3
|
|
#!/bin/bash
|
|
exec %{_libdir}/python%{dirver}/site-packages/pynche/pynche
|
|
EOF
|
|
rm -f Tools/pynche/*.pyw
|
|
cp -r Tools/pynche %{buildroot}%{_libdir}/python%{dirver}/site-packages/
|
|
|
|
chmod 755 %{buildroot}%{_bindir}/{idle3,pynche3}
|
|
|
|
ln -f Tools/pynche/README Tools/pynche/README.pynche
|
|
|
|
%if %{with valgrind}
|
|
install Misc/valgrind-python.supp -D %{buildroot}%{_libdir}/valgrind/valgrind-python3.supp
|
|
%endif
|
|
|
|
mkdir -p %{buildroot}%{_datadir}/applications
|
|
cat > %{buildroot}%{_datadir}/applications/rosa-tkinter%{sub_ver}.desktop << EOF
|
|
[Desktop Entry]
|
|
Name=IDLE
|
|
Name[ru]=IDLE
|
|
Comment=IDE for Python3
|
|
Comment[ru]=IDE для Python3
|
|
Exec=%{_bindir}/idle%{dirver}
|
|
Icon=development_environment_section
|
|
Terminal=false
|
|
Type=Application
|
|
Categories=Development;IDE;
|
|
EOF
|
|
|
|
|
|
cat > %{buildroot}%{_datadir}/applications/rosa-%{name}-docs.desktop << EOF
|
|
[Desktop Entry]
|
|
Name=Python documentation
|
|
Name[ru]=Документация Python
|
|
Comment=Python complete reference
|
|
Comment[ru]=Полное руководство по языку Python
|
|
Exec=%{_bindir}/xdg-open %{_defaultdocdir}/%{name}-docs/index.html
|
|
Icon=documentation_section
|
|
Terminal=false
|
|
Type=Application
|
|
Categories=Documentation;
|
|
EOF
|
|
|
|
# fix non real scripts
|
|
#chmod 644 %{buildroot}%{_libdir}/python*/test/test_{binascii,grp,htmlparser}.py*
|
|
find %{buildroot} -type f \( -name "test_binascii.py*" -o -name "test_grp.py*" -o -name "test_htmlparser.py*" \) -exec chmod 644 {} \;
|
|
# fix python library not stripped
|
|
chmod u+w %{buildroot}%{_libdir}/libpython%{lib_major}*.so.1.0 %{buildroot}%{_libdir}/libpython3.so
|
|
|
|
%if %{without py38}
|
|
%install_macro python3 %{SOURCE2}
|
|
%else
|
|
%install_macro python38 %{SOURCE2}
|
|
%endif
|
|
%install_macro py38bytecompile %{SOURCE3}
|
|
|
|
ln -s python3 %{buildroot}%{_bindir}/python
|
|
ln -s pydoc3 %{buildroot}%{_bindir}/pydoc
|
|
ln -s python3-config %{buildroot}%{_bindir}/python-config
|
|
|
|
# Install pathfix.py to bindir
|
|
# See https://github.com/fedora-python/python-rpm-porting/issues/24
|
|
cp -p Tools/scripts/pathfix.py %{buildroot}%{_bindir}/
|
|
|
|
%if %{with py38}
|
|
|
|
install -m0755 %{SOURCE4} %{buildroot}%{_bindir}/python38-shebang-sanity
|
|
|
|
mv %{buildroot}%{_bindir}/pynche3 \
|
|
%{buildroot}%{_bindir}/pynche%{sub_ver}
|
|
|
|
# Build scripts of many packages try to use the highest version of Python that they find
|
|
# That is why we have to relocate python3.8 out of $PATH
|
|
mkdir -p %{buildroot}%{_libexecdir}
|
|
mv %{buildroot}%{_bindir}/python3.8 %{buildroot}%{_libexecdir}/python3.8
|
|
|
|
# Remove shebang lines from .py files that aren't executable, and
|
|
# remove executability from .py files that don't have a shebang line:
|
|
find %{buildroot} -name \*.py \
|
|
\( \( \! -perm /u+x,g+x,o+x -exec sed -e '/^#!/Q 0' -e 'Q 1' {} \; \
|
|
-print -exec sed -i '1d' {} \; \) -o \( \
|
|
-perm /u+x,g+x,o+x ! -exec grep -m 1 -q '^#!' {} \; \
|
|
-exec chmod a-x {} \; \) \)
|
|
|
|
########## shebang py3 > py3.8 ##################
|
|
sh %{SOURCE4}
|
|
|
|
# When packaging a not system version of Python, these files are named like e.g. 2to3-3.8
|
|
# These files must not be packaged to avoid conflicts with system python3
|
|
rm -fr %{buildroot}%{_bindir}/{2to3,idle3,pydoc,pydoc3,python,python3,python3-config,python-config}
|
|
rm -fr %{buildroot}%{_libdir}/libpython3.so
|
|
rm -fr %{buildroot}%{_libdir}/pkgconfig/python3.pc
|
|
%endif
|
|
|
|
%check
|
|
# (misc) if the home is nfs mounted, rmdir fails
|
|
export TMP="/tmp" TMPDIR="/tmp"
|
|
|
|
# all tests must pass
|
|
# but we disable network on BS
|
|
#WITHIN_PYTHON_RPM_BUILD= make test TESTOPTS="-u none -x $EXCLUDE"
|
|
# consider use network on local build
|
|
#WITHIN_PYTHON_RPM_BUILD= make test TESTOPTS="-u network -x $EXCLUDE"
|
|
|
|
%files
|
|
%doc README.urpmi
|
|
%{_rpmmacrodir}/*python3*
|
|
%{_rpmmacrodir}/*py*bytecompile*
|
|
%{_includedir}/python*/pyconfig.h
|
|
%{_libdir}/python*/config*/Makefile
|
|
%exclude %{_libdir}/python*/site-packages/pynche
|
|
%exclude %{_libdir}/python*/lib-dynload/_tkinter.*.so
|
|
|
|
%dir %{_libdir}/python*
|
|
%{_libdir}/python*/LICENSE.txt
|
|
%{_libdir}/python%{dirver}/*.py
|
|
%{_libdir}/python%{dirver}/__pycache__
|
|
%{_libdir}/python%{dirver}/collections
|
|
%{_libdir}/python%{dirver}/concurrent
|
|
%{_libdir}/python%{dirver}/ctypes
|
|
%{_libdir}/python%{dirver}/curses
|
|
%{_libdir}/python%{dirver}/dbm
|
|
%{_libdir}/python%{dirver}/distutils
|
|
%{_libdir}/python%{dirver}/email
|
|
%{_libdir}/python%{dirver}/encodings
|
|
%{_libdir}/python%{dirver}/html
|
|
%{_libdir}/python%{dirver}/http
|
|
%{_libdir}/python%{dirver}/importlib
|
|
%{_libdir}/python%{dirver}/json
|
|
%{_libdir}/python%{dirver}/lib-dynload
|
|
%{_libdir}/python%{dirver}/lib2to3
|
|
%{_libdir}/python%{dirver}/logging
|
|
%{_libdir}/python%{dirver}/multiprocessing
|
|
%{_libdir}/python%{dirver}/pydoc_data
|
|
%{_libdir}/python%{dirver}/site-packages
|
|
%{_libdir}/python%{dirver}/sqlite3
|
|
%{_libdir}/python%{dirver}/turtledemo
|
|
%{_libdir}/python%{dirver}/unittest
|
|
%{_libdir}/python%{dirver}/urllib
|
|
%{_libdir}/python%{dirver}/venv
|
|
%{_libdir}/python%{dirver}/wsgiref*
|
|
%{_libdir}/python%{dirver}/xml
|
|
%{_libdir}/python%{dirver}/xmlrpc
|
|
%{_libdir}/python%{dirver}/asyncio
|
|
%{_libdir}/python%{dirver}/ensurepip
|
|
# %exclude %{_libdir}/python%{dirver}/ensurepip/_bundled
|
|
%{_bindir}/pathfix.py
|
|
%{_bindir}/pydoc3*
|
|
%{_bindir}/python3*
|
|
%if %rpm4
|
|
%if %{with py38}
|
|
%exclude %{_bindir}/pydoc
|
|
%exclude %{_bindir}/pydoc3
|
|
%exclude %{_bindir}/python
|
|
%exclude %{_bindir}/python3
|
|
%exclude %{_bindir}/2to3
|
|
%else
|
|
%{_bindir}/2to3
|
|
%{_bindir}/pydoc
|
|
%{_bindir}/python
|
|
%endif
|
|
%endif
|
|
%{_bindir}/2to3-%{dirver}
|
|
# do not exclude it
|
|
# requires by systemtap
|
|
%if %{with py38}
|
|
%exclude %{_bindir}/python*config
|
|
%else
|
|
%{_bindir}/python*config
|
|
%endif
|
|
#%{_datadir}/emacs/site-lisp/*
|
|
%{_mandir}/man*/*
|
|
%if %{with valgrind}
|
|
%{_libdir}/valgrind/valgrind-python3.supp
|
|
%endif
|
|
%if %{with py38}
|
|
%{_libexecdir}/python3*
|
|
%endif
|
|
|
|
%files -n %{lib_name}
|
|
%{_libdir}/libpython*.so.1*
|
|
|
|
%files -n %{develname}
|
|
%if %rpm4
|
|
%if %{with py38}
|
|
%exclude %{_libdir}/libpython3.so
|
|
%exclude %{_libdir}/pkgconfig/python3.pc
|
|
%endif
|
|
%endif
|
|
%{_libdir}/libpython*.so
|
|
%{_libdir}/pkgconfig/python*.pc
|
|
%{_includedir}/python*
|
|
%{_libdir}/python*/config-*
|
|
%{_bindir}/python%{dirver}*-config
|
|
%if %{without py38}
|
|
%{_bindir}/python%{familyver}-config
|
|
%endif
|
|
%{_libdir}/python*/test/
|
|
#%{_libdir}/python*/config-*
|
|
%exclude %{_includedir}/python*/pyconfig.h
|
|
%exclude %{_libdir}/python*/config*/Makefile
|
|
|
|
%files docs
|
|
%doc html/*/*
|
|
%{_datadir}/applications/rosa-%{name}-docs.desktop
|
|
|
|
%files -n tkinter%{sub_ver}
|
|
%{_libdir}/python*/tkinter/
|
|
%{_libdir}/python*/idlelib
|
|
%{_libdir}/python*/site-packages/pynche
|
|
%{_libdir}/python*/lib-dynload/_tkinter.*.so
|
|
|
|
%files -n tkinter%{sub_ver}-apps
|
|
%if %rpm4
|
|
%if %{with py38}
|
|
%exclude %{_bindir}/idle3
|
|
%endif
|
|
%endif
|
|
%{_bindir}/idle3*
|
|
%{_bindir}/pynche%{sub_ver}
|
|
%{_datadir}/applications/rosa-tkinter%{sub_ver}.desktop
|
|
|
|
|