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