]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Add a build script to create a solaris package. (packaging build script: lazy
authorGraham Leggett <minfrin@apache.org>
Wed, 30 Mar 2005 11:00:06 +0000 (11:00 +0000)
committerGraham Leggett <minfrin@apache.org>
Wed, 30 Mar 2005 11:00:06 +0000 (11:00 +0000)
consensus)

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x@159475 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
STATUS
build/pkg/README [new file with mode: 0644]
build/pkg/buildpkg.sh [new file with mode: 0755]
build/pkg/pkginfo.in [new file with mode: 0644]
configure.in

diff --git a/CHANGES b/CHANGES
index 480ee17b550e335c228268b80b64e584fa3c3ca9..900704994b32396e7aed97316a729524e891990e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,7 @@
 Changes with Apache 2.0.54
 
+  *) Add a build script to create a solaris package. [Graham Leggett]
+
   *) worker MPM: Fix a problem which could cause httpd processes to
      remain active after shutdown.  [Jeff Trawick]
 
diff --git a/STATUS b/STATUS
index e63bdabd2c58cc650700571134fbfb7101d23eb2..850e0f0a621ebde3b75b21fcfaada9e2112ce86c 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -94,10 +94,6 @@ PATCHES TO BACKPORT FROM TRUNK:
     identify exactly what the proposed changes are! ]
   [ please append new backports at the end of this list not the top. ]
 
-    *) Add a build script to create a solaris package.
-       svn rev 124104
-       +1: minfrin, trawick
-
     *) util_ldap: Add the directive LDAPConnectionTimeout to control
        the socket timeout value when binding to an LDAP server
        svn rev 126565
diff --git a/build/pkg/README b/build/pkg/README
new file mode 100644 (file)
index 0000000..147c1f1
--- /dev/null
@@ -0,0 +1,16 @@
+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
+
diff --git a/build/pkg/buildpkg.sh b/build/pkg/buildpkg.sh
new file mode 100755 (executable)
index 0000000..8862014
--- /dev/null
@@ -0,0 +1,94 @@
+#!/bin/sh
+# Copyright 2000-2005 The Apache Software Foundation or its licensors, as
+# applicable.
+#
+# 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-config`
+apu_config=`which apu-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
+
diff --git a/build/pkg/pkginfo.in b/build/pkg/pkginfo.in
new file mode 100644 (file)
index 0000000..928dad4
--- /dev/null
@@ -0,0 +1,11 @@
+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"
+
index 24bd014d0041a83008a91a58c954eebee819f485..fffc863f4d8094a3c483e4067b84cd94879b294a 100644 (file)
@@ -579,7 +579,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
 ])