ptyhon.spec

Grzegorz Stanislawski stangrze w open.net.pl
Wto, 22 Wrz 1998, 00:47:31 CEST


Witam
 Przesyłam pierwszą przymiarkę do pythonowego speca.
Ponieważ jas dość długi to w dwu słowach napisze co jest nowego.
Dodane (na razie) numpy i pygres do src, tak aby byl troche mniejszy
balagan w source'ach, dodany symbolicznie moduł slang. Wkrotce tak, jak
mówiłem dojdzie pyqt i snmpy.
Skupcie się na razie na ocenie tłumaczeń.
Te jaja na początku w %setup PyGreSQL to dlatego, że oryginalny tar z
pygresem jest bez podkatalogu.

Znowu mam pytanie: czy można zrobic na rpm'owych wildcardach tak aby w 
%files wymienić wszyskie pliki oprócz jakiś konkretnych. (Cos w rodzaju
*.py[^oc])
----
Summary: Very high level scripting language
Summary(pl): Bardzo zaawansowany język do pisania skryptów
Name: python
Version: 1.5.1
Release: 2
Copyright: distributable
Group: Development/Languages/Python
Source0: Python-1.5.1.tar.gz
Source1: postscript-docs.tar.gz
Source2: html-docs.tar.gz
Source3: PyGreSQL-2.1.tar.gz
Source4: NumPy-11.tgz
Source5: NumPy.pth
Source6: Makefile.pre.in

Patch0: python-1.5.1-setup.patch
Patch1: python-1.5.1-makefile.patch
Patch2: python-1.5-fixpaths.patch
Patch3: python-1.5.1-slangmodule.diff
Patch4: PyGreSQL-2.1.diff
Icon: python.gif
BuildRoot: /tmp/py-root

%description
Python in an interpreted, object orientated scripting language. If contains
support for dynamic loading of objects, classes, modules, and exceptions.
Adding interfaces to new system libraries through C code is straightforward,
making Python easy to use in custom settings. 

%description -l pl
Python to zorientowany obiektowo język do pisania sktyptów. Zawiera
wsparcie do dynamicznego ładowania obiektów, klas, modółów i wyjątków.
Dodawanie interfejsów do nowo powstających bibliotek systemowych poprzez
napisanie w jezyku C modułów do Pythona jest bezproblemowe. Sprawia to, że
Python jest łatwy do użycia w różnych zastosowaniach. 

%package doc
Summary: Python Documentation
Summary(pl): Dokumentacja do Python'a 
Group: Development/Languages/Python
Icon: pythondoc.gif

%description doc
The official Python documentation. This includes demos, tools and
documentation. The manpage is include in the main package.

This package doesn't include the LaTeX sources of the documentation
but the ready to use postscript and html docs.

%description doc -l pl
Oficjalna dokumentacja do Pythona. Zawiera programy przykładowe, narzędzia
i dokumentacje. Strony do manuala znajdują sie w głównym pakiecie.

Ten pakiet nie zawiera źródeł dokumentacji napisanych w LaTeX'u,
tylko Gotowe do wykorzystania pliki postscript'owe i html. 

%package gdbm
Summary: Python interface to the gdbm library
Group: Development/Languages/Python
Icon: pythongdbm.gif
Requires: python, gdbm

%description gdbm
An easy to use interface to gdbm databases.

%description gdbm -l pl
Łatwy w użyciu interfejs do baz danych gdbm.

%package curses
Summary: Python interface to the (n)curses library
Summary(pl): Interfejs do biblioteki (n)curses dla Pythona
Group: Development/Languages/Python
Icon: pythoncurses.gif
Requires: python, ncurses

%description curses
An easy to use interface to (n)curses library.

%description -l pl curses
Łatwy w użyciu interfejs do biblioteki (n)curses.

%package slang
Summary: Python interface to the slang library
Summary(pl): Interfejs do biblioteki slang dla Pythona
Group: Development/Languages/Python
#Icon: pythoncurses.gif
Requires: python, libslang.so.0

%description slang
Package contains an skel of slang module for Python. 
Someone with knowlege of python and slang is needed to write it.

%description -l pl slang
Pakiet zawiera pliki które kiedyś będa zawierały moduł interfejsu pomiędzy
biblioteką slang i Pythonem. Aby tak się stało potrzebny jest ktos kto to 
napisze :-(.

%package devel
Summary: Libraries needed to develop Python extensions
Summary: Biblioteki potrzebne do tworzenia rozszerzeń języka Python.
Group: Development/Languages/Python
Icon: pythondevel.gif
Requires: python

%description devel
Everything you need to develop extensions modules for Python using
C/C++.
%description -l pl devel
Wszystko czego potrzeba aby napisać w C/C++ moduł rozszerzający możliwości
Pythona. 

%package _tkinter
Summary: Lowlevel Python Tk Interface
Group: Development/Languages/Python
Icon: python_tk.gif
Requires: python, tcl >= 8.0, tk >= 8.0

%description _tkinter
This is the lowlevel C module that interfaces Tk and which is the
basis for the Tkinter, Python's OO interface to Tk, which is included
in the package python-tkinter.

The only reason this file is removed from python-tkinter, is to
make it more easy to replay _tkinter with a PIL (Python Imaging
Libary) aware version of it. Look at my PIL distribution.

%package tkinter
Summary: Python Tk interface
Group: Development/Languages/Python
Icon: pythontk.gif
Requires: python-_tkinter 

%description tkinter
Python interface to Tk. 

%package zlib
Summary: Python interface to the zlib library
Group: Development/Languages/Python
Icon: pythonzlib.gif
Requires: python, zlib >= 1.0.4

%description zlib
An interface to the zlib library.

%package numpy
Summary: Python numerical facilities
Group: Development/Languages/Python
Requires: python

%description numpy
Python numerical facilities

NumPy is a collection of extension modules to provide high-performance
multidimensional numeric arrays to the Python programming language.

%description -l plnumpy
Zbiór modułów rozszerzających Pythona o szybkie wielowymiarowe numeryczne
tablice.

%package pygresql
Summary: Interface to Postgresql databases
Summary: Interfejs do baz danych w  Postgresql'u
Group: Development/Languages/Python
Requires: python

%description pygresql
PyGreSQL is a python module that interfaces to a PostgreSQL database. It
embeds the PostgreSQL query library to allow easy use of the powerful
PostgreSQL features from a Python script.

%description -l pl pygresql
PyGreSQL jest modułem rozszerzającym Pythona o dostęp do baz danych
Postgres'a. Umożliwia łatwy dostęp do potężnych możliwości baz PostgreSQL
z poziomu jezyka skryptów.

%prep
%setup -T -q -n Python-1.5.1 -b 0 
%setup -T -D -c -n Python-1.5.1/PyGreSQL-2.1 -a 3
%patch4 -p1
%setup -T -D -q -n Python-1.5.1 -a 1 -a 2 -a 4 
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
cp $RPM_SOURCE_DIR/Makefile.pre.in LLNLDistribution/Numerical/
cp $RPM_SOURCE_DIR/NumPy.pth LLNLDistribution/Numerical/

%build
# note the single '>' below!
echo ': ${LDSHARED='gcc -shared'}' > config.cache
echo ': ${LINKFORSHARED='-rdynamic'}' >> config.cache
echo ': ${ac_cv_func_lstat='yes'}' >> config.cache
./configure --prefix=/usr --with-thread --with-fpectl
make OPT="$RPM_OPT_FLAGS"
cd LLNLDistribution/Numerical/
python makethis.py
make "OPT=$RPM_OPT_FLAGS"
cd ../../PyGreSQL-2.1
#nie przejmujcie ze tym, wkrótce to poprawie
gcc -shared -I .. -L .. -lpython1.5 -lpq -o pgmodule.so pgmodule.c


%install
#cd ..
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr
mkdir -p $RPM_BUILD_ROOT/usr/lib/python1.5/site-packages
mkdir -p $RPM_BUILD_ROOT/usr/lib/site-python
make prefix=$RPM_BUILD_ROOT/usr install
strip $RPM_BUILD_ROOT/usr/bin/python
# We don't have stdwin module, so don't
# install the .py*'s either.
rm -rf $RPM_BUILD_ROOT/usr/lib/python1.5/lib-stdwin

mkdir -p $RPM_BUILD_ROOT/usr/lib/python1.5/site-packages/NumPy
cp LLNLDistribution/Numerical/*.so $RPM_BUILD_ROOT/usr/lib/python1.5/site-packages/NumPy
cp LLNLDistribution/Numerical/Lib/* $RPM_BUILD_ROOT/usr/lib/python1.5/site-packages/NumPy
cp LLNLDistribution/Numerical/NumPy.pth $RPM_BUILD_ROOT/usr/lib/python1.5/site-packages
cp PyGreSQL-2.1/pgmodule.so $RPM_BUILD_ROOT/usr/lib/python1.5/lib-dynload/
cp PyGreSQL-2.1/pgext.py $RPM_BUILD_ROOT/usr/lib/python1.5/


%clean
rm -rf $RPM_BUILD_ROOT

%post numpy
if ! grep "^/usr/lib/python1.5/site-packages/NumPy\$" /etc/ld.so.conf > /dev/null; then
  echo "/usr/lib/python1.5/site-packages/NumPy" >> /etc/ld.so.conf
fi
ldconfig -v

%files
%defattr(644, root, root, 755)
%attr(755, root, root) /usr/bin/python
%attr(755, root, root) /usr/bin/python1.5
%attr(644, root, root) /usr/man/man1/python.1
%attr(644, root, root) %dir /usr/lib/site-python
%attr(775, root, root) %dir /usr/lib/python1.5/test
%attr(775, root, root) %dir /usr/lib/python1.5/plat-linux2
%attr(755, root, root) %dir /usr/lib/python1.5/site-packages
%attr(775, root, root) %dir /usr/lib/python1.5/lib-old
#to tez jest do poprawki jeszcze
%attr(644, root, root) /usr/lib/python1.5/*.py*
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/arraymodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/audioop.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/binascii.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/cPickle.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/cStringIO.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/cmathmodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/cryptmodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/errnomodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/fcntlmodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/fpectlmodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/fpetestmodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/grpmodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/imageop.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/mathmodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/md5module.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/newmodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/nismodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/operator.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/parsermodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/pwdmodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/readline.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/resource.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/rgbimgmodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/rotormodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/selectmodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/socketmodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/stropmodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/structmodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/syslogmodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/termios.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/timemodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/timingmodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/bsddbmodule.so
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/dbmmodule.so

%files doc
%doc postscript-docs html-docs Demo Tools Misc README

%files gdbm
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/gdbmmodule.so

%files curses
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/cursesmodule.so

%files slang
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/slangmodule.so

%files devel
%attr(775, root, root) %dir /usr/include/python1.5
%attr(644, root, root) /usr/include/python1.5/*
%attr(775, root, root) %dir /usr/lib/python1.5/config
%attr(644, root, root) /usr/lib/python1.5/config/*

%files _tkinter
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/_tkinter.so

%files tkinter
%attr(775, root, root) %dir /usr/lib/python1.5/lib-tk
%attr(755, root, root) /usr/lib/python1.5/lib-tk/*.py
%attr(644, root, root) /usr/lib/python1.5/lib-tk/*.pyo
%attr(644, root, root) /usr/lib/python1.5/lib-tk/*.pyc

%files zlib
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/zlibmodule.so

%files numpy
%doc LLNLDistribution/Numerical/Doc LLNLDistribution/Numerical/Demo LLNLDistribution/Numerical/Test
%attr(644, root, root) /usr/lib/python1.5/site-packages/NumPy.pth
%attr(644, root, root) /usr/lib/python1.5/site-packages/NumPy

%files pygresql
%doc PyGreSQL-2.1/Announce PyGreSQL-2.1/ChangeLog PyGreSQL-2.1/README PyGreSQL-2.1/tutorial 
%attr(555, root, root) /usr/lib/python1.5/lib-dynload/pgmodule.so
%attr(644, root, root) /usr/lib/python1.5/pgext.py

--------

Grzegorz Stanislawski
Open-Net / PKFL




Więcej informacji o liście dyskusyjnej pld-devel-pl