Commit 9ebb7a22 authored by Graham Leggett's avatar Graham Leggett
Browse files

Add a build script to create a solaris package.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@124104 13f79535-47bb-0310-9956-ffa450edef68
parent b9d453ae
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -2,6 +2,8 @@ Changes with Apache 2.1.3
  [Remove entries to the current 2.0 section below, when backported]
  *) Add a build script to create a solaris package. [Graham Leggett]
  *) ap_http_scheme() replaced with ap_http_method() - this function
     returns the scheme (http v.s. https).
     [William Rowe]

build/pkg/README

0 → 100644
+16 −0
Original line number Diff line number Diff line
The script in this directory will attempt to build a Solaris package
out of a source tree for httpd.

To build a package, make sure you are in the root of the source tree,
and run:

build/pkg/buildpkg.sh

A Solaris package called httpd-<version>-<architecture>-local.gz will be
created in the root of the source tree.

By default, the script will attempt to find a system installed version of
APR and APR-util v1. You may override the location of apr or apr-util like so:

build/pkg/buildpkg.sh --with-apr=some/other/path --with-apr-util=some/other/path

build/pkg/buildpkg.sh

0 → 100755
+93 −0
Original line number Diff line number Diff line
#!/bin/sh
# Copyright 2000-2004 The Apache Software Foundation
# 
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#

# buildpkg.sh: This script builds a Solaris PKG from the source tree
#              provided.

LAYOUT=Apache
PREFIX=/usr/local/apache2
TEMPDIR=/var/tmp/$USER/httpd-root
rm -rf $TEMPDIR

apr_config=`which apr-1-config`
apu_config=`which apu-1-config`

while test $# -gt 0 
do
  # Normalize
  case "$1" in
  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
  *) optarg= ;;
  esac

  case "$1" in
  --with-apr=*)
  apr_config=$optarg
  ;;
  esac

  case "$1" in
  --with-apr-util=*)
  apu_config=$optarg
  ;;
  esac

  shift
done

if [ ! -f $apr_config -a ! -f $apr_config/configure.in ]; then
  echo "The apr source directory / apr-1-config could not be found"
  echo "Usage: buildpkg [--with-apr=[dir|file]] [--with-apr-util=[dir|file]]"
  exit 1
fi

if [ ! -f $apu_config -a ! -f $apu_config/configure.in ]; then
  echo "The apu source directory / apu-1-config could not be found"
  echo "Usage: buildpkg [--with-apr=[dir|file]] [--with-apr-util=[dir|file]]"
  exit 1
fi

./configure --enable-layout=$LAYOUT \
            --with-apr=$apr_config \
            --with-apr-util=$apu_config \
            --enable-mods-shared=all \
            --with-devrandom \
            --with-ldap --enable-ldap --enable-authnz-ldap \
            --enable-cache --enable-disk-cache --enable-mem-cache \
            --enable-ssl --with-ssl \
            --enable-deflate --enable-cgid \
            --enable-proxy --enable-proxy-connect \
            --enable-proxy-http --enable-proxy-ftp

make
make install DESTDIR=$TEMPDIR
. build/pkg/pkginfo
cp build/pkg/pkginfo $TEMPDIR$PREFIX

current=`pwd`
cd $TEMPDIR$PREFIX
echo "i pkginfo=./pkginfo" > prototype
find . -print | grep -v ./prototype | grep -v ./pkginfo | pkgproto | awk '{print $1" "$2" "$3" "$4" root bin"}' >> prototype
mkdir $TEMPDIR/pkg
pkgmk -r $TEMPDIR$PREFIX -d $TEMPDIR/pkg

cd $current
pkgtrans -s $TEMPDIR/pkg $current/$NAME-$VERSION-$ARCH-local
gzip $current/$NAME-$VERSION-$ARCH-local

rm -rf $TEMPDIR

build/pkg/pkginfo.in

0 → 100644
+11 −0
Original line number Diff line number Diff line
PKG="ASFhttpd"
NAME="httpd"
ARCH="@target_cpu@"
VERSION="@HTTPD_VERSION@"
CATEGORY="application"
VENDOR="Apache Software Foundation"
EMAIL="dev@httpd.apache.org"
PSTAMP="dev@httpd.apache.org"
BASEDIR="@prefix@"
CLASSES="none"
+5 −1
Original line number Diff line number Diff line
@@ -583,7 +583,11 @@ AC_SUBST(ap_make_delimiter)
dnl Ensure that docs/conf is created.
test -d docs/conf||$mkdir_p docs/conf

AC_OUTPUT($APACHE_OUTPUT_FILES docs/conf/httpd-std.conf docs/conf/ssl-std.conf include/ap_config_layout.h support/apxs support/apachectl support/dbmmanage support/envvars-std support/log_server_status support/logresolve.pl support/phf_abuse_log.cgi support/split-logfile build/rules.mk,[true],[
dnl Ensure that the httpd version is included
HTTPD_VERSION=`build/get-version.sh all include/ap_release.h AP_SERVER`
AC_SUBST(HTTPD_VERSION)

AC_OUTPUT($APACHE_OUTPUT_FILES docs/conf/httpd-std.conf docs/conf/ssl-std.conf include/ap_config_layout.h support/apxs support/apachectl support/dbmmanage support/envvars-std support/log_server_status support/logresolve.pl support/phf_abuse_log.cgi support/split-logfile build/rules.mk build/pkg/pkginfo,[true],[
  APACHE_GEN_MAKEFILES
])