]>
Commit | Line | Data |
---|---|---|
30baa9fb | 1 | # |
55c63f85 | 2 | # TODO |
32e8c81f | 3 | # - test_pydoc fails because of PYTHONPATH override |
55c63f85 ER |
4 | # - change searchpath order so /usr/lib* is before /usr/share |
5 | # - kill lib-tk from searchpath | |
6 | # - kill BR: file requirement from lib64 patch | |
2cbe1097 PG |
7 | # - security(CVE-2008-4108) |
8 | # http://securitytracker.com/alerts/2008/Sep/1020904.html | |
390a4bf0 | 9 | # |
9ef7b464 | 10 | # Conditional build: |
a6385cd7 | 11 | %bcond_with info # build info pages (requires emacs, fails in python-2.5.0) |
d6b7073f | 12 | %bcond_without tkinter # disables tkinter module building |
13 | %bcond_without tests # disables Python testing | |
26f84c7d | 14 | %bcond_with verbose_tests # runs tests in verbose mode |
c87d7700 | 15 | %bcond_with openssl097 # build for openssl < 0.9.8 |
390a4bf0 | 16 | # |
ca0308fd JK |
17 | # tests which will not work on 64-bit platforms |
18 | %define no64bit_tests test_audioop test_rgbimg test_imageop | |
19 | # tests which may fail because of builder environment limitations (no /proc or /dev/pts) | |
a51ef957 | 20 | %define nobuilder_tests test_resource test_openpty test_socket test_nis test_posix test_locale test_pty test_urllib2 |
8d4a0118 | 21 | # tests which fail because of some unknown/unresolved reason (this list should be ideally just %{nil}) |
c87d7700 | 22 | %define broken_tests test_doctest test_pydoc test_distutils test_gdb |
72dcf1e0 | 23 | |
21748cff | 24 | %define py_ver 2.7 |
72dcf1e0 | 25 | %define py_prefix %{_prefix} |
26 | %define py_libdir %{py_prefix}/%{_lib}/python%{py_ver} | |
27 | %define py_incdir %{_includedir}/python%{py_ver} | |
28 | %define py_sitedir %{py_libdir}/site-packages | |
dbafd771 | 29 | %define py_sitescriptdir %{_datadir}/python%{py_ver}/site-packages |
72dcf1e0 | 30 | %define py_dyndir %{py_libdir}/lib-dynload |
a9ce5112 | 31 | |
5b13880d | 32 | Summary: Very high level scripting language with X interface |
0b27afdb ER |
33 | Summary(es.UTF-8): Lenguaje script de alto nivel con interfaz X |
34 | Summary(fr.UTF-8): Langage de script de très haut niveau avec interface X | |
35 | Summary(pl.UTF-8): Python - język obiektowy wysokiego poziomu | |
36 | Summary(pt_BR.UTF-8): Linguagem de programação interpretada de alto nível | |
37 | Summary(ru.UTF-8): Язык программирования очень высокого уровня с X-интерфейсом | |
38 | Summary(tr.UTF-8): X arayüzlü, yüksek düzeyli, kabuk yorumlayıcı dili | |
39 | Summary(uk.UTF-8): Мова програмування дуже високого рівня з X-інтерфейсом | |
5b13880d | 40 | Name: python |
49cd78f9 | 41 | Version: %{py_ver}.18 |
2eee8c61 | 42 | Release: 5 |
a95139f4 | 43 | Epoch: 1 |
fc17d518 | 44 | License: PSF |
3f6b8c4d | 45 | Group: Development/Languages/Python |
c0f19ca3 | 46 | Source0: https://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz |
49cd78f9 | 47 | # Source0-md5: fd6cc8ec0a78c44036f825e739f36e5a |
c0f19ca3 | 48 | Source1: https://www.python.org/ftp/python/doc/%{version}/%{name}-%{version}-docs-html.tar.bz2 |
49cd78f9 | 49 | # Source1-md5: de2e764e4fda62e61af49df3e640fcba |
59012690 | 50 | Source2: pyconfig.h.in |
fbd4bf4a | 51 | Patch0: %{name}-db.patch |
e4f3f657 | 52 | Patch1: %{name}-pythonpath.patch |
21748cff | 53 | Patch2: %{name}-ac_fixes.patch |
5a2b75ad JK |
54 | Patch3: %{name}-multilib.patch |
55 | Patch4: %{name}-verbose.patch | |
56 | Patch5: %{name}-distro.patch | |
57 | Patch6: %{name}-DNStests.patch | |
58 | Patch7: %{name}-install_prefix.patch | |
aa4fd056 | 59 | Patch8: %{name}-bdist_rpm.patch |
e4f2beca AM |
60 | # https://bugs.python.org/issue10496 |
61 | Patch9: https://bugs.python.org/file21896/nonexistent_user.patch | |
05607efb | 62 | Patch10: %{name}-BLDLIBRARY.patch |
375e7fe7 | 63 | Patch11: openssl3.patch |
e4f2beca | 64 | # Patch9-md5: db706fbe6de467c6e4c97c675eddf29a |
c87d7700 | 65 | URL: https://www.python.org/ |
3f629a49 | 66 | BuildRequires: autoconf >= 2.65 |
ea46ca64 | 67 | BuildRequires: automake |
c9c8df30 | 68 | BuildRequires: bluez-libs-devel |
30002d3f | 69 | BuildRequires: bzip2-devel |
c3e778ad | 70 | BuildRequires: db-devel >= 4 |
d008fe98 | 71 | %{?with_info:BuildRequires: emacs >= 21} |
b95df7c5 | 72 | BuildRequires: expat-devel >= 1:1.95.7 |
55c63f85 | 73 | BuildRequires: file |
26f84c7d | 74 | BuildRequires: gdbm-devel >= 1.8.3 |
390a4bf0 | 75 | BuildRequires: gmp-devel >= 4.0 |
c0f19ca3 | 76 | BuildRequires: libnsl-devel |
00ab6f33 | 77 | BuildRequires: libstdc++-devel |
c0f19ca3 | 78 | BuildRequires: libtirpc-devel |
6888c01c | 79 | BuildRequires: ncurses-ext-devel >= 5.2 |
3846ac63 AM |
80 | %if %{with openssl097} |
81 | BuildRequires: openssl-devel < 0.9.8 | |
82 | %else | |
fe2e1b2f | 83 | BuildRequires: openssl-devel >= 0.9.8 |
3846ac63 | 84 | %endif |
c0f19ca3 | 85 | BuildRequires: pkgconfig |
1b348424 | 86 | BuildRequires: readline-devel >= 5.0 |
f9585a25 | 87 | BuildRequires: rpm-pythonprov |
375b6ad2 | 88 | BuildRequires: sed >= 4.0 |
30baa9fb | 89 | BuildRequires: sqlite3-devel >= 3.3.5 |
d008fe98 | 90 | %{?with_info:BuildRequires: tetex-makeindex} |
ea46ca64 | 91 | #%{?with_tkinter:BuildRequires: tix-devel >= 1:8.1.4-4} |
9ef7b464 | 92 | %{?with_tkinter:BuildRequires: tk-devel >= 8.4.3} |
7496b759 | 93 | BuildRequires: zlib-devel |
b95df7c5 | 94 | Requires: %{name}-libs = %{epoch}:%{version}-%{release} |
c760bd24 | 95 | Suggests: python-pip |
c90aefc1 | 96 | Obsoletes: python2 |
cbbdb8c8 | 97 | Conflicts: bzr < 1.8 |
390a4bf0 | 98 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
adc34f9b | 99 | |
ca0308fd | 100 | %if %{with verbose_tests} |
12d09cd7 | 101 | %define test_flags -v -l -x |
ca0308fd | 102 | %else |
dcede741 | 103 | %define test_flags -w -l -x |
ca0308fd JK |
104 | %endif |
105 | ||
c13a1330 | 106 | %ifarch alpha ia64 ppc64 ppc64 %{x8664} |
ca0308fd JK |
107 | %define test_list %{nobuilder_tests} %{broken_tests} %{no64bit_tests} |
108 | %else | |
109 | %define test_list %{nobuilder_tests} %{broken_tests} | |
110 | %endif | |
6c765af5 | 111 | |
84f1c8f6 | 112 | %ifarch sparc sparcv9 |
e20f2a55 | 113 | %define test_list %{nobuilder_tests} %{broken_tests} test_fcntl test_ioctl |
114 | %endif | |
115 | ||
c13a1330 | 116 | %ifarch sparc64 |
25458093 | 117 | %define test_list %{nobuilder_tests} %{broken_tests} %{no64bit_tests} test_fcntl test_ioctl |
c13a1330 | 118 | %endif |
119 | ||
adc34f9b | 120 | %description |
9388650a | 121 | Python is an interpreted, interactive, object-oriented programming |
cf25e4ba | 122 | language. It incorporates modules, exceptions, dynamic typing, very |
123 | high level dynamic data types, and classes. Python combines remarkable | |
124 | power with very clear syntax. It has interfaces to many system calls | |
125 | and libraries, as well as to various window systems, and is extensible | |
126 | in C or C++. It is also usable as an extension language for | |
127 | applications that need a programmable interface. Finally, Python is | |
128 | portable: it runs on many brands of UNIX, on the Mac, and on PCs under | |
129 | MS-DOS, Windows, Windows NT, and OS/2. | |
5b13880d | 130 | |
84534bf8 ER |
131 | This package contains the Python binary. |
132 | ||
ed105c47 | 133 | %description -l de.UTF-8 |
170d6e71 | 134 | Python ist eine interpretierte, interaktive, objektorientierte |
cf25e4ba | 135 | Programmiersprache, vergleichbar zu Tcl, Perl, Scheme oder Java. |
ed105c47 JR |
136 | Python enthält Module, Klassen, Exceptions, High-Level dynamische |
137 | Datentypen und dynamisches Typisieren. Python unterstützt Interfaces | |
cf25e4ba | 138 | zu vielen Systemaufrufen und Libraries, sowie verschiedene |
139 | Fenstersysteme (X11, Motif, Tk, Mac und MFC) | |
170d6e71 | 140 | |
ed105c47 JR |
141 | Programmierer können neue built-in-Module für Python in C oder C++ |
142 | schreiben. Python kann auch als Erweiterungssprache für Applikationen | |
cf25e4ba | 143 | benutzt werden, die ein programmierbares Interface brauchen. Dieses |
ed105c47 | 144 | Paket enthält die meisten Standard-Python-Module, und Module zum |
cf25e4ba | 145 | Ansprechen von Tix (Tk-widget set) und RPM. |
170d6e71 | 146 | |
ed105c47 | 147 | %description -l es.UTF-8 |
4757490f | 148 | Python es un lenguaje de scripts interpretado orientado a objetos. |
ed105c47 | 149 | Contiene soporte para carga dinámica de objetos, clases, módulos y |
4757490f | 150 | excepciones. |
151 | ||
152 | Es sencillo adicionar interfaces para nuevos sistemas de biblioteca a | |
ed105c47 JR |
153 | través de código C, tornando Python fácil de usar en ambientes |
154 | particulares/personalizados. Este paquete Python incluye la mayoría de | |
155 | los módulos padrón Python, junto con módulos para crear interfaces | |
4757490f | 156 | para el conjunto de componentes Tix para Tk y RPM. |
157 | ||
ed105c47 JR |
158 | %description -l fr.UTF-8 |
159 | Python est un langage de script interprété et orienté objet. Il gère | |
cf25e4ba | 160 | le chargement dynamique des objets, les classes, les modules et les |
ed105c47 JR |
161 | exceptions. L'ajout d'interfaces aux nouvelles bibliothèques systèmes |
162 | avec du code C est simple, ce qui rend Python facile à utiliser dans | |
163 | des configs personnalisées. | |
adc34f9b | 164 | |
cf25e4ba | 165 | Ce paquetage Python contient la plupart des modules Python standards, |
ed105c47 | 166 | ainsi que ceux permettant l'interfaçage avec les widgets Tix pour Tk |
cf25e4ba | 167 | et RPM. |
adc34f9b | 168 | |
ed105c47 | 169 | %description -l pl.UTF-8 |
af97e69f | 170 | Python jest interpretowanym, interaktywnym i zorientowanym obiektowo |
ed105c47 JR |
171 | językiem programowania. Jest modularny, obsługuje wyjątki, dynamiczne |
172 | typy, zaawansowane dynamiczne struktury danych i klasy. Python łączy w | |
173 | sobie duże możliwości i przejrzystą składnię. Posiada interfejsy do | |
174 | wielu wywołań systemowych i bibliotek, w tym również do różnych | |
175 | bibliotek okienkowych. Możliwości jego można jeszcze rozszerzać | |
176 | poprzez odpowiednie moduły pisane w C lub C++. Python może być również | |
177 | użyty jako element aplikacji, którym potrzebny jest interpreter do | |
178 | skryptów. I wreszcie, Python jest wieloplatformowy, działa na wielu | |
86602284 | 179 | odmianach UNIX-a, Macu oraz PC pod DOS-em, Windows, WindowsNT oraz |
cf25e4ba | 180 | OS/2. |
5b13880d | 181 | |
ed105c47 | 182 | Ten pakiet zawiera binarkę Pythona. |
3934ad29 | 183 | |
ed105c47 JR |
184 | %description -l pt_BR.UTF-8 |
185 | Python é uma linguagem de scripts interpretada orientada a objetos. | |
186 | Contém suporte para carga dinâmica de objetos, classes, módulos e | |
187 | exceções. Adicionar interfaces para novos sistemas de biblioteca | |
188 | através de código C é simples, tornando Python fácil de usar em | |
4757490f | 189 | ambientes particulares/personalizados. |
190 | ||
ed105c47 JR |
191 | Este pacote Python inclui a maioria do módulos padrão Python, junto |
192 | com módulos para interfaceamento para o conjunto de componentes Tix | |
4757490f | 193 | para Tk e RPM. |
194 | ||
ed105c47 JR |
195 | %description -l ru.UTF-8 |
196 | Python - это интерпретируемый, объектно-ориентированный язык | |
197 | программирования. Он поддерживает динамическую загрузку объектов, | |
198 | классы, модули и обработку исключительных ситуаций (exceptions). | |
199 | Простота добавления интерфейсов к новым системным библиотекам через | |
200 | код на языке C делает Python хорошим выбором для использования в | |
201 | специальных конфигурациях. | |
202 | ||
203 | %description -l tr.UTF-8 | |
204 | Python, nesneye yönelik bir kabuk yorumlayıcıdır. Nesnelerin, | |
205 | sınıfların, modüllerin ve aykırı durumların dinamik yüklenmelerine | |
206 | destek verir. C koduyla birlikte kullanımı son derece kolaydır. Bu | |
207 | paket, standart Python birimlerinin çoğunun yanısıra Tk ve RPM için | |
208 | arayüz birimlerini de içerir. | |
209 | ||
210 | %description -l uk.UTF-8 | |
211 | Python - це інтерпретована, об'єктно-орієнтована мова програмування. | |
212 | Він підтримує динамічну загрузку об'єктів, класи, модулі та обробку | |
213 | виключних ситуацій (exceptions). Простота додавання інтерфейсів для | |
214 | нових системних бібліотек через код на мові C робить Python добрим | |
215 | вибором для використання в спеціальних конфігураціях. | |
94f0df92 | 216 | |
9bc1f934 | 217 | %package libs |
218 | Summary: Python library | |
0b27afdb | 219 | Summary(pl.UTF-8): Biblioteka języka Python |
0d3fc867 | 220 | Group: Libraries/Python |
eed8142f JB |
221 | # broken detection in rpm/pythondeps.sh |
222 | Provides: python(abi) = %{py_ver} | |
223 | # for compatibility with existing Ac packages | |
8ffdc920 | 224 | Provides: python(bytecode) = %{py_ver} |
b9a3d728 | 225 | %{!?with_info:Obsoletes: python-doc-info} |
4675b5d8 | 226 | Obsoletes: python-intl |
9bc1f934 | 227 | |
228 | %description libs | |
84534bf8 | 229 | Python shared library and very essental modules for Python binary. |
9bc1f934 | 230 | |
ed105c47 JR |
231 | %description libs -l pl.UTF-8 |
232 | Biblioteka współdzielona języka Python oraz bardzo podstawowe moduły | |
3934ad29 | 233 | dla Pythona. |
9bc1f934 | 234 | |
235 | %package modules | |
236 | Summary: Python modules | |
0b27afdb | 237 | Summary(pl.UTF-8): Moduły języka Python |
0d3fc867 | 238 | Group: Libraries/Python |
8ffdc920 | 239 | Requires: %{name}-libs = %{epoch}:%{version}-%{release} |
d9971142 | 240 | Provides: python-argparse = 1.1 |
21894ccc ER |
241 | Provides: python-cElementTree |
242 | Provides: python-elementtree | |
d9971142 ER |
243 | Provides: pythonegg(argparse) = 1.1 |
244 | Obsoletes: python-argparse < 1.1.99 | |
b72ae268 | 245 | Obsoletes: python-cElementTree |
21894ccc | 246 | Obsoletes: python-ctypes |
4675b5d8 | 247 | Obsoletes: python-curses |
1f218cb3 | 248 | Obsoletes: python-elementtree |
4675b5d8 | 249 | Obsoletes: python-gdbm |
552382d6 | 250 | Obsoletes: python-hashlib |
9d0d4238 | 251 | Obsoletes: python-logging |
30baa9fb | 252 | Obsoletes: python-old |
f7b26cd9 | 253 | Obsoletes: python-optik |
4675b5d8 JB |
254 | Obsoletes: python-ssl |
255 | Obsoletes: python-xml | |
e8ab3359 | 256 | Obsoletes: python-xmlrpc <= 1.0.1 |
4675b5d8 | 257 | Obsoletes: python-zlib |
f81db09b | 258 | %requires_ge_to openssl openssl-devel |
9bc1f934 | 259 | |
260 | %description modules | |
84534bf8 | 261 | Python officially distributed modules. |
9bc1f934 | 262 | |
ed105c47 JR |
263 | %description modules -l pl.UTF-8 |
264 | Oficjalnie rozprowadzane moduły języka Python. | |
9bc1f934 | 265 | |
6acc3a01 | 266 | %package modules-sqlite |
267 | Summary: Python SQLite modules | |
0b27afdb | 268 | Summary(pl.UTF-8): Moduły SQLite języka Python |
6acc3a01 | 269 | Group: Libraries/Python |
270 | Requires: %{name}-modules = %{epoch}:%{version}-%{release} | |
909f39a4 | 271 | Provides: python(sqlite) |
6acc3a01 | 272 | |
273 | %description modules-sqlite | |
274 | Python officially distributed sqlite module. | |
275 | ||
ed105c47 JR |
276 | %description modules-sqlite -l pl.UTF-8 |
277 | Oficjalnie rozprowadzany moduł sqlite języka Python. | |
6acc3a01 | 278 | |
f7403710 | 279 | %package -n pydoc |
9bc1f934 | 280 | Summary: Python interactive module documentation access support |
0b27afdb | 281 | Summary(pl.UTF-8): Interaktywne korzystanie z dokumentacji modułów języka Python |
0d3fc867 | 282 | Group: Applications |
390a4bf0 | 283 | Requires: %{name}-modules = %{epoch}:%{version}-%{release} |
f7403710 | 284 | Obsoletes: python-pydoc |
9bc1f934 | 285 | |
f7403710 | 286 | %description -n pydoc |
9bc1f934 | 287 | Python interactive module documentation access support. |
288 | ||
f7403710 | 289 | %description -n pydoc -l pl.UTF-8 |
ed105c47 | 290 | Interaktywne korzystanie z dokumentacji modułów języka Python. |
9bc1f934 | 291 | |
f7403710 | 292 | %package -n idle |
9d0d4238 | 293 | Summary: IDE for Python language |
0b27afdb | 294 | Summary(pl.UTF-8): IDE dla języka Python |
3f6b8c4d | 295 | Group: Applications/Editors |
0569a0ea | 296 | Requires: %{name}-tkinter = %{epoch}:%{version}-%{release} |
f7403710 | 297 | Obsoletes: python-idle |
9d0d4238 | 298 | |
f7403710 | 299 | %description -n idle |
9d0d4238 | 300 | IDE for Python language. |
301 | ||
ed105c47 JR |
302 | %description -n idle -l pl.UTF-8 |
303 | IDE dla języka Python. | |
9d0d4238 | 304 | |
adc34f9b | 305 | %package devel |
5b13880d | 306 | Summary: Libraries and header files for building python code |
0b27afdb ER |
307 | Summary(de.UTF-8): Libraries und Header-Dateien zum Erstellen von Python-Code |
308 | Summary(es.UTF-8): Bibliotecas y archivos de inclusión para construir programas en python | |
309 | Summary(fr.UTF-8): Bibliothèques et en-têtes pour construire du code python | |
310 | Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki Pythona | |
311 | Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para o Python | |
312 | Summary(ru.UTF-8): Библиотеки и хедеры для построения кода на языке Python | |
313 | Summary(tr.UTF-8): Python ile geliştirme yapmak için gerekli dosyalar | |
314 | Summary(uk.UTF-8): Бібліотеки та хедери для програмування на мові Python | |
a9e2f1f5 | 315 | Group: Development/Languages/Python |
390a4bf0 | 316 | Requires: %{name}-libs = %{epoch}:%{version}-%{release} |
274e744e | 317 | Requires: %{name}-modules = %{epoch}:%{version}-%{release} |
4675b5d8 | 318 | Obsoletes: python2-devel |
adc34f9b | 319 | |
320 | %description devel | |
cf25e4ba | 321 | The Python interpreter is relatively easy to extend with dynamically |
daf8bffc | 322 | loaded extensions and to embed in other programs. This package |
cf25e4ba | 323 | contains the header files and libraries which are needed to do both of |
324 | these tasks. | |
adc34f9b | 325 | |
ed105c47 | 326 | %description devel -l de.UTF-8 |
cf25e4ba | 327 | Der Python-Interpretierer ist relativ einfach anhand von dynamisch |
ed105c47 JR |
328 | ladbaren Erweiterungen auszubauen und läßt sich in andere Programme |
329 | integrieren. Dieses Paket enthält die Header-Dateien und Libraries, | |
330 | die für beide Aufgaben erforderlich sind. | |
adc34f9b | 331 | |
ed105c47 | 332 | %description devel -l es.UTF-8 |
4757490f | 333 | El interpretador Python permite incluir con facilidad extensiones |
ed105c47 JR |
334 | cargadas dinámicamente. Python es también fácil de ser empotrado en |
335 | otros programas. Este paquete contiene los archivos de inclusión y | |
4757490f | 336 | bibliotecas necesarios para estas dos tareas. |
337 | ||
ed105c47 JR |
338 | %description devel -l fr.UTF-8 |
339 | L'interpréteur Python est relativement facile à étendre avec des | |
340 | extensions chargées dynamiquement et à insérer dans d'autres | |
341 | programmes. Ce paquetage contient les en-têtes et les bibliothèques | |
342 | nécessaires à ces deux tâches. | |
343 | ||
344 | %description devel -l pl.UTF-8 | |
345 | Interpreter Pythona jest w miarę łatwy do rozszerzania przy pomocy | |
346 | dynamicznie ładowanych rozszerzeń napisanych w C lub C++ oraz | |
347 | osadzania w innych programach. Ten pakiet zawiera pliki nagłówkowe i | |
348 | wszystko inne co potrzebne do tych celów. | |
349 | ||
350 | %description devel -l pt_BR.UTF-8 | |
351 | O interpretador Python permite incluir com facilidade extensões | |
352 | carregadas dinamicamente. Python é também fácil de ser embutido em | |
353 | outros programas. Este pacote contém os arquivos de inclusão e | |
354 | bibliotecas necessários para estas duas tarefas. | |
355 | ||
356 | %description devel -l ru.UTF-8 | |
357 | Интерпретатор Python относительно легко расширяется при помощи | |
358 | динамически загружаемых расширений и встраивается в другие программы. | |
359 | Этот пакет содержит хедеры и библиотеки, необходимые для обеих этих | |
360 | задач. | |
361 | ||
362 | %description devel -l tr.UTF-8 | |
363 | Bu paket, Python ile geliştirme yapılabilmesi için gerekli başlık | |
364 | dosyalarını ve kitaplıkları içerir. | |
365 | ||
366 | %description devel -l uk.UTF-8 | |
367 | Інтерпретатор Python відносно легко розширюється за допомогою | |
368 | розширень з динамічною загрузкою та вбудовується в інші програми. Цей | |
369 | пакет містить хедери та бібліотеки, необхідні для обох цих задач. | |
94f0df92 | 370 | |
9bc1f934 | 371 | %package devel-src |
372 | Summary: Python module sources | |
0b27afdb | 373 | Summary(pl.UTF-8): Pliki źródłowe modułów Pythona |
9bc1f934 | 374 | Group: Development/Languages/Python |
390a4bf0 | 375 | Requires: %{name}-modules = %{epoch}:%{version}-%{release} |
9bc1f934 | 376 | |
377 | %description devel-src | |
378 | Python module sources. | |
379 | ||
ed105c47 JR |
380 | %description devel-src -l pl.UTF-8 |
381 | Pliki źródłowe modułów Pythona. | |
9bc1f934 | 382 | |
f19fca05 | 383 | %package devel-tools |
384 | Summary: Python development tools | |
0b27afdb | 385 | Summary(pl.UTF-8): Narzędzia programistyczne języka Python |
f19fca05 | 386 | Group: Development/Languages/Python |
390a4bf0 | 387 | Requires: %{name}-modules = %{epoch}:%{version}-%{release} |
f19fca05 | 388 | |
389 | %description devel-tools | |
390 | Python development tools such as profilers and debugger. | |
391 | ||
ed105c47 JR |
392 | %description devel-tools -l pl.UTF-8 |
393 | Narzędzia programistyczne języka Python takie jak profiler oraz | |
6888c01c | 394 | debugger. |
f19fca05 | 395 | |
dbbdab91 AF |
396 | %package 2to3 |
397 | Summary: Automated Python 2 to 3 code translation | |
de833dff | 398 | Summary(pl.UTF-8): Automatyczne tłumaczenie kodu Pythona 2 na 3 |
8c748ea7 | 399 | Group: Development/Languages/Python |
dbbdab91 AF |
400 | |
401 | %description 2to3 | |
8c748ea7 ER |
402 | 2to3 is a Python program that reads Python 2.x source code and applies |
403 | a series of fixers to transform it into valid Python 3.x code. The | |
404 | standard library contains a rich set of fixers that will handle almost | |
405 | all code. 2to3 supporting library lib2to3 is, however, a flexible and | |
406 | generic library, so it is possible to write your own fixers for 2to3. | |
407 | lib2to3 could also be adapted to custom applications in which Python | |
408 | code needs to be edited automatically. | |
dbbdab91 | 409 | |
de833dff JB |
410 | %description 2to3 -l pl.UTF-8 |
411 | 2to3 to program w Pythonie czytający od źródłowy w Pythonie 2.x i | |
412 | aplikujący serię poprawek przekształcających go w poprawny kod w | |
413 | Pythonie 3.x. Biblioteka standardowa zawiera duży zbiór poprawek | |
414 | obsługujących większość kodu. Biblioteka wspierająca 2to3 (lib2to3) | |
415 | jest jednak elastyczną i ogólną biblioteką, więc można pisać własne | |
416 | poprawki dla 2to3. lib2to3 można także zaadaptować na potrzeby | |
417 | własnych zastosowań, w których kod w Pythonie musi być modyfikowany | |
418 | automatycznie. | |
419 | ||
673628f8 | 420 | %package static |
421 | Summary: Static python library | |
0b27afdb | 422 | Summary(pl.UTF-8): Statyczna biblioteka Pythona |
673628f8 | 423 | Group: Development/Languages/Python |
390a4bf0 | 424 | Requires: %{name}-devel = %{epoch}:%{version}-%{release} |
673628f8 | 425 | |
426 | %description static | |
427 | Static python library. | |
428 | ||
ed105c47 | 429 | %description static -l pl.UTF-8 |
3c8585c7 JB |
430 | Statyczna biblioteka Pythona. |
431 | ||
9388650a | 432 | %package doc |
5b13880d | 433 | Summary: Documentation on Python |
0b27afdb ER |
434 | Summary(de.UTF-8): Dokumentation zu Python |
435 | Summary(es.UTF-8): Documentación para Python | |
436 | Summary(fr.UTF-8): Documentation sur Python | |
437 | Summary(pl.UTF-8): Dokumentacja do Pythona | |
438 | Summary(pt_BR.UTF-8): Documentação para a linguagem de programação Python | |
439 | Summary(ru.UTF-8): Документация по языку Python | |
440 | Summary(tr.UTF-8): Python belgeleri | |
441 | Summary(uk.UTF-8): Документація по мові Python | |
0d3fc867 | 442 | Group: Documentation |
7913c69a | 443 | Obsoletes: python-docs |
adc34f9b | 444 | |
9388650a | 445 | %description doc |
cf25e4ba | 446 | This package contains documentation on the Python language and |
447 | interpretor as a mix of plain ASCII files and LaTeX sources. | |
adc34f9b | 448 | |
ed105c47 JR |
449 | %description doc -l de.UTF-8 |
450 | Dieses Paket enthält Dokumentationen zu Python (Sprache und | |
cf25e4ba | 451 | Interpreter) in Form von einfachen ASCII-Dateien und LaTeX-Quellen. |
adc34f9b | 452 | |
ed105c47 JR |
453 | %description doc -l es.UTF-8 |
454 | Documentación para Python. Contiene archivos en texto y PostScript. | |
4757490f | 455 | |
ed105c47 | 456 | %description doc -l fr.UTF-8 |
cf25e4ba | 457 | Ce paquetage contient la documentation sur le langage python et sur |
ed105c47 | 458 | son interpréteur sous forme de fichiers ASCII et LaTeX. |
adc34f9b | 459 | |
ed105c47 JR |
460 | %description doc -l pl.UTF-8 |
461 | Oficjalna dokumentacja do Pythona. Zawiera przykładowe programy, | |
462 | narzędzia i dokumentację. Strony podręcznika man znajdują się w | |
463 | głównym pakiecie. Ten pakiet nie zawiera źródeł dokumentacji | |
6888c01c ER |
464 | napisanych w LaTeXu, tylko gotowe do wykorzystania pliki postscriptowe |
465 | i HTML. | |
adc34f9b | 466 | |
ed105c47 JR |
467 | %description doc -l pt_BR.UTF-8 |
468 | O pacote python-doc contém documentação para a linguagem de | |
469 | programação e para o interpretador Python. Fornecida em arquivos texto | |
4757490f | 470 | e Postcript. |
471 | ||
ed105c47 JR |
472 | %description doc -l ru.UTF-8 |
473 | Этот пакет содержит документацию по собственно языку Python и по | |
474 | исполняющему его интерпретатору в виде набора текстовых файлов и | |
475 | исходных текстов в формате LaTeX. | |
94f0df92 | 476 | |
ed105c47 JR |
477 | %description doc -l tr.UTF-8 |
478 | Bu paket, Python dili ile ilgili belgeleri ve düz ASCII dosyaları ve | |
479 | LaTeX kaynaklarının bir karışımı olan yorumlayıcıyı içerir. | |
adc34f9b | 480 | |
ed105c47 JR |
481 | %description doc -l uk.UTF-8 |
482 | Цей пакет містить документацію по власне мові Python та по виконуючому | |
483 | її інтерпретатору у вигляді набора текстових файлів та вихідних | |
484 | текстів у форматі LaTeX. | |
94f0df92 | 485 | |
9f13b05c | 486 | %package doc-info |
487 | Summary: Documentation on Python in texinfo format | |
0b27afdb | 488 | Summary(pl.UTF-8): Dokumentacja do Pythona w formacie texinfo |
9f13b05c | 489 | Group: Documentation |
490 | ||
491 | %description doc-info | |
492 | Documentation on Python in texinfo format. | |
493 | ||
ed105c47 | 494 | %description doc-info -l pl.UTF-8 |
9f13b05c | 495 | Dokumentacja do Pythona w formacie texinfo. |
496 | ||
efc1a08b | 497 | %package tkinter |
fbe0b8d8 | 498 | Summary: Standard Python interface to the Tk GUI toolkit |
0b27afdb ER |
499 | Summary(de.UTF-8): Grafische Tk-Schnittstelle für Python |
500 | Summary(es.UTF-8): Interfaz de GUI Tk para Python | |
501 | Summary(fr.UTF-8): Interface graphique Tk pour Python | |
502 | Summary(pl.UTF-8): Standardowy interfejs Pythona do biblioteki Tk | |
503 | Summary(pt_BR.UTF-8): Interface GUI Tk para Phyton | |
504 | Summary(tr.UTF-8): Python için grafik kullanıcı arayüzü | |
0d3fc867 | 505 | Group: Libraries/Python |
390a4bf0 JB |
506 | Requires: %{name}-modules = %{epoch}:%{version}-%{release} |
507 | Requires: tcl >= 8.4.3 | |
508 | Requires: tix >= 1:8.1.4-4 | |
c038dfd2 | 509 | Requires: tk >= 8.4.3 |
efc1a08b | 510 | Obsoletes: tkinter |
adc34f9b | 511 | |
efc1a08b | 512 | %description tkinter |
fbe0b8d8 | 513 | Standard Python interface to the Tk GUI toolkit. |
adc34f9b | 514 | |
ed105c47 JR |
515 | %description tkinter -l de.UTF-8 |
516 | Eine grafische Schnittstelle für Python, basierend auf Tcl/Tk, und von | |
9388650a | 517 | vielen Konfigurations-Tools genutzt. |
adc34f9b | 518 | |
ed105c47 JR |
519 | %description tkinter -l es.UTF-8 |
520 | Una interfaz gráfica para Python, basada en Tcl/Tk, y usada por muchas | |
521 | herramientas de configuración. | |
4757490f | 522 | |
ed105c47 JR |
523 | %description tkinter -l fr.UTF-8 |
524 | Interface graphique pour Python, basée sur Tcl/Tk et utilisée par | |
cf25e4ba | 525 | beaucoup des outils de configuration. |
adc34f9b | 526 | |
ed105c47 | 527 | %description tkinter -l pl.UTF-8 |
fbe0b8d8 | 528 | Standardowy interfejs Pythona do biblioteki Tk. |
5b13880d | 529 | |
ed105c47 JR |
530 | %description tkinter -l pt_BR.UTF-8 |
531 | Uma interface gráfica para Python, baseada em Tcl/Tk, e usada por | |
532 | muitas ferramentas de configuração. | |
4757490f | 533 | |
ed105c47 JR |
534 | %description tkinter -l ru.UTF-8 |
535 | Графический интерфейс (GUI) для Python, построенный на Tcl/Tk. | |
944b9701 | 536 | |
ed105c47 JR |
537 | %description tkinter -l tr.UTF-8 |
538 | Python için Tcl/Tk'ye dayalı ve pek çok ayarlama aracı tarafından | |
539 | kullanılan grafik bir arayüzdür. | |
adc34f9b | 540 | |
ed105c47 JR |
541 | %description tkinter -l uk.UTF-8 |
542 | Графічний інтерфейс (GUI) для Python, побудований на Tcl/Tk. | |
944b9701 | 543 | |
9d555a37 | 544 | %package examples |
545 | Summary: Example programs in Python | |
0b27afdb | 546 | Summary(pl.UTF-8): Przykładowe programy w Pythonie |
9d555a37 | 547 | Group: Development/Languages/Python |
e253b649 | 548 | Obsoletes: python-tools |
9d555a37 | 549 | |
550 | %description examples | |
9bc1f934 | 551 | Example programs in Python. |
9d555a37 | 552 | |
72dcf1e0 | 553 | These are for Python 2.3.4, not %{version}. |
554 | ||
ed105c47 JR |
555 | %description examples -l pl.UTF-8 |
556 | Przykładowe programy w Pythonie. | |
9d555a37 | 557 | |
ed105c47 | 558 | Przykłady te są dla Pythona 2.3.4, nie %{version}. |
72dcf1e0 | 559 | |
72d4c735 JK |
560 | %package test |
561 | Summary: Python test modules | |
562 | Summary(pl.UTF-8): Moduły testowe Pythona | |
563 | Group: Development/Languages/Python | |
564 | Requires: %{name}-modules = %{epoch}:%{version}-%{release} | |
5b8d37fd | 565 | Suggests: %{name}-devel-src = %{epoch}:%{version}-%{release} |
72d4c735 JK |
566 | |
567 | %description test | |
568 | Python test modules. | |
569 | ||
570 | Unit tests for Python, some may be reused for testing other Python | |
571 | software. | |
572 | ||
573 | %description test -l pl.UTF-8 | |
574 | Moduły testowe Pythona. | |
575 | ||
576 | Niektóre z nich mogą być używane do testowania oprogramowania | |
577 | napisanego w Pythonie. | |
578 | ||
adc34f9b | 579 | %prep |
c0f19ca3 | 580 | %setup -q -n Python-%{version} |
fbd4bf4a | 581 | %patch0 -p1 |
876808b7 | 582 | %patch1 -p1 |
af97e69f | 583 | %patch2 -p1 |
c90aefc1 | 584 | %patch3 -p1 |
55c63f85 | 585 | %patch4 -p1 |
17141c0f | 586 | %patch5 -p1 |
a3868319 | 587 | %patch6 -p1 |
a35a64a8 | 588 | %patch7 -p1 |
aa4fd056 | 589 | %patch8 -p1 |
e4f2beca | 590 | %patch9 -p1 |
05607efb | 591 | %patch10 -p1 |
375e7fe7 | 592 | %patch11 -p1 |
adc34f9b | 593 | |
21894ccc | 594 | tar xjf %{SOURCE1} |
a9e2f1f5 | 595 | |
132c1a2a AM |
596 | sed -i -e 's#db_setup_debug = False#db_setup_debug = True#g' setup.py |
597 | ||
7e400b45 AM |
598 | # remove if Lib/plat-linux3 exists |
599 | [ -d Lib/plat-linux3 ] && exit 1 | |
600 | cp -a Lib/plat-linux2 Lib/plat-linux3 | |
601 | ||
84094aad JB |
602 | %{__sed} -i -e '1s,/usr/bin/python$,%{__python},' Lib/cgi.py |
603 | %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' Lib/{UserString,base64,cProfile,keyword,mimify,pdb,platform,profile,pydoc,quopri,smtpd,smtplib,symbol,tabnanny,timeit,trace,uu,webbrowser}.py | |
604 | %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' Lib/encodings/rot_13.py | |
605 | %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' Lib/idlelib/PyShell.py | |
606 | %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' Lib/lib2to3/pgen2/token.py | |
607 | %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' Lib/lib2to3/tests/{pytree_idempotency,data/different_encoding,data/false_encoding}.py | |
608 | %{__sed} -i -e '1s,/usr/bin/env python2,%{__python},' Lib/test/bisect_cmd.py | |
609 | %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' Lib/test/{curses_tests,pystone,re_tests,regrtest}.py | |
610 | %{__sed} -i -e '1s,@EXENAME@,%{__python},' Misc/python-config.in | |
611 | %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' Tools/ssl/make_ssl_data.py | |
612 | %{__sed} -i -e '1s,/usr/bin/python\>,%{__python},' Tools/{gdb/libpython,pybench/pybench}.py | |
613 | grep -l '/usr/bin/env python' -r Demo Tools | xargs %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' | |
614 | ||
80302796 | 615 | %build |
a07178c8 | 616 | %{__aclocal} |
a20bb51c | 617 | %{__autoconf} |
80302796 | 618 | %configure \ |
c2623236 | 619 | CC="%{__cc}" \ |
01758773 AM |
620 | OPT="%{rpmcflags}" \ |
621 | CPPFLAGS="%{rpmcppflags}" \ | |
622 | LDFLAGS="%{rpmldflags}" \ | |
633154b9 AM |
623 | ac_cv_posix_semaphores_enabled=yes \ |
624 | ac_cv_broken_sem_getvalue=no \ | |
01758773 | 625 | %{?with_debug:--with-pydebug} \ |
9d0d4238 | 626 | --with-threads \ |
6c025de4 | 627 | --with-system-ffi \ |
c9c8df30 | 628 | --enable-ipv6 \ |
5531b6a9 | 629 | --enable-unicode=ucs4 \ |
c68e08ad | 630 | --enable-shared \ |
c7d9ea6b AM |
631 | --with-dbmliborder=gdbm:bdb \ |
632 | --without-ensurepip | |
01758773 AM |
633 | |
634 | %{__make} 2>&1 | awk ' | |
b53e6307 AM |
635 | BEGIN { fail = 0; logmsg = ""; } |
636 | { | |
21894ccc ER |
637 | if ($0 ~ /\*\*\* WARNING:/) { |
638 | fail = 1; | |
639 | logmsg = logmsg $0; | |
640 | } | |
641 | print $0; | |
b53e6307 AM |
642 | } |
643 | END { if (fail) { print "\nPROBLEMS FOUND:"; print logmsg; exit(1); } }' | |
3846ac63 | 644 | |
f8774cc1 | 645 | %if %{with tests} |
41db756b | 646 | LC_ALL=C.UTF-8 \ |
69f899d3 | 647 | WITHIN_PYTHON_RPM_BUILD=1 %{__make} -j1 test \ |
05d1ed70 | 648 | TESTOPTS="%{test_flags} %{test_list}" \ |
72fdb1fa | 649 | TESTPYTHON="LD_LIBRARY_PATH=`pwd` PYTHONHOME=`pwd` PYTHONPATH=`pwd`/Lib:`pwd`/Lib/lib-tk:`pwd`/build/lib.linux-`uname -m`-%{py_ver} ./python -tt" |
f8774cc1 | 650 | %endif |
5531b6a9 | 651 | |
adc34f9b | 652 | %install |
653 | rm -rf $RPM_BUILD_ROOT | |
6c765af5 | 654 | install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}} \ |
72dcf1e0 | 655 | $RPM_BUILD_ROOT{%{py_sitedir},%{_mandir}/man1} \ |
1265a205 | 656 | $RPM_BUILD_ROOT%{_prefix}/local/%{_lib}/python%{py_ver}/site-packages \ |
dbafd771 | 657 | $RPM_BUILD_ROOT%{py_sitescriptdir} \ |
9f13b05c | 658 | $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \ |
30baa9fb | 659 | $RPM_BUILD_ROOT%{_infodir} \ |
d9fe451a | 660 | $RPM_BUILD_ROOT%{_docdir} \ |
30baa9fb | 661 | $RPM_BUILD_ROOT/etc/shrc.d |
9d0d4238 | 662 | |
daf8bffc JB |
663 | %{__make} install \ |
664 | DESTDIR=$RPM_BUILD_ROOT | |
5ac3f69c | 665 | |
d9fe451a | 666 | # docs in constant location |
667 | ln -sf python-doc-%{version} $RPM_BUILD_ROOT%{_docdir}/python-doc | |
668 | ||
d008fe98 | 669 | %if %{with info} |
9f13b05c | 670 | %{__make} -C Doc/info |
274e744e | 671 | cp -p Doc/info/python*info* $RPM_BUILD_ROOT%{_infodir} |
d008fe98 | 672 | %endif |
9f13b05c | 673 | |
274e744e | 674 | cp -p Makefile.pre.in $RPM_BUILD_ROOT%{py_libdir}/config |
826c17e1 | 675 | |
05607efb | 676 | %{__mv} $RPM_BUILD_ROOT{%{py_libdir}/config,%{_libdir}}/libpython%{py_ver}.a |
130f1463 | 677 | ln -sf libpython%{py_ver}.a $RPM_BUILD_ROOT%{_libdir}/libpython.a |
9d0d4238 | 678 | ln -sf libpython%{py_ver}.so.1.0 $RPM_BUILD_ROOT%{_libdir}/libpython.so |
d3dbe63f | 679 | ln -sf libpython%{py_ver}.so.1.0 $RPM_BUILD_ROOT%{_libdir}/libpython%{py_ver}.so |
35c336e3 | 680 | |
90c0662f | 681 | install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} |
b8dbbecc | 682 | cp -a Tools Demo $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} |
9d555a37 | 683 | |
30baa9fb | 684 | # |
685 | # create several useful aliases, such as timeit.py, profile.py, pdb.py, smtpd.py | |
686 | # | |
687 | ||
688 | # for python devel tools | |
689 | for script in timeit profile pdb pstats; do | |
f7403710 AM |
690 | echo alias $script.py=\"python -m ${script}\" |
691 | done > $RPM_BUILD_ROOT/etc/shrc.d/python-devel.sh | |
30baa9fb | 692 | |
30baa9fb | 693 | sed 's/=/ /' \ |
f7403710 AM |
694 | < $RPM_BUILD_ROOT/etc/shrc.d/python-devel.sh \ |
695 | > $RPM_BUILD_ROOT/etc/shrc.d/python-devel.csh | |
30baa9fb | 696 | |
697 | # for python modules | |
698 | for script in smtpd webbrowser; do | |
f7403710 AM |
699 | echo alias $script.py=\"python -m ${script}\" |
700 | done > $RPM_BUILD_ROOT/etc/shrc.d/python-modules.sh | |
c87d7700 | 701 | %{__rm} $RPM_BUILD_ROOT%{_bindir}/smtpd.py |
30baa9fb | 702 | |
703 | sed 's/=/ /' \ | |
f7403710 AM |
704 | < $RPM_BUILD_ROOT/etc/shrc.d/python-modules.sh \ |
705 | > $RPM_BUILD_ROOT/etc/shrc.d/python-modules.csh | |
f19fca05 | 706 | |
2b63ccc7 | 707 | # just to cut the noise, as they are not packaged (now) |
c87d7700 JB |
708 | %{__rm} $RPM_BUILD_ROOT%{py_libdir}/ctypes/macholib/fetch_macholib |
709 | %{__rm} $RPM_BUILD_ROOT%{py_libdir}/distutils/command/command_template | |
710 | %{__rm} $RPM_BUILD_ROOT%{py_libdir}/distutils/command/wininst-*.exe | |
dbafd771 | 711 | %{__rm} -r $RPM_BUILD_ROOT%{py_libdir}/idlelib/idle_test |
c87d7700 JB |
712 | %{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/ChangeLog |
713 | %{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/help.html | |
714 | %{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/idle.pyw | |
715 | %{__rm} -r $RPM_BUILD_ROOT%{py_libdir}/plat-*/regen | |
716 | # packaged as %doc | |
717 | %{__rm} $RPM_BUILD_ROOT%{py_libdir}/pdb.doc | |
c7d9ea6b | 718 | |
dbafd771 JK |
719 | find $RPM_BUILD_ROOT%{py_libdir} -name \*.bat -exec rm {} \; |
720 | find $RPM_BUILD_ROOT%{py_libdir} -name \*.txt -exec rm {} \; | |
721 | find $RPM_BUILD_ROOT%{py_libdir} -name README\* -exec rm {} \; | |
2b63ccc7 | 722 | |
c87d7700 | 723 | %{__mv} $RPM_BUILD_ROOT%{py_incdir}/pyconfig.h $RPM_BUILD_ROOT%{py_libdir}/config/pyconfig.h |
59012690 | 724 | sed -e's#@PREFIX@#%{_prefix}#g;s#@PY_VER@#%{py_ver}#g' %{SOURCE2} > $RPM_BUILD_ROOT%{py_incdir}/pyconfig.h |
538a779a | 725 | |
adc34f9b | 726 | %clean |
727 | rm -rf $RPM_BUILD_ROOT | |
728 | ||
59012690 | 729 | %post libs -p /sbin/ldconfig |
538a779a | 730 | |
c038dfd2 | 731 | %postun libs -p /sbin/ldconfig |
8a3b6e65 | 732 | |
6ec2a8c2 | 733 | %post doc-info -p /sbin/postshell |
9002361f | 734 | -/usr/sbin/fix-info-dir -c %{_infodir} |
9f13b05c | 735 | |
6ec2a8c2 | 736 | %postun doc-info -p /sbin/postshell |
9002361f | 737 | -/usr/sbin/fix-info-dir -c %{_infodir} |
9f13b05c | 738 | |
a9ce5112 | 739 | %files |
adc34f9b | 740 | %defattr(644,root,root,755) |
fb20360f JB |
741 | %attr(755,root,root) %{_bindir}/python |
742 | %attr(755,root,root) %{_bindir}/python2 | |
743 | %attr(755,root,root) %{_bindir}/python%{py_ver} | |
4675b5d8 | 744 | %{_mandir}/man1/python.1* |
1ec59683 | 745 | %{_mandir}/man1/python2.1* |
876808b7 | 746 | |
efc1a08b | 747 | %files modules |
9bc1f934 | 748 | %defattr(644,root,root,755) |
06168997 | 749 | %doc Lib/pdb.doc |
27b89c8b | 750 | %config(noreplace) %verify(not md5 mtime size) /etc/shrc.d/python-modules* |
dbafd771 JK |
751 | %exclude %{py_libdir}/_abcoll.py[co] |
752 | %exclude %{py_libdir}/abc.py[co] | |
753 | %exclude %{py_libdir}/UserDict.py[co] | |
754 | %exclude %{py_libdir}/codecs.py[co] | |
755 | %exclude %{py_libdir}/copy_reg.py[co] | |
756 | %exclude %{py_libdir}/genericpath.py[co] | |
757 | %exclude %{py_libdir}/linecache.py[co] | |
758 | %exclude %{py_libdir}/locale.py[co] | |
759 | %exclude %{py_libdir}/posixpath.py[co] | |
760 | %exclude %{py_libdir}/profile.py[co] | |
761 | %exclude %{py_libdir}/pstats.py[co] | |
762 | %exclude %{py_libdir}/pydoc.py[co] | |
763 | %exclude %{py_libdir}/re.py[co] | |
764 | %exclude %{py_libdir}/site.py[co] | |
765 | %exclude %{py_libdir}/sre_*.py[co] | |
766 | %exclude %{py_libdir}/stat.py[co] | |
767 | %exclude %{py_libdir}/sysconfig.py[co] | |
768 | %exclude %{py_libdir}/timeit.py[co] | |
769 | %exclude %{py_libdir}/os.py[co] | |
770 | %exclude %{py_libdir}/_weakrefset.py[co] | |
771 | %exclude %{py_libdir}/encodings/*.py[co] | |
772 | %exclude %{py_libdir}/types.py[co] | |
773 | %exclude %{py_libdir}/warnings.py[co] | |
774 | ||
775 | %{py_libdir}/*.py[co] | |
efc1a08b | 776 | |
fb20360f | 777 | %{py_dyndir}/Python-%{version}-py%{py_ver}.egg-info |
9d3f9601 | 778 | |
d65da634 | 779 | # |
efc1a08b | 780 | # list .so modules to be sure that all of them are built |
d65da634 | 781 | # |
782 | ||
1f218cb3 | 783 | # three modules below do not work on 64-bit architectures |
d65da634 | 784 | # see Python README file for explanation |
3794a263 | 785 | %ifnarch alpha ia64 ppc64 sparc64 %{x8664} aarch64 |
d65da634 | 786 | %attr(755,root,root) %{py_dyndir}/imageop.so |
5531b6a9 | 787 | # sizeof(long) != sizeof(int), so dl module will not be built on 64-bit |
788 | # platforms | |
789 | %attr(755,root,root) %{py_dyndir}/dl.so | |
d65da634 | 790 | %endif |
791 | ||
6b36d48a | 792 | %attr(755,root,root) %{py_dyndir}/audioop.so |
30baa9fb | 793 | %attr(755,root,root) %{py_dyndir}/array.so |
794 | %attr(755,root,root) %{py_dyndir}/binascii.so | |
72dcf1e0 | 795 | %attr(755,root,root) %{py_dyndir}/_bisect.so |
efc1a08b | 796 | %attr(755,root,root) %{py_dyndir}/_bsddb.so |
30baa9fb | 797 | %attr(755,root,root) %{py_dyndir}/bz2.so |
798 | %attr(755,root,root) %{py_dyndir}/cmath.so | |
72dcf1e0 | 799 | %attr(755,root,root) %{py_dyndir}/_codecs_cn.so |
800 | %attr(755,root,root) %{py_dyndir}/_codecs_hk.so | |
801 | %attr(755,root,root) %{py_dyndir}/_codecs_iso2022.so | |
802 | %attr(755,root,root) %{py_dyndir}/_codecs_jp.so | |
803 | %attr(755,root,root) %{py_dyndir}/_codecs_kr.so | |
804 | %attr(755,root,root) %{py_dyndir}/_codecs_tw.so | |
c9c8df30 | 805 | %attr(755,root,root) %{py_dyndir}/_collections.so |
30baa9fb | 806 | %attr(755,root,root) %{py_dyndir}/cPickle.so |
807 | %attr(755,root,root) %{py_dyndir}/crypt.so | |
808 | %attr(755,root,root) %{py_dyndir}/cStringIO.so | |
efc1a08b | 809 | %attr(755,root,root) %{py_dyndir}/_csv.so |
9d3f9601 | 810 | %attr(755,root,root) %{py_dyndir}/_ctypes*.so |
efc1a08b | 811 | %attr(755,root,root) %{py_dyndir}/_curses_panel.so |
30baa9fb | 812 | %attr(755,root,root) %{py_dyndir}/_curses.so |
813 | %attr(755,root,root) %{py_dyndir}/datetime.so | |
814 | %attr(755,root,root) %{py_dyndir}/_elementtree.so | |
815 | %attr(755,root,root) %{py_dyndir}/_functools.so | |
816 | %attr(755,root,root) %{py_dyndir}/_hashlib.so | |
72dcf1e0 | 817 | %attr(755,root,root) %{py_dyndir}/_heapq.so |
132c1a2a | 818 | %attr(755,root,root) %{py_dyndir}/_io.so |
c9c8df30 | 819 | %attr(755,root,root) %{py_dyndir}/_json.so |
efc1a08b | 820 | %attr(755,root,root) %{py_dyndir}/_locale.so |
30baa9fb | 821 | %attr(755,root,root) %{py_dyndir}/_lsprof.so |
72dcf1e0 | 822 | %attr(755,root,root) %{py_dyndir}/_multibytecodec.so |
c9c8df30 | 823 | %attr(755,root,root) %{py_dyndir}/_multiprocessing.so |
efc1a08b | 824 | %attr(755,root,root) %{py_dyndir}/_random.so |
3846ac63 | 825 | %{?with_openssl097:%attr(755,root,root) %{py_dyndir}/_sha*.so} |
efc1a08b | 826 | %attr(755,root,root) %{py_dyndir}/_socket.so |
827 | %attr(755,root,root) %{py_dyndir}/_ssl.so | |
828 | %attr(755,root,root) %{py_dyndir}/_testcapi.so | |
e89fc570 | 829 | %ifnarch sparc64 |
5531b6a9 | 830 | %attr(755,root,root) %{py_dyndir}/dbm.so |
e89fc570 | 831 | %endif |
efc1a08b | 832 | %attr(755,root,root) %{py_dyndir}/fcntl.so |
c9c8df30 | 833 | %attr(755,root,root) %{py_dyndir}/future_builtins.so |
efc1a08b | 834 | %attr(755,root,root) %{py_dyndir}/gdbm.so |
835 | %attr(755,root,root) %{py_dyndir}/grp.so | |
efc1a08b | 836 | %attr(755,root,root) %{py_dyndir}/itertools.so |
837 | %attr(755,root,root) %{py_dyndir}/linuxaudiodev.so | |
838 | %attr(755,root,root) %{py_dyndir}/math.so | |
efc1a08b | 839 | %attr(755,root,root) %{py_dyndir}/mmap.so |
7df14d0f | 840 | %attr(755,root,root) %{py_dyndir}/nis.so |
efc1a08b | 841 | %attr(755,root,root) %{py_dyndir}/operator.so |
842 | %attr(755,root,root) %{py_dyndir}/ossaudiodev.so | |
843 | %attr(755,root,root) %{py_dyndir}/parser.so | |
efc1a08b | 844 | %attr(755,root,root) %{py_dyndir}/pyexpat.so |
4c04ad0e | 845 | %attr(755,root,root) %{py_dyndir}/readline.so |
efc1a08b | 846 | %attr(755,root,root) %{py_dyndir}/resource.so |
efc1a08b | 847 | %attr(755,root,root) %{py_dyndir}/select.so |
efc1a08b | 848 | %attr(755,root,root) %{py_dyndir}/strop.so |
849 | %attr(755,root,root) %{py_dyndir}/syslog.so | |
850 | %attr(755,root,root) %{py_dyndir}/termios.so | |
851 | %attr(755,root,root) %{py_dyndir}/time.so | |
30baa9fb | 852 | %attr(755,root,root) %{py_dyndir}/spwd.so |
efc1a08b | 853 | %attr(755,root,root) %{py_dyndir}/unicodedata.so |
efc1a08b | 854 | %attr(755,root,root) %{py_dyndir}/zlib.so |
9bc1f934 | 855 | |
dbafd771 JK |
856 | %dir %{py_libdir}/plat-* |
857 | %{py_libdir}/plat-*/*.py[co] | |
9d0d4238 | 858 | |
dbafd771 JK |
859 | %dir %{py_libdir}/bsddb |
860 | %{py_libdir}/bsddb/*.py[co] | |
21a422d0 | 861 | |
dbafd771 JK |
862 | %dir %{py_libdir}/compiler |
863 | %{py_libdir}/compiler/*.py[co] | |
ba317ddd | 864 | |
dbafd771 JK |
865 | %dir %{py_libdir}/ctypes |
866 | %dir %{py_libdir}/ctypes/macholib | |
867 | %{py_libdir}/ctypes/*.py[co] | |
868 | %{py_libdir}/ctypes/macholib/*.py[co] | |
30baa9fb | 869 | |
dbafd771 JK |
870 | %dir %{py_libdir}/curses |
871 | %{py_libdir}/curses/*.py[co] | |
21a422d0 | 872 | |
dbafd771 JK |
873 | %dir %{py_libdir}/distutils |
874 | %dir %{py_libdir}/distutils/command | |
875 | %{py_libdir}/distutils/*.py[co] | |
876 | %{py_libdir}/distutils/command/*.py[co] | |
21a422d0 | 877 | |
dbafd771 JK |
878 | %dir %{py_libdir}/email |
879 | %dir %{py_libdir}/email/mime | |
880 | %{py_libdir}/email/*.py[co] | |
881 | %{py_libdir}/email/mime/*.py[co] | |
ba317ddd | 882 | |
dbafd771 JK |
883 | %dir %{py_libdir}/ensurepip |
884 | %{py_libdir}/ensurepip/*.py[co] | |
885 | %{py_libdir}/ensurepip/_bundled | |
c7d9ea6b | 886 | |
dbafd771 | 887 | %dir %{py_libdir}/idlelib |
38b625e6 | 888 | |
dbafd771 JK |
889 | %dir %{py_libdir}/importlib |
890 | %{py_libdir}/importlib/*.py[co] | |
132c1a2a | 891 | |
dbafd771 JK |
892 | %dir %{py_libdir}/json |
893 | %{py_libdir}/json/*.py[co] | |
c9c8df30 | 894 | |
dbafd771 JK |
895 | %dir %{py_libdir}/logging |
896 | %{py_libdir}/logging/*.py[co] | |
ba317ddd | 897 | |
dbafd771 JK |
898 | %dir %{py_libdir}/multiprocessing |
899 | %dir %{py_libdir}/multiprocessing/dummy | |
900 | %{py_libdir}/multiprocessing/*.py[co] | |
901 | %{py_libdir}/multiprocessing/dummy/*.py[co] | |
c9c8df30 | 902 | |
dbafd771 JK |
903 | %dir %{py_libdir}/unittest |
904 | %{py_libdir}/unittest/*.py[co] | |
905 | %dir %{py_libdir}/unittest/test | |
906 | %{py_libdir}/unittest/test/*.py[co] | |
132c1a2a | 907 | |
dbafd771 JK |
908 | %dir %{py_libdir}/wsgiref |
909 | %{py_libdir}/wsgiref/*.py[co] | |
910 | %{py_libdir}/wsgiref.egg-info | |
21a422d0 | 911 | |
dbafd771 JK |
912 | %dir %{py_libdir}/xml |
913 | %dir %{py_libdir}/xml/dom | |
914 | %dir %{py_libdir}/xml/etree | |
915 | %dir %{py_libdir}/xml/parsers | |
916 | %dir %{py_libdir}/xml/sax | |
917 | %{py_libdir}/xml/*.py[co] | |
918 | %{py_libdir}/xml/dom/*.py[co] | |
919 | %{py_libdir}/xml/etree/*.py[co] | |
920 | %{py_libdir}/xml/parsers/*.py[co] | |
921 | %{py_libdir}/xml/sax/*.py[co] | |
c52f3e5e | 922 | |
6acc3a01 | 923 | %files modules-sqlite |
924 | %defattr(644,root,root,755) | |
925 | %attr(755,root,root) %{py_dyndir}/_sqlite3.so | |
dbafd771 JK |
926 | %dir %{py_libdir}/sqlite3 |
927 | %{py_libdir}/sqlite3/*.py[co] | |
6acc3a01 | 928 | |
9bc1f934 | 929 | %files libs |
930 | %defattr(644,root,root,755) | |
fb20360f | 931 | %attr(755,root,root) %{_libdir}/libpython%{py_ver}.so.* |
9bc1f934 | 932 | |
d3dc0a50 | 933 | %dir %{py_dyndir} |
934 | %dir %{py_libdir} | |
329003a4 | 935 | %dir %{_datadir}/python%{py_ver} |
92bddedf | 936 | %dir %{py_sitescriptdir} |
d3dc0a50 | 937 | %dir %{py_sitedir} |
938 | ||
1265a205 | 939 | # for locally installed packages |
ea4f2d47 | 940 | %dir %{_prefix}/local/%{_lib}/python%{py_ver} |
1265a205 ER |
941 | %dir %{_prefix}/local/%{_lib}/python%{py_ver}/site-packages |
942 | ||
d537fe3a | 943 | # shared modules required by python library |
30baa9fb | 944 | %attr(755,root,root) %{py_dyndir}/_struct.so |
d3dc0a50 | 945 | |
d537fe3a | 946 | # modules required by python library |
dbafd771 JK |
947 | %{py_libdir}/_abcoll.py[co] |
948 | %{py_libdir}/abc.py[co] | |
949 | %{py_libdir}/UserDict.py[co] | |
950 | %{py_libdir}/codecs.py[co] | |
951 | %{py_libdir}/copy_reg.py[co] | |
952 | %{py_libdir}/genericpath.py[co] | |
953 | %{py_libdir}/linecache.py[co] | |
954 | %{py_libdir}/locale.py[co] | |
955 | %{py_libdir}/posixpath.py[co] | |
956 | %{py_libdir}/re.py[co] | |
957 | %{py_libdir}/site.py[co] | |
958 | %{py_libdir}/sre_*.py[co] | |
959 | %{py_libdir}/stat.py[co] | |
960 | %{py_libdir}/sysconfig.py[co] | |
961 | %{py_libdir}/os.py[co] | |
962 | %{py_libdir}/_weakrefset.py[co] | |
55c63f85 | 963 | # needed by the dynamic sys.lib patch |
dbafd771 JK |
964 | %{py_libdir}/types.py[co] |
965 | %{py_libdir}/warnings.py[co] | |
d3dc0a50 | 966 | |
d537fe3a | 967 | # encodings required by python library |
dbafd771 JK |
968 | %dir %{py_libdir}/encodings |
969 | %{py_libdir}/encodings/*.py[co] | |
d3dc0a50 | 970 | |
30c7170b AM |
971 | # required by sysconfig.py |
972 | %dir %{py_libdir}/config | |
973 | %{py_libdir}/config/Makefile | |
59012690 | 974 | %{py_libdir}/config/pyconfig.h |
30c7170b | 975 | %dir %{py_incdir} |
59012690 | 976 | %{py_incdir}/pyconfig.h |
30c7170b | 977 | |
f7403710 | 978 | %files -n pydoc |
9bc1f934 | 979 | %defattr(644,root,root,755) |
980 | %attr(755,root,root) %{_bindir}/pydoc | |
dbafd771 JK |
981 | %{py_libdir}/pydoc.py[co] |
982 | %dir %{py_libdir}/pydoc_data | |
983 | %{py_libdir}/pydoc_data/*.py[co] | |
9d0d4238 | 984 | |
f7403710 | 985 | %files -n idle |
9d0d4238 | 986 | %defattr(644,root,root,755) |
f7403710 | 987 | %attr(755,root,root) %{_bindir}/idle |
dbafd771 JK |
988 | %dir %{py_libdir}/idlelib/Icons |
989 | %{py_libdir}/idlelib/*.py[co] | |
990 | %{py_libdir}/idlelib/Icons/* | |
991 | %{py_libdir}/idlelib/*.def | |
9bc1f934 | 992 | |
adc34f9b | 993 | %files devel |
994 | %defattr(644,root,root,755) | |
12d09cd7 | 995 | %doc Misc/{ACKS,NEWS,README,README.valgrind,valgrind-python.supp} |
fb20360f JB |
996 | %attr(755,root,root) %{_bindir}/python-config |
997 | %attr(755,root,root) %{_bindir}/python2-config | |
998 | %attr(755,root,root) %{_bindir}/python%{py_ver}-config | |
999 | %attr(755,root,root) %{_libdir}/libpython%{py_ver}.so | |
1000 | %attr(755,root,root) %{_libdir}/libpython.so | |
67c01d08 | 1001 | %{py_incdir}/*.h |
30c7170b | 1002 | %exclude %{py_incdir}/pyconfig.h |
fb20360f JB |
1003 | %{_pkgconfigdir}/python.pc |
1004 | %{_pkgconfigdir}/python2.pc | |
1005 | %{_pkgconfigdir}/python-%{py_ver}.pc | |
d12ec25a | 1006 | |
d12ec25a | 1007 | %attr(755,root,root) %{py_libdir}/config/makesetup |
1008 | %attr(755,root,root) %{py_libdir}/config/install-sh | |
826c17e1 | 1009 | %{py_libdir}/config/Makefile.pre.in |
d12ec25a | 1010 | %{py_libdir}/config/Setup |
1011 | %{py_libdir}/config/Setup.config | |
1012 | %{py_libdir}/config/Setup.local | |
1013 | %{py_libdir}/config/config.c | |
1014 | %{py_libdir}/config/config.c.in | |
30baa9fb | 1015 | %{py_libdir}/config/python.o |
9291d687 | 1016 | |
9bc1f934 | 1017 | %files devel-src |
4757490f | 1018 | %defattr(644,root,root,755) |
dbafd771 JK |
1019 | %attr(-,root,root) %{py_libdir}/*.py |
1020 | %{py_libdir}/plat-*/*.py | |
1021 | %{py_libdir}/bsddb/*.py | |
1022 | %{py_libdir}/ctypes/*.py | |
1023 | %{py_libdir}/ctypes/macholib/*.py | |
1024 | %{py_libdir}/compiler/*.py | |
1025 | %{py_libdir}/curses/*.py | |
1026 | %{py_libdir}/distutils/*.py | |
1027 | %{py_libdir}/distutils/command/*.py | |
1028 | %{py_libdir}/email/*.py | |
1029 | %{py_libdir}/email/mime/*.py | |
1030 | %{py_libdir}/encodings/*.py | |
1031 | %{py_libdir}/hotshot/*.py | |
1032 | %{py_libdir}/ensurepip/*.py | |
1033 | %{py_libdir}/idlelib/*.py | |
1034 | %{py_libdir}/importlib/*.py | |
1035 | %{py_libdir}/json/*.py | |
1036 | %{py_libdir}/lib2to3/*.py | |
1037 | %{py_libdir}/lib2to3/fixes/*.py | |
1038 | %{py_libdir}/lib2to3/pgen2/*.py | |
1039 | %{py_libdir}/logging/*.py | |
1040 | %{py_libdir}/multiprocessing/*.py | |
1041 | %{py_libdir}/multiprocessing/dummy/*.py | |
1042 | %{py_libdir}/pydoc_data/*.py | |
1043 | %{py_libdir}/sqlite3/*.py | |
1044 | %{py_libdir}/unittest/*.py | |
1045 | %{py_libdir}/unittest/test/*.py | |
1046 | %{py_libdir}/wsgiref/*.py | |
1047 | %{py_libdir}/xml/*.py | |
1048 | %{py_libdir}/xml/dom/*.py | |
1049 | %{py_libdir}/xml/etree/*.py | |
1050 | %{py_libdir}/xml/parsers/*.py | |
1051 | %{py_libdir}/xml/sax/*.py | |
9bc1f934 | 1052 | |
f19fca05 | 1053 | %files devel-tools |
3164b41e | 1054 | %defattr(644,root,root,755) |
27b89c8b | 1055 | %config(noreplace) %verify(not md5 mtime size) /etc/shrc.d/python-devel* |
30baa9fb | 1056 | |
dbbdab91 | 1057 | %attr(755,root,root) %{py_dyndir}/_hotshot.so |
dbafd771 JK |
1058 | %dir %{py_libdir}/hotshot |
1059 | %{py_libdir}/hotshot/*.py[co] | |
1060 | %{py_libdir}/profile.py[co] | |
1061 | %{py_libdir}/pstats.py[co] | |
1062 | %{py_libdir}/timeit.py[co] | |
dbbdab91 AF |
1063 | |
1064 | %files 2to3 | |
8c748ea7 | 1065 | %defattr(644,root,root,755) |
c9c8df30 | 1066 | %attr(755,root,root) %{_bindir}/2to3 |
dbafd771 JK |
1067 | %dir %{py_libdir}/lib2to3 |
1068 | %dir %{py_libdir}/lib2to3/fixes | |
1069 | %dir %{py_libdir}/lib2to3/pgen2 | |
1070 | %{py_libdir}/lib2to3/*.py[co] | |
1071 | %{py_libdir}/lib2to3/*.pickle | |
1072 | %{py_libdir}/lib2to3/fixes/*.py[co] | |
1073 | %{py_libdir}/lib2to3/pgen2/*.py[co] | |
c9c8df30 | 1074 | |
673628f8 | 1075 | %files static |
1076 | %defattr(644,root,root,755) | |
fb20360f JB |
1077 | %{_libdir}/libpython%{py_ver}.a |
1078 | %{_libdir}/libpython.a | |
a8ed86ea | 1079 | |
9d555a37 | 1080 | %files examples |
1081 | %defattr(644,root,root,755) | |
90c0662f | 1082 | %{_examplesdir}/%{name}-%{version} |
9d555a37 | 1083 | |
72d4c735 | 1084 | %files test |
274e744e | 1085 | %defattr(644,root,root,755) |
dbafd771 JK |
1086 | %{py_libdir}/test |
1087 | %{py_libdir}/bsddb/test | |
1088 | %{py_libdir}/ctypes/test | |
1089 | %{py_libdir}/distutils/tests | |
1090 | %{py_libdir}/email/test | |
1091 | %{py_libdir}/sqlite3/test | |
1092 | %{py_libdir}/json/tests | |
1093 | %{py_libdir}/lib2to3/tests | |
72d4c735 | 1094 | |
9388650a | 1095 | %files doc |
af97e69f | 1096 | %defattr(644,root,root,755) |
c0f19ca3 | 1097 | %doc python-%{version}-docs-html/* |
d9fe451a | 1098 | %{_docdir}/python-doc |
adc34f9b | 1099 | |
d008fe98 | 1100 | %if %{with info} |
9f13b05c | 1101 | %files doc-info |
1102 | %defattr(644,root,root,755) | |
1f218cb3 | 1103 | %{_infodir}/*.info* |
d008fe98 | 1104 | %endif |
9f13b05c | 1105 | |
9ef7b464 | 1106 | %if %{with tkinter} |
39ac7110 | 1107 | %files tkinter |
adc34f9b | 1108 | %defattr(644,root,root,755) |
dbafd771 | 1109 | %{py_libdir}/lib-tk |
d12ec25a | 1110 | %attr(755,root,root) %{py_dyndir}/_tkinter.so |
9ef7b464 | 1111 | %endif |