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