apache: import from oldpackages, add myself as maintainer, add license
authorThomas Heil <heil@terminal-consulting.de>
Sat, 12 Jul 2014 11:40:35 +0000 (13:40 +0200)
committerThomas Heil <heil@terminal-consulting.de>
Sat, 12 Jul 2014 11:40:35 +0000 (13:40 +0200)
information, update source-url update to v2.2.27

Signed-off-by: Thomas Heil <heil@terminal-consulting.de>
net/apache/Makefile [new file with mode: 0644]
net/apache/patches/001-Makefile_in.patch [new file with mode: 0644]
net/apache/patches/002-test_char_h.patch [new file with mode: 0644]
net/apache/patches/003-logdir_fix.patch [new file with mode: 0644]
net/apache/patches/004-pidfile_fix.patch [new file with mode: 0644]
net/apache/patches/005-httpd_conf.patch [new file with mode: 0644]

diff --git a/net/apache/Makefile b/net/apache/Makefile
new file mode 100644 (file)
index 0000000..8b9a25f
--- /dev/null
@@ -0,0 +1,166 @@
+#
+# Copyright (C) 2007-2011 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=apache
+PKG_VERSION:=2.2.27
+PKG_RELEASE:=1
+PKG_SOURCE_NAME:=httpd
+PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
+PKG_LICENSE:=Apache License
+
+PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=http://mirrors.ibiblio.org/apache/httpd/ \
+               http://apache.imsam.info/httpd/
+PKG_MD5SUM:=8faef0decf3fa7e69b2568eb2105a3d8
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_NAME)-$(PKG_VERSION)
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/apache/Default
+  SECTION:=net
+  CATEGORY:=Network
+  SUBMENU:=Web Servers/Proxies
+  TITLE:=The Apache Web Server
+  URL:=http://httpd.apache.org/
+endef
+
+define Package/apache/Default/description
+ The Apache Web Server is a powerful and flexible HTTP/1.1 compliant
+ web server.  Originally designed as a replacement for the NCSA HTTP
+ Server, it has grown to be the most popular web server on the Internet.
+endef
+
+define Package/apache
+$(call Package/apache/Default)
+  DEPENDS:=+libapr +libaprutil +libpcre +libopenssl +unixodbc
+endef
+
+define Package/apache/description
+$(call Package/apache/Default/description)
+ .
+ This package contains the Apache web server and utility programs.
+ .
+ Take care that you don't include apache at the moment into your image
+ please select it only as module because busybox will override
+ /usr/sbin/httpd. It'll be solved soon. If you need to include this
+ package in the image anyway, remove httpd from busybox
+ (Base system --> Configuration --> Networking Utilities --> httpd).
+ Also you should take care for the initscripts, apache's httpd isn't
+ compatible with the one from busybox, so if you want to use apache
+ for running your webif, you'll need to change the parameters in the
+ scripts and configure the rest in /etc/httpd.conf.
+endef
+
+define Package/apache/conffiles
+/etc/apache/httpd.conf
+/etc/apache/extra/httpd-autoindex.conf
+/etc/apache/extra/httpd-dav.conf
+/etc/apache/extra/httpd-default.conf
+/etc/apache/extra/httpd-info.conf
+/etc/apache/extra/httpd-languages.conf
+/etc/apache/extra/httpd-manual.conf
+/etc/apache/extra/httpd-mpm.conf
+/etc/apache/extra/httpd-multilang-errordoc.conf
+/etc/apache/extra/httpd-ssl.conf
+/etc/apache/extra/httpd-userdir.conf
+/etc/apache/extra/httpd-vhosts.conf
+/etc/apache/magic
+/etc/apache/mime.types
+endef
+
+define Package/apache-icons
+$(call Package/apache/Default)
+  TITLE:=Icons from Apache
+  DEPENDS:=apache
+endef
+
+define Package/apache-icons/description
+$(call Package/apache/Default/description)
+ .
+ This package contains the icons from Apache.
+endef
+
+TARGET_CFLAGS += $(FPIC)
+TARGET_CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
+
+define Build/Configure
+       $(call Build/Configure/Default, \
+               --with-apr="$(STAGING_DIR)/usr/bin/apr-1-config" \
+               --with-apr-util="$(STAGING_DIR)/usr/bin/apu-1-config" \
+               --with-pcre="$(STAGING_DIR)/usr/bin/pcre-config" \
+               --enable-http \
+               --enable-ssl \
+               --enable-proxy \
+               --disable-disk-cache \
+               --enable-maintainer-mode \
+               --enable-mime-magic \
+               --without-suexec-bin \
+               --sysconfdir=/etc/apache \
+               ap_cv_void_ptr_lt_long=no \
+               logfiledir="/var/log" \
+               runtimedir="/var/run" \
+       )
+endef
+
+define Build/InstallDev
+       rm -rf  $(PKG_INSTALL_DIR)/usr/man/ \
+               $(PKG_INSTALL_DIR)/usr/share/manual/
+       # if you need docs take a look into the build-dir :)
+       $(INSTALL_DIR) $(1)/etc
+       $(CP)   $(PKG_INSTALL_DIR)/etc/* \
+               $(1)/etc
+       $(INSTALL_DIR) $(1)/usr/include/apache
+       $(CP)   $(PKG_INSTALL_DIR)/usr/include/* \
+               $(1)/usr/include/apache
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP)   $(PKG_INSTALL_DIR)/usr/lib/httpd.exp \
+               $(1)/usr/lib
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(CP)   $(PKG_INSTALL_DIR)/usr/sbin/* \
+               $(1)/usr/sbin
+       $(INSTALL_DIR) $(1)/usr/share
+       $(CP)   $(PKG_INSTALL_DIR)/usr/share/* \
+               $(1)/usr/share
+endef
+
+define Package/apache/preinst
+       rm /usr/sbin/httpd
+       echo -e "You should take a look in the initscripts, busybox's httpd \n\
+       uses some parameters which are maybe unsupported by apache."
+endef
+
+define Package/apache/install
+       $(INSTALL_DIR) $(1)/usr/sbin
+       # we don't need apxs on the router, it's just for building apache modules.
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/{ab,apachectl,checkgid,dbmmanage,envvars,envvars-std,htcacheclean,htdbm,htdigest,htpasswd,httpd,httxt2dbm,logresolve,rotatelogs} $(1)/usr/sbin/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/httpd.exp $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/share
+       $(CP) $(PKG_INSTALL_DIR)/usr/share/{error,htdocs,cgi-bin,build} $(1)/usr/share/
+       $(INSTALL_DIR) $(1)/etc/apache
+       $(CP) $(PKG_INSTALL_DIR)/etc/apache/{httpd.conf,magic,mime.types,extra} $(1)/etc/apache/
+endef
+
+define Package/apache/postrm
+       rm -rf /usr/sbin/httpd
+       ln -s /bin/busybox /usr/sbin/httpd
+       echo -e "You may need to change your initscripts back for the use \n\
+               with busybox's httpd."
+endef
+
+define Package/apache-icons/install
+       $(INSTALL_DIR) $(1)/usr/share
+       $(CP) $(PKG_INSTALL_DIR)/usr/share/icons $(1)/usr/share/
+endef
+
+$(eval $(call BuildPackage,apache))
+$(eval $(call BuildPackage,apache-icons))
diff --git a/net/apache/patches/001-Makefile_in.patch b/net/apache/patches/001-Makefile_in.patch
new file mode 100644 (file)
index 0000000..0bccfd3
--- /dev/null
@@ -0,0 +1,14 @@
+--- a/server/Makefile.in
++++ b/server/Makefile.in
+@@ -26,7 +26,10 @@ gen_test_char: $(gen_test_char_OBJECTS)
+       $(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS)
+ test_char.h: gen_test_char
+-      ./gen_test_char > test_char.h
++      true
++#     ./gen_test_char > test_char.h
++#     doesn't matter if you run it on the buildhost or on an wl500gd,
++#     same output on both, so i just patched in the test_char.h :).
+ util.lo: test_char.h
diff --git a/net/apache/patches/002-test_char_h.patch b/net/apache/patches/002-test_char_h.patch
new file mode 100644 (file)
index 0000000..e8ea3cd
--- /dev/null
@@ -0,0 +1,26 @@
+--- /dev/null
++++ b/server/test_char.h
+@@ -0,0 +1,23 @@
++/* this file is automatically generated by gen_test_char, do not edit */
++#define T_ESCAPE_SHELL_CMD     (1)
++#define T_ESCAPE_PATH_SEGMENT  (2)
++#define T_OS_ESCAPE_PATH       (4)
++#define T_HTTP_TOKEN_STOP      (8)
++#define T_ESCAPE_LOGITEM       (16)
++#define T_ESCAPE_FORENSIC      (32)
++
++static const unsigned char test_char_table[256] = {
++    32,62,62,62,62,62,62,62,62,62,63,62,62,62,62,62,62,62,62,62,
++    62,62,62,62,62,62,62,62,62,62,62,62,14,0,23,6,1,38,1,1,
++    9,9,1,0,8,0,0,10,0,0,0,0,0,0,0,0,0,0,40,15,
++    15,8,15,15,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
++    0,0,0,0,0,0,0,0,0,0,0,15,31,15,7,0,7,0,0,0,
++    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
++    0,0,0,15,39,15,1,62,54,54,54,54,54,54,54,54,54,54,54,54,
++    54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,
++    54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,
++    54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,
++    54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,
++    54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,
++    54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
++};
diff --git a/net/apache/patches/003-logdir_fix.patch b/net/apache/patches/003-logdir_fix.patch
new file mode 100644 (file)
index 0000000..635c65c
--- /dev/null
@@ -0,0 +1,33 @@
+--- a/build/mkconfNW.awk
++++ b/build/mkconfNW.awk
+@@ -24,7 +24,7 @@ BEGIN {
+     A["sysconfdir"] = "conf"
+     A["iconsdir"] = "icons"
+     A["manualdir"] = "manual"
+-    A["runtimedir"] = "logs"
++    A["runtimedir"] = "log"
+     A["errordir"] = "error"
+     A["proxycachedir"] = "proxy"
+--- a/config.layout
++++ b/config.layout
+@@ -28,8 +28,8 @@
+     cgidir:        ${datadir}/cgi-bin
+     includedir:    ${prefix}/include
+     localstatedir: ${prefix}
+-    runtimedir:    ${localstatedir}/logs
+-    logfiledir:    ${localstatedir}/logs
++    runtimedir:    ${localstatedir}/log
++    logfiledir:    ${localstatedir}/log
+     proxycachedir: ${localstatedir}/proxy
+ </Layout>
+@@ -150,7 +150,7 @@
+     includedir:    ${prefix}/include
+     localstatedir: /var${prefix}
+     runtimedir:    ${localstatedir}/run
+-    logfiledir:    ${localstatedir}/logs
++    logfiledir:    ${localstatedir}/log
+     proxycachedir: ${localstatedir}/proxy
+ </Layout>
diff --git a/net/apache/patches/004-pidfile_fix.patch b/net/apache/patches/004-pidfile_fix.patch
new file mode 100644 (file)
index 0000000..e9f0b6d
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/include/scoreboard.h
++++ b/include/scoreboard.h
+@@ -42,7 +42,7 @@ extern "C" {
+ /* Scoreboard file, if there is one */
+ #ifndef DEFAULT_SCOREBOARD
+-#define DEFAULT_SCOREBOARD "logs/apache_runtime_status"
++#define DEFAULT_SCOREBOARD "log/apache_runtime_status"
+ #endif
+ /* Scoreboard info on a process is, for now, kept very brief --- 
diff --git a/net/apache/patches/005-httpd_conf.patch b/net/apache/patches/005-httpd_conf.patch
new file mode 100644 (file)
index 0000000..60f0dca
--- /dev/null
@@ -0,0 +1,60 @@
+--- a/docs/conf/httpd.conf.in
++++ b/docs/conf/httpd.conf.in
+@@ -51,7 +51,6 @@ Listen @@Port@@
+ # Example:
+ # LoadModule foo_module modules/mod_foo.so
+ #
+-@@LoadModule@@
+ <IfModule !mpm_netware_module>
+ <IfModule !mpm_winnt_module>
+@@ -63,8 +62,8 @@ Listen @@Port@@
+ # It is usually good practice to create a dedicated user and group for
+ # running httpd, as with most system services.
+ #
+-User daemon
+-Group daemon
++User nobody
++Group nogroup
+ </IfModule>
+ </IfModule>
+@@ -191,7 +190,7 @@ ErrorLog "@rel_logfiledir@/error_log"
+ # Possible values include: debug, info, notice, warn, error, crit,
+ # alert, emerg.
+ #
+-LogLevel warn
++LogLevel debug
+ <IfModule log_config_module>
+     #
+@@ -336,7 +335,7 @@ DefaultType text/plain
+ # contents of the file itself to determine its type.  The MIMEMagicFile
+ # directive tells the module where the hint definitions are located.
+ #
+-#MIMEMagicFile @rel_sysconfdir@/magic
++MIMEMagicFile @rel_sysconfdir@/magic
+ #
+ # Customizable error responses come in three flavors:
+@@ -358,7 +357,7 @@ DefaultType text/plain
+ # broken on your system.
+ #
+ #EnableMMAP off
+-#EnableSendfile off
++EnableSendfile off
+ # Supplemental configuration
+ #
+@@ -404,7 +403,7 @@ DefaultType text/plain
+ #       starting without SSL on platforms with no /dev/random equivalent
+ #       but a statically compiled-in mod_ssl.
+ #
+-<IfModule ssl_module>
+-SSLRandomSeed startup builtin
+-SSLRandomSeed connect builtin
+-</IfModule>
++#<IfModule ssl_module>
++#SSLRandomSeed startup builtin
++#SSLRandomSeed connect builtin
++#</IfModule>