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