2 # Copyright (C) 2007-2011 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
13 PKG_SOURCE_NAME
:=httpd
15 PKG_SOURCE
:=$(PKG_SOURCE_NAME
)-$(PKG_VERSION
).
tar.bz2
16 PKG_SOURCE_URL
:=http
://ftp.uni-erlangen.de
/pub
/mirrors
/apache
/httpd
/ \
17 http
://apache.imsam.
info/httpd
/
18 PKG_MD5SUM
:=016cec97337eccead2aad6a7c27f2e14
20 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_SOURCE_NAME
)-$(PKG_VERSION
)
24 include $(INCLUDE_DIR
)/package.mk
26 define Package
/apache
/Default
29 SUBMENU
:=Web Servers
/Proxies
30 TITLE
:=The Apache Web Server
31 URL
:=http
://httpd.apache.org
/
34 define Package
/apache
/Default
/description
35 The Apache Web Server is a powerful and flexible HTTP
/1.1 compliant
36 web server. Originally designed
as a replacement for the NCSA HTTP
37 Server
, it has grown to be the most popular web server on the Internet.
41 $(call Package
/apache
/Default
)
42 DEPENDS
:=+libapr
+libaprutil
+libpcre
+libopenssl
45 define Package
/apache
/description
46 $(call Package
/apache
/Default
/description
)
48 This package contains the Apache web server and utility programs.
50 Take care that you don
't include apache at the moment into your image
51 please select it only as module because busybox will override
52 /usr/sbin/httpd. It'll be solved soon. If you need to
include this
53 package in the image anyway
, remove httpd from busybox
54 (Base system
--> Configuration
--> Networking Utilities
--> httpd
).
55 Also you should take care for the initscripts
, apache
's httpd isn't
56 compatible with the one from busybox
, so if you want to use apache
57 for running your webif
, you
'll need to change the parameters in the
58 scripts and configure the rest in /etc/httpd.conf.
61 define Package/apache/conffiles
62 /etc/apache/httpd.conf
63 /etc/apache/extra/httpd-autoindex.conf
64 /etc/apache/extra/httpd-dav.conf
65 /etc/apache/extra/httpd-default.conf
66 /etc/apache/extra/httpd-info.conf
67 /etc/apache/extra/httpd-languages.conf
68 /etc/apache/extra/httpd-manual.conf
69 /etc/apache/extra/httpd-mpm.conf
70 /etc/apache/extra/httpd-multilang-errordoc.conf
71 /etc/apache/extra/httpd-ssl.conf
72 /etc/apache/extra/httpd-userdir.conf
73 /etc/apache/extra/httpd-vhosts.conf
75 /etc/apache/mime.types
78 define Package/apache-icons
79 $(call Package/apache/Default)
80 TITLE:=Icons from Apache
84 define Package/apache-icons/description
85 $(call Package/apache/Default/description)
87 This package contains the icons from Apache.
90 TARGET_CFLAGS += $(FPIC)
91 TARGET_CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
93 define Build/Configure
94 $(call Build/Configure/Default, \
95 --with-apr="$(STAGING_DIR)/usr/bin/apr-1-config" \
96 --with-apr-util="$(STAGING_DIR)/usr/bin/apu-1-config" \
97 --with-pcre="$(STAGING_DIR)/usr/bin/pcre-config" \
101 --disable-disk-cache \
102 --enable-maintainer-mode \
103 --enable-mime-magic \
104 --without-suexec-bin \
105 --sysconfdir=/etc/apache \
106 ap_cv_void_ptr_lt_long=no \
107 logfiledir="/var/log" \
108 runtimedir="/var/run" \
112 define Build/InstallDev
113 rm -rf $(PKG_INSTALL_DIR)/usr/man/ \
114 $(PKG_INSTALL_DIR)/usr/share/manual/
115 # if you need docs take a look into the build-dir :)
116 $(INSTALL_DIR) $(1)/etc
117 $(CP) $(PKG_INSTALL_DIR)/etc/* \
119 $(INSTALL_DIR) $(1)/usr/include/apache
120 $(CP) $(PKG_INSTALL_DIR)/usr/include/* \
121 $(1)/usr/include/apache
122 $(INSTALL_DIR) $(1)/usr/lib
123 $(CP) $(PKG_INSTALL_DIR)/usr/lib/httpd.exp \
125 $(INSTALL_DIR) $(1)/usr/sbin
126 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/* \
128 $(INSTALL_DIR) $(1)/usr/share
129 $(CP) $(PKG_INSTALL_DIR)/usr/share/* \
133 define Package/apache/preinst
135 echo -e "You should take a look in the initscripts, busybox's httpd
\n\
136 uses some parameters which are maybe unsupported by apache.
"
139 define Package/apache/install
140 $(INSTALL_DIR) $(1)/usr/sbin
141 # we don't need apxs on the router, it's just for building apache modules.
142 $(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/
143 $(INSTALL_DIR) $(1)/usr/lib
144 $(CP) $(PKG_INSTALL_DIR)/usr/lib/httpd.exp $(1)/usr/lib/
145 $(INSTALL_DIR) $(1)/usr/share
146 $(CP) $(PKG_INSTALL_DIR)/usr/share/{error,htdocs,cgi-bin,build} $(1)/usr/share/
147 $(INSTALL_DIR) $(1)/etc/apache
148 $(CP) $(PKG_INSTALL_DIR)/etc/apache/{httpd.conf,magic,mime.types,extra} $(1)/etc/apache/
151 define Package/apache/postrm
152 rm -rf /usr/sbin/httpd
153 ln -s /bin/busybox /usr/sbin/httpd
154 echo -e "You may need to change your initscripts back for the use
\n\
155 with busybox
's httpd."
158 define Package/apache-icons/install
159 $(INSTALL_DIR) $(1)/usr/share
160 $(CP) $(PKG_INSTALL_DIR)/usr/share/icons $(1)/usr/share/
163 $(eval $(call BuildPackage,apache))
164 $(eval $(call BuildPackage,apache-icons))