#
# TODO
-# - test_distutils fails for unknown reason: (does it still do with new lib64 patch?)
-# AssertionError: '/tmp/tmpaomC0l/installation/share/python' != '/tmp/tmpaomC0l/installation/lib/python'
# - test_pydoc fails because of PYTHONPATH override
# - change searchpath order so /usr/lib* is before /usr/share
# - kill lib-tk from searchpath
%bcond_without tkinter # disables tkinter module building
%bcond_without tests # disables Python testing
%bcond_with verbose_tests # runs tests in verbose mode
-%bcond_with openssl097
+%bcond_with openssl097 # build for openssl < 0.9.8
#
# tests which will not work on 64-bit platforms
%define no64bit_tests test_audioop test_rgbimg test_imageop
# tests which may fail because of builder environment limitations (no /proc or /dev/pts)
%define nobuilder_tests test_resource test_openpty test_socket test_nis test_posix test_locale test_pty test_urllib2
-# tests which fail because of some unknown/unresolved reason (this list should be empty)
-%define broken_tests test_anydbm test_bsddb test_re test_shelve test_whichdb test_zipimport test_distutils test_pydoc test_file test_file2k test_gdb test_ioctl
+# tests which fail because of some unknown/unresolved reason (this list should be ideally just %{nil})
+%define broken_tests test_doctest test_pydoc test_distutils test_gdb
%define beta %{nil}
%define py_libdir %{py_prefix}/%{_lib}/python%{py_ver}
%define py_incdir %{_includedir}/python%{py_ver}
%define py_sitedir %{py_libdir}/site-packages
+%define py_sitescriptdir %{_datadir}/python%{py_ver}/site-packages
%define py_dyndir %{py_libdir}/lib-dynload
%define dver %{version}
Summary(tr.UTF-8): X arayüzlü, yüksek düzeyli, kabuk yorumlayıcı dili
Summary(uk.UTF-8): Мова програмування дуже високого рівня з X-інтерфейсом
Name: python
-Version: %{py_ver}.2
-Release: 3
+Version: %{py_ver}.15
+Release: 4
Epoch: 1
License: PSF
Group: Development/Languages/Python
-Source0: http://www.python.org/ftp/python/%{version}/Python-%{version}%{beta}.tar.bz2
-# Source0-md5: ba7b2f11ffdbf195ee0d111b9455a5bd
-Source1: http://www.python.org/ftp/python/doc/%{dver}/%{name}-%{dver}-docs-html.tar.bz2
-# Source1-md5: 40f0bd51b221662cae14fb0c6b6f622b
+Source0: https://www.python.org/ftp/python/%{version}/Python-%{version}%{beta}.tar.xz
+# Source0-md5: a80ae3cc478460b922242f43a1b4094d
+Source1: https://www.python.org/ftp/python/doc/%{dver}/%{name}-%{dver}-docs-html.tar.bz2
+# Source1-md5: e82bf965f5c6da914fb060640310e080
+Source2: pyconfig.h.in
Patch0: %{name}-db.patch
Patch1: %{name}-pythonpath.patch
Patch2: %{name}-ac_fixes.patch
-Patch3: %{name}-lib64.patch
-Patch4: %{name}-noarch_to_datadir.patch
-Patch5: %{name}-verbose.patch
-URL: http://www.python.org/
+Patch3: %{name}-multilib.patch
+Patch4: %{name}-verbose.patch
+Patch5: %{name}-distro.patch
+Patch6: %{name}-DNStests.patch
+Patch7: %{name}-install_prefix.patch
+Patch8: %{name}-bdist_rpm.patch
+# https://bugs.python.org/issue10496
+Patch9: https://bugs.python.org/file21896/nonexistent_user.patch
+# Patch9-md5: db706fbe6de467c6e4c97c675eddf29a
+URL: https://www.python.org/
BuildRequires: autoconf >= 2.65
BuildRequires: automake
BuildRequires: bluez-libs-devel
%{?with_tkinter:BuildRequires: tk-devel >= 8.4.3}
BuildRequires: zlib-devel
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
+Suggests: python-pip
Obsoletes: python2
Conflicts: bzr < 1.8
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Summary(pl.UTF-8): Moduły języka Python
Group: Libraries/Python
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
+Provides: python-argparse = 1.1
Provides: python-cElementTree
Provides: python-elementtree
+Provides: pythonegg(argparse) = 1.1
+Obsoletes: python-argparse < 1.1.99
Obsoletes: python-cElementTree
Obsoletes: python-ctypes
Obsoletes: python-curses
Obsoletes: python-xml
Obsoletes: python-xmlrpc <= 1.0.1
Obsoletes: python-zlib
+%requires_ge_to openssl openssl-devel
%description modules
Python officially distributed modules.
Summary(uk.UTF-8): Бібліотеки та хедери для програмування на мові Python
Group: Development/Languages/Python
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
+Requires: %{name}-modules = %{epoch}:%{version}-%{release}
Obsoletes: python2-devel
%description devel
Przykłady te są dla Pythona 2.3.4, nie %{version}.
+%package test
+Summary: Python test modules
+Summary(pl.UTF-8): Moduły testowe Pythona
+Group: Development/Languages/Python
+Requires: %{name}-modules = %{epoch}:%{version}-%{release}
+Suggests: %{name}-devel-src = %{epoch}:%{version}-%{release}
+
+%description test
+Python test modules.
+
+Unit tests for Python, some may be reused for testing other Python
+software.
+
+%description test -l pl.UTF-8
+Moduły testowe Pythona.
+
+Niektóre z nich mogą być używane do testowania oprogramowania
+napisanego w Pythonie.
+
%prep
%setup -q -n Python-%{version}%{beta}
%patch0 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
tar xjf %{SOURCE1}
%build
%{__aclocal}
%{__autoconf}
-CPPFLAGS="-I/usr/include/ncursesw %{rpmcppflags}"; export CPPFLAGS
%configure \
+ CC="%{__cc}" \
+ OPT="%{rpmcflags}" \
+ CPPFLAGS="%{rpmcppflags}" \
+ LDFLAGS="%{rpmldflags}" \
ac_cv_posix_semaphores_enabled=yes \
ac_cv_broken_sem_getvalue=no \
+ %{?with_debug:--with-pydebug} \
--with-threads \
- --with-cxx-main="%{__cxx}" \
--with-system-ffi \
--enable-ipv6 \
--enable-unicode=ucs4 \
--enable-shared \
- --with-system-ffi \
--with-dbmliborder=gdbm:bdb \
- LINKCC='$(PURIFY) $(CXX)' \
- LDSHARED='$(CC) $(CFLAGS) -shared' \
- BLDSHARED='$(CC) $(CFLAGS) -shared' \
- LDFLAGS="%{rpmcflags} %{rpmldflags}"
+ --without-ensurepip
-%{__make} \
- OPT="%{rpmcflags}" 2>&1 | awk '
+%{__make} 2>&1 | awk '
BEGIN { fail = 0; logmsg = ""; }
{
if ($0 ~ /\*\*\* WARNING:/) {
}
END { if (fail) { print "\nPROBLEMS FOUND:"; print logmsg; exit(1); } }'
-LC_ALL=C
-export LC_ALL
%if %{with tests}
-%{__make} -j1 test \
+LC_ALL=C.UTF-8 \
+WITHIN_PYTHON_RPM_BUILD=1 %{__make} -j1 test \
TESTOPTS="%{test_flags} %{test_list}" \
TESTPYTHON="LD_LIBRARY_PATH=`pwd` PYTHONHOME=`pwd` PYTHONPATH=`pwd`/Lib:`pwd`/Lib/lib-tk:`pwd`/build/lib.linux-`uname -m`-%{py_ver} ./python -tt"
%endif
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}} \
$RPM_BUILD_ROOT{%{py_sitedir},%{_mandir}/man1} \
+ $RPM_BUILD_ROOT%{_prefix}/local/%{_lib}/python%{py_ver}/site-packages \
+ $RPM_BUILD_ROOT%{py_sitescriptdir} \
$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
$RPM_BUILD_ROOT%{_infodir} \
$RPM_BUILD_ROOT%{_docdir} \
%if %{with info}
%{__make} -C Doc/info
-install Doc/info/python*info* $RPM_BUILD_ROOT%{_infodir}
+cp -p Doc/info/python*info* $RPM_BUILD_ROOT%{_infodir}
%endif
-install Makefile.pre.in $RPM_BUILD_ROOT%{py_libdir}/config
+cp -p Makefile.pre.in $RPM_BUILD_ROOT%{py_libdir}/config
mv $RPM_BUILD_ROOT{%{py_libdir}/config,%{_libdir}}/libpython%{py_ver}.a
ln -sf libpython%{py_ver}.a $RPM_BUILD_ROOT%{_libdir}/libpython.a
for script in smtpd webbrowser; do
echo alias $script.py=\"python -m ${script}\"
done > $RPM_BUILD_ROOT/etc/shrc.d/python-modules.sh
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/smtpd.py
sed 's/=/ /' \
< $RPM_BUILD_ROOT/etc/shrc.d/python-modules.sh \
> $RPM_BUILD_ROOT/etc/shrc.d/python-modules.csh
# just to cut the noise, as they are not packaged (now)
-# first tests
-rm -r $RPM_BUILD_ROOT%{py_scriptdir}/test
-rm -r $RPM_BUILD_ROOT%{py_scriptdir}/bsddb/test
-rm -r $RPM_BUILD_ROOT%{py_scriptdir}/ctypes/test
-rm -r $RPM_BUILD_ROOT%{py_scriptdir}/distutils/tests
-rm -r $RPM_BUILD_ROOT%{py_scriptdir}/email/test
-rm -r $RPM_BUILD_ROOT%{py_scriptdir}/sqlite3/test
-rm -r $RPM_BUILD_ROOT%{py_scriptdir}/json/tests
-rm -r $RPM_BUILD_ROOT%{py_scriptdir}/lib2to3/tests
-
-# other files
-rm -r $RPM_BUILD_ROOT%{py_scriptdir}/plat-*/regen
-find $RPM_BUILD_ROOT%{py_scriptdir} -name \*.egg-info -exec rm {} \;
-find $RPM_BUILD_ROOT%{py_scriptdir} -name \*.bat -exec rm {} \;
-find $RPM_BUILD_ROOT%{py_scriptdir} -name \*.txt -exec rm {} \;
-find $RPM_BUILD_ROOT%{py_scriptdir} -name README\* -exec rm {} \;
+%{__rm} $RPM_BUILD_ROOT%{py_libdir}/ctypes/macholib/fetch_macholib
+%{__rm} $RPM_BUILD_ROOT%{py_libdir}/distutils/command/command_template
+%{__rm} $RPM_BUILD_ROOT%{py_libdir}/distutils/command/wininst-*.exe
+%{__rm} -r $RPM_BUILD_ROOT%{py_libdir}/idlelib/idle_test
+%{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/ChangeLog
+%{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/help.html
+%{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/idle.pyw
+%{__rm} -r $RPM_BUILD_ROOT%{py_libdir}/plat-*/regen
+# packaged as %doc
+%{__rm} $RPM_BUILD_ROOT%{py_libdir}/pdb.doc
+
+find $RPM_BUILD_ROOT%{py_libdir} -name \*.bat -exec rm {} \;
+find $RPM_BUILD_ROOT%{py_libdir} -name \*.txt -exec rm {} \;
+find $RPM_BUILD_ROOT%{py_libdir} -name README\* -exec rm {} \;
+
+%{__mv} $RPM_BUILD_ROOT%{py_incdir}/pyconfig.h $RPM_BUILD_ROOT%{py_libdir}/config/pyconfig.h
+sed -e's#@PREFIX@#%{_prefix}#g;s#@PY_VER@#%{py_ver}#g' %{SOURCE2} > $RPM_BUILD_ROOT%{py_incdir}/pyconfig.h
%clean
rm -rf $RPM_BUILD_ROOT
%post libs -p /sbin/ldconfig
+
%postun libs -p /sbin/ldconfig
%post doc-info -p /sbin/postshell
%files
%defattr(644,root,root,755)
-%attr(755,root,root) %{__python}
-%attr(755,root,root) %{__python}%{py_ver}
+%attr(755,root,root) %{_bindir}/python
+%attr(755,root,root) %{_bindir}/python2
+%attr(755,root,root) %{_bindir}/python%{py_ver}
%{_mandir}/man1/python.1*
+%{_mandir}/man1/python2.1*
%files modules
%defattr(644,root,root,755)
-/etc/shrc.d/python-modules*
-%exclude %{py_scriptdir}/_abcoll.py[co]
-%exclude %{py_scriptdir}/abc.py[co]
-%exclude %{py_scriptdir}/UserDict.py[co]
-%exclude %{py_scriptdir}/codecs.py[co]
-%exclude %{py_scriptdir}/copy_reg.py[co]
-%exclude %{py_scriptdir}/genericpath.py[co]
-%exclude %{py_scriptdir}/linecache.py[co]
-%exclude %{py_scriptdir}/locale.py[co]
-%exclude %{py_scriptdir}/posixpath.py[co]
-%exclude %{py_scriptdir}/pdb.py[co]
-%exclude %{py_scriptdir}/profile.py[co]
-%exclude %{py_scriptdir}/pstats.py[co]
-%exclude %{py_scriptdir}/pydoc.py[co]
-%exclude %{py_scriptdir}/re.py[co]
-%exclude %{py_scriptdir}/site.py[co]
-%exclude %{py_scriptdir}/sre_*.py[co]
-%exclude %{py_scriptdir}/stat.py[co]
-%exclude %{py_scriptdir}/sysconfig.py[co]
-%exclude %{py_scriptdir}/timeit.py[co]
-%exclude %{py_scriptdir}/os.py[co]
-%exclude %{py_scriptdir}/_weakrefset.py[co]
-%exclude %{py_scriptdir}/encodings/*.py[co]
-%exclude %{py_scriptdir}/types.py[co]
-%exclude %{py_scriptdir}/warnings.py[co]
-
-%{py_scriptdir}/*.py[co]
-
-%{py_dyndir}/*.egg-info
+%doc Lib/pdb.doc
+%config(noreplace) %verify(not md5 mtime size) /etc/shrc.d/python-modules*
+%exclude %{py_libdir}/_abcoll.py[co]
+%exclude %{py_libdir}/abc.py[co]
+%exclude %{py_libdir}/UserDict.py[co]
+%exclude %{py_libdir}/codecs.py[co]
+%exclude %{py_libdir}/copy_reg.py[co]
+%exclude %{py_libdir}/genericpath.py[co]
+%exclude %{py_libdir}/linecache.py[co]
+%exclude %{py_libdir}/locale.py[co]
+%exclude %{py_libdir}/posixpath.py[co]
+%exclude %{py_libdir}/profile.py[co]
+%exclude %{py_libdir}/pstats.py[co]
+%exclude %{py_libdir}/pydoc.py[co]
+%exclude %{py_libdir}/re.py[co]
+%exclude %{py_libdir}/site.py[co]
+%exclude %{py_libdir}/sre_*.py[co]
+%exclude %{py_libdir}/stat.py[co]
+%exclude %{py_libdir}/sysconfig.py[co]
+%exclude %{py_libdir}/timeit.py[co]
+%exclude %{py_libdir}/os.py[co]
+%exclude %{py_libdir}/_weakrefset.py[co]
+%exclude %{py_libdir}/encodings/*.py[co]
+%exclude %{py_libdir}/types.py[co]
+%exclude %{py_libdir}/warnings.py[co]
+
+%{py_libdir}/*.py[co]
+
+%{py_dyndir}/Python-%{version}-py%{py_ver}.egg-info
#
# list .so modules to be sure that all of them are built
%attr(755,root,root) %{py_dyndir}/unicodedata.so
%attr(755,root,root) %{py_dyndir}/zlib.so
-%dir %{py_scriptdir}/plat-*
-%{py_scriptdir}/plat-*/*.py[co]
+%dir %{py_libdir}/plat-*
+%{py_libdir}/plat-*/*.py[co]
+
+%dir %{py_libdir}/bsddb
+%{py_libdir}/bsddb/*.py[co]
+
+%dir %{py_libdir}/compiler
+%{py_libdir}/compiler/*.py[co]
-%dir %{py_scriptdir}/bsddb
-%{py_scriptdir}/bsddb/*.py[co]
+%dir %{py_libdir}/ctypes
+%dir %{py_libdir}/ctypes/macholib
+%{py_libdir}/ctypes/*.py[co]
+%{py_libdir}/ctypes/macholib/*.py[co]
-%dir %{py_scriptdir}/compiler
-%{py_scriptdir}/compiler/*.py[co]
+%dir %{py_libdir}/curses
+%{py_libdir}/curses/*.py[co]
-%dir %{py_scriptdir}/ctypes
-%dir %{py_scriptdir}/ctypes/macholib
-%{py_scriptdir}/ctypes/*.py[co]
-%{py_scriptdir}/ctypes/macholib/*.py[co]
+%dir %{py_libdir}/distutils
+%dir %{py_libdir}/distutils/command
+%{py_libdir}/distutils/*.py[co]
+%{py_libdir}/distutils/command/*.py[co]
-%dir %{py_scriptdir}/curses
-%{py_scriptdir}/curses/*.py[co]
+%dir %{py_libdir}/email
+%dir %{py_libdir}/email/mime
+%{py_libdir}/email/*.py[co]
+%{py_libdir}/email/mime/*.py[co]
-%dir %{py_scriptdir}/distutils
-%dir %{py_scriptdir}/distutils/command
-%{py_scriptdir}/distutils/*.py[co]
-%{py_scriptdir}/distutils/command/*.py[co]
+%dir %{py_libdir}/ensurepip
+%{py_libdir}/ensurepip/*.py[co]
+%{py_libdir}/ensurepip/_bundled
-%dir %{py_scriptdir}/email
-%dir %{py_scriptdir}/email/mime
-%{py_scriptdir}/email/*.py[co]
-%{py_scriptdir}/email/mime/*.py[co]
+%dir %{py_libdir}/idlelib
-%dir %{py_scriptdir}/importlib
-%{py_scriptdir}/importlib/*.py[co]
+%dir %{py_libdir}/importlib
+%{py_libdir}/importlib/*.py[co]
-%dir %{py_scriptdir}/json
-%{py_scriptdir}/json/*.py[co]
+%dir %{py_libdir}/json
+%{py_libdir}/json/*.py[co]
-%dir %{py_scriptdir}/logging
-%{py_scriptdir}/logging/*.py[co]
+%dir %{py_libdir}/logging
+%{py_libdir}/logging/*.py[co]
-%dir %{py_scriptdir}/multiprocessing
-%dir %{py_scriptdir}/multiprocessing/dummy
-%{py_scriptdir}/multiprocessing/*.py[co]
-%{py_scriptdir}/multiprocessing/dummy/*.py[co]
+%dir %{py_libdir}/multiprocessing
+%dir %{py_libdir}/multiprocessing/dummy
+%{py_libdir}/multiprocessing/*.py[co]
+%{py_libdir}/multiprocessing/dummy/*.py[co]
-%dir %{py_scriptdir}/unittest
-%{py_scriptdir}/unittest/*.py[co]
-%dir %{py_scriptdir}/unittest/test
-%{py_scriptdir}/unittest/test/*.py[co]
+%dir %{py_libdir}/unittest
+%{py_libdir}/unittest/*.py[co]
+%dir %{py_libdir}/unittest/test
+%{py_libdir}/unittest/test/*.py[co]
-%dir %{py_scriptdir}/wsgiref
-%{py_scriptdir}/wsgiref/*.py[co]
+%dir %{py_libdir}/wsgiref
+%{py_libdir}/wsgiref/*.py[co]
+%{py_libdir}/wsgiref.egg-info
-%dir %{py_scriptdir}/xml
-%dir %{py_scriptdir}/xml/dom
-%dir %{py_scriptdir}/xml/etree
-%dir %{py_scriptdir}/xml/parsers
-%dir %{py_scriptdir}/xml/sax
-%{py_scriptdir}/xml/*.py[co]
-%{py_scriptdir}/xml/dom/*.py[co]
-%{py_scriptdir}/xml/etree/*.py[co]
-%{py_scriptdir}/xml/parsers/*.py[co]
-%{py_scriptdir}/xml/sax/*.py[co]
+%dir %{py_libdir}/xml
+%dir %{py_libdir}/xml/dom
+%dir %{py_libdir}/xml/etree
+%dir %{py_libdir}/xml/parsers
+%dir %{py_libdir}/xml/sax
+%{py_libdir}/xml/*.py[co]
+%{py_libdir}/xml/dom/*.py[co]
+%{py_libdir}/xml/etree/*.py[co]
+%{py_libdir}/xml/parsers/*.py[co]
+%{py_libdir}/xml/sax/*.py[co]
%files modules-sqlite
%defattr(644,root,root,755)
%attr(755,root,root) %{py_dyndir}/_sqlite3.so
-%dir %{py_scriptdir}/sqlite3
-%{py_scriptdir}/sqlite3/*.py[co]
+%dir %{py_libdir}/sqlite3
+%{py_libdir}/sqlite3/*.py[co]
%files libs
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libpython*.so.*
+%attr(755,root,root) %{_libdir}/libpython%{py_ver}.so.*
%dir %{py_dyndir}
-%dir %{py_scriptdir}
%dir %{py_libdir}
+%dir %{_datadir}/python%{py_ver}
%dir %{py_sitescriptdir}
%dir %{py_sitedir}
+# for locally installed packages
+%dir %{_prefix}/local/%{_lib}/python%{py_ver}/site-packages
+
# shared modules required by python library
%attr(755,root,root) %{py_dyndir}/_struct.so
# modules required by python library
-%{py_scriptdir}/_abcoll.py[co]
-%{py_scriptdir}/abc.py[co]
-%{py_scriptdir}/UserDict.py[co]
-%{py_scriptdir}/codecs.py[co]
-%{py_scriptdir}/copy_reg.py[co]
-%{py_scriptdir}/genericpath.py[co]
-%{py_scriptdir}/linecache.py[co]
-%{py_scriptdir}/locale.py[co]
-%{py_scriptdir}/posixpath.py[co]
-%{py_scriptdir}/re.py[co]
-%{py_scriptdir}/site.py[co]
-%{py_scriptdir}/sre_*.py[co]
-%{py_scriptdir}/stat.py[co]
-%{py_scriptdir}/sysconfig.py[co]
-%{py_scriptdir}/os.py[co]
-%{py_scriptdir}/_weakrefset.py[co]
+%{py_libdir}/_abcoll.py[co]
+%{py_libdir}/abc.py[co]
+%{py_libdir}/UserDict.py[co]
+%{py_libdir}/codecs.py[co]
+%{py_libdir}/copy_reg.py[co]
+%{py_libdir}/genericpath.py[co]
+%{py_libdir}/linecache.py[co]
+%{py_libdir}/locale.py[co]
+%{py_libdir}/posixpath.py[co]
+%{py_libdir}/re.py[co]
+%{py_libdir}/site.py[co]
+%{py_libdir}/sre_*.py[co]
+%{py_libdir}/stat.py[co]
+%{py_libdir}/sysconfig.py[co]
+%{py_libdir}/os.py[co]
+%{py_libdir}/_weakrefset.py[co]
# needed by the dynamic sys.lib patch
-%{py_scriptdir}/types.py[co]
-%{py_scriptdir}/warnings.py[co]
+%{py_libdir}/types.py[co]
+%{py_libdir}/warnings.py[co]
# encodings required by python library
-%dir %{py_scriptdir}/encodings
-%{py_scriptdir}/encodings/*.py[co]
+%dir %{py_libdir}/encodings
+%{py_libdir}/encodings/*.py[co]
# required by sysconfig.py
%dir %{py_libdir}/config
%{py_libdir}/config/Makefile
+%{py_libdir}/config/pyconfig.h
%dir %{py_incdir}
%{py_incdir}/pyconfig.h
%files -n pydoc
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/pydoc
-%{py_scriptdir}/pydoc.py[co]
-%dir %{py_scriptdir}/pydoc_data
-%{py_scriptdir}/pydoc_data/*.py[co]
+%{py_libdir}/pydoc.py[co]
+%dir %{py_libdir}/pydoc_data
+%{py_libdir}/pydoc_data/*.py[co]
%files -n idle
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/idle
-%dir %{py_scriptdir}/idlelib
-%dir %{py_scriptdir}/idlelib/Icons
-%{py_scriptdir}/idlelib/*.py[co]
-%{py_scriptdir}/idlelib/Icons/*
-%{py_scriptdir}/idlelib/*.def
+%dir %{py_libdir}/idlelib/Icons
+%{py_libdir}/idlelib/*.py[co]
+%{py_libdir}/idlelib/Icons/*
+%{py_libdir}/idlelib/*.def
%files devel
%defattr(644,root,root,755)
%doc Misc/{ACKS,NEWS,README,README.valgrind,valgrind-python.supp}
-%attr(755,root,root) %{__python}-config
-%attr(755,root,root) %{__python}%{py_ver}-config
-%attr(755,root,root) %{_libdir}/lib*.so
+%attr(755,root,root) %{_bindir}/python-config
+%attr(755,root,root) %{_bindir}/python2-config
+%attr(755,root,root) %{_bindir}/python%{py_ver}-config
+%attr(755,root,root) %{_libdir}/libpython%{py_ver}.so
+%attr(755,root,root) %{_libdir}/libpython.so
%{py_incdir}/*.h
%exclude %{py_incdir}/pyconfig.h
-%{_pkgconfigdir}/*.pc
+%{_pkgconfigdir}/python.pc
+%{_pkgconfigdir}/python2.pc
+%{_pkgconfigdir}/python-%{py_ver}.pc
%attr(755,root,root) %{py_libdir}/config/makesetup
%attr(755,root,root) %{py_libdir}/config/install-sh
%files devel-src
%defattr(644,root,root,755)
-%attr(-,root,root) %{py_scriptdir}/*.py
-%{py_scriptdir}/plat-*/*.py
-%{py_scriptdir}/bsddb/*.py
-%{py_scriptdir}/ctypes/*.py
-%{py_scriptdir}/ctypes/macholib/*.py
-%{py_scriptdir}/compiler/*.py
-%{py_scriptdir}/curses/*.py
-%{py_scriptdir}/distutils/*.py
-%{py_scriptdir}/distutils/command/*.py
-%{py_scriptdir}/email/*.py
-%{py_scriptdir}/email/mime/*.py
-%{py_scriptdir}/hotshot/*.py
-%{py_scriptdir}/json/*.py
-%{py_scriptdir}/lib2to3/*.py
-%{py_scriptdir}/lib2to3/fixes/*.py
-%{py_scriptdir}/lib2to3/pgen2/*.py
-%{py_scriptdir}/logging/*.py
-%{py_scriptdir}/multiprocessing/*.py
-%{py_scriptdir}/multiprocessing/dummy/*.py
-%{py_scriptdir}/sqlite3/*.py
-%{py_scriptdir}/wsgiref/*.py
-%{py_scriptdir}/xml/*.py
-%{py_scriptdir}/xml/dom/*.py
-%{py_scriptdir}/xml/etree/*.py
-%{py_scriptdir}/xml/parsers/*.py
-%{py_scriptdir}/xml/sax/*.py
-%{py_scriptdir}/encodings/*.py
-%{py_scriptdir}/idlelib/*.py
+%attr(-,root,root) %{py_libdir}/*.py
+%{py_libdir}/plat-*/*.py
+%{py_libdir}/bsddb/*.py
+%{py_libdir}/ctypes/*.py
+%{py_libdir}/ctypes/macholib/*.py
+%{py_libdir}/compiler/*.py
+%{py_libdir}/curses/*.py
+%{py_libdir}/distutils/*.py
+%{py_libdir}/distutils/command/*.py
+%{py_libdir}/email/*.py
+%{py_libdir}/email/mime/*.py
+%{py_libdir}/encodings/*.py
+%{py_libdir}/hotshot/*.py
+%{py_libdir}/ensurepip/*.py
+%{py_libdir}/idlelib/*.py
+%{py_libdir}/importlib/*.py
+%{py_libdir}/json/*.py
+%{py_libdir}/lib2to3/*.py
+%{py_libdir}/lib2to3/fixes/*.py
+%{py_libdir}/lib2to3/pgen2/*.py
+%{py_libdir}/logging/*.py
+%{py_libdir}/multiprocessing/*.py
+%{py_libdir}/multiprocessing/dummy/*.py
+%{py_libdir}/pydoc_data/*.py
+%{py_libdir}/sqlite3/*.py
+%{py_libdir}/unittest/*.py
+%{py_libdir}/unittest/test/*.py
+%{py_libdir}/wsgiref/*.py
+%{py_libdir}/xml/*.py
+%{py_libdir}/xml/dom/*.py
+%{py_libdir}/xml/etree/*.py
+%{py_libdir}/xml/parsers/*.py
+%{py_libdir}/xml/sax/*.py
%files devel-tools
%defattr(644,root,root,755)
-%doc Lib/pdb.doc
-/etc/shrc.d/python-devel*
+%config(noreplace) %verify(not md5 mtime size) /etc/shrc.d/python-devel*
%attr(755,root,root) %{py_dyndir}/_hotshot.so
-%dir %{py_scriptdir}/hotshot
-%{py_scriptdir}/hotshot/*.py[co]
-%{py_scriptdir}/pdb.py[co]
-%{py_scriptdir}/profile.py[co]
-%{py_scriptdir}/pstats.py[co]
-%{py_scriptdir}/timeit.py[co]
+%dir %{py_libdir}/hotshot
+%{py_libdir}/hotshot/*.py[co]
+%{py_libdir}/profile.py[co]
+%{py_libdir}/pstats.py[co]
+%{py_libdir}/timeit.py[co]
%files 2to3
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/2to3
-%dir %{py_scriptdir}/lib2to3
-%dir %{py_scriptdir}/lib2to3/fixes
-%dir %{py_scriptdir}/lib2to3/pgen2
-%{py_scriptdir}/lib2to3/*.py[co]
-%{py_scriptdir}/lib2to3/*.pickle
-%{py_scriptdir}/lib2to3/fixes/*.py[co]
-%{py_scriptdir}/lib2to3/pgen2/*.py[co]
+%dir %{py_libdir}/lib2to3
+%dir %{py_libdir}/lib2to3/fixes
+%dir %{py_libdir}/lib2to3/pgen2
+%{py_libdir}/lib2to3/*.py[co]
+%{py_libdir}/lib2to3/*.pickle
+%{py_libdir}/lib2to3/fixes/*.py[co]
+%{py_libdir}/lib2to3/pgen2/*.py[co]
%files static
%defattr(644,root,root,755)
-%{_libdir}/libpython*.a
+%{_libdir}/libpython%{py_ver}.a
+%{_libdir}/libpython.a
%files examples
%defattr(644,root,root,755)
%{_examplesdir}/%{name}-%{version}
+%files test
+%defattr(644,root,root,755)
+%{py_libdir}/test
+%{py_libdir}/bsddb/test
+%{py_libdir}/ctypes/test
+%{py_libdir}/distutils/tests
+%{py_libdir}/email/test
+%{py_libdir}/sqlite3/test
+%{py_libdir}/json/tests
+%{py_libdir}/lib2to3/tests
+
%files doc
%defattr(644,root,root,755)
%doc python-%{dver}-docs-html/*
%if %{with tkinter}
%files tkinter
%defattr(644,root,root,755)
-%{py_scriptdir}/lib-tk
+%{py_libdir}/lib-tk
%attr(755,root,root) %{py_dyndir}/_tkinter.so
%endif