Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37423951
en ru br
ALT Linux repos
S:2.7.18-alt11
5.0: 2.5.4-alt5
4.1: 2.5.4-alt0.M41.1
4.0: 2.4.5-alt0.M40.1
3.0: 2.4.1-alt5

Group :: Development/Python
RPM: python

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

# -*- rpm-spec -*-
# $Id: python24.spec 466 2005-03-31 22:21:57Z cray $

%define real_name               python
Name: %{real_name}

Version: 2.4.1
Release: alt5

%define package_name %{real_name}
%define weight 1001
%define suffix_ver 2.4
%define require_ver 2.4
%define python_name %real_name%suffix_ver
%define __python_version %suffix_ver
%define __python %_builddir/Python-%version/python
%define izvrat_ver 2.4

Summary: An interpreted, interactive object-oriented programming language
License: PSF
Group: Development/Python
Url: http://www.python.org/
Packager: Python Development Team <python at packages.altlinux.org>
Source:  ftp://ftp.python.org/pub/python/%version/Python-%{version}.tar.bz2
Source1: info-%izvrat_ver.tar.bz2
Source2: koi8_u.py
Source3: modules-list-%version.tar.gz
Source4: PQR2.4.html.tar.gz
Source5: PQR2.4_classic_a4.pdf
Patch1: Python-2.3-alt-compileall.patch
Patch2: Python-2.3.2-alt-tinfo.patch
Patch3: Python-2.4-xmlrpc.patch
Patch4: python-2.3.4-libdb43.patch    
Patch5: python-info-2.4.patch    
Patch6: python-2.3.4-lib64-regex.patch
Patch7: python-2.4-lib64.patch

Requires: %real_name = %require_ver
PreReq: alternatives >= 0.0.6


BuildPreReq: rpm >= 4.0.4-alt36.d8
BuildRequires: rpm-build-python >= 0.18
BuildRequires: libdb4.3-devel libgdbm-devel libssl-devel
BuildRequires: libtcl libtk tcl-devel tk-devel zlib-devel emacs
BuildRequires: autoconf >= 2.5 tk-devel >= 8.4.0-alt1 bzlib-devel
BuildRequires: xorg-x11-devel xorg-x11-mesaGL gcc-c++ libgdbm-devel libexpat-devel libgmp-devel
BuildRequires: libncurses-devel libreadline-devel libstdc++-devel libtinfo-devel openssl-devel

%description
Python is an interpreted, interactive, object-oriented programming
language often compared to Tcl, Perl, Scheme or Java. Python includes
modules, classes, exceptions, very high level dynamic data types and
dynamic typing. Python supports interfaces to many system calls and
libraries, as well as to various windowing systems (X11, Motif, Tk,
Mac and MFC).

Programmers can write new built-in modules for Python in C or C++.
Python can be used as an extension language for applications that
need a programmable interface. This package contains most of the
standard Python modules, as well as modules for interfacing to the
Tix widget set for Tk and RPM.

Note that documentation for Python is provided in the python-docs
package.

%package strict
Summary: Python with strict conflicts: using other pythons are prohibited
Group: Development/Python
Provides: %real_name = %require_ver
Provides: %name-strict = %version-%release
Conflicts: %name-relaxed
Conflicts: python22
Conflicts: python = 2.2
Conflicts: python23
Conflicts: python = 2.3
Provides: %_bindir/%real_name
Requires: %name-base
Requires: %name-modules %name-modules-encodings
Requires: %name-modules-curses %name-modules-xml %name-modules-compiler
Requires: %name-modules-email %name-modules-hotshot %name-modules-bsddb
Requires: %name-modules-logging
Obsoletes: python2.4-strict <= 2.4-alt1

%description strict
Python is an interpreted, interactive, object-oriented programming
language often compared to Tcl, Perl, Scheme or Java. Python includes
modules, classes, exceptions, very high level dynamic data types and
dynamic typing. Python supports interfaces to many system calls and
libraries, as well as to various windowing systems (X11, Motif, Tk,
Mac and MFC).

This is a python with strict conflicts: using other pythons are prohibited.

%package relaxed
Summary: Python with relaxed conflicts: using with python22 are allowed
Group: Development/Python
Provides: %real_name = %require_ver
Provides: %name-relaxed = %version-%release
Conflicts: %name-strict
Provides: %_bindir/%real_name
Requires: %name-base
Obsoletes: python2.4-relaxed <= 2.4-alt1

%description relaxed
Python is an interpreted, interactive, object-oriented programming
language often compared to Tcl, Perl, Scheme or Java. Python includes
modules, classes, exceptions, very high level dynamic data types and
dynamic typing. Python supports interfaces to many system calls and
libraries, as well as to various windowing systems (X11, Motif, Tk,
Mac and MFC).

This is a python with relaxed conflicts: using with python22 are allowed.

%package base
Summary: Base python modules and executables
Group: Development/Python
Requires: %real_name = %require_ver
Provides: python2.4(os.path)
Obsoletes: python2.4-base <= 2.4-alt1
%description base
Python is an interpreted, interactive, object-oriented programming
language often compared to Tcl, Perl, Scheme or Java. Python includes
modules, classes, exceptions, very high level dynamic data types and
dynamic typing. Python supports interfaces to many system calls and
libraries, as well as to various windowing systems (X11, Motif, Tk,
Mac and MFC).

This package contains base python modules and executables.

%package modules
Summary: Standard python modules
Group: Development/Python
Requires: %name-base = %version-%release
Obsoletes: python2.4-modules <= 2.4-alt1

%description modules
The Python programming language's interpreter can be extended with
dynamically loaded extensions and can be embedded in other programs.
This package contains the header files and libraries needed to do
these types of tasks.

Install this package if you want to develop Python extensions.  The
%name package will also need to be installed.  You'll probably also
want to install the python-docs package, which contains Python
documentation.

%package modules-encodings
Summary: Python "encodings" module
Group: Development/Python
Requires: %name-base = %version-%release
Obsoletes: python2.4-modules-encodings <= 2.4-alt1

%description modules-encodings
Standard Python encoding modules are provided by this package.

Codec modules have names corresponding to normalized encoding
names, e.g. 'utf-8' is implemented by the module 'utf_8.py'.

%package obsolete
Summary: Obsoleted python modules
Group: Development/Python
Requires: %name-base = %version-%release
Obsoletes: python2.4-obsolete  <= 2.4-alt1

%description obsolete
Python is an interpreted, interactive, object-oriented programming
language often compared to Tcl, Perl, Scheme or Java. Python includes
modules, classes, exceptions, very high level dynamic data types and
dynamic typing. Python supports interfaces to many system calls and
libraries, as well as to various windowing systems (X11, Motif, Tk,
Mac and MFC).

This package contains obsolete python modules.

%package modules-curses
Summary: Python "curses" module
Group: Development/Python
Requires: %name-base = %version-%release
Obsoletes: python2.4-modules-curses

%description modules-curses
An interface to the curses library, providing portable terminal
handling. The Curses module provides an interface to the curses library, the
de-facto standard for portable advanced terminal handling.
This extension module is designed to match the API of ncurses, an
open-source curses library hosted on Linux and the BSD variants of UNIX.

%package modules-xml
Summary: Core XML support for Python
Group: Development/Python
Requires: %name-base = %version-%release
Obsoletes: python2.4-modules-xml <= 2.4-alt1

%description modules-xml
This package contains three sub-packages:

dom -- The W3C Document Object Model.  This supports DOM Level 1 +
      Namespaces.

parsers -- Python wrappers for XML parsers (currently only supports Expat).

sax -- The Simple API for XML, developed by XML-Dev, led by David Megginson
      and ported to Python by Lars Marius Garshol.  This supports the SAX 2
      API.


%package modules-compiler
Summary: Package for parsing and compiling Python source code
Group: Development/Python
Requires: %name-base = %version-%release
Obsoletes: python2.4-modules-compiler <= 2.4-alt1

%description modules-compiler
Python is an interpreted, interactive, object-oriented programming
language often compared to Tcl, Perl, Scheme or Java. Python includes
modules, classes, exceptions, very high level dynamic data types and
dynamic typing. Python supports interfaces to many system calls and
libraries, as well as to various windowing systems (X11, Motif, Tk,
Mac and MFC).

This is a package for parsing and compiling Python source code.

%package modules-email
Summary: A package for parsing, handling, and generating email messages
Group: Development/Python
Requires: %name-base = %version-%release
Obsoletes: python2.4-modules-email <= 2.4-alt1

%description modules-email
Python is an interpreted, interactive, object-oriented programming
language often compared to Tcl, Perl, Scheme or Java. Python includes
modules, classes, exceptions, very high level dynamic data types and
dynamic typing. Python supports interfaces to many system calls and
libraries, as well as to various windowing systems (X11, Motif, Tk,
Mac and MFC).

This is a package for parsing, handling, and generating email messages.

%package modules-hotshot
Summary: High-perfomance logging profiler, mostly written in C
Group: Development/Python
Requires: %name-base = %version-%release
Obsoletes: python2.4-modules-hotshot <= 2.4-alt1

%description modules-hotshot
Python is an interpreted, interactive, object-oriented programming
language often compared to Tcl, Perl, Scheme or Java. Python includes
modules, classes, exceptions, very high level dynamic data types and
dynamic typing. Python supports interfaces to many system calls and
libraries, as well as to various windowing systems (X11, Motif, Tk,
Mac and MFC).

This package contains high-perfomance logging profiler.

%package modules-bsddb
Summary: Support for BerkeleyDB 3.2 through 4.2
Group: Development/Python
Requires: %name-base = %version-%release
Obsoletes: python2.4-modules-bsddb <= 2.4-alt1

%description modules-bsddb
Python is an interpreted, interactive, object-oriented programming
language often compared to Tcl, Perl, Scheme or Java. Python includes
modules, classes, exceptions, very high level dynamic data types and
dynamic typing. Python supports interfaces to many system calls and
libraries, as well as to various windowing systems (X11, Motif, Tk,
Mac and MFC).

This package contains BerkeleyDB support modules.

%package modules-logging
Summary: Logging package for Python
Group: Development/Python
Requires: %name-base = %version-%release
Obsoletes: python2.4-modules-logging <= 2.4-alt1

%description modules-logging
Logging package for Python. Based on PEP 282 and comments thereto in
comp.lang.python, and influenced by Apache's log4j system.

%package dev
Summary: The libraries and header files needed for Python development
Group: Development/Python
Requires: %name-base = %version-%release
Provides: %real_name-devel = %require_ver
Requires: %real_name%suffix_ver(__future__),%real_name%suffix_ver(getopt),%real_name%suffix_ver(os),%real_name%suffix_ver(parser),%real_name%suffix_ver(py_compile),%real_name%suffix_ver(re),%real_name%suffix_ver(stat),%real_name%suffix_ver(symbol),%real_name%suffix_ver(token),%real_name%suffix_ver(types)
Obsoletes: python2.4-modules-dev <= 2.4-alt1

%description dev
The Python programming language's interpreter can be extended with
dynamically loaded extensions and can be embedded in other programs.
This package contains the header files and libraries needed to do
these types of tasks.

Install this package if you want to develop Python extensions.  The
%name package will also need to be installed.  You'll probably also
want to install the python-docs package, which contains Python
documentation.

%package test
Summary: Test suite for standard python modules
Group: Development/Python
Requires: %name-base = %version-%release
AutoReqProv: yes, nopython
Obsoletes: python2.4-test <= 2.4-alt1

%description test
Python is an interpreted, interactive, object-oriented programming
language often compared to Tcl, Perl, Scheme or Java. Python includes
modules, classes, exceptions, very high level dynamic data types and
dynamic typing. Python supports interfaces to many system calls and
libraries, as well as to various windowing systems (X11, Motif, Tk,
Mac and MFC).

This package contains test suite for standard python modules.

%package tools-i18n
Summary: Scripts to provide i18n support for developers
Group: Development/Python
Obsoletes: python2.4-tools-i18n <= 2.4-alt1

%description tools-i18n
Package provide pygettext and pymsgfmt scripts.
pygettext uses Python's standard tokenize module to scan
Python source code, generating .pot files identical to what GNU xgettext
generates for C and C++ code.

%package tools-webchecker
Summary: This is a simple web tree checker
Group: Development/Python
Obsoletes: python2.4-tools-webchecker <= 2.4-alt1

%description tools-webchecker
This is a simple web tree checker, useful to find bad links in a web
tree.  It currently checks links pointing within the same subweb for
validity.  The main program is "webchecker.py".  Invoke it with the
option "-?") for more defails.

%package tools-modulator
Summary: The modulator script
Group: Development/Python
Obsoletes: python2.4-tools-modulator <= 2.4-alt1

%description tools-modulator
The modulator script provides a simple graphical user interface for declaring the
functions and objects which a module should implement, and can generate a
template which can be filled in.

%package tools-pynche
Summary: The PYthonically Natural Color and Hue Editor
Group: Development/Python

Obsoletes: python2.4-tools-pynche <= 2.4-alt1

%description tools-pynche
Pynche is a color editor based largely on a similar program that I
originally wrote back in 1987 for the Sunview window system.  That editor
was called ICE, the Interactive Color Editor.  I'd always wanted to port
this program to X but didn't feel like hacking X and C code to do it.  Fast
forward many years, to where Python + Tkinter provides such a nice
programming environment, with enough power, that I finally buckled down and
re-implemented it.  I changed the name because these days, too many other
systems have the acronym CE'.

%package tools-idle
Summary: An Integrated Development Environment for Python.
Group: Development/Python

Obsoletes: python2.4-tools-idle <= 2.4-alt1

%description tools-idle
IDLE is a basic editor and interpreter environment that ships with the
standard distribution of Python.  Good for beginners, it also serves as
clear example code for those wanting to implement a moderately
sophisticated, multi-platform GUI application.

%package modules-tkinter
Summary: A graphical user interface for the Python scripting language
Group: Development/Python
Requires: %name-base = %version-%release
Requires: tk
PreReq: alternatives >= 0.0.6
Provides: tkinter = %require_ver

Obsoletes: python2.4-modules-tkinter <= 2.4-alt1

%description modules-tkinter
The Tkinter (Tk interface) program is an graphical user interface for
the Python scripting language.

You should install this package if you'd like to use a graphical
user interface for Python programming.

%package info
Summary: Info documentation for the Python scripting language
Group: Development/Python

Obsoletes: python2.4-info <= 2.4-alt1

%description info
This archive contains the standard Python documentation in GNU info
format.  Thanks go to Milan Zamazal <pdm at zamazal.org> for providing this
conversion to the info format.

Questions and comments on these documents should be directed to
docs at python.org.


%package devel-static
Summary: Static python library for products with embeded python
Group: Development/Python

Obsoletes: python2.4-devel-static <= 2.4-alt1

%description devel-static
Python provides two kind of python-library to build application with
embedded-python capability. Using of shared library is preffered and
static library is obsoleted. This package are content static library and
intend only for some stupid application (configure scripts?) that can't
be linked with shared library.

%prep
%setup -q -n Python-%version
%undefine _python_compile_skip_x
mkdir info
cd info
tar xvjf %SOURCE1
cd ..
tar xvzf %SOURCE3

cp %SOURCE5 PQR2.4.pdf

mkdir PQR2.4
cd PQR2.4
tar xvzf %SOURCE4
cd ..


%patch1 -p1
%patch2 -p1
#patch3 -p0
#patch4 -p1
patch -p1 -dinfo <%PATCH5

%ifarch x86_64
%patch6 -p1
%patch7 -p1
%endif

find -type f \( -name \*~ -o -name \*.orig \) -print0 |
xargs -r0 %__rm -f --

find -type f -print0 |
   xargs -r0 %__grep -FZl -- /usr/local/bin/python |
   xargs -r0 %__subst 's at /usr/local/bin/python at /usr/bin/python at ' --

%build
%add_optflags %optflags_shared -D_GNU_SOURCE
export OPT="$RPM_OPT_FLAGS"
libtoolize --copy --force
autoconf_2.5
%configure --with-threads --with-cycle-gc --with-libdb --enable-shared

%make_build
%if_with test
make test
%endif
bzip2 info/python*info*
cat > info/python24.dir <<EOF
INFO-DIR-SECTION Development/Python
START-INFO-DIR-ENTRY
EOF
cat info/python.dir >> info/python24.dir
cat >> info/python24.dir <<EOF
END-INFO-DIR-ENTRY
EOF

%install
%__mkdir_p $RPM_BUILD_ROOT%_mandir
%__mkdir_p $RPM_BUILD_ROOT/usr/share/info
install info/python*bz2 info/python24.dir $RPM_BUILD_ROOT/usr/share/info

#  set the install path

echo '[install_scripts]' >setup.cfg
echo 'install_dir='"$RPM_BUILD_ROOT%_bindir" >>setup.cfg

export LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%_libexecdir:$LD_LIBRARY_PATH
%makeinstall MANDIR=$RPM_BUILD_ROOT%_mandir INCLUDEDIR=$RPM_BUILD_ROOT%_includedir
install %SOURCE2 $RPM_BUILD_ROOT/%_libdir/%python_name/encodings

# cray : hack for hotshot

rm $RPM_BUILD_ROOT/%_libdir/%python_name/hotshot/stones.py*
# cray : hack for distutils
rm $RPM_BUILD_ROOT/%_libdir/%python_name/distutils/mwerkscompiler.py*

# hack for pydoc

mv $RPM_BUILD_ROOT%_bindir/pydoc $RPM_BUILD_ROOT%_bindir/pydoc%suffix_ver

# emacs, I use it, I want it

install -pD -m644 Misc/python-mode.el $RPM_BUILD_ROOT%_emacslispdir/python-mode%suffix_ver.el
emacs -batch --no-site-file -f batch-byte-compile $RPM_BUILD_ROOT%_emacslispdir/python-mode%suffix_ver.el
%__mkdir_p $RPM_BUILD_ROOT%_sysconfdir/emacs/site-start.d
cat <<EOF >$RPM_BUILD_ROOT%_sysconfdir/emacs/site-start.d/python.el-%suffix_ver
(setq auto-mode-alist (cons '("\\\\.py$" . python-mode) auto-mode-alist))
(autoload 'python-mode "python-mode%suffix_ver" "Mode for python files." t)
EOF

# idle

cat <<EOF >$RPM_BUILD_ROOT%python_libdir/idlelib/idle - $RPM_BUILD_ROOT%python_libdir/idlelib/idle.py
#! /usr/bin/%python_name
EOF

ln -sf %python_libdir/idlelib/idle $RPM_BUILD_ROOT%_bindir/idle%suffix_ver
chmod +x $RPM_BUILD_ROOT%python_libdir/idlelib/idle

%__mkdir_p $RPM_BUILD_ROOT%python_tooldir
# modulator
cp -r Tools/modulator $RPM_BUILD_ROOT%_libdir/%python_name/tools/
ln -sf %_libdir/%python_name/tools/modulator/modulator.py $RPM_BUILD_ROOT%_bindir/modulator%suffix_ver

# pynche

rm -f Tools/pynche/*.pyw
cp -r Tools/pynche $RPM_BUILD_ROOT%_libdir/%python_name/tools/
ln -sf %_libdir/%python_name/tools/pynche/pynche $RPM_BUILD_ROOT%_bindir/pynche%suffix_ver

cp Tools/i18n/*.py $RPM_BUILD_ROOT%_libdir/%python_name/tools/
ln -sf %_libdir/%python_name/tools/pygettext.py $RPM_BUILD_ROOT%_bindir/pygettext
ln -sf %_libdir/%python_name/tools/msgfmt.py $RPM_BUILD_ROOT%_bindir/pymsgfmt    

cp -r Tools/webchecker/ $RPM_BUILD_ROOT%_libdir/%python_name/tools/
for item in wcgui.py webchecker.py  websucker.py  wsgui.py; do
  ln -sf %_libdir/%python_name/tools/webchecker/$item $RPM_BUILD_ROOT%_bindir/$(basename $item .py) #%dirver
done

ln -f Tools/modulator/README Tools/modulator/README.modulator
ln -f Tools/pynche/README Tools/pynche/README.pynche

rm -f modules-list.full
for n in $RPM_BUILD_ROOT%_libdir/%python_name/*; do
 [ -d "$n" ] || echo "$n"
done >> modules-list.full

echo >modules-exclude
for list in modules-list/*-list modules-list/base-list; do
   name=$(basename $list).tmp
   cat $list >$name
   grep "py$" $list|sed -e "s|.*|&c|g" >>$name
   grep "py$" $list|sed -e "s|.*|&o|g" >>$name
   sed <$name -e "s|^|%_libdir/%python_name/|g"|tee $(basename $list)
done | sort  > modules-exclude

for mod in $RPM_BUILD_ROOT%_libdir/%python_name/lib-dynload/*; do
 [ `basename $mod` = _tkinter.so ] || echo "$mod"
done >> modules-list.full
sed -e "s|$RPM_BUILD_ROOT||g" <modules-list.full |sort|comm -23 - modules-exclude >other-list

# menu support

%__mkdir_p $RPM_BUILD_ROOT%_menudir
cat > $RPM_BUILD_ROOT%_menudir/idle%version << EOF
#?package(%real_name): needs=text section="Applications/Development/Interpreters" title=Python command=python
#?package(%name-tools-idle): needs="gnome" section="Applications/Development/Development environments" title="IDLE" \
longtitle="IDE for Python %version" command="NO_XALF %_bindir/idle" icon="development_section.xpm"
?package(%name-tools-idle): needs=x11 section="Applications/Development/Development environments" title="IDLE" \
longtitle="IDE for Python %version" command="%_bindir/idle" icon="development_section.xpm"
EOF

#alternatives support

install -d $RPM_BUILD_ROOT%_altdir
#main package
cat > $RPM_BUILD_ROOT%_altdir/%python_name <<EOF
%_bindir/%real_name %_bindir/%python_name %weight
%_bindir/pydoc %_bindir/pydoc%suffix_ver %_bindir/%python_name
%_sysconfdir/emacs/site-start.d/python.el %_sysconfdir/emacs/site-start.d/python.el-%suffix_ver %_bindir/%python_name
EOF

#tkinter package

>$RPM_BUILD_ROOT%_altdir/%python_name-modules-tkinter
for n in idle modulator pynche
do
cat <<EOF
%_bindir/$n %_bindir/${n}%suffix_ver %weight
EOF
done > $RPM_BUILD_ROOT%_altdir/%python_name-modules-tkinter

chmod -x $RPM_BUILD_ROOT%_libdir/%python_name/test/*.py*

find $RPM_BUILD_ROOT -type f -print0 |
xargs -r0 %__grep -FZl -- $RPM_BUILD_ROOT |
xargs -r0 %__subst -- "s|$RPM_BUILD_ROOT||g"

%__mkdir_p $RPM_BUILD_ROOT%_sysconfdir/buildreqs/packages/substitute.d
echo %real_name >$RPM_BUILD_ROOT%_sysconfdir/buildreqs/packages/substitute.d/%name
echo %real_name-devel >$RPM_BUILD_ROOT%_sysconfdir/buildreqs/packages/substitute.d/%name-devel
echo tkinter >$RPM_BUILD_ROOT%_sysconfdir/buildreqs/packages/substitute.d/%python_name-modules-tkinter
chmod 644 $RPM_BUILD_ROOT%_sysconfdir/buildreqs/packages/substitute.d/*

%__mkdir_p $RPM_BUILD_ROOT%_sysconfdir/buildreqs/files/ignore.d
cat > $RPM_BUILD_ROOT%_sysconfdir/buildreqs/files/ignore.d/%name << EOF
^%_libdir/python[^/]*/site-packages(/.+\.pth)?$
EOF

cat >> python.sh <<EOF
#! /bin/bash
export LD_LIBRARY_PATH=%_builddir/Python-%version
%_builddir/Python-%version/python "\$ at "
EOF
chmod +x python.sh

%define __python %_builddir/Python-%version/python.sh
%define _python_lib_path %(RPM_BUILD_ROOT=%buildroot LD_LIBRARY_PATH=%buildroot%_libdir %buildroot%_bindir/python -c "import sys,os; path=os.path.normpath(os.environ['RPM_BUILD_ROOT']) ; print ' '.join([ x[len(path):] for x in [ os.path.normpath(x) for x in sys.path] if x[0:len(path)]==path])")
%add_python_req_skip bundlebuilder
mv %buildroot{%_libdir/python2.4/config/libpython2.4.a,%_libdir/libpython2.4.a}
mv %buildroot{%_mandir/man1/python.1,%_mandir/man1/python2.4.1}

%post strict
ln -sf /usr/bin/python2.4 /usr/bin/python
ln -sf /usr/bin/pydoc2.4 /usr/bin/pydoc
ln -sf %_sysconfdir/emacs/site-start.d/python.el-%suffix_ver  %_sysconfdir/emacs/site-start.d/python.el

%post relaxed
%register_alternatives %python_name -- python pydoc

%triggerpostun strict -- python22, python23, python-relaxed, python2.4-relaxed, python2.3, python2.3-relaxed
ln -sf /usr/bin/pydoc2.4 /usr/bin/pydoc
ln -sf /usr/bin/python2.4 /usr/bin/python
ln -sf %_sysconfdir/emacs/site-start.d/python.el-%suffix_ver  %_sysconfdir/emacs/site-start.d/python.el
for n in idle modulator pynche; do
 ln -sf %_bindir/${n}%suffix_ver %_bindir/$n
done

%preun relaxed
%unregister_alternatives %python_name

%post modules-tkinter
%register_alternatives %python_name-modules-tkinter -- idle modulator pynche

%post tools-idle
%update_menus

%preun modules-tkinter
%unregister_alternatives %python_name-modules-tkinter

%postun tools-idle
%clean_menus

%postun relaxed

%post info
/usr/sbin/install_info python24.dir

%preun info
/usr/sbin/uninstall_info python-dist
/usr/sbin/uninstall_info python-api
/usr/sbin/uninstall_info python-ext
/usr/sbin/uninstall_info python-lib
/usr/sbin/uninstall_info python-mac
/usr/sbin/uninstall_info python-ref
/usr/sbin/uninstall_info python-tut
/usr/sbin/uninstall_info python-whatsnew24

%files

%files strict

%files relaxed
%_altdir/%python_name

%files base -f base-list
%_emacslispdir/python-mode%suffix_ver.el*
%config(noreplace) %_sysconfdir/emacs/site-start.d/python.el-%suffix_ver
%_mandir/man?/*
%config %_sysconfdir/buildreqs/packages/substitute.d/%name
%config %_sysconfdir/buildreqs/files/ignore.d/%name
%_bindir/%python_name
%_bindir/pydoc%suffix_ver
%dir %_libdir/%python_name
%dir %_libdir/%python_name/lib-dynload
%dir %_libdir/%python_name/site-packages
%_libdir/libpython2.4.so.*
%doc LICENSE
%doc Misc/{HISTORY,NEWS,cheatsheet}

%files modules -f other-list
%_libdir/%python_name/plat-linux2

%files modules-curses -f modules-curses-list
%_libdir/%python_name/curses

%files modules-xml -f modules-xml-list
%_libdir/%python_name/xml

%files modules-compiler -f modules-compiler-list
%_libdir/%python_name/compiler

%files modules-email -f modules-email-list
%dir %_libdir/%python_name/email
%_libdir/%python_name/email/*py
%_libdir/%python_name/email/*pyc
%_libdir/%python_name/email/*pyo

%files modules-hotshot -f modules-hotshot-list
%_libdir/%python_name/hotshot

%files modules-bsddb -f modules-bsddb-list
%dir %_libdir/%python_name/bsddb
%_libdir/%python_name/bsddb/*py
%_libdir/%python_name/bsddb/*pyc
%_libdir/%python_name/bsddb/*pyo

%files modules-logging -f modules-logging-list
%_libdir/%python_name/logging

%files modules-encodings -f modules-encodings-list
%_libdir/%python_name/encodings

%files obsolete
%_libdir/%python_name/lib-old

%files tools-idle
%_libdir/%python_name/idlelib
%_bindir/idle%suffix_ver
%doc Lib/idlelib/README.txt Lib/idlelib/NEWS.txt Lib/idlelib/HISTORY.txt Lib/idlelib/CREDITS.txt
%_menudir/idle%version

%files tools-pynche
%_libdir/%python_name/tools/pynche
%_bindir/pynche%suffix_ver
%doc Tools/pynche/README

%files tools-modulator
%_libdir/%python_name/tools/modulator
%_bindir/modulator%suffix_ver
%doc Tools/modulator/README Tools/modulator/EXAMPLE.py

%files tools-i18n
%_libdir/%python_name/tools/pygettext.py
%_libdir/%python_name/tools/msgfmt.py
%_bindir/pygettext
%_bindir/pymsgfmt

%files tools-webchecker
%_libdir/%python_name/tools/webchecker/*.py*
%_bindir/wcgui
%_bindir/webchecker
%_bindir/websucker
%_bindir/wsgui
%doc Tools/webchecker/README

%files dev
%config %_sysconfdir/buildreqs/packages/substitute.d/%name-devel
%_includedir/%python_name
%_libdir/%python_name/config
%_libdir/%python_name/distutils
%exclude %_libdir/%python_name/distutils/tests
%_libdir/libpython2.4.so

%files test
%_libdir/%python_name/test
%_libdir/%python_name/email/test
%_libdir/%python_name/bsddb/test
%_libdir/%python_name/distutils/tests

%files info
/usr/share/info/*
%doc Lib/*.doc
%doc PQR2.4.pdf PQR2.4/*

%files devel-static
%_libdir/libpython2.4.a

%files modules-tkinter
%config %_sysconfdir/buildreqs/packages/substitute.d/%python_name-modules-tkinter
%_altdir/%python_name-modules-tkinter
%_libdir/%python_name/lib-tk
%_libdir/%python_name/lib-dynload/_tkinter.so

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin