summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorStefan Fritsch <sf@sfritsch.de>2012-02-16 02:47:54 +0100
committerStefan Fritsch <sf@sfritsch.de>2012-02-16 02:47:54 +0100
commit212cb6c2dcb419aaa6c848406136ec05e98c8632 (patch)
tree3c6f8cc25cde8781809bfeb92ebcadac341b1af4 /build
parente072a2dd866b7cb9f14319b80326a4e7fd16fcdf (diff)
downloadapache2-212cb6c2dcb419aaa6c848406136ec05e98c8632.tar.gz
Import upstream release candidate 2.4.1upstream/2.4.1
Diffstat (limited to 'build')
-rw-r--r--build/aix/README32
-rwxr-xr-xbuild/aix/aixproto.ksh78
-rwxr-xr-xbuild/aix/buildaix.ksh53
-rw-r--r--build/installwinconf.awk11
-rw-r--r--build/mkconfNW.awk2
-rw-r--r--build/rpm/httpd.spec.in36
-rw-r--r--build/rules.mk.in10
7 files changed, 199 insertions, 23 deletions
diff --git a/build/aix/README b/build/aix/README
new file mode 100644
index 00000000..8cc75a59
--- /dev/null
+++ b/build/aix/README
@@ -0,0 +1,32 @@
+The script buildaix.ksh will attempt to build a AIX installp fileset
+out of a source tree for httpd.
+
+REQUIREMENTS:
+fileset bos.adt.insttools
+
+RECOMMENDED:
+Toolbox filesets zlib and zlib-devel
+Toolbox fileset coreutils
+
+To build a package, make sure you are in the root of the source tree,
+and run:
+
+build/aix/buildaix.ksh
+
+## coming - argument to leave the DESTDIR results for manual
+## modifications to the template (to create seperate filesets)
+
+An AIX fileset named <PKG>.<NAME>.<version>.<architecture>.I will be
+created in the build/aix directory. Also included is the .template file.
+
+KNOWN issues:
+on AIX libtool is known to have issues with the install command.
+many of these issues can be resolved by inserting the GNU install command
+earlier in the PATH variable. Testing has shown that this may still
+have issues when installing to DESTDIR. To compensate for this
+the buildaix.ksh also does a "regular" make install before executing
+the make DESTDIR=$TEMPDIR install command
+
+TODO
+Add Apache LICENSE to fileset and require acceptance
+Add test for bos.adt.insttools at start of build script
diff --git a/build/aix/aixproto.ksh b/build/aix/aixproto.ksh
new file mode 100755
index 00000000..5c5c471a
--- /dev/null
+++ b/build/aix/aixproto.ksh
@@ -0,0 +1,78 @@
+#!/usr/bin/ksh
+TEMPDIR=$1
+BUILD=`pwd`
+. build/aix/pkginfo
+
+package=$PKG
+name=$NAME
+vrmf=$VERSION
+descr="$VENDOR $NAME for $ARCH"
+umask 022
+INFO=$BUILD/build/aix/.info
+mkdir -p $INFO
+
+template=${INFO}/${PKG}.${NAME}.${vrmf}.template
+>$template
+
+cd ${TEMPDIR}
+rm -rf .info lpp_name tmp
+# get the directory sizes in blocks
+for d in etc opt var
+do
+ set `du -s $d/${NAME}`
+ let sz$d=$1+1
+done
+set `du -s usr/share/man`
+szman=$1+1
+
+files=./httpd-root
+cd ${TEMPDIR}/..
+find ${files} -type d -exec chmod og+rx {} \;
+chmod -R go+r ${files}
+chown -R 0:0 ${files}
+
+cat - <<EOF >>$template
+Package Name: ${package}.${NAME}
+Package VRMF: ${vrmf}.0
+Update: N
+Fileset
+ Fileset Name: ${package}.${NAME}.rte
+ Fileset VRMF: ${vrmf}.0
+ Fileset Description: ${descr}
+ USRLIBLPPFiles
+ EOUSRLIBLPPFiles
+ Bosboot required: N
+ License agreement acceptance required: N
+ Include license files in this package: N
+ Requisites:
+ Upsize: /usr/share/man ${szman};
+ Upsize: /etc/${NAME} $szetc;
+ Upsize: /opt/${NAME} $szopt;
+ Upsize: /var/${NAME} $szvar;
+ USRFiles
+EOF
+
+find ${files} | sed -e s#^${files}## | sed -e "/^$/d" >>$template
+
+cat - <<EOF >>$template
+ EOUSRFiles
+ ROOT Part: N
+ ROOTFiles
+ EOROOTFiles
+ Relocatable: N
+EOFileset
+EOF
+
+cp ${template} ${BUILD}/build/aix
+
+# use mkinstallp to create the fileset. result is in ${TEMPDIR}/tmp
+mkinstallp -d ${TEMPDIR} -T ${template}
+
+cp ${TEMPDIR}/tmp/$PKG.$NAME.$VERSION.0.bff ${BUILD}/build/aix
+cd $BUILD/build/aix
+rm -f $PKG.$NAME.$VERSION.$ARCH.I
+mv $PKG.$NAME.$VERSION.0.bff $PKG.$NAME.$VERSION.$ARCH.I
+rm .toc
+inutoc .
+installp -d . -ap ${PKG}.${NAME}
+installp -d . -L
diff --git a/build/aix/buildaix.ksh b/build/aix/buildaix.ksh
new file mode 100755
index 00000000..a7caa6ba
--- /dev/null
+++ b/build/aix/buildaix.ksh
@@ -0,0 +1,53 @@
+#!/usr/bin/ksh
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You 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.
+#
+#
+
+# buildaix.ksh: This script builds an AIX fileset
+
+LAYOUT=AIX
+TEMPDIR=/var/tmp/$USER/httpd-root
+rm -rf $TEMPDIR
+
+## strange interaction between install and libtool requires a regular install
+## for all the links to succeed in the TEMPDIR
+## httpd-2.0 does not include ssl by default
+## will make a seperate build for that later
+
+> nohup.out
+./configure \
+ --enable-layout=$LAYOUT \
+ --enable-module=so \
+ --enable-proxy \
+ --enable-cache \
+ --enable-disk-cache \
+ --with-mpm=worker \
+ --enable-mods-shared=all | tee nohup.out
+
+make | tee -a nohup.out
+
+make install > install.log
+make install DESTDIR=$TEMPDIR
+
+# will make use of the pkginfo data as input for mkinstallp template
+cp build/aix/pkginfo $TEMPDIR
+
+## no seperate filesets for man pages, documents, etc.
+
+build/aix/aixproto.ksh $TEMPDIR
+
+# rm -rf $TEMPDIR
+ls -ltr build/aix | grep -i aix
diff --git a/build/installwinconf.awk b/build/installwinconf.awk
index 88cf46cf..4dc2cd1a 100644
--- a/build/installwinconf.awk
+++ b/build/installwinconf.awk
@@ -134,14 +134,17 @@ BEGIN {
print "#LoadModule file_cache_module modules/mod_file_cache.so" > dstfl;
print "#LoadModule filter_module modules/mod_filter.so" > dstfl;
print "#LoadModule headers_module modules/mod_headers.so" > dstfl;
+ print "#LoadModule heartbeat_module modules/mod_heartbeat.so" > dstfl;
+ print "#LoadModule heartmonitor_module modules/mod_heartmonitor.so" > dstfl;
print "#LoadModule ident_module modules/mod_ident.so" > dstfl;
print "#LoadModule imagemap_module modules/mod_imagemap.so" > dstfl;
print "LoadModule include_module modules/mod_include.so" > dstfl;
print "#LoadModule info_module modules/mod_info.so" > dstfl;
print "LoadModule isapi_module modules/mod_isapi.so" > dstfl;
- print "#LoadModule lbmethod_bybusyness_module mod_lbmethod_bybusyness.so" > dstfl;
- print "#LoadModule lbmethod_byrequests_module mod_lbmethod_byrequests.so" > dstfl;
- print "#LoadModule lbmethod_bytraffic_module mod_lbmethod_bytraffic.so" > dstfl;
+ print "#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so" > dstfl;
+ print "#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so" > dstfl;
+ print "#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so" > dstfl;
+ print "#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so" > dstfl;
print "#LoadModule ldap_module modules/mod_ldap.so" > dstfl;
print "#LoadModule logio_module modules/mod_logio.so" > dstfl;
print "LoadModule log_config_module modules/mod_log_config.so" > dstfl;
@@ -170,6 +173,7 @@ BEGIN {
print "#LoadModule sed_module modules/mod_sed.so" > dstfl;
print "#LoadModule session_module modules/mod_session.so" > dstfl;
print "#LoadModule session_cookie_module modules/mod_session_cookie.so" > dstfl;
+ print "#LoadModule session_crypto_module modules/mod_session_crypto.so" > dstfl;
print "#LoadModule session_dbd_module modules/mod_session_dbd.so" > dstfl;
print "LoadModule setenvif_module modules/mod_setenvif.so" > dstfl;
print "#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so" > dstfl;
@@ -186,6 +190,7 @@ BEGIN {
print "#LoadModule usertrack_module modules/mod_usertrack.so" > dstfl;
print "#LoadModule version_module modules/mod_version.so" > dstfl;
print "#LoadModule vhost_alias_module modules/mod_vhost_alias.so" > dstfl;
+ print "#LoadModule watchdog_module modules/mod_watchdog.so" > dstfl;
print "#LoadModule xml2enc_module modules/mod_xml2enc.so" > dstfl;
continue;
}
diff --git a/build/mkconfNW.awk b/build/mkconfNW.awk
index 4c40e827..a9be017c 100644
--- a/build/mkconfNW.awk
+++ b/build/mkconfNW.awk
@@ -88,6 +88,8 @@ BEGIN {
print "#LoadModule userdir_module modules/userdir.nlm"
print "#LoadModule vhost_alias_module modules/vhost.nlm"
if (MODSSL) {
+ print "#LoadModule socache_dbm_module modules/socachedbm.nlm"
+ print "#LoadModule socache_shmcb_module modules/socacheshmcb.nlm"
print "#LoadModule ssl_module modules/mod_ssl.nlm"
}
print ""
diff --git a/build/rpm/httpd.spec.in b/build/rpm/httpd.spec.in
index 0fe820b4..46eb8628 100644
--- a/build/rpm/httpd.spec.in
+++ b/build/rpm/httpd.spec.in
@@ -137,10 +137,6 @@ fi
# forcibly prevent use of bundled apr, apr-util, pcre
rm -rf srclib/{apr,apr-util,pcre}
-# Before configure; fix location of build dir in generated apxs
-%{__perl} -pi -e "s:\@exp_installbuilddir\@:%{_libdir}/httpd/build:g" \
- support/apxs.in
-
%configure \
--enable-layout=RPM \
--libdir=%{_libdir} \
@@ -160,7 +156,8 @@ rm -rf srclib/{apr,apr-util,pcre}
--enable-pie \
--with-pcre \
--enable-mods-shared=all \
- --enable-ssl --with-ssl --enable-socache-dc \
+ --enable-ssl --with-ssl --enable-socache-dc --enable-bucketeer \
+ --enable-case-filter --enable-case-filter-in \
--disable-imagemap
make %{?_smp_mflags}
@@ -332,9 +329,12 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/httpd/modules/mod_authz_owner.so
%{_libdir}/httpd/modules/mod_authz_user.so
%{_libdir}/httpd/modules/mod_autoindex.so
+%{_libdir}/httpd/modules/mod_bucketeer.so
%{_libdir}/httpd/modules/mod_buffer.so
%{_libdir}/httpd/modules/mod_cache_disk.so
%{_libdir}/httpd/modules/mod_cache.so
+%{_libdir}/httpd/modules/mod_case_filter.so
+%{_libdir}/httpd/modules/mod_case_filter_in.so
%{_libdir}/httpd/modules/mod_cgid.so
%{_libdir}/httpd/modules/mod_charset_lite.so
%{_libdir}/httpd/modules/mod_data.so
@@ -428,7 +428,6 @@ rm -rf $RPM_BUILD_ROOT
%attr(0700,apache,apache) %dir %{_localstatedir}/cache/httpd/cache-root
%{_mandir}/man1/*
-%{_mandir}/man8/ab*
%{_mandir}/man8/suexec*
%{_mandir}/man8/apachectl.8*
%{_mandir}/man8/httpd.8*
@@ -441,19 +440,19 @@ rm -rf $RPM_BUILD_ROOT
%files tools
%defattr(-,root,root)
-%{_sbindir}/ab
-%{_sbindir}/htdbm
-%{_sbindir}/htdigest
-%{_sbindir}/htpasswd
-%{_sbindir}/logresolve
-%{_sbindir}/httxt2dbm
+%{_bindir}/ab
+%{_bindir}/htdbm
+%{_bindir}/htdigest
+%{_bindir}/htpasswd
+%{_bindir}/logresolve
+%{_bindir}/httxt2dbm
%{_sbindir}/rotatelogs
-%{_mandir}/man1/dbmmanage.1*
%{_mandir}/man1/htdbm.1*
%{_mandir}/man1/htdigest.1*
%{_mandir}/man1/htpasswd.1*
-%{_mandir}/man8/ab.8*
-%{_mandir}/man8/logresolve.8*
+%{_mandir}/man1/httxt2dbm.1*
+%{_mandir}/man1/ab.1*
+%{_mandir}/man1/logresolve.1*
%{_mandir}/man8/rotatelogs.8*
%doc LICENSE NOTICE
@@ -488,11 +487,12 @@ rm -rf $RPM_BUILD_ROOT
%files devel
%defattr(-,root,root)
%{_includedir}/httpd
-%{_sbindir}/apxs
+%{_bindir}/apxs
%{_sbindir}/checkgid
-%{_sbindir}/dbmmanage
+%{_bindir}/dbmmanage
%{_sbindir}/envvars*
-%{_mandir}/man8/apxs.8*
+%{_mandir}/man1/dbmmanage.1*
+%{_mandir}/man1/apxs.1*
%dir %{_libdir}/httpd/build
%{_libdir}/httpd/build/*.mk
%{_libdir}/httpd/build/instdso.sh
diff --git a/build/rules.mk.in b/build/rules.mk.in
index 2bf16fe6..3dedb9a3 100644
--- a/build/rules.mk.in
+++ b/build/rules.mk.in
@@ -166,9 +166,15 @@ local-extraclean: local-distclean x-local-extraclean
fi
program-install: $(TARGETS) $(SHARED_TARGETS)
- @if test -n '$(PROGRAMS)'; then \
+ @if test -n '$(bin_PROGRAMS)'; then \
+ test -d $(DESTDIR)$(bindir) || $(MKINSTALLDIRS) $(DESTDIR)$(bindir); \
+ list='$(bin_PROGRAMS)'; for i in $$list; do \
+ $(INSTALL_PROGRAM) $$i $(DESTDIR)$(bindir); \
+ done; \
+ fi
+ @if test -n '$(sbin_PROGRAMS)'; then \
test -d $(DESTDIR)$(sbindir) || $(MKINSTALLDIRS) $(DESTDIR)$(sbindir); \
- list='$(PROGRAMS)'; for i in $$list; do \
+ list='$(sbin_PROGRAMS)'; for i in $$list; do \
$(INSTALL_PROGRAM) $$i $(DESTDIR)$(sbindir); \
done; \
fi