Sophie

Sophie

distrib > Mageia > 6 > armv7hl > by-pkgid > 2565edbc681fc7a5855b8388d512eee3 > files > 24

perl-CGI-SpeedyCGI-2.220.0-15.mga6.armv7hl.rpm

#!/bin/sh -u

# Build binary package.  Calls system-specific build script

# Args passed in from the Makefile on the command-line
VERSION=$1
INSTALLBIN=$2
INSTALLSITELIB=$3
APACHE_VERSION=${4:-""}
APACHE_LIBEXECDIR=${5:-""}
APACHE_SYSCONFDIR=${6:-""}
MOD_SPEEDYCGI_DIR=${7:-""}

PREFIX=/usr
PM=src/SpeedyCGI.pm
URL="http://www.daemoninc.com/SpeedyCGI/"
MODULE_SRC="${MOD_SPEEDYCGI_DIR}/mod_speedycgi.so"
MODULE_DST="${APACHE_LIBEXECDIR}/mod_speedycgi.so"
STD_FILES="speedy/speedy:$INSTALLBIN/speedy speedy_backend/speedy_backend:$INSTALLBIN/speedy_backend ${PM}:$INSTALLSITELIB/CGI/SpeedyCGI.pm"
APACHE_FILES="${MODULE_SRC}:${MODULE_DST}"
PKGNM="speedycgi"
MODNM="apache$APACHE_VERSION"
PKGNM_PRETTY=SpeedyCGI
MODNM_PRETTY="SpeedyCGI Apache Module"
APACHE_DESC="Module to improve SpeedyCGI performance under Apache-$APACHE_VERSION"
HTTPD_CONF=$APACHE_SYSCONFDIR/httpd.conf
OUTDIR=binaries
VENDOR="Sam Horrocks"
COPYRIGHT="Copyright (C) `date +%Y` $VENDOR"
EMAIL=sam@daemoninc.com

# Set up our temp directory 
TMPDIR=/tmp/`basename $0`.$$
rm_tmp() {
    rm -rf $TMPDIR
}
adios() {
    if test $1 -eq 0; then
	rm_tmp
    else
	echo Leaving $TMPDIR intact for debugging purposes
    fi
    trap "" 0
    exit $*
}
trap "adios 1" 1 2 3 15
trap "adios $?" 0
rm_tmp

# Make directories
mkdir -p $TMPDIR $OUTDIR 2>/dev/null

# Get the description text out of the .pm file.
grab_description() {
    awk '
	/^=head1/ {if (doit) { exit} }
	{if (doit) {print}}
	/^=head1 DESCRIPTION/ {doit = 1}
    ' $PM
}

# Grab the summary text from the .pm file
grab_summary() {
    awk '
	/head1 NAME/ {in_name = 1}
	/^[A-z].*/ {
	    if (in_name) {
		for (i = 3; i <= NF; ++i) {
		    printf("%s ", $i);
		}
		print "";
		exit;
	    }
	}
    ' $PM
}

# Get source path from ":" file spec
file_source() {
    echo $* | awk '{
	for (i = 1; i <= NF; ++i) {
	    split($i, a, ":");
	    printf("%s%s", spc, a[1]);
	    spc = " ";
	}
    }'
}

# Get the destination path from ":" file spec
file_dest() {
    echo $* | awk '{
	for (i = 1; i <= NF; ++i) {
	    split($i, a, ":");
	    printf("%s%s", spc, a[2]);
	    spc = " ";
	}
    }'
}

# Copy files from source to dest under a temporary directory.
# If passed 1, then remove the prefix from the dest
copy_pkgfiles() {
    destdir=$1;		shift

    for f in $*; do
	src=`file_source $f`
        dest="${destdir}`file_dest $f`"
	mkdir -p `dirname $dest` 2>/dev/null
	cp -p $src $dest
    done
}

# Remove the install prefix from a full path name
remove_prefix() {
    sed -e "s|^${PREFIX}||" -e 's|^/||'
}

apache_update_file() {
    cat <<-'END'
    	apache_update_file() {
	    cmp $1 $2 >/dev/null 2>&1
	    if test $? -ne 0 -a -s $2; then
		mv -f $1 "$1.$3"
		mv -f $2 $1
		echo $1 was updated - please restart httpd
	    else
		rm -f $2
	    fi
	}
	END
}

# Create script to do apache install after package is installed
apache_install_script() {
    basedir=$1;		shift
    savesuffix=$1;	shift

    cat <<-END
	PREFIX=$PREFIX
	MODULE_DST=$MODULE_DST
	HTTPD_CONF=$HTTPD_CONF
	BASEDIR=$basedir
	SAVESUFFIX=$savesuffix
	APACHE_VERSION=$APACHE_VERSION
	END

    apache_update_file

    cat <<-'END'
	# Get relocated module
	MODULE_DST=`echo $MODULE_DST | sed "s|^${PREFIX}|${BASEDIR}|"`
	if test -w ${HTTPD_CONF}; then
	    (
		grep -v '^[^#].*Module.*mod_speedycgi.*' ${HTTPD_CONF}
		echo "LoadModule speedycgi_module $MODULE_DST"
		if test $APACHE_VERSION -lt 2; then
		    echo "AddModule mod_speedycgi.c"
		fi
	    ) >${HTTPD_CONF}.$$
	    apache_update_file ${HTTPD_CONF} ${HTTPD_CONF}.$$ $SAVESUFFIX
	else
	    echo ${HTTPD_CONF} could not be edited.  Please update it manually.
	fi
	END
}

# Create script to do apache install after package is installed
apache_uninstall_script() {
    cat <<-END
	HTTPD_CONF=${HTTPD_CONF}
	END

    apache_update_file

    cat <<-'END'
	if test -w ${HTTPD_CONF}; then
	    sed -e '/^LoadModule.*mod_speedycgi.so/d' \
		-e '/^AddModule.*mod_speedycgi/d' \
		${HTTPD_CONF} >${HTTPD_CONF}.$$
	    apache_update_file ${HTTPD_CONF} ${HTTPD_CONF}.$$ old
	fi
	END
}

# Put a description entry into the output directory for builing and index later
add_desc() {
    out=$1;		shift
    is_apache=$1;	shift
    os=$1;		shift
    arch=$1;		shift
    (
	echo OS=$os
	echo ARCH=$arch
	echo IS_APACHE=$is_apache
	for d in "$@"; do
	    echo DEPEND=$d
	done
    ) >${out}.desc
}

want_apache_package() {
    test -f $MOD_SPEEDYCGI_DIR/mod_speedycgi.so
}

# Call the script specific to this system to create the package
case "`uname -a`" in
*BSD*|*bsd*)
    . ./util/build_bsdpkg ;;
*SunOS*)
    . ./util/build_solpkg ;;
*)
    . ./util/build_rpms ;;
esac