Skip to contentSkip to conversation

httping: new package

PATCH New Gilles Talis 4 participants 9 messages Jan 13, 2013 – Jan 20, 2013 1 message not in the archive

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 httping: new package

Httping is like 'ping' but for http-requests.

Fixed commit following review

---
 package/Config.in          |    1 +
 package/httping/Config.in  |   24 ++++++++++++++++++++++++
 package/httping/httping.mk |   39 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 64 insertions(+), 0 deletions(-)
 create mode 100644 package/httping/Config.in
 create mode 100644 package/httping/httping.mk
package/Config.in +1 -0
index fcc2480..7c96095 100644
@@ -618,6 +618,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
package/httping/Config.in new file +24 -0
new file mode 100644
index 0000000..46e21f5
@@ -0,0 +1,24 @@
+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"
+	depends on BR2_PACKAGE_OPENSSL
+	default y
+	help
+	  Adds openSSL support to httping
+
+config BR2_PACKAGE_HTTPING_TFO
+	bool "TCP Fast Open (TFO) support"
+
+endif
package/httping/httping.mk new file +39 -0
new file mode 100644
index 0000000..6783b79
@@ -0,0 +1,39 @@
+#############################################################
+#
+# httping
+#
+#############################################################
+HTTPING_VERSION = 1.5.6
+HTTPING_SOURCE = httping-$(HTTPING_VERSION).tgz
+HTTPING_SITE = http://www.vanheusden.com/httping
+HTTPING_LICENSE = GPLv3
+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) CC="$(TARGET_CC)" \
+		LD="$(TARGET_LD)" \
+		STRIP="$(TARGET_STRIP)" \
+		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))
Signature · 1 line
1.7.4.1
#1 lore raw

PATCH 1/1 httping: new package

Dear Gilles Talis,

Quoted 3 lines · Gilles Talis

Httping is like 'ping' but for http-requests.

Fixed commit following review

Do not put such a comment in the commit. If you want to put a changelog with the differences since the first posting, it should go...

Quoted 3 lines

---

... here. I.e, after the "---" sign.

That's because we don't want the changelog to end up forever in the Buildroot commit history.

package/httping/Config.in line 19

Quoted 8 lines
package/httping/Config.in new file +8 -0
+if BR2_PACKAGE_HTTPING
+
+config BR2_PACKAGE_HTTPING_OPENSSL
+	bool "OpenSSL support"
+	depends on BR2_PACKAGE_OPENSSL
+	default y
+	help
+	  Adds openSSL support to httping

I'd say it should rather be:

config BR2_PACKAGE_HTTPING_OPENSSL
bool "OpenSSL support"
select BR2_PACKAGE_OPENSSL
help
Adds OpenSSL support to httping

When we have sub-options to enable more features, we generally use "select" to make sure that the needed libraries are brought in.

Quoted 1 line

+HTTPING_VERSION = 1.5.6

Any reason not to use 1.5.7.

package/httping/httping.mk line 10

Quoted 4 lines
package/httping/httping.mk new file +4 -0
+HTTPING_SOURCE = httping-$(HTTPING_VERSION).tgz
+HTTPING_SITE = http://www.vanheusden.com/httping
+HTTPING_LICENSE = GPLv3
+HTTPING_LICENSE_FILES = license.txt

Actually, the license seems to be GPLv2. If you look at this license.txt file, it says:

The license of this program can be obtained from:
http://www.vanheusden.com/license.txt

And if you look at this other license.txt file, it contains the text of GPLv2.

package/httping/httping.mk line 29

Quoted 8 lines
package/httping/httping.mk new file +8 -0
+define HTTPING_BUILD_CMDS
+	$(MAKE) CC="$(TARGET_CC)" \
+		LD="$(TARGET_LD)" \
+		STRIP="$(TARGET_STRIP)" \
+		SSL=$(HTTPING_SSL) \
+		DEBUG=no \
+		TFO=$(HTTPING_TFO) -C $(@D)
+endef

I saw your e-mail with your issues using TARGET_CONFIGURE_OPTS. But there shouldn't be any issue doing:

define HTTPING_BUILD_CMDS

	$(MAKE) $(TARGET_CONFIGURE_OPTS) \
		SSL=$(HTTPING_SSL) \
		DEBUG=no \
		TFO=$(HTTPING_TFO) -C $(@D)

endef

Thanks!

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#2 lore raw

PATCH 1/1 httping: new package

Dear Thomas,
Thanks again for the reviews. I'll go and fix the remaining issues. I'll also go and use v1.5.7. I actually just found out today that this version was released.
Thanks
Gilles

Quoted 76 lines · Thomas Petazzoni

Dear Gilles Talis,

Quoted 3 lines · Gilles Talis

Httping is like 'ping' but for http-requests.

Fixed commit following review

Do not put such a comment in the commit. If you want to put a changelog with the differences since the first posting, it should go...

Quoted 3 lines

---

... here. I.e, after the "---" sign.

That's because we don't want the changelog to end up forever in the Buildroot commit history.

package/httping/Config.in line 19

Quoted 8 lines
package/httping/Config.in new file +8 -0
+if BR2_PACKAGE_HTTPING
+
+config BR2_PACKAGE_HTTPING_OPENSSL
+     bool "OpenSSL support"
+     depends on BR2_PACKAGE_OPENSSL
+     default y
+     help
+       Adds openSSL support to httping

I'd say it should rather be:

config BR2_PACKAGE_HTTPING_OPENSSL
bool "OpenSSL support"
select BR2_PACKAGE_OPENSSL
help
Adds OpenSSL support to httping

When we have sub-options to enable more features, we generally use "select" to make sure that the needed libraries are brought in.

Quoted 1 line

+HTTPING_VERSION = 1.5.6

Any reason not to use 1.5.7.

package/httping/httping.mk line 10

Quoted 4 lines
package/httping/httping.mk new file +4 -0
+HTTPING_SOURCE = httping-$(HTTPING_VERSION).tgz
+HTTPING_SITE = http://www.vanheusden.com/httping
+HTTPING_LICENSE = GPLv3
+HTTPING_LICENSE_FILES = license.txt

Actually, the license seems to be GPLv2. If you look at this license.txt file, it says:

The license of this program can be obtained from:
http://www.vanheusden.com/license.txt

And if you look at this other license.txt file, it contains the text of GPLv2.

package/httping/httping.mk line 29

Quoted 8 lines
package/httping/httping.mk new file +8 -0
+define HTTPING_BUILD_CMDS
+     $(MAKE) CC="$(TARGET_CC)" \
+             LD="$(TARGET_LD)" \
+             STRIP="$(TARGET_STRIP)" \
+             SSL=$(HTTPING_SSL) \
+             DEBUG=no \
+             TFO=$(HTTPING_TFO) -C $(@D)
+endef

I saw your e-mail with your issues using TARGET_CONFIGURE_OPTS. But there shouldn't be any issue doing:

define HTTPING_BUILD_CMDS

        $(MAKE) $(TARGET_CONFIGURE_OPTS) \
                SSL=$(HTTPING_SSL) \
                DEBUG=no \
                TFO=$(HTTPING_TFO) -C $(@D)

endef

Quoted 9 lines

Thanks!

Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20130113/86e948ac/attachment.html>

#3 lore raw

PATCH 1/1 httping: new package

Dear Gilles Talis,

Quoted 3 lines · Gilles Talis

Thanks again for the reviews. I'll go and fix the remaining issues. I'll also go and use v1.5.7. I actually just found out today that this version was released.

Excellent, thanks for your perseverance with this patch!

Best regards,

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

A message that is not in the archive (sent off-list or not yet received): CAKcgs2xk-=iG-3Ezmc1upEPBjhSGcmgg9WSwn=1E3+OKDT05fg@mail.gmail.com

#5 lore raw

PATCH 1/1 httping: new package

I forgot to copy mailing list.
Sorry about that and thanks for your help.
Gilles.

2013/1/13 Gilles Talis <[email protected]>

Quoted 10 lines

Dear Thomas,

I thought I knew Makefiles better than that. Well, I was wrong :-). The reason why TARGET_CONFIGURE_OPTS does not work in this case is because it overrides the original Makefile's CFLAGS variable (that should be kept in order for target to compile). Apart from adding "override" in the package Makefile, I actually do not see how to use TARGET_CONFIGURE_OPTS and still keep Makefile CFLAGS. Any hint?
This will surely help me for future patches/projects.

Quoted 92 lines

thanks
Gilles.

2013/1/13 Thomas Petazzoni <[email protected]>

Quoted 85 lines

Dear Gilles Talis,

Quoted 3 lines · Gilles Talis

Httping is like 'ping' but for http-requests.

Fixed commit following review

Do not put such a comment in the commit. If you want to put a changelog with the differences since the first posting, it should go...

Quoted 3 lines

---

... here. I.e, after the "---" sign.

That's because we don't want the changelog to end up forever in the Buildroot commit history.

package/httping/Config.in line 19

Quoted 8 lines
package/httping/Config.in new file +8 -0
+if BR2_PACKAGE_HTTPING
+
+config BR2_PACKAGE_HTTPING_OPENSSL
+     bool "OpenSSL support"
+     depends on BR2_PACKAGE_OPENSSL
+     default y
+     help
+       Adds openSSL support to httping

I'd say it should rather be:

config BR2_PACKAGE_HTTPING_OPENSSL
bool "OpenSSL support"
select BR2_PACKAGE_OPENSSL
help
Adds OpenSSL support to httping

When we have sub-options to enable more features, we generally use "select" to make sure that the needed libraries are brought in.

Quoted 1 line

+HTTPING_VERSION = 1.5.6

Any reason not to use 1.5.7.

package/httping/httping.mk line 10

Quoted 4 lines
package/httping/httping.mk new file +4 -0
+HTTPING_SOURCE = httping-$(HTTPING_VERSION).tgz
+HTTPING_SITE = http://www.vanheusden.com/httping
+HTTPING_LICENSE = GPLv3
+HTTPING_LICENSE_FILES = license.txt

Actually, the license seems to be GPLv2. If you look at this license.txt file, it says:

The license of this program can be obtained from:
http://www.vanheusden.com/license.txt

And if you look at this other license.txt file, it contains the text of GPLv2.

package/httping/httping.mk line 29

Quoted 8 lines
package/httping/httping.mk new file +8 -0
+define HTTPING_BUILD_CMDS
+     $(MAKE) CC="$(TARGET_CC)" \
+             LD="$(TARGET_LD)" \
+             STRIP="$(TARGET_STRIP)" \
+             SSL=$(HTTPING_SSL) \
+             DEBUG=no \
+             TFO=$(HTTPING_TFO) -C $(@D)
+endef

I saw your e-mail with your issues using TARGET_CONFIGURE_OPTS. But there shouldn't be any issue doing:

define HTTPING_BUILD_CMDS

        $(MAKE) $(TARGET_CONFIGURE_OPTS) \
                SSL=$(HTTPING_SSL) \
                DEBUG=no \
                TFO=$(HTTPING_TFO) -C $(@D)

endef

Thanks!

Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20130113/6e554f49/attachment.html>

#6 lore raw

PATCH 1/1 httping: new package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Gilles" == Gilles Talis <[email protected]> writes:

Gilles> I forgot to copy mailing list. Gilles> Sorry about that and thanks for your help. Gilles> Gilles.

Gilles> 2013/1/13 Gilles Talis <[email protected]>

Gilles> Dear Thomas,

 Gilles>     I thought I knew Makefiles better than that. Well, I was wrong :-).
 Gilles>     The reason why TARGET_CONFIGURE_OPTS does not work in this case is because
 Gilles>     it overrides the original Makefile's CFLAGS variable (that should be kept
 Gilles>     in order for target to compile). Apart from adding "override" in the
 Gilles>     package Makefile, I actually do not see how to use TARGET_CONFIGURE_OPTS
 Gilles>     and still keep Makefile CFLAGS. Any hint?
 Gilles>     This will surely help me for future patches/projects.

That's indeed how it is normally done.

override CFLAGS += ..

Signature · 1 line
Bye, Peter Korsgaard
#7 lore raw

PATCH 1/1 httping: new package

Quoted 18 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Gilles" == Gilles Talis<[email protected]> writes:

  Gilles>  I forgot to copy mailing list.
  Gilles>  Sorry about that and thanks for your help.
  Gilles>  Gilles.

Gilles> 2013/1/13 Gilles Talis<[email protected]>

Gilles> Dear Thomas,

  Gilles>      I thought I knew Makefiles better than that. Well, I was wrong :-).
  Gilles>      The reason why TARGET_CONFIGURE_OPTS does not work in this case is because
  Gilles>      it overrides the original Makefile's CFLAGS variable (that should be kept
  Gilles>      in order for target to compile). Apart from adding "override" in the
  Gilles>      package Makefile, I actually do not see how to use TARGET_CONFIGURE_OPTS
  Gilles>      and still keep Makefile CFLAGS. Any hint?
  Gilles>      This will surely help me for future patches/projects.
Quoted 3 lines

That's indeed how it is normally done.

override CFLAGS += ..

No.

Normally CFLAGS should be assigned to either as

CFLAGS +=

or

CFLAGS ?=

and the user-settable CFLAGS are passed in the environment.

I think most Makefiles follow that convention.

Patch follows.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#8 lore raw

PATCH 1/1 httping: remove redundant 'override CFLAGS' patch

In reply to Peter Korsgaard

From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]>

It is not necessary to override CFLAGS when CFLAGS is passed through the environment rather than as an argument to make.

---
 package/httping/httping-override-cflags.patch |   53 -------------------------
 package/httping/httping.mk                    |    4 +-
 2 files changed, 2 insertions(+), 55 deletions(-)
 delete mode 100644 package/httping/httping-override-cflags.patch
package/httping/httping-override-cflags.patch deleted +0 -53
deleted file mode 100644
index a3cf59d..0000000
@@ -1,53 +0,0 @@
-From 66f5811dd45fa27a7bfacf946dfefd16d765bb4d Mon Sep 17 00:00:00 2001
-From: Gilles Talis <[email protected]>
-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 <[email protected]>
----
- 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
-
package/httping/httping.mk +2 -2
index 4c4d755..45478cf 100644
@@ -16,11 +16,11 @@ HTTPING_MAKE_OPT = $(TARGET_CONFIGURE_OPTS) \
 	DEBUG=no
 
 define HTTPING_BUILD_CMDS
-	$(MAKE) $(HTTPING_MAKE_OPT) -C $(@D)
+	$(HTTPING_MAKE_OPT) $(MAKE) -C $(@D)
 endef
 
 define HTTPING_INSTALL_TARGET_CMDS
-	$(MAKE) $(HTTPING_MAKE_OPT) DESTDIR=$(TARGET_DIR) -C $(@D) install
+	$(HTTPING_MAKE_OPT) $(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) install
 endef
 
 define HTTPING_CLEAN_CMDS
Signature · 1 line
1.7.10.4
#9 lore raw

PATCH 1/1 httping: remove redundant 'override CFLAGS' patch

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Arnout" == Arnout Vandecappelle (Essensium/Mind) <[email protected]> writes:

Arnout> From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]> Arnout> It is not necessary to override CFLAGS when CFLAGS is passed through Arnout> the environment rather than as an argument to make.

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard