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