scripts/rpmbuild-glpk
author kpeter
Wed, 05 Dec 2007 13:03:19 +0000
changeset 2535 716024e7c080
parent 2237 5674a5983e1e
permissions -rwxr-xr-x
Redesigned CapacityScaling algorithm with almost the same interface.
The new version does not use the ResidualGraphAdaptor for performance reasons.
Scaling can be enabled and disabled with a parameter of the run() function.
     1 #!/bin/bash
     2 
     3 case $# in
     4     1)
     5 	RELEASE=1
     6 	;;
     7     2)
     8 	RELEASE=$2
     9 	;;
    10     *)
    11 	echo "Usage: rpmbuild-glpk tarfile [release]"
    12 	;;	
    13 esac
    14 
    15 
    16 ORIGTAR=$1
    17 VERSION=`echo ${ORIGTAR/.tar.gz}|tr - ' '|awk '{print $(NF)}'`
    18 
    19 echo "GLPK VERSION: $VERSION"
    20 echo "     RELEASE: $RELEASE"
    21 
    22 
    23 set -e
    24 
    25 function make-dir () {
    26     if [ ! -d $1 ]; then
    27 	mkdir $1
    28     fi
    29 }
    30 
    31 rm -rf glpk-tmp
    32 make-dir glpk-tmp
    33 
    34 cd glpk-tmp
    35 
    36 tar xzf $ORIGTAR
    37 
    38 echo 'Summary: GNU Linear Programming toolKit
    39 Name: glpk
    40 Version: '${VERSION}'
    41 Release: '${RELEASE}'
    42 License: GPL
    43 URL: http://www.gnu.org/software/glpk/glpk.html
    44 Source0: %{name}-%{version}.tar.gz
    45 Group: Development/Libraries
    46 BuildRoot: %{_tmppath}/%{name}-root
    47 Provides: glpk = '${VERSION}-${RELEASE}'
    48 Provides: glpk-devel = '${VERSION}-${RELEASE}'
    49 
    50 %description
    51 The GLPK package is a set of routines written in ANSI C and organized
    52 in the form of a callable library. This package is intended for solving
    53 large-scale linear programming (LP), mixed integer linear programming
    54 (MIP), and other related problems.
    55 
    56 The GLPK package includes the following main components:
    57 
    58 * implementation of the simplex method;
    59 * implementation of the primal-dual interior-point method;
    60 * implementation of the branch-and-bound method;
    61 * application program interface (API);
    62 * GNU MathProg modeling language (a subset of AMPL);
    63 * GLPSOL, a stand-alone LP/MIP solver.
    64 
    65 See GLPK webpage <http://www.gnu.org/software/glpk/glpk.html>.
    66 
    67 %prep
    68 %setup -q
    69 
    70 %build
    71 %configure
    72 make
    73 
    74 %install
    75 rm -rf $RPM_BUILD_ROOT
    76 make DESTDIR=$RPM_BUILD_ROOT install
    77 
    78 %clean
    79 rm -rf $RPM_BUILD_ROOT
    80 
    81 %post -p /sbin/ldconfig
    82 
    83 %postun -p /sbin/ldconfig
    84 
    85 %files
    86 %defattr(-,root,root)
    87 %{_bindir}/glpsol
    88 %{_includedir}
    89 %{_libdir}/lib*
    90 %doc AUTHORS COPYING NEWS README
    91 '>glpk-${VERSION}/glpk.spec
    92 
    93 tar czf glpk-${VERSION}.tar.gz glpk-${VERSION}
    94 rpmbuild -ta glpk-${VERSION}.tar.gz
    95 
    96 cd ..
    97 rm -rf glpk-tmp