3 %bcond_with info # info pages (requires emacs)
4 %bcond_without tkinter # disables tkinter module building
5 %bcond_without tests # disables Python testing
6 %bcond_with verbose_tests # runs tests in verbose mode
8 # tests which will not work on 64-bit platforms
9 %define no64bit_tests test_audioop test_rgbimg test_imageop
10 # tests which may fail because of builder environment limitations (no /proc or /dev/pts)
11 %define nobuilder_tests test_resource test_openpty test_socket test_nis test_posix test_locale test_pty
12 # tests which fail because of some unknown/unresolved reason (this list should be empty)
13 %define broken_tests test_httpservers
18 %define py_prefix %{_prefix}
19 %define py_libdir %{py_prefix}/%{_lib}/python%{py_ver}
20 %define py_incdir %{_includedir}/python%{py_ver}
21 %define py_sitedir %{py_libdir}/site-packages
22 %define py_dyndir %{py_libdir}/lib-dynload
24 Summary: Very high level scripting language with X interface
25 Summary(es.UTF-8): Lenguaje script de alto nivel con interfaz X
26 Summary(fr.UTF-8): Langage de script de très haut niveau avec interface X
27 Summary(pl.UTF-8): Python - język obiektowy wysokiego poziomu
28 Summary(pt_BR.UTF-8): Linguagem de programação interpretada de alto nível
29 Summary(ru.UTF-8): Язык программирования очень высокого уровня с X-интерфейсом
30 Summary(tr.UTF-8): X arayüzlü, yüksek düzeyli, kabuk yorumlayıcı dili
31 Summary(uk.UTF-8): Мова програмування дуже високого рівня з X-інтерфейсом
38 Source0: http://www.python.org/ftp/python/%{version}/Python-%{version}%{beta}.tar.bz2
39 # Source0-md5: 7291eac6a9a7a3642e309c78b8d744e5
40 Patch1: %{name}-pythonpath.patch
41 Patch2: %{name}-no_ndbm.patch
42 Patch3: %{name}-ac_fixes.patch
43 Patch4: %{name}-lib64.patch
44 Patch5: %{name}-noarch_to_datadir.patch
45 URL: http://www.python.org/
46 BuildRequires: autoconf
47 BuildRequires: bluez-libs-devel
48 BuildRequires: bzip2-devel
49 BuildRequires: db-devel >= 4
50 %{?with_info:BuildRequires: emacs >= 21}
51 BuildRequires: expat-devel >= 1:1.95.7
53 BuildRequires: gdbm-devel >= 1.8.3
54 BuildRequires: gmp-devel >= 4.0
55 BuildRequires: libffi-devel
56 BuildRequires: libstdc++-devel
57 BuildRequires: ncurses-ext-devel >= 5.2
58 BuildRequires: openssl-devel >= 0.9.8
59 BuildRequires: readline-devel >= 5.0
60 BuildRequires: rpm-pythonprov
61 BuildRequires: sed >= 4.0
62 BuildRequires: sqlite3-devel >= 3.3.5
63 %{?with_info:BuildRequires: tetex-makeindex}
64 %{?with_tkinter:BuildRequires: tix-devel >= 1:8.1.4-4}
65 %{?with_tkinter:BuildRequires: tk-devel >= 8.4.3}
66 BuildRequires: zlib-devel
67 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
68 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
69 %define specflags_ppc -D__ppc__=1
71 %if %{with verbose_tests}
72 %define test_flags -v -l -x
74 %define test_flags -l -x
77 %ifarch alpha ia64 ppc64 sparc64 ppc64 %{x8664}
78 %define test_list %{nobuilder_tests} %{broken_tests} %{no64bit_tests}
80 %define test_list %{nobuilder_tests} %{broken_tests}
84 %define test_list %{nobuilder_tests} %{broken_tests} test_fcntl test_ioctl
88 Python is an interpreted, interactive, object-oriented programming
89 language. It incorporates modules, exceptions, dynamic typing, very
90 high level dynamic data types, and classes. Python combines remarkable
91 power with very clear syntax. It has interfaces to many system calls
92 and libraries, as well as to various window systems, and is extensible
93 in C or C++. It is also usable as an extension language for
94 applications that need a programmable interface. Finally, Python is
95 portable: it runs on many brands of UNIX, on the Mac, and on PCs under
96 MS-DOS, Windows, Windows NT, and OS/2.
98 This package contains the Python binary.
100 %description -l de.UTF-8
101 Python ist eine interpretierte, interaktive, objektorientierte
102 Programmiersprache, vergleichbar zu Tcl, Perl, Scheme oder Java.
103 Python enthält Module, Klassen, Exceptions, High-Level dynamische
104 Datentypen und dynamisches Typisieren. Python unterstützt Interfaces
105 zu vielen Systemaufrufen und Libraries, sowie verschiedene
106 Fenstersysteme (X11, Motif, Tk, Mac und MFC)
108 Programmierer können neue built-in-Module für Python in C oder C++
109 schreiben. Python kann auch als Erweiterungssprache für Applikationen
110 benutzt werden, die ein programmierbares Interface brauchen. Dieses
111 Paket enthält die meisten Standard-Python-Module, und Module zum
112 Ansprechen von Tix (Tk-widget set) und RPM.
114 %description -l es.UTF-8
115 Python es un lenguaje de scripts interpretado orientado a objetos.
116 Contiene soporte para carga dinámica de objetos, clases, módulos y
119 Es sencillo adicionar interfaces para nuevos sistemas de biblioteca a
120 través de código C, tornando Python fácil de usar en ambientes
121 particulares/personalizados. Este paquete Python incluye la mayoría de
122 los módulos padrón Python, junto con módulos para crear interfaces
123 para el conjunto de componentes Tix para Tk y RPM.
125 %description -l fr.UTF-8
126 Python est un langage de script interprété et orienté objet. Il gère
127 le chargement dynamique des objets, les classes, les modules et les
128 exceptions. L'ajout d'interfaces aux nouvelles bibliothèques systèmes
129 avec du code C est simple, ce qui rend Python facile à utiliser dans
130 des configs personnalisées.
132 Ce paquetage Python contient la plupart des modules Python standards,
133 ainsi que ceux permettant l'interfaçage avec les widgets Tix pour Tk
136 %description -l pl.UTF-8
137 Python jest interpretowanym, interaktywnym i zorientowanym obiektowo
138 językiem programowania. Jest modularny, obsługuje wyjątki, dynamiczne
139 typy, zaawansowane dynamiczne struktury danych i klasy. Python łączy w
140 sobie duże możliwości i przejrzystą składnię. Posiada interfejsy do
141 wielu wywołań systemowych i bibliotek, w tym również do różnych
142 bibliotek okienkowych. Możliwości jego można jeszcze rozszerzać
143 poprzez odpowiednie moduły pisane w C lub C++. Python może być również
144 użyty jako element aplikacji, którym potrzebny jest interpreter do
145 skryptów. I wreszcie, Python jest wieloplatformowy, działa na wielu
146 odmianach UNIX-a, Macu oraz PC pod DOS-em, Windows, WindowsNT oraz
149 Ten pakiet zawiera binarkę Pythona.
151 %description -l pt_BR.UTF-8
152 Python é uma linguagem de scripts interpretada orientada a objetos.
153 Contém suporte para carga dinâmica de objetos, classes, módulos e
154 exceções. Adicionar interfaces para novos sistemas de biblioteca
155 através de código C é simples, tornando Python fácil de usar em
156 ambientes particulares/personalizados.
158 Este pacote Python inclui a maioria do módulos padrão Python, junto
159 com módulos para interfaceamento para o conjunto de componentes Tix
162 %description -l ru.UTF-8
163 Python - это интерпретируемый, объектно-ориентированный язык
164 программирования. Он поддерживает динамическую загрузку объектов,
165 классы, модули и обработку исключительных ситуаций (exceptions).
166 Простота добавления интерфейсов к новым системным библиотекам через
167 код на языке C делает Python хорошим выбором для использования в
168 специальных конфигурациях.
170 %description -l tr.UTF-8
171 Python, nesneye yönelik bir kabuk yorumlayıcıdır. Nesnelerin,
172 sınıfların, modüllerin ve aykırı durumların dinamik yüklenmelerine
173 destek verir. C koduyla birlikte kullanımı son derece kolaydır. Bu
174 paket, standart Python birimlerinin çoğunun yanısıra Tk ve RPM için
175 arayüz birimlerini de içerir.
177 %description -l uk.UTF-8
178 Python - це інтерпретована, об'єктно-орієнтована мова програмування.
179 Він підтримує динамічну загрузку об'єктів, класи, модулі та обробку
180 виключних ситуацій (exceptions). Простота додавання інтерфейсів для
181 нових системних бібліотек через код на мові C робить Python добрим
182 вибором для використання в спеціальних конфігураціях.
185 Summary: Python library
186 Summary(pl.UTF-8): Biblioteka języka Python
187 Group: Libraries/Python
188 # broken detection in rpm/pythondeps.sh
189 Provides: python(abi) = %{py_ver}
190 # for compatibility with existing Ac packages
191 Provides: python(bytecode) = %{py_ver}
192 %{!?with_info:Obsoletes: python30-doc-info}
195 Python shared library and very essental modules for Python binary.
197 %description libs -l pl.UTF-8
198 Biblioteka współdzielona języka Python oraz bardzo podstawowe moduły
202 Summary: Python modules
203 Summary(pl.UTF-8): Moduły języka Python
204 Group: Libraries/Python
205 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
208 Python officially distributed modules.
210 %description modules -l pl.UTF-8
211 Oficjalnie rozprowadzane moduły języka Python.
213 %package modules-sqlite
214 Summary: Python SQLite modules
215 Summary(pl.UTF-8): Moduły SQLite języka Python
216 Group: Libraries/Python
217 Requires: %{name}-modules = %{epoch}:%{version}-%{release}
219 %description modules-sqlite
220 Python officially distributed sqlite module.
222 %description modules-sqlite -l pl.UTF-8
223 Oficjalnie rozprowadzany moduł sqlite języka Python.
226 Summary: Python interactive module documentation access support
227 Summary(pl.UTF-8): Interaktywne korzystanie z dokumentacji modułów języka Python
229 Requires: %{name}-modules = %{epoch}:%{version}-%{release}
231 %description -n pydoc30
232 Python interactive module documentation access support.
234 %description -n pydoc30 -l pl.UTF-8
235 Interaktywne korzystanie z dokumentacji modułów języka Python.
238 Summary: IDE for Python language
239 Summary(pl.UTF-8): IDE dla języka Python
241 Requires: %{name}-tkinter = %{epoch}:%{version}-%{release}
243 %description -n idle30
244 IDE for Python language.
246 %description -n idle30 -l pl.UTF-8
247 IDE dla języka Python.
250 Summary: Libraries and header files for building python code
251 Summary(de.UTF-8): Libraries und Header-Dateien zum Erstellen von Python-Code
252 Summary(es.UTF-8): Bibliotecas y archivos de inclusión para construir programas en python
253 Summary(fr.UTF-8): Bibliothèques et en-têtes pour construire du code python
254 Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki Pythona
255 Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para o Python
256 Summary(ru.UTF-8): Библиотеки и хедеры для построения кода на языке Python
257 Summary(tr.UTF-8): Python ile geliştirme yapmak için gerekli dosyalar
258 Summary(uk.UTF-8): Бібліотеки та хедери для програмування на мові Python
259 Group: Development/Languages/Python
260 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
263 The Python interpreter is relatively easy to extend with dynamically
264 loaded extensions and to embed in other programs. This package
265 contains the header files and libraries which are needed to do both of
268 %description devel -l de.UTF-8
269 Der Python-Interpretierer ist relativ einfach anhand von dynamisch
270 ladbaren Erweiterungen auszubauen und läßt sich in andere Programme
271 integrieren. Dieses Paket enthält die Header-Dateien und Libraries,
272 die für beide Aufgaben erforderlich sind.
274 %description devel -l es.UTF-8
275 El interpretador Python permite incluir con facilidad extensiones
276 cargadas dinámicamente. Python es también fácil de ser empotrado en
277 otros programas. Este paquete contiene los archivos de inclusión y
278 bibliotecas necesarios para estas dos tareas.
280 %description devel -l fr.UTF-8
281 L'interpréteur Python est relativement facile à étendre avec des
282 extensions chargées dynamiquement et à insérer dans d'autres
283 programmes. Ce paquetage contient les en-têtes et les bibliothèques
284 nécessaires à ces deux tâches.
286 %description devel -l pl.UTF-8
287 Interpreter Pythona jest w miarę łatwy do rozszerzania przy pomocy
288 dynamicznie ładowanych rozszerzeń napisanych w C lub C++ oraz
289 osadzania w innych programach. Ten pakiet zawiera pliki nagłówkowe i
290 wszystko inne co potrzebne do tych celów.
292 %description devel -l pt_BR.UTF-8
293 O interpretador Python permite incluir com facilidade extensões
294 carregadas dinamicamente. Python é também fácil de ser embutido em
295 outros programas. Este pacote contém os arquivos de inclusão e
296 bibliotecas necessários para estas duas tarefas.
298 %description devel -l ru.UTF-8
299 Интерпретатор Python относительно легко расширяется при помощи
300 динамически загружаемых расширений и встраивается в другие программы.
301 Этот пакет содержит хедеры и библиотеки, необходимые для обеих этих
304 %description devel -l tr.UTF-8
305 Bu paket, Python ile geliştirme yapılabilmesi için gerekli başlık
306 dosyalarını ve kitaplıkları içerir.
308 %description devel -l uk.UTF-8
309 Інтерпретатор Python відносно легко розширюється за допомогою
310 розширень з динамічною загрузкою та вбудовується в інші програми. Цей
311 пакет містить хедери та бібліотеки, необхідні для обох цих задач.
314 Summary: Python module sources
315 Summary(pl.UTF-8): Pliki źródłowe modułów Pythona
316 Group: Development/Languages/Python
317 Requires: %{name}-modules = %{epoch}:%{version}-%{release}
319 %description devel-src
320 Python module sources.
322 %description devel-src -l pl.UTF-8
323 Pliki źródłowe modułów Pythona.
326 Summary: Python development tools
327 Summary(pl.UTF-8): Narzędzia programistyczne języka Python
328 Group: Development/Languages/Python
329 Requires: %{name}-modules = %{epoch}:%{version}-%{release}
331 %description devel-tools
332 Python development tools such as profilers and debugger.
334 %description devel-tools -l pl.UTF-8
335 Narzędzia programistyczne języka Python takie jak profiler oraz
339 Summary: Automated Python 2 to 3 code translation
340 Summary(pl.UTF-8): Automatyczne tłumaczenie kody Pythona 2 do 3
341 Group: Development/Languages/Pythona
344 2to3 is a Python program that reads Python 2.x source code and applies a series
345 of fixers to transform it into valid Python 3.x code. The standard library
346 contains a rich set of fixers that will handle almost all code. 2to3 supporting
347 library lib2to3 is, however, a flexible and generic library, so it is possible
348 to write your own fixers for 2to3. lib2to3 could also be adapted to custom
349 applications in which Python code needs to be edited automatically.
352 Summary: Static python library
353 Summary(pl.UTF-8): Statyczna biblioteka Pythona
354 Group: Development/Languages/Python
355 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
358 Static python library.
360 %description static -l pl.UTF-8
361 Statyczna biblioteka Pythona.
364 Summary: Documentation on Python
365 Summary(de.UTF-8): Dokumentation zu Python
366 Summary(es.UTF-8): Documentación para Python
367 Summary(fr.UTF-8): Documentation sur Python
368 Summary(pl.UTF-8): Dokumentacja do Pythona
369 Summary(pt_BR.UTF-8): Documentação para a linguagem de programação Python
370 Summary(ru.UTF-8): Документация по языку Python
371 Summary(tr.UTF-8): Python belgeleri
372 Summary(uk.UTF-8): Документація по мові Python
376 This package contains documentation on the Python language and
377 interpretor as a mix of plain ASCII files and LaTeX sources.
379 %description doc -l de.UTF-8
380 Dieses Paket enthält Dokumentationen zu Python (Sprache und
381 Interpreter) in Form von einfachen ASCII-Dateien und LaTeX-Quellen.
383 %description doc -l es.UTF-8
384 Documentación para Python. Contiene archivos en texto y PostScript.
386 %description doc -l fr.UTF-8
387 Ce paquetage contient la documentation sur le langage python et sur
388 son interpréteur sous forme de fichiers ASCII et LaTeX.
390 %description doc -l pl.UTF-8
391 Oficjalna dokumentacja do Pythona. Zawiera przykładowe programy,
392 narzędzia i dokumentację. Strony podręcznika man znajdują się w
393 głównym pakiecie. Ten pakiet nie zawiera źródeł dokumentacji
394 napisanych w LaTeXu, tylko gotowe do wykorzystania pliki postscriptowe
397 %description doc -l pt_BR.UTF-8
398 O pacote python-doc contém documentação para a linguagem de
399 programação e para o interpretador Python. Fornecida em arquivos texto
402 %description doc -l ru.UTF-8
403 Этот пакет содержит документацию по собственно языку Python и по
404 исполняющему его интерпретатору в виде набора текстовых файлов и
405 исходных текстов в формате LaTeX.
407 %description doc -l tr.UTF-8
408 Bu paket, Python dili ile ilgili belgeleri ve düz ASCII dosyaları ve
409 LaTeX kaynaklarının bir karışımı olan yorumlayıcıyı içerir.
411 %description doc -l uk.UTF-8
412 Цей пакет містить документацію по власне мові Python та по виконуючому
413 її інтерпретатору у вигляді набора текстових файлів та вихідних
414 текстів у форматі LaTeX.
417 Summary: Documentation on Python in texinfo format
418 Summary(pl.UTF-8): Dokumentacja do Pythona w formacie texinfo
421 %description doc-info
422 Documentation on Python in texinfo format.
424 %description doc-info -l pl.UTF-8
425 Dokumentacja do Pythona w formacie texinfo.
428 Summary: Standard Python interface to the Tk GUI toolkit
429 Summary(de.UTF-8): Grafische Tk-Schnittstelle für Python
430 Summary(es.UTF-8): Interfaz de GUI Tk para Python
431 Summary(fr.UTF-8): Interface graphique Tk pour Python
432 Summary(pl.UTF-8): Standardowy interfejs Pythona do biblioteki Tk
433 Summary(pt_BR.UTF-8): Interface GUI Tk para Phyton
434 Summary(tr.UTF-8): Python için grafik kullanıcı arayüzü
435 Group: Libraries/Python
436 Requires: %{name}-modules = %{epoch}:%{version}-%{release}
437 Requires: tcl >= 8.4.3
438 Requires: tix >= 1:8.1.4-4
439 Requires: tk >= 8.4.3
442 Standard Python interface to the Tk GUI toolkit.
444 %description tkinter -l de.UTF-8
445 Eine grafische Schnittstelle für Python, basierend auf Tcl/Tk, und von
446 vielen Konfigurations-Tools genutzt.
448 %description tkinter -l es.UTF-8
449 Una interfaz gráfica para Python, basada en Tcl/Tk, y usada por muchas
450 herramientas de configuración.
452 %description tkinter -l fr.UTF-8
453 Interface graphique pour Python, basée sur Tcl/Tk et utilisée par
454 beaucoup des outils de configuration.
456 %description tkinter -l pl.UTF-8
457 Standardowy interfejs Pythona do biblioteki Tk.
459 %description tkinter -l pt_BR.UTF-8
460 Uma interface gráfica para Python, baseada em Tcl/Tk, e usada por
461 muitas ferramentas de configuração.
463 %description tkinter -l ru.UTF-8
464 Графический интерфейс (GUI) для Python, построенный на Tcl/Tk.
466 %description tkinter -l tr.UTF-8
467 Python için Tcl/Tk'ye dayalı ve pek çok ayarlama aracı tarafından
468 kullanılan grafik bir arayüzdür.
470 %description tkinter -l uk.UTF-8
471 Графічний інтерфейс (GUI) для Python, побудований на Tcl/Tk.
474 Summary: Example programs in Python
475 Summary(pl.UTF-8): Przykładowe programy w Pythonie
476 Group: Development/Languages/Python
478 %description examples
479 Example programs in Python.
481 These are for Python 2.3.4, not %{version}.
483 %description examples -l pl.UTF-8
484 Przykładowe programy w Pythonie.
486 Przykłady te są dla Pythona 2.3.4, nie %{version}.
489 %setup -q -n Python-%{version}%{beta}
497 sed -i -e 's#-ltermcap#-ltinfo#g' configure*
499 CPPFLAGS="-I/usr/include/ncursesw"; export CPPFLAGS
501 --with-cxx-main="%{__cxx}" \
504 --with-wide-unicode \
505 --with-signal-module \
511 LINKCC='$(PURIFY) $(CXX)' \
512 LDSHARED='$(CC) $(CFLAGS) -shared' \
513 BLDSHARED='$(CC) $(CFLAGS) -shared' \
514 LDFLAGS="%{rpmcflags} %{rpmldflags}"
517 OPT="%{rpmcflags}" 2>&1 | awk '
518 BEGIN { fail = 0; logmsg = ""; }
520 if ($0 ~ /\*\*\* WARNING:/) {
526 END { if (fail) { print "\nPROBLEMS FOUND:"; print logmsg; exit(1); } }'
531 binlibdir=`echo build/lib.*`
533 TESTOPTS="%{test_flags} %{test_list}" \
534 TESTPYTHON="LD_LIBRARY_PATH=`pwd` PYTHONHOME=`pwd` PYTHONPATH=`pwd`/Lib:$binlibdir ./python -tt"
538 rm -rf $RPM_BUILD_ROOT
539 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}} \
540 $RPM_BUILD_ROOT{%{py_sitedir},%{_mandir}/man1} \
541 $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
542 $RPM_BUILD_ROOT%{_infodir} \
543 $RPM_BUILD_ROOT/etc/shrc.d
546 DESTDIR=$RPM_BUILD_ROOT
549 %{__make} -C Doc/info
550 install Doc/info/python*info* $RPM_BUILD_ROOT%{_infodir}
553 install Makefile.pre.in $RPM_BUILD_ROOT%{py_libdir}/config
555 mv $RPM_BUILD_ROOT{%{py_libdir}/config,%{_libdir}}/libpython%{py_ver}.a
556 ln -sf libpython%{py_ver}.a $RPM_BUILD_ROOT%{_libdir}/libpython.a
557 ln -sf libpython%{py_ver}.so.1.0 $RPM_BUILD_ROOT%{_libdir}/libpython%{py_ver}.so
559 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
560 cp -a Tools Demo $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
563 # create several useful aliases, such as timeit.py, profile.py, pdb.py, smtpd.py
566 # for python devel tools
567 for script in timeit profile pdb pstats; do
568 echo alias ${script}%{py_ver}.py=\"python%{py_ver} -m ${script}\"
569 done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh
571 echo alias pygettext%{py_ver}.py='"pygettext%{py_ver}"' \
572 >> $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh
575 < $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh \
576 > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.csh
579 for script in smtpd webbrowser; do
580 echo alias ${script}%{py_ver}.py=\"python%{py_ver} -m ${script}\"
581 done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.sh
584 < $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.sh \
585 > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.csh
587 # xgettext specific for Python code
589 # we will have two commands: pygettext.py (an alias) and pygettext;
590 # this way there are no import (which is impossible now) conflicts and
591 # pygettext.py is provided for compatibility
592 install Tools/i18n/pygettext.py $RPM_BUILD_ROOT%{_bindir}/pygettext%{py_ver}
595 for script in idle pydoc; do
596 mv $RPM_BUILD_ROOT%{_bindir}/${script} $RPM_BUILD_ROOT%{_bindir}/${script}%{py_ver}
599 # just to cut the noise, as they are not packaged (now)
601 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/test
602 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/bsddb/test
603 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/ctypes/test
604 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/distutils/tests
605 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/email/test
606 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/sqlite3/test
607 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/json/tests
608 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/lib2to3/tests
611 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/plat-*/regen
612 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/ctypes/macholib/fetch_macholib*
613 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/site-packages/README
614 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/distutils/command/wininst*.exe
615 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/idlelib/*.bat
616 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/idlelib/*.pyw
617 rm -rf $RPM_BUILD_ROOT%{_bindir}/smtpd.py
619 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/pdb.doc
620 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/LICENSE.txt
623 rm -rf $RPM_BUILD_ROOT
625 %post libs -p /sbin/ldconfig
626 %postun libs -p /sbin/ldconfig
628 %post doc-info -p /sbin/postshell
629 -/usr/sbin/fix-info-dir -c %{_infodir}
631 %postun doc-info -p /sbin/postshell
632 -/usr/sbin/fix-info-dir -c %{_infodir}
635 %defattr(644,root,root,755)
636 %attr(755,root,root) %{_bindir}/python%{py_ver}
639 %defattr(644,root,root,755)
640 /etc/shrc.d/python*-modules*
641 %exclude %{py_scriptdir}/codecs.py[co]
642 %exclude %{py_scriptdir}/copyreg.py[co]
643 %exclude %{py_scriptdir}/locale.py[co]
644 %exclude %{py_scriptdir}/posixpath.py[co]
645 %exclude %{py_scriptdir}/pdb.py[co]
646 %exclude %{py_scriptdir}/profile.py[co]
647 %exclude %{py_scriptdir}/pstats.py[co]
648 %exclude %{py_scriptdir}/pydoc.py[co]
649 %exclude %{py_scriptdir}/site.py[co]
650 %exclude %{py_scriptdir}/stat.py[co]
651 %exclude %{py_scriptdir}/timeit.py[co]
652 %exclude %{py_scriptdir}/os.py[co]
653 %exclude %{py_scriptdir}/encodings/*.py[co]
654 %exclude %{py_scriptdir}/types.py[co]
656 %{py_scriptdir}/*.py[co]
658 %{py_dyndir}/*.egg-info
661 # list .so modules to be sure that all of them are built
664 # modules below do not work on 64-bit architectures
665 # see Python README file for explanation
666 %ifnarch alpha ia64 ppc64 sparc64 %{x8664}
667 %attr(755,root,root) %{py_dyndir}/audioop.so
670 %attr(755,root,root) %{py_dyndir}/array.so
671 %attr(755,root,root) %{py_dyndir}/atexit.so
672 %attr(755,root,root) %{py_dyndir}/audioop.so
673 %attr(755,root,root) %{py_dyndir}/binascii.so
674 %attr(755,root,root) %{py_dyndir}/_bisect.so
675 %attr(755,root,root) %{py_dyndir}/bz2.so
676 %attr(755,root,root) %{py_dyndir}/cmath.so
677 %attr(755,root,root) %{py_dyndir}/_codecs_cn.so
678 %attr(755,root,root) %{py_dyndir}/_codecs_hk.so
679 %attr(755,root,root) %{py_dyndir}/_codecs_iso2022.so
680 %attr(755,root,root) %{py_dyndir}/_codecs_jp.so
681 %attr(755,root,root) %{py_dyndir}/_codecs_kr.so
682 %attr(755,root,root) %{py_dyndir}/_codecs_tw.so
683 %attr(755,root,root) %{py_dyndir}/_collections.so
684 %attr(755,root,root) %{py_dyndir}/crypt.so
685 %attr(755,root,root) %{py_dyndir}/_csv.so
686 %attr(755,root,root) %{py_dyndir}/_ctypes*.so
687 %attr(755,root,root) %{py_dyndir}/_curses_panel.so
688 %attr(755,root,root) %{py_dyndir}/_curses.so
689 %attr(755,root,root) %{py_dyndir}/datetime.so
690 %attr(755,root,root) %{py_dyndir}/_elementtree.so
691 %attr(755,root,root) %{py_dyndir}/_functools.so
692 %attr(755,root,root) %{py_dyndir}/_hashlib.so
693 %attr(755,root,root) %{py_dyndir}/_heapq.so
694 %attr(755,root,root) %{py_dyndir}/_json.so
695 %attr(755,root,root) %{py_dyndir}/_locale.so
696 %attr(755,root,root) %{py_dyndir}/_lsprof.so
697 %attr(755,root,root) %{py_dyndir}/_multibytecodec.so
698 %attr(755,root,root) %{py_dyndir}/_multiprocessing.so
699 %attr(755,root,root) %{py_dyndir}/_pickle.so
700 %attr(755,root,root) %{py_dyndir}/_random.so
701 %attr(755,root,root) %{py_dyndir}/_socket.so
702 %attr(755,root,root) %{py_dyndir}/_ssl.so
703 %attr(755,root,root) %{py_dyndir}/_testcapi.so
705 %attr(755,root,root) %{py_dyndir}/_dbm.so
707 %attr(755,root,root) %{py_dyndir}/fcntl.so
708 %attr(755,root,root) %{py_dyndir}/_gdbm.so
709 %attr(755,root,root) %{py_dyndir}/grp.so
710 %attr(755,root,root) %{py_dyndir}/itertools.so
711 %attr(755,root,root) %{py_dyndir}/math.so
712 %attr(755,root,root) %{py_dyndir}/mmap.so
713 %attr(755,root,root) %{py_dyndir}/nis.so
714 %attr(755,root,root) %{py_dyndir}/operator.so
715 %attr(755,root,root) %{py_dyndir}/ossaudiodev.so
716 %attr(755,root,root) %{py_dyndir}/parser.so
717 %attr(755,root,root) %{py_dyndir}/pyexpat.so
718 %attr(755,root,root) %{py_dyndir}/readline.so
719 %attr(755,root,root) %{py_dyndir}/resource.so
720 %attr(755,root,root) %{py_dyndir}/select.so
721 %attr(755,root,root) %{py_dyndir}/syslog.so
722 %attr(755,root,root) %{py_dyndir}/termios.so
723 %attr(755,root,root) %{py_dyndir}/time.so
724 %attr(755,root,root) %{py_dyndir}/spwd.so
725 %attr(755,root,root) %{py_dyndir}/unicodedata.so
726 %attr(755,root,root) %{py_dyndir}/zlib.so
728 %dir %{py_scriptdir}/plat-*
729 %{py_scriptdir}/plat-*/*.py[co]
731 %dir %{py_scriptdir}/ctypes
732 %dir %{py_scriptdir}/ctypes/macholib
734 %{py_scriptdir}/ctypes/*.py[co]
735 %{py_scriptdir}/ctypes/macholib/*.py[co]
736 %doc %{py_scriptdir}/ctypes/macholib/README.ctypes
738 %dir %{py_scriptdir}/curses
739 %{py_scriptdir}/curses/*.py[co]
741 %dir %{py_scriptdir}/dbm
742 %{py_scriptdir}/dbm/*.py[co]
744 %dir %{py_scriptdir}/distutils
745 %dir %{py_scriptdir}/distutils/command
746 %doc %{py_scriptdir}/distutils/README
747 %{py_scriptdir}/distutils/*.py[co]
748 %{py_scriptdir}/distutils/command/*.py[co]
749 %{py_scriptdir}/distutils/command/command_template
751 %dir %{py_scriptdir}/email
752 %dir %{py_scriptdir}/email/mime
753 %{py_scriptdir}/email/*.py[co]
754 %{py_scriptdir}/email/mime/*.py[co]
756 %dir %{py_scriptdir}/html
757 %{py_scriptdir}/html/*.py[co]
759 %dir %{py_scriptdir}/http
760 %{py_scriptdir}/http/*.py[co]
762 %dir %{py_scriptdir}/json
763 %{py_scriptdir}/json/*.py[co]
765 %dir %{py_scriptdir}/logging
766 %{py_scriptdir}/logging/*.py[co]
768 %dir %{py_scriptdir}/multiprocessing
769 %{py_scriptdir}/multiprocessing/*.py[co]
770 %dir %{py_scriptdir}/multiprocessing/dummy
771 %{py_scriptdir}/multiprocessing/dummy/*.py[co]
773 %dir %{py_scriptdir}/urllib
774 %{py_scriptdir}/urllib/*.py[co]
776 %dir %{py_scriptdir}/wsgiref
777 %{py_scriptdir}/wsgiref/*.py[co]
778 %{py_scriptdir}/wsgiref.egg-info
780 %dir %{py_scriptdir}/xml
781 %dir %{py_scriptdir}/xml/dom
782 %dir %{py_scriptdir}/xml/etree
783 %dir %{py_scriptdir}/xml/parsers
784 %dir %{py_scriptdir}/xml/sax
785 %{py_scriptdir}/xml/*.py[co]
786 %{py_scriptdir}/xml/dom/*.py[co]
787 %{py_scriptdir}/xml/etree/*.py[co]
788 %{py_scriptdir}/xml/parsers/*.py[co]
789 %{py_scriptdir}/xml/sax/*.py[co]
791 %dir %{py_scriptdir}/xmlrpc
792 %{py_scriptdir}/xmlrpc/*.py[co]
794 %files modules-sqlite
795 %defattr(644,root,root,755)
796 %attr(755,root,root) %{py_dyndir}/_sqlite3.so
797 %dir %{py_scriptdir}/sqlite3
798 %{py_scriptdir}/sqlite3/*.py[co]
801 %defattr(644,root,root,755)
803 %attr(755,root,root) %{_libdir}/libpython*.so.*
808 %dir %{py_sitescriptdir}
811 # shared modules required by python library
812 %attr(755,root,root) %{py_dyndir}/_struct.so
814 # modules required by python library
815 %{py_scriptdir}/codecs.py[co]
816 %{py_scriptdir}/copyreg.py[co]
817 %{py_scriptdir}/locale.py[co]
818 %{py_scriptdir}/posixpath.py[co]
819 %{py_scriptdir}/site.py[co]
820 %{py_scriptdir}/stat.py[co]
821 %{py_scriptdir}/os.py[co]
822 # needed by the dynamic sys.lib patch
823 %{py_scriptdir}/types.py[co]
825 # encodings required by python library
826 %dir %{py_scriptdir}/encodings
827 %{py_scriptdir}/encodings/*.py[co]
830 %defattr(644,root,root,755)
831 %attr(755,root,root) %{_bindir}/pydoc%{py_ver}
832 %{py_scriptdir}/pydoc.py[co]
835 %defattr(644,root,root,755)
836 %attr(755,root,root) %{_bindir}/idle%{py_ver}
837 %dir %{py_scriptdir}/idlelib
838 %dir %{py_scriptdir}/idlelib/Icons
839 %{py_scriptdir}/idlelib/*.py[co]
840 %doc %{py_scriptdir}/idlelib/*.txt
841 %doc %{py_scriptdir}/idlelib/ChangeLog
842 %{py_scriptdir}/idlelib/Icons/*
843 %{py_scriptdir}/idlelib/*.def
846 %defattr(644,root,root,755)
847 %doc Misc/{ACKS,NEWS,README,README.valgrind,valgrind-python.supp}
848 %attr(755,root,root) %{_bindir}/python%{py_ver}-config
849 %attr(755,root,root) %{_libdir}/lib*.so
853 %dir %{py_libdir}/config
854 %attr(755,root,root) %{py_libdir}/config/makesetup
855 %attr(755,root,root) %{py_libdir}/config/install-sh
856 %{py_libdir}/config/Makefile
857 %{py_libdir}/config/Makefile.pre.in
858 %{py_libdir}/config/Setup
859 %{py_libdir}/config/Setup.config
860 %{py_libdir}/config/Setup.local
861 %{py_libdir}/config/config.c
862 %{py_libdir}/config/config.c.in
863 %{py_libdir}/config/python.o
866 %defattr(644,root,root,755)
867 %attr(-,root,root) %{py_scriptdir}/*.py
868 %{py_scriptdir}/plat-*/*.py
869 %{py_scriptdir}/ctypes/*.py
870 %{py_scriptdir}/ctypes/macholib/*.py
871 %{py_scriptdir}/curses/*.py
872 %{py_scriptdir}/dbm/*.py
873 %{py_scriptdir}/distutils/*.py
874 %{py_scriptdir}/distutils/command/*.py
875 %{py_scriptdir}/email/*.py
876 %{py_scriptdir}/email/mime/*.py
877 %{py_scriptdir}/html/*.py
878 %{py_scriptdir}/http/*.py
879 %{py_scriptdir}/json/*.py
880 %{py_scriptdir}/lib2to3/*.py
881 %{py_scriptdir}/lib2to3/fixes/*.py
882 %{py_scriptdir}/lib2to3/pgen2/*.py
883 %{py_scriptdir}/logging/*.py
884 %{py_scriptdir}/multiprocessing/*.py
885 %{py_scriptdir}/multiprocessing/dummy/*.py
886 %{py_scriptdir}/sqlite3/*.py
887 %{py_scriptdir}/urllib/*.py
888 %{py_scriptdir}/wsgiref/*.py
889 %{py_scriptdir}/tkinter/*.py
890 %{py_scriptdir}/xml/*.py
891 %{py_scriptdir}/xml/dom/*.py
892 %{py_scriptdir}/xml/etree/*.py
893 %{py_scriptdir}/xml/parsers/*.py
894 %{py_scriptdir}/xml/sax/*.py
895 %{py_scriptdir}/xmlrpc/*.py
896 %{py_scriptdir}/encodings/*.py
897 %{py_scriptdir}/idlelib/*.py
900 %defattr(644,root,root,755)
902 /etc/shrc.d/python*-devel*
904 %attr(755,root,root) %{_bindir}/pygettext%{py_ver}
906 %{py_scriptdir}/pdb.py[co]
907 %{py_scriptdir}/profile.py[co]
908 %{py_scriptdir}/pstats.py[co]
909 %{py_scriptdir}/timeit.py[co]
912 %attr(755,root,root) %{_bindir}/2to3
913 %dir %{py_scriptdir}/lib2to3
914 %{py_scriptdir}/lib2to3/*.txt
915 %{py_scriptdir}/lib2to3/*.pickle
916 %{py_scriptdir}/lib2to3/*.py[co]
917 %dir %{py_scriptdir}/lib2to3/fixes
918 %{py_scriptdir}/lib2to3/fixes/*.py[co]
919 %dir %{py_scriptdir}/lib2to3/pgen2
920 %{py_scriptdir}/lib2to3/pgen2/*.py[co]
923 %defattr(644,root,root,755)
927 %defattr(644,root,root,755)
928 %{_examplesdir}/%{name}-%{version}
932 %defattr(644,root,root,755)
938 %defattr(644,root,root,755)
939 %dir %{py_scriptdir}/tkinter
940 %{py_scriptdir}/tkinter/*.py[co]
941 %attr(755,root,root) %{py_dyndir}/_tkinter.so