4 %bcond_with info # info pages (requires emacs)
5 %bcond_without tkinter # disables tkinter module building
6 %bcond_with tests # disables Python testing
7 %bcond_with verbose_tests # runs tests in verbose mode
9 # tests which will not work on 64-bit platforms
10 %define no64bit_tests test_audioop test_rgbimg test_imageop
11 # tests which may fail because of builder environment limitations (no /proc or /dev/pts)
12 %define nobuilder_tests test_resource test_openpty test_socket test_nis test_posix test_locale test_pty
14 # tests which fail because of some unknown/unresolved reason (this list should be empty)
15 # test_site: fails because our site.py is patched to include both /usr/share/... and /usr/lib...
16 # test_gdb: fails, as the gdb uses old python version
17 %define broken_tests test_httpservers test_distutils test_cmd_line test_pydoc test_telnetlib test_zlib test_gdb test_site
20 %define py_abi %{py_ver}mu
21 %define py_prefix %{_prefix}
22 %define py_libdir %{py_prefix}/%{_lib}/python%{py_ver}
23 %define py_incdir %{_includedir}/python%{py_abi}
24 %define py_sitedir %{py_libdir}/site-packages
25 %define py_dyndir %{py_libdir}/lib-dynload
27 Summary: Very high level scripting language with X interface
28 Summary(es.UTF-8): Lenguaje script de alto nivel con interfaz X
29 Summary(fr.UTF-8): Langage de script de très haut niveau avec interface X
30 Summary(pl.UTF-8): Python - język obiektowy wysokiego poziomu
31 Summary(pt_BR.UTF-8): Linguagem de programação interpretada de alto nível
32 Summary(ru.UTF-8): Язык программирования очень высокого уровня с X-интерфейсом
33 Summary(tr.UTF-8): X arayüzlü, yüksek düzeyli, kabuk yorumlayıcı dili
34 Summary(uk.UTF-8): Мова програмування дуже високого рівня з X-інтерфейсом
41 Source0: http://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz
42 # Source0-md5: 2e7533b4009ac4adae62a7797a442e7a
43 Patch0: %{name}-pythonpath.patch
44 Patch1: %{name}-ac_fixes.patch
45 Patch2: %{name}-lib64.patch
46 Patch3: %{name}-noarch_to_datadir.patch
47 Patch4: %{name}-no_cmdline_tests.patch
48 Patch5: %{name}-makefile-location.patch
49 Patch6: libc-cloexec.patch
50 Patch7: %{name}-build.patch
51 URL: http://www.python.org/
52 BuildRequires: autoconf >= 2.65
53 BuildRequires: bluez-libs-devel
54 BuildRequires: bzip2-devel
55 BuildRequires: db-devel >= 4
56 %{?with_info:BuildRequires: emacs >= 21}
57 BuildRequires: expat-devel >= 1:1.95.7
59 BuildRequires: gdbm-devel >= 1.8.3
60 BuildRequires: gmp-devel >= 4.0
61 BuildRequires: libffi-devel
62 BuildRequires: libstdc++-devel
63 BuildRequires: ncurses-ext-devel >= 5.2
64 BuildRequires: openssl-devel >= 0.9.7
65 BuildRequires: readline-devel >= 5.0
66 BuildRequires: rpm-pythonprov
67 BuildRequires: sed >= 4.0
68 BuildRequires: sqlite3-devel >= 3.3.5
69 BuildRequires: tar >= 1:1.22
70 %{?with_info:BuildRequires: tetex-makeindex}
71 %{?with_tkinter:BuildRequires: tix-devel >= 1:8.1.4-4}
72 %{?with_tkinter:BuildRequires: tk-devel >= 8.4.3}
73 BuildRequires: zlib-devel
74 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
75 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
77 %define specflags_ppc -D__ppc__=1
78 %define specflags_ppc64 -D__ppc64__=1
80 %if %{with verbose_tests}
81 %define test_flags -v -l -x
83 %define test_flags -w -l -x
86 %ifarch alpha ia64 ppc64 sparc64 ppc64 %{x8664}
87 %define test_list %{nobuilder_tests} %{broken_tests} %{no64bit_tests}
89 %define test_list %{nobuilder_tests} %{broken_tests}
93 %define test_list %{nobuilder_tests} %{broken_tests} test_fcntl test_ioctl
97 Python is an interpreted, interactive, object-oriented programming
98 language. It incorporates modules, exceptions, dynamic typing, very
99 high level dynamic data types, and classes. Python combines remarkable
100 power with very clear syntax. It has interfaces to many system calls
101 and libraries, as well as to various window systems, and is extensible
102 in C or C++. It is also usable as an extension language for
103 applications that need a programmable interface. Finally, Python is
104 portable: it runs on many brands of UNIX, on the Mac, and on PCs under
105 MS-DOS, Windows, Windows NT, and OS/2.
107 This package contains the Python binary.
109 %description -l de.UTF-8
110 Python ist eine interpretierte, interaktive, objektorientierte
111 Programmiersprache, vergleichbar zu Tcl, Perl, Scheme oder Java.
112 Python enthält Module, Klassen, Exceptions, High-Level dynamische
113 Datentypen und dynamisches Typisieren. Python unterstützt Interfaces
114 zu vielen Systemaufrufen und Libraries, sowie verschiedene
115 Fenstersysteme (X11, Motif, Tk, Mac und MFC)
117 Programmierer können neue built-in-Module für Python in C oder C++
118 schreiben. Python kann auch als Erweiterungssprache für Applikationen
119 benutzt werden, die ein programmierbares Interface brauchen. Dieses
120 Paket enthält die meisten Standard-Python-Module, und Module zum
121 Ansprechen von Tix (Tk-widget set) und RPM.
123 %description -l es.UTF-8
124 Python es un lenguaje de scripts interpretado orientado a objetos.
125 Contiene soporte para carga dinámica de objetos, clases, módulos y
128 Es sencillo adicionar interfaces para nuevos sistemas de biblioteca a
129 través de código C, tornando Python fácil de usar en ambientes
130 particulares/personalizados. Este paquete Python incluye la mayoría de
131 los módulos padrón Python, junto con módulos para crear interfaces
132 para el conjunto de componentes Tix para Tk y RPM.
134 %description -l fr.UTF-8
135 Python est un langage de script interprété et orienté objet. Il gère
136 le chargement dynamique des objets, les classes, les modules et les
137 exceptions. L'ajout d'interfaces aux nouvelles bibliothèques systèmes
138 avec du code C est simple, ce qui rend Python facile à utiliser dans
139 des configs personnalisées.
141 Ce paquetage Python contient la plupart des modules Python standards,
142 ainsi que ceux permettant l'interfaçage avec les widgets Tix pour Tk
145 %description -l pl.UTF-8
146 Python jest interpretowanym, interaktywnym i zorientowanym obiektowo
147 językiem programowania. Jest modularny, obsługuje wyjątki, dynamiczne
148 typy, zaawansowane dynamiczne struktury danych i klasy. Python łączy w
149 sobie duże możliwości i przejrzystą składnię. Posiada interfejsy do
150 wielu wywołań systemowych i bibliotek, w tym również do różnych
151 bibliotek okienkowych. Możliwości jego można jeszcze rozszerzać
152 poprzez odpowiednie moduły pisane w C lub C++. Python może być również
153 użyty jako element aplikacji, którym potrzebny jest interpreter do
154 skryptów. I wreszcie, Python jest wieloplatformowy, działa na wielu
155 odmianach UNIX-a, Macu oraz PC pod DOS-em, Windows, WindowsNT oraz
158 Ten pakiet zawiera binarkę Pythona.
160 %description -l pt_BR.UTF-8
161 Python é uma linguagem de scripts interpretada orientada a objetos.
162 Contém suporte para carga dinâmica de objetos, classes, módulos e
163 exceções. Adicionar interfaces para novos sistemas de biblioteca
164 através de código C é simples, tornando Python fácil de usar em
165 ambientes particulares/personalizados.
167 Este pacote Python inclui a maioria do módulos padrão Python, junto
168 com módulos para interfaceamento para o conjunto de componentes Tix
171 %description -l ru.UTF-8
172 Python - это интерпретируемый, объектно-ориентированный язык
173 программирования. Он поддерживает динамическую загрузку объектов,
174 классы, модули и обработку исключительных ситуаций (exceptions).
175 Простота добавления интерфейсов к новым системным библиотекам через
176 код на языке C делает Python хорошим выбором для использования в
177 специальных конфигурациях.
179 %description -l tr.UTF-8
180 Python, nesneye yönelik bir kabuk yorumlayıcıdır. Nesnelerin,
181 sınıfların, modüllerin ve aykırı durumların dinamik yüklenmelerine
182 destek verir. C koduyla birlikte kullanımı son derece kolaydır. Bu
183 paket, standart Python birimlerinin çoğunun yanısıra Tk ve RPM için
184 arayüz birimlerini de içerir.
186 %description -l uk.UTF-8
187 Python - це інтерпретована, об'єктно-орієнтована мова програмування.
188 Він підтримує динамічну загрузку об'єктів, класи, модулі та обробку
189 виключних ситуацій (exceptions). Простота додавання інтерфейсів для
190 нових системних бібліотек через код на мові C робить Python добрим
191 вибором для використання в спеціальних конфігураціях.
194 Summary: Python library
195 Summary(pl.UTF-8): Biblioteka języka Python
196 Group: Libraries/Python
197 # broken detection in rpm/pythondeps.sh
198 Provides: python(abi) = %{py_ver}
199 # for compatibility with existing Ac packages
200 Provides: python(bytecode) = %{py_ver}
201 %{!?with_info:Obsoletes: python3-doc-info}
204 Python shared library and very essental modules for Python binary.
206 %description libs -l pl.UTF-8
207 Biblioteka współdzielona języka Python oraz bardzo podstawowe moduły
211 Summary: Python modules
212 Summary(pl.UTF-8): Moduły języka Python
213 Group: Libraries/Python
214 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
215 Obsoletes: python3-modules-sqlite
218 Python officially distributed modules.
220 %description modules -l pl.UTF-8
221 Oficjalnie rozprowadzane moduły języka Python.
224 Summary: Python interactive module documentation access support
225 Summary(pl.UTF-8): Interaktywne korzystanie z dokumentacji modułów języka Python
227 Requires: %{name}-modules = %{epoch}:%{version}-%{release}
229 %description -n pydoc3
230 Python interactive module documentation access support.
232 %description -n pydoc3 -l pl.UTF-8
233 Interaktywne korzystanie z dokumentacji modułów języka Python.
236 Summary: IDE for Python language
237 Summary(pl.UTF-8): IDE dla języka Python
239 Requires: %{name}-tkinter = %{epoch}:%{version}-%{release}
241 %description -n idle3
242 IDE for Python language.
244 %description -n idle3 -l pl.UTF-8
245 IDE dla języka Python.
248 Summary: Libraries and header files for building python code
249 Summary(de.UTF-8): Libraries und Header-Dateien zum Erstellen von Python-Code
250 Summary(es.UTF-8): Bibliotecas y archivos de inclusión para construir programas en python
251 Summary(fr.UTF-8): Bibliothèques et en-têtes pour construire du code python
252 Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki Pythona
253 Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para o Python
254 Summary(ru.UTF-8): Библиотеки и хедеры для построения кода на языке Python
255 Summary(tr.UTF-8): Python ile geliştirme yapmak için gerekli dosyalar
256 Summary(uk.UTF-8): Бібліотеки та хедери для програмування на мові Python
257 Group: Development/Languages/Python
258 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
261 The Python interpreter is relatively easy to extend with dynamically
262 loaded extensions and to embed in other programs. This package
263 contains the header files and libraries which are needed to do both of
266 %description devel -l de.UTF-8
267 Der Python-Interpretierer ist relativ einfach anhand von dynamisch
268 ladbaren Erweiterungen auszubauen und läßt sich in andere Programme
269 integrieren. Dieses Paket enthält die Header-Dateien und Libraries,
270 die für beide Aufgaben erforderlich sind.
272 %description devel -l es.UTF-8
273 El interpretador Python permite incluir con facilidad extensiones
274 cargadas dinámicamente. Python es también fácil de ser empotrado en
275 otros programas. Este paquete contiene los archivos de inclusión y
276 bibliotecas necesarios para estas dos tareas.
278 %description devel -l fr.UTF-8
279 L'interpréteur Python est relativement facile à étendre avec des
280 extensions chargées dynamiquement et à insérer dans d'autres
281 programmes. Ce paquetage contient les en-têtes et les bibliothèques
282 nécessaires à ces deux tâches.
284 %description devel -l pl.UTF-8
285 Interpreter Pythona jest w miarę łatwy do rozszerzania przy pomocy
286 dynamicznie ładowanych rozszerzeń napisanych w C lub C++ oraz
287 osadzania w innych programach. Ten pakiet zawiera pliki nagłówkowe i
288 wszystko inne co potrzebne do tych celów.
290 %description devel -l pt_BR.UTF-8
291 O interpretador Python permite incluir com facilidade extensões
292 carregadas dinamicamente. Python é também fácil de ser embutido em
293 outros programas. Este pacote contém os arquivos de inclusão e
294 bibliotecas necessários para estas duas tarefas.
296 %description devel -l ru.UTF-8
297 Интерпретатор Python относительно легко расширяется при помощи
298 динамически загружаемых расширений и встраивается в другие программы.
299 Этот пакет содержит хедеры и библиотеки, необходимые для обеих этих
302 %description devel -l tr.UTF-8
303 Bu paket, Python ile geliştirme yapılabilmesi için gerekli başlık
304 dosyalarını ve kitaplıkları içerir.
306 %description devel -l uk.UTF-8
307 Інтерпретатор Python відносно легко розширюється за допомогою
308 розширень з динамічною загрузкою та вбудовується в інші програми. Цей
309 пакет містить хедери та бібліотеки, необхідні для обох цих задач.
312 Summary: Python module sources
313 Summary(pl.UTF-8): Pliki źródłowe modułów Pythona
314 Group: Development/Languages/Python
315 Requires: %{name}-modules = %{epoch}:%{version}-%{release}
317 %description devel-src
318 Python module sources.
320 %description devel-src -l pl.UTF-8
321 Pliki źródłowe modułów Pythona.
324 Summary: Python development tools
325 Summary(pl.UTF-8): Narzędzia programistyczne języka Python
326 Group: Development/Languages/Python
327 Requires: %{name}-modules = %{epoch}:%{version}-%{release}
329 %description devel-tools
330 Python development tools such as profilers and debugger.
332 %description devel-tools -l pl.UTF-8
333 Narzędzia programistyczne języka Python takie jak profiler oraz
337 Summary: Automated Python 2 to 3 code translation
338 Summary(pl.UTF-8): Automatyczne tłumaczenie kodu Pythona 2 do 3
339 Group: Development/Languages/Pythona
342 2to3 is a Python program that reads Python 2.x source code and applies
343 a series of fixers to transform it into valid Python 3.x code. The
344 standard library contains a rich set of fixers that will handle almost
345 all code. 2to3 supporting library lib2to3 is, however, a flexible and
346 generic library, so it is possible to write your own fixers for 2to3.
347 lib2to3 could also be adapted to custom applications in which Python
348 code needs to be edited automatically.
350 %description 2to3 -l pl.UTF-8
351 2to3 to program w Pythonie czytający od źródłowy w Pythonie 2.x i
352 aplikujący serię poprawek przekształcających go w poprawny kod w
353 Pythonie 3.x. Biblioteka standardowa zawiera duży zbiór poprawek
354 obsługujących większość kodu. Biblioteka wspierająca 2to3 (lib2to3)
355 jest jednak elastyczną i ogólną biblioteką, więc można pisać własne
356 poprawki dla 2to3. lib2to3 można także zaadaptować na potrzeby
357 własnych zastosowań, w których kod w Pythonie musi być modyfikowany
361 Summary: Static python library
362 Summary(pl.UTF-8): Statyczna biblioteka Pythona
363 Group: Development/Languages/Python
364 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
367 Static python library.
369 %description static -l pl.UTF-8
370 Statyczna biblioteka Pythona.
373 Summary: Documentation on Python in texinfo format
374 Summary(pl.UTF-8): Dokumentacja do Pythona w formacie texinfo
377 %description doc-info
378 Documentation on Python in texinfo format.
380 %description doc-info -l pl.UTF-8
381 Dokumentacja do Pythona w formacie texinfo.
384 Summary: Standard Python interface to the Tk GUI toolkit
385 Summary(de.UTF-8): Grafische Tk-Schnittstelle für Python
386 Summary(es.UTF-8): Interfaz de GUI Tk para Python
387 Summary(fr.UTF-8): Interface graphique Tk pour Python
388 Summary(pl.UTF-8): Standardowy interfejs Pythona do biblioteki Tk
389 Summary(pt_BR.UTF-8): Interface GUI Tk para Phyton
390 Summary(tr.UTF-8): Python için grafik kullanıcı arayüzü
391 Group: Libraries/Python
392 Requires: %{name}-modules = %{epoch}:%{version}-%{release}
393 Requires: tcl >= 8.4.3
394 Requires: tix >= 1:8.1.4-4
395 Requires: tk >= 8.4.3
398 Standard Python interface to the Tk GUI toolkit.
400 %description tkinter -l de.UTF-8
401 Eine grafische Schnittstelle für Python, basierend auf Tcl/Tk, und von
402 vielen Konfigurations-Tools genutzt.
404 %description tkinter -l es.UTF-8
405 Una interfaz gráfica para Python, basada en Tcl/Tk, y usada por muchas
406 herramientas de configuración.
408 %description tkinter -l fr.UTF-8
409 Interface graphique pour Python, basée sur Tcl/Tk et utilisée par
410 beaucoup des outils de configuration.
412 %description tkinter -l pl.UTF-8
413 Standardowy interfejs Pythona do biblioteki Tk.
415 %description tkinter -l pt_BR.UTF-8
416 Uma interface gráfica para Python, baseada em Tcl/Tk, e usada por
417 muitas ferramentas de configuração.
419 %description tkinter -l ru.UTF-8
420 Графический интерфейс (GUI) для Python, построенный на Tcl/Tk.
422 %description tkinter -l tr.UTF-8
423 Python için Tcl/Tk'ye dayalı ve pek çok ayarlama aracı tarafından
424 kullanılan grafik bir arayüzdür.
426 %description tkinter -l uk.UTF-8
427 Графічний інтерфейс (GUI) для Python, побудований на Tcl/Tk.
430 Summary: Example programs in Python
431 Summary(pl.UTF-8): Przykładowe programy w Pythonie
432 Group: Development/Languages/Python
434 %description examples
435 Example programs in Python.
437 These are for Python 2.3.4, not %{version}.
439 %description examples -l pl.UTF-8
440 Przykładowe programy w Pythonie.
442 Przykłady te są dla Pythona 2.3.4, nie %{version}.
445 %setup -q -n Python-%{version}
455 %{__rm} -r Modules/zlib
456 %{__rm} -r Modules/expat
458 for SUBDIR in darwin libffi libffi_arm_wince libffi_msvc libffi_osx; do
459 %{__rm} -r Modules/_ctypes/$SUBDIR
462 files="md5module.c sha1module.c"
463 %if !0%(pkg-config openssl --atleast-version=0.9.8; echo $?)
464 files="$files sha256module.c sha512module.c"
471 if ! grep -q "tmpfs" /proc/self/mounts; then
472 echo "You need to have /dev/shm mounted in order to build this package!" >&2
473 echo "(Or any other tmpfs mounted and accessible to the rpmbuild process)" >&2
478 CPPFLAGS="-I/usr/include/ncursesw %{rpmcppflags}"; export CPPFLAGS
480 ac_cv_posix_semaphores_enabled=yes \
481 ac_cv_broken_sem_getvalue=no \
482 --with-cxx-main="%{__cxx}" \
485 --with-dbmliborder=gdbm:bdb \
486 --with-wide-unicode \
487 --with-signal-module \
488 %ifarch %{ix86} %{x8664} ppc ppc64
494 --with-system-expat \
496 --with-computed-gotos \
497 LINKCC='$(PURIFY) $(CXX)' \
498 LDSHARED='$(CC) $(CFLAGS) -shared' \
499 BLDSHARED='$(CC) $(CFLAGS) -shared' \
500 LDFLAGS="%{rpmcflags} %{rpmldflags}"
503 OPT="%{rpmcflags} -fno-caller-saves" 2>&1 | awk '
504 BEGIN { fail = 0; logmsg = ""; }
506 if ($0 ~ /\*\*\* WARNING:/) {
512 END { if (fail) { print "\nPROBLEMS FOUND:"; print logmsg; exit(1); } }'
517 binlibdir=`echo build/lib.*`
519 TESTOPTS="%{test_flags} %{test_list}" \
520 TESTPYTHON="LD_LIBRARY_PATH=`pwd` PYTHONHOME=`pwd` PYTHONPATH=`pwd`/Lib:`pwd`/$binlibdir ./python -tt"
524 rm -rf $RPM_BUILD_ROOT
525 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_pkgconfigdir}} \
526 $RPM_BUILD_ROOT{%{py_sitedir},%{py_sitescriptdir}}/__pycache__ \
527 $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
528 $RPM_BUILD_ROOT{%{_infodir},%{_mandir}/man1} \
529 $RPM_BUILD_ROOT/etc/shrc.d
532 DESTDIR=$RPM_BUILD_ROOT
535 %{__make} -C Doc/info
536 cp -p Doc/info/python*info* $RPM_BUILD_ROOT%{_infodir}
539 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
540 cp -a Tools $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
542 # make libpython3.so simply symlink to real lib
543 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libpython3.so
544 ln -s libpython%{py_abi}.so $RPM_BUILD_ROOT%{_libdir}/libpython3.so
547 # create several useful aliases, such as timeit.py, profile.py, pdb.py, smtpd.py
550 # for python devel tools
551 for script in timeit profile pdb pstats; do
552 echo "alias ${script}%{py_ver}.py='python%{py_ver} -m ${script}'"
553 done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh
555 echo "alias pygettext%{py_ver}.py='pygettext%{py_ver}'" \
556 >> $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh
559 < $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh \
560 > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.csh
563 for script in smtpd webbrowser; do
564 echo "alias ${script}%{py_ver}.py='python%{py_ver} -m ${script}'"
565 done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.sh
568 < $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.sh \
569 > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.csh
571 # xgettext specific for Python code
573 # we will have two commands: pygettext.py (an alias) and pygettext;
574 # this way there are no import (which is impossible now) conflicts and
575 # pygettext.py is provided for compatibility
576 install -p Tools/i18n/pygettext.py $RPM_BUILD_ROOT%{_bindir}/pygettext%{py_ver}
578 # just to cut the noise, as they are not packaged (now)
579 # first tests (probably could be packaged)
580 %{__rm} -r $RPM_BUILD_ROOT%{py_scriptdir}/test
581 %{__rm} -r $RPM_BUILD_ROOT%{py_scriptdir}/ctypes/test
582 %{__rm} -r $RPM_BUILD_ROOT%{py_scriptdir}/distutils/tests
583 %{__rm} -r $RPM_BUILD_ROOT%{py_scriptdir}/email/test
584 %{__rm} -r $RPM_BUILD_ROOT%{py_scriptdir}/importlib/test
585 %{__rm} -r $RPM_BUILD_ROOT%{py_scriptdir}/lib2to3/tests
586 %{__rm} -r $RPM_BUILD_ROOT%{py_scriptdir}/sqlite3/test
587 %{__rm} -r $RPM_BUILD_ROOT%{py_scriptdir}/tkinter/test
588 %{__rm} -r $RPM_BUILD_ROOT%{py_scriptdir}/unittest/test
591 %{__rm} $RPM_BUILD_ROOT%{py_scriptdir}/plat-*/regen
592 %{__rm} $RPM_BUILD_ROOT%{py_scriptdir}/ctypes/macholib/fetch_macholib*
593 %{__rm} $RPM_BUILD_ROOT%{py_scriptdir}/site-packages/README
594 %{__rm} $RPM_BUILD_ROOT%{py_scriptdir}/distutils/command/wininst*.exe
595 %{__rm} $RPM_BUILD_ROOT%{py_scriptdir}/idlelib/*.bat
596 %{__rm} $RPM_BUILD_ROOT%{py_scriptdir}/idlelib/*.pyw
598 # currently provided by python-2to3, consider switching to this one
599 %{__rm} $RPM_BUILD_ROOT%{_bindir}/2to3
601 # that seems to be only an empty extension template,
602 # which seems to be built only {with tests}
603 %{__rm} -f $RPM_BUILD_ROOT%{py_dyndir}/xxlimited.*.so
606 %{__rm} $RPM_BUILD_ROOT%{py_scriptdir}/LICENSE.txt
609 rm -rf $RPM_BUILD_ROOT
611 %post libs -p /sbin/ldconfig
612 %postun libs -p /sbin/ldconfig
614 %post doc-info -p /sbin/postshell
615 -/usr/sbin/fix-info-dir -c %{_infodir}
617 %postun doc-info -p /sbin/postshell
618 -/usr/sbin/fix-info-dir -c %{_infodir}
621 %defattr(644,root,root,755)
622 %attr(755,root,root) %{_bindir}/python%{py_ver}
623 %attr(755,root,root) %{_bindir}/python%{py_abi}
624 %attr(755,root,root) %{_bindir}/python3
625 %{_mandir}/man1/python%{py_ver}.1*
628 %defattr(644,root,root,755)
630 %attr(755,root,root) %{_libdir}/libpython%{py_abi}.so.*.*
633 %{py_incdir}/pyconfig.h
638 %dir %{py_sitedir}/__pycache__
640 %dir %{py_scriptdir}/__pycache__
641 %dir %{py_sitescriptdir}
642 %dir %{py_sitescriptdir}/__pycache__
644 # shared modules required by python library
645 %attr(755,root,root) %{py_dyndir}/_struct.cpython-*.so
647 # modules required by python library
648 %{py_scriptdir}/_abcoll.py
649 %{py_scriptdir}/_weakrefset.py
650 %{py_scriptdir}/abc.py
651 %{py_scriptdir}/bisect.py
652 %{py_scriptdir}/codecs.py
653 %{py_scriptdir}/collections.py
654 %{py_scriptdir}/copyreg.py
655 %{py_scriptdir}/functools.py
656 %{py_scriptdir}/genericpath.py
657 %{py_scriptdir}/heapq.py
658 %{py_scriptdir}/keyword.py
659 %{py_scriptdir}/linecache.py
660 %{py_scriptdir}/locale.py
661 %{py_scriptdir}/io.py
662 %{py_scriptdir}/posixpath.py
663 %{py_scriptdir}/re.py
664 %{py_scriptdir}/reprlib.py
665 %{py_scriptdir}/site.py
666 %{py_scriptdir}/sre_*.py
667 %{py_scriptdir}/stat.py
668 %{py_scriptdir}/sysconfig.py
669 %{py_scriptdir}/token.py
670 %{py_scriptdir}/tokenize.py
671 %{py_scriptdir}/traceback.py
672 %{py_scriptdir}/weakref.py
673 %{py_scriptdir}/os.py
674 # needed by the dynamic sys.lib patch
675 %{py_scriptdir}/types.py
676 %{py_scriptdir}/__pycache__/_abcoll.cpython-*.py[co]
677 %{py_scriptdir}/__pycache__/_weakrefset.cpython-*.py[co]
678 %{py_scriptdir}/__pycache__/abc.cpython-*.py[co]
679 %{py_scriptdir}/__pycache__/bisect.cpython-*.py[co]
680 %{py_scriptdir}/__pycache__/codecs.cpython-*.py[co]
681 %{py_scriptdir}/__pycache__/collections.cpython-*.py[co]
682 %{py_scriptdir}/__pycache__/copyreg.cpython-*.py[co]
683 %{py_scriptdir}/__pycache__/functools.cpython-*.py[co]
684 %{py_scriptdir}/__pycache__/genericpath.cpython-*.py[co]
685 %{py_scriptdir}/__pycache__/heapq.cpython-*.py[co]
686 %{py_scriptdir}/__pycache__/keyword.cpython-*.py[co]
687 %{py_scriptdir}/__pycache__/linecache.cpython-*.py[co]
688 %{py_scriptdir}/__pycache__/locale.cpython-*.py[co]
689 %{py_scriptdir}/__pycache__/io.cpython-*.py[co]
690 %{py_scriptdir}/__pycache__/posixpath.cpython-*.py[co]
691 %{py_scriptdir}/__pycache__/re.cpython-*.py[co]
692 %{py_scriptdir}/__pycache__/reprlib.cpython-*.py[co]
693 %{py_scriptdir}/__pycache__/site.cpython-*.py[co]
694 %{py_scriptdir}/__pycache__/sre_*.cpython-*.py[co]
695 %{py_scriptdir}/__pycache__/stat.cpython-*.py[co]
696 %{py_scriptdir}/__pycache__/sysconfig.cpython-*.py[co]
697 %{py_scriptdir}/__pycache__/token.cpython-*.py[co]
698 %{py_scriptdir}/__pycache__/tokenize.cpython-*.py[co]
699 %{py_scriptdir}/__pycache__/traceback.cpython-*.py[co]
700 %{py_scriptdir}/__pycache__/weakref.cpython-*.py[co]
701 %{py_scriptdir}/__pycache__/os.cpython-*.py[co]
702 %{py_scriptdir}/__pycache__/types.cpython-*.py[co]
704 # encodings required by python library
705 %dir %{py_scriptdir}/encodings
706 %{py_scriptdir}/encodings/__pycache__
707 %{py_scriptdir}/encodings/*.py
709 %dir %{py_libdir}/config-%{py_abi}
710 %{py_libdir}/config-%{py_abi}/Makefile
711 %{py_libdir}/config-%{py_abi}/Setup
712 %{py_libdir}/config-%{py_abi}/Setup.config
713 %{py_libdir}/config-%{py_abi}/Setup.local
716 %defattr(644,root,root,755)
717 /etc/shrc.d/python*-modules*
718 %{py_scriptdir}/__future__.py
719 %{py_scriptdir}/__phello__.foo.py
720 %{py_scriptdir}/_compat_pickle.py
721 %{py_scriptdir}/_dummy_thread.py
722 %{py_scriptdir}/_markupbase.py
723 %{py_scriptdir}/_pyio.py
724 %{py_scriptdir}/_strptime.py
725 %{py_scriptdir}/_threading_local.py
726 %{py_scriptdir}/aifc.py
727 %{py_scriptdir}/antigravity.py
728 %{py_scriptdir}/argparse.py
729 %{py_scriptdir}/ast.py
730 %{py_scriptdir}/asynchat.py
731 %{py_scriptdir}/asyncore.py
732 %{py_scriptdir}/base64.py
733 %{py_scriptdir}/bdb.py
734 %{py_scriptdir}/binhex.py
735 %{py_scriptdir}/cProfile.py
736 %{py_scriptdir}/calendar.py
737 %{py_scriptdir}/cgi.py
738 %{py_scriptdir}/cgitb.py
739 %{py_scriptdir}/chunk.py
740 %{py_scriptdir}/cmd.py
741 %{py_scriptdir}/code.py
742 %{py_scriptdir}/codeop.py
743 %{py_scriptdir}/colorsys.py
744 %{py_scriptdir}/compileall.py
745 %{py_scriptdir}/configparser.py
746 %{py_scriptdir}/contextlib.py
747 %{py_scriptdir}/copy.py
748 %{py_scriptdir}/csv.py
749 %{py_scriptdir}/datetime.py
750 %{py_scriptdir}/decimal.py
751 %{py_scriptdir}/difflib.py
752 %{py_scriptdir}/dis.py
753 %{py_scriptdir}/doctest.py
754 %{py_scriptdir}/dummy_threading.py
755 %{py_scriptdir}/filecmp.py
756 %{py_scriptdir}/fileinput.py
757 %{py_scriptdir}/fnmatch.py
758 %{py_scriptdir}/formatter.py
759 %{py_scriptdir}/fractions.py
760 %{py_scriptdir}/ftplib.py
761 %{py_scriptdir}/getopt.py
762 %{py_scriptdir}/getpass.py
763 %{py_scriptdir}/gettext.py
764 %{py_scriptdir}/glob.py
765 %{py_scriptdir}/gzip.py
766 %{py_scriptdir}/hashlib.py
767 %{py_scriptdir}/hmac.py
768 %{py_scriptdir}/imaplib.py
769 %{py_scriptdir}/imghdr.py
770 %{py_scriptdir}/inspect.py
771 %{py_scriptdir}/macpath.py
772 %{py_scriptdir}/macurl2path.py
773 %{py_scriptdir}/mailbox.py
774 %{py_scriptdir}/mailcap.py
775 %{py_scriptdir}/mimetypes.py
776 %{py_scriptdir}/modulefinder.py
777 %{py_scriptdir}/netrc.py
778 %{py_scriptdir}/nntplib.py
779 %{py_scriptdir}/ntpath.py
780 %{py_scriptdir}/nturl2path.py
781 %{py_scriptdir}/numbers.py
782 %{py_scriptdir}/opcode.py
783 %{py_scriptdir}/optparse.py
784 %{py_scriptdir}/os2emxpath.py
785 %{py_scriptdir}/pickle.py
786 %{py_scriptdir}/pickletools.py
787 %{py_scriptdir}/pipes.py
788 %{py_scriptdir}/pkgutil.py
789 %{py_scriptdir}/platform.py
790 %{py_scriptdir}/plistlib.py
791 %{py_scriptdir}/poplib.py
792 %{py_scriptdir}/pprint.py
793 %{py_scriptdir}/pty.py
794 %{py_scriptdir}/py_compile.py
795 %{py_scriptdir}/pyclbr.py
796 %{py_scriptdir}/queue.py
797 %{py_scriptdir}/quopri.py
798 %{py_scriptdir}/random.py
799 %{py_scriptdir}/rlcompleter.py
800 %{py_scriptdir}/runpy.py
801 %{py_scriptdir}/sched.py
802 %{py_scriptdir}/shelve.py
803 %{py_scriptdir}/shlex.py
804 %{py_scriptdir}/shutil.py
805 %{py_scriptdir}/smtpd.py
806 %{py_scriptdir}/smtplib.py
807 %{py_scriptdir}/sndhdr.py
808 %{py_scriptdir}/socket.py
809 %{py_scriptdir}/socketserver.py
810 %{py_scriptdir}/ssl.py
811 %{py_scriptdir}/string.py
812 %{py_scriptdir}/stringprep.py
813 %{py_scriptdir}/struct.py
814 %{py_scriptdir}/subprocess.py
815 %{py_scriptdir}/sunau.py
816 %{py_scriptdir}/symbol.py
817 %{py_scriptdir}/symtable.py
818 %{py_scriptdir}/tabnanny.py
819 %{py_scriptdir}/tarfile.py
820 %{py_scriptdir}/telnetlib.py
821 %{py_scriptdir}/tempfile.py
822 %{py_scriptdir}/textwrap.py
823 %{py_scriptdir}/this.py
824 %{py_scriptdir}/threading.py
825 %{py_scriptdir}/trace.py
826 %{py_scriptdir}/tty.py
827 %{py_scriptdir}/turtle.py
828 %{py_scriptdir}/uu.py
829 %{py_scriptdir}/uuid.py
830 %{py_scriptdir}/warnings.py
831 %{py_scriptdir}/wave.py
832 %{py_scriptdir}/webbrowser.py
833 %{py_scriptdir}/xdrlib.py
834 %{py_scriptdir}/zipfile.py
835 %{py_scriptdir}/__pycache__/__future__.cpython-*.py[co]
836 %{py_scriptdir}/__pycache__/__phello__.foo.cpython-*.py[co]
837 %{py_scriptdir}/__pycache__/_compat_pickle.cpython-*.py[co]
838 %{py_scriptdir}/__pycache__/_dummy_thread.cpython-*.py[co]
839 %{py_scriptdir}/__pycache__/_markupbase.cpython-*.py[co]
840 %{py_scriptdir}/__pycache__/_pyio.cpython-*.py[co]
841 %{py_scriptdir}/__pycache__/_strptime.cpython-*.py[co]
842 %{py_scriptdir}/__pycache__/_threading_local.cpython-*.py[co]
843 %{py_scriptdir}/__pycache__/aifc.cpython-*.py[co]
844 %{py_scriptdir}/__pycache__/antigravity.cpython-*.py[co]
845 %{py_scriptdir}/__pycache__/argparse.cpython-*.py[co]
846 %{py_scriptdir}/__pycache__/ast.cpython-*.py[co]
847 %{py_scriptdir}/__pycache__/asynchat.cpython-*.py[co]
848 %{py_scriptdir}/__pycache__/asyncore.cpython-*.py[co]
849 %{py_scriptdir}/__pycache__/base64.cpython-*.py[co]
850 %{py_scriptdir}/__pycache__/bdb.cpython-*.py[co]
851 %{py_scriptdir}/__pycache__/binhex.cpython-*.py[co]
852 %{py_scriptdir}/__pycache__/cProfile.cpython-*.py[co]
853 %{py_scriptdir}/__pycache__/calendar.cpython-*.py[co]
854 %{py_scriptdir}/__pycache__/cgi.cpython-*.py[co]
855 %{py_scriptdir}/__pycache__/cgitb.cpython-*.py[co]
856 %{py_scriptdir}/__pycache__/chunk.cpython-*.py[co]
857 %{py_scriptdir}/__pycache__/cmd.cpython-*.py[co]
858 %{py_scriptdir}/__pycache__/code.cpython-*.py[co]
859 %{py_scriptdir}/__pycache__/codeop.cpython-*.py[co]
860 %{py_scriptdir}/__pycache__/colorsys.cpython-*.py[co]
861 %{py_scriptdir}/__pycache__/compileall.cpython-*.py[co]
862 %{py_scriptdir}/__pycache__/configparser.cpython-*.py[co]
863 %{py_scriptdir}/__pycache__/contextlib.cpython-*.py[co]
864 %{py_scriptdir}/__pycache__/copy.cpython-*.py[co]
865 %{py_scriptdir}/__pycache__/csv.cpython-*.py[co]
866 %{py_scriptdir}/__pycache__/datetime.cpython-*.py[co]
867 %{py_scriptdir}/__pycache__/decimal.cpython-*.py[co]
868 %{py_scriptdir}/__pycache__/difflib.cpython-*.py[co]
869 %{py_scriptdir}/__pycache__/dis.cpython-*.py[co]
870 %{py_scriptdir}/__pycache__/doctest.cpython-*.py[co]
871 %{py_scriptdir}/__pycache__/dummy_threading.cpython-*.py[co]
872 %{py_scriptdir}/__pycache__/filecmp.cpython-*.py[co]
873 %{py_scriptdir}/__pycache__/fileinput.cpython-*.py[co]
874 %{py_scriptdir}/__pycache__/fnmatch.cpython-*.py[co]
875 %{py_scriptdir}/__pycache__/formatter.cpython-*.py[co]
876 %{py_scriptdir}/__pycache__/fractions.cpython-*.py[co]
877 %{py_scriptdir}/__pycache__/ftplib.cpython-*.py[co]
878 %{py_scriptdir}/__pycache__/getopt.cpython-*.py[co]
879 %{py_scriptdir}/__pycache__/getpass.cpython-*.py[co]
880 %{py_scriptdir}/__pycache__/gettext.cpython-*.py[co]
881 %{py_scriptdir}/__pycache__/glob.cpython-*.py[co]
882 %{py_scriptdir}/__pycache__/gzip.cpython-*.py[co]
883 %{py_scriptdir}/__pycache__/hashlib.cpython-*.py[co]
884 %{py_scriptdir}/__pycache__/hmac.cpython-*.py[co]
885 %{py_scriptdir}/__pycache__/imaplib.cpython-*.py[co]
886 %{py_scriptdir}/__pycache__/imghdr.cpython-*.py[co]
887 %{py_scriptdir}/__pycache__/inspect.cpython-*.py[co]
888 %{py_scriptdir}/__pycache__/macpath.cpython-*.py[co]
889 %{py_scriptdir}/__pycache__/macurl2path.cpython-*.py[co]
890 %{py_scriptdir}/__pycache__/mailbox.cpython-*.py[co]
891 %{py_scriptdir}/__pycache__/mailcap.cpython-*.py[co]
892 %{py_scriptdir}/__pycache__/mimetypes.cpython-*.py[co]
893 %{py_scriptdir}/__pycache__/modulefinder.cpython-*.py[co]
894 %{py_scriptdir}/__pycache__/netrc.cpython-*.py[co]
895 %{py_scriptdir}/__pycache__/nntplib.cpython-*.py[co]
896 %{py_scriptdir}/__pycache__/ntpath.cpython-*.py[co]
897 %{py_scriptdir}/__pycache__/nturl2path.cpython-*.py[co]
898 %{py_scriptdir}/__pycache__/numbers.cpython-*.py[co]
899 %{py_scriptdir}/__pycache__/opcode.cpython-*.py[co]
900 %{py_scriptdir}/__pycache__/optparse.cpython-*.py[co]
901 %{py_scriptdir}/__pycache__/os2emxpath.cpython-*.py[co]
902 %{py_scriptdir}/__pycache__/pickle.cpython-*.py[co]
903 %{py_scriptdir}/__pycache__/pickletools.cpython-*.py[co]
904 %{py_scriptdir}/__pycache__/pipes.cpython-*.py[co]
905 %{py_scriptdir}/__pycache__/pkgutil.cpython-*.py[co]
906 %{py_scriptdir}/__pycache__/platform.cpython-*.py[co]
907 %{py_scriptdir}/__pycache__/plistlib.cpython-*.py[co]
908 %{py_scriptdir}/__pycache__/poplib.cpython-*.py[co]
909 %{py_scriptdir}/__pycache__/pprint.cpython-*.py[co]
910 %{py_scriptdir}/__pycache__/pty.cpython-*.py[co]
911 %{py_scriptdir}/__pycache__/py_compile.cpython-*.py[co]
912 %{py_scriptdir}/__pycache__/pyclbr.cpython-*.py[co]
913 %{py_scriptdir}/__pycache__/queue.cpython-*.py[co]
914 %{py_scriptdir}/__pycache__/quopri.cpython-*.py[co]
915 %{py_scriptdir}/__pycache__/random.cpython-*.py[co]
916 %{py_scriptdir}/__pycache__/rlcompleter.cpython-*.py[co]
917 %{py_scriptdir}/__pycache__/runpy.cpython-*.py[co]
918 %{py_scriptdir}/__pycache__/sched.cpython-*.py[co]
919 %{py_scriptdir}/__pycache__/shelve.cpython-*.py[co]
920 %{py_scriptdir}/__pycache__/shlex.cpython-*.py[co]
921 %{py_scriptdir}/__pycache__/shutil.cpython-*.py[co]
922 %{py_scriptdir}/__pycache__/smtpd.cpython-*.py[co]
923 %{py_scriptdir}/__pycache__/smtplib.cpython-*.py[co]
924 %{py_scriptdir}/__pycache__/sndhdr.cpython-*.py[co]
925 %{py_scriptdir}/__pycache__/socket.cpython-*.py[co]
926 %{py_scriptdir}/__pycache__/socketserver.cpython-*.py[co]
927 %{py_scriptdir}/__pycache__/ssl.cpython-*.py[co]
928 %{py_scriptdir}/__pycache__/string.cpython-*.py[co]
929 %{py_scriptdir}/__pycache__/stringprep.cpython-*.py[co]
930 %{py_scriptdir}/__pycache__/struct.cpython-*.py[co]
931 %{py_scriptdir}/__pycache__/subprocess.cpython-*.py[co]
932 %{py_scriptdir}/__pycache__/sunau.cpython-*.py[co]
933 %{py_scriptdir}/__pycache__/symbol.cpython-*.py[co]
934 %{py_scriptdir}/__pycache__/symtable.cpython-*.py[co]
935 %{py_scriptdir}/__pycache__/tabnanny.cpython-*.py[co]
936 %{py_scriptdir}/__pycache__/tarfile.cpython-*.py[co]
937 %{py_scriptdir}/__pycache__/telnetlib.cpython-*.py[co]
938 %{py_scriptdir}/__pycache__/tempfile.cpython-*.py[co]
939 %{py_scriptdir}/__pycache__/textwrap.cpython-*.py[co]
940 %{py_scriptdir}/__pycache__/this.cpython-*.py[co]
941 %{py_scriptdir}/__pycache__/threading.cpython-*.py[co]
942 %{py_scriptdir}/__pycache__/trace.cpython-*.py[co]
943 %{py_scriptdir}/__pycache__/tty.cpython-*.py[co]
944 %{py_scriptdir}/__pycache__/turtle.cpython-*.py[co]
945 %{py_scriptdir}/__pycache__/uu.cpython-*.py[co]
946 %{py_scriptdir}/__pycache__/uuid.cpython-*.py[co]
947 %{py_scriptdir}/__pycache__/warnings.cpython-*.py[co]
948 %{py_scriptdir}/__pycache__/wave.cpython-*.py[co]
949 %{py_scriptdir}/__pycache__/webbrowser.cpython-*.py[co]
950 %{py_scriptdir}/__pycache__/xdrlib.cpython-*.py[co]
951 %{py_scriptdir}/__pycache__/zipfile.cpython-*.py[co]
952 %{py_dyndir}/Python-%{version}-py*.egg-info
955 # list .so modules to be sure that all of them are built
958 %attr(755,root,root) %{py_dyndir}/_bisect.cpython-*.so
959 %attr(755,root,root) %{py_dyndir}/_codecs_cn.cpython-*.so
960 %attr(755,root,root) %{py_dyndir}/_codecs_hk.cpython-*.so
961 %attr(755,root,root) %{py_dyndir}/_codecs_iso2022.cpython-*.so
962 %attr(755,root,root) %{py_dyndir}/_codecs_jp.cpython-*.so
963 %attr(755,root,root) %{py_dyndir}/_codecs_kr.cpython-*.so
964 %attr(755,root,root) %{py_dyndir}/_codecs_tw.cpython-*.so
965 %attr(755,root,root) %{py_dyndir}/_csv.cpython-*.so
966 %attr(755,root,root) %{py_dyndir}/_ctypes*.cpython-*.so
967 %attr(755,root,root) %{py_dyndir}/_curses_panel.cpython-*.so
968 %attr(755,root,root) %{py_dyndir}/_curses.cpython-*.so
969 %attr(755,root,root) %{py_dyndir}/_datetime.cpython-*.so
971 %attr(755,root,root) %{py_dyndir}/_dbm.cpython-*.so
973 %attr(755,root,root) %{py_dyndir}/_elementtree.cpython-*.so
974 %attr(755,root,root) %{py_dyndir}/_gdbm.cpython-*.so
975 %attr(755,root,root) %{py_dyndir}/_hashlib.cpython-*.so
976 %attr(755,root,root) %{py_dyndir}/_heapq.cpython-*.so
977 %attr(755,root,root) %{py_dyndir}/_json.cpython-*.so
978 %attr(755,root,root) %{py_dyndir}/_lsprof.cpython-*.so
979 %attr(755,root,root) %{py_dyndir}/_multibytecodec.cpython-*.so
980 %attr(755,root,root) %{py_dyndir}/_multiprocessing.cpython-*.so
981 %attr(755,root,root) %{py_dyndir}/_pickle.cpython-*.so
982 %attr(755,root,root) %{py_dyndir}/_posixsubprocess.cpython-*.so
983 %attr(755,root,root) %{py_dyndir}/_random.cpython-*.so
984 %attr(755,root,root) %{py_dyndir}/_socket.cpython-*.so
985 %attr(755,root,root) %{py_dyndir}/_ssl.cpython-*.so
986 %attr(755,root,root) %{py_dyndir}/_testcapi.cpython-*.so
988 # for openssl < 0.9.8 package sha256 and sha512 modules
989 %if 0%(pkg-config openssl --atleast-version=0.9.8; echo $?)
990 %attr(755,root,root) %{py_dyndir}/_sha256.cpython-*.so
991 %attr(755,root,root) %{py_dyndir}/_sha512.cpython-*.so
994 %attr(755,root,root) %{py_dyndir}/array.cpython-*.so
995 %attr(755,root,root) %{py_dyndir}/atexit.cpython-*.so
996 %attr(755,root,root) %{py_dyndir}/audioop.cpython-*.so
997 %attr(755,root,root) %{py_dyndir}/binascii.cpython-*.so
998 %attr(755,root,root) %{py_dyndir}/bz2.cpython-*.so
999 %attr(755,root,root) %{py_dyndir}/cmath.cpython-*.so
1000 %attr(755,root,root) %{py_dyndir}/crypt.cpython-*.so
1001 %attr(755,root,root) %{py_dyndir}/fcntl.cpython-*.so
1002 %attr(755,root,root) %{py_dyndir}/grp.cpython-*.so
1003 %attr(755,root,root) %{py_dyndir}/math.cpython-*.so
1004 %attr(755,root,root) %{py_dyndir}/mmap.cpython-*.so
1005 %attr(755,root,root) %{py_dyndir}/nis.cpython-*.so
1006 %attr(755,root,root) %{py_dyndir}/ossaudiodev.cpython-*.so
1007 %attr(755,root,root) %{py_dyndir}/parser.cpython-*.so
1008 %attr(755,root,root) %{py_dyndir}/pyexpat.cpython-*.so
1009 %attr(755,root,root) %{py_dyndir}/readline.cpython-*.so
1010 %attr(755,root,root) %{py_dyndir}/resource.cpython-*.so
1011 %attr(755,root,root) %{py_dyndir}/select.cpython-*.so
1012 %attr(755,root,root) %{py_dyndir}/syslog.cpython-*.so
1013 %attr(755,root,root) %{py_dyndir}/termios.cpython-*.so
1014 %attr(755,root,root) %{py_dyndir}/time.cpython-*.so
1015 %attr(755,root,root) %{py_dyndir}/spwd.cpython-*.so
1016 %attr(755,root,root) %{py_dyndir}/unicodedata.cpython-*.so
1017 %attr(755,root,root) %{py_dyndir}/zlib.cpython-*.so
1019 %dir %{py_scriptdir}/plat-*
1020 %{py_scriptdir}/plat-*/__pycache__
1021 %{py_scriptdir}/plat-*/*.py
1023 %{py_scriptdir}/concurrent
1025 %dir %{py_scriptdir}/ctypes
1026 %dir %{py_scriptdir}/ctypes/macholib
1027 %{py_scriptdir}/ctypes/__pycache__
1028 %{py_scriptdir}/ctypes/macholib/__pycache__
1030 %{py_scriptdir}/ctypes/*.py
1031 %{py_scriptdir}/ctypes/macholib/*.py
1032 %doc %{py_scriptdir}/ctypes/macholib/README.ctypes
1034 %dir %{py_scriptdir}/curses
1035 %{py_scriptdir}/curses/__pycache__
1036 %{py_scriptdir}/curses/*.py
1038 %dir %{py_scriptdir}/dbm
1039 %{py_scriptdir}/dbm/__pycache__
1040 %{py_scriptdir}/dbm/*.py
1042 %dir %{py_scriptdir}/distutils
1043 %dir %{py_scriptdir}/distutils/command
1044 %doc %{py_scriptdir}/distutils/README
1045 %{py_scriptdir}/distutils/__pycache__
1046 %{py_scriptdir}/distutils/command/__pycache__
1047 %{py_scriptdir}/distutils/*.py
1048 %{py_scriptdir}/distutils/command/*.py
1049 %{py_scriptdir}/distutils/command/command_template
1051 %dir %{py_scriptdir}/email
1052 %dir %{py_scriptdir}/email/mime
1053 %{py_scriptdir}/email/__pycache__
1054 %{py_scriptdir}/email/mime/__pycache__
1055 %{py_scriptdir}/email/*.py
1056 %{py_scriptdir}/email/mime/*.py
1058 %dir %{py_scriptdir}/html
1059 %{py_scriptdir}/html/*.py
1060 %{py_scriptdir}/html/__pycache__
1062 %dir %{py_scriptdir}/http
1063 %{py_scriptdir}/http/__pycache__
1064 %{py_scriptdir}/http/*.py
1066 %dir %{py_scriptdir}/importlib
1067 %{py_scriptdir}/importlib/__pycache__
1068 %{py_scriptdir}/importlib/*.py
1070 %dir %{py_scriptdir}/json
1071 %{py_scriptdir}/json/__pycache__
1072 %{py_scriptdir}/json/*.py
1074 %dir %{py_scriptdir}/logging
1075 %{py_scriptdir}/logging/__pycache__
1076 %{py_scriptdir}/logging/*.py
1078 %dir %{py_scriptdir}/multiprocessing
1079 %{py_scriptdir}/multiprocessing/__pycache__
1080 %{py_scriptdir}/multiprocessing/*.py
1081 %dir %{py_scriptdir}/multiprocessing/dummy
1082 %{py_scriptdir}/multiprocessing/dummy/__pycache__
1083 %{py_scriptdir}/multiprocessing/dummy/*.py
1085 %{py_scriptdir}/turtledemo
1086 %{py_scriptdir}/unittest
1088 %dir %{py_scriptdir}/urllib
1089 %{py_scriptdir}/urllib/__pycache__
1090 %{py_scriptdir}/urllib/*.py
1092 %dir %{py_scriptdir}/wsgiref
1093 %{py_scriptdir}/wsgiref/__pycache__
1094 %{py_scriptdir}/wsgiref/*.py
1095 %{py_scriptdir}/wsgiref.egg-info
1097 %dir %{py_scriptdir}/xml
1098 %dir %{py_scriptdir}/xml/dom
1099 %dir %{py_scriptdir}/xml/etree
1100 %dir %{py_scriptdir}/xml/parsers
1101 %dir %{py_scriptdir}/xml/sax
1102 %{py_scriptdir}/xml/__pycache__
1103 %{py_scriptdir}/xml/dom/__pycache__
1104 %{py_scriptdir}/xml/etree/__pycache__
1105 %{py_scriptdir}/xml/parsers/__pycache__
1106 %{py_scriptdir}/xml/sax/__pycache__
1107 %{py_scriptdir}/xml/*.py
1108 %{py_scriptdir}/xml/dom/*.py
1109 %{py_scriptdir}/xml/etree/*.py
1110 %{py_scriptdir}/xml/parsers/*.py
1111 %{py_scriptdir}/xml/sax/*.py
1113 %dir %{py_scriptdir}/xmlrpc
1114 %{py_scriptdir}/xmlrpc/__pycache__
1115 %{py_scriptdir}/xmlrpc/*.py
1117 %attr(755,root,root) %{py_dyndir}/_sqlite3.cpython-*.so
1118 %dir %{py_scriptdir}/sqlite3
1119 %{py_scriptdir}/sqlite3/__pycache__
1120 %{py_scriptdir}/sqlite3/*.py
1123 %defattr(644,root,root,755)
1124 %attr(755,root,root) %{_bindir}/pydoc3
1125 %attr(755,root,root) %{_bindir}/pydoc3.2
1126 %{py_scriptdir}/pydoc.py
1127 %{py_scriptdir}/__pycache__/pydoc.cpython-*.py[co]
1128 %dir %{py_scriptdir}/pydoc_data
1129 %{py_scriptdir}/pydoc_data/__pycache__
1130 %{py_scriptdir}/pydoc_data/*.py
1131 %{py_scriptdir}/pydoc_data/*.css
1134 %defattr(644,root,root,755)
1135 %attr(755,root,root) %{_bindir}/idle3
1136 %attr(755,root,root) %{_bindir}/idle3.2
1137 %dir %{py_scriptdir}/idlelib
1138 %dir %{py_scriptdir}/idlelib/Icons
1139 %{py_scriptdir}/idlelib/__pycache__
1140 %{py_scriptdir}/idlelib/*.py
1141 %doc %{py_scriptdir}/idlelib/*.txt
1142 %doc %{py_scriptdir}/idlelib/ChangeLog
1143 %{py_scriptdir}/idlelib/Icons/*
1144 %{py_scriptdir}/idlelib/*.def
1147 %defattr(644,root,root,755)
1148 %doc Misc/{ACKS,NEWS,README,README.valgrind,valgrind-python.supp}
1149 %attr(755,root,root) %{_bindir}/python%{py_ver}-config
1150 %attr(755,root,root) %{_bindir}/python%{py_abi}-config
1151 %attr(755,root,root) %{_bindir}/python3-config
1152 %attr(755,root,root) %{_libdir}/libpython%{py_abi}.so
1153 %attr(755,root,root) %{_libdir}/libpython3.so
1155 %exclude %{py_incdir}/pyconfig.h
1156 %attr(755,root,root) %{py_libdir}/config-%{py_abi}/makesetup
1157 %attr(755,root,root) %{py_libdir}/config-%{py_abi}/install-sh
1158 %{py_libdir}/config-%{py_abi}/config.c
1159 %{py_libdir}/config-%{py_abi}/config.c.in
1160 %{py_libdir}/config-%{py_abi}/python.o
1161 %{_pkgconfigdir}/python-%{py_ver}.pc
1162 %{_pkgconfigdir}/python-%{py_abi}.pc
1163 %{_pkgconfigdir}/python3.pc
1166 %defattr(644,root,root,755)
1167 /etc/shrc.d/python*-devel*
1168 %attr(755,root,root) %{_bindir}/pygettext%{py_ver}
1169 %{py_scriptdir}/pdb.py
1170 %{py_scriptdir}/profile.py
1171 %{py_scriptdir}/pstats.py
1172 %{py_scriptdir}/timeit.py
1173 %{py_scriptdir}/__pycache__/pdb.cpython-*.py[co]
1174 %{py_scriptdir}/__pycache__/profile.cpython-*.py[co]
1175 %{py_scriptdir}/__pycache__/pstats.cpython-*.py[co]
1176 %{py_scriptdir}/__pycache__/timeit.cpython-*.py[co]
1179 %attr(755,root,root) %{_bindir}/2to3-%{py_ver}
1180 %dir %{py_scriptdir}/lib2to3
1181 %{py_scriptdir}/lib2to3/__pycache__
1182 %{py_scriptdir}/lib2to3/*.txt
1183 %{py_scriptdir}/lib2to3/*.pickle
1184 %{py_scriptdir}/lib2to3/*.py
1185 %dir %{py_scriptdir}/lib2to3/fixes
1186 %{py_scriptdir}/lib2to3/fixes/__pycache__
1187 %{py_scriptdir}/lib2to3/fixes/*.py
1188 %dir %{py_scriptdir}/lib2to3/pgen2
1189 %{py_scriptdir}/lib2to3/pgen2/__pycache__
1190 %{py_scriptdir}/lib2to3/pgen2/*.py
1193 %defattr(644,root,root,755)
1194 %{_libdir}/libpython%{py_abi}.a
1197 %defattr(644,root,root,755)
1198 %{_examplesdir}/%{name}-%{version}
1202 %defattr(644,root,root,755)
1208 %defattr(644,root,root,755)
1209 %dir %{py_scriptdir}/tkinter
1210 %{py_scriptdir}/tkinter/__pycache__
1211 %{py_scriptdir}/tkinter/*.py
1212 %attr(755,root,root) %{py_dyndir}/_tkinter.cpython-*.so