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