Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] Fixed tcpreplay auto build errors
@ 2014-01-21 10:41 Martin Bark
  2014-01-22  3:07 ` Chris Packham
  0 siblings, 1 reply; 13+ messages in thread
From: Martin Bark @ 2014-01-21 10:41 UTC (permalink / raw)
  To: buildroot

tcpreplay fails to compile unless it finds the tcpdump binary.  This patch
makes tcpreplay dependent on tcpdump and sets the configure script to use
tcpdump on the target

Signed-off-by: Martin Bark <martin@barkynet.com>
---
 package/tcpreplay/Config.in    |    1 +
 package/tcpreplay/tcpreplay.mk |    5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/package/tcpreplay/Config.in b/package/tcpreplay/Config.in
index 2ba2eb5..49c3284 100644
--- a/package/tcpreplay/Config.in
+++ b/package/tcpreplay/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_TCPREPLAY
 	bool "tcpreplay"
 	depends on BR2_USE_MMU # fork()
 	select BR2_PACKAGE_LIBPCAP
+	select BR2_PACKAGE_TCPDUMP
 	help
 	  Tcpreplay is a tool for replaying network traffic from files saved
 	  with tcpdump or other tools which write pcap(3) files.
diff --git a/package/tcpreplay/tcpreplay.mk b/package/tcpreplay/tcpreplay.mk
index 0939c6c..f6a7c85 100644
--- a/package/tcpreplay/tcpreplay.mk
+++ b/package/tcpreplay/tcpreplay.mk
@@ -11,8 +11,9 @@ TCPREPLAY_LICENSE_FILES = docs/LICENSE
 TCPREPLAY_CONF_ENV = \
 	tr_cv_libpcap_version=">= 0.7.0" \
 	ac_cv_have_bpf=no
-TCPREPLAY_CONF_OPT = --with-libpcap=$(STAGING_DIR)/usr
-TCPREPLAY_DEPENDENCIES = libpcap
+TCPREPLAY_CONF_OPT = --with-libpcap=$(STAGING_DIR)/usr \
+	--with-tcpdump=$(TARGET_DIR)/usr/sbin/tcpdump
+TCPREPLAY_DEPENDENCIES = libpcap tcpdump
 
 # libpcap may depend on symbols in libusb as well
 TCPREPLAY_LIBS = -lpcap $(if $(BR2_PACKAGE_LIBUSB),-lusb-1.0)
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 1/1] Fixed tcpreplay auto build errors
  2014-01-21 10:41 [Buildroot] [PATCH 1/1] Fixed tcpreplay auto build errors Martin Bark
@ 2014-01-22  3:07 ` Chris Packham
  2014-01-22  8:58   ` Peter Korsgaard
  0 siblings, 1 reply; 13+ messages in thread
From: Chris Packham @ 2014-01-22  3:07 UTC (permalink / raw)
  To: buildroot

On Tue, Jan 21, 2014 at 11:41 PM, Martin Bark <martin@barkynet.com> wrote:
> tcpreplay fails to compile unless it finds the tcpdump binary.  This patch
> makes tcpreplay dependent on tcpdump and sets the configure script to use
> tcpdump on the target
>
> Signed-off-by: Martin Bark <martin@barkynet.com>
> ---
>  package/tcpreplay/Config.in    |    1 +
>  package/tcpreplay/tcpreplay.mk |    5 +++--
>  2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/package/tcpreplay/Config.in b/package/tcpreplay/Config.in
> index 2ba2eb5..49c3284 100644
> --- a/package/tcpreplay/Config.in
> +++ b/package/tcpreplay/Config.in
> @@ -2,6 +2,7 @@ config BR2_PACKAGE_TCPREPLAY
>         bool "tcpreplay"
>         depends on BR2_USE_MMU # fork()
>         select BR2_PACKAGE_LIBPCAP
> +       select BR2_PACKAGE_TCPDUMP
>         help
>           Tcpreplay is a tool for replaying network traffic from files saved
>           with tcpdump or other tools which write pcap(3) files.
> diff --git a/package/tcpreplay/tcpreplay.mk b/package/tcpreplay/tcpreplay.mk
> index 0939c6c..f6a7c85 100644
> --- a/package/tcpreplay/tcpreplay.mk
> +++ b/package/tcpreplay/tcpreplay.mk
> @@ -11,8 +11,9 @@ TCPREPLAY_LICENSE_FILES = docs/LICENSE
>  TCPREPLAY_CONF_ENV = \
>         tr_cv_libpcap_version=">= 0.7.0" \
>         ac_cv_have_bpf=no
> -TCPREPLAY_CONF_OPT = --with-libpcap=$(STAGING_DIR)/usr
> -TCPREPLAY_DEPENDENCIES = libpcap
> +TCPREPLAY_CONF_OPT = --with-libpcap=$(STAGING_DIR)/usr \
> +       --with-tcpdump=$(TARGET_DIR)/usr/sbin/tcpdump
> +TCPREPLAY_DEPENDENCIES = libpcap tcpdump
>
>  # libpcap may depend on symbols in libusb as well
>  TCPREPLAY_LIBS = -lpcap $(if $(BR2_PACKAGE_LIBUSB),-lusb-1.0)
> --
> 1.7.9.5

I think it would be nice if tcpreplay could build without tcpdump (on
the host or target). In the meantime this seems like the best
solution.

Acked-by: Chris Packham <judge.packham@gmail.com>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 1/1] Fixed tcpreplay auto build errors
  2014-01-22  3:07 ` Chris Packham
@ 2014-01-22  8:58   ` Peter Korsgaard
  2014-01-23  0:54     ` Chris Packham
  0 siblings, 1 reply; 13+ messages in thread
From: Peter Korsgaard @ 2014-01-22  8:58 UTC (permalink / raw)
  To: buildroot

>>>>> "Chris" == Chris Packham <judge.packham@gmail.com> writes:

 > On Tue, Jan 21, 2014 at 11:41 PM, Martin Bark <martin@barkynet.com> wrote:
 >> tcpreplay fails to compile unless it finds the tcpdump binary.  This patch
 >> makes tcpreplay dependent on tcpdump and sets the configure script to use
 >> tcpdump on the target
 >> 
 >> Signed-off-by: Martin Bark <martin@barkynet.com>
 >> ---
 >> package/tcpreplay/Config.in    |    1 +
 >> package/tcpreplay/tcpreplay.mk |    5 +++--
 >> 2 files changed, 4 insertions(+), 2 deletions(-)
 >> 
 >> diff --git a/package/tcpreplay/Config.in b/package/tcpreplay/Config.in
 >> index 2ba2eb5..49c3284 100644
 >> --- a/package/tcpreplay/Config.in
 >> +++ b/package/tcpreplay/Config.in
 >> @@ -2,6 +2,7 @@ config BR2_PACKAGE_TCPREPLAY
 >> bool "tcpreplay"
 >> depends on BR2_USE_MMU # fork()
 >> select BR2_PACKAGE_LIBPCAP
 >> +       select BR2_PACKAGE_TCPDUMP
 >> help
 >> Tcpreplay is a tool for replaying network traffic from files saved
 >> with tcpdump or other tools which write pcap(3) files.
 >> diff --git a/package/tcpreplay/tcpreplay.mk b/package/tcpreplay/tcpreplay.mk
 >> index 0939c6c..f6a7c85 100644
 >> --- a/package/tcpreplay/tcpreplay.mk
 >> +++ b/package/tcpreplay/tcpreplay.mk
 >> @@ -11,8 +11,9 @@ TCPREPLAY_LICENSE_FILES = docs/LICENSE
 >> TCPREPLAY_CONF_ENV = \
 >> tr_cv_libpcap_version=">= 0.7.0" \
 >> ac_cv_have_bpf=no
 >> -TCPREPLAY_CONF_OPT = --with-libpcap=$(STAGING_DIR)/usr
 >> -TCPREPLAY_DEPENDENCIES = libpcap
 >> +TCPREPLAY_CONF_OPT = --with-libpcap=$(STAGING_DIR)/usr \
 >> +       --with-tcpdump=$(TARGET_DIR)/usr/sbin/tcpdump
 >> +TCPREPLAY_DEPENDENCIES = libpcap tcpdump

This doesn't work, as tcpreplay then ends up trying to execute
$(TARGET_DIR)/usr/bin/tcpdump on the target, which doesn't exist.

We also cannot set it to /usr/sbin/tcpdump (the target path), as the
configure script errors out if that isn't available on the build host :/

The configure script doesn't really take cross compilation into
consideration, so I guess we need to patch it to only warn if the binary
isn't available.


 >> 
 >> # libpcap may depend on symbols in libusb as well
 >> TCPREPLAY_LIBS = -lpcap $(if $(BR2_PACKAGE_LIBUSB),-lusb-1.0)
 >> --
 >> 1.7.9.5

 > I think it would be nice if tcpreplay could build without tcpdump (on
 > the host or target). In the meantime this seems like the best
 > solution.


Why don't we just fix the real problem (E.G. the buggy
tcpreplay_seterr() macro)?

I took a look now that we can reproduce it, and the problem is that the
macro expects atleast 3 arguments, and it gets called with only 2 when
tcpdump isn't found:

tcpreplay_seterr(ctx, "verbose mode not supported");

The definition of tcpreplay_seterr is:

#define tcpreplay_seterr(x, y, ...) __tcpreplay_seterr(x, __FUNCTION__, __LINE__, __FILE__, y, __VA_ARGS__)
void __tcpreplay_seterr(tcpreplay_t *ctx, const char *func, const int line, const char *file, const char *fmt, ...);

And the fix is just to get rid of the explicit y parameter:

#define tcpreplay_seterr(x, ...) __tcpreplay_seterr(x, __FUNCTION__, __LINE__, __FILE__, __VA_ARGS__)

Just like the GCC documentation suggests:

http://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html


Care to send a patch (upstream and to buildroot) to fix this?


We also need to add:

# don't build in tcpdump support if the build host has it
TCPREPLAY_CONF_ENV += ac_cv_path_tcpdump_path=no

to tcpreplay.mk to forcible disable tcpdump support.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 1/1] Fixed tcpreplay auto build errors
  2014-01-22  8:58   ` Peter Korsgaard
@ 2014-01-23  0:54     ` Chris Packham
  2014-01-23  7:37       ` Peter Korsgaard
  0 siblings, 1 reply; 13+ messages in thread
From: Chris Packham @ 2014-01-23  0:54 UTC (permalink / raw)
  To: buildroot

Hi Peter,

On Wed, Jan 22, 2014 at 9:58 PM, Peter Korsgaard <jacmet@uclibc.org> wrote:
>>>>>> "Chris" == Chris Packham <judge.packham@gmail.com> writes:
>
>  > On Tue, Jan 21, 2014 at 11:41 PM, Martin Bark <martin@barkynet.com> wrote:
>  >> tcpreplay fails to compile unless it finds the tcpdump binary.  This patch
>  >> makes tcpreplay dependent on tcpdump and sets the configure script to use
>  >> tcpdump on the target
>  >>
>  >> Signed-off-by: Martin Bark <martin@barkynet.com>
>  >> ---
>  >> package/tcpreplay/Config.in    |    1 +
>  >> package/tcpreplay/tcpreplay.mk |    5 +++--
>  >> 2 files changed, 4 insertions(+), 2 deletions(-)
>  >>
>  >> diff --git a/package/tcpreplay/Config.in b/package/tcpreplay/Config.in
>  >> index 2ba2eb5..49c3284 100644
>  >> --- a/package/tcpreplay/Config.in
>  >> +++ b/package/tcpreplay/Config.in
>  >> @@ -2,6 +2,7 @@ config BR2_PACKAGE_TCPREPLAY
>  >> bool "tcpreplay"
>  >> depends on BR2_USE_MMU # fork()
>  >> select BR2_PACKAGE_LIBPCAP
>  >> +       select BR2_PACKAGE_TCPDUMP
>  >> help
>  >> Tcpreplay is a tool for replaying network traffic from files saved
>  >> with tcpdump or other tools which write pcap(3) files.
>  >> diff --git a/package/tcpreplay/tcpreplay.mk b/package/tcpreplay/tcpreplay.mk
>  >> index 0939c6c..f6a7c85 100644
>  >> --- a/package/tcpreplay/tcpreplay.mk
>  >> +++ b/package/tcpreplay/tcpreplay.mk
>  >> @@ -11,8 +11,9 @@ TCPREPLAY_LICENSE_FILES = docs/LICENSE
>  >> TCPREPLAY_CONF_ENV = \
>  >> tr_cv_libpcap_version=">= 0.7.0" \
>  >> ac_cv_have_bpf=no
>  >> -TCPREPLAY_CONF_OPT = --with-libpcap=$(STAGING_DIR)/usr
>  >> -TCPREPLAY_DEPENDENCIES = libpcap
>  >> +TCPREPLAY_CONF_OPT = --with-libpcap=$(STAGING_DIR)/usr \
>  >> +       --with-tcpdump=$(TARGET_DIR)/usr/sbin/tcpdump
>  >> +TCPREPLAY_DEPENDENCIES = libpcap tcpdump
>
> This doesn't work, as tcpreplay then ends up trying to execute
> $(TARGET_DIR)/usr/bin/tcpdump on the target, which doesn't exist.
>
> We also cannot set it to /usr/sbin/tcpdump (the target path), as the
> configure script errors out if that isn't available on the build host :/
>
> The configure script doesn't really take cross compilation into
> consideration, so I guess we need to patch it to only warn if the binary
> isn't available.
>
>
>  >>
>  >> # libpcap may depend on symbols in libusb as well
>  >> TCPREPLAY_LIBS = -lpcap $(if $(BR2_PACKAGE_LIBUSB),-lusb-1.0)
>  >> --
>  >> 1.7.9.5
>
>  > I think it would be nice if tcpreplay could build without tcpdump (on
>  > the host or target). In the meantime this seems like the best
>  > solution.
>
>
> Why don't we just fix the real problem (E.G. the buggy
> tcpreplay_seterr() macro)?
>
> I took a look now that we can reproduce it, and the problem is that the
> macro expects atleast 3 arguments, and it gets called with only 2 when
> tcpdump isn't found:
>
> tcpreplay_seterr(ctx, "verbose mode not supported");
>
> The definition of tcpreplay_seterr is:
>
> #define tcpreplay_seterr(x, y, ...) __tcpreplay_seterr(x, __FUNCTION__, __LINE__, __FILE__, y, __VA_ARGS__)
> void __tcpreplay_seterr(tcpreplay_t *ctx, const char *func, const int line, const char *file, const char *fmt, ...);
>
> And the fix is just to get rid of the explicit y parameter:
>
> #define tcpreplay_seterr(x, ...) __tcpreplay_seterr(x, __FUNCTION__, __LINE__, __FILE__, __VA_ARGS__)
>
> Just like the GCC documentation suggests:
>
> http://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html
>
>
> Care to send a patch (upstream and to buildroot) to fix this?
>
>
> We also need to add:
>
> # don't build in tcpdump support if the build host has it
> TCPREPLAY_CONF_ENV += ac_cv_path_tcpdump_path=no
>
> to tcpreplay.mk to forcible disable tcpdump support.
>
> --
> Bye, Peter Korsgaard

I'm already working on an upstream fix
https://github.com/appneta/tcpreplay/pull/60 just waiting to hear some
feedback. Buildroot could carry my patch or just wait for the change
to be merged upstream. I've also got a different change needed for
x86_64 but I think that's more a ubuntu/debian thing than a x86_64
architecture thing.

Mine is a slightly different solution to what you suggest. Doing some
grepping through the tcpreplay source it looks like my solution of
adding a format string has been used in other places.

I'll take a look at your suggestion for TCPREPLAY_CONF_ENV and see if
I can come up with a solution that works when cross compiling.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 1/1] Fixed tcpreplay auto build errors
  2014-01-23  0:54     ` Chris Packham
@ 2014-01-23  7:37       ` Peter Korsgaard
  2014-01-23  9:07         ` [Buildroot] [PATCH] tcpreplay: cross-compile with tcpdump support Chris Packham
  0 siblings, 1 reply; 13+ messages in thread
From: Peter Korsgaard @ 2014-01-23  7:37 UTC (permalink / raw)
  To: buildroot

>>>>> "Chris" == Chris Packham <judge.packham@gmail.com> writes:

Hi,

 > I'm already working on an upstream fix
 > https://github.com/appneta/tcpreplay/pull/60 just waiting to hear some
 > feedback. Buildroot could carry my patch or just wait for the change
 > to be merged upstream. I've also got a different change needed for
 > x86_64 but I think that's more a ubuntu/debian thing than a x86_64
 > architecture thing.

 > Mine is a slightly different solution to what you suggest. Doing some
 > grepping through the tcpreplay source it looks like my solution of
 > adding a format string has been used in other places.

Ahh ok, yes - It also works to change the callers of the macro,
naturally. Lets see what upstream says.

 > I'll take a look at your suggestion for TCPREPLAY_CONF_ENV and see if
 > I can come up with a solution that works when cross compiling.

Thanks!

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH] tcpreplay: cross-compile with tcpdump support
  2014-01-23  7:37       ` Peter Korsgaard
@ 2014-01-23  9:07         ` Chris Packham
  2014-01-23 11:30           ` Peter Korsgaard
  0 siblings, 1 reply; 13+ messages in thread
From: Chris Packham @ 2014-01-23  9:07 UTC (permalink / raw)
  To: buildroot

If tcpdump is enabled set ac_cv_path_tcpdump_path so that verbose output
is enabled on the target.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
---
Hi,

This should get verbose support working if the tcpdump package is selected.
This may also fix some of the build errors (if they set BR2_PACKAGE_TCPDUMP=y)
but the real fix will come from upstream.

 package/tcpreplay/tcpreplay.mk | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/package/tcpreplay/tcpreplay.mk b/package/tcpreplay/tcpreplay.mk
index 0939c6c..a2cd16e 100644
--- a/package/tcpreplay/tcpreplay.mk
+++ b/package/tcpreplay/tcpreplay.mk
@@ -18,4 +18,10 @@ TCPREPLAY_DEPENDENCIES = libpcap
 TCPREPLAY_LIBS = -lpcap $(if $(BR2_PACKAGE_LIBUSB),-lusb-1.0)
 TCPREPLAY_CONF_ENV += ac_cv_search_pcap_close='$(TCPREPLAY_LIBS)'
 
+ifeq ($(BR2_PACKAGE_TCPDUMP),y)
+TCPREPLAY_CONF_ENV += ac_cv_path_tcpdump_path=/usr/sbin/tcpdump
+else
+TCPREPLAY_CONF_ENV += ac_cv_path_tcpdump_path=no
+endif
+
 $(eval $(autotools-package))
-- 
1.8.4.rc2

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH] tcpreplay: cross-compile with tcpdump support
  2014-01-23  9:07         ` [Buildroot] [PATCH] tcpreplay: cross-compile with tcpdump support Chris Packham
@ 2014-01-23 11:30           ` Peter Korsgaard
  2014-01-23 20:08             ` Martin Bark
  0 siblings, 1 reply; 13+ messages in thread
From: Peter Korsgaard @ 2014-01-23 11:30 UTC (permalink / raw)
  To: buildroot

>>>>> "Chris" == Chris Packham <judge.packham@gmail.com> writes:

 > If tcpdump is enabled set ac_cv_path_tcpdump_path so that verbose output
 > is enabled on the target.

 > Signed-off-by: Chris Packham <judge.packham@gmail.com>
 > ---
 > Hi,

 > This should get verbose support working if the tcpdump package is selected.
 > This may also fix some of the build errors (if they set BR2_PACKAGE_TCPDUMP=y)
 > but the real fix will come from upstream.

 >  package/tcpreplay/tcpreplay.mk | 6 ++++++
 >  1 file changed, 6 insertions(+)

 > diff --git a/package/tcpreplay/tcpreplay.mk b/package/tcpreplay/tcpreplay.mk
 > index 0939c6c..a2cd16e 100644
 > --- a/package/tcpreplay/tcpreplay.mk
 > +++ b/package/tcpreplay/tcpreplay.mk
 > @@ -18,4 +18,10 @@ TCPREPLAY_DEPENDENCIES = libpcap
 >  TCPREPLAY_LIBS = -lpcap $(if $(BR2_PACKAGE_LIBUSB),-lusb-1.0)
 >  TCPREPLAY_CONF_ENV += ac_cv_search_pcap_close='$(TCPREPLAY_LIBS)'
 
 > +ifeq ($(BR2_PACKAGE_TCPDUMP),y)
 > +TCPREPLAY_CONF_ENV += ac_cv_path_tcpdump_path=/usr/sbin/tcpdump

The problem here is that the configure script checks if /usr/bin/tcpdump
(on the build machine) is executable, and otherwise errors out - So this
breaks if you try to build it on a machine without tcpdump.

The configure script needs to be changed to not do this test when cross
compiling (or only warn).

 > +else
 > +TCPREPLAY_CONF_ENV += ac_cv_path_tcpdump_path=no
 > +endif
 > +
 >  $(eval $(autotools-package))
 > -- 
 > 1.8.4.rc2



-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH] tcpreplay: cross-compile with tcpdump support
  2014-01-23 11:30           ` Peter Korsgaard
@ 2014-01-23 20:08             ` Martin Bark
  2014-01-23 21:31               ` Peter Korsgaard
  0 siblings, 1 reply; 13+ messages in thread
From: Martin Bark @ 2014-01-23 20:08 UTC (permalink / raw)
  To: buildroot


Peter, Chris,

On 23/01/14 11:30, Peter Korsgaard wrote:
>>>>>> "Chris" == Chris Packham <judge.packham@gmail.com> writes:
>
>   > If tcpdump is enabled set ac_cv_path_tcpdump_path so that verbose output
>   > is enabled on the target.
>
>   > Signed-off-by: Chris Packham <judge.packham@gmail.com>
>   > ---
>   > Hi,
>
>   > This should get verbose support working if the tcpdump package is selected.
>   > This may also fix some of the build errors (if they set BR2_PACKAGE_TCPDUMP=y)
>   > but the real fix will come from upstream.
>
>   >  package/tcpreplay/tcpreplay.mk | 6 ++++++
>   >  1 file changed, 6 insertions(+)
>
>   > diff --git a/package/tcpreplay/tcpreplay.mk b/package/tcpreplay/tcpreplay.mk
>   > index 0939c6c..a2cd16e 100644
>   > --- a/package/tcpreplay/tcpreplay.mk
>   > +++ b/package/tcpreplay/tcpreplay.mk
>   > @@ -18,4 +18,10 @@ TCPREPLAY_DEPENDENCIES = libpcap
>   >  TCPREPLAY_LIBS = -lpcap $(if $(BR2_PACKAGE_LIBUSB),-lusb-1.0)
>   >  TCPREPLAY_CONF_ENV += ac_cv_search_pcap_close='$(TCPREPLAY_LIBS)'
>
>   > +ifeq ($(BR2_PACKAGE_TCPDUMP),y)
>   > +TCPREPLAY_CONF_ENV += ac_cv_path_tcpdump_path=/usr/sbin/tcpdump
>
> The problem here is that the configure script checks if /usr/bin/tcpdump
> (on the build machine) is executable, and otherwise errors out - So this
> breaks if you try to build it on a machine without tcpdump.

I think the patch is actually OK.  Looking at the configure script when 
ac_cv_path_tcpdump_path is set it does not check if the executable 
exists.  It only checks when using the --with-tcpdump option.

I tested the patch and choose tcpdump and tcpreplay with no 
/usr/sbin/tcpdump on the host.  The code builds and I see in the 
configure output the lines

checking for tcpdump... (cached) /usr/sbin/tcpdump

and

tcpdump binary path:        /usr/sbin/tcpdump

So i think this patch will work.

Thanks

>
> The configure script needs to be changed to not do this test when cross
> compiling (or only warn).
>
>   > +else
>   > +TCPREPLAY_CONF_ENV += ac_cv_path_tcpdump_path=no
>   > +endif
>   > +
>   >  $(eval $(autotools-package))
>   > --
>   > 1.8.4.rc2
>
>
>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH] tcpreplay: cross-compile with tcpdump support
  2014-01-23 20:08             ` Martin Bark
@ 2014-01-23 21:31               ` Peter Korsgaard
  2014-01-23 22:47                 ` Chris Packham
  0 siblings, 1 reply; 13+ messages in thread
From: Peter Korsgaard @ 2014-01-23 21:31 UTC (permalink / raw)
  To: buildroot

>>>>> "Martin" == Martin Bark <martin@barkynet.com> writes:

Hi,

 >> > +ifeq ($(BR2_PACKAGE_TCPDUMP),y)
 >> > +TCPREPLAY_CONF_ENV += ac_cv_path_tcpdump_path=/usr/sbin/tcpdump
 >> 
 >> The problem here is that the configure script checks if /usr/bin/tcpdump
 >> (on the build machine) is executable, and otherwise errors out - So this
 >> breaks if you try to build it on a machine without tcpdump.

 > I think the patch is actually OK.  Looking at the configure script
 > when ac_cv_path_tcpdump_path is set it does not check if the
 > executable exists.  It only checks when using the --with-tcpdump
 > option.

 > I tested the patch and choose tcpdump and tcpreplay with no
 > /usr/sbin/tcpdump on the host.  The code builds and I see in the
 > configure output the lines

 > checking for tcpdump... (cached) /usr/sbin/tcpdump

 > and

 > tcpdump binary path:        /usr/sbin/tcpdump

 > So i think this patch will work.

Ups, you're right - Sorry.

Committed patch, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH] tcpreplay: cross-compile with tcpdump support
  2014-01-23 21:31               ` Peter Korsgaard
@ 2014-01-23 22:47                 ` Chris Packham
  2014-01-27 14:26                   ` Peter Korsgaard
  0 siblings, 1 reply; 13+ messages in thread
From: Chris Packham @ 2014-01-23 22:47 UTC (permalink / raw)
  To: buildroot

On Fri, Jan 24, 2014 at 10:31 AM, Peter Korsgaard <jacmet@uclibc.org> wrote:
>>>>>> "Martin" == Martin Bark <martin@barkynet.com> writes:
>
> Hi,
>
>  >> > +ifeq ($(BR2_PACKAGE_TCPDUMP),y)
>  >> > +TCPREPLAY_CONF_ENV += ac_cv_path_tcpdump_path=/usr/sbin/tcpdump
>  >>
>  >> The problem here is that the configure script checks if /usr/bin/tcpdump
>  >> (on the build machine) is executable, and otherwise errors out - So this
>  >> breaks if you try to build it on a machine without tcpdump.
>
>  > I think the patch is actually OK.  Looking at the configure script
>  > when ac_cv_path_tcpdump_path is set it does not check if the
>  > executable exists.  It only checks when using the --with-tcpdump
>  > option.
>
>  > I tested the patch and choose tcpdump and tcpreplay with no
>  > /usr/sbin/tcpdump on the host.  The code builds and I see in the
>  > configure output the lines
>
>  > checking for tcpdump... (cached) /usr/sbin/tcpdump
>
>  > and
>
>  > tcpdump binary path:        /usr/sbin/tcpdump
>
>  > So i think this patch will work.
>
> Ups, you're right - Sorry.
>
> Committed patch, thanks.
>

Thanks. I was about to say the same thing.

On the build error front are we concerned about the failures? I
haven't heard anything from upstream yet. We probably want to move to
tcpreplay 4.0.2 before the buildroot 2014.02 release.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH] tcpreplay: cross-compile with tcpdump support
  2014-01-23 22:47                 ` Chris Packham
@ 2014-01-27 14:26                   ` Peter Korsgaard
  2014-01-28  9:37                     ` [Buildroot] [PATCH] tcpreplay: Bump version to 4.0.2 Chris Packham
  0 siblings, 1 reply; 13+ messages in thread
From: Peter Korsgaard @ 2014-01-27 14:26 UTC (permalink / raw)
  To: buildroot

>>>>> "Chris" == Chris Packham <judge.packham@gmail.com> writes:

Hi,

 >> > So i think this patch will work.
 >> 
 >> Ups, you're right - Sorry.
 >> 
 >> Committed patch, thanks.
 >> 

 > Thanks. I was about to say the same thing.

 > On the build error front are we concerned about the failures? I
 > haven't heard anything from upstream yet. We probably want to move to
 > tcpreplay 4.0.2 before the buildroot 2014.02 release.

Yes, I got tired of the autobuilder issues, so I've added your patch
from the pull request.

A patch to bump the version would be good as well, thank.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH] tcpreplay: Bump version to 4.0.2
  2014-01-27 14:26                   ` Peter Korsgaard
@ 2014-01-28  9:37                     ` Chris Packham
  2014-01-28 10:28                       ` Peter Korsgaard
  0 siblings, 1 reply; 13+ messages in thread
From: Chris Packham @ 2014-01-28  9:37 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Chris Packham <judge.packham@gmail.com>
---
On 28/01/14 03:26, Peter Korsgaard wrote:
> 
> A patch to bump the version would be good as well, thank.
> 

Here you go. I've heard back from upstream, the maintainer is dealing with some
family issues so the patch from my pull request will do for now. Build tested
with/without BR2_PACKAGE_TCPDUMP.

 package/tcpreplay/tcpreplay.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/tcpreplay/tcpreplay.mk b/package/tcpreplay/tcpreplay.mk
index a2cd16e..fdb42a5 100644
--- a/package/tcpreplay/tcpreplay.mk
+++ b/package/tcpreplay/tcpreplay.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-TCPREPLAY_VERSION = 4.0.0
+TCPREPLAY_VERSION = 4.0.2
 TCPREPLAY_SITE = http://downloads.sourceforge.net/project/tcpreplay/tcpreplay/$(TCPREPLAY_VERSION)
 TCPREPLAY_LICENSE = GPLv3
 TCPREPLAY_LICENSE_FILES = docs/LICENSE
-- 
1.8.4.rc2

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH] tcpreplay: Bump version to 4.0.2
  2014-01-28  9:37                     ` [Buildroot] [PATCH] tcpreplay: Bump version to 4.0.2 Chris Packham
@ 2014-01-28 10:28                       ` Peter Korsgaard
  0 siblings, 0 replies; 13+ messages in thread
From: Peter Korsgaard @ 2014-01-28 10:28 UTC (permalink / raw)
  To: buildroot

>>>>> "Chris" == Chris Packham <judge.packham@gmail.com> writes:

 > Signed-off-by: Chris Packham <judge.packham@gmail.com>
 > ---
 > On 28/01/14 03:26, Peter Korsgaard wrote:
 >> 
 >> A patch to bump the version would be good as well, thank.
 >> 

Committed, thanks.

 > Here you go. I've heard back from upstream, the maintainer is dealing with some
 > family issues so the patch from my pull request will do for now. Build tested
 > with/without BR2_PACKAGE_TCPDUMP.

Ok, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2014-01-28 10:28 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-21 10:41 [Buildroot] [PATCH 1/1] Fixed tcpreplay auto build errors Martin Bark
2014-01-22  3:07 ` Chris Packham
2014-01-22  8:58   ` Peter Korsgaard
2014-01-23  0:54     ` Chris Packham
2014-01-23  7:37       ` Peter Korsgaard
2014-01-23  9:07         ` [Buildroot] [PATCH] tcpreplay: cross-compile with tcpdump support Chris Packham
2014-01-23 11:30           ` Peter Korsgaard
2014-01-23 20:08             ` Martin Bark
2014-01-23 21:31               ` Peter Korsgaard
2014-01-23 22:47                 ` Chris Packham
2014-01-27 14:26                   ` Peter Korsgaard
2014-01-28  9:37                     ` [Buildroot] [PATCH] tcpreplay: Bump version to 4.0.2 Chris Packham
2014-01-28 10:28                       ` Peter Korsgaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox