mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			302 lines
		
	
	
	
		
			9.3 KiB
		
	
	
	
		
			RPMSpec
		
	
	
	
	
	
			
		
		
	
	
			302 lines
		
	
	
	
		
			9.3 KiB
		
	
	
	
		
			RPMSpec
		
	
	
	
	
	
| ##########################
 | |
| #  User-modifiable configs
 | |
| ##########################
 | |
| 
 | |
| #  Is the resulting package and the installed binary named "python" or
 | |
| #  "python2"?
 | |
| #WARNING: Commenting out doesn't work.  Last line is what's used.
 | |
| %define config_binsuffix none
 | |
| %define config_binsuffix 2
 | |
| 
 | |
| #  Build tkinter?  "auto" enables it if /usr/bin/wish exists.
 | |
| #WARNING: Commenting out doesn't work.  Last line is what's used.
 | |
| %define config_tkinter no
 | |
| %define config_tkinter yes
 | |
| %define config_tkinter auto
 | |
| 
 | |
| #  Use pymalloc?  The last line (commented or not) determines wether
 | |
| #  pymalloc is used.
 | |
| #WARNING: Commenting out doesn't work.  Last line is what's used.
 | |
| %define config_pymalloc yes
 | |
| %define config_pymalloc no
 | |
| 
 | |
| #  Enable IPV6?
 | |
| #WARNING: Commenting out doesn't work.  Last line is what's used.
 | |
| %define config_ipv6 yes
 | |
| %define config_ipv6 no
 | |
| 
 | |
| #################################
 | |
| #  End of user-modifiable configs
 | |
| #################################
 | |
| 
 | |
| %define name python
 | |
| %define version 2.2
 | |
| %define libvers 2.2
 | |
| %define release 2
 | |
| %define __prefix /usr
 | |
| 
 | |
| #  kludge to get around rpm <percent>define weirdness
 | |
| %define ipv6 %(if [ "%{config_ipv6}" = yes ]; then echo --enable-ipv6; else echo --disable-ipv6; fi)
 | |
| %define pymalloc %(if [ "%{config_pymalloc}" = yes ]; then echo --with-pymalloc; else echo --without-pymalloc; fi)
 | |
| %define binsuffix %(if [ "%{config_binsuffix}" = none ]; then echo ; else echo "%{config_binsuffix}"; fi)
 | |
| %define include_tkinter %(if [ \\( "%{config_tkinter}" = auto -a -f /usr/bin/wish \\) -o "%{config_tkinter}" = yes ]; then echo 1; else echo 0; fi)
 | |
| 
 | |
| Summary: An interpreted, interactive, object-oriented programming language.
 | |
| Name: %{name}%{binsuffix}
 | |
| Version: %{version}
 | |
| Release: %{release}
 | |
| Copyright: Modified CNRI Open Source License
 | |
| Group: Development/Languages
 | |
| Source: Python-%{version}.tgz
 | |
| Source1: html-%{version}.tar.bz2
 | |
| Source2: info-%{version}.tar.bz2
 | |
| Patch0: Python-2.1-pythonpath.patch
 | |
| Patch1: Python-2.1-expat.patch
 | |
| BuildRoot: /var/tmp/%{name}-%{version}-root
 | |
| BuildPrereq: expat-devel
 | |
| BuildPrereq: db1-devel
 | |
| BuildPrereq: gdbm-devel
 | |
| Prefix: %{__prefix}
 | |
| Packager: Sean Reifschneider <jafo-rpms@tummy.com>
 | |
| 
 | |
| %description
 | |
| Python is an interpreted, interactive, object-oriented programming
 | |
| language.  It incorporates modules, exceptions, dynamic typing, very high
 | |
| level dynamic data types, and classes. Python combines remarkable power
 | |
| with very clear syntax. It has interfaces to many system calls and
 | |
| libraries, as well as to various window systems, and is extensible in C or
 | |
| C++. It is also usable as an extension language for applications that need
 | |
| a programmable interface.  Finally, Python is portable: it runs on many
 | |
| brands of UNIX, on PCs under Windows, MS-DOS, and OS/2, and on the
 | |
| Mac.
 | |
| 
 | |
| %package devel
 | |
| Summary: The libraries and header files needed for Python extension development.
 | |
| Prereq: python%{binsuffix} = %{PACKAGE_VERSION}
 | |
| Group: Development/Libraries
 | |
| 
 | |
| %description devel
 | |
| 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 python-devel if you want to develop Python extensions.  The
 | |
| python package will also need to be installed.  You'll probably also
 | |
| want to install the python-docs package, which contains Python
 | |
| documentation.
 | |
| 
 | |
| %if %{include_tkinter}
 | |
| %package tkinter
 | |
| Summary: A graphical user interface for the Python scripting language.
 | |
| Group: Development/Languages
 | |
| Prereq: python%{binsuffix} = %{PACKAGE_VERSION}-%{release}
 | |
| 
 | |
| %description tkinter
 | |
| The Tkinter (Tk interface) program is an graphical user interface for
 | |
| the Python scripting language.
 | |
| 
 | |
| You should install the tkinter package if you'd like to use a graphical
 | |
| user interface for Python programming.
 | |
| %endif
 | |
| 
 | |
| %package tools
 | |
| Summary: A collection of development tools included with Python.
 | |
| Group: Development/Tools
 | |
| Prereq: python%{binsuffix} = %{PACKAGE_VERSION}-%{release}
 | |
| 
 | |
| %description tools
 | |
| The Python package includes several development tools that are used
 | |
| to build python programs.  This package contains a selection of those
 | |
| tools, including the IDLE Python IDE.
 | |
| 
 | |
| Install python-tools if you want to use these tools to develop
 | |
| Python programs.  You will also need to install the python and
 | |
| tkinter packages.
 | |
| 
 | |
| %package docs
 | |
| Summary: Python-related documentation.
 | |
| Group: Development/Documentation
 | |
| 
 | |
| %description docs
 | |
| Documentation relating to the Python programming language in HTML and info
 | |
| formats.
 | |
| 
 | |
| %changelog
 | |
| * Sun Dec 23 2001 Sean Reifschneider <jafo-rpms@tummy.com>
 | |
| [Release 2.2-2]
 | |
| - Added -docs package.
 | |
| - Added "auto" config_tkinter setting which only enables tk if
 | |
|   /usr/bin/wish exists.
 | |
| 
 | |
| * Sat Dec 22 2001 Sean Reifschneider <jafo-rpms@tummy.com>
 | |
| [Release 2.2-1]
 | |
| - Updated to 2.2.
 | |
| - Changed the extension to "2" from "2.2".
 | |
| 
 | |
| * Tue Nov 18 2001 Sean Reifschneider <jafo-rpms@tummy.com>
 | |
| [Release 2.2c1-1]
 | |
| - Updated to 2.2c1.
 | |
| 
 | |
| * Thu Nov  1 2001 Sean Reifschneider <jafo-rpms@tummy.com>
 | |
| [Release 2.2b1-3]
 | |
| - Changed the way the sed for fixing the #! in pydoc works.
 | |
| 
 | |
| * Wed Oct  24 2001 Sean Reifschneider <jafo-rpms@tummy.com>
 | |
| [Release 2.2b1-2]
 | |
| - Fixed missing "email" package, thanks to anonymous report on sourceforge.
 | |
| - Fixed missing "compiler" package.
 | |
| 
 | |
| * Mon Oct 22 2001 Sean Reifschneider <jafo-rpms@tummy.com>
 | |
| [Release 2.2b1-1]
 | |
| - Updated to 2.2b1.
 | |
| 
 | |
| * Mon Oct  9 2001 Sean Reifschneider <jafo-rpms@tummy.com>
 | |
| [Release 2.2a4-4]
 | |
| - otto@balinor.mat.unimi.it mentioned that the license file is missing.
 | |
| 
 | |
| * Sun Sep 30 2001 Sean Reifschneider <jafo-rpms@tummy.com>
 | |
| [Release 2.2a4-3]
 | |
| - Ignacio Vazquez-Abrams pointed out that I had a spruious double-quote in
 | |
|   the spec files.  Thanks.
 | |
| 
 | |
| * Wed Jul 25 2001 Sean Reifschneider <jafo-rpms@tummy.com>
 | |
| [Release 2.2a1-1]
 | |
| - Updated to 2.2a1 release.
 | |
| - Changed idle and pydoc to use binsuffix macro
 | |
| 
 | |
| #######
 | |
| #  PREP
 | |
| #######
 | |
| %prep
 | |
| %setup -n Python-%{version}
 | |
| %patch0 -p1
 | |
| %patch1
 | |
| 
 | |
| ########
 | |
| #  BUILD
 | |
| ########
 | |
| %build
 | |
| ./configure %{ipv6} %{pymalloc} --prefix=%{__prefix}
 | |
| make
 | |
| 
 | |
| ##########
 | |
| #  INSTALL
 | |
| ##########
 | |
| %install
 | |
| #  set the install path
 | |
| echo '[install_scripts]' >setup.cfg
 | |
| echo 'install_dir='"${RPM_BUILD_ROOT}/usr/bin" >>setup.cfg
 | |
| 
 | |
| [ -d "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
 | |
| mkdir -p $RPM_BUILD_ROOT%{__prefix}/lib/python%{libvers}/lib-dynload
 | |
| make prefix=$RPM_BUILD_ROOT%{__prefix} install
 | |
| 
 | |
| #  REPLACE PATH IN PYDOC
 | |
| if [ ! -z "%{binsuffix}" ]
 | |
| then
 | |
|    (
 | |
|       cd $RPM_BUILD_ROOT%{__prefix}/bin
 | |
|       mv pydoc pydoc.old
 | |
|       sed 's|#!.*|#!/usr/bin/env python'%{binsuffix}'|' \
 | |
|             pydoc.old >pydoc
 | |
|       chmod 755 pydoc
 | |
|       rm -f pydoc.old
 | |
|    )
 | |
| fi
 | |
| 
 | |
| #  add the binsuffix
 | |
| if [ ! -z "%{binsuffix}" ]
 | |
| then
 | |
|    ( cd $RPM_BUILD_ROOT%{__prefix}/bin; rm -f python[0-9a-zA-Z]*;
 | |
|          mv -f python python"%{binsuffix}" )
 | |
|    ( cd $RPM_BUILD_ROOT%{__prefix}/man/man1; mv python.1 python%{binsuffix}.1 )
 | |
|    ( cd $RPM_BUILD_ROOT%{__prefix}/bin; mv -f pydoc pydoc"%{binsuffix}" )
 | |
| fi
 | |
| 
 | |
| ########
 | |
| #  Tools
 | |
| echo '#!/bin/bash' >${RPM_BUILD_ROOT}%{_bindir}/idle%{binsuffix}
 | |
| echo 'exec %{_prefix}/bin/python%{binsuffix} /usr/lib/python%{libvers}/Tools/idle/idle.py' >>$RPM_BUILD_ROOT%{_bindir}/idle%{binsuffix}
 | |
| chmod 755 $RPM_BUILD_ROOT%{_bindir}/idle%{binsuffix}
 | |
| cp -a Tools $RPM_BUILD_ROOT%{_prefix}/lib/python%{libvers}
 | |
| 
 | |
| #  MAKE FILE LISTS
 | |
| rm -f mainpkg.files
 | |
| find "$RPM_BUILD_ROOT""%{__prefix}"/lib/python%{libvers}/lib-dynload -type f |
 | |
| 	sed "s|^${RPM_BUILD_ROOT}|/|" |
 | |
| 	grep -v -e '_tkinter.so$' >mainpkg.files
 | |
| find "$RPM_BUILD_ROOT""%{__prefix}"/bin -type f |
 | |
| 	sed "s|^${RPM_BUILD_ROOT}|/|" |
 | |
| 	grep -v -e '/bin/idle%{binsuffix}$' >>mainpkg.files
 | |
| 
 | |
| rm -f tools.files
 | |
| find "$RPM_BUILD_ROOT""%{__prefix}"/lib/python%{libvers}/Tools -type f |
 | |
| 	sed "s|^${RPM_BUILD_ROOT}|/|" >tools.files
 | |
| echo "%{__prefix}"/bin/idle%{binsuffix} >>tools.files
 | |
| 
 | |
| ######
 | |
| # Docs
 | |
| mkdir -p "$RPM_BUILD_ROOT"/var/www/html/python
 | |
| (
 | |
|    cd "$RPM_BUILD_ROOT"/var/www/html/python
 | |
|    bunzip2 < %{SOURCE1} | tar x
 | |
| )
 | |
| mkdir -p "$RPM_BUILD_ROOT"/usr/share/info
 | |
| (
 | |
|    cd "$RPM_BUILD_ROOT"/usr/share/info
 | |
|    bunzip2 < %{SOURCE2} | tar x
 | |
| )
 | |
| 
 | |
| ########
 | |
| #  CLEAN
 | |
| ########
 | |
| %clean
 | |
| rm -fr $RPM_BUILD_ROOT
 | |
| rm -f mainpkg.files tools.files
 | |
| 
 | |
| ########
 | |
| #  FILES
 | |
| ########
 | |
| %files -f mainpkg.files
 | |
| %defattr(-,root,root)
 | |
| %doc Misc/README Misc/HYPE Misc/cheatsheet Misc/unicode.txt Misc/Porting
 | |
| %doc LICENSE Misc/ACKS Misc/BLURB.* Misc/HISTORY Misc/NEWS
 | |
| %{__prefix}/man/man1/python%{binsuffix}.1.gz
 | |
| 
 | |
| %dir %{__prefix}/include/python%{libvers}
 | |
| %dir %{__prefix}/lib/python%{libvers}/
 | |
| %{__prefix}/lib/python%{libvers}/*.txt
 | |
| %{__prefix}/lib/python%{libvers}/*.py*
 | |
| %{__prefix}/lib/python%{libvers}/pdb.doc
 | |
| %{__prefix}/lib/python%{libvers}/profile.doc
 | |
| %{__prefix}/lib/python%{libvers}/curses
 | |
| %{__prefix}/lib/python%{libvers}/distutils
 | |
| %{__prefix}/lib/python%{libvers}/encodings
 | |
| %dir %{__prefix}/lib/python%{libvers}/lib-old
 | |
| %{__prefix}/lib/python%{libvers}/plat-linux2
 | |
| %{__prefix}/lib/python%{libvers}/site-packages
 | |
| %{__prefix}/lib/python%{libvers}/test
 | |
| %{__prefix}/lib/python%{libvers}/xml
 | |
| %{__prefix}/lib/python%{libvers}/email
 | |
| %{__prefix}/lib/python%{libvers}/compiler
 | |
| 
 | |
| %files devel
 | |
| %defattr(-,root,root)
 | |
| %{__prefix}/include/python%{libvers}/*.h
 | |
| %{__prefix}/lib/python%{libvers}/config
 | |
| 
 | |
| %files -f tools.files tools
 | |
| %defattr(-,root,root)
 | |
| 
 | |
| %if %{include_tkinter}
 | |
| %files tkinter
 | |
| %defattr(-,root,root)
 | |
| %{__prefix}/lib/python%{libvers}/lib-tk
 | |
| %{__prefix}/lib/python%{libvers}/lib-dynload/_tkinter.so*
 | |
| %endif
 | |
| 
 | |
| %files docs
 | |
| %defattr(-,root,root)
 | |
| /var/www/html/python
 | |
| /usr/share/info
 | 
