Message ID | 1358206327-28381-1-git-send-email-gilles.talis@gmail.com |
---|---|
State | Accepted |
Headers | show |
>>>>> "gilles" == gilles talis <gilles.talis@gmail.com> writes:
gilles> From: Gilles Talis <gilles.talis@gmail.com>
gilles> Httping is like 'ping' but for http-requests.
gilles> Give it an url, and it'll show you how long it takes to connect,
gilles> send a request and retrieve the reply (only the headers)
Thanks, committed with minor changes (see below).
gilles> +++ b/package/httping/Config.in
gilles> @@ -0,0 +1,23 @@
gilles> +config BR2_PACKAGE_HTTPING
gilles> + bool "httping"
gilles> + help
gilles> + Httping is like 'ping' but for http-requests.
gilles> + Give it an url, and it'll show you how long it takes to connect,
gilles> + send a request and retrieve the reply (only the headers).
gilles> + Be aware that the transmission across the network also takes time!
gilles> + So it measures the latency of the webserver + network.
gilles> +
gilles> + http://www.vanheusden.com/httping/
gilles> +
gilles> +if BR2_PACKAGE_HTTPING
gilles> +
gilles> +config BR2_PACKAGE_HTTPING_OPENSSL
gilles> + bool "OpenSSL support"
gilles> + select BR2_PACKAGE_OPENSSL
gilles> + help
gilles> + Adds openSSL support to httping
We normally automatically add openssl support if the openssl package is
enabled, so I've dropped this option.
gilles> +
gilles> +config BR2_PACKAGE_HTTPING_TFO
gilles> + bool "TCP Fast Open (TFO) support"
The TFO option seems to add very little overhead, so I think we could
have just always enabled it, but OK.
gilles> +++ b/package/httping/httping.mk
gilles> @@ -0,0 +1,37 @@
gilles> +#############################################################
gilles> +#
gilles> +# httping
gilles> +#
gilles> +#############################################################
gilles> +HTTPING_VERSION = 1.5.7
We normally have an empty line before _VERSION.
gilles> +HTTPING_SOURCE = httping-$(HTTPING_VERSION).tgz
gilles> +HTTPING_SITE = http://www.vanheusden.com/httping
gilles> +HTTPING_LICENSE = GPLv2
gilles> +HTTPING_LICENSE_FILES = license.txt
gilles> +
gilles> +ifeq ($(BR2_PACKAGE_HTTPING_OPENSSL),y)
gilles> + HTTPING_DEPENDENCIES = openssl
gilles> +else
gilles> + HTTPING_SSL = no
gilles> +endif
gilles> +
gilles> +ifeq ($(BR2_PACKAGE_HTTPING_TFO),y)
gilles> + HTTPING_TFO = yes
gilles> +endif
gilles> +
gilles> +define HTTPING_BUILD_CMDS
gilles> + $(MAKE) $(TARGET_CONFIGURE_OPTS) \
gilles> + SSL=$(HTTPING_SSL) \
gilles> + DEBUG=no \
gilles> + TFO=$(HTTPING_TFO) -C $(@D)
gilles> +endef
We normally indent the lines inside defines with <tabs> to be consistent
with make rules. I've cleaned this up a bit while changing the openssl
handling.
gilles> +
gilles> +define HTTPING_INSTALL_TARGET_CMDS
gilles> + $(INSTALL) -D -m 0755 $(@D)/httping $(TARGET_DIR)/usr/bin/httping
Upstream has a working 'make install', so I changed it to use that
instead.
diff --git a/package/Config.in b/package/Config.in index 42cde07..c59f342 100644 --- a/package/Config.in +++ b/package/Config.in @@ -631,6 +631,7 @@ source "package/ethtool/Config.in" source "package/heirloom-mailx/Config.in" source "package/hiawatha/Config.in" source "package/hostapd/Config.in" +source "package/httping/Config.in" if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS source "package/ifplugd/Config.in" endif diff --git a/package/httping/Config.in b/package/httping/Config.in new file mode 100644 index 0000000..aa1550a --- /dev/null +++ b/package/httping/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_HTTPING + bool "httping" + help + Httping is like 'ping' but for http-requests. + Give it an url, and it'll show you how long it takes to connect, + send a request and retrieve the reply (only the headers). + Be aware that the transmission across the network also takes time! + So it measures the latency of the webserver + network. + + http://www.vanheusden.com/httping/ + +if BR2_PACKAGE_HTTPING + +config BR2_PACKAGE_HTTPING_OPENSSL + bool "OpenSSL support" + select BR2_PACKAGE_OPENSSL + help + Adds openSSL support to httping + +config BR2_PACKAGE_HTTPING_TFO + bool "TCP Fast Open (TFO) support" + +endif diff --git a/package/httping/httping-override-cflags.patch b/package/httping/httping-override-cflags.patch new file mode 100644 index 0000000..a3cf59d --- /dev/null +++ b/package/httping/httping-override-cflags.patch @@ -0,0 +1,53 @@ +From 66f5811dd45fa27a7bfacf946dfefd16d765bb4d Mon Sep 17 00:00:00 2001 +From: Gilles Talis <gilles.talis@gmail.com> +Date: Mon, 14 Jan 2013 11:48:00 -0800 +Subject: [PATCH] allow CFLAGS/LDFLAGS to be overriden from command line + +Ensure required CFLAGS/LDFLAGS are appended to those provided in command line + +Signed-off-by: Gilles Talis <gilles.talis@gmail.com> +--- + Makefile | 12 ++++++------ + 1 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/Makefile b/Makefile +index 4c4f6a8..fdbb4cb 100644 +--- a/Makefile ++++ b/Makefile +@@ -19,7 +19,7 @@ TARGET=httping + DEBUG=yes + WFLAGS=-Wall -W + OFLAGS=-O3 +-CFLAGS+=$(WFLAGS) $(OFLAGS) -DVERSION=\"$(VERSION)\" ++override CFLAGS+=$(WFLAGS) $(OFLAGS) -DVERSION=\"$(VERSION)\" + + PACKAGE=$(TARGET)-$(VERSION) + PREFIX=/usr +@@ -48,19 +48,19 @@ DOCS=license.txt license.OpenSSL readme.txt + # TFO=yes + + ifeq ($(SSL),no) +-CFLAGS+=-DNO_SSL ++override CFLAGS+=-DNO_SSL + else + OBJS+=mssl.o +-LDFLAGS+=-lssl -lcrypto ++override LDFLAGS+=-lssl -lcrypto + endif + + ifeq ($(TFO),yes) +-CFLAGS+=-DTCP_TFO ++override CFLAGS+=-DTCP_TFO + endif + + ifeq ($(DEBUG),yes) +-CFLAGS+=-D_DEBUG -ggdb +-LDFLAGS+=-g ++override CFLAGS+=-D_DEBUG -ggdb ++override LDFLAGS+=-g + endif + + ifeq ($(ARM),yes) +-- +1.7.4.1 + diff --git a/package/httping/httping.mk b/package/httping/httping.mk new file mode 100644 index 0000000..bec65f3 --- /dev/null +++ b/package/httping/httping.mk @@ -0,0 +1,37 @@ +############################################################# +# +# httping +# +############################################################# +HTTPING_VERSION = 1.5.7 +HTTPING_SOURCE = httping-$(HTTPING_VERSION).tgz +HTTPING_SITE = http://www.vanheusden.com/httping +HTTPING_LICENSE = GPLv2 +HTTPING_LICENSE_FILES = license.txt + +ifeq ($(BR2_PACKAGE_HTTPING_OPENSSL),y) + HTTPING_DEPENDENCIES = openssl +else + HTTPING_SSL = no +endif + +ifeq ($(BR2_PACKAGE_HTTPING_TFO),y) + HTTPING_TFO = yes +endif + +define HTTPING_BUILD_CMDS + $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + SSL=$(HTTPING_SSL) \ + DEBUG=no \ + TFO=$(HTTPING_TFO) -C $(@D) +endef + +define HTTPING_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/httping $(TARGET_DIR)/usr/bin/httping +endef + +define HTTPING_CLEAN_CMDS + $(MAKE) -C $(@D) clean +endef + +$(eval $(generic-package))