[oe] [meta-webserver][PATCH 2/6] apache2: add from OE-Classic
Paul Eggleton
paul.eggleton at linux.intel.com
Mon Oct 1 16:14:54 UTC 2012
No modifications in this commit (apart from not copying some unneeded
files).
Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
---
.../apache2/apache2-2.2.17/server-makefile-patch | 11 ++
.../recipes-httpd/apache2/apache2-native_2.2.17.bb | 44 ++++++++
.../recipes-httpd/apache2/apache2_2.2.17.bb | 119 ++++++++++++++++++++
meta-webserver/recipes-httpd/apache2/files/init | 70 ++++++++++++
4 files changed, 244 insertions(+)
create mode 100644 meta-webserver/recipes-httpd/apache2/apache2-2.2.17/server-makefile-patch
create mode 100644 meta-webserver/recipes-httpd/apache2/apache2-native_2.2.17.bb
create mode 100644 meta-webserver/recipes-httpd/apache2/apache2_2.2.17.bb
create mode 100755 meta-webserver/recipes-httpd/apache2/files/init
diff --git a/meta-webserver/recipes-httpd/apache2/apache2-2.2.17/server-makefile-patch b/meta-webserver/recipes-httpd/apache2/apache2-2.2.17/server-makefile-patch
new file mode 100644
index 0000000..f1349cb
--- /dev/null
+++ b/meta-webserver/recipes-httpd/apache2/apache2-2.2.17/server-makefile-patch
@@ -0,0 +1,11 @@
+--- http-2.0.54/server/Makefile.in-old 2005-12-20 13:26:56.000000000 -0500
++++ http-2.0.54/server/Makefile.in 2005-12-20 13:27:22.000000000 -0500
+@@ -27,7 +27,7 @@
+ $(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS)
+
+ test_char.h: gen_test_char
+- ./gen_test_char > test_char.h
++ gen_test_char > test_char.h
+
+ util.lo: test_char.h
+
diff --git a/meta-webserver/recipes-httpd/apache2/apache2-native_2.2.17.bb b/meta-webserver/recipes-httpd/apache2/apache2-native_2.2.17.bb
new file mode 100644
index 0000000..66b326d
--- /dev/null
+++ b/meta-webserver/recipes-httpd/apache2/apache2-native_2.2.17.bb
@@ -0,0 +1,44 @@
+SECTION = "net"
+DEPENDS = "expat pcre"
+
+inherit native
+
+PR = "r0"
+SRC_URI = "http://www.apache.org/dist/httpd/httpd-${PV}.tar.bz2"
+
+S = "${WORKDIR}/httpd-${PV}"
+
+do_configure () {
+ ./configure --with-included-apr --prefix=${prefix}
+}
+
+do_install () {
+ install -d ${D}${bindir} ${D}${libdir}
+ cp server/gen_test_char ${D}${bindir}
+ cp srclib/apr/apr-1-config ${D}${bindir}
+ cp srclib/apr-util/apu-1-config ${D}${bindir}
+ cp support/apxs ${D}${bindir}
+ chmod 755 ${D}${bindir}/apxs
+ install -d ${D}/usr/build
+ cp build/*.mk ${D}/usr/build
+ cp build/instdso.sh ${D}/usr/build
+ cp .libs/httpd ${D}${bindir}
+
+ (cd srclib/apr/.libs; tar -cf - libapr-*.so* ) |
+ (cd ${D}${libdir}; tar -xf - )
+ (cd srclib/apr-util/.libs; tar -cf - libaprutil-*.so* ) |
+ (cd ${D}${libdir}; tar -xf - )
+
+ install -d ${D}${includedir}/apache2
+ cp include/* ${D}${includedir}/apache2
+ cp os/unix/os.h ${D}${includedir}/apache2
+ cp os/unix/unixd.h ${D}${includedir}/apache2
+
+ cp support/envvars-std ${D}${bindir}/envvars
+ chmod 755 ${D}${bindir}/envvars
+}
+
+NATIVE_INSTALL_WORKS = "1"
+
+SRC_URI[md5sum] = "16eadc59ea6b38af33874d300973202e"
+SRC_URI[sha256sum] = "868af11e3ed8fa9aade15241ea4f51971b3ef71104292ca2625ef2065e61fb04"
diff --git a/meta-webserver/recipes-httpd/apache2/apache2_2.2.17.bb b/meta-webserver/recipes-httpd/apache2/apache2_2.2.17.bb
new file mode 100644
index 0000000..13012a7
--- /dev/null
+++ b/meta-webserver/recipes-httpd/apache2/apache2_2.2.17.bb
@@ -0,0 +1,119 @@
+SECTION = "net"
+DESCRIPTION = "The apache v2 web server"
+DEPENDS = "libtool-native apache2-native openssl expat pcre apr apr-util"
+RDEPENDS_${PN} += "openssl"
+
+PR = "r0"
+
+SRC_URI = "http://apache.mirrors.tds.net/httpd/httpd-${PV}.tar.bz2 \
+ file://apr-sockets-patch;apply=yes \
+ file://configure-patch;apply=yes \
+ file://server-makefile-patch;apply=yes \
+ file://configure.in.patch \
+ file://apr.h.in.patch \
+ file://init"
+
+#
+# over-ride needed since apache unpacks into httpd
+#
+S = "${WORKDIR}/httpd-${PV}"
+
+#
+# implications - autotools defines suitable do_configure, do_install, etc.
+# update-rc.d adds hooks for rc-update.
+#
+#
+inherit autotools update-rc.d
+
+#
+# implications - used by update-rc.d scripts
+#
+INITSCRIPT_NAME = "apache2"
+INITSCRIPT_PARAMS = "defaults 91 20"
+LEAD_SONAME = "libapr-1.so.0"
+
+CONFFILES_${PN} = "${sysconfdir}/${PN}/httpd.conf \
+ ${sysconfdir}/${PN}/magic \
+ ${sysconfdir}/${PN}/mime.types \
+ ${sysconfdir}/init.d/${PN} "
+
+PACKAGES = "${PN}-doc ${PN}-dev ${PN}-dbg ${PN}"
+
+# we override here rather than append so that .so links are
+# included in the runtime package rather than here (-dev)
+# and to get build, icons, error into the -dev package
+FILES_${PN}-dev = "${datadir}/${PN}/build \
+ ${datadir}/${PN}/icons \
+ ${datadir}/${PN}/error \
+ ${bindir}/apr-config ${bindir}/apu-config \
+ ${libdir}/apr*.exp \
+ ${includedir}/${PN} \
+ ${libdir}/*.la \
+ ${libdir}/*.a"
+
+# manual to manual
+FILES_${PN}-doc += " ${datadir}/${PN}/manual"
+
+#
+# override this too - here is the default, less datadir
+#
+FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir}/lib*.so.* ${sysconfdir} \
+ ${sharedstatedir} ${localstatedir} /bin /sbin /lib/*.so* \
+ ${libdir}/${PN}"
+
+# we want htdocs and cgi-bin to go with the binary
+FILES_${PN} += "${datadir}/${PN}/htdocs ${datadir}/${PN}/cgi-bin"
+
+#make sure the lone .so links also get wrapped in the base package
+FILES_${PN} += " ${libdir}/lib*.so ${libdir}/pkgconfig/*"
+
+CFLAGS_append = " -DPATH_MAX=4096"
+CFLAGS_prepend = "-I${STAGING_INCDIR}/openssl "
+EXTRA_OECONF = "--enable-ssl \
+ --with-ssl=${STAGING_LIBDIR}/.. \
+ --with-expat=${STAGING_LIBDIR}/.. \
+ --with-pcre=${STAGING_LIBDIR}/.. \
+ --with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
+ --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \
+ --enable-info \
+ --enable-rewrite \
+ --with-dbm=sdbm \
+ --with-berkeley-db=no \
+ --localstatedir=/var/${PN} \
+ --with-gdbm=no \
+ --with-ndbm=no \
+ --includedir=${includedir}/${PN} \
+ --datadir=${datadir}/${PN} \
+ --sysconfdir=${sysconfdir}/${PN} \
+ ap_cv_void_ptr_lt_long=no \
+ "
+
+#
+# here we over-ride the autotools provided do_configure.
+#
+
+do_configure_prepend() {
+ sed -e 's,libtool libtool15,${HOST_SYS}-libtool libtool115,' -i ${S}/srclib/apr/build/buildcheck.sh
+}
+
+do_compile_prepend() {
+ ln -sf ${S}/srclib/apr/${HOST_SYS}-libtool ${S}/srclib/apr/libtool
+}
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/init.d
+ cat ${WORKDIR}/init | \
+ sed -e 's,/usr/sbin/,${sbindir}/,g' \
+ -e 's,/usr/bin/,${bindir}/,g' \
+ -e 's,/usr/lib,${libdir}/,g' \
+ -e 's,/etc/,${sysconfdir}/,g' \
+ -e 's,/usr/,${prefix}/,g' > ${D}/${sysconfdir}/init.d/${PN}
+ chmod 755 ${D}/${sysconfdir}/init.d/${PN}
+# remove the goofy original files...
+ rm -rf ${D}/${sysconfdir}/${PN}/original
+# Expat should be found in the staging area via DEPENDS...
+ rm -f ${D}/${libdir}/libexpat.*
+}
+
+SRC_URI[md5sum] = "16eadc59ea6b38af33874d300973202e"
+SRC_URI[sha256sum] = "868af11e3ed8fa9aade15241ea4f51971b3ef71104292ca2625ef2065e61fb04"
diff --git a/meta-webserver/recipes-httpd/apache2/files/init b/meta-webserver/recipes-httpd/apache2/files/init
new file mode 100755
index 0000000..eb57f66
--- /dev/null
+++ b/meta-webserver/recipes-httpd/apache2/files/init
@@ -0,0 +1,70 @@
+#!/bin/sh
+ARGS="-D SSL -k start"
+NAME=apache2
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+DAEMON=/usr/sbin/httpd
+SUEXEC=/usr/lib/apache/suexec
+PIDFILE=/var/run/$NAME.pid
+CONF=/etc/apache2/httpd.conf
+APACHECTL=/usr/sbin/apachectl
+
+trap "" 1
+export LANG=C
+export PATH
+
+test -f $DAEMON || exit 0
+test -f $APACHECTL || exit 0
+
+# ensure we don't leak environment vars into apachectl
+APACHECTL="env -i LANG=${LANG} PATH=${PATH} $APACHECTL"
+
+if egrep -q -i "^[[:space:]]*ServerType[[:space:]]+inet" $CONF
+then
+ exit 0
+fi
+
+case "$1" in
+ start)
+ echo -n "Starting web server: $NAME"
+ start-stop-daemon --start --quiet --background --exec $DAEMON -- $ARGS
+ ;;
+
+ stop)
+ echo -n "Stopping web server: $NAME"
+ start-stop-daemon --stop --signal 3 --quiet --exec $DAEMON
+ ;;
+
+ reload)
+ echo -n "Reloading $NAME configuration"
+ start-stop-daemon --stop --signal 1 --quiet --exec $DAEMON
+ ;;
+
+ reload-modules)
+ echo -n "Reloading $NAME modules"
+ $0 stop
+ $0 start
+ ;;
+
+ restart)
+ $0 reload-modules
+ exit $?
+ ;;
+
+ force-reload)
+ $0 reload-modules
+ exit $?
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|stop|reload|reload-modules|force-reload|restart}"
+ exit 1
+ ;;
+esac
+
+if [ $? = 0 ]; then
+ echo .
+ exit 0
+else
+ echo failed
+ exit 1
+fi
--
1.7.9.5
More information about the Openembedded-devel
mailing list