fix multi-packages builds, cleanup
git-svn-id: svn://svn.openwrt.org/openwrt/packages@8677 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@ -12,161 +12,178 @@ PKG_NAME:=mini-httpd
|
|||||||
PKG_VERSION:=1.19
|
PKG_VERSION:=1.19
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/mini_httpd-$(PKG_VERSION)
|
|
||||||
PKG_SOURCE:=mini_httpd-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=mini_httpd-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=http://www.acme.com/software/mini_httpd/
|
PKG_SOURCE_URL:=http://www.acme.com/software/mini_httpd/
|
||||||
PKG_MD5SUM:=792a529dfe974355aad8ba6c80e54e7a
|
PKG_MD5SUM:=792a529dfe974355aad8ba6c80e54e7a
|
||||||
PKG_CAT:=zcat
|
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/mini_httpd-$(PKG_VERSION)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
define Package/mini-httpd
|
define Package/mini-httpd/Default
|
||||||
SECTION:=net
|
SECTION:=net
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
TITLE:=A small web server
|
TITLE:=A small web server
|
||||||
DESCRIPTION:=mini_httpd is a small HTTP server. Its performance is not great, but for \\\
|
|
||||||
low or medium traffic sites it's quite adequate. It implements all the \\\
|
|
||||||
basic features of an HTTP server, including: \\\
|
|
||||||
\\\
|
|
||||||
* GET, HEAD, and POST methods.\\\
|
|
||||||
* CGI.\\\
|
|
||||||
* Basic authentication.\\\
|
|
||||||
* Security against ".." filename snooping.\\\
|
|
||||||
* The common MIME types.\\\
|
|
||||||
* Trailing-slash redirection.\\\
|
|
||||||
* index.html, index.htm, index.cgi\\\
|
|
||||||
* Directory listings.\\\
|
|
||||||
* Multihoming / virtual hosting.\\\
|
|
||||||
* Standard logging.\\\
|
|
||||||
* Custom error pages.\\\
|
|
||||||
\\\
|
|
||||||
It can also be configured to do IPv6.
|
|
||||||
URL:=http://www.acme.com/software/mini_httpd/
|
URL:=http://www.acme.com/software/mini_httpd/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/mini-httpd/conffiles
|
define Package/mini-httpd/Default/conffiles
|
||||||
/etc/mini_httpd.conf
|
/etc/mini_httpd.conf
|
||||||
/etc/default/mini_httpd
|
/etc/default/mini_httpd
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/mini-httpd-htpasswd
|
define Package/mini-httpd/Default/description
|
||||||
$(call Package/mini-httpd)
|
mini_httpd is a small HTTP server. Its performance is not great, but for
|
||||||
TITLE:=Utility to generate HTTP access files
|
low or medium traffic sites it's quite adequate. It implements all the
|
||||||
DESCRIPTION+=This package generates .htaccess/.htpasswd files to use HTTP access authentication
|
basic features of an HTTP server, including:
|
||||||
|
- GET, HEAD, and POST methods
|
||||||
|
- CGI
|
||||||
|
- Basic authentication
|
||||||
|
- Security against ".." filename snooping
|
||||||
|
- The common MIME types
|
||||||
|
- Trailing-slash redirection
|
||||||
|
- index.html, index.htm, index.cgi
|
||||||
|
- Directory listings
|
||||||
|
- Multihoming / virtual hosting
|
||||||
|
- Standard logging
|
||||||
|
- Custom error pages
|
||||||
|
It can also be configured to do IPv6.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/mini-httpd
|
||||||
|
$(call Package/mini-httpd/Default)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/mini-httpd/conffiles
|
||||||
|
$(call Package/mini-httpd/Default/conffiles)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/mini-httpd/description
|
||||||
|
$(call Package/mini-httpd/Default/description)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/mini-httpd-matrixssl
|
define Package/mini-httpd-matrixssl
|
||||||
$(call Package/mini-httpd)
|
$(call Package/mini-httpd/Default)
|
||||||
DEPENDS:=+libmatrixssl
|
DEPENDS:= +libmatrixssl
|
||||||
TITLE:=A small web server, built with SSL support using MatrixSSL
|
TITLE+= (built with MatrixSSL)
|
||||||
DESCRIPTION+=This package adds SSL/HTTPS. (MatrixSSL)
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/mini-httpd-matrixssl/conffiles
|
define Package/mini-httpd-matrixssl/conffiles
|
||||||
/etc/mini_httpd.conf
|
$(call Package/mini-httpd/Default/conffiles)
|
||||||
/etc/mini_httpd.pem
|
/etc/mini_httpd.pem
|
||||||
/etc/default/mini_httpd
|
endef
|
||||||
|
|
||||||
|
define Package/mini-httpd-matrixssl/description
|
||||||
|
$(call Package/mini-httpd/Default/description)
|
||||||
|
This package is built with SSL/HTTPS using MatrixSSL.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/mini-httpd-openssl
|
define Package/mini-httpd-openssl
|
||||||
$(call Package/mini-httpd)
|
$(call Package/mini-httpd/Default)
|
||||||
DEPENDS:=+libopenssl
|
DEPENDS:= +libopenssl
|
||||||
TITLE:=A small web server, built with SSL support using OpenSSL
|
TITLE+= (built with OpenSSL)
|
||||||
DESCRIPTION+=This package adds SSL/HTTPS. (OpenSSL)
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/mini-httpd-openssl/conffiles
|
define Package/mini-httpd-openssl/conffiles
|
||||||
/etc/mini_httpd.conf
|
$(call Package/mini-httpd/Default/conffiles)
|
||||||
/etc/mini_httpd.pem
|
/etc/mini_httpd.pem
|
||||||
/etc/default/mini_httpd
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
ifneq ($(SDK),)
|
define Package/mini-httpd-openssl/description
|
||||||
CONFIG_PACKAGE_mini-httpd:=m
|
$(call Package/mini-httpd/Default/description)
|
||||||
CONFIG_PACKAGE_mini-httpd-matrixssl:=m
|
This package is built with SSL/HTTPS using OpenSSL.
|
||||||
CONFIG_PACKAGE_mini-httpd-openssl:=m
|
endef
|
||||||
endif
|
|
||||||
|
|
||||||
define Build/Configure
|
define Package/mini-httpd-htpasswd
|
||||||
|
$(call Package/mini-httpd/Default)
|
||||||
|
TITLE:=Utility to generate HTTP access files
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/mini-httpd-htpasswd/description
|
||||||
|
$(call Package/mini-httpd/Default/description)
|
||||||
|
This package generates .htaccess/.htpasswd files to use HTTP access authentication.
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
define Build/Template
|
||||||
|
|
||||||
|
$(STAMP_BUILT)-$(2): $(STAMP_PREPARED)
|
||||||
|
-$(MAKE) -C $(PKG_BUILD_DIR) clean
|
||||||
|
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||||
|
$(TARGET_CONFIGURE_OPTS) \
|
||||||
|
OFLAGS="$(TARGET_CFLAGS)" \
|
||||||
|
$(3) \
|
||||||
|
all
|
||||||
|
( cd $(PKG_BUILD_DIR); mv -f mini_httpd mini_httpd-$(2) )
|
||||||
|
touch $$@
|
||||||
|
|
||||||
|
$(STAMP_BUILT): $(STAMP_BUILT)-$(2)
|
||||||
|
|
||||||
|
define Package/$(1)/install
|
||||||
|
$(INSTALL_DIR) $$(1)/etc
|
||||||
|
ifeq ($(2),without-ssl)
|
||||||
|
$(INSTALL_DATA) ./files/mini_httpd.conf $$(1)/etc/mini_httpd.conf
|
||||||
|
else
|
||||||
|
$(INSTALL_DATA) ./files/mini_httpd-ssl.conf $$(1)/etc/mini_httpd.conf
|
||||||
|
$(INSTALL_CONF) ./files/mini_httpd.pem $$(1)/etc/mini_httpd.pem
|
||||||
|
endif
|
||||||
|
$(INSTALL_DIR) $$(1)/etc/default
|
||||||
|
$(INSTALL_DATA) ./files/mini_httpd.default $$(1)/etc/default/mini_httpd
|
||||||
|
$(INSTALL_DIR) $$(1)/etc/init.d
|
||||||
|
$(INSTALL_BIN) ./files/mini_httpd.init $$(1)/etc/init.d/mini_httpd
|
||||||
|
$(INSTALL_DIR) $$(1)/usr/sbin
|
||||||
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mini_httpd-$(2) $$(1)/usr/sbin/mini_httpd
|
||||||
|
endef
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
define Build/Prepare
|
||||||
|
$(call Build/Prepare/Default)
|
||||||
$(CP) ./files/matrixssl_helper.{c,h} $(PKG_BUILD_DIR)/
|
$(CP) ./files/matrixssl_helper.{c,h} $(PKG_BUILD_DIR)/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Build/Compile
|
define Build/Configure
|
||||||
# with MatrixSSL
|
|
||||||
ifneq ($(CONFIG_PACKAGE_mini-httpd-matrixssl),)
|
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
|
||||||
$(TARGET_CONFIGURE_OPTS) \
|
|
||||||
OFLAGS="$(TARGET_CFLAGS)" \
|
|
||||||
SSL_DEFS="-DUSE_SSL -DHAVE_MATRIXSSL" \
|
|
||||||
SSL_INC="-I$(STAGING_DIR)/usr/include" \
|
|
||||||
SSL_LIBS="-L$(STAGING_DIR)/usr/lib -lmatrixssl" \
|
|
||||||
SSL_OBJS="matrixssl_helper.o" \
|
|
||||||
all
|
|
||||||
(cd $(PKG_BUILD_DIR); mv mini_httpd mini_httpd-matrixssl; )
|
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR) clean
|
|
||||||
endif
|
|
||||||
# with OpenSSL
|
|
||||||
ifneq ($(CONFIG_PACKAGE_mini-httpd-openssl),)
|
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
|
||||||
$(TARGET_CONFIGURE_OPTS) \
|
|
||||||
OFLAGS="$(TARGET_CFLAGS)" \
|
|
||||||
SSL_DEFS="-DUSE_SSL -DHAVE_OPENSSL" \
|
|
||||||
SSL_INC="-I$(STAGING_DIR)/usr/include" \
|
|
||||||
SSL_LIBS="-L$(STAGING_DIR)/usr/lib -lssl -lcrypto" \
|
|
||||||
all
|
|
||||||
(cd $(PKG_BUILD_DIR); mv mini_httpd mini_httpd-openssl; )
|
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR) clean
|
|
||||||
endif
|
|
||||||
# without SSL
|
|
||||||
ifneq ($(CONFIG_PACKAGE_mini-httpd),)
|
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
|
||||||
$(TARGET_CONFIGURE_OPTS) \
|
|
||||||
OFLAGS="$(TARGET_CFLAGS)" \
|
|
||||||
all
|
|
||||||
endif
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/mini-httpd/install
|
define Build/Compile
|
||||||
$(INSTALL_DIR) $(1)/etc
|
|
||||||
$(INSTALL_DATA) ./files/mini_httpd.conf $(1)/etc/mini_httpd.conf
|
|
||||||
$(INSTALL_DIR) $(1)/etc/default
|
|
||||||
$(INSTALL_DATA) ./files/mini_httpd.default $(1)/etc/default/mini_httpd
|
|
||||||
$(INSTALL_DIR) $(1)/etc/init.d
|
|
||||||
$(INSTALL_BIN) ./files/mini_httpd.init $(1)/etc/init.d/mini_httpd
|
|
||||||
$(INSTALL_DIR) $(1)/usr/sbin
|
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mini_httpd $(1)/usr/sbin/mini_httpd
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
# always build without SSL because we might need htpassd
|
||||||
|
define Build/without-ssl
|
||||||
|
$(call Build/Template,minit-httpd,without-ssl,)
|
||||||
|
endef
|
||||||
|
$(eval $(Build/without-ssl))
|
||||||
|
|
||||||
|
ifneq ($(SDK)$(CONFIG_PACKAGE_mini-httpd-matrixssl),)
|
||||||
|
define Build/with-matrixssl
|
||||||
|
$(call Build/Template,mini-httpd-matrixssl,with-matrixssl, \
|
||||||
|
SSL_DEFS="-DUSE_SSL -DHAVE_MATRIXSSL" \
|
||||||
|
SSL_INC="$(TARGET_CPPFLAGS)" \
|
||||||
|
SSL_LIBS="$(TARGET_LDFLAGS) -lmatrixssl" \
|
||||||
|
SSL_OBJS="matrixssl_helper.o" \
|
||||||
|
)
|
||||||
|
endef
|
||||||
|
endif
|
||||||
|
$(eval $(Build/with-matrixssl))
|
||||||
|
|
||||||
|
ifneq ($(SDK)$(CONFIG_PACKAGE_mini-httpd-openssl),)
|
||||||
|
define Build/with-openssl
|
||||||
|
$(call Build/Template,minit-httpd-openssl,with-openssl, \
|
||||||
|
SSL_DEFS="-DUSE_SSL -DHAVE_OPENSSL" \
|
||||||
|
SSL_INC="$(TARGET_CPPFLAGS)" \
|
||||||
|
SSL_LIBS="$(TARGET_LDFLAGS) -lcrypto -lssl" \
|
||||||
|
)
|
||||||
|
endef
|
||||||
|
endif
|
||||||
|
$(eval $(Build/with-openssl))
|
||||||
|
|
||||||
define Package/mini-httpd-htpasswd/install
|
define Package/mini-httpd-htpasswd/install
|
||||||
$(INSTALL_DIR) $(1)/usr/sbin
|
$(INSTALL_DIR) $(1)/usr/sbin
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/htpasswd $(1)/usr/sbin/
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/htpasswd $(1)/usr/sbin/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/mini-httpd-matrixssl/install
|
|
||||||
$(INSTALL_DIR) $(1)/etc
|
|
||||||
$(INSTALL_DATA) ./files/mini_httpd-ssl.conf $(1)/etc/mini_httpd.conf
|
|
||||||
$(INSTALL_CONF) ./files/mini_httpd.pem $(1)/etc/mini_httpd.pem
|
|
||||||
$(INSTALL_DIR) $(1)/etc/default
|
|
||||||
$(INSTALL_DATA) ./files/mini_httpd.default $(1)/etc/default/mini_httpd
|
|
||||||
$(INSTALL_DIR) $(1)/etc/init.d
|
|
||||||
$(INSTALL_BIN) ./files/mini_httpd.init $(1)/etc/init.d/mini_httpd
|
|
||||||
$(INSTALL_DIR) $(1)/usr/sbin
|
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mini_httpd-matrixssl $(1)/usr/sbin/mini_httpd
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/mini-httpd-openssl/install
|
|
||||||
$(INSTALL_DIR) $(1)/etc
|
|
||||||
$(INSTALL_DATA) ./files/mini_httpd-ssl.conf $(1)/etc/mini_httpd.conf
|
|
||||||
$(INSTALL_CONF) ./files/mini_httpd.pem $(1)/etc/mini_httpd.pem
|
|
||||||
$(INSTALL_DIR) $(1)/etc/default
|
|
||||||
$(INSTALL_DATA) ./files/mini_httpd.default $(1)/etc/default/mini_httpd
|
|
||||||
$(INSTALL_DIR) $(1)/etc/init.d
|
|
||||||
$(INSTALL_BIN) ./files/mini_httpd.init $(1)/etc/init.d/mini_httpd
|
|
||||||
$(INSTALL_DIR) $(1)/usr/sbin
|
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mini_httpd-openssl $(1)/usr/sbin/mini_httpd
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(eval $(call BuildPackage,mini-httpd))
|
$(eval $(call BuildPackage,mini-httpd))
|
||||||
$(eval $(call BuildPackage,mini-httpd-htpasswd))
|
|
||||||
$(eval $(call BuildPackage,mini-httpd-matrixssl))
|
$(eval $(call BuildPackage,mini-httpd-matrixssl))
|
||||||
$(eval $(call BuildPackage,mini-httpd-openssl))
|
$(eval $(call BuildPackage,mini-httpd-openssl))
|
||||||
|
$(eval $(call BuildPackage,mini-httpd-htpasswd))
|
||||||
|
Reference in New Issue
Block a user