lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

Makefile (5385B)


      1 #
      2 # Copyright (C) 2007-2015 OpenWrt.org
      3 #
      4 # This is free software, licensed under the GNU General Public License v2.
      5 # See /LICENSE for more information.
      6 #
      7 
      8 include $(TOPDIR)/rules.mk
      9 
     10 PKG_NAME:=apache
     11 PKG_VERSION:=2.4.25
     12 PKG_RELEASE:=1
     13 PKG_SOURCE_NAME:=httpd
     14 PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
     15 PKG_LICENSE:=Apache License
     16 
     17 PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.bz2
     18 PKG_SOURCE_URL:=@APACHE/httpd/
     19 PKG_MD5SUM:=2826f49619112ad5813c0be5afcc7ddb
     20 
     21 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_NAME)-$(PKG_VERSION)
     22 
     23 PKG_INSTALL:=1
     24 
     25 include $(INCLUDE_DIR)/package.mk
     26 
     27 define Package/apache/Default
     28   SECTION:=net
     29   CATEGORY:=Network
     30   SUBMENU:=Web Servers/Proxies
     31   TITLE:=The Apache Web Server
     32   URL:=http://httpd.apache.org/
     33 endef
     34 
     35 define Package/apache/Default/description
     36  The Apache Web Server is a powerful and flexible HTTP/1.1 compliant
     37  web server.  Originally designed as a replacement for the NCSA HTTP
     38  Server, it has grown to be the most popular web server on the Internet.
     39 endef
     40 
     41 define Package/apache
     42 $(call Package/apache/Default)
     43   DEPENDS:=+libapr +libaprutil +libpcre +libopenssl +unixodbc 
     44 endef
     45 
     46 define Package/apache/description
     47 $(call Package/apache/Default/description)
     48  .
     49  This package contains the Apache web server and utility programs.
     50  .
     51  Take care that you don't include apache at the moment into your image
     52  please select it only as module because busybox will override
     53  /usr/sbin/httpd. It'll be solved soon. If you need to include this
     54  package in the image anyway, remove httpd from busybox
     55  (Base system --> Configuration --> Networking Utilities --> httpd).
     56  Also you should take care for the initscripts, apache's httpd isn't
     57  compatible with the one from busybox, so if you want to use apache
     58  for running your webif, you'll need to change the parameters in the
     59  scripts and configure the rest in /etc/httpd.conf.
     60 endef
     61 
     62 define Package/apache/conffiles
     63 /etc/apache/httpd.conf
     64 /etc/apache/extra/httpd-autoindex.conf
     65 /etc/apache/extra/httpd-dav.conf
     66 /etc/apache/extra/httpd-default.conf
     67 /etc/apache/extra/httpd-info.conf
     68 /etc/apache/extra/httpd-languages.conf
     69 /etc/apache/extra/httpd-manual.conf
     70 /etc/apache/extra/httpd-mpm.conf
     71 /etc/apache/extra/httpd-multilang-errordoc.conf
     72 /etc/apache/extra/httpd-ssl.conf
     73 /etc/apache/extra/httpd-userdir.conf
     74 /etc/apache/extra/httpd-vhosts.conf
     75 /etc/apache/magic
     76 /etc/apache/mime.types
     77 endef
     78 
     79 define Package/apache-icons
     80 $(call Package/apache/Default)
     81   TITLE:=Icons from Apache
     82   DEPENDS:=apache
     83 endef
     84 
     85 define Package/apache-icons/description
     86 $(call Package/apache/Default/description)
     87  .
     88  This package contains the icons from Apache.
     89 endef
     90 
     91 TARGET_CFLAGS += $(FPIC)
     92 TARGET_CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
     93 TARGET_LDFLAGS += -lpthread 
     94 
     95 define Build/Configure
     96 	$(call Build/Configure/Default, \
     97 		--with-apr="$(STAGING_DIR)/usr/bin/apr-1-config" \
     98 		--with-apr-util="$(STAGING_DIR)/usr/bin/apu-1-config" \
     99 		--with-pcre="$(STAGING_DIR)/usr/bin/pcre-config" \
    100 		--enable-http \
    101 		--with-crypto \
    102 		--with-sqlit3="$(STAGING_DIR)/usr" \
    103 		--with-openssl="$(STAGING_DIR)/usr" \
    104 		--enable-ssl \
    105 		--enable-proxy \
    106 		--disable-disk-cache \
    107 		--enable-maintainer-mode \
    108 		--with-mpm=prefork \
    109 		--with-mpm=worker \
    110 		--enable-mime-magic \
    111 		--without-suexec-bin \
    112 		--sysconfdir=/etc/apache \
    113 		ap_cv_void_ptr_lt_long=no \
    114 		logfiledir="/var/log" \
    115 		runtimedir="/var/run" \
    116 		EXTRA_LIBS="-ldl -lpthread -lcrypto -lrt -lssl" \
    117 	)
    118 endef
    119 
    120 define Build/InstallDev
    121 	rm -rf	$(PKG_INSTALL_DIR)/usr/man/ \
    122 		$(PKG_INSTALL_DIR)/usr/share/manual/
    123 	# if you need docs take a look into the build-dir :)
    124 	$(INSTALL_DIR) $(1)/etc
    125 	$(CP)   $(PKG_INSTALL_DIR)/etc/* \
    126 		$(1)/etc
    127 	$(INSTALL_DIR) $(1)/usr/include/apache
    128 	$(CP)	$(PKG_INSTALL_DIR)/usr/include/* \
    129 		$(1)/usr/include/apache
    130 	$(INSTALL_DIR) $(1)/usr/lib
    131 	$(CP)   $(PKG_INSTALL_DIR)/usr/lib/httpd.exp \
    132 		$(1)/usr/lib
    133 	$(INSTALL_DIR) $(1)/usr/sbin
    134 	$(CP)   $(PKG_INSTALL_DIR)/usr/sbin/* \
    135 		$(1)/usr/sbin
    136 	$(INSTALL_DIR) $(1)/usr/share
    137 	$(CP)   $(PKG_INSTALL_DIR)/usr/share/* \
    138 		$(1)/usr/share
    139 endef
    140 
    141 define Package/apache/preinst
    142 	rm /usr/sbin/httpd
    143 	echo -e "You should take a look in the initscripts, busybox's httpd \n\
    144 	uses some parameters which are maybe unsupported by apache."
    145 endef
    146 
    147 define Package/apache/install
    148 	$(INSTALL_DIR) $(1)/usr/sbin
    149 	# we don't need apxs on the router, it's just for building apache modules.
    150 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{ab,dbmmanage,htdbm,htdigest,htpasswd,httxt2dbm,logresolve} $(1)/usr/sbin/
    151 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/{apachectl,checkgid,envvars,envvars-std,htcacheclean,httpd,rotatelogs} $(1)/usr/sbin/
    152 	$(INSTALL_DIR) $(1)/usr/lib
    153 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/httpd.exp $(1)/usr/lib/
    154 	$(INSTALL_DIR) $(1)/usr/share
    155 	$(CP) $(PKG_INSTALL_DIR)/usr/share/{error,htdocs,cgi-bin,build} $(1)/usr/share/
    156 	$(INSTALL_DIR) $(1)/etc/apache
    157 	$(CP) $(PKG_INSTALL_DIR)/etc/apache/{httpd.conf,magic,mime.types,extra} $(1)/etc/apache/
    158 endef
    159 
    160 define Package/apache/postrm
    161 	rm -rf /usr/sbin/httpd
    162 	ln -s /bin/busybox /usr/sbin/httpd
    163 	echo -e "You may need to change your initscripts back for the use \n\
    164 		with busybox's httpd."
    165 endef
    166 
    167 define Package/apache-icons/install
    168 	$(INSTALL_DIR) $(1)/usr/share
    169 	$(CP) $(PKG_INSTALL_DIR)/usr/share/icons $(1)/usr/share/
    170 endef
    171 
    172 $(eval $(call BuildPackage,apache))
    173 $(eval $(call BuildPackage,apache-icons))