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