]>
Commit | Line | Data |
---|---|---|
9416f74d AM |
1 | # TODO: |
2 | # - conflicts with python.spec | |
3 | # - %files | |
4 | ||
5 | # Conditional build: | |
6 | %bcond_with info # info pages (requires emacs) | |
7 | %bcond_without tkinter # disables tkinter module building | |
8 | %bcond_without tests # disables Python testing | |
9 | %bcond_with verbose_tests # runs tests in verbose mode | |
10 | %bcond_with openssl097 | |
11 | # | |
12 | # tests which will not work on 64-bit platforms | |
13 | %define no64bit_tests test_audioop test_rgbimg test_imageop | |
14 | # tests which may fail because of builder environment limitations (no /proc or /dev/pts) | |
15 | %define nobuilder_tests test_resource test_openpty test_socket test_nis test_posix test_locale test_pty | |
16 | # tests which fail because of some unknown/unresolved reason (this list should be empty) | |
17 | %define broken_tests test_anydbm test_bsddb test_re test_shelve test_whichdb test_zipimport test_distutils | |
18 | ||
19 | %define beta a1 | |
20 | ||
21 | %define py_ver 3.0 | |
22 | %define py_prefix %{_prefix} | |
23 | %define py_libdir %{py_prefix}/%{_lib}/python%{py_ver} | |
24 | %define py_incdir %{_includedir}/python%{py_ver} | |
25 | %define py_sitedir %{py_libdir}/site-packages | |
26 | %define py_dyndir %{py_libdir}/lib-dynload | |
27 | ||
28 | Summary: Very high level scripting language with X interface | |
29 | Summary(es.UTF-8): Lenguaje script de alto nivel con interfaz X | |
30 | Summary(fr.UTF-8): Langage de script de très haut niveau avec interface X | |
31 | Summary(pl.UTF-8): Python - język obiektowy wysokiego poziomu | |
32 | Summary(pt_BR.UTF-8): Linguagem de programação interpretada de alto nível | |
33 | Summary(ru.UTF-8): Язык программирования очень высокого уровня с X-интерфейсом | |
34 | Summary(tr.UTF-8): X arayüzlü, yüksek düzeyli, kabuk yorumlayıcı dili | |
35 | Summary(uk.UTF-8): Мова програмування дуже високого рівня з X-інтерфейсом | |
36 | Name: python30 | |
37 | Version: %{py_ver} | |
38 | Release: 0.1 | |
39 | Epoch: 1 | |
40 | License: PSF | |
41 | Group: Applications | |
42 | Source0: http://www.python.org/ftp/python/%{version}/Python-%{version}%{beta}.tgz | |
43 | # Source0-md5: 89356ece9bd276e78a9e63cfe4a83a23 | |
44 | Patch1: %{name}-pythonpath.patch | |
45 | Patch2: %{name}-no_ndbm.patch | |
46 | Patch3: %{name}-ac_fixes.patch | |
47 | Patch4: %{name}-noarch_to_datadir.patch | |
48 | Patch5: %{name}-lib64.patch | |
49 | Patch6: %{name}-doc_path.patch | |
50 | Patch7: %{name}-db4.6.patch | |
51 | URL: http://www.python.org/ | |
52 | BuildRequires: autoconf | |
53 | BuildRequires: bluez-libs-devel | |
54 | BuildRequires: bzip2-devel | |
55 | BuildRequires: db-devel >= 4 | |
56 | %{?with_info:BuildRequires: emacs >= 21} | |
57 | BuildRequires: expat-devel >= 1:1.95.7 | |
58 | BuildRequires: file | |
59 | BuildRequires: gdbm-devel >= 1.8.3 | |
60 | BuildRequires: gmp-devel >= 4.0 | |
61 | BuildRequires: libstdc++-devel | |
62 | BuildRequires: ncurses-ext-devel >= 5.2 | |
63 | %if %{with openssl097} | |
64 | BuildRequires: openssl-devel < 0.9.8 | |
65 | %else | |
66 | BuildRequires: openssl-devel >= 0.9.8 | |
67 | %endif | |
68 | BuildRequires: readline-devel >= 5.0 | |
69 | BuildRequires: rpm-pythonprov | |
70 | BuildRequires: sed >= 4.0 | |
71 | BuildRequires: sqlite3-devel >= 3.3.5 | |
72 | %{?with_info:BuildRequires: tetex-makeindex} | |
73 | %{?with_tkinter:BuildRequires: tix-devel >= 1:8.1.4-4} | |
74 | %{?with_tkinter:BuildRequires: tk-devel >= 8.4.3} | |
75 | BuildRequires: zlib-devel | |
76 | Requires: %{name}-libs = %{epoch}:%{version}-%{release} | |
9416f74d AM |
77 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
78 | ||
79 | %if %{with verbose_tests} | |
80 | %define test_flags -v -l -x | |
81 | %else | |
82 | %define test_flags -l -x | |
83 | %endif | |
84 | ||
85 | %ifarch alpha ia64 ppc64 sparc64 ppc64 %{x8664} | |
86 | %define test_list %{nobuilder_tests} %{broken_tests} %{no64bit_tests} | |
87 | %else | |
88 | %define test_list %{nobuilder_tests} %{broken_tests} | |
89 | %endif | |
90 | ||
91 | %ifarch sparc | |
92 | %define test_list %{nobuilder_tests} %{broken_tests} test_fcntl test_ioctl | |
93 | %endif | |
94 | ||
95 | %description | |
96 | Python is an interpreted, interactive, object-oriented programming | |
97 | language. It incorporates modules, exceptions, dynamic typing, very | |
98 | high level dynamic data types, and classes. Python combines remarkable | |
99 | power with very clear syntax. It has interfaces to many system calls | |
100 | and libraries, as well as to various window systems, and is extensible | |
101 | in C or C++. It is also usable as an extension language for | |
102 | applications that need a programmable interface. Finally, Python is | |
103 | portable: it runs on many brands of UNIX, on the Mac, and on PCs under | |
104 | MS-DOS, Windows, Windows NT, and OS/2. | |
105 | ||
106 | This package contains the Python binary. | |
107 | ||
108 | %description -l de.UTF-8 | |
109 | Python ist eine interpretierte, interaktive, objektorientierte | |
110 | Programmiersprache, vergleichbar zu Tcl, Perl, Scheme oder Java. | |
111 | Python enthält Module, Klassen, Exceptions, High-Level dynamische | |
112 | Datentypen und dynamisches Typisieren. Python unterstützt Interfaces | |
113 | zu vielen Systemaufrufen und Libraries, sowie verschiedene | |
114 | Fenstersysteme (X11, Motif, Tk, Mac und MFC) | |
115 | ||
116 | Programmierer können neue built-in-Module für Python in C oder C++ | |
117 | schreiben. Python kann auch als Erweiterungssprache für Applikationen | |
118 | benutzt werden, die ein programmierbares Interface brauchen. Dieses | |
119 | Paket enthält die meisten Standard-Python-Module, und Module zum | |
120 | Ansprechen von Tix (Tk-widget set) und RPM. | |
121 | ||
122 | %description -l es.UTF-8 | |
123 | Python es un lenguaje de scripts interpretado orientado a objetos. | |
124 | Contiene soporte para carga dinámica de objetos, clases, módulos y | |
125 | excepciones. | |
126 | ||
127 | Es sencillo adicionar interfaces para nuevos sistemas de biblioteca a | |
128 | través de código C, tornando Python fácil de usar en ambientes | |
129 | particulares/personalizados. Este paquete Python incluye la mayoría de | |
130 | los módulos padrón Python, junto con módulos para crear interfaces | |
131 | para el conjunto de componentes Tix para Tk y RPM. | |
132 | ||
133 | %description -l fr.UTF-8 | |
134 | Python est un langage de script interprété et orienté objet. Il gère | |
135 | le chargement dynamique des objets, les classes, les modules et les | |
136 | exceptions. L'ajout d'interfaces aux nouvelles bibliothèques systèmes | |
137 | avec du code C est simple, ce qui rend Python facile à utiliser dans | |
138 | des configs personnalisées. | |
139 | ||
140 | Ce paquetage Python contient la plupart des modules Python standards, | |
141 | ainsi que ceux permettant l'interfaçage avec les widgets Tix pour Tk | |
142 | et RPM. | |
143 | ||
144 | %description -l pl.UTF-8 | |
145 | Python jest interpretowanym, interaktywnym i zorientowanym obiektowo | |
146 | językiem programowania. Jest modularny, obsługuje wyjątki, dynamiczne | |
147 | typy, zaawansowane dynamiczne struktury danych i klasy. Python łączy w | |
148 | sobie duże możliwości i przejrzystą składnię. Posiada interfejsy do | |
149 | wielu wywołań systemowych i bibliotek, w tym również do różnych | |
150 | bibliotek okienkowych. Możliwości jego można jeszcze rozszerzać | |
151 | poprzez odpowiednie moduły pisane w C lub C++. Python może być również | |
152 | użyty jako element aplikacji, którym potrzebny jest interpreter do | |
153 | skryptów. I wreszcie, Python jest wieloplatformowy, działa na wielu | |
154 | odmianach UNIX-a, Macu oraz PC pod DOS-em, Windows, WindowsNT oraz | |
155 | OS/2. | |
156 | ||
157 | Ten pakiet zawiera binarkę Pythona. | |
158 | ||
159 | %description -l pt_BR.UTF-8 | |
160 | Python é uma linguagem de scripts interpretada orientada a objetos. | |
161 | Contém suporte para carga dinâmica de objetos, classes, módulos e | |
162 | exceções. Adicionar interfaces para novos sistemas de biblioteca | |
163 | através de código C é simples, tornando Python fácil de usar em | |
164 | ambientes particulares/personalizados. | |
165 | ||
166 | Este pacote Python inclui a maioria do módulos padrão Python, junto | |
167 | com módulos para interfaceamento para o conjunto de componentes Tix | |
168 | para Tk e RPM. | |
169 | ||
170 | %description -l ru.UTF-8 | |
171 | Python - это интерпретируемый, объектно-ориентированный язык | |
172 | программирования. Он поддерживает динамическую загрузку объектов, | |
173 | классы, модули и обработку исключительных ситуаций (exceptions). | |
174 | Простота добавления интерфейсов к новым системным библиотекам через | |
175 | код на языке C делает Python хорошим выбором для использования в | |
176 | специальных конфигурациях. | |
177 | ||
178 | %description -l tr.UTF-8 | |
179 | Python, nesneye yönelik bir kabuk yorumlayıcıdır. Nesnelerin, | |
180 | sınıfların, modüllerin ve aykırı durumların dinamik yüklenmelerine | |
181 | destek verir. C koduyla birlikte kullanımı son derece kolaydır. Bu | |
182 | paket, standart Python birimlerinin çoğunun yanısıra Tk ve RPM için | |
183 | arayüz birimlerini de içerir. | |
184 | ||
185 | %description -l uk.UTF-8 | |
186 | Python - це інтерпретована, об'єктно-орієнтована мова програмування. | |
187 | Він підтримує динамічну загрузку об'єктів, класи, модулі та обробку | |
188 | виключних ситуацій (exceptions). Простота додавання інтерфейсів для | |
189 | нових системних бібліотек через код на мові C робить Python добрим | |
190 | вибором для використання в спеціальних конфігураціях. | |
191 | ||
192 | %package libs | |
193 | Summary: Python library | |
194 | Summary(pl.UTF-8): Biblioteka języka Python | |
195 | Group: Libraries/Python | |
196 | # broken detection in rpm/pythondeps.sh | |
197 | Provides: python(abi) = %{py_ver} | |
198 | # for compatibility with existing Ac packages | |
199 | Provides: python(bytecode) = %{py_ver} | |
7f39e55f | 200 | %{!?with_info:Obsoletes: python30-doc-info} |
9416f74d AM |
201 | |
202 | %description libs | |
203 | Python shared library and very essental modules for Python binary. | |
204 | ||
205 | %description libs -l pl.UTF-8 | |
206 | Biblioteka współdzielona języka Python oraz bardzo podstawowe moduły | |
207 | dla Pythona. | |
208 | ||
209 | %package modules | |
210 | Summary: Python modules | |
211 | Summary(pl.UTF-8): Moduły języka Python | |
212 | Group: Libraries/Python | |
213 | Requires: %{name}-libs = %{epoch}:%{version}-%{release} | |
214 | ||
215 | %description modules | |
216 | Python officially distributed modules. | |
217 | ||
218 | %description modules -l pl.UTF-8 | |
219 | Oficjalnie rozprowadzane moduły języka Python. | |
220 | ||
221 | %package modules-sqlite | |
222 | Summary: Python SQLite modules | |
223 | Summary(pl.UTF-8): Moduły SQLite języka Python | |
224 | Group: Libraries/Python | |
225 | Requires: %{name}-modules = %{epoch}:%{version}-%{release} | |
226 | ||
227 | %description modules-sqlite | |
228 | Python officially distributed sqlite module. | |
229 | ||
230 | %description modules-sqlite -l pl.UTF-8 | |
231 | Oficjalnie rozprowadzany moduł sqlite języka Python. | |
232 | ||
233 | %package -n pydoc | |
234 | Summary: Python interactive module documentation access support | |
235 | Summary(pl.UTF-8): Interaktywne korzystanie z dokumentacji modułów języka Python | |
236 | Group: Applications | |
237 | Requires: %{name}-modules = %{epoch}:%{version}-%{release} | |
238 | ||
239 | %description -n pydoc | |
240 | Python interactive module documentation access support. | |
241 | ||
242 | %description -n pydoc -l pl.UTF-8 | |
243 | Interaktywne korzystanie z dokumentacji modułów języka Python. | |
244 | ||
245 | %package -n idle | |
246 | Summary: IDE for Python language | |
247 | Summary(pl.UTF-8): IDE dla języka Python | |
248 | Group: Applications | |
249 | Requires: %{name}-tkinter = %{epoch}:%{version}-%{release} | |
250 | ||
251 | %description -n idle | |
252 | IDE for Python language. | |
253 | ||
254 | %description -n idle -l pl.UTF-8 | |
255 | IDE dla języka Python. | |
256 | ||
257 | %package devel | |
258 | Summary: Libraries and header files for building python code | |
259 | Summary(de.UTF-8): Libraries und Header-Dateien zum Erstellen von Python-Code | |
260 | Summary(es.UTF-8): Bibliotecas y archivos de inclusión para construir programas en python | |
261 | Summary(fr.UTF-8): Bibliothèques et en-têtes pour construire du code python | |
262 | Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki Pythona | |
263 | Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para o Python | |
264 | Summary(ru.UTF-8): Библиотеки и хедеры для построения кода на языке Python | |
265 | Summary(tr.UTF-8): Python ile geliştirme yapmak için gerekli dosyalar | |
266 | Summary(uk.UTF-8): Бібліотеки та хедери для програмування на мові Python | |
267 | Group: Development/Languages/Python | |
268 | Requires: %{name}-libs = %{epoch}:%{version}-%{release} | |
269 | ||
270 | %description devel | |
271 | The Python interpreter is relatively easy to extend with dynamically | |
272 | loaded extensions and to embed in other programs. This package | |
273 | contains the header files and libraries which are needed to do both of | |
274 | these tasks. | |
275 | ||
276 | %description devel -l de.UTF-8 | |
277 | Der Python-Interpretierer ist relativ einfach anhand von dynamisch | |
278 | ladbaren Erweiterungen auszubauen und läßt sich in andere Programme | |
279 | integrieren. Dieses Paket enthält die Header-Dateien und Libraries, | |
280 | die für beide Aufgaben erforderlich sind. | |
281 | ||
282 | %description devel -l es.UTF-8 | |
283 | El interpretador Python permite incluir con facilidad extensiones | |
284 | cargadas dinámicamente. Python es también fácil de ser empotrado en | |
285 | otros programas. Este paquete contiene los archivos de inclusión y | |
286 | bibliotecas necesarios para estas dos tareas. | |
287 | ||
288 | %description devel -l fr.UTF-8 | |
289 | L'interpréteur Python est relativement facile à étendre avec des | |
290 | extensions chargées dynamiquement et à insérer dans d'autres | |
291 | programmes. Ce paquetage contient les en-têtes et les bibliothèques | |
292 | nécessaires à ces deux tâches. | |
293 | ||
294 | %description devel -l pl.UTF-8 | |
295 | Interpreter Pythona jest w miarę łatwy do rozszerzania przy pomocy | |
296 | dynamicznie ładowanych rozszerzeń napisanych w C lub C++ oraz | |
297 | osadzania w innych programach. Ten pakiet zawiera pliki nagłówkowe i | |
298 | wszystko inne co potrzebne do tych celów. | |
299 | ||
300 | %description devel -l pt_BR.UTF-8 | |
301 | O interpretador Python permite incluir com facilidade extensões | |
302 | carregadas dinamicamente. Python é também fácil de ser embutido em | |
303 | outros programas. Este pacote contém os arquivos de inclusão e | |
304 | bibliotecas necessários para estas duas tarefas. | |
305 | ||
306 | %description devel -l ru.UTF-8 | |
307 | Интерпретатор Python относительно легко расширяется при помощи | |
308 | динамически загружаемых расширений и встраивается в другие программы. | |
309 | Этот пакет содержит хедеры и библиотеки, необходимые для обеих этих | |
310 | задач. | |
311 | ||
312 | %description devel -l tr.UTF-8 | |
313 | Bu paket, Python ile geliştirme yapılabilmesi için gerekli başlık | |
314 | dosyalarını ve kitaplıkları içerir. | |
315 | ||
316 | %description devel -l uk.UTF-8 | |
317 | Інтерпретатор Python відносно легко розширюється за допомогою | |
318 | розширень з динамічною загрузкою та вбудовується в інші програми. Цей | |
319 | пакет містить хедери та бібліотеки, необхідні для обох цих задач. | |
320 | ||
321 | %package devel-src | |
322 | Summary: Python module sources | |
323 | Summary(pl.UTF-8): Pliki źródłowe modułów Pythona | |
324 | Group: Development/Languages/Python | |
325 | Requires: %{name}-modules = %{epoch}:%{version}-%{release} | |
326 | ||
327 | %description devel-src | |
328 | Python module sources. | |
329 | ||
330 | %description devel-src -l pl.UTF-8 | |
331 | Pliki źródłowe modułów Pythona. | |
332 | ||
333 | %package devel-tools | |
334 | Summary: Python development tools | |
335 | Summary(pl.UTF-8): Narzędzia programistyczne języka Python | |
336 | Group: Development/Languages/Python | |
337 | Requires: %{name}-modules = %{epoch}:%{version}-%{release} | |
338 | ||
339 | %description devel-tools | |
340 | Python development tools such as profilers and debugger. | |
341 | ||
342 | %description devel-tools -l pl.UTF-8 | |
343 | Narzędzia programistyczne języka Python takie jak profiler oraz | |
344 | debugger. | |
345 | ||
346 | %package static | |
347 | Summary: Static python library | |
348 | Summary(pl.UTF-8): Statyczna biblioteka Pythona | |
349 | Group: Development/Languages/Python | |
350 | Requires: %{name}-devel = %{epoch}:%{version}-%{release} | |
351 | ||
352 | %description static | |
353 | Static python library. | |
354 | ||
355 | %description static -l pl.UTF-8 | |
356 | Statyczna biblioteka Pythona. | |
357 | ||
358 | %package doc | |
359 | Summary: Documentation on Python | |
360 | Summary(de.UTF-8): Dokumentation zu Python | |
361 | Summary(es.UTF-8): Documentación para Python | |
362 | Summary(fr.UTF-8): Documentation sur Python | |
363 | Summary(pl.UTF-8): Dokumentacja do Pythona | |
364 | Summary(pt_BR.UTF-8): Documentação para a linguagem de programação Python | |
365 | Summary(ru.UTF-8): Документация по языку Python | |
366 | Summary(tr.UTF-8): Python belgeleri | |
367 | Summary(uk.UTF-8): Документація по мові Python | |
368 | Group: Documentation | |
369 | ||
370 | %description doc | |
371 | This package contains documentation on the Python language and | |
372 | interpretor as a mix of plain ASCII files and LaTeX sources. | |
373 | ||
374 | %description doc -l de.UTF-8 | |
375 | Dieses Paket enthält Dokumentationen zu Python (Sprache und | |
376 | Interpreter) in Form von einfachen ASCII-Dateien und LaTeX-Quellen. | |
377 | ||
378 | %description doc -l es.UTF-8 | |
379 | Documentación para Python. Contiene archivos en texto y PostScript. | |
380 | ||
381 | %description doc -l fr.UTF-8 | |
382 | Ce paquetage contient la documentation sur le langage python et sur | |
383 | son interpréteur sous forme de fichiers ASCII et LaTeX. | |
384 | ||
385 | %description doc -l pl.UTF-8 | |
386 | Oficjalna dokumentacja do Pythona. Zawiera przykładowe programy, | |
387 | narzędzia i dokumentację. Strony podręcznika man znajdują się w | |
388 | głównym pakiecie. Ten pakiet nie zawiera źródeł dokumentacji | |
389 | napisanych w LaTeXu, tylko gotowe do wykorzystania pliki postscriptowe | |
390 | i HTML. | |
391 | ||
392 | %description doc -l pt_BR.UTF-8 | |
393 | O pacote python-doc contém documentação para a linguagem de | |
394 | programação e para o interpretador Python. Fornecida em arquivos texto | |
395 | e Postcript. | |
396 | ||
397 | %description doc -l ru.UTF-8 | |
398 | Этот пакет содержит документацию по собственно языку Python и по | |
399 | исполняющему его интерпретатору в виде набора текстовых файлов и | |
400 | исходных текстов в формате LaTeX. | |
401 | ||
402 | %description doc -l tr.UTF-8 | |
403 | Bu paket, Python dili ile ilgili belgeleri ve düz ASCII dosyaları ve | |
404 | LaTeX kaynaklarının bir karışımı olan yorumlayıcıyı içerir. | |
405 | ||
406 | %description doc -l uk.UTF-8 | |
407 | Цей пакет містить документацію по власне мові Python та по виконуючому | |
408 | її інтерпретатору у вигляді набора текстових файлів та вихідних | |
409 | текстів у форматі LaTeX. | |
410 | ||
411 | %package doc-info | |
412 | Summary: Documentation on Python in texinfo format | |
413 | Summary(pl.UTF-8): Dokumentacja do Pythona w formacie texinfo | |
414 | Group: Documentation | |
415 | ||
416 | %description doc-info | |
417 | Documentation on Python in texinfo format. | |
418 | ||
419 | %description doc-info -l pl.UTF-8 | |
420 | Dokumentacja do Pythona w formacie texinfo. | |
421 | ||
422 | %package tkinter | |
423 | Summary: Standard Python interface to the Tk GUI toolkit | |
424 | Summary(de.UTF-8): Grafische Tk-Schnittstelle für Python | |
425 | Summary(es.UTF-8): Interfaz de GUI Tk para Python | |
426 | Summary(fr.UTF-8): Interface graphique Tk pour Python | |
427 | Summary(pl.UTF-8): Standardowy interfejs Pythona do biblioteki Tk | |
428 | Summary(pt_BR.UTF-8): Interface GUI Tk para Phyton | |
429 | Summary(tr.UTF-8): Python için grafik kullanıcı arayüzü | |
430 | Group: Libraries/Python | |
431 | Requires: %{name}-modules = %{epoch}:%{version}-%{release} | |
432 | Requires: tcl >= 8.4.3 | |
433 | Requires: tix >= 1:8.1.4-4 | |
434 | Requires: tk >= 8.4.3 | |
435 | ||
436 | %description tkinter | |
437 | Standard Python interface to the Tk GUI toolkit. | |
438 | ||
439 | %description tkinter -l de.UTF-8 | |
440 | Eine grafische Schnittstelle für Python, basierend auf Tcl/Tk, und von | |
441 | vielen Konfigurations-Tools genutzt. | |
442 | ||
443 | %description tkinter -l es.UTF-8 | |
444 | Una interfaz gráfica para Python, basada en Tcl/Tk, y usada por muchas | |
445 | herramientas de configuración. | |
446 | ||
447 | %description tkinter -l fr.UTF-8 | |
448 | Interface graphique pour Python, basée sur Tcl/Tk et utilisée par | |
449 | beaucoup des outils de configuration. | |
450 | ||
451 | %description tkinter -l pl.UTF-8 | |
452 | Standardowy interfejs Pythona do biblioteki Tk. | |
453 | ||
454 | %description tkinter -l pt_BR.UTF-8 | |
455 | Uma interface gráfica para Python, baseada em Tcl/Tk, e usada por | |
456 | muitas ferramentas de configuração. | |
457 | ||
458 | %description tkinter -l ru.UTF-8 | |
459 | Графический интерфейс (GUI) для Python, построенный на Tcl/Tk. | |
460 | ||
461 | %description tkinter -l tr.UTF-8 | |
462 | Python için Tcl/Tk'ye dayalı ve pek çok ayarlama aracı tarafından | |
463 | kullanılan grafik bir arayüzdür. | |
464 | ||
465 | %description tkinter -l uk.UTF-8 | |
466 | Графічний інтерфейс (GUI) для Python, побудований на Tcl/Tk. | |
467 | ||
468 | %package examples | |
469 | Summary: Example programs in Python | |
470 | Summary(pl.UTF-8): Przykładowe programy w Pythonie | |
471 | Group: Development/Languages/Python | |
472 | ||
473 | %description examples | |
474 | Example programs in Python. | |
475 | ||
476 | These are for Python 2.3.4, not %{version}. | |
477 | ||
478 | %description examples -l pl.UTF-8 | |
479 | Przykładowe programy w Pythonie. | |
480 | ||
481 | Przykłady te są dla Pythona 2.3.4, nie %{version}. | |
482 | ||
483 | %prep | |
484 | %setup -q -n Python-%{version}%{beta} | |
485 | %patch1 -p1 | |
486 | %patch2 -p1 | |
487 | %patch3 -p1 | |
488 | %patch5 -p1 | |
489 | %patch4 -p1 | |
490 | %patch6 -p1 | |
491 | %patch7 -p1 | |
492 | ||
493 | %build | |
494 | sed -i -e 's#-ltermcap#-ltinfo#g' configure* | |
495 | %{__autoconf} | |
496 | CPPFLAGS="-I/usr/include/ncurses"; export CPPFLAGS | |
497 | %configure \ | |
498 | --with-cxx="%{__cxx}" \ | |
499 | --enable-shared \ | |
500 | --enable-ipv6 \ | |
501 | --enable-unicode=ucs4 \ | |
502 | --with-signal-module \ | |
503 | --with-tsc \ | |
504 | --with-threads \ | |
505 | --with-doc-strings \ | |
506 | --with-wctype-functions \ | |
507 | --with-fpectl \ | |
508 | LINKCC='$(PURIFY) $(CXX)' \ | |
509 | LDSHARED='$(CC) $(CFLAGS) -shared' \ | |
510 | BLDSHARED='$(CC) $(CFLAGS) -shared' \ | |
511 | LDFLAGS="%{rpmcflags} %{rpmldflags}" | |
512 | ||
513 | %{__make} \ | |
514 | OPT="%{rpmcflags}" 2>&1 | awk ' | |
515 | BEGIN { fail = 0; logmsg = ""; } | |
516 | { | |
517 | if ($0 ~ /\*\*\* WARNING:/) { | |
518 | fail = 1; | |
519 | logmsg = logmsg $0; | |
520 | } | |
521 | print $0; | |
522 | } | |
523 | END { if (fail) { print "\nPROBLEMS FOUND:"; print logmsg; exit(1); } }' | |
524 | ||
525 | LC_ALL=C | |
526 | export LC_ALL | |
527 | %if %{with tests} | |
528 | binlibdir=`echo build/lib.*` | |
529 | %{__make} test \ | |
530 | TESTOPTS="%{test_flags} %{test_list}" \ | |
531 | TESTPYTHON="LD_LIBRARY_PATH=`pwd` PYTHONHOME=`pwd` PYTHONPATH=`pwd`/Lib:$binlibdir ./python -tt" | |
532 | %endif | |
533 | ||
534 | %install | |
535 | rm -rf $RPM_BUILD_ROOT | |
536 | install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}} \ | |
537 | $RPM_BUILD_ROOT{%{py_sitedir},%{_mandir}/man1} \ | |
538 | $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \ | |
539 | $RPM_BUILD_ROOT%{_infodir} \ | |
540 | $RPM_BUILD_ROOT/etc/shrc.d | |
541 | ||
542 | %{__make} install \ | |
543 | DESTDIR=$RPM_BUILD_ROOT | |
544 | ||
545 | %if %{with info} | |
546 | %{__make} -C Doc/info | |
547 | install Doc/info/python*info* $RPM_BUILD_ROOT%{_infodir} | |
548 | %endif | |
549 | ||
550 | install Makefile.pre.in $RPM_BUILD_ROOT%{py_libdir}/config | |
551 | ||
552 | mv $RPM_BUILD_ROOT{%{py_libdir}/config,%{_libdir}}/libpython%{py_ver}.a | |
553 | ln -sf libpython%{py_ver}.a $RPM_BUILD_ROOT%{_libdir}/libpython.a | |
554 | ln -sf libpython%{py_ver}.so.1.0 $RPM_BUILD_ROOT%{_libdir}/libpython.so | |
555 | ln -sf libpython%{py_ver}.so.1.0 $RPM_BUILD_ROOT%{_libdir}/libpython%{py_ver}.so | |
556 | ||
557 | rm -f $RPM_BUILD_ROOT%{_bindir}/python%{py_ver} | |
558 | ||
559 | install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} | |
560 | cp -a Tools Demo $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} | |
561 | ||
562 | # | |
563 | # create several useful aliases, such as timeit.py, profile.py, pdb.py, smtpd.py | |
564 | # | |
565 | ||
566 | # for python devel tools | |
567 | for script in timeit profile pdb pstats; do | |
568 | echo alias $script.py=\"python -m ${script}\" | |
569 | done > $RPM_BUILD_ROOT/etc/shrc.d/python-devel.sh | |
570 | ||
571 | echo alias pygettext.py='"pygettext"' \ | |
572 | >> $RPM_BUILD_ROOT/etc/shrc.d/python-devel.sh | |
573 | ||
574 | sed 's/=/ /' \ | |
575 | < $RPM_BUILD_ROOT/etc/shrc.d/python-devel.sh \ | |
576 | > $RPM_BUILD_ROOT/etc/shrc.d/python-devel.csh | |
577 | ||
578 | # for python modules | |
579 | for script in smtpd webbrowser; do | |
580 | echo alias $script.py=\"python -m ${script}\" | |
581 | done > $RPM_BUILD_ROOT/etc/shrc.d/python-modules.sh | |
582 | ||
583 | sed 's/=/ /' \ | |
584 | < $RPM_BUILD_ROOT/etc/shrc.d/python-modules.sh \ | |
585 | > $RPM_BUILD_ROOT/etc/shrc.d/python-modules.csh | |
586 | ||
587 | # xgettext specific for Python code | |
588 | # | |
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 | |
593 | ||
594 | # just to cut the noise, as they are not packaged (now) | |
595 | # first tests | |
596 | rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/test | |
597 | rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/bsddb/test | |
598 | rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/ctypes/test | |
599 | rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/distutils/tests | |
600 | rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/email/test | |
601 | rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/sqlite3/test | |
602 | ||
603 | # other files | |
604 | rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/plat-*/regen | |
605 | find $RPM_BUILD_ROOT%{py_scriptdir} -name \*.egg-info -exec rm {} \; | |
606 | find $RPM_BUILD_ROOT%{py_scriptdir} -name \*.bat -exec rm {} \; | |
607 | find $RPM_BUILD_ROOT%{py_scriptdir} -name \*.txt -exec rm {} \; | |
608 | find $RPM_BUILD_ROOT%{py_scriptdir} -name README\* -exec rm {} \; | |
609 | ||
610 | %clean | |
611 | rm -rf $RPM_BUILD_ROOT | |
612 | ||
613 | %post libs -p /sbin/ldconfig | |
614 | %postun libs -p /sbin/ldconfig | |
615 | ||
616 | %post doc-info | |
617 | [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 | |
618 | ||
619 | %postun doc-info | |
620 | [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 | |
621 | ||
622 | %files | |
623 | %defattr(644,root,root,755) | |
624 | %attr(755,root,root) %{_bindir}/python | |
625 | %{_mandir}/man1/* | |
626 | ||
627 | %files modules | |
628 | %defattr(644,root,root,755) | |
629 | /etc/shrc.d/python-modules* | |
630 | %exclude %{py_scriptdir}/UserDict.py[co] | |
631 | %exclude %{py_scriptdir}/codecs.py[co] | |
632 | %exclude %{py_scriptdir}/copy_reg.py[co] | |
633 | %exclude %{py_scriptdir}/locale.py[co] | |
634 | %exclude %{py_scriptdir}/posixpath.py[co] | |
635 | %exclude %{py_scriptdir}/pdb.py[co] | |
636 | %exclude %{py_scriptdir}/profile.py[co] | |
637 | %exclude %{py_scriptdir}/pstats.py[co] | |
638 | %exclude %{py_scriptdir}/pydoc.py[co] | |
639 | %exclude %{py_scriptdir}/site.py[co] | |
640 | %exclude %{py_scriptdir}/stat.py[co] | |
641 | %exclude %{py_scriptdir}/timeit.py[co] | |
642 | %exclude %{py_scriptdir}/os.py[co] | |
643 | %exclude %{py_scriptdir}/encodings/*.py[co] | |
644 | %exclude %{py_scriptdir}/types.py[co] | |
645 | ||
646 | %{py_scriptdir}/*.py[co] | |
647 | ||
648 | %{py_dyndir}/*.egg-info | |
649 | ||
650 | # | |
651 | # list .so modules to be sure that all of them are built | |
652 | # | |
653 | ||
654 | # three modules below do not work on 64-bit architectures | |
655 | # see Python README file for explanation | |
656 | %ifnarch alpha ia64 ppc64 sparc64 %{x8664} | |
657 | %attr(755,root,root) %{py_dyndir}/audioop.so | |
658 | %attr(755,root,root) %{py_dyndir}/rgbimg.so | |
659 | %attr(755,root,root) %{py_dyndir}/imageop.so | |
660 | # sizeof(long) != sizeof(int), so dl module will not be built on 64-bit | |
661 | # platforms | |
662 | %attr(755,root,root) %{py_dyndir}/dl.so | |
663 | %endif | |
664 | ||
665 | %attr(755,root,root) %{py_dyndir}/array.so | |
35ff21ac AM |
666 | %attr(755,root,root) %{py_dyndir}/atexit.so |
667 | %attr(755,root,root) %{py_dyndir}/audioop.so | |
9416f74d AM |
668 | %attr(755,root,root) %{py_dyndir}/binascii.so |
669 | %attr(755,root,root) %{py_dyndir}/_bisect.so | |
670 | %attr(755,root,root) %{py_dyndir}/_bsddb.so | |
671 | %attr(755,root,root) %{py_dyndir}/bz2.so | |
672 | %attr(755,root,root) %{py_dyndir}/cmath.so | |
673 | %attr(755,root,root) %{py_dyndir}/_codecs_cn.so | |
674 | %attr(755,root,root) %{py_dyndir}/_codecs_hk.so | |
675 | %attr(755,root,root) %{py_dyndir}/_codecs_iso2022.so | |
676 | %attr(755,root,root) %{py_dyndir}/_codecs_jp.so | |
677 | %attr(755,root,root) %{py_dyndir}/_codecs_kr.so | |
678 | %attr(755,root,root) %{py_dyndir}/_codecs_tw.so | |
35ff21ac AM |
679 | %attr(755,root,root) %{py_dyndir}/_collections.so |
680 | #%attr(755,root,root) %{py_dyndir}/cPickle.so | |
9416f74d | 681 | %attr(755,root,root) %{py_dyndir}/crypt.so |
35ff21ac | 682 | #%attr(755,root,root) %{py_dyndir}/cStringIO.so |
9416f74d AM |
683 | %attr(755,root,root) %{py_dyndir}/_csv.so |
684 | %attr(755,root,root) %{py_dyndir}/_ctypes*.so | |
685 | %attr(755,root,root) %{py_dyndir}/_curses_panel.so | |
686 | %attr(755,root,root) %{py_dyndir}/_curses.so | |
687 | %attr(755,root,root) %{py_dyndir}/datetime.so | |
688 | %attr(755,root,root) %{py_dyndir}/_elementtree.so | |
689 | %attr(755,root,root) %{py_dyndir}/_functools.so | |
690 | %attr(755,root,root) %{py_dyndir}/_hashlib.so | |
691 | %attr(755,root,root) %{py_dyndir}/_heapq.so | |
692 | %attr(755,root,root) %{py_dyndir}/_locale.so | |
693 | %attr(755,root,root) %{py_dyndir}/_lsprof.so | |
694 | %attr(755,root,root) %{py_dyndir}/_multibytecodec.so | |
695 | %attr(755,root,root) %{py_dyndir}/_random.so | |
696 | %{?with_openssl097:%attr(755,root,root) %{py_dyndir}/_sha*.so} | |
697 | %attr(755,root,root) %{py_dyndir}/_socket.so | |
698 | %attr(755,root,root) %{py_dyndir}/_ssl.so | |
699 | %attr(755,root,root) %{py_dyndir}/_testcapi.so | |
700 | %attr(755,root,root) %{py_dyndir}/_weakref.so | |
701 | %ifnarch sparc64 | |
702 | %attr(755,root,root) %{py_dyndir}/dbm.so | |
703 | %endif | |
704 | %attr(755,root,root) %{py_dyndir}/fcntl.so | |
705 | %attr(755,root,root) %{py_dyndir}/gdbm.so | |
706 | %attr(755,root,root) %{py_dyndir}/grp.so | |
707 | %attr(755,root,root) %{py_dyndir}/itertools.so | |
35ff21ac | 708 | #%attr(755,root,root) %{py_dyndir}/linuxaudiodev.so |
9416f74d AM |
709 | %attr(755,root,root) %{py_dyndir}/math.so |
710 | %attr(755,root,root) %{py_dyndir}/mmap.so | |
711 | %attr(755,root,root) %{py_dyndir}/nis.so | |
712 | %attr(755,root,root) %{py_dyndir}/operator.so | |
713 | %attr(755,root,root) %{py_dyndir}/ossaudiodev.so | |
714 | %attr(755,root,root) %{py_dyndir}/parser.so | |
715 | %attr(755,root,root) %{py_dyndir}/pyexpat.so | |
716 | %attr(755,root,root) %{py_dyndir}/readline.so | |
717 | %attr(755,root,root) %{py_dyndir}/resource.so | |
718 | %attr(755,root,root) %{py_dyndir}/select.so | |
35ff21ac | 719 | #%attr(755,root,root) %{py_dyndir}/strop.so |
9416f74d AM |
720 | %attr(755,root,root) %{py_dyndir}/syslog.so |
721 | %attr(755,root,root) %{py_dyndir}/termios.so | |
722 | %attr(755,root,root) %{py_dyndir}/time.so | |
723 | %attr(755,root,root) %{py_dyndir}/spwd.so | |
724 | %attr(755,root,root) %{py_dyndir}/unicodedata.so | |
725 | %attr(755,root,root) %{py_dyndir}/zlib.so | |
726 | ||
727 | %dir %{py_scriptdir}/plat-* | |
728 | %{py_scriptdir}/plat-*/*.py[co] | |
729 | ||
730 | %dir %{py_scriptdir}/bsddb | |
731 | %{py_scriptdir}/bsddb/*.py[co] | |
732 | ||
35ff21ac AM |
733 | #%dir %{py_scriptdir}/compiler |
734 | #%{py_scriptdir}/compiler/*.py[co] | |
9416f74d AM |
735 | |
736 | %dir %{py_scriptdir}/ctypes | |
737 | %dir %{py_scriptdir}/ctypes/macholib | |
35ff21ac | 738 | |
9416f74d AM |
739 | %{py_scriptdir}/ctypes/*.py[co] |
740 | %{py_scriptdir}/ctypes/macholib/*.py[co] | |
741 | ||
742 | %dir %{py_scriptdir}/curses | |
743 | %{py_scriptdir}/curses/*.py[co] | |
744 | ||
745 | %dir %{py_scriptdir}/distutils | |
746 | %dir %{py_scriptdir}/distutils/command | |
747 | %{py_scriptdir}/distutils/*.py[co] | |
748 | %{py_scriptdir}/distutils/command/*.py[co] | |
749 | ||
750 | %dir %{py_scriptdir}/email | |
751 | %dir %{py_scriptdir}/email/mime | |
752 | %{py_scriptdir}/email/*.py[co] | |
753 | %{py_scriptdir}/email/mime/*.py[co] | |
754 | ||
755 | %dir %{py_scriptdir}/logging | |
756 | %{py_scriptdir}/logging/*.py[co] | |
757 | ||
758 | %dir %{py_scriptdir}/wsgiref | |
759 | %{py_scriptdir}/wsgiref/*.py[co] | |
760 | ||
761 | %dir %{py_scriptdir}/xml | |
762 | %dir %{py_scriptdir}/xml/dom | |
763 | %dir %{py_scriptdir}/xml/etree | |
764 | %dir %{py_scriptdir}/xml/parsers | |
765 | %dir %{py_scriptdir}/xml/sax | |
766 | %{py_scriptdir}/xml/*.py[co] | |
767 | %{py_scriptdir}/xml/dom/*.py[co] | |
768 | %{py_scriptdir}/xml/etree/*.py[co] | |
769 | %{py_scriptdir}/xml/parsers/*.py[co] | |
770 | %{py_scriptdir}/xml/sax/*.py[co] | |
771 | ||
772 | %files modules-sqlite | |
773 | %defattr(644,root,root,755) | |
774 | %attr(755,root,root) %{py_dyndir}/_sqlite3.so | |
775 | %dir %{py_scriptdir}/sqlite3 | |
776 | %{py_scriptdir}/sqlite3/*.py[co] | |
777 | ||
778 | %files libs | |
779 | %defattr(644,root,root,755) | |
780 | %attr(755,root,root) %{_libdir}/libpython*.so.* | |
781 | ||
782 | %dir %{py_dyndir} | |
783 | %dir %{py_scriptdir} | |
784 | %dir %{py_libdir} | |
785 | %dir %{py_sitescriptdir} | |
786 | %dir %{py_sitedir} | |
787 | ||
788 | # shared modules required by python library | |
789 | %attr(755,root,root) %{py_dyndir}/_struct.so | |
790 | ||
791 | # modules required by python library | |
792 | %{py_scriptdir}/UserDict.py[co] | |
793 | %{py_scriptdir}/codecs.py[co] | |
794 | %{py_scriptdir}/copy_reg.py[co] | |
795 | %{py_scriptdir}/locale.py[co] | |
796 | %{py_scriptdir}/posixpath.py[co] | |
797 | %{py_scriptdir}/site.py[co] | |
798 | %{py_scriptdir}/stat.py[co] | |
799 | %{py_scriptdir}/os.py[co] | |
800 | # needed by the dynamic sys.lib patch | |
801 | %{py_scriptdir}/types.py[co] | |
802 | ||
803 | # encodings required by python library | |
804 | %dir %{py_scriptdir}/encodings | |
805 | %{py_scriptdir}/encodings/*.py[co] | |
806 | ||
807 | %files -n pydoc | |
808 | %defattr(644,root,root,755) | |
809 | %attr(755,root,root) %{_bindir}/pydoc | |
810 | %{py_scriptdir}/pydoc.py[co] | |
811 | ||
812 | %files -n idle | |
813 | %defattr(644,root,root,755) | |
814 | %attr(755,root,root) %{_bindir}/idle | |
815 | %dir %{py_scriptdir}/idlelib | |
816 | %dir %{py_scriptdir}/idlelib/Icons | |
817 | %{py_scriptdir}/idlelib/*.py[co] | |
818 | %{py_scriptdir}/idlelib/Icons/* | |
819 | %{py_scriptdir}/idlelib/*.def | |
820 | ||
821 | %files devel | |
822 | %defattr(644,root,root,755) | |
823 | %doc Misc/{ACKS,NEWS,README,README.valgrind,valgrind-python.supp} | |
824 | %attr(755,root,root) %{_bindir}/python-config | |
825 | %attr(755,root,root) %{_bindir}/python%{py_ver}-config | |
826 | %attr(755,root,root) %{_libdir}/lib*.so | |
827 | %dir %{py_incdir} | |
828 | %{py_incdir}/*.h | |
829 | ||
830 | %dir %{py_libdir}/config | |
831 | %attr(755,root,root) %{py_libdir}/config/makesetup | |
832 | %attr(755,root,root) %{py_libdir}/config/install-sh | |
833 | %{py_libdir}/config/Makefile | |
834 | %{py_libdir}/config/Makefile.pre.in | |
835 | %{py_libdir}/config/Setup | |
836 | %{py_libdir}/config/Setup.config | |
837 | %{py_libdir}/config/Setup.local | |
838 | %{py_libdir}/config/config.c | |
839 | %{py_libdir}/config/config.c.in | |
840 | %{py_libdir}/config/python.o | |
841 | ||
842 | %files devel-src | |
843 | %defattr(644,root,root,755) | |
844 | %attr(-,root,root) %{py_scriptdir}/*.py | |
845 | %{py_scriptdir}/plat-*/*.py | |
846 | %{py_scriptdir}/bsddb/*.py | |
847 | %{py_scriptdir}/ctypes/*.py | |
848 | %{py_scriptdir}/ctypes/macholib/*.py | |
35ff21ac | 849 | #%{py_scriptdir}/compiler/*.py |
9416f74d AM |
850 | %{py_scriptdir}/curses/*.py |
851 | %{py_scriptdir}/distutils/*.py | |
852 | %{py_scriptdir}/distutils/command/*.py | |
853 | %{py_scriptdir}/email/*.py | |
854 | %{py_scriptdir}/email/mime/*.py | |
855 | %{py_scriptdir}/hotshot/*.py | |
856 | %{py_scriptdir}/logging/*.py | |
857 | %{py_scriptdir}/sqlite3/*.py | |
858 | %{py_scriptdir}/wsgiref/*.py | |
859 | %{py_scriptdir}/xml/*.py | |
860 | %{py_scriptdir}/xml/dom/*.py | |
861 | %{py_scriptdir}/xml/etree/*.py | |
862 | %{py_scriptdir}/xml/parsers/*.py | |
863 | %{py_scriptdir}/xml/sax/*.py | |
864 | %{py_scriptdir}/encodings/*.py | |
865 | %{py_scriptdir}/idlelib/*.py | |
866 | ||
867 | %files devel-tools | |
868 | %defattr(644,root,root,755) | |
869 | %doc Lib/pdb.doc | |
870 | /etc/shrc.d/python-devel* | |
871 | ||
872 | %attr(755,root,root) %{_bindir}/pygettext | |
873 | ||
874 | %attr(755,root,root) %{py_dyndir}/_hotshot.so | |
875 | %dir %{py_scriptdir}/hotshot | |
876 | %{py_scriptdir}/hotshot/*.py[co] | |
877 | %{py_scriptdir}/pdb.py[co] | |
878 | %{py_scriptdir}/profile.py[co] | |
879 | %{py_scriptdir}/pstats.py[co] | |
880 | %{py_scriptdir}/timeit.py[co] | |
881 | ||
882 | %files static | |
883 | %defattr(644,root,root,755) | |
884 | %{_libdir}/lib*.a | |
885 | ||
886 | %files examples | |
887 | %defattr(644,root,root,755) | |
888 | %{_examplesdir}/%{name}-%{version} | |
889 | ||
890 | ||
891 | %files doc | |
892 | %defattr(644,root,root,755) | |
893 | %doc Python-Docs-%{version}%{beta}/* | |
894 | ||
895 | %if %{with info} | |
896 | %files doc-info | |
897 | %defattr(644,root,root,755) | |
898 | %{_infodir}/*.info* | |
899 | %endif | |
900 | ||
901 | %if %{with tkinter} | |
902 | %files tkinter | |
903 | %defattr(644,root,root,755) | |
904 | %{py_scriptdir}/lib-tk | |
905 | %attr(755,root,root) %{py_dyndir}/_tkinter.so | |
906 | %endif |