]> git.pld-linux.org Git - packages/python3.git/blame - python3.spec
- up to 3.3.0; patches updated; needs buildfix
[packages/python3.git] / python3.spec
CommitLineData
19221b23 1#
9416f74d
AM
2
3# Conditional build:
4%bcond_with info # info pages (requires emacs)
5%bcond_without tkinter # disables tkinter module building
48e785bb 6%bcond_with tests # disables Python testing
9416f74d 7%bcond_with verbose_tests # runs tests in verbose mode
9416f74d
AM
8#
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
48e785bb 13
9416f74d 14# tests which fail because of some unknown/unresolved reason (this list should be empty)
48e785bb
JK
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
9416f74d 18
b88f500a 19%define py_ver 3.3
c7fdbe10 20%define py_abi %{py_ver}mu
9416f74d
AM
21%define py_prefix %{_prefix}
22%define py_libdir %{py_prefix}/%{_lib}/python%{py_ver}
c7fdbe10 23%define py_incdir %{_includedir}/python%{py_abi}
9416f74d
AM
24%define py_sitedir %{py_libdir}/site-packages
25%define py_dyndir %{py_libdir}/lib-dynload
26
27Summary: Very high level scripting language with X interface
28Summary(es.UTF-8): Lenguaje script de alto nivel con interfaz X
29Summary(fr.UTF-8): Langage de script de très haut niveau avec interface X
30Summary(pl.UTF-8): Python - język obiektowy wysokiego poziomu
31Summary(pt_BR.UTF-8): Linguagem de programação interpretada de alto nível
32Summary(ru.UTF-8): Язык программирования очень высокого уровня с X-интерфейсом
33Summary(tr.UTF-8): X arayüzlü, yüksek düzeyli, kabuk yorumlayıcı dili
34Summary(uk.UTF-8): Мова програмування дуже високого рівня з X-інтерфейсом
2072c60e 35Name: python3
b88f500a
AM
36Version: %{py_ver}.0
37Release: 0.1
9416f74d
AM
38Epoch: 1
39License: PSF
40Group: Applications
0cf503a8 41Source0: http://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz
b88f500a 42# Source0-md5: 2e7533b4009ac4adae62a7797a442e7a
a20e3138
AG
43Patch0: %{name}-pythonpath.patch
44Patch1: %{name}-ac_fixes.patch
45Patch2: %{name}-lib64.patch
46Patch3: %{name}-noarch_to_datadir.patch
ac7f9fdc 47Patch4: %{name}-no_cmdline_tests.patch
35435977 48Patch5: %{name}-makefile-location.patch
2a419ad6 49Patch6: libc-cloexec.patch
b88f500a 50Patch7: %{name}-build.patch
9416f74d 51URL: http://www.python.org/
7daf2f83 52BuildRequires: autoconf >= 2.65
9416f74d
AM
53BuildRequires: bluez-libs-devel
54BuildRequires: bzip2-devel
55BuildRequires: db-devel >= 4
56%{?with_info:BuildRequires: emacs >= 21}
57BuildRequires: expat-devel >= 1:1.95.7
58BuildRequires: file
59BuildRequires: gdbm-devel >= 1.8.3
60BuildRequires: gmp-devel >= 4.0
3ba70ac2 61BuildRequires: libffi-devel
9416f74d
AM
62BuildRequires: libstdc++-devel
63BuildRequires: ncurses-ext-devel >= 5.2
1254741f 64BuildRequires: openssl-devel >= 0.9.7
9416f74d
AM
65BuildRequires: readline-devel >= 5.0
66BuildRequires: rpm-pythonprov
67BuildRequires: sed >= 4.0
68BuildRequires: sqlite3-devel >= 3.3.5
91e93ac7 69BuildRequires: tar >= 1:1.22
9416f74d
AM
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}
73BuildRequires: zlib-devel
74Requires: %{name}-libs = %{epoch}:%{version}-%{release}
9416f74d 75BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34dfde61 76
8d0b0882 77%define specflags_ppc -D__ppc__=1
34dfde61 78%define specflags_ppc64 -D__ppc64__=1
9416f74d
AM
79
80%if %{with verbose_tests}
81%define test_flags -v -l -x
82%else
f488a705 83%define test_flags -w -l -x
9416f74d
AM
84%endif
85
86%ifarch alpha ia64 ppc64 sparc64 ppc64 %{x8664}
87%define test_list %{nobuilder_tests} %{broken_tests} %{no64bit_tests}
88%else
89%define test_list %{nobuilder_tests} %{broken_tests}
90%endif
91
92%ifarch sparc
93%define test_list %{nobuilder_tests} %{broken_tests} test_fcntl test_ioctl
94%endif
95
96%description
97Python is an interpreted, interactive, object-oriented programming
98language. It incorporates modules, exceptions, dynamic typing, very
99high level dynamic data types, and classes. Python combines remarkable
100power with very clear syntax. It has interfaces to many system calls
101and libraries, as well as to various window systems, and is extensible
102in C or C++. It is also usable as an extension language for
103applications that need a programmable interface. Finally, Python is
104portable: it runs on many brands of UNIX, on the Mac, and on PCs under
105MS-DOS, Windows, Windows NT, and OS/2.
106
107This package contains the Python binary.
108
109%description -l de.UTF-8
110Python ist eine interpretierte, interaktive, objektorientierte
111Programmiersprache, vergleichbar zu Tcl, Perl, Scheme oder Java.
112Python enthält Module, Klassen, Exceptions, High-Level dynamische
113Datentypen und dynamisches Typisieren. Python unterstützt Interfaces
114zu vielen Systemaufrufen und Libraries, sowie verschiedene
115Fenstersysteme (X11, Motif, Tk, Mac und MFC)
116
117Programmierer können neue built-in-Module für Python in C oder C++
118schreiben. Python kann auch als Erweiterungssprache für Applikationen
119benutzt werden, die ein programmierbares Interface brauchen. Dieses
120Paket enthält die meisten Standard-Python-Module, und Module zum
121Ansprechen von Tix (Tk-widget set) und RPM.
122
123%description -l es.UTF-8
124Python es un lenguaje de scripts interpretado orientado a objetos.
125Contiene soporte para carga dinámica de objetos, clases, módulos y
126excepciones.
127
128Es sencillo adicionar interfaces para nuevos sistemas de biblioteca a
129través de código C, tornando Python fácil de usar en ambientes
130particulares/personalizados. Este paquete Python incluye la mayoría de
131los módulos padrón Python, junto con módulos para crear interfaces
132para el conjunto de componentes Tix para Tk y RPM.
133
134%description -l fr.UTF-8
135Python est un langage de script interprété et orienté objet. Il gère
136le chargement dynamique des objets, les classes, les modules et les
137exceptions. L'ajout d'interfaces aux nouvelles bibliothèques systèmes
138avec du code C est simple, ce qui rend Python facile à utiliser dans
139des configs personnalisées.
140
141Ce paquetage Python contient la plupart des modules Python standards,
142ainsi que ceux permettant l'interfaçage avec les widgets Tix pour Tk
143et RPM.
144
145%description -l pl.UTF-8
146Python jest interpretowanym, interaktywnym i zorientowanym obiektowo
147językiem programowania. Jest modularny, obsługuje wyjątki, dynamiczne
148typy, zaawansowane dynamiczne struktury danych i klasy. Python łączy w
149sobie duże możliwości i przejrzystą składnię. Posiada interfejsy do
150wielu wywołań systemowych i bibliotek, w tym również do różnych
151bibliotek okienkowych. Możliwości jego można jeszcze rozszerzać
152poprzez odpowiednie moduły pisane w C lub C++. Python może być również
153użyty jako element aplikacji, którym potrzebny jest interpreter do
154skryptów. I wreszcie, Python jest wieloplatformowy, działa na wielu
155odmianach UNIX-a, Macu oraz PC pod DOS-em, Windows, WindowsNT oraz
156OS/2.
157
158Ten pakiet zawiera binarkę Pythona.
159
160%description -l pt_BR.UTF-8
161Python é uma linguagem de scripts interpretada orientada a objetos.
162Contém suporte para carga dinâmica de objetos, classes, módulos e
163exceções. Adicionar interfaces para novos sistemas de biblioteca
164através de código C é simples, tornando Python fácil de usar em
165ambientes particulares/personalizados.
166
167Este pacote Python inclui a maioria do módulos padrão Python, junto
168com módulos para interfaceamento para o conjunto de componentes Tix
169para Tk e RPM.
170
171%description -l ru.UTF-8
172Python - это интерпретируемый, объектно-ориентированный язык
173программирования. Он поддерживает динамическую загрузку объектов,
174классы, модули и обработку исключительных ситуаций (exceptions).
175Простота добавления интерфейсов к новым системным библиотекам через
176код на языке C делает Python хорошим выбором для использования в
177специальных конфигурациях.
178
179%description -l tr.UTF-8
180Python, nesneye yönelik bir kabuk yorumlayıcıdır. Nesnelerin,
181sınıfların, modüllerin ve aykırı durumların dinamik yüklenmelerine
182destek verir. C koduyla birlikte kullanımı son derece kolaydır. Bu
183paket, standart Python birimlerinin çoğunun yanısıra Tk ve RPM için
184arayüz birimlerini de içerir.
185
186%description -l uk.UTF-8
187Python - це інтерпретована, об'єктно-орієнтована мова програмування.
188Він підтримує динамічну загрузку об'єктів, класи, модулі та обробку
189виключних ситуацій (exceptions). Простота додавання інтерфейсів для
190нових системних бібліотек через код на мові C робить Python добрим
191вибором для використання в спеціальних конфігураціях.
192
193%package libs
194Summary: Python library
195Summary(pl.UTF-8): Biblioteka języka Python
196Group: Libraries/Python
197# broken detection in rpm/pythondeps.sh
198Provides: python(abi) = %{py_ver}
199# for compatibility with existing Ac packages
200Provides: python(bytecode) = %{py_ver}
2072c60e 201%{!?with_info:Obsoletes: python3-doc-info}
9416f74d
AM
202
203%description libs
204Python shared library and very essental modules for Python binary.
205
206%description libs -l pl.UTF-8
207Biblioteka współdzielona języka Python oraz bardzo podstawowe moduły
208dla Pythona.
209
210%package modules
211Summary: Python modules
212Summary(pl.UTF-8): Moduły języka Python
213Group: Libraries/Python
214Requires: %{name}-libs = %{epoch}:%{version}-%{release}
fef40d51 215Obsoletes: python3-modules-sqlite
9416f74d
AM
216
217%description modules
218Python officially distributed modules.
219
220%description modules -l pl.UTF-8
221Oficjalnie rozprowadzane moduły języka Python.
222
2072c60e 223%package -n pydoc3
9416f74d
AM
224Summary: Python interactive module documentation access support
225Summary(pl.UTF-8): Interaktywne korzystanie z dokumentacji modułów języka Python
226Group: Applications
227Requires: %{name}-modules = %{epoch}:%{version}-%{release}
228
2072c60e 229%description -n pydoc3
9416f74d
AM
230Python interactive module documentation access support.
231
2072c60e 232%description -n pydoc3 -l pl.UTF-8
9416f74d
AM
233Interaktywne korzystanie z dokumentacji modułów języka Python.
234
2072c60e 235%package -n idle3
9416f74d
AM
236Summary: IDE for Python language
237Summary(pl.UTF-8): IDE dla języka Python
238Group: Applications
239Requires: %{name}-tkinter = %{epoch}:%{version}-%{release}
240
2072c60e 241%description -n idle3
9416f74d
AM
242IDE for Python language.
243
2072c60e 244%description -n idle3 -l pl.UTF-8
9416f74d
AM
245IDE dla języka Python.
246
247%package devel
248Summary: Libraries and header files for building python code
249Summary(de.UTF-8): Libraries und Header-Dateien zum Erstellen von Python-Code
250Summary(es.UTF-8): Bibliotecas y archivos de inclusión para construir programas en python
251Summary(fr.UTF-8): Bibliothèques et en-têtes pour construire du code python
252Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki Pythona
253Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para o Python
254Summary(ru.UTF-8): Библиотеки и хедеры для построения кода на языке Python
255Summary(tr.UTF-8): Python ile geliştirme yapmak için gerekli dosyalar
256Summary(uk.UTF-8): Бібліотеки та хедери для програмування на мові Python
257Group: Development/Languages/Python
258Requires: %{name}-libs = %{epoch}:%{version}-%{release}
259
260%description devel
261The Python interpreter is relatively easy to extend with dynamically
262loaded extensions and to embed in other programs. This package
263contains the header files and libraries which are needed to do both of
264these tasks.
265
266%description devel -l de.UTF-8
267Der Python-Interpretierer ist relativ einfach anhand von dynamisch
268ladbaren Erweiterungen auszubauen und läßt sich in andere Programme
269integrieren. Dieses Paket enthält die Header-Dateien und Libraries,
270die für beide Aufgaben erforderlich sind.
271
272%description devel -l es.UTF-8
273El interpretador Python permite incluir con facilidad extensiones
274cargadas dinámicamente. Python es también fácil de ser empotrado en
275otros programas. Este paquete contiene los archivos de inclusión y
276bibliotecas necesarios para estas dos tareas.
277
278%description devel -l fr.UTF-8
279L'interpréteur Python est relativement facile à étendre avec des
280extensions chargées dynamiquement et à insérer dans d'autres
281programmes. Ce paquetage contient les en-têtes et les bibliothèques
282nécessaires à ces deux tâches.
283
284%description devel -l pl.UTF-8
285Interpreter Pythona jest w miarę łatwy do rozszerzania przy pomocy
286dynamicznie ładowanych rozszerzeń napisanych w C lub C++ oraz
287osadzania w innych programach. Ten pakiet zawiera pliki nagłówkowe i
288wszystko inne co potrzebne do tych celów.
289
290%description devel -l pt_BR.UTF-8
291O interpretador Python permite incluir com facilidade extensões
292carregadas dinamicamente. Python é também fácil de ser embutido em
293outros programas. Este pacote contém os arquivos de inclusão e
294bibliotecas necessários para estas duas tarefas.
295
296%description devel -l ru.UTF-8
297Интерпретатор Python относительно легко расширяется при помощи
298динамически загружаемых расширений и встраивается в другие программы.
299Этот пакет содержит хедеры и библиотеки, необходимые для обеих этих
300задач.
301
302%description devel -l tr.UTF-8
303Bu paket, Python ile geliştirme yapılabilmesi için gerekli başlık
304dosyalarını ve kitaplıkları içerir.
305
306%description devel -l uk.UTF-8
307Інтерпретатор Python відносно легко розширюється за допомогою
308розширень з динамічною загрузкою та вбудовується в інші програми. Цей
309пакет містить хедери та бібліотеки, необхідні для обох цих задач.
310
311%package devel-src
312Summary: Python module sources
313Summary(pl.UTF-8): Pliki źródłowe modułów Pythona
314Group: Development/Languages/Python
315Requires: %{name}-modules = %{epoch}:%{version}-%{release}
316
317%description devel-src
318Python module sources.
319
320%description devel-src -l pl.UTF-8
321Pliki źródłowe modułów Pythona.
322
323%package devel-tools
324Summary: Python development tools
325Summary(pl.UTF-8): Narzędzia programistyczne języka Python
326Group: Development/Languages/Python
327Requires: %{name}-modules = %{epoch}:%{version}-%{release}
328
329%description devel-tools
330Python development tools such as profilers and debugger.
331
332%description devel-tools -l pl.UTF-8
333Narzędzia programistyczne języka Python takie jak profiler oraz
334debugger.
335
30b0ff7b
AF
336%package 2to3
337Summary: Automated Python 2 to 3 code translation
0cf503a8 338Summary(pl.UTF-8): Automatyczne tłumaczenie kodu Pythona 2 do 3
30b0ff7b
AF
339Group: Development/Languages/Pythona
340
341%description 2to3
0cf503a8
JB
3422to3 is a Python program that reads Python 2.x source code and applies
343a series of fixers to transform it into valid Python 3.x code. The
344standard library contains a rich set of fixers that will handle almost
345all code. 2to3 supporting library lib2to3 is, however, a flexible and
346generic library, so it is possible to write your own fixers for 2to3.
347lib2to3 could also be adapted to custom applications in which Python
348code needs to be edited automatically.
349
350%description 2to3 -l pl.UTF-8
3512to3 to program w Pythonie czytający od źródłowy w Pythonie 2.x i
352aplikujący serię poprawek przekształcających go w poprawny kod w
353Pythonie 3.x. Biblioteka standardowa zawiera duży zbiór poprawek
354obsługujących większość kodu. Biblioteka wspierająca 2to3 (lib2to3)
355jest jednak elastyczną i ogólną biblioteką, więc można pisać własne
356poprawki dla 2to3. lib2to3 można także zaadaptować na potrzeby
357własnych zastosowań, w których kod w Pythonie musi być modyfikowany
358automatycznie.
30b0ff7b 359
9416f74d
AM
360%package static
361Summary: Static python library
362Summary(pl.UTF-8): Statyczna biblioteka Pythona
363Group: Development/Languages/Python
364Requires: %{name}-devel = %{epoch}:%{version}-%{release}
365
366%description static
367Static python library.
368
369%description static -l pl.UTF-8
370Statyczna biblioteka Pythona.
371
9416f74d
AM
372%package doc-info
373Summary: Documentation on Python in texinfo format
374Summary(pl.UTF-8): Dokumentacja do Pythona w formacie texinfo
375Group: Documentation
376
377%description doc-info
378Documentation on Python in texinfo format.
379
380%description doc-info -l pl.UTF-8
381Dokumentacja do Pythona w formacie texinfo.
382
383%package tkinter
384Summary: Standard Python interface to the Tk GUI toolkit
385Summary(de.UTF-8): Grafische Tk-Schnittstelle für Python
386Summary(es.UTF-8): Interfaz de GUI Tk para Python
387Summary(fr.UTF-8): Interface graphique Tk pour Python
388Summary(pl.UTF-8): Standardowy interfejs Pythona do biblioteki Tk
389Summary(pt_BR.UTF-8): Interface GUI Tk para Phyton
390Summary(tr.UTF-8): Python için grafik kullanıcı arayüzü
391Group: Libraries/Python
392Requires: %{name}-modules = %{epoch}:%{version}-%{release}
393Requires: tcl >= 8.4.3
394Requires: tix >= 1:8.1.4-4
395Requires: tk >= 8.4.3
396
397%description tkinter
398Standard Python interface to the Tk GUI toolkit.
399
400%description tkinter -l de.UTF-8
401Eine grafische Schnittstelle für Python, basierend auf Tcl/Tk, und von
402vielen Konfigurations-Tools genutzt.
403
404%description tkinter -l es.UTF-8
405Una interfaz gráfica para Python, basada en Tcl/Tk, y usada por muchas
406herramientas de configuración.
407
408%description tkinter -l fr.UTF-8
409Interface graphique pour Python, basée sur Tcl/Tk et utilisée par
410beaucoup des outils de configuration.
411
412%description tkinter -l pl.UTF-8
413Standardowy interfejs Pythona do biblioteki Tk.
414
415%description tkinter -l pt_BR.UTF-8
416Uma interface gráfica para Python, baseada em Tcl/Tk, e usada por
417muitas ferramentas de configuração.
418
419%description tkinter -l ru.UTF-8
420Графический интерфейс (GUI) для Python, построенный на Tcl/Tk.
421
422%description tkinter -l tr.UTF-8
423Python için Tcl/Tk'ye dayalı ve pek çok ayarlama aracı tarafından
424kullanılan grafik bir arayüzdür.
425
426%description tkinter -l uk.UTF-8
427Графічний інтерфейс (GUI) для Python, побудований на Tcl/Tk.
428
429%package examples
430Summary: Example programs in Python
431Summary(pl.UTF-8): Przykładowe programy w Pythonie
432Group: Development/Languages/Python
433
434%description examples
435Example programs in Python.
436
437These are for Python 2.3.4, not %{version}.
438
439%description examples -l pl.UTF-8
440Przykładowe programy w Pythonie.
441
442Przykłady te są dla Pythona 2.3.4, nie %{version}.
443
444%prep
0cf503a8 445%setup -q -n Python-%{version}
a20e3138 446%patch0 -p1
30b0ff7b 447%patch1 -p1
e3852288
JB
448%patch2 -p1
449%patch3 -p1
7dd2ca46 450%patch4 -p1
35435977 451%patch5 -p1
2a419ad6 452%patch6 -p1
d4431fa7 453%patch7 -p1
9416f74d 454
f4282245 455%{__rm} -r Modules/zlib
91f8e48f 456%{__rm} -r Modules/expat
f4282245
ER
457
458for SUBDIR in darwin libffi libffi_arm_wince libffi_msvc libffi_osx; do
459 %{__rm} -r Modules/_ctypes/$SUBDIR
460done
461
462files="md5module.c sha1module.c"
463%if !0%(pkg-config openssl --atleast-version=0.9.8; echo $?)
464files="$files sha256module.c sha512module.c"
465%endif
466for f in $files; do
467 %{__rm} Modules/$f
468done
469
1254741f 470%build
2906feef
AM
471if ! 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
474 exit 1
475fi
476
9416f74d 477%{__autoconf}
31552fa6 478CPPFLAGS="-I/usr/include/ncursesw %{rpmcppflags}"; export CPPFLAGS
9416f74d 479%configure \
1254741f
ER
480 ac_cv_posix_semaphores_enabled=yes \
481 ac_cv_broken_sem_getvalue=no \
3ba70ac2 482 --with-cxx-main="%{__cxx}" \
9416f74d
AM
483 --enable-shared \
484 --enable-ipv6 \
19221b23 485 --with-dbmliborder=gdbm:bdb \
3ba70ac2 486 --with-wide-unicode \
9416f74d 487 --with-signal-module \
85d91854 488%ifarch %{ix86} %{x8664} ppc ppc64
9416f74d 489 --with-tsc \
85d91854 490%endif
9416f74d
AM
491 --with-threads \
492 --with-doc-strings \
9416f74d 493 --with-fpectl \
91f8e48f 494 --with-system-expat \
3ba70ac2 495 --with-system-ffi \
23f5417d 496 --with-computed-gotos \
9416f74d
AM
497 LINKCC='$(PURIFY) $(CXX)' \
498 LDSHARED='$(CC) $(CFLAGS) -shared' \
499 BLDSHARED='$(CC) $(CFLAGS) -shared' \
500 LDFLAGS="%{rpmcflags} %{rpmldflags}"
501
502%{__make} \
23f5417d 503 OPT="%{rpmcflags} -fno-caller-saves" 2>&1 | awk '
9416f74d
AM
504BEGIN { fail = 0; logmsg = ""; }
505{
506 if ($0 ~ /\*\*\* WARNING:/) {
507 fail = 1;
508 logmsg = logmsg $0;
509 }
510 print $0;
511}
512END { if (fail) { print "\nPROBLEMS FOUND:"; print logmsg; exit(1); } }'
513
514LC_ALL=C
515export LC_ALL
516%if %{with tests}
517binlibdir=`echo build/lib.*`
518%{__make} test \
519 TESTOPTS="%{test_flags} %{test_list}" \
48e785bb 520 TESTPYTHON="LD_LIBRARY_PATH=`pwd` PYTHONHOME=`pwd` PYTHONPATH=`pwd`/Lib:`pwd`/$binlibdir ./python -tt"
9416f74d
AM
521%endif
522
523%install
524rm -rf $RPM_BUILD_ROOT
9adbfa17 525install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_pkgconfigdir}} \
12ba957c 526 $RPM_BUILD_ROOT{%{py_sitedir},%{py_sitescriptdir}}/__pycache__ \
9416f74d 527 $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
12ba957c 528 $RPM_BUILD_ROOT{%{_infodir},%{_mandir}/man1} \
9416f74d
AM
529 $RPM_BUILD_ROOT/etc/shrc.d
530
531%{__make} install \
532 DESTDIR=$RPM_BUILD_ROOT
533
534%if %{with info}
535%{__make} -C Doc/info
1254741f 536cp -p Doc/info/python*info* $RPM_BUILD_ROOT%{_infodir}
9416f74d
AM
537%endif
538
9416f74d 539install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
4449431f 540cp -a Tools $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
9416f74d 541
ac600e00
AF
542# make libpython3.so simply symlink to real lib
543%{__rm} $RPM_BUILD_ROOT%{_libdir}/libpython3.so
544ln -s libpython%{py_abi}.so $RPM_BUILD_ROOT%{_libdir}/libpython3.so
545
9416f74d
AM
546#
547# create several useful aliases, such as timeit.py, profile.py, pdb.py, smtpd.py
548#
549
550# for python devel tools
551for script in timeit profile pdb pstats; do
1254741f 552 echo "alias ${script}%{py_ver}.py='python%{py_ver} -m ${script}'"
24586eb0 553done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh
9416f74d 554
1254741f 555echo "alias pygettext%{py_ver}.py='pygettext%{py_ver}'" \
24586eb0 556 >> $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh
9416f74d
AM
557
558sed 's/=/ /' \
24586eb0
AM
559 < $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh \
560 > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.csh
9416f74d
AM
561
562# for python modules
563for script in smtpd webbrowser; do
1254741f 564 echo "alias ${script}%{py_ver}.py='python%{py_ver} -m ${script}'"
24586eb0 565done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.sh
9416f74d
AM
566
567sed 's/=/ /' \
24586eb0
AM
568 < $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.sh \
569 > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.csh
9416f74d
AM
570
571# xgettext specific for Python code
572#
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
1254741f 576install -p Tools/i18n/pygettext.py $RPM_BUILD_ROOT%{_bindir}/pygettext%{py_ver}
24586eb0 577
9416f74d 578# just to cut the noise, as they are not packaged (now)
1843c435 579# first tests (probably could be packaged)
e3852288
JB
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
dceb7408 588%{__rm} -r $RPM_BUILD_ROOT%{py_scriptdir}/unittest/test
9416f74d
AM
589
590# other files
e3852288
JB
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
1843c435
JK
597
598# currently provided by python-2to3, consider switching to this one
599%{__rm} $RPM_BUILD_ROOT%{_bindir}/2to3
600
5d1aec43 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
1843c435 604
acd14a9e 605# already in %%doc
e3852288 606%{__rm} $RPM_BUILD_ROOT%{py_scriptdir}/LICENSE.txt
9416f74d
AM
607
608%clean
609rm -rf $RPM_BUILD_ROOT
610
611%post libs -p /sbin/ldconfig
612%postun libs -p /sbin/ldconfig
613
e3852288 614%post doc-info -p /sbin/postshell
a20bb9dc 615-/usr/sbin/fix-info-dir -c %{_infodir}
9416f74d 616
e3852288 617%postun doc-info -p /sbin/postshell
a20bb9dc 618-/usr/sbin/fix-info-dir -c %{_infodir}
9416f74d
AM
619
620%files
621%defattr(644,root,root,755)
24586eb0 622%attr(755,root,root) %{_bindir}/python%{py_ver}
c7fdbe10 623%attr(755,root,root) %{_bindir}/python%{py_abi}
306c0f2d 624%attr(755,root,root) %{_bindir}/python3
c7fdbe10
JB
625%{_mandir}/man1/python%{py_ver}.1*
626
627%files libs
628%defattr(644,root,root,755)
629%doc LICENSE
630%attr(755,root,root) %{_libdir}/libpython%{py_abi}.so.*.*
631
002ac285
AM
632%dir %{py_incdir}
633%{py_incdir}/pyconfig.h
634
c7fdbe10
JB
635%dir %{py_libdir}
636%dir %{py_dyndir}
637%dir %{py_sitedir}
12ba957c 638%dir %{py_sitedir}/__pycache__
c7fdbe10 639%dir %{py_scriptdir}
32e6a38e 640%dir %{py_scriptdir}/__pycache__
c7fdbe10 641%dir %{py_sitescriptdir}
12ba957c 642%dir %{py_sitescriptdir}/__pycache__
c7fdbe10
JB
643
644# shared modules required by python library
645%attr(755,root,root) %{py_dyndir}/_struct.cpython-*.so
646
647# modules required by python library
dceb7408 648%{py_scriptdir}/_abcoll.py
649%{py_scriptdir}/_weakrefset.py
650%{py_scriptdir}/abc.py
002ac285 651%{py_scriptdir}/bisect.py
dceb7408 652%{py_scriptdir}/codecs.py
002ac285 653%{py_scriptdir}/collections.py
dceb7408 654%{py_scriptdir}/copyreg.py
002ac285 655%{py_scriptdir}/functools.py
dceb7408 656%{py_scriptdir}/genericpath.py
002ac285
AM
657%{py_scriptdir}/heapq.py
658%{py_scriptdir}/keyword.py
659%{py_scriptdir}/linecache.py
dceb7408 660%{py_scriptdir}/locale.py
661%{py_scriptdir}/io.py
662%{py_scriptdir}/posixpath.py
002ac285
AM
663%{py_scriptdir}/re.py
664%{py_scriptdir}/reprlib.py
dceb7408 665%{py_scriptdir}/site.py
002ac285 666%{py_scriptdir}/sre_*.py
dceb7408 667%{py_scriptdir}/stat.py
8bfb6496 668%{py_scriptdir}/sysconfig.py
002ac285
AM
669%{py_scriptdir}/token.py
670%{py_scriptdir}/tokenize.py
671%{py_scriptdir}/traceback.py
672%{py_scriptdir}/weakref.py
dceb7408 673%{py_scriptdir}/os.py
c7fdbe10 674# needed by the dynamic sys.lib patch
dceb7408 675%{py_scriptdir}/types.py
a98780c2
AM
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]
c7fdbe10
JB
703
704# encodings required by python library
705%dir %{py_scriptdir}/encodings
dceb7408 706%{py_scriptdir}/encodings/__pycache__
707%{py_scriptdir}/encodings/*.py
9416f74d 708
d91cfa38 709%dir %{py_libdir}/config-%{py_abi}
d91cfa38
JK
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
d91cfa38 714
9416f74d
AM
715%files modules
716%defattr(644,root,root,755)
24586eb0 717/etc/shrc.d/python*-modules*
32e6a38e
JB
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
a98780c2
AM
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]
1843c435 952%{py_dyndir}/Python-%{version}-py*.egg-info
9416f74d
AM
953
954#
955# list .so modules to be sure that all of them are built
956#
957
c7fdbe10
JB
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
9416f74d 970%ifnarch sparc64
c7fdbe10 971%attr(755,root,root) %{py_dyndir}/_dbm.cpython-*.so
9416f74d 972%endif
c7fdbe10
JB
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
dceb7408 982%attr(755,root,root) %{py_dyndir}/_posixsubprocess.cpython-*.so
c7fdbe10
JB
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
b6994eba
ER
987
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
992%endif
993
c7fdbe10
JB
994%attr(755,root,root) %{py_dyndir}/array.cpython-*.so
995%attr(755,root,root) %{py_dyndir}/atexit.cpython-*.so
dceb7408 996%attr(755,root,root) %{py_dyndir}/audioop.cpython-*.so
c7fdbe10
JB
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
9416f74d
AM
1018
1019%dir %{py_scriptdir}/plat-*
dceb7408 1020%{py_scriptdir}/plat-*/__pycache__
1021%{py_scriptdir}/plat-*/*.py
1022
1023%{py_scriptdir}/concurrent
9416f74d 1024
9416f74d
AM
1025%dir %{py_scriptdir}/ctypes
1026%dir %{py_scriptdir}/ctypes/macholib
dceb7408 1027%{py_scriptdir}/ctypes/__pycache__
1028%{py_scriptdir}/ctypes/macholib/__pycache__
35ff21ac 1029
dceb7408 1030%{py_scriptdir}/ctypes/*.py
1031%{py_scriptdir}/ctypes/macholib/*.py
acd14a9e 1032%doc %{py_scriptdir}/ctypes/macholib/README.ctypes
9416f74d
AM
1033
1034%dir %{py_scriptdir}/curses
dceb7408 1035%{py_scriptdir}/curses/__pycache__
1036%{py_scriptdir}/curses/*.py
9416f74d 1037
acd14a9e 1038%dir %{py_scriptdir}/dbm
dceb7408 1039%{py_scriptdir}/dbm/__pycache__
1040%{py_scriptdir}/dbm/*.py
acd14a9e 1041
9416f74d
AM
1042%dir %{py_scriptdir}/distutils
1043%dir %{py_scriptdir}/distutils/command
acd14a9e 1044%doc %{py_scriptdir}/distutils/README
dceb7408 1045%{py_scriptdir}/distutils/__pycache__
1046%{py_scriptdir}/distutils/command/__pycache__
1047%{py_scriptdir}/distutils/*.py
1048%{py_scriptdir}/distutils/command/*.py
acd14a9e 1049%{py_scriptdir}/distutils/command/command_template
9416f74d
AM
1050
1051%dir %{py_scriptdir}/email
1052%dir %{py_scriptdir}/email/mime
dceb7408 1053%{py_scriptdir}/email/__pycache__
1054%{py_scriptdir}/email/mime/__pycache__
1055%{py_scriptdir}/email/*.py
1056%{py_scriptdir}/email/mime/*.py
9416f74d 1057
acd14a9e 1058%dir %{py_scriptdir}/html
dceb7408 1059%{py_scriptdir}/html/*.py
1060%{py_scriptdir}/html/__pycache__
acd14a9e
AF
1061
1062%dir %{py_scriptdir}/http
dceb7408 1063%{py_scriptdir}/http/__pycache__
1064%{py_scriptdir}/http/*.py
acd14a9e 1065
fef40d51 1066%dir %{py_scriptdir}/importlib
dceb7408 1067%{py_scriptdir}/importlib/__pycache__
1068%{py_scriptdir}/importlib/*.py
fef40d51 1069
acd14a9e 1070%dir %{py_scriptdir}/json
dceb7408 1071%{py_scriptdir}/json/__pycache__
1072%{py_scriptdir}/json/*.py
acd14a9e 1073
9416f74d 1074%dir %{py_scriptdir}/logging
dceb7408 1075%{py_scriptdir}/logging/__pycache__
1076%{py_scriptdir}/logging/*.py
9416f74d 1077
acd14a9e 1078%dir %{py_scriptdir}/multiprocessing
dceb7408 1079%{py_scriptdir}/multiprocessing/__pycache__
1080%{py_scriptdir}/multiprocessing/*.py
acd14a9e 1081%dir %{py_scriptdir}/multiprocessing/dummy
dceb7408 1082%{py_scriptdir}/multiprocessing/dummy/__pycache__
1083%{py_scriptdir}/multiprocessing/dummy/*.py
1084
1085%{py_scriptdir}/turtledemo
1086%{py_scriptdir}/unittest
acd14a9e
AF
1087
1088%dir %{py_scriptdir}/urllib
dceb7408 1089%{py_scriptdir}/urllib/__pycache__
1090%{py_scriptdir}/urllib/*.py
acd14a9e 1091
9416f74d 1092%dir %{py_scriptdir}/wsgiref
dceb7408 1093%{py_scriptdir}/wsgiref/__pycache__
1094%{py_scriptdir}/wsgiref/*.py
acd14a9e 1095%{py_scriptdir}/wsgiref.egg-info
9416f74d
AM
1096
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
dceb7408 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
9416f74d 1112
acd14a9e 1113%dir %{py_scriptdir}/xmlrpc
dceb7408 1114%{py_scriptdir}/xmlrpc/__pycache__
1115%{py_scriptdir}/xmlrpc/*.py
acd14a9e 1116
c7fdbe10 1117%attr(755,root,root) %{py_dyndir}/_sqlite3.cpython-*.so
9416f74d 1118%dir %{py_scriptdir}/sqlite3
dceb7408 1119%{py_scriptdir}/sqlite3/__pycache__
1120%{py_scriptdir}/sqlite3/*.py
9416f74d 1121
2072c60e 1122%files -n pydoc3
9416f74d 1123%defattr(644,root,root,755)
19221b23 1124%attr(755,root,root) %{_bindir}/pydoc3
dceb7408 1125%attr(755,root,root) %{_bindir}/pydoc3.2
1126%{py_scriptdir}/pydoc.py
a98780c2 1127%{py_scriptdir}/__pycache__/pydoc.cpython-*.py[co]
fef40d51 1128%dir %{py_scriptdir}/pydoc_data
dceb7408 1129%{py_scriptdir}/pydoc_data/__pycache__
1130%{py_scriptdir}/pydoc_data/*.py
1131%{py_scriptdir}/pydoc_data/*.css
9416f74d 1132
2072c60e 1133%files -n idle3
9416f74d 1134%defattr(644,root,root,755)
19221b23 1135%attr(755,root,root) %{_bindir}/idle3
dceb7408 1136%attr(755,root,root) %{_bindir}/idle3.2
9416f74d
AM
1137%dir %{py_scriptdir}/idlelib
1138%dir %{py_scriptdir}/idlelib/Icons
dceb7408 1139%{py_scriptdir}/idlelib/__pycache__
1140%{py_scriptdir}/idlelib/*.py
acd14a9e
AF
1141%doc %{py_scriptdir}/idlelib/*.txt
1142%doc %{py_scriptdir}/idlelib/ChangeLog
9416f74d
AM
1143%{py_scriptdir}/idlelib/Icons/*
1144%{py_scriptdir}/idlelib/*.def
1145
1146%files devel
1147%defattr(644,root,root,755)
1148%doc Misc/{ACKS,NEWS,README,README.valgrind,valgrind-python.supp}
c7fdbe10
JB
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
9416f74d 1154%{py_incdir}/*.h
002ac285 1155%exclude %{py_incdir}/pyconfig.h
32e6a38e
JB
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
c7fdbe10 1161%{_pkgconfigdir}/python-%{py_ver}.pc
d0324804
JB
1162%{_pkgconfigdir}/python-%{py_abi}.pc
1163%{_pkgconfigdir}/python3.pc
c7fdbe10 1164
9416f74d
AM
1165%files devel-tools
1166%defattr(644,root,root,755)
24586eb0 1167/etc/shrc.d/python*-devel*
24586eb0 1168%attr(755,root,root) %{_bindir}/pygettext%{py_ver}
dceb7408 1169%{py_scriptdir}/pdb.py
1170%{py_scriptdir}/profile.py
1171%{py_scriptdir}/pstats.py
1172%{py_scriptdir}/timeit.py
a98780c2
AM
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]
9416f74d 1177
30b0ff7b 1178%files 2to3
eb7b678c 1179%attr(755,root,root) %{_bindir}/2to3-%{py_ver}
30b0ff7b 1180%dir %{py_scriptdir}/lib2to3
dceb7408 1181%{py_scriptdir}/lib2to3/__pycache__
30b0ff7b
AF
1182%{py_scriptdir}/lib2to3/*.txt
1183%{py_scriptdir}/lib2to3/*.pickle
dceb7408 1184%{py_scriptdir}/lib2to3/*.py
30b0ff7b 1185%dir %{py_scriptdir}/lib2to3/fixes
dceb7408 1186%{py_scriptdir}/lib2to3/fixes/__pycache__
be43ead0 1187%{py_scriptdir}/lib2to3/fixes/*.py
30b0ff7b 1188%dir %{py_scriptdir}/lib2to3/pgen2
dceb7408 1189%{py_scriptdir}/lib2to3/pgen2/__pycache__
1190%{py_scriptdir}/lib2to3/pgen2/*.py
30b0ff7b 1191
9416f74d
AM
1192%files static
1193%defattr(644,root,root,755)
6eede82b 1194%{_libdir}/libpython%{py_abi}.a
9416f74d
AM
1195
1196%files examples
1197%defattr(644,root,root,755)
1198%{_examplesdir}/%{name}-%{version}
1199
9416f74d
AM
1200%if %{with info}
1201%files doc-info
1202%defattr(644,root,root,755)
1203%{_infodir}/*.info*
1204%endif
1205
1206%if %{with tkinter}
1207%files tkinter
1208%defattr(644,root,root,755)
acd14a9e 1209%dir %{py_scriptdir}/tkinter
dceb7408 1210%{py_scriptdir}/tkinter/__pycache__
1211%{py_scriptdir}/tkinter/*.py
c7fdbe10 1212%attr(755,root,root) %{py_dyndir}/_tkinter.cpython-*.so
9416f74d 1213%endif
This page took 0.342702 seconds and 4 git commands to generate.