All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Pull request buildroot.git (vapier branch)
@ 2011-01-10 14:28 Mike Frysinger
  2011-01-10 14:28 ` [Buildroot] [PATCH 1/7] busybox: unify duplicated build steps Mike Frysinger
  0 siblings, 1 reply; 43+ messages in thread
From: Mike Frysinger @ 2011-01-10 14:28 UTC (permalink / raw)
  To: buildroot

The following changes since commit 54942318f93b12f8166f110905ec7df6e3279a74:

  pciutils: SHARED make opt goes for install too (2011-01-10 14:52:02 +0100)

are available in the git repository at:
  git://sources.blackfin.uclinux.org/git/users/vapier/buildroot.git vapier

Mike Frysinger (7):
      busybox: unify duplicated build steps
      busybox: let buildroot handle stripping
      toolchain: add a USE_MMU build option
      portmap: add nommu support
      portmap: respect target CFLAGS
      portmap: fix clean target to actually clean
      tcpdump: add patch for nommu systems

 package/busybox/busybox.mk                         |   30 ++---
 ...0-0001-README-fix-typo-in-tcp-wrapper-doc.patch |   26 ++++
 ...0002-NO_PIE-make-PIE-support-controllable.patch |   53 ++++++++
 ...K-control-usage-of-fork-for-nommu-systems.patch |  110 +++++++++++++++++
 ...ERROR-control-overriding-of-perror-symbol.patch |   46 +++++++
 package/portmap/portmap.mk                         |   12 ++-
 package/tcpdump/tcpdump-4.1.1-vfork.patch          |  128 ++++++++++++++++++++
 toolchain/helpers.mk                               |    2 +
 toolchain/toolchain-common.in                      |    7 +
 9 files changed, 396 insertions(+), 18 deletions(-)
 create mode 100644 package/portmap/portmap-6.0-0001-README-fix-typo-in-tcp-wrapper-doc.patch
 create mode 100644 package/portmap/portmap-6.0-0002-NO_PIE-make-PIE-support-controllable.patch
 create mode 100644 package/portmap/portmap-6.0-0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch
 create mode 100644 package/portmap/portmap-6.0-0004-NO_PERROR-control-overriding-of-perror-symbol.patch
 create mode 100644 package/tcpdump/tcpdump-4.1.1-vfork.patch

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

* [Buildroot] [PATCH 1/7] busybox: unify duplicated build steps
  2011-01-10 14:28 [Buildroot] Pull request buildroot.git (vapier branch) Mike Frysinger
@ 2011-01-10 14:28 ` Mike Frysinger
  2011-01-10 14:28   ` [Buildroot] [PATCH 2/7] busybox: let buildroot handle stripping Mike Frysinger
                     ` (6 more replies)
  0 siblings, 7 replies; 43+ messages in thread
From: Mike Frysinger @ 2011-01-10 14:28 UTC (permalink / raw)
  To: buildroot

This does set a few more vars in some steps that weren't set before, but
they should be harmless in the contexts in question.  And the resulting
save in duplication is nice.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
 package/busybox/busybox.mk |   29 ++++++++++++-----------------
 1 files changed, 12 insertions(+), 17 deletions(-)

diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 8bff1a6..342819a 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -15,6 +15,13 @@ BUSYBOX_SOURCE = busybox-$(BUSYBOX_VERSION).tar.bz2
 BUSYBOX_BUILD_CONFIG = $(BUSYBOX_DIR)/.config
 # Allows the build system to tweak CFLAGS
 BUSYBOX_MAKE_ENV = $(TARGET_MAKE_ENV) CFLAGS="$(TARGET_CFLAGS) -I$(LINUX_HEADERS_DIR)/include"
+BUSYBOX_MAKE_OPTS = \
+	CC="$(TARGET_CC)" \
+	ARCH=$(KERNEL_ARCH) \
+	PREFIX="$(TARGET_DIR)" \
+	EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \
+	CROSS_COMPILE="$(TARGET_CROSS)" \
+	CONFIG_PREFIX="$(TARGET_DIR)"
 
 ifndef BUSYBOX_CONFIG_FILE
 	BUSYBOX_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG))
@@ -121,16 +128,11 @@ define BUSYBOX_CONFIGURE_CMDS
 endef
 
 define BUSYBOX_BUILD_CMDS
-	$(BUSYBOX_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" ARCH=$(KERNEL_ARCH) \
-		PREFIX="$(TARGET_DIR)" EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \
-		CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D)
+	$(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(@D)
 endef
 
 define BUSYBOX_INSTALL_TARGET_CMDS
-	$(BUSYBOX_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" ARCH=$(KERNEL_ARCH) \
-		PREFIX="$(TARGET_DIR)" EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \
-		CROSS_COMPILE="$(TARGET_CROSS)" CONFIG_PREFIX="$(TARGET_DIR)" \
-		-C $(@D) install
+	$(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(@D) install
 	if [ ! -f $(TARGET_DIR)/usr/share/udhcpc/default.script ]; then \
 		$(INSTALL) -m 0755 -D package/busybox/udhcpc.script \
 			$(TARGET_DIR)/usr/share/udhcpc/default.script; \
@@ -138,24 +140,17 @@ define BUSYBOX_INSTALL_TARGET_CMDS
 endef
 
 define BUSYBOX_UNINSTALL_TARGET_CMDS
-	$(BUSYBOX_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" ARCH=$(KERNEL_ARCH) \
-		PREFIX="$(TARGET_DIR)" EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \
-		CROSS_COMPILE="$(TARGET_CROSS)" CONFIG_PREFIX="$(TARGET_DIR)" \
-		-C $(@D) uninstall
+	$(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(@D) uninstall
 endef
 
 define BUSYBOX_CLEAN_CMDS
-	$(BUSYBOX_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" ARCH=$(KERNEL_ARCH) \
-		PREFIX="$(TARGET_DIR)" EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \
-		CROSS_COMPILE="$(TARGET_CROSS)" CONFIG_PREFIX="$(TARGET_DIR)" \
-		-C $(@D) clean
+	$(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(@D) clean
 endef
 
 $(eval $(call GENTARGETS,package,busybox))
 
 busybox-menuconfig:	$(BUSYBOX_DIR)/.stamp_extracted
-	$(BUSYBOX_MAKE_ENV) $(MAKE) ARCH=$(KERNEL_ARCH) \
-		CROSS_COMPILE="$(TARGET_CROSS)" -C $(BUSYBOX_DIR) menuconfig
+	$(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(@D) menuconfig
 	rm -f $(BUSYBOX_DIR)/.stamp_built
 	rm -f $(BUSYBOX_DIR)/.stamp_target_installed
 
-- 
1.7.4.rc1

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

* [Buildroot] [PATCH 2/7] busybox: let buildroot handle stripping
  2011-01-10 14:28 ` [Buildroot] [PATCH 1/7] busybox: unify duplicated build steps Mike Frysinger
@ 2011-01-10 14:28   ` Mike Frysinger
  2011-01-11  9:52     ` Peter Korsgaard
  2011-01-10 14:28   ` [Buildroot] [PATCH 3/7] toolchain: add a USE_MMU build option Mike Frysinger
                     ` (5 subsequent siblings)
  6 siblings, 1 reply; 43+ messages in thread
From: Mike Frysinger @ 2011-01-10 14:28 UTC (permalink / raw)
  To: buildroot

For some ABI's (like FLAT), we cannot strip busybox as the file format
does not support it and strip will abort with errors like 'File format
not recognized'.  Since the toplevel already takes care of stripping
things, simply disable the busybox step.

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
 package/busybox/busybox.mk |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 342819a..38897f7 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -21,7 +21,8 @@ BUSYBOX_MAKE_OPTS = \
 	PREFIX="$(TARGET_DIR)" \
 	EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \
 	CROSS_COMPILE="$(TARGET_CROSS)" \
-	CONFIG_PREFIX="$(TARGET_DIR)"
+	CONFIG_PREFIX="$(TARGET_DIR)" \
+	SKIP_STRIP=y
 
 ifndef BUSYBOX_CONFIG_FILE
 	BUSYBOX_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG))
-- 
1.7.4.rc1

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

* [Buildroot] [PATCH 3/7] toolchain: add a USE_MMU build option
  2011-01-10 14:28 ` [Buildroot] [PATCH 1/7] busybox: unify duplicated build steps Mike Frysinger
  2011-01-10 14:28   ` [Buildroot] [PATCH 2/7] busybox: let buildroot handle stripping Mike Frysinger
@ 2011-01-10 14:28   ` Mike Frysinger
  2011-01-14 12:29     ` Peter Korsgaard
  2011-01-15 13:25     ` Peter Korsgaard
  2011-01-10 14:28   ` [Buildroot] [PATCH 4/7] portmap: add nommu support Mike Frysinger
                     ` (4 subsequent siblings)
  6 siblings, 2 replies; 43+ messages in thread
From: Mike Frysinger @ 2011-01-10 14:28 UTC (permalink / raw)
  To: buildroot

Some packages need to know whether the MMU is in play, so add a toolchain
option to expose the feature to them.

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
 toolchain/helpers.mk          |    2 ++
 toolchain/toolchain-common.in |    7 +++++++
 2 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk
index eb9d742..db7c7f1 100644
--- a/toolchain/helpers.mk
+++ b/toolchain/helpers.mk
@@ -146,6 +146,7 @@ check_glibc = \
 	$(call check_glibc_feature,BR2_INET_IPV6,IPv6 support) ;\
 	$(call check_glibc_feature,BR2_INET_RPC,RPC support) ;\
 	$(call check_glibc_feature,BR2_ENABLE_LOCALE,Locale support) ;\
+	$(call check_glibc_feature,BR2_USE_MMU,MMU support) ;\
 	$(call check_glibc_feature,BR2_USE_WCHAR,Wide char support) ;\
 	$(call check_glibc_feature,BR2_PROGRAM_INVOCATION,Program invocation support)
 
@@ -187,6 +188,7 @@ check_uclibc = \
 		exit -1; \
 	fi; \
 	UCLIBC_CONFIG_FILE=$${SYSROOT_DIR}/usr/include/bits/uClibc_config.h ; \
+	$(call check_uclibc_feature,__ARCH_USE_MMU__,BR2_USE_MMU,$${UCLIBC_CONFIG_FILE},MMU support) ;\
 	$(call check_uclibc_feature,__UCLIBC_HAS_LFS__,BR2_LARGEFILE,$${UCLIBC_CONFIG_FILE},Large file support) ;\
 	$(call check_uclibc_feature,__UCLIBC_HAS_IPV6__,BR2_INET_IPV6,$${UCLIBC_CONFIG_FILE},IPv6 support) ;\
 	$(call check_uclibc_feature,__UCLIBC_HAS_RPC__,BR2_INET_RPC,$${UCLIBC_CONFIG_FILE},RPC support) ;\
diff --git a/toolchain/toolchain-common.in b/toolchain/toolchain-common.in
index bdc6e76..f53f630 100644
--- a/toolchain/toolchain-common.in
+++ b/toolchain/toolchain-common.in
@@ -66,6 +66,13 @@ config BR2_NEEDS_GETTEXT_IF_LOCALE
 	bool
 	default y if (BR2_NEEDS_GETTEXT && BR2_ENABLE_LOCALE)
 
+config BR2_USE_MMU
+	bool "Enable MMU support"
+	default y
+	help
+	  If your target has a MMU, you should say Y here.  If you
+	  are unsure, just say Y.
+
 config BR2_PREFER_SOFT_FLOAT
 	bool
 	default y if BR2_arm || BR2_armeb || BR2_avr32 || BR2_mips || BR2_mipsel
-- 
1.7.4.rc1

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

* [Buildroot] [PATCH 4/7] portmap: add nommu support
  2011-01-10 14:28 ` [Buildroot] [PATCH 1/7] busybox: unify duplicated build steps Mike Frysinger
  2011-01-10 14:28   ` [Buildroot] [PATCH 2/7] busybox: let buildroot handle stripping Mike Frysinger
  2011-01-10 14:28   ` [Buildroot] [PATCH 3/7] toolchain: add a USE_MMU build option Mike Frysinger
@ 2011-01-10 14:28   ` Mike Frysinger
  2011-01-11 10:29     ` Peter Korsgaard
  2011-01-10 14:28   ` [Buildroot] [PATCH 5/7] portmap: respect target CFLAGS Mike Frysinger
                     ` (3 subsequent siblings)
  6 siblings, 1 reply; 43+ messages in thread
From: Mike Frysinger @ 2011-01-10 14:28 UTC (permalink / raw)
  To: buildroot

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
 ...0-0001-README-fix-typo-in-tcp-wrapper-doc.patch |   26 +++++
 ...0002-NO_PIE-make-PIE-support-controllable.patch |   53 ++++++++++
 ...K-control-usage-of-fork-for-nommu-systems.patch |  110 ++++++++++++++++++++
 ...ERROR-control-overriding-of-perror-symbol.patch |   46 ++++++++
 package/portmap/portmap.mk                         |    7 +-
 5 files changed, 241 insertions(+), 1 deletions(-)
 create mode 100644 package/portmap/portmap-6.0-0001-README-fix-typo-in-tcp-wrapper-doc.patch
 create mode 100644 package/portmap/portmap-6.0-0002-NO_PIE-make-PIE-support-controllable.patch
 create mode 100644 package/portmap/portmap-6.0-0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch
 create mode 100644 package/portmap/portmap-6.0-0004-NO_PERROR-control-overriding-of-perror-symbol.patch

diff --git a/package/portmap/portmap-6.0-0001-README-fix-typo-in-tcp-wrapper-doc.patch b/package/portmap/portmap-6.0-0001-README-fix-typo-in-tcp-wrapper-doc.patch
new file mode 100644
index 0000000..01aa7bf
--- /dev/null
+++ b/package/portmap/portmap-6.0-0001-README-fix-typo-in-tcp-wrapper-doc.patch
@@ -0,0 +1,26 @@
+From af4a27a17bbdbe941f2462e116c2e4c8ade110e3 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 19 Nov 2010 23:35:20 -0500
+Subject: [PATCH 1/4] README: fix typo in tcp wrapper doc
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ README |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/README b/README
+index 0da54cc..916de7e 100644
+--- a/README
++++ b/README
+@@ -18,7 +18,7 @@ There is no "./configure", just use "make".
+ 
+ Some make variable can be used to control compilation.
+ 
+- NO_TCP_WRAPPER=  if non-empty, doen't use tcp_wrappers
++ NO_TCP_WRAPPER=  if non-empty, don't use tcp_wrappers
+  USE_DNS=	  if set, tcp_wrappers can check peers based on hostname
+ 		  as well as IP address.  This should only be used if you
+ 		  are certain that gethostbyname will never trigger a
+-- 
+1.7.3.1
+
diff --git a/package/portmap/portmap-6.0-0002-NO_PIE-make-PIE-support-controllable.patch b/package/portmap/portmap-6.0-0002-NO_PIE-make-PIE-support-controllable.patch
new file mode 100644
index 0000000..6e544bf
--- /dev/null
+++ b/package/portmap/portmap-6.0-0002-NO_PIE-make-PIE-support-controllable.patch
@@ -0,0 +1,53 @@
+From 087874b15367a04fd482541d1832696d7163d1ac Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 19 Nov 2010 23:35:47 -0500
+Subject: [PATCH 2/4] NO_PIE: make PIE support controllable
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ Makefile |    8 ++++++--
+ README   |    1 +
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 5343428..cfcfdbb 100644
+--- a/Makefile
++++ b/Makefile
+@@ -106,6 +106,10 @@ CPPFLAGS += -DIGNORE_SIGCHLD	# AIX 4.x, HP-UX 9.x
+ #
+ # LDLIBS	+= -m
+ # CFLAGS	+= -arch m68k -arch i386 -arch hppa
++ifeq ($(NO_PIE),)
++CFLAGS_PIE  = -fpie
++LDFLAGS_PIE = -pie
++endif
+ 
+ # Auxiliary libraries that you may have to specify
+ #
+@@ -125,9 +129,9 @@ CFLAGS   += -Wall -Wstrict-prototypes
+ all:	portmap pmap_dump pmap_set portmap.man
+ 
+ CPPFLAGS += $(HOSTS_ACCESS)
+-portmap: CFLAGS   += -fpie
++portmap: CFLAGS   += $(CFLAGS_PIE)
+ portmap: LDLIBS   += $(WRAP_LIB)
+-portmap: LDFLAGS  += -pie
++portmap: LDFLAGS  += $(LDFLAGS_PIE)
+ portmap: portmap.o pmap_check.o from_local.o
+ 
+ from_local: CPPFLAGS += -DTEST
+diff --git a/README b/README
+index 916de7e..e0b561a 100644
+--- a/README
++++ b/README
+@@ -18,6 +18,7 @@ There is no "./configure", just use "make".
+ 
+ Some make variable can be used to control compilation.
+ 
++ NO_PIE=	  if non-empty, don't build portmap as a PIE
+  NO_TCP_WRAPPER=  if non-empty, don't use tcp_wrappers
+  USE_DNS=	  if set, tcp_wrappers can check peers based on hostname
+ 		  as well as IP address.  This should only be used if you
+-- 
+1.7.3.1
+
diff --git a/package/portmap/portmap-6.0-0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch b/package/portmap/portmap-6.0-0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch
new file mode 100644
index 0000000..6f16aa2
--- /dev/null
+++ b/package/portmap/portmap-6.0-0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch
@@ -0,0 +1,110 @@
+From b3afea5757af1a7356ba30d2e0a7d5909ca18121 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 19 Nov 2010 23:48:20 -0500
+Subject: [PATCH 3/4] NO_FORK: control usage of fork() for nommu systems
+
+nommu systems lack a fork() function, so add a NO_FORK flag to control
+its usage.  We don't lose a ton of functionality in doing so, and on an
+embedded system, this is OK.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ Makefile     |    5 +++++
+ README       |    1 +
+ pmap_check.c |    6 ++++--
+ portmap.c    |    6 ++++++
+ 4 files changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index cfcfdbb..9df5574 100644
+--- a/Makefile
++++ b/Makefile
+@@ -27,6 +27,11 @@ MAN_SED += -e 's/USE_DNS/yes/'
+ endif
+ endif
+ 
++# For no-mmu systems, we have to disable the fork() functions.
++ifneq ($(NO_FORK),)
++CPPFLAGS += -DNO_FORK
++endif
++
+ # Comment out if your RPC library does not allocate privileged ports for
+ # requests from processes with root privilege, or the new portmap will
+ # always reject requests to register/unregister services on privileged
+diff --git a/README b/README
+index e0b561a..bda1707 100644
+--- a/README
++++ b/README
+@@ -18,6 +18,7 @@ There is no "./configure", just use "make".
+ 
+ Some make variable can be used to control compilation.
+ 
++ NO_FORK=	  if non-empty, don't use fork (good for nommu systems)
+  NO_PIE=	  if non-empty, don't build portmap as a PIE
+  NO_TCP_WRAPPER=  if non-empty, don't use tcp_wrappers
+  USE_DNS=	  if set, tcp_wrappers can check peers based on hostname
+diff --git a/pmap_check.c b/pmap_check.c
+index 6b3e490..983414e 100644
+--- a/pmap_check.c
++++ b/pmap_check.c
+@@ -302,8 +302,10 @@ static void logit(int severity, struct sockaddr_in *addr,
+      * getrpcbynumber() or syslog() does its thing.
+      */
+ 
+-    if (fork() == 0) {
+-
++#ifndef NO_FORK
++    if (fork() == 0)
++#endif
++    {
+ 	/* Try to map program number to name. */
+ 
+ 	if (prognum == 0) {
+diff --git a/portmap.c b/portmap.c
+index 2a98881..94abc64 100644
+--- a/portmap.c
++++ b/portmap.c
+@@ -391,12 +391,14 @@ main(int argc, char **argv)
+ 	abort();
+ }
+ 
++#ifndef NO_PERROR
+ /* need to override perror calls in rpc library */
+ void perror(const char *what)
+ {
+ 
+ 	syslog(LOG_ERR, "%s: %m", what);
+ }
++#endif
+ 
+ static struct pmaplist *
+ find_service(u_long prog, u_long vers, u_long prot)
+@@ -753,6 +755,7 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt)
+ 	if ((pml = find_service(a.rmt_prog, a.rmt_vers,
+ 	    (u_long)IPPROTO_UDP)) == NULL)
+ 		return;
++#ifndef NO_FORK
+ 	/*
+ 	 * fork a child to do the work.  Parent immediately returns.
+ 	 * Child exits upon completion.
+@@ -763,6 +766,7 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt)
+ 			    a.rmt_prog);
+ 		return;
+ 	}
++#endif
+ 	port = pml->pml_map.pm_port;
+ 	get_myaddress(&me);
+ 	me.sin_port = htons(port);
+@@ -783,7 +787,9 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt)
+ 		clnt_destroy(client);
+ 	}
+ 	(void)close(so);
++#ifndef NO_FORK
+ 	exit(0);
++#endif
+ }
+ 
+ #ifndef IGNORE_SIGCHLD			/* Lionel Cons <cons@dxcern.cern.ch> */
+-- 
+1.7.3.1
+
diff --git a/package/portmap/portmap-6.0-0004-NO_PERROR-control-overriding-of-perror-symbol.patch b/package/portmap/portmap-6.0-0004-NO_PERROR-control-overriding-of-perror-symbol.patch
new file mode 100644
index 0000000..a5554ea
--- /dev/null
+++ b/package/portmap/portmap-6.0-0004-NO_PERROR-control-overriding-of-perror-symbol.patch
@@ -0,0 +1,46 @@
+From 8cea0778f0fb838a7bd764be08f15e1494e5a0b2 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 19 Nov 2010 23:50:27 -0500
+Subject: [PATCH 4/4] NO_PERROR: control overriding of perror() symbol
+
+Doing static builds of portmap might fail when the C library's perror()
+function is pulled in and collides with portmap's definition.  So add a
+flag to control the local override.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ Makefile |    5 +++++
+ README   |    1 +
+ 2 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 9df5574..1635107 100644
+--- a/Makefile
++++ b/Makefile
+@@ -32,6 +32,11 @@ ifneq ($(NO_FORK),)
+ CPPFLAGS += -DNO_FORK
+ endif
+ 
++# For static builds, we might hit perror() symbol clashes
++ifneq ($(NO_PERROR),)
++CPPFLAGS += -DNO_PERROR
++endif
++
+ # Comment out if your RPC library does not allocate privileged ports for
+ # requests from processes with root privilege, or the new portmap will
+ # always reject requests to register/unregister services on privileged
+diff --git a/README b/README
+index bda1707..05861a8 100644
+--- a/README
++++ b/README
+@@ -19,6 +19,7 @@ There is no "./configure", just use "make".
+ Some make variable can be used to control compilation.
+ 
+  NO_FORK=	  if non-empty, don't use fork (good for nommu systems)
++ NO_PERROR=	  if non-empty, don't override the perror() func
+  NO_PIE=	  if non-empty, don't build portmap as a PIE
+  NO_TCP_WRAPPER=  if non-empty, don't use tcp_wrappers
+  USE_DNS=	  if set, tcp_wrappers can check peers based on hostname
+-- 
+1.7.3.1
+
diff --git a/package/portmap/portmap.mk b/package/portmap/portmap.mk
index e83ff1d..4a5fe62 100644
--- a/package/portmap/portmap.mk
+++ b/package/portmap/portmap.mk
@@ -9,8 +9,13 @@ PORTMAP_SOURCE = portmap-$(PORTMAP_VERSION).tgz
 PORTMAP_SITE = http://neil.brown.name/portmap
 PORTMAP_SBINS = portmap pmap_dump pmap_set
 
+PORTMAP_FLAGS = NO_TCP_WRAPPER=1 NO_PIE=1 NO_PERROR=1
+ifeq ($(BR2_USE_MMU),)
+PORTMAP_FLAGS += NO_FORK=1
+endif
+
 define PORTMAP_BUILD_CMDS
-	$(MAKE) CC="$(TARGET_CC)" -C $(@D) NO_TCP_WRAPPER=1
+	$(MAKE) CC="$(TARGET_CC)" -C $(@D) $(PORTMAP_FLAGS)
 endef
 
 define PORTMAP_INSTALL_TARGET_CMDS
-- 
1.7.4.rc1

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

* [Buildroot] [PATCH 5/7] portmap: respect target CFLAGS
  2011-01-10 14:28 ` [Buildroot] [PATCH 1/7] busybox: unify duplicated build steps Mike Frysinger
                     ` (2 preceding siblings ...)
  2011-01-10 14:28   ` [Buildroot] [PATCH 4/7] portmap: add nommu support Mike Frysinger
@ 2011-01-10 14:28   ` Mike Frysinger
  2011-01-19 21:20     ` Peter Korsgaard
  2011-01-10 14:28   ` [Buildroot] [PATCH 6/7] portmap: fix clean target to actually clean Mike Frysinger
                     ` (2 subsequent siblings)
  6 siblings, 1 reply; 43+ messages in thread
From: Mike Frysinger @ 2011-01-10 14:28 UTC (permalink / raw)
  To: buildroot

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
 package/portmap/portmap.mk |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/package/portmap/portmap.mk b/package/portmap/portmap.mk
index 4a5fe62..bebafce 100644
--- a/package/portmap/portmap.mk
+++ b/package/portmap/portmap.mk
@@ -15,6 +15,7 @@ PORTMAP_FLAGS += NO_FORK=1
 endif
 
 define PORTMAP_BUILD_CMDS
+	CFLAGS="$(TARGET_CFLAGS)" \
 	$(MAKE) CC="$(TARGET_CC)" -C $(@D) $(PORTMAP_FLAGS)
 endef
 
-- 
1.7.4.rc1

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

* [Buildroot] [PATCH 6/7] portmap: fix clean target to actually clean
  2011-01-10 14:28 ` [Buildroot] [PATCH 1/7] busybox: unify duplicated build steps Mike Frysinger
                     ` (3 preceding siblings ...)
  2011-01-10 14:28   ` [Buildroot] [PATCH 5/7] portmap: respect target CFLAGS Mike Frysinger
@ 2011-01-10 14:28   ` Mike Frysinger
  2011-01-19 21:21     ` Peter Korsgaard
  2011-01-10 14:28   ` [Buildroot] [PATCH 7/7] tcpdump: add patch for nommu systems Mike Frysinger
  2011-01-11  9:52   ` [Buildroot] [PATCH 1/7] busybox: unify duplicated build steps Peter Korsgaard
  6 siblings, 1 reply; 43+ messages in thread
From: Mike Frysinger @ 2011-01-10 14:28 UTC (permalink / raw)
  To: buildroot

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
 package/portmap/portmap.mk |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/package/portmap/portmap.mk b/package/portmap/portmap.mk
index bebafce..e996824 100644
--- a/package/portmap/portmap.mk
+++ b/package/portmap/portmap.mk
@@ -19,6 +19,10 @@ define PORTMAP_BUILD_CMDS
 	$(MAKE) CC="$(TARGET_CC)" -C $(@D) $(PORTMAP_FLAGS)
 endef
 
+define PORTMAP_CLEAN_CMDS
+	$(MAKE) -C $(@D) clean
+endef
+
 define PORTMAP_INSTALL_TARGET_CMDS
 	for sbin in $(PORTMAP_SBINS); do \
 		$(INSTALL) -D $(@D)/$$sbin $(TARGET_DIR)/sbin/$$sbin; \
-- 
1.7.4.rc1

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

* [Buildroot] [PATCH 7/7] tcpdump: add patch for nommu systems
  2011-01-10 14:28 ` [Buildroot] [PATCH 1/7] busybox: unify duplicated build steps Mike Frysinger
                     ` (4 preceding siblings ...)
  2011-01-10 14:28   ` [Buildroot] [PATCH 6/7] portmap: fix clean target to actually clean Mike Frysinger
@ 2011-01-10 14:28   ` Mike Frysinger
  2011-01-19 21:52     ` Peter Korsgaard
  2011-01-11  9:52   ` [Buildroot] [PATCH 1/7] busybox: unify duplicated build steps Peter Korsgaard
  6 siblings, 1 reply; 43+ messages in thread
From: Mike Frysinger @ 2011-01-10 14:28 UTC (permalink / raw)
  To: buildroot

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
 package/tcpdump/tcpdump-4.1.1-vfork.patch |  128 +++++++++++++++++++++++++++++
 1 files changed, 128 insertions(+), 0 deletions(-)
 create mode 100644 package/tcpdump/tcpdump-4.1.1-vfork.patch

diff --git a/package/tcpdump/tcpdump-4.1.1-vfork.patch b/package/tcpdump/tcpdump-4.1.1-vfork.patch
new file mode 100644
index 0000000..a6725e6
--- /dev/null
+++ b/package/tcpdump/tcpdump-4.1.1-vfork.patch
@@ -0,0 +1,128 @@
+https://sourceforge.net/tracker/?func=detail&aid=3120897&group_id=53066&atid=469575
+
+From 6f8927c609d1f986a45010b7acae0eb570668642 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 27 Nov 2010 17:18:05 -0500
+Subject: [PATCH] add support for nommu systems
+
+Rather than hardcode the WIN32 define, add proper fork checks to the
+configure script and check those.  This fixes building for nommu systems
+which lack the fork function.
+
+While we're here though, add support for this functionality via vfork
+so that it does work on nommu systems.  And fix an old bug where we
+exit properly in the forked child when the exec failed instead of just
+returning to the calling code (which isn't expecting it).
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+
+--- tcpdump-4.0.0/config.h.in
++++ tcpdump-4.0.0/config.h.in
+@@ -151,6 +151,9 @@
+ /* Define to 1 if you have the <fcntl.h> header file. */
+ #undef HAVE_FCNTL_H
+ 
++/* Define to 1 if you have the `fork' function. */
++#undef HAVE_FORK
++
+ /* Define to 1 if you have the `getnameinfo' function. */
+ #undef HAVE_GETNAMEINFO
+ 
+@@ -274,6 +277,9 @@
+ /* Define to 1 if you have the <unistd.h> header file. */
+ #undef HAVE_UNISTD_H
+ 
++/* Define to 1 if you have the `vfork' function. */
++#undef HAVE_VFORK
++
+ /* Define to 1 if you have the `vfprintf' function. */
+ #undef HAVE_VFPRINTF
+ 
+--- tcpdump-4.0.0/configure
++++ tcpdump-4.0.0/configure
+@@ -7976,7 +7976,7 @@ done
+ 
+ 
+ 
+-for ac_func in strftime
++for ac_func in fork vfork strftime
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ { echo "$as_me:$LINENO: checking for $ac_func" >&5
+diff --git a/tcpdump.c b/tcpdump.c
+index c8da36b..abf3e69 100644
+--- a/tcpdump.c
++++ b/tcpdump.c
+@@ -1250,8 +1250,10 @@ main(int argc, char **argv)
+ 	(void)setsignal(SIGPIPE, cleanup);
+ 	(void)setsignal(SIGTERM, cleanup);
+ 	(void)setsignal(SIGINT, cleanup);
+-	(void)setsignal(SIGCHLD, child_cleanup);
+ #endif /* WIN32 */
++#if defined(HAVE_FORK) || defined(HAVE_VFORK)
++	(void)setsignal(SIGCHLD, child_cleanup);
++#endif
+ 	/* Cooperate with nohup(1) */
+ #ifndef WIN32	
+ 	if ((oldhandler = setsignal(SIGHUP, cleanup)) != SIG_DFL)
+@@ -1464,13 +1466,13 @@ cleanup(int signo _U_)
+   On windows, we do not use a fork, so we do not care less about
+   waiting a child processes to die
+  */
+-#ifndef WIN32
++#if defined(HAVE_FORK) || defined(HAVE_VFORK)
+ static RETSIGTYPE
+ child_cleanup(int signo _U_)
+ {
+   wait(NULL);
+ }
+-#endif /* WIN32 */
++#endif /* HAVE_FORK && HAVE_VFORK */
+ 
+ static void
+ info(register int verbose)
+@@ -1514,11 +1516,15 @@ info(register int verbose)
+ 	infoprint = 0;
+ }
+ 
+-#ifndef WIN32
++#if defined(HAVE_FORK) || defined(HAVE_VFORK)
+ static void
+ compress_savefile(const char *filename)
+ {
++# ifdef HAVE_FORK
+ 	if (fork())
++# else
++	if (vfork())
++# endif
+ 		return;
+ 	/*
+ 	 * Set to lowest priority so that this doesn't disturb the capture
+@@ -1534,15 +1540,20 @@ compress_savefile(const char *filename)
+ 			zflag,
+ 			filename,
+ 			strerror(errno));
++# ifdef HAVE_FORK
++	exit(1);
++# else
++	_exit(1);
++# endif
+ }
+-#else  /* WIN32 */
++#else  /* HAVE_FORK && HAVE_VFORK */
+ static void
+ compress_savefile(const char *filename)
+ {
+ 	fprintf(stderr,
+-		"compress_savefile failed. Functionality not implemented under windows\n");
++		"compress_savefile failed. Functionality not implemented under your system\n");
+ }
+-#endif /* WIN32 */
++#endif /* HAVE_FORK && HAVE_VFORK */
+ 
+ static void
+ dump_packet_and_trunc(u_char *user, const struct pcap_pkthdr *h, const u_char *sp)
+-- 
+1.7.3.1
+
-- 
1.7.4.rc1

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

* [Buildroot] [PATCH 1/7] busybox: unify duplicated build steps
  2011-01-10 14:28 ` [Buildroot] [PATCH 1/7] busybox: unify duplicated build steps Mike Frysinger
                     ` (5 preceding siblings ...)
  2011-01-10 14:28   ` [Buildroot] [PATCH 7/7] tcpdump: add patch for nommu systems Mike Frysinger
@ 2011-01-11  9:52   ` Peter Korsgaard
  6 siblings, 0 replies; 43+ messages in thread
From: Peter Korsgaard @ 2011-01-11  9:52 UTC (permalink / raw)
  To: buildroot

>>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:

 Mike> This does set a few more vars in some steps that weren't set before, but
 Mike> they should be harmless in the contexts in question.  And the resulting
 Mike> save in duplication is nice.

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 2/7] busybox: let buildroot handle stripping
  2011-01-10 14:28   ` [Buildroot] [PATCH 2/7] busybox: let buildroot handle stripping Mike Frysinger
@ 2011-01-11  9:52     ` Peter Korsgaard
  0 siblings, 0 replies; 43+ messages in thread
From: Peter Korsgaard @ 2011-01-11  9:52 UTC (permalink / raw)
  To: buildroot

>>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:

 Mike> For some ABI's (like FLAT), we cannot strip busybox as the file format
 Mike> does not support it and strip will abort with errors like 'File format
 Mike> not recognized'.  Since the toplevel already takes care of stripping
 Mike> things, simply disable the busybox step.

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 4/7] portmap: add nommu support
  2011-01-10 14:28   ` [Buildroot] [PATCH 4/7] portmap: add nommu support Mike Frysinger
@ 2011-01-11 10:29     ` Peter Korsgaard
  2011-01-11 17:50       ` Mike Frysinger
  2011-01-11 18:00       ` [Buildroot] [PATCH 4/7 v2] " Mike Frysinger
  0 siblings, 2 replies; 43+ messages in thread
From: Peter Korsgaard @ 2011-01-11 10:29 UTC (permalink / raw)
  To: buildroot

>>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:

Hi,

 Mike> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 Mike> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
 Mike> ---
 Mike>  ...0-0001-README-fix-typo-in-tcp-wrapper-doc.patch |   26 +++++
 Mike>  ...0002-NO_PIE-make-PIE-support-controllable.patch |   53 ++++++++++
 Mike>  ...K-control-usage-of-fork-for-nommu-systems.patch |  110 ++++++++++++++++++++
 Mike>  ...ERROR-control-overriding-of-perror-symbol.patch |   46 ++++++++
 Mike>  package/portmap/portmap.mk                         |    7 +-
 Mike>  5 files changed, 241 insertions(+), 1 deletions(-)
 Mike>  create mode 100644 package/portmap/portmap-6.0-0001-README-fix-typo-in-tcp-wrapper-doc.patch
 Mike>  create mode 100644 package/portmap/portmap-6.0-0002-NO_PIE-make-PIE-support-controllable.patch
 Mike>  create mode 100644 package/portmap/portmap-6.0-0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch
 Mike>  create mode 100644 package/portmap/portmap-6.0-0004-NO_PERROR-control-overriding-of-perror-symbol.patch

What's the upstream status of these patches?


 Mike> +++ b/package/portmap/portmap-6.0-0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch
 Mike> @@ -0,0 +1,110 @@
 Mike> +From b3afea5757af1a7356ba30d2e0a7d5909ca18121 Mon Sep 17 00:00:00 2001
 Mike> +From: Mike Frysinger <vapier@gentoo.org>
 Mike> +Date: Fri, 19 Nov 2010 23:48:20 -0500
 Mike> +Subject: [PATCH 3/4] NO_FORK: control usage of fork() for nommu systems
 Mike> +
 Mike> +nommu systems lack a fork() function, so add a NO_FORK flag to control
 Mike> +its usage.  We don't lose a ton of functionality in doing so, and on an
 Mike> +embedded system, this is OK.
 Mike> +
 Mike> +Signed-off-by: Mike Frysinger <vapier@gentoo.org>
 Mike> +---
 Mike> + Makefile     |    5 +++++
 Mike> + README       |    1 +
 Mike> + pmap_check.c |    6 ++++--
 Mike> + portmap.c    |    6 ++++++
 Mike> + 4 files changed, 16 insertions(+), 2 deletions(-)
 Mike> +
 Mike> +diff --git a/Makefile b/Makefile
 Mike> +index cfcfdbb..9df5574 100644
 Mike> +--- a/Makefile
 Mike> ++++ b/Makefile
 Mike> +@@ -27,6 +27,11 @@ MAN_SED += -e 's/USE_DNS/yes/'
 Mike> + endif
 Mike> + endif
 Mike> + 
 Mike> ++# For no-mmu systems, we have to disable the fork() functions.
 Mike> ++ifneq ($(NO_FORK),)
 Mike> ++CPPFLAGS += -DNO_FORK
 Mike> ++endif
 Mike> ++
 Mike> + # Comment out if your RPC library does not allocate privileged ports for
 Mike> + # requests from processes with root privilege, or the new portmap will
 Mike> + # always reject requests to register/unregister services on privileged
 Mike> +diff --git a/README b/README
 Mike> +index e0b561a..bda1707 100644
 Mike> +--- a/README
 Mike> ++++ b/README
 Mike> +@@ -18,6 +18,7 @@ There is no "./configure", just use "make".
 Mike> + 
 Mike> + Some make variable can be used to control compilation.
 Mike> + 
 Mike> ++ NO_FORK=	  if non-empty, don't use fork (good for nommu systems)
 Mike> +  NO_PIE=	  if non-empty, don't build portmap as a PIE
 Mike> +  NO_TCP_WRAPPER=  if non-empty, don't use tcp_wrappers
 Mike> +  USE_DNS=	  if set, tcp_wrappers can check peers based on hostname
 Mike> +diff --git a/pmap_check.c b/pmap_check.c
 Mike> +index 6b3e490..983414e 100644
 Mike> +--- a/pmap_check.c
 Mike> ++++ b/pmap_check.c
 Mike> +@@ -302,8 +302,10 @@ static void logit(int severity, struct sockaddr_in *addr,
 Mike> +      * getrpcbynumber() or syslog() does its thing.
 Mike> +      */
 Mike> + 
 Mike> +-    if (fork() == 0) {
 Mike> +-
 Mike> ++#ifndef NO_FORK
 Mike> ++    if (fork() == 0)
 Mike> ++#endif
 Mike> ++    {
 Mike> + 	/* Try to map program number to name. */
 Mike> + 
 Mike> + 	if (prognum == 0) {
 Mike> +diff --git a/portmap.c b/portmap.c
 Mike> +index 2a98881..94abc64 100644
 Mike> +--- a/portmap.c
 Mike> ++++ b/portmap.c
 Mike> +@@ -391,12 +391,14 @@ main(int argc, char **argv)
 Mike> + 	abort();
 Mike> + }
 Mike> + 
 Mike> ++#ifndef NO_PERROR
 Mike> + /* need to override perror calls in rpc library */
 Mike> + void perror(const char *what)

What is this NO_PERROR thing? That belongs in the next patch rather than
here, right?

 Mike> +++ b/package/portmap/portmap-6.0-0004-NO_PERROR-control-overriding-of-perror-symbol.patch
 Mike> @@ -0,0 +1,46 @@
 Mike> +From 8cea0778f0fb838a7bd764be08f15e1494e5a0b2 Mon Sep 17 00:00:00 2001
 Mike> +From: Mike Frysinger <vapier@gentoo.org>
 Mike> +Date: Fri, 19 Nov 2010 23:50:27 -0500
 Mike> +Subject: [PATCH 4/4] NO_PERROR: control overriding of perror() symbol
 Mike> +
 Mike> +Doing static builds of portmap might fail when the C library's perror()
 Mike> +function is pulled in and collides with portmap's definition.  So add a
 Mike> +flag to control the local override.

Why not simply rename it like the recent issue with getline -> get_line
in kconfig?

 Mike> diff --git a/package/portmap/portmap.mk b/package/portmap/portmap.mk
 Mike> index e83ff1d..4a5fe62 100644
 Mike> --- a/package/portmap/portmap.mk
 Mike> +++ b/package/portmap/portmap.mk
 Mike> @@ -9,8 +9,13 @@ PORTMAP_SOURCE = portmap-$(PORTMAP_VERSION).tgz
 Mike>  PORTMAP_SITE = http://neil.brown.name/portmap
 Mike>  PORTMAP_SBINS = portmap pmap_dump pmap_set
 
 Mike> +PORTMAP_FLAGS = NO_TCP_WRAPPER=1 NO_PIE=1 NO_PERROR=1

Why enforce no PIE?

 Mike> +ifeq ($(BR2_USE_MMU),)
 Mike> +PORTMAP_FLAGS += NO_FORK=1

Out of interest, what functionaly in portmapper do you miss with
NO_FORK?

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 4/7] portmap: add nommu support
  2011-01-11 10:29     ` Peter Korsgaard
@ 2011-01-11 17:50       ` Mike Frysinger
  2011-01-11 20:30         ` Peter Korsgaard
  2011-01-11 18:00       ` [Buildroot] [PATCH 4/7 v2] " Mike Frysinger
  1 sibling, 1 reply; 43+ messages in thread
From: Mike Frysinger @ 2011-01-11 17:50 UTC (permalink / raw)
  To: buildroot

On Tuesday, January 11, 2011 05:29:45 Peter Korsgaard wrote:
> What's the upstream status of these patches?

they've been sent multiple times, but upstream portmap hasnt responded to 
anyone in a while

> What is this NO_PERROR thing? That belongs in the next patch rather than
> here, right?

yes

> Why not simply rename it like the recent issue with getline -> get_line
> in kconfig?

because perror is a standard, not a gnuism like getline

> Why enforce no PIE?

the better question is why force PIE.  for embedded systems, this is almost 
always a waste.

> Out of interest, what functionaly in portmapper do you miss with
> NO_FORK?

the forks are only used to speed up responses
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20110111/1374ea85/attachment.asc>

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

* [Buildroot] [PATCH 4/7 v2] portmap: add nommu support
  2011-01-11 10:29     ` Peter Korsgaard
  2011-01-11 17:50       ` Mike Frysinger
@ 2011-01-11 18:00       ` Mike Frysinger
  2011-01-19 21:19         ` Peter Korsgaard
  1 sibling, 1 reply; 43+ messages in thread
From: Mike Frysinger @ 2011-01-11 18:00 UTC (permalink / raw)
  To: buildroot

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
v2
	- tweak perror patch

 ...0-0001-README-fix-typo-in-tcp-wrapper-doc.patch |   26 ++++++
 ...0002-NO_PIE-make-PIE-support-controllable.patch |   53 +++++++++++
 ...K-control-usage-of-fork-for-nommu-systems.patch |   95 ++++++++++++++++++++
 ...ERROR-control-overriding-of-perror-symbol.patch |   65 +++++++++++++
 package/portmap/portmap.mk                         |    7 ++-
 5 files changed, 245 insertions(+), 1 deletions(-)
 create mode 100644 package/portmap/portmap-6.0-0001-README-fix-typo-in-tcp-wrapper-doc.patch
 create mode 100644 package/portmap/portmap-6.0-0002-NO_PIE-make-PIE-support-controllable.patch
 create mode 100644 package/portmap/portmap-6.0-0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch
 create mode 100644 package/portmap/portmap-6.0-0004-NO_PERROR-control-overriding-of-perror-symbol.patch

diff --git a/package/portmap/portmap-6.0-0001-README-fix-typo-in-tcp-wrapper-doc.patch b/package/portmap/portmap-6.0-0001-README-fix-typo-in-tcp-wrapper-doc.patch
new file mode 100644
index 0000000..01aa7bf
--- /dev/null
+++ b/package/portmap/portmap-6.0-0001-README-fix-typo-in-tcp-wrapper-doc.patch
@@ -0,0 +1,26 @@
+From af4a27a17bbdbe941f2462e116c2e4c8ade110e3 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 19 Nov 2010 23:35:20 -0500
+Subject: [PATCH 1/4] README: fix typo in tcp wrapper doc
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ README |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/README b/README
+index 0da54cc..916de7e 100644
+--- a/README
++++ b/README
+@@ -18,7 +18,7 @@ There is no "./configure", just use "make".
+ 
+ Some make variable can be used to control compilation.
+ 
+- NO_TCP_WRAPPER=  if non-empty, doen't use tcp_wrappers
++ NO_TCP_WRAPPER=  if non-empty, don't use tcp_wrappers
+  USE_DNS=	  if set, tcp_wrappers can check peers based on hostname
+ 		  as well as IP address.  This should only be used if you
+ 		  are certain that gethostbyname will never trigger a
+-- 
+1.7.3.1
+
diff --git a/package/portmap/portmap-6.0-0002-NO_PIE-make-PIE-support-controllable.patch b/package/portmap/portmap-6.0-0002-NO_PIE-make-PIE-support-controllable.patch
new file mode 100644
index 0000000..6e544bf
--- /dev/null
+++ b/package/portmap/portmap-6.0-0002-NO_PIE-make-PIE-support-controllable.patch
@@ -0,0 +1,53 @@
+From 087874b15367a04fd482541d1832696d7163d1ac Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 19 Nov 2010 23:35:47 -0500
+Subject: [PATCH 2/4] NO_PIE: make PIE support controllable
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ Makefile |    8 ++++++--
+ README   |    1 +
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 5343428..cfcfdbb 100644
+--- a/Makefile
++++ b/Makefile
+@@ -106,6 +106,10 @@ CPPFLAGS += -DIGNORE_SIGCHLD	# AIX 4.x, HP-UX 9.x
+ #
+ # LDLIBS	+= -m
+ # CFLAGS	+= -arch m68k -arch i386 -arch hppa
++ifeq ($(NO_PIE),)
++CFLAGS_PIE  = -fpie
++LDFLAGS_PIE = -pie
++endif
+ 
+ # Auxiliary libraries that you may have to specify
+ #
+@@ -125,9 +129,9 @@ CFLAGS   += -Wall -Wstrict-prototypes
+ all:	portmap pmap_dump pmap_set portmap.man
+ 
+ CPPFLAGS += $(HOSTS_ACCESS)
+-portmap: CFLAGS   += -fpie
++portmap: CFLAGS   += $(CFLAGS_PIE)
+ portmap: LDLIBS   += $(WRAP_LIB)
+-portmap: LDFLAGS  += -pie
++portmap: LDFLAGS  += $(LDFLAGS_PIE)
+ portmap: portmap.o pmap_check.o from_local.o
+ 
+ from_local: CPPFLAGS += -DTEST
+diff --git a/README b/README
+index 916de7e..e0b561a 100644
+--- a/README
++++ b/README
+@@ -18,6 +18,7 @@ There is no "./configure", just use "make".
+ 
+ Some make variable can be used to control compilation.
+ 
++ NO_PIE=	  if non-empty, don't build portmap as a PIE
+  NO_TCP_WRAPPER=  if non-empty, don't use tcp_wrappers
+  USE_DNS=	  if set, tcp_wrappers can check peers based on hostname
+ 		  as well as IP address.  This should only be used if you
+-- 
+1.7.3.1
+
diff --git a/package/portmap/portmap-6.0-0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch b/package/portmap/portmap-6.0-0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch
new file mode 100644
index 0000000..41396b6
--- /dev/null
+++ b/package/portmap/portmap-6.0-0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch
@@ -0,0 +1,95 @@
+From b3afea5757af1a7356ba30d2e0a7d5909ca18121 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 19 Nov 2010 23:48:20 -0500
+Subject: [PATCH 3/4] NO_FORK: control usage of fork() for nommu systems
+
+nommu systems lack a fork() function, so add a NO_FORK flag to control
+its usage.  We don't lose a ton of functionality in doing so, and on an
+embedded system, this is OK.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ Makefile     |    5 +++++
+ README       |    1 +
+ pmap_check.c |    6 ++++--
+ portmap.c    |    6 ++++++
+ 4 files changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index cfcfdbb..9df5574 100644
+--- a/Makefile
++++ b/Makefile
+@@ -27,6 +27,11 @@ MAN_SED += -e 's/USE_DNS/yes/'
+ endif
+ endif
+ 
++# For no-mmu systems, we have to disable the fork() functions.
++ifneq ($(NO_FORK),)
++CPPFLAGS += -DNO_FORK
++endif
++
+ # Comment out if your RPC library does not allocate privileged ports for
+ # requests from processes with root privilege, or the new portmap will
+ # always reject requests to register/unregister services on privileged
+diff --git a/README b/README
+index e0b561a..bda1707 100644
+--- a/README
++++ b/README
+@@ -18,6 +18,7 @@ There is no "./configure", just use "make".
+ 
+ Some make variable can be used to control compilation.
+ 
++ NO_FORK=	  if non-empty, don't use fork (good for nommu systems)
+  NO_PIE=	  if non-empty, don't build portmap as a PIE
+  NO_TCP_WRAPPER=  if non-empty, don't use tcp_wrappers
+  USE_DNS=	  if set, tcp_wrappers can check peers based on hostname
+diff --git a/pmap_check.c b/pmap_check.c
+index 6b3e490..983414e 100644
+--- a/pmap_check.c
++++ b/pmap_check.c
+@@ -302,8 +302,10 @@ static void logit(int severity, struct sockaddr_in *addr,
+      * getrpcbynumber() or syslog() does its thing.
+      */
+ 
+-    if (fork() == 0) {
+-
++#ifndef NO_FORK
++    if (fork() == 0)
++#endif
++    {
+ 	/* Try to map program number to name. */
+ 
+ 	if (prognum == 0) {
+diff --git a/portmap.c b/portmap.c
+index 2a98881..94abc64 100644
+--- a/portmap.c
++++ b/portmap.c
+@@ -753,6 +755,7 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt)
+ 	if ((pml = find_service(a.rmt_prog, a.rmt_vers,
+ 	    (u_long)IPPROTO_UDP)) == NULL)
+ 		return;
++#ifndef NO_FORK
+ 	/*
+ 	 * fork a child to do the work.  Parent immediately returns.
+ 	 * Child exits upon completion.
+@@ -763,6 +766,7 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt)
+ 			    a.rmt_prog);
+ 		return;
+ 	}
++#endif
+ 	port = pml->pml_map.pm_port;
+ 	get_myaddress(&me);
+ 	me.sin_port = htons(port);
+@@ -783,7 +787,9 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt)
+ 		clnt_destroy(client);
+ 	}
+ 	(void)close(so);
++#ifndef NO_FORK
+ 	exit(0);
++#endif
+ }
+ 
+ #ifndef IGNORE_SIGCHLD			/* Lionel Cons <cons@dxcern.cern.ch> */
+-- 
+1.7.3.1
+
diff --git a/package/portmap/portmap-6.0-0004-NO_PERROR-control-overriding-of-perror-symbol.patch b/package/portmap/portmap-6.0-0004-NO_PERROR-control-overriding-of-perror-symbol.patch
new file mode 100644
index 0000000..665d6a1
--- /dev/null
+++ b/package/portmap/portmap-6.0-0004-NO_PERROR-control-overriding-of-perror-symbol.patch
@@ -0,0 +1,65 @@
+From 8cea0778f0fb838a7bd764be08f15e1494e5a0b2 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 19 Nov 2010 23:50:27 -0500
+Subject: [PATCH 4/4] NO_PERROR: control overriding of perror() symbol
+
+Doing static builds of portmap might fail when the C library's perror()
+function is pulled in and collides with portmap's definition.  So add a
+flag to control the local override.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ Makefile |    5 +++++
+ README   |    1 +
+ 2 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 9df5574..1635107 100644
+--- a/Makefile
++++ b/Makefile
+@@ -32,6 +32,11 @@ ifneq ($(NO_FORK),)
+ CPPFLAGS += -DNO_FORK
+ endif
+ 
++# For static builds, we might hit perror() symbol clashes
++ifneq ($(NO_PERROR),)
++CPPFLAGS += -DNO_PERROR
++endif
++
+ # Comment out if your RPC library does not allocate privileged ports for
+ # requests from processes with root privilege, or the new portmap will
+ # always reject requests to register/unregister services on privileged
+diff --git a/README b/README
+index bda1707..05861a8 100644
+--- a/README
++++ b/README
+@@ -19,6 +19,7 @@ There is no "./configure", just use "make".
+ Some make variable can be used to control compilation.
+ 
+  NO_FORK=	  if non-empty, don't use fork (good for nommu systems)
++ NO_PERROR=	  if non-empty, don't override the perror() func
+  NO_PIE=	  if non-empty, don't build portmap as a PIE
+  NO_TCP_WRAPPER=  if non-empty, don't use tcp_wrappers
+  USE_DNS=	  if set, tcp_wrappers can check peers based on hostname
+diff --git a/portmap.c b/portmap.c
+index 2a98881..94abc64 100644
+--- a/portmap.c
++++ b/portmap.c
+@@ -391,12 +391,14 @@ main(int argc, char **argv)
+ 	abort();
+ }
+ 
++#ifndef NO_PERROR
+ /* need to override perror calls in rpc library */
+ void perror(const char *what)
+ {
+ 
+ 	syslog(LOG_ERR, "%s: %m", what);
+ }
++#endif
+ 
+ static struct pmaplist *
+ find_service(u_long prog, u_long vers, u_long prot)
+-- 
+1.7.3.1
+
diff --git a/package/portmap/portmap.mk b/package/portmap/portmap.mk
index e83ff1d..4a5fe62 100644
--- a/package/portmap/portmap.mk
+++ b/package/portmap/portmap.mk
@@ -9,8 +9,13 @@ PORTMAP_SOURCE = portmap-$(PORTMAP_VERSION).tgz
 PORTMAP_SITE = http://neil.brown.name/portmap
 PORTMAP_SBINS = portmap pmap_dump pmap_set
 
+PORTMAP_FLAGS = NO_TCP_WRAPPER=1 NO_PIE=1 NO_PERROR=1
+ifeq ($(BR2_USE_MMU),)
+PORTMAP_FLAGS += NO_FORK=1
+endif
+
 define PORTMAP_BUILD_CMDS
-	$(MAKE) CC="$(TARGET_CC)" -C $(@D) NO_TCP_WRAPPER=1
+	$(MAKE) CC="$(TARGET_CC)" -C $(@D) $(PORTMAP_FLAGS)
 endef
 
 define PORTMAP_INSTALL_TARGET_CMDS
-- 
1.7.4.rc1

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

* [Buildroot] [PATCH 4/7] portmap: add nommu support
  2011-01-11 17:50       ` Mike Frysinger
@ 2011-01-11 20:30         ` Peter Korsgaard
  2011-01-16  1:20           ` Mike Frysinger
  0 siblings, 1 reply; 43+ messages in thread
From: Peter Korsgaard @ 2011-01-11 20:30 UTC (permalink / raw)
  To: buildroot

>>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:

Hi,

 Mike> On Tuesday, January 11, 2011 05:29:45 Peter Korsgaard wrote:
 >> What's the upstream status of these patches?

 Mike> they've been sent multiple times, but upstream portmap hasnt
 Mike> responded to anyone in a while

Ok, thanks.

 >> What is this NO_PERROR thing? That belongs in the next patch rather than
 >> here, right?

 Mike> yes

Ok.

 >> Why not simply rename it like the recent issue with getline -> get_line
 >> in kconfig?

 Mike> because perror is a standard, not a gnuism like getline

Yes, but why is there a perror() implementation in portmapper in the
first place? It seems like they want
something-looking-like-perror-but-using-syslog, rather than the real
perror?

 >> Out of interest, what functionaly in portmapper do you miss with
 >> NO_FORK?

 Mike> the forks are only used to speed up responses

Ok.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 3/7] toolchain: add a USE_MMU build option
  2011-01-10 14:28   ` [Buildroot] [PATCH 3/7] toolchain: add a USE_MMU build option Mike Frysinger
@ 2011-01-14 12:29     ` Peter Korsgaard
  2011-01-14 21:27       ` Mike Frysinger
  2011-01-15 13:25     ` Peter Korsgaard
  1 sibling, 1 reply; 43+ messages in thread
From: Peter Korsgaard @ 2011-01-14 12:29 UTC (permalink / raw)
  To: buildroot

>>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:

 Mike> Some packages need to know whether the MMU is in play, so add a toolchain
 Mike> option to expose the feature to them.

 Mike> +++ b/toolchain/toolchain-common.in
 Mike> @@ -66,6 +66,13 @@ config BR2_NEEDS_GETTEXT_IF_LOCALE
 Mike>  	bool
 Mike>  	default y if (BR2_NEEDS_GETTEXT && BR2_ENABLE_LOCALE)
 
 Mike> +config BR2_USE_MMU
 Mike> +	bool "Enable MMU support"
 Mike> +	default y
 Mike> +	help
 Mike> +	  If your target has a MMU, you should say Y here.  If you
 Mike> +	  are unsure, just say Y.

I think it makes sense to only show this option on archs where nommu
makes sense to not confuse users. - E.G.:

bool "Enable MMU support" if BR2_arm || BR2_armeb ...

What archs currently have working nommu support in uClibc?

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 3/7] toolchain: add a USE_MMU build option
  2011-01-14 12:29     ` Peter Korsgaard
@ 2011-01-14 21:27       ` Mike Frysinger
  2011-01-14 21:53         ` Peter Korsgaard
  0 siblings, 1 reply; 43+ messages in thread
From: Mike Frysinger @ 2011-01-14 21:27 UTC (permalink / raw)
  To: buildroot

On Friday, January 14, 2011 07:29:06 Peter Korsgaard wrote:
> >>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:
>  Mike> Some packages need to know whether the MMU is in play, so add a
> toolchain Mike> option to expose the feature to them.
> 
>  Mike> +++ b/toolchain/toolchain-common.in
>  Mike> @@ -66,6 +66,13 @@ config BR2_NEEDS_GETTEXT_IF_LOCALE
>  Mike>  	bool
>  Mike>  	default y if (BR2_NEEDS_GETTEXT && BR2_ENABLE_LOCALE)
> 
>  Mike> +config BR2_USE_MMU
>  Mike> +	bool "Enable MMU support"
>  Mike> +	default y
>  Mike> +	help
>  Mike> +	  If your target has a MMU, you should say Y here.  If you
>  Mike> +	  are unsure, just say Y.
> 
> I think it makes sense to only show this option on archs where nommu
> makes sense to not confuse users. - E.G.:
> 
> bool "Enable MMU support" if BR2_arm || BR2_armeb ...
> 
> What archs currently have working nommu support in uClibc?

any arch can be built as "nommu".  it simply means certain functions are not 
enabled (like fork) while others are not as complicated (like malloc).  so 
there is no technical limitation that only certain arches support nommu.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20110114/33f46c08/attachment.asc>

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

* [Buildroot] [PATCH 3/7] toolchain: add a USE_MMU build option
  2011-01-14 21:27       ` Mike Frysinger
@ 2011-01-14 21:53         ` Peter Korsgaard
  2011-01-14 22:17           ` Mike Frysinger
  0 siblings, 1 reply; 43+ messages in thread
From: Peter Korsgaard @ 2011-01-14 21:53 UTC (permalink / raw)
  To: buildroot

>>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:

Hi,

 >> What archs currently have working nommu support in uClibc?

 Mike> any arch can be built as "nommu".  it simply means certain
 Mike> functions are not enabled (like fork) while others are not as
 Mike> complicated (like malloc).  so there is no technical limitation
 Mike> that only certain arches support nommu.  -mike

Naturally, but which one are used in the wild? E.G. what is supported by
linux-2.6.37 and uClibc-0.9.32-rc1 ?

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 3/7] toolchain: add a USE_MMU build option
  2011-01-14 21:53         ` Peter Korsgaard
@ 2011-01-14 22:17           ` Mike Frysinger
  0 siblings, 0 replies; 43+ messages in thread
From: Mike Frysinger @ 2011-01-14 22:17 UTC (permalink / raw)
  To: buildroot

On Friday, January 14, 2011 16:53:38 Peter Korsgaard wrote:
> >>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:
> Hi,
> 
>  >> What archs currently have working nommu support in uClibc?
> 
>  Mike> any arch can be built as "nommu".  it simply means certain
>  Mike> functions are not enabled (like fork) while others are not as
>  Mike> complicated (like malloc).  so there is no technical limitation
>  Mike> that only certain arches support nommu.  -mike
> 
> Naturally, but which one are used in the wild? E.G. what is supported by
> linux-2.6.37 and uClibc-0.9.32-rc1 ?

again, you can run any "nommu" userland with a kernel with the mmu running.  
if you're asking which arches in mainline linux kernel allow people to build 
with CONFIG_MMU disabled, you're talking about arm, blackfin, frv, h8300, 
m32r, m68k, microblaze, mips, sh, and xtensa.  i dont believe there is any 
limitation in uClibc and if there is, that's easy enough to fix.  nommu is 
merely a subset of mmu functionality from userspace's perspective.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20110114/2753084e/attachment.asc>

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

* [Buildroot] [PATCH 3/7] toolchain: add a USE_MMU build option
  2011-01-10 14:28   ` [Buildroot] [PATCH 3/7] toolchain: add a USE_MMU build option Mike Frysinger
  2011-01-14 12:29     ` Peter Korsgaard
@ 2011-01-15 13:25     ` Peter Korsgaard
  1 sibling, 0 replies; 43+ messages in thread
From: Peter Korsgaard @ 2011-01-15 13:25 UTC (permalink / raw)
  To: buildroot

>>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:

 Mike> Some packages need to know whether the MMU is in play, so add a toolchain
 Mike> option to expose the feature to them.

Committed with minor tweaks, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 4/7] portmap: add nommu support
  2011-01-11 20:30         ` Peter Korsgaard
@ 2011-01-16  1:20           ` Mike Frysinger
  0 siblings, 0 replies; 43+ messages in thread
From: Mike Frysinger @ 2011-01-16  1:20 UTC (permalink / raw)
  To: buildroot

On Tuesday, January 11, 2011 15:30:19 Peter Korsgaard wrote:
>  >> Why not simply rename it like the recent issue with getline -> get_line
>  >> in kconfig?
> 
>  Mike> because perror is a standard, not a gnuism like getline
> 
> Yes, but why is there a perror() implementation in portmapper in the
> first place? It seems like they want
> something-looking-like-perror-but-using-syslog, rather than the real
> perror?

perhaps, but upstream finally got back to me and merged all my patches (the 
same ones i proposed here).
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20110115/e8959d5a/attachment.asc>

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

* [Buildroot] [PATCH 4/7 v2] portmap: add nommu support
  2011-01-11 18:00       ` [Buildroot] [PATCH 4/7 v2] " Mike Frysinger
@ 2011-01-19 21:19         ` Peter Korsgaard
  0 siblings, 0 replies; 43+ messages in thread
From: Peter Korsgaard @ 2011-01-19 21:19 UTC (permalink / raw)
  To: buildroot

>>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:

 Mike> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 Mike> Signed-off-by: Mike Frysinger <vapier@gentoo.org>

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 5/7] portmap: respect target CFLAGS
  2011-01-10 14:28   ` [Buildroot] [PATCH 5/7] portmap: respect target CFLAGS Mike Frysinger
@ 2011-01-19 21:20     ` Peter Korsgaard
  0 siblings, 0 replies; 43+ messages in thread
From: Peter Korsgaard @ 2011-01-19 21:20 UTC (permalink / raw)
  To: buildroot

>>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:

 Mike> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 Mike> Signed-off-by: Mike Frysinger <vapier@gentoo.org>

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 6/7] portmap: fix clean target to actually clean
  2011-01-10 14:28   ` [Buildroot] [PATCH 6/7] portmap: fix clean target to actually clean Mike Frysinger
@ 2011-01-19 21:21     ` Peter Korsgaard
  0 siblings, 0 replies; 43+ messages in thread
From: Peter Korsgaard @ 2011-01-19 21:21 UTC (permalink / raw)
  To: buildroot

>>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:

 Mike> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 Mike> Signed-off-by: Mike Frysinger <vapier@gentoo.org>

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 7/7] tcpdump: add patch for nommu systems
  2011-01-10 14:28   ` [Buildroot] [PATCH 7/7] tcpdump: add patch for nommu systems Mike Frysinger
@ 2011-01-19 21:52     ` Peter Korsgaard
  0 siblings, 0 replies; 43+ messages in thread
From: Peter Korsgaard @ 2011-01-19 21:52 UTC (permalink / raw)
  To: buildroot

>>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:

 Mike> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 Mike> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
 Mike> ---
 Mike>  package/tcpdump/tcpdump-4.1.1-vfork.patch |  128 +++++++++++++++++++++++++++++
 Mike> ++#if defined(HAVE_FORK) || defined(HAVE_VFORK)
 Mike> +-#else  /* WIN32 */
 Mike> ++#else  /* HAVE_FORK && HAVE_VFORK */

This should be HAVE_FORK || HAVE_VFORK
 Mike> ++#endif /* HAVE_FORK && HAVE_VFORK */

Same here.

Other than that it looks good, committed - Thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] Pull request buildroot.git (vapier branch)
@ 2011-02-07  5:49 Mike Frysinger
  0 siblings, 0 replies; 43+ messages in thread
From: Mike Frysinger @ 2011-02-07  5:49 UTC (permalink / raw)
  To: buildroot

The following changes since commit 9f31e2ffa005095206824e08f69da75503e998ab:

  busybox: 1.18.2 fixes for ping, tar and udhcp (2011-02-06 21:48:53 +0100)

are available in the git repository at:
  git://sources.blackfin.uclinux.org/git/users/vapier/buildroot.git vapier

Mike Frysinger (3):
      debugging: do not require no stripping
      initial support for Blackfin processors
      gdb: add support for Blackfin gdbserver

 Config.in                                      |    4 +-
 Makefile                                       |    1 +
 boot/u-boot/Config.in                          |    4 +
 boot/u-boot/u-boot.mk                          |    2 +
 linux/Config.in                                |    2 +-
 linux/linux.mk                                 |    5 +
 target/Config.in.arch                          |   19 ++-
 toolchain/gdb/6.6/gdb-6.6-bfin-gdbserver.patch |  238 ++++++++++++++++++++++++
 toolchain/gdb/Config.in                        |    7 +-
 toolchain/toolchain-common.in                  |    2 +-
 10 files changed, 276 insertions(+), 8 deletions(-)
 create mode 100644 toolchain/gdb/6.6/gdb-6.6-bfin-gdbserver.patch

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

* [Buildroot] Pull request buildroot.git (vapier branch)
@ 2011-01-20  3:10 Mike Frysinger
  0 siblings, 0 replies; 43+ messages in thread
From: Mike Frysinger @ 2011-01-20  3:10 UTC (permalink / raw)
  To: buildroot

The following changes since commit c2abc61d028b9e9cc602108ce1ad03942092bed2:

  tcpdump: add patch for nommu systems (2011-01-19 22:52:30 +0100)

are available in the git repository at:
  git://sources.blackfin.uclinux.org/git/users/vapier/buildroot.git vapier

Mike Frysinger (4):
      libpcap: update static handling
      debugging: do not require no stripping
      initial support for Blackfin processors
      gdb: add support for Blackfin gdbserver

 Config.in                                      |    4 +-
 Makefile                                       |    1 +
 boot/u-boot/Config.in                          |    4 +
 boot/u-boot/u-boot.mk                          |    2 +
 linux/Config.in                                |    2 +-
 linux/linux.mk                                 |    5 +
 package/libpcap/libpcap.mk                     |    6 +-
 target/Config.in.arch                          |   19 ++-
 toolchain/gdb/6.6/gdb-6.6-bfin-gdbserver.patch |  238 ++++++++++++++++++++++++
 toolchain/gdb/Config.in                        |    7 +-
 toolchain/toolchain-common.in                  |    2 +-
 11 files changed, 277 insertions(+), 13 deletions(-)
 create mode 100644 toolchain/gdb/6.6/gdb-6.6-bfin-gdbserver.patch

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

* [Buildroot] Pull request buildroot.git (vapier branch)
  2010-12-07 21:48             ` Peter Korsgaard
@ 2010-12-07 22:02               ` Mike Frysinger
  0 siblings, 0 replies; 43+ messages in thread
From: Mike Frysinger @ 2010-12-07 22:02 UTC (permalink / raw)
  To: buildroot

On Tuesday, December 07, 2010 16:48:02 Peter Korsgaard wrote:
> >>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:
>  >> And as this will be most packages
> 
>  Mike> what are you basing this on ?  this isnt my experience at all.
> 
> Nothing but gut feeling. I would expect lots of packages use fork() or
> similar.

fork() is common, but the vast majority of the time it's to do an exec which 
makes them trivial to convert to vfork().  realistically, build problems with 
uClibc vs glibc tend to be more common.

> Out of interest, what packages are you using on nommu?

i've played doom on my hardware, made video/voip calls via linphone, browsed 
the web with qt/webkit, and served web pages from sqlite/php (to name a few).  
we treat it as a generic Linux platform like any other arch rather than 
pigeonhole it as a "firewall" or something.  i dont really keep track as it'd 
kind of be like asking what packages have i used on an mmu.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20101207/df1edd4b/attachment.pgp>

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

* [Buildroot] Pull request buildroot.git (vapier branch)
  2010-12-07 21:31           ` Mike Frysinger
@ 2010-12-07 21:48             ` Peter Korsgaard
  2010-12-07 22:02               ` Mike Frysinger
  0 siblings, 1 reply; 43+ messages in thread
From: Peter Korsgaard @ 2010-12-07 21:48 UTC (permalink / raw)
  To: buildroot

>>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:

 >> And as this will be most packages

 Mike> what are you basing this on ?  this isnt my experience at all.

Nothing but gut feeling. I would expect lots of packages use fork() or
similar.

Out of interest, what packages are you using on nommu?

-- 
Bye, Peter Korsgaard

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

* [Buildroot] Pull request buildroot.git (vapier branch)
  2010-12-07 12:28         ` Peter Korsgaard
  2010-12-07 20:35           ` Thomas Petazzoni
@ 2010-12-07 21:31           ` Mike Frysinger
  2010-12-07 21:48             ` Peter Korsgaard
  1 sibling, 1 reply; 43+ messages in thread
From: Mike Frysinger @ 2010-12-07 21:31 UTC (permalink / raw)
  To: buildroot

On Tuesday, December 07, 2010 07:28:14 Peter Korsgaard wrote:
>  Thomas> Those two sets of packages are not identical, that's why I
>  Thomas> proposed two different options. A package that doesn't support
>  Thomas> static build should do:
>  Thomas> 	depends on !BR2_PREFER_STATIC_LIB
>  Thomas> and all packages that do not work on !MMU should do
>  Thomas> 	depends on BR2_USE_MMU
> 
> And as this will be most packages

what are you basing this on ?  this isnt my experience at all.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20101207/ec477bb9/attachment.pgp>

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

* [Buildroot] Pull request buildroot.git (vapier branch)
  2010-12-07 12:28         ` Peter Korsgaard
@ 2010-12-07 20:35           ` Thomas Petazzoni
  2010-12-07 21:31           ` Mike Frysinger
  1 sibling, 0 replies; 43+ messages in thread
From: Thomas Petazzoni @ 2010-12-07 20:35 UTC (permalink / raw)
  To: buildroot

On Tue, 07 Dec 2010 13:28:14 +0100
Peter Korsgaard <jacmet@uclibc.org> wrote:

> And as this will be most packages, we should probably do something
> like BR2_PACKAGE_BUSYBOX_SHOW_OTHERS - E.G. add this dependency in
> package/Config.in instead of moving it down to each individual
> package.

I don't think we should do that. With three options to handle
(BUSYBOX_SHOW_OTHERS, USE_MMU and PREFER_STATIC_LIB), the
package/Config.in is going to become a nightmare to read, and the fact
that the current if's in package/Config.in can be common to several
packages will be very reduced because of the three conditions.

On the opposite, I would have suggested to move these to the
per-package Config.in. Yes, it's a bit more code, but it's not a big
deal, and will make it easier to maintain.

Regards,

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

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

* [Buildroot] Pull request buildroot.git (vapier branch)
  2010-12-06 19:27       ` Thomas Petazzoni
  2010-12-06 20:10         ` Mike Frysinger
@ 2010-12-07 12:28         ` Peter Korsgaard
  2010-12-07 20:35           ` Thomas Petazzoni
  2010-12-07 21:31           ` Mike Frysinger
  1 sibling, 2 replies; 43+ messages in thread
From: Peter Korsgaard @ 2010-12-07 12:28 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

Hi,

 Thomas> Those two sets of packages are not identical, that's why I
 Thomas> proposed two different options. A package that doesn't support
 Thomas> static build should do:

 Thomas> 	depends on !BR2_PREFER_STATIC_LIB

 Thomas> and all packages that do not work on !MMU should do

 Thomas> 	depends on BR2_USE_MMU

And as this will be most packages, we should probably do something like
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS - E.G. add this dependency in
package/Config.in instead of moving it down to each individual package.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] Pull request buildroot.git (vapier branch)
  2010-12-06 20:44         ` Thomas Petazzoni
@ 2010-12-06 20:55           ` Mike Frysinger
  0 siblings, 0 replies; 43+ messages in thread
From: Mike Frysinger @ 2010-12-06 20:55 UTC (permalink / raw)
  To: buildroot

On Monday, December 06, 2010 15:44:05 Thomas Petazzoni wrote:
> On Mon, 6 Dec 2010 15:20:47 -0500 Mike Frysinger wrote:
> > > > > >       irda-utils: new package for IrDA devices
> > > > > 
> > > > > I know Peter wants a short description + author in each patch. Your
> > > > > patches are fairly obvious, but that's the rule :)
> > > > 
> > > > i dont know what you mean by author.  git already tracks authorship.
> > > 
> > > Peter still wants the patch we have in Buildroot to carry a description
> > > and an author. The author of the patch may not be the person who
> > > imported it into Buildroot.
> > 
> > when using `git am` or `git pull`, it does retain authorship.  i dont see
> > how the changeset would make it into the tree unless people were
> > manually doing `patch && git commit`.
> 
> I'm not talking about the patches you are sending to Buildroot, but the
> patches that are added to packages (i.e patches inside the patches).

oh, i missed that.  i wrote these patches and sent them upstream.  i'll add 
that metadata.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20101206/0d78bc53/attachment.pgp>

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

* [Buildroot] Pull request buildroot.git (vapier branch)
  2010-12-06 20:20       ` Mike Frysinger
@ 2010-12-06 20:44         ` Thomas Petazzoni
  2010-12-06 20:55           ` Mike Frysinger
  0 siblings, 1 reply; 43+ messages in thread
From: Thomas Petazzoni @ 2010-12-06 20:44 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 6 Dec 2010 15:20:47 -0500
Mike Frysinger <vapier@gentoo.org> wrote:

> considering i'm one of the authors, i'd rather fix pax-utils upstream.  i see 
> no reason for it to be using glob64 code considering we build with _GNU_SOURCE 
> which implies LFS which transparently rewrites glob to glob64 with glibc.

Ok. Here is what I have with my !LARGEFILE toolchain:

/home/test/toolchains/br-arm-basic/usr/bin/arm-linux-gcc --sysroot=/home/test/outputs/pax/staging -Os -mabi=aapcs-linux -msoft-float -D_GNU_SOURCE -o scanelf.o -c scanelf.c
scanelf.c: In function 'load_ld_cache_config':
scanelf.c:1597: error: 'glob64_t' undeclared (first use in this function)
scanelf.c:1597: error: (Each undeclared identifier is reported only once
scanelf.c:1597: error: for each function it appears in.)
scanelf.c:1597: error: expected ';' before 'gl'
scanelf.c:1598: warning: ISO C90 forbids mixed declarations and code
scanelf.c:1608: warning: implicit declaration of function 'glob64'
scanelf.c:1608: warning: nested extern declaration of 'glob64'
scanelf.c:1608: error: 'gl' undeclared (first use in this function)
scanelf.c:1615: warning: implicit declaration of function 'globfree64'
scanelf.c:1615: warning: nested extern declaration of 'globfree64'
make[1]: *** [scanelf.o] Error 1

> > > redhat takes the general position that network daemons be compiled as
> > > PIEs. since the portmap maintainer is a redhat employee, he put it
> > > into the portmap build system instead of keeping it in the redhat
> > > spec.  glibc does the same thing.
> > 
> > Ok, thanks. Do you what's the reasoning behind compiling all network
> > daemons as PIE ? Is it because of some address space randomization
> > feature ?
> 
> i'm fairly certain that is why.  if it werent built as a PIE, then using ASLR 
> would cause unsharable mappings, and that can quickly suck up resources.

Ok, thanks.

> > > > Have you pushed the patches upstream ?
> > > 
> > > of course, but the maintainer hasnt updated things in a while.
> > > probably because people are moving to rpcbind.
> > 
> > Should we as well ?
> 
> the rpcbind stack isnt as friendly (yet) to uClibc.  so it might be an OK 
> future plan, but today it wont work out of the box.  and i dont have personal 
> interest to get it resolved today.

Ok. I am personally not that familiar with portmap/rpcbind.

> > > > >       irda-utils: new package for IrDA devices
> > > > 
> > > > I know Peter wants a short description + author in each patch. Your
> > > > patches are fairly obvious, but that's the rule :)
> > > 
> > > i dont know what you mean by author.  git already tracks authorship.
> > 
> > Peter still wants the patch we have in Buildroot to carry a description
> > and an author. The author of the patch may not be the person who
> > imported it into Buildroot.
> 
> when using `git am` or `git pull`, it does retain authorship.  i dont see how 
> the changeset would make it into the tree unless people were manually doing 
> `patch && git commit`.

I'm not talking about the patches you are sending to Buildroot, but the
patches that are added to packages (i.e patches inside the patches).

For Buildroot patches, obviously Git tracks everything. But not for
the individual package/*/*.patch, which can come from various sources.

> > Ok. I think we generally want Buildroot to make a working build when
> > used out-of-the-box. I.e, without using any defconfig, if the user does
> > "make menuconfig", selects "blackfin" and then exits, the build should
> > be working. I think Peter quite likes this rule. But for the blackfin
> > case, we can probably discuss how to solve this later.
> 
> well, it wont be specific to Blackfin, and would probably require digging down 
> into mmu/nommu specific options in things like busybox.

Yes, it is definitely not Blackfin specific, and is a problem all !MMU
arches would have. But again, we could solve it at a later time, I
don't see that as a problem to get the Blackfin arch support merged.

Thanks!

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20101206/24d28f36/attachment.pgp>

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

* [Buildroot] Pull request buildroot.git (vapier branch)
  2010-12-06 19:39     ` Thomas Petazzoni
@ 2010-12-06 20:20       ` Mike Frysinger
  2010-12-06 20:44         ` Thomas Petazzoni
  0 siblings, 1 reply; 43+ messages in thread
From: Mike Frysinger @ 2010-12-06 20:20 UTC (permalink / raw)
  To: buildroot

On Monday, December 06, 2010 14:39:10 Thomas Petazzoni wrote:
> On Mon, 6 Dec 2010 02:50:01 -0500 Mike Frysinger wrote:
> > > Moreover, pax-utils requires LARGEFILE support, so you have to do
> > 
> > > the usual stuff in the Config.in file:
> > why do you say this ?
> 
> Because when you build it with a toolchain that doesn't support
> LARGEFILE you have undefined references to glob64_t. It can probably be
> fixed in pax-utils itself, but when we don't want to fix it, we just
> mark the package as depending on LARGEFILE.

considering i'm one of the authors, i'd rather fix pax-utils upstream.  i see 
no reason for it to be using glob64 code considering we build with _GNU_SOURCE 
which implies LFS which transparently rewrites glob to glob64 with glibc.

> > > >       portmap: add nommu support
> > > 
> > > Just curious: why was portmap compiled PIE ?
> > 
> > redhat takes the general position that network daemons be compiled as
> > PIEs. since the portmap maintainer is a redhat employee, he put it
> > into the portmap build system instead of keeping it in the redhat
> > spec.  glibc does the same thing.
> 
> Ok, thanks. Do you what's the reasoning behind compiling all network
> daemons as PIE ? Is it because of some address space randomization
> feature ?

i'm fairly certain that is why.  if it werent built as a PIE, then using ASLR 
would cause unsharable mappings, and that can quickly suck up resources.

> > > Have you pushed the patches upstream ?
> > 
> > of course, but the maintainer hasnt updated things in a while.
> > probably because people are moving to rpcbind.
> 
> Should we as well ?

the rpcbind stack isnt as friendly (yet) to uClibc.  so it might be an OK 
future plan, but today it wont work out of the box.  and i dont have personal 
interest to get it resolved today.

> > > >       irda-utils: new package for IrDA devices
> > > 
> > > I know Peter wants a short description + author in each patch. Your
> > > patches are fairly obvious, but that's the rule :)
> > 
> > i dont know what you mean by author.  git already tracks authorship.
> 
> Peter still wants the patch we have in Buildroot to carry a description
> and an author. The author of the patch may not be the person who
> imported it into Buildroot.

when using `git am` or `git pull`, it does retain authorship.  i dont see how 
the changeset would make it into the tree unless people were manually doing 
`patch && git commit`.

> > > I tested the Blackfin support (well only the build part of it,
> > > since I don't have hardware to test), and I had a few issues with
> > > the default Busybox configuration:
> > 
> > which are all fixed by another patch i have which adds defconfigs for
> > Blackfin boards.  fixing the default defconfig makes no sense to me
> > so i'm not going to spend time on it.
> 
> Ok. I think we generally want Buildroot to make a working build when
> used out-of-the-box. I.e, without using any defconfig, if the user does
> "make menuconfig", selects "blackfin" and then exits, the build should
> be working. I think Peter quite likes this rule. But for the blackfin
> case, we can probably discuss how to solve this later.

well, it wont be specific to Blackfin, and would probably require digging down 
into mmu/nommu specific options in things like busybox.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20101206/b479194e/attachment-0001.pgp>

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

* [Buildroot] Pull request buildroot.git (vapier branch)
  2010-12-06 19:27       ` Thomas Petazzoni
@ 2010-12-06 20:10         ` Mike Frysinger
  2010-12-07 12:28         ` Peter Korsgaard
  1 sibling, 0 replies; 43+ messages in thread
From: Mike Frysinger @ 2010-12-06 20:10 UTC (permalink / raw)
  To: buildroot

On Monday, December 06, 2010 14:27:54 Thomas Petazzoni wrote:
> I didn't mean those two things to be bound together. But it's well
> known that :
> 
>  * Some packages do not support static build
> 
>  * Some packages do not support no-MMU
> 
> Those two sets of packages are not identical, that's why I proposed two
> different options. A package that doesn't support static build should
> do:
> 
> 	depends on !BR2_PREFER_STATIC_LIB
> 
> and all packages that do not work on !MMU should do
> 
> 	depends on BR2_USE_MMU
> 
> My intention is that users can't mistakenly select packages that do not
> build statically and/or do not work on !MMU systems.

i follow now.  this makes sense to me.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20101206/d379ac60/attachment.pgp>

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

* [Buildroot] Pull request buildroot.git (vapier branch)
  2010-12-06  7:50   ` Mike Frysinger
@ 2010-12-06 19:39     ` Thomas Petazzoni
  2010-12-06 20:20       ` Mike Frysinger
  0 siblings, 1 reply; 43+ messages in thread
From: Thomas Petazzoni @ 2010-12-06 19:39 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 6 Dec 2010 02:50:01 -0500
Mike Frysinger <vapier@gentoo.org> wrote:

> i dont know what you mean by "earlier versions".  these all should be
> the exact same version as i already posted in the past.  if people
> had feedback on the patches, i'd of expected them to be given at the
> time of patch posting.

I know those were the same, but it really make things easier if patches
come together with the pull request, to ease the review process, even
if they have been posted previously.

> > >       pax-utils: new package
> > 
> > I know you're going to say that it's more lines, it's stupid and so
> > on,
> 
> you're right

I know :-)

> > Moreover, pax-utils requires LARGEFILE support, so you have to do
> > the usual stuff in the Config.in file:
> 
> why do you say this ?

Because when you build it with a toolchain that doesn't support
LARGEFILE you have undefined references to glob64_t. It can probably be
fixed in pax-utils itself, but when we don't want to fix it, we just
mark the package as depending on LARGEFILE.

> > >       busybox: unify duplicated build steps
> > 
> > I'd very much prefer something like:
> > 
> > BUSYBOX_MAKE_OPTS = ...
> 
> i'll take a look

Thanks!

> > >       busybox: let buildroot handle stripping
> > 
> > I'm obviously ok on the principle, but we'll have to keep updating
> > the patch directory and patch name everytime we bump busybox (which
> > happens quite often). Considering the simple change, wouldn't a
> > $(SED) call directly in busybox.mk be more future-proof ? Or
> > better, get this patch merged into Busybox. Anyway, this can be
> > decided later, so:
> 
> it's already been merged upstream

Great.

> > >       linux: support unpacked source trees
> > 
> > This is a useful feature, but we want to introduce it globally for
> > all packages, not only for the Linux kernel. This needs some
> > thoughts on what it should look like, how it should be presented to
> > users, how it should work.
> > 
> > Could you remove this patch from the patch set, but keep the idea
> > around ?
> 
> maybe i'm pessimistic, but i doubt that general support will be done
> in a reasonable time frame.  thus wouldnt it make sense to merge this
> and once someone does put together common code, switch the Linux one
> over to it ?

You're probably right, it'll take some time for us to do this
generally. My position is that in the past too much specific stuff has
been added in Buildroot, offering sometimes duplicate functionality,
and that we should try to avoid that in the future. I just offered my
position on this, but I'm not the Buildroot maintainer, so Peter's
position might be different.

However, as this is a bit controversial, in order to ease the
integration of your patch set, you may want to remove this patch from
this branch, get all the other patches merged, and then try again with
this particular patch only separatly.

> > >       toolchain: add a USE_MMU build option
> > 
> > It doesn't work, the uClibc define is __ARCH_USE_MMU__ and not
> > __UCLIBC_USE_MMU_. This commit will have to be changed when my
> > toolchain-improvements patch set goes in, but maybe your patch
> > series will go first (I don't care). Whichever happens, either you
> > or me will have to fix something :-)
> 
> copy & paste i guess from the other options

Sure, just minor comment after review/testing.

> > >       portmap: add nommu support
> > 
> > Just curious: why was portmap compiled PIE ?
> 
> redhat takes the general position that network daemons be compiled as
> PIEs. since the portmap maintainer is a redhat employee, he put it
> into the portmap build system instead of keeping it in the redhat
> spec.  glibc does the same thing.

Ok, thanks. Do you what's the reasoning behind compiling all network
daemons as PIE ? Is it because of some address space randomization
feature ?

> > Have you pushed the patches upstream ?
> 
> of course, but the maintainer hasnt updated things in a while.
> probably because people are moving to rpcbind.

Should we as well ?

> > >       portmap: respect target CFLAGS
> > 
> > Why not after $(MAKE), like CC= ?
> 
> because it will override settings in the portmap make.  setting vars
> via the env and via the command line do not have the same semantics
> in make.

Yes, makes sense;

> > >       irda-utils: new package for IrDA devices
> > 
> > I know Peter wants a short description + author in each patch. Your
> > patches are fairly obvious, but that's the rule :)
> 
> i dont know what you mean by author.  git already tracks authorship.

Peter still wants the patch we have in Buildroot to carry a description
and an author. The author of the patch may not be the person who
imported it into Buildroot.

> > >       libpcap: update static handling
> > 
> > Could you use LIBPCAP_MAKE_OPT instead ?
> 
> i wasnt aware of that, but i guess it should work

No problem. This is one of the few things that is actually documented
in the Buildroot documentation :-)

> > >       toolchain-external: allow vendor-controlled defaults
> > 
> > I think this could be done with the "toolchain profile" mechanism I
> > proposed in the toolchain-improvements patch set I posted this
> > morning. Could you remove this patch for this patch series, so that
> > we can handle this later ? Thanks!
> 
> i'll take a look

Great thanks. I think it should work reasonably well with Blackfin
toolchains, adding the optional capability of having Buildroot
download/install the toolchain for the user if (s)he wants to. The only
thing I see problematic is that Blackfin toolchains are typically
shipped in two separate tarballs, so a little bit of hacking in
ext-tool.mk might be needed, but nothing that looks impossible.

> > >       target-finalize: punt config scripts too
> > 
> > No. What if a package really wants to install a binary called
> > foobar-config that must be kept on the target ? I know it's
> > unlikely, but I'd prefer not to have this policy at the global
> > level. Just do what other packages do: add a post install hook that
> > removes the pcap-config file.
> 
> can you name a package that does this ?  i havent seen one.

No, I can't name a package that does this. I'd just prefer to be
cautious.

> > I tested the Blackfin support (well only the build part of it,
> > since I don't have hardware to test), and I had a few issues with
> > the default Busybox configuration:
> 
> which are all fixed by another patch i have which adds defconfigs for
> Blackfin boards.  fixing the default defconfig makes no sense to me
> so i'm not going to spend time on it.

Ok. I think we generally want Buildroot to make a working build when
used out-of-the-box. I.e, without using any defconfig, if the user does
"make menuconfig", selects "blackfin" and then exits, the build should
be working. I think Peter quite likes this rule. But for the blackfin
case, we can probably discuss how to solve this later.

> > Another (unrelated) question: when using the Blackfin toolchains, I
> > found out that the linker needs zlib installed on the host, but it
> > isn't the case with the other toolchains I have. What feature of ld
> > requires zlib ?
> 
> it isnt ld, it's elf2flt-ld.  and elf2flt supports compression via
> the ZFLAT format.  although in newer binutils, they have added
> support for compressed debug sections which does require zlib in misc
> utils such as ld ... -mike

Ah, ok, good to know.

Thanks!

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20101206/f3ca4286/attachment.pgp>

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

* [Buildroot] Pull request buildroot.git (vapier branch)
  2010-12-06  6:56     ` Mike Frysinger
@ 2010-12-06 19:27       ` Thomas Petazzoni
  2010-12-06 20:10         ` Mike Frysinger
  2010-12-07 12:28         ` Peter Korsgaard
  0 siblings, 2 replies; 43+ messages in thread
From: Thomas Petazzoni @ 2010-12-06 19:27 UTC (permalink / raw)
  To: buildroot

On Mon, 6 Dec 2010 01:56:52 -0500
Mike Frysinger <vapier@gentoo.org> wrote:

> On Sunday, December 05, 2010 07:19:52 Thomas Petazzoni wrote:
> > Yet another question regarding non-MMU support and support for
> > static builds in Buildroot. Obviously, not all packages support
> > non-MMU architectures and/or static build, so it'd be good to not
> > allow the users to select those packages. So the packages known to
> > work for non-MMU and/or static build should be clearly identified.
> 
> you can do shared libs under nommu systems.  binding the two makes no
> sense.

I know you can do shared libs with no-MMU systems, I've already used
FDPIC on Blackfin, thanks.

I didn't mean those two things to be bound together. But it's well
known that :

 * Some packages do not support static build

 * Some packages do not support no-MMU

Those two sets of packages are not identical, that's why I proposed two
different options. A package that doesn't support static build should
do:

	depends on !BR2_PREFER_STATIC_LIB

and all packages that do not work on !MMU should do

	depends on BR2_USE_MMU

My intention is that users can't mistakenly select packages that do not
build statically and/or do not work on !MMU systems.

Is this more clear ?

Regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20101206/fd256e41/attachment.pgp>

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

* [Buildroot] Pull request buildroot.git (vapier branch)
  2010-12-05 10:57 ` Thomas Petazzoni
  2010-12-05 12:19   ` Thomas Petazzoni
@ 2010-12-06  7:50   ` Mike Frysinger
  2010-12-06 19:39     ` Thomas Petazzoni
  1 sibling, 1 reply; 43+ messages in thread
From: Mike Frysinger @ 2010-12-06  7:50 UTC (permalink / raw)
  To: buildroot

On Sunday, December 05, 2010 05:57:45 Thomas Petazzoni wrote:
> Here is a review of your patches, comments below. Next time, it'd be
> great if you could post the patches together with the pull request. I
> know you have posted some earlier versions of them in the past, but
> it's good to see them with every pull request, IMO, as it makes the
> review process easier.

i dont know what you mean by "earlier versions".  these all should be the 
exact same version as i already posted in the past.  if people had feedback on 
the patches, i'd of expected them to be given at the time of patch posting.

> >       u-boot: version bump to 2010.09
> 
> I already carry this change in my for-2011.02/boards-cleanup branch, as
> I said previously. I don't care which one gets merged, either you or me
> will fix his patch series depending on which one goes in first. Is this
> ok for you ?

doesnt matter to me

> >       pax-utils: new package
> 
> I know you're going to say that it's more lines, it's stupid and so on,

you're right

> Moreover, pax-utils requires LARGEFILE support, so you have to do the
> usual stuff in the Config.in file:

why do you say this ?

> >       busybox: unify duplicated build steps
> 
> I'd very much prefer something like:
> 
> BUSYBOX_MAKE_OPTS = ...

i'll take a look

> >       busybox: let buildroot handle stripping
> 
> I'm obviously ok on the principle, but we'll have to keep updating the
> patch directory and patch name everytime we bump busybox (which happens
> quite often). Considering the simple change, wouldn't a $(SED) call
> directly in busybox.mk be more future-proof ? Or better, get this patch
> merged into Busybox. Anyway, this can be decided later, so:

it's already been merged upstream

> >       linux: support unpacked source trees
> 
> This is a useful feature, but we want to introduce it globally for all
> packages, not only for the Linux kernel. This needs some thoughts on
> what it should look like, how it should be presented to users, how it
> should work.
> 
> Could you remove this patch from the patch set, but keep the idea
> around ?

maybe i'm pessimistic, but i doubt that general support will be done in a 
reasonable time frame.  thus wouldnt it make sense to merge this and once 
someone does put together common code, switch the Linux one over to it ?

> >       toolchain: add a USE_MMU build option
> 
> It doesn't work, the uClibc define is __ARCH_USE_MMU__ and not
> __UCLIBC_USE_MMU_. This commit will have to be changed when my
> toolchain-improvements patch set goes in, but maybe your patch series
> will go first (I don't care). Whichever happens, either you or me will
> have to fix something :-)

copy & paste i guess from the other options

> >       portmap: add nommu support
> 
> Just curious: why was portmap compiled PIE ?

redhat takes the general position that network daemons be compiled as PIEs.  
since the portmap maintainer is a redhat employee, he put it into the portmap 
build system instead of keeping it in the redhat spec.  glibc does the same 
thing.

> Have you pushed the patches upstream ?

of course, but the maintainer hasnt updated things in a while.  probably 
because people are moving to rpcbind.

> >       portmap: respect target CFLAGS
> 
> Why not after $(MAKE), like CC= ?

because it will override settings in the portmap make.  setting vars via the 
env and via the command line do not have the same semantics in make.

> >       irda-utils: new package for IrDA devices
> 
> I know Peter wants a short description + author in each patch. Your
> patches are fairly obvious, but that's the rule :)

i dont know what you mean by author.  git already tracks authorship.

> >       libpcap: update static handling
> 
> Could you use LIBPCAP_MAKE_OPT instead ?

i wasnt aware of that, but i guess it should work

> >       toolchain-external: allow vendor-controlled defaults
> 
> I think this could be done with the "toolchain profile" mechanism I
> proposed in the toolchain-improvements patch set I posted this morning.
> Could you remove this patch for this patch series, so that we can
> handle this later ? Thanks!

i'll take a look

> >       target-finalize: punt config scripts too
> 
> No. What if a package really wants to install a binary called
> foobar-config that must be kept on the target ? I know it's unlikely,
> but I'd prefer not to have this policy at the global level. Just do
> what other packages do: add a post install hook that removes the
> pcap-config file.

can you name a package that does this ?  i havent seen one.

> I tested the Blackfin support (well only the build part of it, since I
> don't have hardware to test), and I had a few issues with the default
> Busybox configuration:

which are all fixed by another patch i have which adds defconfigs for Blackfin 
boards.  fixing the default defconfig makes no sense to me so i'm not going to 
spend time on it.

> Another (unrelated) question: when using the Blackfin toolchains, I
> found out that the linker needs zlib installed on the host, but it
> isn't the case with the other toolchains I have. What feature of ld
> requires zlib ?

it isnt ld, it's elf2flt-ld.  and elf2flt supports compression via the ZFLAT 
format.  although in newer binutils, they have added support for compressed 
debug sections which does require zlib in misc utils such as ld ...
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20101206/e6b33314/attachment.pgp>

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

* [Buildroot] Pull request buildroot.git (vapier branch)
  2010-12-05 12:19   ` Thomas Petazzoni
@ 2010-12-06  6:56     ` Mike Frysinger
  2010-12-06 19:27       ` Thomas Petazzoni
  0 siblings, 1 reply; 43+ messages in thread
From: Mike Frysinger @ 2010-12-06  6:56 UTC (permalink / raw)
  To: buildroot

On Sunday, December 05, 2010 07:19:52 Thomas Petazzoni wrote:
> Yet another question regarding non-MMU support and support for static
> builds in Buildroot. Obviously, not all packages support non-MMU
> architectures and/or static build, so it'd be good to not allow the
> users to select those packages. So the packages known to work for
> non-MMU and/or static build should be clearly identified.

you can do shared libs under nommu systems.  binding the two makes no sense.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20101206/11eb6c56/attachment-0001.pgp>

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

* [Buildroot] Pull request buildroot.git (vapier branch)
  2010-12-05 10:57 ` Thomas Petazzoni
@ 2010-12-05 12:19   ` Thomas Petazzoni
  2010-12-06  6:56     ` Mike Frysinger
  2010-12-06  7:50   ` Mike Frysinger
  1 sibling, 1 reply; 43+ messages in thread
From: Thomas Petazzoni @ 2010-12-05 12:19 UTC (permalink / raw)
  To: buildroot

Mike,

On Sun, 5 Dec 2010 11:57:45 +0100
Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote:

> Another (unrelated) question: when using the Blackfin toolchains, I
> found out that the linker needs zlib installed on the host, but it
> isn't the case with the other toolchains I have. What feature of ld
> requires zlib ?

Yet another question regarding non-MMU support and support for static
builds in Buildroot. Obviously, not all packages support non-MMU
architectures and/or static build, so it'd be good to not allow the
users to select those packages. So the packages known to work for
non-MMU and/or static build should be clearly identified.

So, what about adding:

	depends on BR2_USE_MMU
	depends on !BR2_PREFER_STATIC_LIB

on all packages, except those that have been validated to work in those
two conditions ?

Of course, it means adding those two depends on lines to a lot of
packages, but I don't see a way of doing the opposite with the kconfig
language.

Regards,

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

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

* [Buildroot] Pull request buildroot.git (vapier branch)
  2010-12-04 22:52 Mike Frysinger
@ 2010-12-05 10:57 ` Thomas Petazzoni
  2010-12-05 12:19   ` Thomas Petazzoni
  2010-12-06  7:50   ` Mike Frysinger
  0 siblings, 2 replies; 43+ messages in thread
From: Thomas Petazzoni @ 2010-12-05 10:57 UTC (permalink / raw)
  To: buildroot

Hello Mike,

Here is a review of your patches, comments below. Next time, it'd be
great if you could post the patches together with the pull request. I
know you have posted some earlier versions of them in the past, but
it's good to see them with every pull request, IMO, as it makes the
review process easier.

On Sat,  4 Dec 2010 17:52:01 -0500
Mike Frysinger <vapier@gentoo.org> wrote:

>       m4: version bump to 1.4.15

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       xz: version bump to 5.0.0

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       u-boot: version bump to 2010.09

I already carry this change in my for-2011.02/boards-cleanup branch, as
I said previously. I don't care which one gets merged, either you or me
will fix his patch series depending on which one goes in first. Is this
ok for you ?

>       rsh-redone: new package for rsh/rlogin clients

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       whetstone: new benchmark package

I really don't like the override of the .stamp_extracted step, but
since the software packaging is strange and we don't have support for
such packaging in the infrastructure for the moment:

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       dhrystone: new benchmark package

Same thing here for the override of the .stamp_extracted step, but for
the same reason:

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       lsuio: new UIO helper package

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       pax-utils: new package

Here, I'm sorry but I don't like the cleverness of your
_PAX_UTILS_INSTALL_TARGET_CMDS and _PAX_UTILS_UNINSTALL_TARGET_CMDS.
Could you please make this :

+define HOST_PAX_UTILS_INSTALL_CMDS
+       $(MAKE) -C $(@D) install DESTDIR=$(HOST_DIR)
+endef
+define PAX_UTILS_INSTALL_TARGET_CMDS
+       $(MAKE) -C $(@D) install DESTDIR=$(TARGET_DIR)
+endef

And ditto for the uninstall thing ? (The list of files to remove can be
shared using a variable, though).

I know you're going to say that it's more lines, it's stupid and so on,
but I really thing it's more straightforward to read written this way.

Moreover, pax-utils requires LARGEFILE support, so you have to do the
usual stuff in the Config.in file:

diff --git a/package/pax-utils/Config.in b/package/pax-utils/Config.in
index 76eab6f..d676ca7 100644
--- a/package/pax-utils/Config.in
+++ b/package/pax-utils/Config.in
@@ -1,6 +1,10 @@
 config BR2_PACKAGE_PAX_UTILS
        bool "pax-utils"
+       depends on BR2_LARGEFILE
        help
          ELF related utils to make scripting of ELFs easier
 
          http://hardened.gentoo.org/pax-utils.xml
+
+comment "pax-utils requires a toolchain with LARGEFILE support"
+       depends on !BR2_LARGEFILE

>       busybox: unify duplicated build steps

I'd very much prefer something like:

BUSYBOX_MAKE_OPTS =                       \
	CC="$(TARGET_CC)"                 \
	ARCH=$(KERNEL_ARCH)               \
	PREFIX="$(TARGET_DIR)"            \
	EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \
	CROSS_COMPILE="$(TARGET_CROSS)"   \
	CONFIG_PREFIX="$(TARGET_DIR)"

And then:

define BUSYBOX_BUILD_CMDS
	$(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(@D)
endef

define BUSYBOX_INSTALL_BINARY
	$(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(@D) install
endef

I know it's a little bit more code, but it's how we do it in other
packages, so I'd prefer to be consistent.

>       busybox: let buildroot handle stripping

I'm obviously ok on the principle, but we'll have to keep updating the
patch directory and patch name everytime we bump busybox (which happens
quite often). Considering the simple change, wouldn't a $(SED) call
directly in busybox.mk be more future-proof ? Or better, get this patch
merged into Busybox. Anyway, this can be decided later, so:

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       linux: support unpacked source trees

This is a useful feature, but we want to introduce it globally for all
packages, not only for the Linux kernel. This needs some thoughts on
what it should look like, how it should be presented to users, how it
should work.

Could you remove this patch from the patch set, but keep the idea
around ?

>       linux: drop LDFLAGS override

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       linux: add shorter shortcuts

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       linux: set a few more initramfs opts for newer kernels

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       toolchain: add a USE_MMU build option

It doesn't work, the uClibc define is __ARCH_USE_MMU__ and not
__UCLIBC_USE_MMU_. This commit will have to be changed when my
toolchain-improvements patch set goes in, but maybe your patch series
will go first (I don't care). Whichever happens, either you or me will
have to fix something :-)

Once the __ARCH_USE_MMU__ thing is fixed, you get my:

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       portmap: add nommu support

Just curious: why was portmap compiled PIE ? Have you pushed the
patches upstream ?

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       portmap: respect target CFLAGS

Why not after $(MAKE), like CC= ?

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       portmap: fix clean target to actually clean

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       irda-utils: new package for IrDA devices

I know Peter wants a short description + author in each patch. Your
patches are fairly obvious, but that's the rule :)

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       libpcap: update static handling

Could you use LIBPCAP_MAKE_OPT instead ?

>       tcpdump: add patch for nommu systems

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       debugging: do not require no stripping

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       initial support for Blackfin processors

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       gdb: add support for Blackfin gdbserver

You already had my Acked-by on that one.

>       toolchain-external: allow vendor-controlled defaults

I think this could be done with the "toolchain profile" mechanism I
proposed in the toolchain-improvements patch set I posted this morning.
Could you remove this patch for this patch series, so that we can
handle this later ? Thanks!

>       add support for common ABI options (for FLAT)

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       TARGET_CFLAGS: convert to kbuild-y style

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

>       target-finalize: punt config scripts too

No. What if a package really wants to install a binary called
foobar-config that must be kept on the target ? I know it's unlikely,
but I'd prefer not to have this policy at the global level. Just do
what other packages do: add a post install hook that removes the
pcap-config file.

I tested the Blackfin support (well only the build part of it, since I
don't have hardware to test), and I had a few issues with the default
Busybox configuration:

 * shadow password not supported by the C library shipped in the
   Blackfin toolchain. So either shadow password support should be
   disabled in Busybox, or internal Busybox shadow functions should be
   used.

 * ash is selected, but doesn't not work on !MMU. hush should be
   selected instead.

 * swaponoff does not build.

Maybe package/busybox/busybox.mk should tune the busybox config file to
adjust these options, so that the default Busybox build works for the
user ? Or should we ship a completely different busybox configuration
file for !MMU systems ?

Another (unrelated) question: when using the Blackfin toolchains, I
found out that the linker needs zlib installed on the host, but it
isn't the case with the other toolchains I have. What feature of ld
requires zlib ?

Thanks!

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

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

* [Buildroot] Pull request buildroot.git (vapier branch)
@ 2010-12-04 22:52 Mike Frysinger
  2010-12-05 10:57 ` Thomas Petazzoni
  0 siblings, 1 reply; 43+ messages in thread
From: Mike Frysinger @ 2010-12-04 22:52 UTC (permalink / raw)
  To: buildroot

The following changes since commit 7e9c3a387820154fd1355f23c2669072c0c3a5f7:

  docs/news.html: add 2010.11 announce link (2010-11-30 19:50:04 +0100)

are available in the git repository at:
  git://sources.blackfin.uclinux.org/git/users/vapier/buildroot.git vapier

Mike Frysinger (28):
      m4: version bump to 1.4.15
      xz: version bump to 5.0.0
      u-boot: version bump to 2010.09
      rsh-redone: new package for rsh/rlogin clients
      whetstone: new benchmark package
      dhrystone: new benchmark package
      lsuio: new UIO helper package
      pax-utils: new package
      busybox: unify duplicated build steps
      busybox: let buildroot handle stripping
      linux: support unpacked source trees
      linux: drop LDFLAGS override
      linux: add shorter shortcuts
      linux: set a few more initramfs opts for newer kernels
      toolchain: add a USE_MMU build option
      portmap: add nommu support
      portmap: respect target CFLAGS
      portmap: fix clean target to actually clean
      irda-utils: new package for IrDA devices
      libpcap: update static handling
      tcpdump: add patch for nommu systems
      debugging: do not require no stripping
      initial support for Blackfin processors
      gdb: add support for Blackfin gdbserver
      toolchain-external: allow vendor-controlled defaults
      add support for common ABI options (for FLAT)
      TARGET_CFLAGS: convert to kbuild-y style
      target-finalize: punt config scripts too

 Config.in                                          |    4 +-
 Makefile                                           |    3 +-
 boot/u-boot/Config.in                              |   10 +-
 boot/u-boot/u-boot.mk                              |    2 +
 docs/README                                        |    2 +-
 docs/buildroot.html                                |    2 +-
 linux/Config.in                                    |   13 +-
 linux/linux.mk                                     |   70 ++++--
 package/Config.in                                  |    6 +
 package/Makefile.in                                |   67 ++----
 .../busybox-1.17.3/busybox-1.17.3-skip_strip.patch |   26 +++
 package/busybox/busybox.mk                         |   21 +--
 package/dhrystone/Config.in                        |    6 +
 package/dhrystone/Makefile                         |   13 +
 package/dhrystone/dhrystone-2-HZ.patch             |   13 +
 package/dhrystone/dhrystone-2-cmdline-nruns.patch  |   51 +++++
 package/dhrystone/dhrystone-2-exit.patch           |   12 +
 package/dhrystone/dhrystone-2-prototypes.patch     |   21 ++
 package/dhrystone/dhrystone.mk                     |   37 +++
 package/irda-utils/Config.in                       |   19 ++
 package/irda-utils/irda-utils-0.9.18-daemon.patch  |   26 +++
 package/irda-utils/irda-utils-0.9.18-nommu.patch   |   14 ++
 package/irda-utils/irda-utils-0.9.18-subdir.patch  |   16 ++
 package/irda-utils/irda-utils.mk                   |   47 ++++
 package/libpcap/libpcap.mk                         |    7 +-
 package/lsuio/Config.in                            |    6 +
 package/lsuio/lsuio.mk                             |   11 +
 package/m4/m4-1.4.15-uclibc-sched_param-def.patch  |   19 ++
 package/m4/m4.mk                                   |    2 +-
 package/pax-utils/Config.in                        |    6 +
 package/pax-utils/pax-utils.mk                     |   42 ++++
 ...0-0001-README-fix-typo-in-tcp-wrapper-doc.patch |   26 +++
 ...0002-NO_PIE-make-PIE-support-controllable.patch |   53 +++++
 ...K-control-usage-of-fork-for-nommu-systems.patch |  110 +++++++++
 ...ERROR-control-overriding-of-perror-symbol.patch |   46 ++++
 package/portmap/portmap.mk                         |   12 +-
 package/rsh-redone/Config.in                       |   31 +++
 package/rsh-redone/rsh-redone.mk                   |   36 +++
 package/tcpdump/tcpdump-4.1.1-vfork.patch          |  128 +++++++++++
 package/whetstone/Config.in                        |    6 +
 package/whetstone/whetstone.mk                     |   37 +++
 package/xz/xz.mk                                   |    2 +-
 target/Config.in.arch                              |   32 +++-
 target/generic/Config.in                           |   19 ++-
 toolchain/gdb/6.6/gdb-6.6-bfin-gdbserver.patch     |  238 ++++++++++++++++++++
 toolchain/gdb/Config.in                            |    7 +-
 toolchain/helpers.mk                               |   14 +-
 toolchain/toolchain-common.in                      |    7 +
 toolchain/toolchain-external/Config.in.2           |   11 +
 toolchain/toolchain-external/ext-tool.mk           |    6 +
 50 files changed, 1304 insertions(+), 111 deletions(-)
 create mode 100644 package/busybox/busybox-1.17.3/busybox-1.17.3-skip_strip.patch
 create mode 100644 package/dhrystone/Config.in
 create mode 100644 package/dhrystone/Makefile
 create mode 100644 package/dhrystone/dhrystone-2-HZ.patch
 create mode 100644 package/dhrystone/dhrystone-2-cmdline-nruns.patch
 create mode 100644 package/dhrystone/dhrystone-2-exit.patch
 create mode 100644 package/dhrystone/dhrystone-2-prototypes.patch
 create mode 100644 package/dhrystone/dhrystone.mk
 create mode 100644 package/irda-utils/Config.in
 create mode 100644 package/irda-utils/irda-utils-0.9.18-daemon.patch
 create mode 100644 package/irda-utils/irda-utils-0.9.18-nommu.patch
 create mode 100644 package/irda-utils/irda-utils-0.9.18-subdir.patch
 create mode 100644 package/irda-utils/irda-utils.mk
 create mode 100644 package/lsuio/Config.in
 create mode 100644 package/lsuio/lsuio.mk
 create mode 100644 package/m4/m4-1.4.15-uclibc-sched_param-def.patch
 create mode 100644 package/pax-utils/Config.in
 create mode 100644 package/pax-utils/pax-utils.mk
 create mode 100644 package/portmap/portmap-6.0-0001-README-fix-typo-in-tcp-wrapper-doc.patch
 create mode 100644 package/portmap/portmap-6.0-0002-NO_PIE-make-PIE-support-controllable.patch
 create mode 100644 package/portmap/portmap-6.0-0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch
 create mode 100644 package/portmap/portmap-6.0-0004-NO_PERROR-control-overriding-of-perror-symbol.patch
 create mode 100644 package/rsh-redone/Config.in
 create mode 100644 package/rsh-redone/rsh-redone.mk
 create mode 100644 package/tcpdump/tcpdump-4.1.1-vfork.patch
 create mode 100644 package/whetstone/Config.in
 create mode 100644 package/whetstone/whetstone.mk
 create mode 100644 toolchain/gdb/6.6/gdb-6.6-bfin-gdbserver.patch

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

* [Buildroot] Pull request buildroot.git (vapier branch)
@ 2010-11-23 21:48 Mike Frysinger
  0 siblings, 0 replies; 43+ messages in thread
From: Mike Frysinger @ 2010-11-23 21:48 UTC (permalink / raw)
  To: buildroot

The following changes since commit d8de970bae3744fe830e96a1ae0c4aff6ce47ba1:

  uClibc: sys/ptrace.h fix for 0.9.31 / powerpc so ltrace builds (2010-11-22 10:53:09 +0100)

are available in the git repository at:
  git://sources.blackfin.uclinux.org/git/users/vapier/buildroot.git vapier

Mike Frysinger (5):
      m4: version bump to 1.4.15
      xz: version bump to 5.0.0
      u-boot: version bump to 2010.09
      auto remove empty /usr/share dir
      rsh-redone: new package for rsh/rlogin clients

 Makefile                                          |    1 +
 boot/u-boot/Config.in                             |    6 +++-
 package/Config.in                                 |    1 +
 package/m4/m4-1.4.15-uclibc-sched_param-def.patch |   19 +++++++++++
 package/m4/m4.mk                                  |    2 +-
 package/rsh-redone/Config.in                      |   31 ++++++++++++++++++
 package/rsh-redone/rsh-redone.mk                  |   36 +++++++++++++++++++++
 package/xz/xz.mk                                  |    2 +-
 8 files changed, 95 insertions(+), 3 deletions(-)
 create mode 100644 package/m4/m4-1.4.15-uclibc-sched_param-def.patch
 create mode 100644 package/rsh-redone/Config.in
 create mode 100644 package/rsh-redone/rsh-redone.mk

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

end of thread, other threads:[~2011-02-07  5:49 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-10 14:28 [Buildroot] Pull request buildroot.git (vapier branch) Mike Frysinger
2011-01-10 14:28 ` [Buildroot] [PATCH 1/7] busybox: unify duplicated build steps Mike Frysinger
2011-01-10 14:28   ` [Buildroot] [PATCH 2/7] busybox: let buildroot handle stripping Mike Frysinger
2011-01-11  9:52     ` Peter Korsgaard
2011-01-10 14:28   ` [Buildroot] [PATCH 3/7] toolchain: add a USE_MMU build option Mike Frysinger
2011-01-14 12:29     ` Peter Korsgaard
2011-01-14 21:27       ` Mike Frysinger
2011-01-14 21:53         ` Peter Korsgaard
2011-01-14 22:17           ` Mike Frysinger
2011-01-15 13:25     ` Peter Korsgaard
2011-01-10 14:28   ` [Buildroot] [PATCH 4/7] portmap: add nommu support Mike Frysinger
2011-01-11 10:29     ` Peter Korsgaard
2011-01-11 17:50       ` Mike Frysinger
2011-01-11 20:30         ` Peter Korsgaard
2011-01-16  1:20           ` Mike Frysinger
2011-01-11 18:00       ` [Buildroot] [PATCH 4/7 v2] " Mike Frysinger
2011-01-19 21:19         ` Peter Korsgaard
2011-01-10 14:28   ` [Buildroot] [PATCH 5/7] portmap: respect target CFLAGS Mike Frysinger
2011-01-19 21:20     ` Peter Korsgaard
2011-01-10 14:28   ` [Buildroot] [PATCH 6/7] portmap: fix clean target to actually clean Mike Frysinger
2011-01-19 21:21     ` Peter Korsgaard
2011-01-10 14:28   ` [Buildroot] [PATCH 7/7] tcpdump: add patch for nommu systems Mike Frysinger
2011-01-19 21:52     ` Peter Korsgaard
2011-01-11  9:52   ` [Buildroot] [PATCH 1/7] busybox: unify duplicated build steps Peter Korsgaard
  -- strict thread matches above, loose matches on Subject: below --
2011-02-07  5:49 [Buildroot] Pull request buildroot.git (vapier branch) Mike Frysinger
2011-01-20  3:10 Mike Frysinger
2010-12-04 22:52 Mike Frysinger
2010-12-05 10:57 ` Thomas Petazzoni
2010-12-05 12:19   ` Thomas Petazzoni
2010-12-06  6:56     ` Mike Frysinger
2010-12-06 19:27       ` Thomas Petazzoni
2010-12-06 20:10         ` Mike Frysinger
2010-12-07 12:28         ` Peter Korsgaard
2010-12-07 20:35           ` Thomas Petazzoni
2010-12-07 21:31           ` Mike Frysinger
2010-12-07 21:48             ` Peter Korsgaard
2010-12-07 22:02               ` Mike Frysinger
2010-12-06  7:50   ` Mike Frysinger
2010-12-06 19:39     ` Thomas Petazzoni
2010-12-06 20:20       ` Mike Frysinger
2010-12-06 20:44         ` Thomas Petazzoni
2010-12-06 20:55           ` Mike Frysinger
2010-11-23 21:48 Mike Frysinger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.