All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [pull request v5] Pull request for branch yem-new-packages
@ 2013-02-04 16:01 Yann E. MORIN
  2013-02-04 16:01 ` [Buildroot] [PATCH 1/7] package/usbredir: update to version 0.6 Yann E. MORIN
                   ` (6 more replies)
  0 siblings, 7 replies; 25+ messages in thread
From: Yann E. MORIN @ 2013-02-04 16:01 UTC (permalink / raw)
  To: buildroot

Hello All!

This series deals with adding the required packages to build QEMU on
the target.

Hopefully, we'll have time to review and definitely ack/nack that
during the DevDay in Brussels. 


Changes v4 -> v5:
  - fixed the ceph build after the boost changes
  - rebased ontop current master

Changes v3 -> v4:
  - removed pmake patches, grab them at download time (Arnout, Thomas)

Changes v2 -> v3:
  - rebased on-top latest tree, drop already applied packages
  - bumped usbredir version (needed later for qemu 1.3.x)

Changes v1 -> v2:
  - vde2: do not require C++ (Peter)
  - usbredir: select libusb (Peter)
  - ceph: use 'select' instead of 'depends on'
  - cegui06: add comment


The following changes since commit 1382af876b1f5d89201c1b96116b0814990a8dba:

  toolchain-external: remove support for AArch64 Linaro 2012.10 toolchain (2013-02-02 17:35:53 +0100)

are available in the git repository at:
  git://gitorious.org/buildroot/buildroot.git yem-new-packages

Yann E. MORIN (7):
      package/usbredir: update to version 0.6
      package/pmake: add host pmake
      package/libbsd: new package
      package/libedit2: new package
      package/ceph: new package
      package/dtc: new package
      package/dtc: add option to install programs

 package/Config.in                                  |    4 +
 package/ceph/Config.in                             |   25 +++++++
 package/ceph/ceph-no-envz.patch                    |   63 ++++++++++++++++
 package/ceph/ceph-no-getloadavg.patch              |   61 ++++++++++++++++
 package/ceph/ceph-no-posix_fallocate.patch         |   50 +++++++++++++
 package/ceph/ceph.mk                               |   57 +++++++++++++++
 package/dtc/Config.in                              |   29 ++++++++
 package/dtc/dtc-extra_cflags.patch                 |   27 +++++++
 package/dtc/dtc-separate-lib-install.patch         |   28 +++++++
 package/dtc/dtc.mk                                 |   51 +++++++++++++
 package/libbsd/Config.in                           |   10 +++
 package/libbsd/libbsd.mk                           |   21 ++++++
 package/libedit2/Config.in                         |    9 +++
 package/libedit2/libedit2-01-Makefile.patch        |   25 +++++++
 package/libedit2/libedit2-02-el.c-issetugid.patch  |   24 ++++++
 package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch |   40 +++++++++++
 .../libedit2/libedit2-04-readline.h-stdio.patch    |   17 +++++
 .../libedit2/libedit2-08-readline-history.h.patch  |   20 +++++
 .../libedit2/libedit2-10-define_SIZE_T_MAX.patch   |   18 +++++
 .../libedit2/libedit2-12-libedit-Makefile.patch    |   54 ++++++++++++++
 package/libedit2/libedit2-20-fortify.patch         |   23 ++++++
 package/libedit2/libedit2.mk                       |   75 ++++++++++++++++++++
 package/libedit2/libedit2.pc                       |   13 ++++
 package/pmake/pmake.mk                             |   49 +++++++++++++
 package/usbredir/usbredir.mk                       |    2 +-
 25 files changed, 794 insertions(+), 1 deletions(-)
 create mode 100644 package/ceph/Config.in
 create mode 100644 package/ceph/ceph-no-envz.patch
 create mode 100644 package/ceph/ceph-no-getloadavg.patch
 create mode 100644 package/ceph/ceph-no-posix_fallocate.patch
 create mode 100644 package/ceph/ceph.mk
 create mode 100644 package/dtc/Config.in
 create mode 100644 package/dtc/dtc-extra_cflags.patch
 create mode 100644 package/dtc/dtc-separate-lib-install.patch
 create mode 100644 package/dtc/dtc.mk
 create mode 100644 package/libbsd/Config.in
 create mode 100644 package/libbsd/libbsd.mk
 create mode 100644 package/libedit2/Config.in
 create mode 100644 package/libedit2/libedit2-01-Makefile.patch
 create mode 100644 package/libedit2/libedit2-02-el.c-issetugid.patch
 create mode 100644 package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch
 create mode 100644 package/libedit2/libedit2-04-readline.h-stdio.patch
 create mode 100644 package/libedit2/libedit2-08-readline-history.h.patch
 create mode 100644 package/libedit2/libedit2-10-define_SIZE_T_MAX.patch
 create mode 100644 package/libedit2/libedit2-12-libedit-Makefile.patch
 create mode 100644 package/libedit2/libedit2-20-fortify.patch
 create mode 100644 package/libedit2/libedit2.mk
 create mode 100644 package/libedit2/libedit2.pc
 create mode 100644 package/pmake/pmake.mk

Regards,
Yann E. MORIN

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH 1/7] package/usbredir: update to version 0.6
  2013-02-04 16:01 [Buildroot] [pull request v5] Pull request for branch yem-new-packages Yann E. MORIN
@ 2013-02-04 16:01 ` Yann E. MORIN
  2013-02-04 23:14   ` Peter Korsgaard
  2013-02-04 16:01 ` [Buildroot] [PATCH 2/7] package/pmake: add host pmake Yann E. MORIN
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 25+ messages in thread
From: Yann E. MORIN @ 2013-02-04 16:01 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/usbredir/usbredir.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/package/usbredir/usbredir.mk b/package/usbredir/usbredir.mk
index f0530a7..efdb1be 100644
--- a/package/usbredir/usbredir.mk
+++ b/package/usbredir/usbredir.mk
@@ -4,7 +4,7 @@
 #
 #############################################################
 
-USBREDIR_VERSION         = 0.4.4
+USBREDIR_VERSION         = 0.6
 USBREDIR_SOURCE          = usbredir-$(USBREDIR_VERSION).tar.bz2
 USBREDIR_SITE            = http://spice-space.org/download/usbredir
 USBREDIR_LICENSE         = LGPLv2.1+
-- 
1.7.2.5

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

* [Buildroot] [PATCH 2/7] package/pmake: add host pmake
  2013-02-04 16:01 [Buildroot] [pull request v5] Pull request for branch yem-new-packages Yann E. MORIN
  2013-02-04 16:01 ` [Buildroot] [PATCH 1/7] package/usbredir: update to version 0.6 Yann E. MORIN
@ 2013-02-04 16:01 ` Yann E. MORIN
  2013-02-04 18:54   ` Arnout Vandecappelle
  2013-02-04 16:01 ` [Buildroot] [PATCH 3/7] package/libbsd: new package Yann E. MORIN
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 25+ messages in thread
From: Yann E. MORIN @ 2013-02-04 16:01 UTC (permalink / raw)
  To: buildroot

pmake is the make command used by the BSD.
It will used to build BSD-related packages, coming later.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pmake/pmake.mk |   49 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 49 insertions(+), 0 deletions(-)
 create mode 100644 package/pmake/pmake.mk

diff --git a/package/pmake/pmake.mk b/package/pmake/pmake.mk
new file mode 100644
index 0000000..4a9e888
--- /dev/null
+++ b/package/pmake/pmake.mk
@@ -0,0 +1,49 @@
+#############################################################
+#
+# pmake
+#
+##############################################################
+
+PMAKE_VERSION       = 1.111
+PMAKE_SOURCE        = pmake_$(PMAKE_VERSION).orig.tar.gz
+PMAKE_SITE          = http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/p/pmake
+PMAKE_LICENSE       = BSD-3c BSD-4c
+# No license file. License texts are spread in the boilerplates
+# of each individual source files; some are BSD-3c, some BSD-4c.
+
+# Vampirise patches from Debian
+PMAKE_PATCH = pmake_1.111-3.2.debian.tar.gz
+
+# CFLAGS vampirised from Debian's rules, adapted to buildroot variables
+HOST_PMAKE_CFLAGS = -O2 -g -Wall -D__COPYRIGHT\(x\)= -D__RCSID\(x\)= -I.    \
+                -DMACHINE=\\\"buildroot\\\"                                 \
+                -DMACHINE_ARCH=\\\"$(ARCH)\\\" -DMACHINE_MULTIARCH=\\\"\\\" \
+                -DHAVE_SETENV -DHAVE_STRERROR -DHAVE_STRDUP -DHAVE_STRFTIME \
+                -DHAVE_VSNPRINTF -D_GNU_SOURCE -Wno-unused
+
+define HOST_PMAKE_BUILD_CMDS
+	$(MAKE) -C $(@D) -f Makefile.boot CFLAGS="$(HOST_PMAKE_CFLAGS)"
+endef
+
+# The generated file is named bmake, but we want pmake; but:
+#  - pmake uses support files (in  mk/)
+#  - it's not possible to tell pmake, at build-time, where to expect
+#    these support files, and pmake expects them in /usr/share/mk/
+#  - but pmake has an option to override that search path at runtime
+#  - so we install bmake as bmake
+#  - and we install a wraper named pmake that calls pmake with the
+#    appropriate search path
+define HOST_PMAKE_INSTALL_CMDS
+	$(INSTALL) -m 0755 $(@D)/bmake $(HOST_DIR)/usr/bin/bmake
+	$(INSTALL) -d -m 0755 $(HOST_DIR)/usr/share/pmake/mk
+	for mk in $(@D)/mk/*; do                                        \
+	    $(INSTALL) -m 0644 $${mk} $(HOST_DIR)/usr/share/pmake/mk;   \
+	done
+	printf '#!/bin/sh\nexec %s -m %s "$$@"\n'   \
+	       $(HOST_DIR)/usr/bin/bmake            \
+	       $(HOST_DIR)/usr/share/pmake/mk       \
+	       >$(HOST_DIR)/usr/bin/pmake
+	chmod 0755 $(HOST_DIR)/usr/bin/pmake
+endef
+
+$(eval $(host-generic-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 3/7] package/libbsd: new package
  2013-02-04 16:01 [Buildroot] [pull request v5] Pull request for branch yem-new-packages Yann E. MORIN
  2013-02-04 16:01 ` [Buildroot] [PATCH 1/7] package/usbredir: update to version 0.6 Yann E. MORIN
  2013-02-04 16:01 ` [Buildroot] [PATCH 2/7] package/pmake: add host pmake Yann E. MORIN
@ 2013-02-04 16:01 ` Yann E. MORIN
  2013-02-04 16:01 ` [Buildroot] [PATCH 4/7] package/libedit2: " Yann E. MORIN
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 25+ messages in thread
From: Yann E. MORIN @ 2013-02-04 16:01 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/Config.in        |    1 +
 package/libbsd/Config.in |   10 ++++++++++
 package/libbsd/libbsd.mk |   21 +++++++++++++++++++++
 3 files changed, 32 insertions(+), 0 deletions(-)
 create mode 100644 package/libbsd/Config.in
 create mode 100644 package/libbsd/libbsd.mk

diff --git a/package/Config.in b/package/Config.in
index e6682fc..a4ecc4f 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -541,6 +541,7 @@ source "package/libargtable2/Config.in"
 source "package/argp-standalone/Config.in"
 source "package/boost/Config.in"
 source "package/libatomic_ops/Config.in"
+source "package/libbsd/Config.in"
 source "package/libcap/Config.in"
 source "package/libcap-ng/Config.in"
 source "package/libdaemon/Config.in"
diff --git a/package/libbsd/Config.in b/package/libbsd/Config.in
new file mode 100644
index 0000000..7f2b55a
--- /dev/null
+++ b/package/libbsd/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_LIBBSD
+	bool "libbsd"
+	help
+	  This library provides useful functions commonly found on BSD
+	  systems, and lacking on others like GNU systems, thus making
+	  it easier to port projects with strong BSD origins, without
+	  needing to embed the same code over and over again on each
+	  project.
+	  
+	  http://libbsd.freedesktop.org/
diff --git a/package/libbsd/libbsd.mk b/package/libbsd/libbsd.mk
new file mode 100644
index 0000000..3af1002
--- /dev/null
+++ b/package/libbsd/libbsd.mk
@@ -0,0 +1,21 @@
+#############################################################
+#
+# libbsd
+#
+#############################################################
+
+LIBBSD_VERSION         = 0.4.2
+LIBBSD_SOURCE          = libbsd-$(LIBBSD_VERSION).tar.gz
+LIBBSD_SITE            = http://libbsd.freedesktop.org/releases
+LIBBSD_LICENSE         = BSD-3c MIT
+LIBBSD_LICENSE_FILES   = LICENSE
+
+# man-pages are BSD-4c, so that license only matters
+# if doc is kept in the target rootfs
+ifeq ($(BR2_HAVE_DOCUMENTATION),y)
+LIBBSD_LICENSE        += (libraries), BSD-4c (documentation)
+endif
+
+LIBBSD_INSTALL_STAGING = YES
+
+$(eval $(autotools-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 4/7] package/libedit2: new package
  2013-02-04 16:01 [Buildroot] [pull request v5] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (2 preceding siblings ...)
  2013-02-04 16:01 ` [Buildroot] [PATCH 3/7] package/libbsd: new package Yann E. MORIN
@ 2013-02-04 16:01 ` Yann E. MORIN
  2013-02-04 22:41   ` Arnout Vandecappelle
  2013-02-04 16:01 ` [Buildroot] [PATCH 5/7] package/ceph: " Yann E. MORIN
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 25+ messages in thread
From: Yann E. MORIN @ 2013-02-04 16:01 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in                                  |    1 +
 package/libedit2/Config.in                         |    9 +++
 package/libedit2/libedit2-01-Makefile.patch        |   25 +++++++
 package/libedit2/libedit2-02-el.c-issetugid.patch  |   24 ++++++
 package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch |   40 +++++++++++
 .../libedit2/libedit2-04-readline.h-stdio.patch    |   17 +++++
 .../libedit2/libedit2-08-readline-history.h.patch  |   20 +++++
 .../libedit2/libedit2-10-define_SIZE_T_MAX.patch   |   18 +++++
 .../libedit2/libedit2-12-libedit-Makefile.patch    |   54 ++++++++++++++
 package/libedit2/libedit2-20-fortify.patch         |   23 ++++++
 package/libedit2/libedit2.mk                       |   75 ++++++++++++++++++++
 package/libedit2/libedit2.pc                       |   13 ++++
 12 files changed, 319 insertions(+), 0 deletions(-)
 create mode 100644 package/libedit2/Config.in
 create mode 100644 package/libedit2/libedit2-01-Makefile.patch
 create mode 100644 package/libedit2/libedit2-02-el.c-issetugid.patch
 create mode 100644 package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch
 create mode 100644 package/libedit2/libedit2-04-readline.h-stdio.patch
 create mode 100644 package/libedit2/libedit2-08-readline-history.h.patch
 create mode 100644 package/libedit2/libedit2-10-define_SIZE_T_MAX.patch
 create mode 100644 package/libedit2/libedit2-12-libedit-Makefile.patch
 create mode 100644 package/libedit2/libedit2-20-fortify.patch
 create mode 100644 package/libedit2/libedit2.mk
 create mode 100644 package/libedit2/libedit2.pc

diff --git a/package/Config.in b/package/Config.in
index a4ecc4f..a609a11 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -572,6 +572,7 @@ menu "Text and terminal handling"
 source "package/enchant/Config.in"
 source "package/libfribidi/Config.in"
 source "package/icu/Config.in"
+source "package/libedit2/Config.in"
 source "package/libiconv/Config.in"
 source "package/linenoise/Config.in"
 source "package/ncurses/Config.in"
diff --git a/package/libedit2/Config.in b/package/libedit2/Config.in
new file mode 100644
index 0000000..1e7b95d
--- /dev/null
+++ b/package/libedit2/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_LIBEDIT2
+	bool "libedit2"
+	select BR2_PACKAGE_LIBBSD
+	select BR2_PACKAGE_NCURSES
+	help
+	  The editline library (from BSD) provides generic line editing
+	  and history functions. It slightly resembles GNU readline.
+	  
+	  http://ftp.netbsd.org/pub/NetBSD/NetBSD-release-5-0/src/lib/libedit/
diff --git a/package/libedit2/libedit2-01-Makefile.patch b/package/libedit2/libedit2-01-Makefile.patch
new file mode 100644
index 0000000..91645e4
--- /dev/null
+++ b/package/libedit2/libedit2-01-Makefile.patch
@@ -0,0 +1,25 @@
+ 01-Makefile.diff by Neal H Walfield <neal@cs.uml.edu> and
+ Gergely Nagy <algernon@debian.org>
+
+ Add the necessary includes and other things to the libedit
+ Makefile, so it will compile on GNU systems, with our supplied
+ glue code
+
+ Yann E. MORIN: patch from debian.
+
+--- a/libedit/Makefile
++++ b/libedit/Makefile
+@@ -1,6 +1,13 @@
+ #	$NetBSD: Makefile,v 1.36 2007/05/28 12:06:18 tls Exp $
+ #	@(#)Makefile	8.1 (Berkeley) 6/4/93
+ 
++OS!=	sh -c "case `uname -s` in GNU|GNU/*) echo GNU ;; *) uname -s ;; esac"
++
++.if ${OS} == GNU || ${OS} == Linux
++CFLAGS += -include bsd/bsd.h
++MKLINT=no
++.endif
++
+ USE_SHLIBDIR=	yes
+ 
+ WARNS=	3
diff --git a/package/libedit2/libedit2-02-el.c-issetugid.patch b/package/libedit2/libedit2-02-el.c-issetugid.patch
new file mode 100644
index 0000000..b060fa4
--- /dev/null
+++ b/package/libedit2/libedit2-02-el.c-issetugid.patch
@@ -0,0 +1,24 @@
+ 02-el.c-issetugid.diff by Gergely Nagy <algernon@debian.org>
+
+ issetugid(2) is not implemented on GNU systems, so #ifdef it out
+
+ Yann E. MORIN: patch from debian.
+
+--- a/libedit/el.c	2008-04-06 02:53:28.000000000 +1100
++++ b/libedit/el.c	2009-06-23 08:51:48.000000000 +1000
+@@ -479,12 +479,14 @@ el_source(EditLine *el, const char *fnam
+ 
+ 	fp = NULL;
+ 	if (fname == NULL) {
+-#ifdef HAVE_ISSETUGID
++#if 1
+ 		static const char elpath[] = "/.editrc";
+ 		char path[MAXPATHLEN];
+ 
++#ifndef __GLIBC__
+ 		if (issetugid())
+ 			return (-1);
++#endif
+ 		if ((ptr = getenv("HOME")) == NULL)
+ 			return (-1);
+ 		if (strlcpy(path, ptr, sizeof(path)) >= sizeof(path))
diff --git a/package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch b/package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch
new file mode 100644
index 0000000..aadd36a
--- /dev/null
+++ b/package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch
@@ -0,0 +1,40 @@
+ 03-el.c-MAXPATHLEN.diff by Gergely Nagy <algernon@debian.org>
+
+ on systems without MAXPATHLEN, allocate memory dynamically
+
+ Yann E. MORIN: patch from debian.
+
+--- a/libedit/el.c	2009-06-23 08:57:04.000000000 +1000
++++ b/libedit/el.c	2009-06-23 08:57:30.000000000 +1000
+@@ -481,7 +481,11 @@ el_source(EditLine *el, const char *fnam
+ 	if (fname == NULL) {
+ #if 1
+ 		static const char elpath[] = "/.editrc";
++#ifdef MAXPATHLEN
+ 		char path[MAXPATHLEN];
++#else
++		char *path;
++#endif
+ 
+ #ifndef __GLIBC__
+ 		if (issetugid())
+@@ -489,10 +493,19 @@ el_source(EditLine *el, const char *fnam
+ #endif
+ 		if ((ptr = getenv("HOME")) == NULL)
+ 			return (-1);
++#ifndef MAXPATHLEN
++                path = (char *)malloc(strlen(ptr) + strlen(elpath) + 10);
++		if (path == NULL)
++			return (-1);
++		/* Always succeeds, since we have enough memory */
++		strcpy(path, ptr);
++		strcat(path, elpath);
++#else
+ 		if (strlcpy(path, ptr, sizeof(path)) >= sizeof(path))
+ 			return (-1);
+ 		if (strlcat(path, elpath, sizeof(path)) >= sizeof(path))
+ 			return (-1);
++#endif
+ 		fname = path;
+ #else
+ 		/*
diff --git a/package/libedit2/libedit2-04-readline.h-stdio.patch b/package/libedit2/libedit2-04-readline.h-stdio.patch
new file mode 100644
index 0000000..84257b9
--- /dev/null
+++ b/package/libedit2/libedit2-04-readline.h-stdio.patch
@@ -0,0 +1,17 @@
+ 04-readline.h-stdio.diff by Gergely Nagy <algernon@debian.org>
+
+ since readline.h uses types defined in stdio.h, that header should
+ be included
+
+ Yann E. MORIN: patch from debian.
+
+--- a/libedit/readline/readline.h	2008-04-29 16:53:01.000000000 +1000
++++ b/libedit/readline/readline.h	2009-06-23 08:35:58.000000000 +1000
+@@ -31,6 +31,7 @@
+ #ifndef _READLINE_H_
+ #define _READLINE_H_
+ 
++#include <stdio.h>
+ #include <sys/types.h>
+ 
+ /* list of readline stuff supported by editline library's readline wrapper */
diff --git a/package/libedit2/libedit2-08-readline-history.h.patch b/package/libedit2/libedit2-08-readline-history.h.patch
new file mode 100644
index 0000000..f30093f
--- /dev/null
+++ b/package/libedit2/libedit2-08-readline-history.h.patch
@@ -0,0 +1,20 @@
+ 08-readline-history.h.diff by Pawel Wiecek <coven@debian.org>
+ (compatibility with older versions)
+
+ Setting the global variable rl_inhibit_completion to 1 did indeed
+ disable completion, but the invoking key (e.g., <TAB>) was not
+ inserted directly into the input line as it should be.
+ This patch fixes this problem, and also declares rl_inhibit_completion
+ in readline.h for better readline compatibility.
+
+ Yann E. MORIN: patch from debian.
+
+--- a/libedit/readline/Makefile	2003-08-03 19:23:15.000000000 +1000
++++ b/libedit/readline/Makefile	2009-06-23 08:35:58.000000000 +1000
+@@ -10,4 +10,6 @@ INCS=		readline.h
+ INCSDIR=	/usr/include/readline
+ INCSYMLINKS=	readline.h ${INCSDIR}/history.h
+ 
++incinstall:: linksinstall
++
+ .include <bsd.prog.mk>
diff --git a/package/libedit2/libedit2-10-define_SIZE_T_MAX.patch b/package/libedit2/libedit2-10-define_SIZE_T_MAX.patch
new file mode 100644
index 0000000..c8ce262
--- /dev/null
+++ b/package/libedit2/libedit2-10-define_SIZE_T_MAX.patch
@@ -0,0 +1,18 @@
+ 10-define_SIZE_T_MAX.diff by Anibal Monsalve Salazar
+ define SIZE_T_MAX as UINT_MAX in limits.h
+
+ Yann E. MORIN: patch from debian.
+
+--- a/libedit/readline.c	2008-04-29 16:53:01.000000000 +1000
++++ a/libedit/readline.c	2008-06-14 23:54:16.000000000 +1000
+@@ -61,6 +61,10 @@ __RCSID("$NetBSD: readline.c,v 1.75 2008
+ #include "readline/readline.h"
+ #include "filecomplete.h"
+ 
++#ifndef SIZE_T_MAX
++#define SIZE_T_MAX UINT_MAX
++#endif
++
+ void rl_prep_terminal(int);
+ void rl_deprep_terminal(void);
+ 
diff --git a/package/libedit2/libedit2-12-libedit-Makefile.patch b/package/libedit2/libedit2-12-libedit-Makefile.patch
new file mode 100644
index 0000000..3234f33
--- /dev/null
+++ b/package/libedit2/libedit2-12-libedit-Makefile.patch
@@ -0,0 +1,54 @@
+ 12-libedit-Makefile.diff by Anibal Monsalve Salazar
+ without this patch I get the following message:
+ make: ${_MKTARGET_CREATE} expands to empty string
+
+ Yann E. MORIN: patch from debian.
+
+--- a/libedit/Makefile	2007-05-28 22:06:18.000000000 +1000
++++ a/libedit/Makefile	2008-06-15 13:53:50.000000000 +1000
+@@ -59,45 +59,37 @@ CLEANFILES+=	${AHDR} fcns.h help.h fcns.
+ SUBDIR=	readline
+ 
+ vi.h: vi.c makelist Makefile
+-	${_MKTARGET_CREATE}
+ 	${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/vi.c \
+ 	    > ${.TARGET}.tmp && \
+ 	    mv ${.TARGET}.tmp ${.TARGET}
+ 
+ emacs.h: emacs.c makelist Makefile
+-	${_MKTARGET_CREATE}
+ 	${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/emacs.c \
+ 	    > ${.TARGET}.tmp && \
+ 	    mv ${.TARGET}.tmp ${.TARGET}
+ 
+ common.h: common.c makelist Makefile
+-	${_MKTARGET_CREATE}
+ 	${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/common.c \
+ 	    > ${.TARGET}.tmp && \
+ 	    mv ${.TARGET}.tmp ${.TARGET}
+ 
+ fcns.h: ${AHDR} makelist Makefile
+-	${_MKTARGET_CREATE}
+ 	${HOST_SH} ${LIBEDITDIR}/makelist -fh ${AHDR} > ${.TARGET}.tmp && \
+ 	    mv ${.TARGET}.tmp ${.TARGET}
+ 
+ fcns.c: ${AHDR} fcns.h help.h makelist Makefile
+-	${_MKTARGET_CREATE}
+ 	${HOST_SH} ${LIBEDITDIR}/makelist -fc ${AHDR} > ${.TARGET}.tmp && \
+ 	    mv ${.TARGET}.tmp ${.TARGET}
+ 
+ help.c: ${ASRC} makelist Makefile
+-	${_MKTARGET_CREATE}
+ 	${HOST_SH} ${LIBEDITDIR}/makelist -bc ${ASRC} > ${.TARGET}.tmp && \
+ 	    mv ${.TARGET}.tmp ${.TARGET}
+ 
+ help.h: ${ASRC} makelist Makefile
+-	${_MKTARGET_CREATE}
+ 	${HOST_SH} ${LIBEDITDIR}/makelist -bh ${ASRC} > ${.TARGET}.tmp && \
+ 	    mv ${.TARGET}.tmp ${.TARGET}
+ 
+ editline.c: ${OSRCS} makelist Makefile
+-	${_MKTARGET_CREATE}
+ 	${HOST_SH} ${LIBEDITDIR}/makelist -e ${OSRCS:T} > ${.TARGET}.tmp && \
+ 	    mv ${.TARGET}.tmp ${.TARGET}
+ 
diff --git a/package/libedit2/libedit2-20-fortify.patch b/package/libedit2/libedit2-20-fortify.patch
new file mode 100644
index 0000000..0a41ce3
--- /dev/null
+++ b/package/libedit2/libedit2-20-fortify.patch
@@ -0,0 +1,23 @@
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=488456
+
+Patch by Kees Cook <kees@outflux.net>
+
+Yann E. MORIN: patch from debian.
+
+--- a/libedit/vi.c	2006-10-22 17:48:13.000000000 +1000
++++ b/libedit/vi.c	2009-06-23 08:35:58.000000000 +1000
+@@ -1012,8 +1012,12 @@ vi_histedit(EditLine *el, int c)
+ 	if (fd < 0)
+ 		return CC_ERROR;
+ 	cp = el->el_line.buffer;
+-	write(fd, cp, el->el_line.lastchar - cp +0u);
+-	write(fd, "\n", 1);
++	if (write(fd, cp, el->el_line.lastchar - cp +0u)<0 ||
++	    write(fd, "\n", 1)<0) {
++		close(fd);
++		unlink(tempfile);
++		return CC_ERROR;
++	}
+ 	pid = fork();
+ 	switch (pid) {
+ 	case -1:
diff --git a/package/libedit2/libedit2.mk b/package/libedit2/libedit2.mk
new file mode 100644
index 0000000..b9ca41e
--- /dev/null
+++ b/package/libedit2/libedit2.mk
@@ -0,0 +1,75 @@
+#############################################################
+#
+# libedit2
+#
+#############################################################
+
+# Note: libedit2 does not have a regular homepage, and it seems
+# there is no place where to download a tarball from. That's
+# why we use the Debian way-back machine.
+LIBEDIT2_VERSION_MAJOR   = 2
+LIBEDIT2_VERSION_MINOR   = 11-20080614
+LIBEDIT2_VERSION         = $(LIBEDIT2_VERSION_MAJOR).$(LIBEDIT2_VERSION_MINOR)
+LIBEDIT2_SOURCE          = libedit_$(LIBEDIT2_VERSION).orig.tar.bz2
+LIBEDIT2_SITE            = http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/libe/libedit
+LIBEDIT2_SUBDIR          = libedit
+LIBEDIT2_INSTALL_STAGING = YES
+LIBEDIT2_DEPENDENCIES    = host-pmake libbsd ncurses
+
+define POST_PATCH_PERMISSIONS
+	chmod +x $(@D)/libedit/makelist
+endef
+
+LIBEDIT2_POST_PATCH_HOOKS += POST_PATCH_PERMISSIONS
+
+define LIBEDIT2_FIX_VIS_H_INCLUDE
+	$(SED) 's/^#include <vis.h>$$/#include <bsd\/vis.h>/;' $(@D)/libedit/filecomplete.c
+	$(SED) 's/^#include <vis.h>$$/#include <bsd\/vis.h>/;' $(@D)/libedit/history.c
+	$(SED) 's/^#include <vis.h>$$/#include <bsd\/vis.h>/;' $(@D)/libedit/readline.c
+endef
+LIBEDIT2_POST_PATCH_HOOKS += LIBEDIT2_FIX_VIS_H_INCLUDE
+
+LIBEDIT2_PMAKE_ARGS = MKPROFILE=no MKCATPAGES=no MLINKS= MANPAGES= NOGCCERROR=1         \
+                      SHLIB_SHFLAGS="-Wl,-soname,libedit.so.${LIBEDIT2_VERSION_MAJOR}"  \
+
+define LIBEDIT2_BUILD_CMDS
+	cd $(@D)/$(LIBEDIT2_SUBDIR); \
+	$(TARGET_CONFIGURE_OPTS) LDADD="-lbsd -lcurses" pmake $(LIBEDIT2_PMAKE_ARGS)
+endef
+
+LIBEDIT2_MAN_LINKS = el_init el_end el_reset el_gets el_getc el_push el_parse   \
+                     el_set el_get el_source el_resize el_line el_insertstr     \
+                     el_deletestr history_init history_end history
+
+# $1: DESTDIR to install into
+# Can't use pmake to install, it wants to be root. sigh... :-(
+define LIBEDIT2_INSTALL_CMDS
+	$(INSTALL) -D -m 0644 package/libedit2/libedit2.pc $(1)/usr/lib/pkgconfig/libedit2.pc
+	ln -sf libedit2.pc $(1)/usr/lib/pkgconfig/libedit.pc
+	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit.a $(1)/usr/lib/libedit.a
+	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit_pic.a $(1)/usr/lib/libedit_pic.a
+	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit.so.2.11 $(1)/usr/lib/libedit.so.2.11
+	$(INSTALL) -D -m 0644 $(@D)/libedit/histedit.h $(1)/usr/include/histedit.h
+	ln -sf libedit.so.$(LIBEDIT2_VERSION) $(1)/usr/lib/libedit.so.$(LIBEDIT2_VERSION_MAJOR)
+	ln -sf libedit.so.$(LIBEDIT2_VERSION_MAJOR) $(1)/usr/lib/libedit.so
+	$(INSTALL) -D -m 0644 $(@D)/libedit/readline/readline.h $(1)/usr/include/editline/readline.h
+	if [ "$(BR2_HAVE_DOCUMENTATION)" = "y" ]; then                                              \
+	    $(INSTALL) -v -D -m 0644 $(@D)/libedit/editline.3 $(1)/usr/share/man/man3/editline.3el; \
+	    $(INSTALL) -v -D -m 0644 $(@D)/libedit/editrc.3 $(1)/usr/share/man/man5/editrc.5el;     \
+	    for lnk in $(LIBEDIT2_MAN_LINKS); do                                                    \
+	        ln -sfv editline.3el $(1)/usr/share/man/man3/$${lnk}.3el;                           \
+	    done;                                                                                   \
+	fi
+endef
+#	cd $(@D)/libedit; pmake install incinstall DESTDIR=$(1) $(LIBEDIT2_PMAKE_ARGS)
+#	cd $(@D)/libedit/readline; pmake incinstall DESTDIR=$(1) $(LIBEDIT2_PMAKE_ARGS)
+
+define LIBEDIT2_INSTALL_STAGING_CMDS
+	$(call LIBEDIT2_INSTALL_CMDS,$(STAGING_DIR))
+endef
+
+define LIBEDIT2_INSTALL_TARGET_CMDS
+	$(call LIBEDIT2_INSTALL_CMDS,$(TARGET_DIR))
+endef
+
+$(eval $(generic-package))
diff --git a/package/libedit2/libedit2.pc b/package/libedit2/libedit2.pc
new file mode 100644
index 0000000..47ac871
--- /dev/null
+++ b/package/libedit2/libedit2.pc
@@ -0,0 +1,13 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: libedit
+Description: Not just a replacement library for libreadline and libhistory.
+Version: 2.11
+Requires: libbsd ncurses
+Requires.private:
+Libs: -L${libdir} -ledit
+Libs.private:
+Cflags: -I${includedir}
-- 
1.7.2.5

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

* [Buildroot] [PATCH 5/7] package/ceph: new package
  2013-02-04 16:01 [Buildroot] [pull request v5] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (3 preceding siblings ...)
  2013-02-04 16:01 ` [Buildroot] [PATCH 4/7] package/libedit2: " Yann E. MORIN
@ 2013-02-04 16:01 ` Yann E. MORIN
  2013-02-04 22:56   ` Arnout Vandecappelle
  2013-02-04 16:01 ` [Buildroot] [PATCH 6/7] package/dtc: " Yann E. MORIN
  2013-02-04 16:01 ` [Buildroot] [PATCH 7/7] package/dtc: add option to install programs Yann E. MORIN
  6 siblings, 1 reply; 25+ messages in thread
From: Yann E. MORIN @ 2013-02-04 16:01 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <jacmet@uclibc.org>
---
 package/Config.in                          |    1 +
 package/ceph/Config.in                     |   25 +++++++++++
 package/ceph/ceph-no-envz.patch            |   63 ++++++++++++++++++++++++++++
 package/ceph/ceph-no-getloadavg.patch      |   61 +++++++++++++++++++++++++++
 package/ceph/ceph-no-posix_fallocate.patch |   50 ++++++++++++++++++++++
 package/ceph/ceph.mk                       |   57 +++++++++++++++++++++++++
 6 files changed, 257 insertions(+), 0 deletions(-)
 create mode 100644 package/ceph/Config.in
 create mode 100644 package/ceph/ceph-no-envz.patch
 create mode 100644 package/ceph/ceph-no-getloadavg.patch
 create mode 100644 package/ceph/ceph-no-posix_fallocate.patch
 create mode 100644 package/ceph/ceph.mk

diff --git a/package/Config.in b/package/Config.in
index a609a11..a071a5f 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -623,6 +623,7 @@ source "package/bind/Config.in"
 source "package/bmon/Config.in"
 source "package/bridge-utils/Config.in"
 source "package/can-utils/Config.in"
+source "package/ceph/Config.in"
 source "package/connman/Config.in"
 source "package/ctorrent/Config.in"
 source "package/conntrack-tools/Config.in"
diff --git a/package/ceph/Config.in b/package/ceph/Config.in
new file mode 100644
index 0000000..f7e2721
--- /dev/null
+++ b/package/ceph/Config.in
@@ -0,0 +1,25 @@
+comment "ceph requires C++, largefiles, threads, wide chars"
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
+	depends on !BR2_avr2 && !BR2_microblaze
+
+config BR2_PACKAGE_CEPH
+	bool "ceph"
+	depends on BR2_INSTALL_LIBSTDCPP            # boost
+	depends on BR2_LARGEFILE                    # boost, libnss, util-linux
+	depends on BR2_TOOLCHAIN_HAS_THREADS        # boost, libnss
+	depends on BR2_USE_WCHAR                    # util-linux
+	depends on !BR2_avr32 && !BR2_microblaze    # keyutils
+	select BR2_PACKAGE_BOOST
+	select BR2_PACKAGE_BOOST_SYSTEM
+	select BR2_PACKAGE_BOOST_THREAD
+	select BR2_PACKAGE_EXPAT
+	select BR2_PACKAGE_KEYUTILS
+	select BR2_PACKAGE_LIBEDIT2
+	select BR2_PACKAGE_LIBNSS
+	select BR2_PACKAGE_UTIL_LINUX
+	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	help
+	  Ceph is a distributed object store and file system designed to
+	  provide excellent performance, reliability and scalability.
+	  
+	  http://ceph.com/
diff --git a/package/ceph/ceph-no-envz.patch b/package/ceph/ceph-no-envz.patch
new file mode 100644
index 0000000..c0369ba
--- /dev/null
+++ b/package/ceph/ceph-no-envz.patch
@@ -0,0 +1,63 @@
+tools+base: do not include envz.h on uClibc
+
+uClibc does not have envz, and no envz function is in fact used.
+So, simply do not include it under uClibc.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+--- ceph-0.51.orig/src/tools/common.cc	2012-09-09 00:13:32.128838177 +0200
++++ ceph-0.51/src/tools/common.cc	2012-09-09 00:13:59.432064556 +0200
+@@ -17,9 +17,9 @@
+ #include <string>
+ using namespace std;
+ 
+-#if !defined(DARWIN) && !defined(__FreeBSD__)
++#if !defined(DARWIN) && !defined(__FreeBSD__) && !defined(__UCLIBC__)
+ #include <envz.h>
+-#endif // DARWIN
++#endif // DARWIN || __UCLIBC__
+ 
+ #include <memory>
+ #include <sys/types.h>
+--- ceph-0.51.orig/src/ceph_syn.cc	2012-09-09 00:25:23.302722032 +0200
++++ ceph-0.51/src/ceph_syn.cc	2012-09-09 00:24:39.702892463 +0200
+@@ -31,9 +31,9 @@
+ #include "common/ceph_argparse.h"
+ #include "common/pick_address.h"
+ 
+-#if !defined(DARWIN) && !defined(__FreeBSD__)
++#if !defined(DARWIN) && !defined(__FreeBSD__) && !defined(__UCLIBC__)
+ #include <envz.h>
+-#endif // DARWIN || __FreeBSD__
++#endif // DARWIN || __FreeBSD__ || __UCLIBC__
+ 
+ #include <sys/types.h>
+ #include <sys/stat.h>
+--- ceph-0.51.orig/src/ceph_fuse.cc	2012-09-09 00:43:46.875065556 +0200
++++ ceph-0.51/src/ceph_fuse.cc	2012-09-09 00:44:21.161597834 +0200
+@@ -32,9 +32,9 @@
+ #include "global/global_init.h"
+ #include "common/safe_io.h"
+        
+-#ifndef DARWIN
++#if !defined(DARWIN) && !defined(__UCLIBC__)
+ #include <envz.h>
+-#endif // DARWIN
++#endif // DARWIN || __UCLIBC__
+ 
+ #include <sys/types.h>
+ #include <sys/stat.h>
+--- ceph-0.51.orig/src/testmsgr.cc	2012-09-09 00:44:48.108158886 +0200
++++ ceph-0.51/src/testmsgr.cc	2012-09-09 00:45:18.218040882 +0200
+@@ -28,9 +28,9 @@
+ #include "global/global_init.h"
+ #include "common/ceph_argparse.h"
+ 
+-#ifndef DARWIN
++#if !defined(DARWIN) && !defined(__UCLIBC__)
+ #include <envz.h>
+-#endif // DARWIN
++#endif // DARWIN || __UCLIBC__
+ 
+ #include <sys/types.h>
+ #include <sys/stat.h>
diff --git a/package/ceph/ceph-no-getloadavg.patch b/package/ceph/ceph-no-getloadavg.patch
new file mode 100644
index 0000000..4d19b62
--- /dev/null
+++ b/package/ceph/ceph-no-getloadavg.patch
@@ -0,0 +1,61 @@
+OSD: do not use getloadavg(3) on uClibc
+
+getloadavg(3) is not available on uClibc, so do not use it.
+
+getloadavg is used in two places:
+  - once to log the loadavg in the heartbeat logs: we simply remove this;
+  - once to decide whether to schedule scrub (whatever it is) or not: we
+    simply use the existing coin-flip random choice in this case.
+
+The second change will probably have an impact on performances... :-(
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN ceph-0.51.orig/src/osd/OSD.cc ceph-0.51/src/osd/OSD.cc
+--- ceph-0.51.orig/src/osd/OSD.cc	2012-08-26 00:58:06.000000000 +0200
++++ ceph-0.51/src/osd/OSD.cc	2012-09-08 23:56:31.396177885 +0200
+@@ -15,6 +15,7 @@
+ #include <fstream>
+ #include <iostream>
+ #include <errno.h>
++#include <features.h> /* For __ULIBC__ */
+ #include <sys/stat.h>
+ #include <signal.h>
+ #include <boost/scoped_ptr.hpp>
+@@ -1942,10 +1943,12 @@
+ {
+   dout(30) << "heartbeat" << dendl;
+ 
++#ifndef __UCLIBC__
+   // get CPU load avg
+   double loadavgs[1];
+   if (getloadavg(loadavgs, 1) == 1)
+     logger->set(l_osd_loadavg, 100 * loadavgs[0]);
++#endif
+ 
+   dout(30) << "heartbeat checking stats" << dendl;
+ 
+@@ -3216,6 +3219,7 @@
+ 
+ bool OSDService::scrub_should_schedule()
+ {
++#ifndef __UCLIBC__
+   double loadavgs[1];
+ 
+   // TODOSAM: is_active should be conveyed to OSDService
+@@ -3249,6 +3253,15 @@
+ 	   << " < max " << g_conf->osd_scrub_load_threshold
+ 	   << " = yes" << dendl;
+   return loadavgs[0] < g_conf->osd_scrub_load_threshold;
++#else // ! defined  __UCLIBC__
++  bool coin_flip = (rand() % 3) == whoami % 3;
++  if (coin_flip) {
++    dout(20) << "scrub_should_schedule randomly yes" << dendl;
++  } else {
++    dout(20) << "scrub_should_schedule randomly backing off" << dendl;
++  }
++  return coin_flip;
++#endif // ! defined  __UCLIBC__
+ }
+ 
+ void OSD::sched_scrub()
diff --git a/package/ceph/ceph-no-posix_fallocate.patch b/package/ceph/ceph-no-posix_fallocate.patch
new file mode 100644
index 0000000..17b1a51
--- /dev/null
+++ b/package/ceph/ceph-no-posix_fallocate.patch
@@ -0,0 +1,50 @@
+Do not call posix_fallocate() on uClibc
+
+Based on a patch by Thomas, for lttng-babeltrace, in which he states:
+
+    uClibc does not implement posix_fallocate(), and posix_fallocate() is
+    mostly only an hint to the kernel that we will need such or such
+    amount of space inside a file. So we just don't call posix_fallocate()
+    when building against uClibc.
+
+Just do the same here.
+
+NOTE! IMHO, this patch is not correct, because overcommit (eg. for sparse
+files) on the underlying filesystem may cause allocation failures later on,
+which is exactly the situation that posix_fallocate is supposed to avoid.
+But, as uClibc still lacks posix_fallocate, we have no choice.
+
+If you really are concerned about this issue, there exists a posix_fallocate
+patch that is not upstream, but is used by the AlpineLinux distribution:
+    http://git.alpinelinux.org/cgit/aports/tree/main/libc0.9.32/posix_fallocate.patch?id=98a000b8e92b3aa1e0b7a5f94a74910bb0993c4d
+    http://git.alpinelinux.org/cgit/aports/tree/main/libc0.9.32/posix_fallocate-fix.patch?id=98a000b8e92b3aa1e0b7a5f94a74910bb0993c4d
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN ceph-0.50.orig/src/os/FileJournal.cc ceph-0.50/src/os/FileJournal.cc
+--- ceph-0.50.orig/src/os/FileJournal.cc	2012-08-13 18:43:14.000000000 +0200
++++ ceph-0.50/src/os/FileJournal.cc	2012-09-08 23:07:12.597910027 +0200
+@@ -23,6 +23,7 @@
+ #include "include/compat.h"
+ 
+ #include <fcntl.h>
++#include <features.h>
+ #include <limits.h>
+ #include <sstream>
+ #include <stdio.h>
+@@ -303,6 +304,7 @@
+ 	   << newsize << " bytes: " << cpp_strerror(err) << dendl;
+       return -err;
+     }
++#ifndef __UCLIBC__
+     ret = ::posix_fallocate(fd, 0, newsize);
+     if (ret < 0) {
+       int err = errno;
+@@ -310,6 +312,7 @@
+ 	   << newsize << " bytes: " << cpp_strerror(err) << dendl;
+       return -err;
+     }
++#endif
+     max_size = newsize;
+   }
+   else {
diff --git a/package/ceph/ceph.mk b/package/ceph/ceph.mk
new file mode 100644
index 0000000..33cee8c
--- /dev/null
+++ b/package/ceph/ceph.mk
@@ -0,0 +1,57 @@
+#############################################################
+#
+# ceph
+#
+#############################################################
+
+CEPH_VERSION         = 0.56.2
+CEPH_SOURCE          = ceph-$(CEPH_VERSION).tar.bz2
+CEPH_SITE            = http://ceph.com/download/
+CEPH_LICENSE         = LGPLv2.1 CC-BY-SA Apache-2.0 GPLv2 LGPLv2+ BSD-3c MIT PD
+CEPH_LICENSE_FILES   = COPYING
+CEPH_INSTALL_STAGING = YES
+
+# Bundled ./configure and Makefile.in file are not in sync
+# with the correposnding configure.ac and Makefile.am
+CEPH_AUTORECONF      = YES
+
+CEPH_DEPENDENCIES    = \
+    boost              \
+    expat              \
+    keyutils           \
+    libedit2           \
+    libnss             \
+    util-linux         \
+
+# We disable everything for now, because the dependency tree can become
+# quite deep if we try to enable some features, and I have not tested that.
+# We need@least one crypto lib, and the currently only one available in
+# BR, that ceph can use, is libnss
+CEPH_CONF_OPT =                     \
+    --with-nss                      \
+    --without-profiler              \
+    --without-debug                 \
+    --without-tcmalloc              \
+    --without-hadoop                \
+    --without-libatomic-ops         \
+    --without-system-leveldb        \
+    --without-system-libs3          \
+    --without-rest-bench            \
+    --without-cryptopp              \
+    --with-ocf                      \
+
+ifeq ($(BR2_PACKAGE_LIBFUSE),y)
+CEPH_DEPENDENCIES += libfuse
+CEPH_CONF_OPT     += --with-fuse
+else
+CEPH_CONF_OPT     += --without-fuse
+endif
+
+ifeq ($(BR2_PACKAGE_LIBAIO),y)
+CEPH_DEPENDENCIES += libaio
+CEPH_CONF_OPT     += --with-libaio
+else
+CEPH_CONF_OPT     += --without-libaio
+endif
+
+$(eval $(autotools-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 6/7] package/dtc: new package
  2013-02-04 16:01 [Buildroot] [pull request v5] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (4 preceding siblings ...)
  2013-02-04 16:01 ` [Buildroot] [PATCH 5/7] package/ceph: " Yann E. MORIN
@ 2013-02-04 16:01 ` Yann E. MORIN
  2013-02-05  7:16   ` Arnout Vandecappelle
  2013-02-04 16:01 ` [Buildroot] [PATCH 7/7] package/dtc: add option to install programs Yann E. MORIN
  6 siblings, 1 reply; 25+ messages in thread
From: Yann E. MORIN @ 2013-02-04 16:01 UTC (permalink / raw)
  To: buildroot

dtc is the Device Tree Compiler, and manipulates device trees.

Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

---
Although Arnout suggested to move it out of the libraries sub-menu,
I kept it there, as by default, only the library is installed, like
it is done for, eg., libcurl.
---
 package/Config.in                          |    1 +
 package/dtc/Config.in                      |    9 +++++++
 package/dtc/dtc-extra_cflags.patch         |   27 ++++++++++++++++++++++
 package/dtc/dtc-separate-lib-install.patch |   28 +++++++++++++++++++++++
 package/dtc/dtc.mk                         |   34 ++++++++++++++++++++++++++++
 5 files changed, 99 insertions(+), 0 deletions(-)
 create mode 100644 package/dtc/Config.in
 create mode 100644 package/dtc/dtc-extra_cflags.patch
 create mode 100644 package/dtc/dtc-separate-lib-install.patch
 create mode 100644 package/dtc/dtc.mk

diff --git a/package/Config.in b/package/Config.in
index a071a5f..f4a331c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -443,6 +443,7 @@ endmenu
 
 menu "Hardware handling"
 source "package/ccid/Config.in"
+source "package/dtc/Config.in"
 source "package/imx-lib/Config.in"
 source "package/lcdapi/Config.in"
 source "package/libaio/Config.in"
diff --git a/package/dtc/Config.in b/package/dtc/Config.in
new file mode 100644
index 0000000..96225e3
--- /dev/null
+++ b/package/dtc/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_DTC
+	bool "dtc"
+	help
+	  The Device Tree Compiler, dtc, takes as input a device-tree in
+	  a given format and outputs a device-tree in another format.
+	  
+	  Note that only the library is installed for now.
+	  
+	  http://git.jdl.com/gitweb/?p=dtc.git  (no home page)
diff --git a/package/dtc/dtc-extra_cflags.patch b/package/dtc/dtc-extra_cflags.patch
new file mode 100644
index 0000000..9d1882b
--- /dev/null
+++ b/package/dtc/dtc-extra_cflags.patch
@@ -0,0 +1,27 @@
+Makefile: append the CFLAGS to existing ones
+
+Allow the user to pass custom CFLAGS (eg. optimisation flags).
+
+Do not use EXTRA_CFLAGS, append to existing CFLAGS with +=  (Arnout)
+
+Cc: Arnout Vandecappelle <arnout@mind.be>
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+---
+Patch not sent upstream.
+
+Although not specific to buildroot, I am not sure this is the best
+way to handle user-supplied CFLAGS.
+
+diff -durN dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef.orig/Makefile dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef/Makefile
+--- dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef.orig/Makefile	2012-10-22 22:02:47.541240846 +0200
++++ dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef/Makefile	2012-10-22 22:03:21.151047833 +0200
+@@ -18,7 +18,7 @@
+ CPPFLAGS = -I libfdt -I .
+ WARNINGS = -Werror -Wall -Wpointer-arith -Wcast-qual -Wnested-externs \
+ 	-Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls
+-CFLAGS = -g -Os -fPIC -Werror $(WARNINGS)
++CFLAGS += -g -Os -fPIC -Werror $(WARNINGS)
+ 
+ BISON = bison
+ LEX = flex
diff --git a/package/dtc/dtc-separate-lib-install.patch b/package/dtc/dtc-separate-lib-install.patch
new file mode 100644
index 0000000..c86d587
--- /dev/null
+++ b/package/dtc/dtc-separate-lib-install.patch
@@ -0,0 +1,28 @@
+Makefile: add a rule to only install libfdt
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+---
+Patch not sent upstream.
+
+It's really specific to buildroot, and is probably not
+good (aka generic) enough to be pushed upstream.
+
+diff --git a/Makefile b/Makefile
+index 1169e6c..39e7190 100644
+--- a/Makefile
++++ b/Makefile
+@@ -160,10 +160,12 @@ endif
+ # intermediate target and building them again "for real"
+ .SECONDARY: $(DTC_GEN_SRCS) $(CONVERT_GEN_SRCS)
+ 
+-install: all $(SCRIPTS)
++install: all $(SCRIPTS) libfdt_install
+ 	@$(VECHO) INSTALL
+ 	$(INSTALL) -d $(DESTDIR)$(BINDIR)
+ 	$(INSTALL) $(BIN) $(SCRIPTS) $(DESTDIR)$(BINDIR)
++
++libfdt_install: libfdt
+ 	$(INSTALL) -d $(DESTDIR)$(LIBDIR)
+ 	$(INSTALL) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)
+ 	ln -sf $(notdir $(LIBFDT_lib)) $(DESTDIR)$(LIBDIR)/$(LIBFDT_soname)
diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk
new file mode 100644
index 0000000..a0e1e35
--- /dev/null
+++ b/package/dtc/dtc.mk
@@ -0,0 +1,34 @@
+#############################################################
+#
+# dtc
+#
+#############################################################
+
+DTC_VERSION         = e4b497f367a3b2ae99cc52089a14a221b13a76ef
+DTC_SITE            = git://git.jdl.com/software/dtc.git
+DTC_LICENSE         = GPLv2+/BSD-2c
+DTC_LICENSE_FILES   = README.license GPL
+# Note: the dual-license only applies to the library.
+#       The DT compiler (dtc) is GPLv2+, but we do not install it.
+DTC_INSTALL_STAGING = YES
+
+define DTC_BUILD_CMDS
+	$(TARGET_CONFIGURE_OPTS)    \
+	CFLAGS="$(TARGET_CFLAGS)"   \
+	$(MAKE) -C $(@D) PREFIX=/usr libfdt
+endef
+
+#?libfdt_install is our own install rule added by our patch
+define DTC_INSTALL_STAGING_CMDS
+	$(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) PREFIX=/usr libfdt_install
+endef
+
+define DTC_INSTALL_TARGET_CMDS
+	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr libfdt_install
+endef
+
+define DTC_CLEAN_CMDS
+	$(MAKE) -C $(@D) libfdt_clean
+endef
+
+$(eval $(generic-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 7/7] package/dtc: add option to install programs
  2013-02-04 16:01 [Buildroot] [pull request v5] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (5 preceding siblings ...)
  2013-02-04 16:01 ` [Buildroot] [PATCH 6/7] package/dtc: " Yann E. MORIN
@ 2013-02-04 16:01 ` Yann E. MORIN
  2013-02-05  7:23   ` Arnout Vandecappelle
  6 siblings, 1 reply; 25+ messages in thread
From: Yann E. MORIN @ 2013-02-04 16:01 UTC (permalink / raw)
  To: buildroot

By default, we only install the libfdt library.

As suggested by Arnout, add an option that also
installs the few dtc programs.

Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

---
dtdiff, a diff for device trees, requires bash.

I did not add a 'depends on bash' (or a 'select' either), because
requiring bash just for that is a bit far-fetched.

Instead, at dtc install time, if bash is selected, dtdiff is installed
as usual to the target rootfs; if bash is not selected, dtdiff is
removed from the target rootfs.
---
 package/dtc/Config.in |   24 ++++++++++++++++++++++--
 package/dtc/dtc.mk    |   29 +++++++++++++++++++++++------
 2 files changed, 45 insertions(+), 8 deletions(-)

diff --git a/package/dtc/Config.in b/package/dtc/Config.in
index 96225e3..1c65a10 100644
--- a/package/dtc/Config.in
+++ b/package/dtc/Config.in
@@ -1,9 +1,29 @@
 config BR2_PACKAGE_DTC
-	bool "dtc"
+	bool "dtc (libfdt)"
 	help
 	  The Device Tree Compiler, dtc, takes as input a device-tree in
 	  a given format and outputs a device-tree in another format.
 	  
-	  Note that only the library is installed for now.
+	  Note that only the library is installed.
+	  If you want the programs, say 'y' here, and to "dtc programs", below.
 	  
 	  http://git.jdl.com/gitweb/?p=dtc.git  (no home page)
+
+if BR2_PACKAGE_DTC
+
+config BR2_PACKAGE_DTC_PROGRAMS
+	bool "dtc programs"
+	help
+	  Say 'y' here if you also want the programs on the target:
+	    - convert-dtsv0     convert from version 0 to version 1
+	    - dtc               the device tree compiler
+	    - dtdiff            compare two device trees (needs bash)
+	    - fdtdump           print a readable version of a flat device tree
+	    - fdtget            read values from device tree
+	    - fdtput            write a property value to a device tree
+	  
+	  Note: dtdiff requires bash, so if bash is not selected, dtdiff will
+	        be removed from the target file system. Enable bash if you
+	        need dtdiff on the target.
+
+endif
diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk
index a0e1e35..42843d5 100644
--- a/package/dtc/dtc.mk
+++ b/package/dtc/dtc.mk
@@ -8,27 +8,44 @@ DTC_VERSION         = e4b497f367a3b2ae99cc52089a14a221b13a76ef
 DTC_SITE            = git://git.jdl.com/software/dtc.git
 DTC_LICENSE         = GPLv2+/BSD-2c
 DTC_LICENSE_FILES   = README.license GPL
-# Note: the dual-license only applies to the library.
-#       The DT compiler (dtc) is GPLv2+, but we do not install it.
 DTC_INSTALL_STAGING = YES
 
+ifeq ($(BR2_PACKAGE_DTC_PROGRAMS),y)
+DTC_LICENSE        += (for the library), GPLv2+ (for the executables)
+# Use default goal to build everything
+DTC_BUILD_GOAL      =
+DTC_INSTALL_GOAL    = install
+DTC_CLEAN_GOAL      = clean
+else # $(BR2_PACKAGE_DTC_PROGRAMS) != y
+DTC_BUILD_GOAL      = libfdt
+#?libfdt_install is our own install rule added by our patch
+DTC_INSTALL_GOAL    = libfdt_install
+DTC_CLEAN_GOAL      = libfdt_clean
+ifeq ($(BR2_PACKAGE_BASH),)
+DTC_POST_INSTALL_TARGET_HOOKS += DTC_POST_INSTALL_TARGET_RM_DTDIFF
+endif
+endif # $(BR2_PACKAGE_DTC_PROGRAMS) != y
+
 define DTC_BUILD_CMDS
 	$(TARGET_CONFIGURE_OPTS)    \
 	CFLAGS="$(TARGET_CFLAGS)"   \
-	$(MAKE) -C $(@D) PREFIX=/usr libfdt
+	$(MAKE) -C $(@D) PREFIX=/usr $(DTC_BUILD_GOAL)
 endef
 
-#?libfdt_install is our own install rule added by our patch
+# For staging, only the library is needed
 define DTC_INSTALL_STAGING_CMDS
 	$(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) PREFIX=/usr libfdt_install
 endef
 
 define DTC_INSTALL_TARGET_CMDS
-	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr libfdt_install
+	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr $(DTC_INSTALL_GOAL)
+endef
+define DTC_POST_INSTALL_TARGET_RM_DTDIFF
+	rm -f $(TARGET_DIR)/usr/bin/dtdiff
 endef
 
 define DTC_CLEAN_CMDS
-	$(MAKE) -C $(@D) libfdt_clean
+	$(MAKE) -C $(@D) $(DTC_CLEAN_GOAL)
 endef
 
 $(eval $(generic-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 2/7] package/pmake: add host pmake
  2013-02-04 16:01 ` [Buildroot] [PATCH 2/7] package/pmake: add host pmake Yann E. MORIN
@ 2013-02-04 18:54   ` Arnout Vandecappelle
  2013-02-06 18:51     ` Yann E. MORIN
  0 siblings, 1 reply; 25+ messages in thread
From: Arnout Vandecappelle @ 2013-02-04 18:54 UTC (permalink / raw)
  To: buildroot

On 04/02/13 17:01, Yann E. MORIN wrote:
> +	printf '#!/bin/sh\nexec %s -m %s "$$@"\n'   \
> +	       $(HOST_DIR)/usr/bin/bmake            \
> +	       $(HOST_DIR)/usr/share/pmake/mk       \
> +	       >$(HOST_DIR)/usr/bin/pmake
> +	chmod 0755 $(HOST_DIR)/usr/bin/pmake

  I should have mentioned this earlier of course, but:

  I would prefer to have a package/pmake/pmake script that discovers the 
mk path based on ${0%/*}. That immediately makes it relocatable :-)

  Regards,
  Arnout

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

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

* [Buildroot] [PATCH 4/7] package/libedit2: new package
  2013-02-04 16:01 ` [Buildroot] [PATCH 4/7] package/libedit2: " Yann E. MORIN
@ 2013-02-04 22:41   ` Arnout Vandecappelle
  2013-02-06 19:00     ` Yann E. MORIN
  0 siblings, 1 reply; 25+ messages in thread
From: Arnout Vandecappelle @ 2013-02-04 22:41 UTC (permalink / raw)
  To: buildroot

On 04/02/13 17:01, Yann E. MORIN wrote:
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
>   package/Config.in                                  |    1 +
>   package/libedit2/Config.in                         |    9 +++
>   package/libedit2/libedit2-01-Makefile.patch        |   25 +++++++
>   package/libedit2/libedit2-02-el.c-issetugid.patch  |   24 ++++++
>   package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch |   40 +++++++++++
>   .../libedit2/libedit2-04-readline.h-stdio.patch    |   17 +++++
>   .../libedit2/libedit2-08-readline-history.h.patch  |   20 +++++
>   .../libedit2/libedit2-10-define_SIZE_T_MAX.patch   |   18 +++++
>   .../libedit2/libedit2-12-libedit-Makefile.patch    |   54 ++++++++++++++
>   package/libedit2/libedit2-20-fortify.patch         |   23 ++++++

  Any chance of using libedit_2.11-20080614-5.debian.tar.bz2 instead?

[snip]
> diff --git a/package/libedit2/libedit2.mk b/package/libedit2/libedit2.mk
> new file mode 100644
> index 0000000..b9ca41e
> --- /dev/null
> +++ b/package/libedit2/libedit2.mk
> @@ -0,0 +1,75 @@
> +#############################################################
> +#
> +# libedit2
> +#
> +#############################################################
> +
> +# Note: libedit2 does not have a regular homepage, and it seems
> +# there is no place where to download a tarball from. That's
> +# why we use the Debian way-back machine.
> +LIBEDIT2_VERSION_MAJOR   = 2
> +LIBEDIT2_VERSION_MINOR   = 11-20080614
> +LIBEDIT2_VERSION         = $(LIBEDIT2_VERSION_MAJOR).$(LIBEDIT2_VERSION_MINOR)
> +LIBEDIT2_SOURCE          = libedit_$(LIBEDIT2_VERSION).orig.tar.bz2
> +LIBEDIT2_SITE            = http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/libe/libedit
> +LIBEDIT2_SUBDIR          = libedit
> +LIBEDIT2_INSTALL_STAGING = YES
> +LIBEDIT2_DEPENDENCIES    = host-pmake libbsd ncurses
> +
> +define POST_PATCH_PERMISSIONS

  Start the name with LIBEDIT2

> +	chmod +x $(@D)/libedit/makelist
> +endef
> +
> +LIBEDIT2_POST_PATCH_HOOKS += POST_PATCH_PERMISSIONS
> +
> +define LIBEDIT2_FIX_VIS_H_INCLUDE
> +	$(SED) 's/^#include <vis.h>$$/#include <bsd\/vis.h>/;' $(@D)/libedit/filecomplete.c

  If you use s,foo,bar, instead of s/foo/bar/ you don't need to quote /. 
Also, the ; is redundant.

> +	$(SED) 's/^#include <vis.h>$$/#include <bsd\/vis.h>/;' $(@D)/libedit/history.c
> +	$(SED) 's/^#include <vis.h>$$/#include <bsd\/vis.h>/;' $(@D)/libedit/readline.c

  Three times the same sed rule => just apply once to all files.

> +endef
> +LIBEDIT2_POST_PATCH_HOOKS += LIBEDIT2_FIX_VIS_H_INCLUDE
> +
> +LIBEDIT2_PMAKE_ARGS = MKPROFILE=no MKCATPAGES=no MLINKS= MANPAGES= NOGCCERROR=1         \

  We normally use _OPTS, not _ARGS.  (There is TARGET_CONFIGURE_ARGS but 
it's just plain wrong.)

> +                      SHLIB_SHFLAGS="-Wl,-soname,libedit.so.${LIBEDIT2_VERSION_MAJOR}"  \

  Redundant trailing \.

> +
> +define LIBEDIT2_BUILD_CMDS
> +	cd $(@D)/$(LIBEDIT2_SUBDIR); \
> +	$(TARGET_CONFIGURE_OPTS) LDADD="-lbsd -lcurses" pmake $(LIBEDIT2_PMAKE_ARGS)
> +endef
> +
> +LIBEDIT2_MAN_LINKS = el_init el_end el_reset el_gets el_getc el_push el_parse   \
> +                     el_set el_get el_source el_resize el_line el_insertstr     \
> +                     el_deletestr history_init history_end history
> +
> +# $1: DESTDIR to install into
> +# Can't use pmake to install, it wants to be root. sigh... :-(
> +define LIBEDIT2_INSTALL_CMDS
> +	$(INSTALL) -D -m 0644 package/libedit2/libedit2.pc $(1)/usr/lib/pkgconfig/libedit2.pc
> +	ln -sf libedit2.pc $(1)/usr/lib/pkgconfig/libedit.pc
> +	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit.a $(1)/usr/lib/libedit.a
> +	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit_pic.a $(1)/usr/lib/libedit_pic.a
> +	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit.so.2.11 $(1)/usr/lib/libedit.so.2.11
> +	$(INSTALL) -D -m 0644 $(@D)/libedit/histedit.h $(1)/usr/include/histedit.h
> +	ln -sf libedit.so.$(LIBEDIT2_VERSION) $(1)/usr/lib/libedit.so.$(LIBEDIT2_VERSION_MAJOR)

  This doesn't seem right: LIBEDIT2_VERSION is 2.11-20080614, but you 
just installed 2.11...

> +	ln -sf libedit.so.$(LIBEDIT2_VERSION_MAJOR) $(1)/usr/lib/libedit.so
> +	$(INSTALL) -D -m 0644 $(@D)/libedit/readline/readline.h $(1)/usr/include/editline/readline.h
> +	if [ "$(BR2_HAVE_DOCUMENTATION)" = "y" ]; then                                              \

  This condition is redundant, because the finalize step will remove man 
anyway if !BR2_HAVE_DOCUMENTATION.

> +	    $(INSTALL) -v -D -m 0644 $(@D)/libedit/editline.3 $(1)/usr/share/man/man3/editline.3el; \
> +	    $(INSTALL) -v -D -m 0644 $(@D)/libedit/editrc.3 $(1)/usr/share/man/man5/editrc.5el;     \
> +	    for lnk in $(LIBEDIT2_MAN_LINKS); do                                                    \
> +	        ln -sfv editline.3el $(1)/usr/share/man/man3/$${lnk}.3el;                           \
> +	    done;                                                                                   \
> +	fi
> +endef

  A perfect candidate to use the unified TARGET/STAGING install commands!

> +#	cd $(@D)/libedit; pmake install incinstall DESTDIR=$(1) $(LIBEDIT2_PMAKE_ARGS)
> +#	cd $(@D)/libedit/readline; pmake incinstall DESTDIR=$(1) $(LIBEDIT2_PMAKE_ARGS)

  Redundant comments.


  Regards,
  Arnout

> +
> +define LIBEDIT2_INSTALL_STAGING_CMDS
> +	$(call LIBEDIT2_INSTALL_CMDS,$(STAGING_DIR))
> +endef
> +
> +define LIBEDIT2_INSTALL_TARGET_CMDS
> +	$(call LIBEDIT2_INSTALL_CMDS,$(TARGET_DIR))
> +endef
> +
> +$(eval $(generic-package))
> diff --git a/package/libedit2/libedit2.pc b/package/libedit2/libedit2.pc
> new file mode 100644
> index 0000000..47ac871
> --- /dev/null
> +++ b/package/libedit2/libedit2.pc
> @@ -0,0 +1,13 @@
> +prefix=/usr
> +exec_prefix=${prefix}
> +libdir=${exec_prefix}/lib
> +includedir=${prefix}/include
> +
> +Name: libedit
> +Description: Not just a replacement library for libreadline and libhistory.
> +Version: 2.11
> +Requires: libbsd ncurses
> +Requires.private:
> +Libs: -L${libdir} -ledit
> +Libs.private:
> +Cflags: -I${includedir}


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

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

* [Buildroot] [PATCH 5/7] package/ceph: new package
  2013-02-04 16:01 ` [Buildroot] [PATCH 5/7] package/ceph: " Yann E. MORIN
@ 2013-02-04 22:56   ` Arnout Vandecappelle
  2013-02-06 21:07     ` Yann E. MORIN
  0 siblings, 1 reply; 25+ messages in thread
From: Arnout Vandecappelle @ 2013-02-04 22:56 UTC (permalink / raw)
  To: buildroot

On 04/02/13 17:01, Yann E. MORIN wrote:
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Peter Korsgaard <jacmet@uclibc.org>
> ---
>   package/Config.in                          |    1 +
>   package/ceph/Config.in                     |   25 +++++++++++
>   package/ceph/ceph-no-envz.patch            |   63 ++++++++++++++++++++++++++++
>   package/ceph/ceph-no-getloadavg.patch      |   61 +++++++++++++++++++++++++++
>   package/ceph/ceph-no-posix_fallocate.patch |   50 ++++++++++++++++++++++
>   package/ceph/ceph.mk                       |   57 +++++++++++++++++++++++++
>   6 files changed, 257 insertions(+), 0 deletions(-)
>   create mode 100644 package/ceph/Config.in
>   create mode 100644 package/ceph/ceph-no-envz.patch
>   create mode 100644 package/ceph/ceph-no-getloadavg.patch
>   create mode 100644 package/ceph/ceph-no-posix_fallocate.patch
>   create mode 100644 package/ceph/ceph.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index a609a11..a071a5f 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -623,6 +623,7 @@ source "package/bind/Config.in"
>   source "package/bmon/Config.in"
>   source "package/bridge-utils/Config.in"
>   source "package/can-utils/Config.in"
> +source "package/ceph/Config.in"
>   source "package/connman/Config.in"
>   source "package/ctorrent/Config.in"
>   source "package/conntrack-tools/Config.in"
> diff --git a/package/ceph/Config.in b/package/ceph/Config.in
> new file mode 100644
> index 0000000..f7e2721
> --- /dev/null
> +++ b/package/ceph/Config.in
> @@ -0,0 +1,25 @@
> +comment "ceph requires C++, largefiles, threads, wide chars"
> +	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
> +	depends on !BR2_avr2 && !BR2_microblaze

  avr32

> +
> +config BR2_PACKAGE_CEPH
> +	bool "ceph"
> +	depends on BR2_INSTALL_LIBSTDCPP            # boost
> +	depends on BR2_LARGEFILE                    # boost, libnss, util-linux
> +	depends on BR2_TOOLCHAIN_HAS_THREADS        # boost, libnss
> +	depends on BR2_USE_WCHAR                    # util-linux
> +	depends on !BR2_avr32 && !BR2_microblaze    # keyutils
> +	select BR2_PACKAGE_BOOST
> +	select BR2_PACKAGE_BOOST_SYSTEM
> +	select BR2_PACKAGE_BOOST_THREAD
> +	select BR2_PACKAGE_EXPAT
> +	select BR2_PACKAGE_KEYUTILS
> +	select BR2_PACKAGE_LIBEDIT2
> +	select BR2_PACKAGE_LIBNSS
> +	select BR2_PACKAGE_UTIL_LINUX
> +	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
> +	help
> +	  Ceph is a distributed object store and file system designed to
> +	  provide excellent performance, reliability and scalability.
> +	
> +	  http://ceph.com/
> diff --git a/package/ceph/ceph-no-envz.patch b/package/ceph/ceph-no-envz.patch
> new file mode 100644
> index 0000000..c0369ba
> --- /dev/null
> +++ b/package/ceph/ceph-no-envz.patch
> @@ -0,0 +1,63 @@
> +tools+base: do not include envz.h on uClibc
> +
> +uClibc does not have envz, and no envz function is in fact used.
> +So, simply do not include it under uClibc.

  If it's not used, why not just remove the header (and upstream the patch)?

> +
> +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> +
> +--- ceph-0.51.orig/src/tools/common.cc	2012-09-09 00:13:32.128838177 +0200
> ++++ ceph-0.51/src/tools/common.cc	2012-09-09 00:13:59.432064556 +0200
> +@@ -17,9 +17,9 @@
> + #include <string>
> + using namespace std;
> +
> +-#if !defined(DARWIN) && !defined(__FreeBSD__)
> ++#if !defined(DARWIN) && !defined(__FreeBSD__) && !defined(__UCLIBC__)
> + #include <envz.h>
> +-#endif // DARWIN
> ++#endif // DARWIN || __UCLIBC__
> +
> + #include <memory>
> + #include <sys/types.h>
[snip]
> diff --git a/package/ceph/ceph.mk b/package/ceph/ceph.mk
> new file mode 100644
> index 0000000..33cee8c
> --- /dev/null
> +++ b/package/ceph/ceph.mk
> @@ -0,0 +1,57 @@
> +#############################################################
> +#
> +# ceph
> +#
> +#############################################################
> +
> +CEPH_VERSION         = 0.56.2
> +CEPH_SOURCE          = ceph-$(CEPH_VERSION).tar.bz2
> +CEPH_SITE            = http://ceph.com/download/
> +CEPH_LICENSE         = LGPLv2.1 CC-BY-SA Apache-2.0 GPLv2 LGPLv2+ BSD-3c MIT PD

  I'm not sure if PD is a generally accepted abbreviation. And I also 
don't think it is necessary to mention it in the first place (it the 
entire package is public domain, yes it makes sense, but if it's just 
part of it then no).

> +CEPH_LICENSE_FILES   = COPYING
> +CEPH_INSTALL_STAGING = YES
> +
> +# Bundled ./configure and Makefile.in file are not in sync
> +# with the correposnding configure.ac and Makefile.am

  corresponding


  Regards,
  Arnout

> +CEPH_AUTORECONF      = YES
> +
> +CEPH_DEPENDENCIES    = \
> +    boost              \
> +    expat              \
> +    keyutils           \
> +    libedit2           \
> +    libnss             \
> +    util-linux         \
> +
> +# We disable everything for now, because the dependency tree can become
> +# quite deep if we try to enable some features, and I have not tested that.
> +# We need at least one crypto lib, and the currently only one available in
> +# BR, that ceph can use, is libnss
> +CEPH_CONF_OPT =                     \
> +    --with-nss                      \
> +    --without-profiler              \
> +    --without-debug                 \
> +    --without-tcmalloc              \
> +    --without-hadoop                \
> +    --without-libatomic-ops         \
> +    --without-system-leveldb        \
> +    --without-system-libs3          \
> +    --without-rest-bench            \
> +    --without-cryptopp              \
> +    --with-ocf                      \
> +
> +ifeq ($(BR2_PACKAGE_LIBFUSE),y)
> +CEPH_DEPENDENCIES += libfuse
> +CEPH_CONF_OPT     += --with-fuse
> +else
> +CEPH_CONF_OPT     += --without-fuse
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LIBAIO),y)
> +CEPH_DEPENDENCIES += libaio
> +CEPH_CONF_OPT     += --with-libaio
> +else
> +CEPH_CONF_OPT     += --without-libaio
> +endif
> +
> +$(eval $(autotools-package))
>


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

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

* [Buildroot] [PATCH 1/7] package/usbredir: update to version 0.6
  2013-02-04 16:01 ` [Buildroot] [PATCH 1/7] package/usbredir: update to version 0.6 Yann E. MORIN
@ 2013-02-04 23:14   ` Peter Korsgaard
  0 siblings, 0 replies; 25+ messages in thread
From: Peter Korsgaard @ 2013-02-04 23:14 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 6/7] package/dtc: new package
  2013-02-04 16:01 ` [Buildroot] [PATCH 6/7] package/dtc: " Yann E. MORIN
@ 2013-02-05  7:16   ` Arnout Vandecappelle
  2013-02-06 21:34     ` Yann E. MORIN
  0 siblings, 1 reply; 25+ messages in thread
From: Arnout Vandecappelle @ 2013-02-05  7:16 UTC (permalink / raw)
  To: buildroot

On 04/02/13 17:01, Yann E. MORIN wrote:
> dtc is the Device Tree Compiler, and manipulates device trees.
>
> Cc: Arnout Vandecappelle <arnout@mind.be>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
>
> ---
> Although Arnout suggested to move it out of the libraries sub-menu,
> I kept it there, as by default, only the library is installed, like
> it is done for, eg., libcurl.
> ---
>   package/Config.in                          |    1 +
>   package/dtc/Config.in                      |    9 +++++++
>   package/dtc/dtc-extra_cflags.patch         |   27 ++++++++++++++++++++++
>   package/dtc/dtc-separate-lib-install.patch |   28 +++++++++++++++++++++++
>   package/dtc/dtc.mk                         |   34 ++++++++++++++++++++++++++++
>   5 files changed, 99 insertions(+), 0 deletions(-)
>   create mode 100644 package/dtc/Config.in
>   create mode 100644 package/dtc/dtc-extra_cflags.patch
>   create mode 100644 package/dtc/dtc-separate-lib-install.patch
>   create mode 100644 package/dtc/dtc.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index a071a5f..f4a331c 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -443,6 +443,7 @@ endmenu
>
>   menu "Hardware handling"
>   source "package/ccid/Config.in"
> +source "package/dtc/Config.in"
>   source "package/imx-lib/Config.in"
>   source "package/lcdapi/Config.in"
>   source "package/libaio/Config.in"
> diff --git a/package/dtc/Config.in b/package/dtc/Config.in
> new file mode 100644
> index 0000000..96225e3
> --- /dev/null
> +++ b/package/dtc/Config.in
> @@ -0,0 +1,9 @@
> +config BR2_PACKAGE_DTC
> +	bool "dtc"
> +	help
> +	  The Device Tree Compiler, dtc, takes as input a device-tree in
> +	  a given format and outputs a device-tree in another format.
> +	
> +	  Note that only the library is installed for now.
> +	
> +	  http://git.jdl.com/gitweb/?p=dtc.git  (no home page)
> diff --git a/package/dtc/dtc-extra_cflags.patch b/package/dtc/dtc-extra_cflags.patch
> new file mode 100644
> index 0000000..9d1882b
> --- /dev/null
> +++ b/package/dtc/dtc-extra_cflags.patch
> @@ -0,0 +1,27 @@
> +Makefile: append the CFLAGS to existing ones
> +
> +Allow the user to pass custom CFLAGS (eg. optimisation flags).
> +
> +Do not use EXTRA_CFLAGS, append to existing CFLAGS with +=  (Arnout)
> +
> +Cc: Arnout Vandecappelle <arnout@mind.be>
> +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> +
> +---
> +Patch not sent upstream.
> +
> +Although not specific to buildroot, I am not sure this is the best
> +way to handle user-supplied CFLAGS.

  It is the proper way according to info '(make)Command Variables'

"If there are C compiler options that _must_ be used for proper
compilation of certain files, do not include them in `CFLAGS'.  Users
expect to be able to specify `CFLAGS' freely themselves.  Instead,
arrange to pass the necessary options to the C compiler independently
of `CFLAGS'..."

  Admittedly, the example that is given in the GNU make manual is a 
different approach: set the options that must be used directly in the rule.

> +
> +diff -durN dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef.orig/Makefile dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef/Makefile
> +--- dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef.orig/Makefile	2012-10-22 22:02:47.541240846 +0200
> ++++ dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef/Makefile	2012-10-22 22:03:21.151047833 +0200
> +@@ -18,7 +18,7 @@
> + CPPFLAGS = -I libfdt -I .
> + WARNINGS = -Werror -Wall -Wpointer-arith -Wcast-qual -Wnested-externs \
> + 	-Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls
> +-CFLAGS = -g -Os -fPIC -Werror $(WARNINGS)
> ++CFLAGS += -g -Os -fPIC -Werror $(WARNINGS)

  Actually this is not yet entirely perfect, because the -g -Os -W... 
should be overridable by the user. I would have put:

CFLAGS ?= -g -Os -Werror $(WARNINGS)
CFLAGS += -fPIC

  (but that's a matter of opinion, I guess.

> +
> + BISON = bison
> + LEX = flex
> diff --git a/package/dtc/dtc-separate-lib-install.patch b/package/dtc/dtc-separate-lib-install.patch
> new file mode 100644
> index 0000000..c86d587
> --- /dev/null
> +++ b/package/dtc/dtc-separate-lib-install.patch
> @@ -0,0 +1,28 @@
> +Makefile: add a rule to only install libfdt
> +
> +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> +
> +---
> +Patch not sent upstream.
> +
> +It's really specific to buildroot, and is probably not
> +good (aka generic) enough to be pushed upstream.
> +
> +diff --git a/Makefile b/Makefile
> +index 1169e6c..39e7190 100644
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -160,10 +160,12 @@ endif
> + # intermediate target and building them again "for real"
> + .SECONDARY: $(DTC_GEN_SRCS) $(CONVERT_GEN_SRCS)
> +
> +-install: all $(SCRIPTS)
> ++install: all $(SCRIPTS) libfdt_install
> + 	@$(VECHO) INSTALL
> + 	$(INSTALL) -d $(DESTDIR)$(BINDIR)
> + 	$(INSTALL) $(BIN) $(SCRIPTS) $(DESTDIR)$(BINDIR)
> ++
> ++libfdt_install: libfdt
> + 	$(INSTALL) -d $(DESTDIR)$(LIBDIR)
> + 	$(INSTALL) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)
> + 	ln -sf $(notdir $(LIBFDT_lib)) $(DESTDIR)$(LIBDIR)/$(LIBFDT_soname)
> diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk
> new file mode 100644
> index 0000000..a0e1e35
> --- /dev/null
> +++ b/package/dtc/dtc.mk
> @@ -0,0 +1,34 @@
> +#############################################################
> +#
> +# dtc
> +#
> +#############################################################
> +
> +DTC_VERSION         = e4b497f367a3b2ae99cc52089a14a221b13a76ef
> +DTC_SITE            = git://git.jdl.com/software/dtc.git

  I realize the choice between the in-kernel or external version was 
discussed before, but isn't it a bit strange that host-dtc is created 
from the in-kernel tree, while target-dtc uses the external tree?

  (this doesn't affect this patch, of course, since host support can be 
added later).

> +DTC_LICENSE         = GPLv2+/BSD-2c
> +DTC_LICENSE_FILES   = README.license GPL
> +# Note: the dual-license only applies to the library.
> +#       The DT compiler (dtc) is GPLv2+, but we do not install it.
> +DTC_INSTALL_STAGING = YES
> +
> +define DTC_BUILD_CMDS
> +	$(TARGET_CONFIGURE_OPTS)    \
> +	CFLAGS="$(TARGET_CFLAGS)"   \

  This is already in TARGET_CONFIGURE_OPTS...

> +	$(MAKE) -C $(@D) PREFIX=/usr libfdt
> +endef
> +
> +# libfdt_install is our own install rule added by our patch
> +define DTC_INSTALL_STAGING_CMDS
> +	$(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) PREFIX=/usr libfdt_install
> +endef
> +
> +define DTC_INSTALL_TARGET_CMDS
> +	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr libfdt_install
> +endef

  Another nice use-case of the unified install :-)


  Regards,
  Arnout

> +
> +define DTC_CLEAN_CMDS
> +	$(MAKE) -C $(@D) libfdt_clean
> +endef
> +
> +$(eval $(generic-package))
>


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

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

* [Buildroot] [PATCH 7/7] package/dtc: add option to install programs
  2013-02-04 16:01 ` [Buildroot] [PATCH 7/7] package/dtc: add option to install programs Yann E. MORIN
@ 2013-02-05  7:23   ` Arnout Vandecappelle
  2013-02-07 22:13     ` Yann E. MORIN
  0 siblings, 1 reply; 25+ messages in thread
From: Arnout Vandecappelle @ 2013-02-05  7:23 UTC (permalink / raw)
  To: buildroot

On 04/02/13 17:01, Yann E. MORIN wrote:
> By default, we only install the libfdt library.
>
> As suggested by Arnout, add an option that also
> installs the few dtc programs.
>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Arnout Vandecappelle <arnout@mind.be>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
>
> ---
> dtdiff, a diff for device trees, requires bash.
>
> I did not add a 'depends on bash' (or a 'select' either), because
> requiring bash just for that is a bit far-fetched.
>
> Instead, at dtc install time, if bash is selected, dtdiff is installed
> as usual to the target rootfs; if bash is not selected, dtdiff is
> removed from the target rootfs.
> ---
>   package/dtc/Config.in |   24 ++++++++++++++++++++++--
>   package/dtc/dtc.mk    |   29 +++++++++++++++++++++++------
>   2 files changed, 45 insertions(+), 8 deletions(-)
>
> diff --git a/package/dtc/Config.in b/package/dtc/Config.in
> index 96225e3..1c65a10 100644
> --- a/package/dtc/Config.in
> +++ b/package/dtc/Config.in
> @@ -1,9 +1,29 @@
>   config BR2_PACKAGE_DTC
> -	bool "dtc"
> +	bool "dtc (libfdt)"
>   	help
>   	  The Device Tree Compiler, dtc, takes as input a device-tree in
>   	  a given format and outputs a device-tree in another format.
>   	
> -	  Note that only the library is installed for now.
> +	  Note that only the library is installed.
> +	  If you want the programs, say 'y' here, and to "dtc programs", below.
>   	
>   	  http://git.jdl.com/gitweb/?p=dtc.git  (no home page)
> +
> +if BR2_PACKAGE_DTC
> +
> +config BR2_PACKAGE_DTC_PROGRAMS
> +	bool "dtc programs"
> +	help
> +	  Say 'y' here if you also want the programs on the target:
> +	    - convert-dtsv0     convert from version 0 to version 1
> +	    - dtc               the device tree compiler
> +	    - dtdiff            compare two device trees (needs bash)
> +	    - fdtdump           print a readable version of a flat device tree
> +	    - fdtget            read values from device tree
> +	    - fdtput            write a property value to a device tree
> +	
> +	  Note: dtdiff requires bash, so if bash is not selected, dtdiff will
> +	        be removed from the target file system. Enable bash if you
> +	        need dtdiff on the target.

  I don't know if it is really necessary, but maybe this can be made even 
more explicit like:

comment "dtdiff will not be installed: it requires bash"
	depends on BR2_PACKAGE_DTC_PROGRAMS
	depends on !BR2_PACKAGE_BASH

> +
> +endif
> diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk
> index a0e1e35..42843d5 100644
> --- a/package/dtc/dtc.mk
> +++ b/package/dtc/dtc.mk
> @@ -8,27 +8,44 @@ DTC_VERSION         = e4b497f367a3b2ae99cc52089a14a221b13a76ef
>   DTC_SITE            = git://git.jdl.com/software/dtc.git
>   DTC_LICENSE         = GPLv2+/BSD-2c
>   DTC_LICENSE_FILES   = README.license GPL
> -# Note: the dual-license only applies to the library.
> -#       The DT compiler (dtc) is GPLv2+, but we do not install it.
>   DTC_INSTALL_STAGING = YES
>
> +ifeq ($(BR2_PACKAGE_DTC_PROGRAMS),y)
> +DTC_LICENSE        += (for the library), GPLv2+ (for the executables)
> +# Use default goal to build everything
> +DTC_BUILD_GOAL      =
> +DTC_INSTALL_GOAL    = install
> +DTC_CLEAN_GOAL      = clean
> +else # $(BR2_PACKAGE_DTC_PROGRAMS) != y
> +DTC_BUILD_GOAL      = libfdt
> +# libfdt_install is our own install rule added by our patch
> +DTC_INSTALL_GOAL    = libfdt_install
> +DTC_CLEAN_GOAL      = libfdt_clean
> +ifeq ($(BR2_PACKAGE_BASH),)
> +DTC_POST_INSTALL_TARGET_HOOKS += DTC_POST_INSTALL_TARGET_RM_DTDIFF

  This should be in the =y branch.

  I don't really like that the definition of the hook comes below. It 
works, of course, but it's not what people expect.

> +endif
> +endif # $(BR2_PACKAGE_DTC_PROGRAMS) != y
> +
>   define DTC_BUILD_CMDS
>   	$(TARGET_CONFIGURE_OPTS)    \
>   	CFLAGS="$(TARGET_CFLAGS)"   \
> -	$(MAKE) -C $(@D) PREFIX=/usr libfdt
> +	$(MAKE) -C $(@D) PREFIX=/usr $(DTC_BUILD_GOAL)
>   endef
>
> -# libfdt_install is our own install rule added by our patch
> +# For staging, only the library is needed
>   define DTC_INSTALL_STAGING_CMDS
>   	$(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) PREFIX=/usr libfdt_install
>   endef
>
>   define DTC_INSTALL_TARGET_CMDS
> -	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr libfdt_install
> +	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr $(DTC_INSTALL_GOAL)
> +endef
> +define DTC_POST_INSTALL_TARGET_RM_DTDIFF
> +	rm -f $(TARGET_DIR)/usr/bin/dtdiff

  As said before, put this higher, just below the INSTALL_STAGING.

  Regards,
  Arnout

>   endef
>
>   define DTC_CLEAN_CMDS
> -	$(MAKE) -C $(@D) libfdt_clean
> +	$(MAKE) -C $(@D) $(DTC_CLEAN_GOAL)
>   endef
>
>   $(eval $(generic-package))
>


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

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

* [Buildroot] [PATCH 2/7] package/pmake: add host pmake
  2013-02-04 18:54   ` Arnout Vandecappelle
@ 2013-02-06 18:51     ` Yann E. MORIN
  0 siblings, 0 replies; 25+ messages in thread
From: Yann E. MORIN @ 2013-02-06 18:51 UTC (permalink / raw)
  To: buildroot

Arnout, All,

On Monday 04 February 2013 Arnout Vandecappelle wrote:
> On 04/02/13 17:01, Yann E. MORIN wrote:
> > +	printf '#!/bin/sh\nexec %s -m %s "$$@"\n'   \
> > +	       $(HOST_DIR)/usr/bin/bmake            \
> > +	       $(HOST_DIR)/usr/share/pmake/mk       \
> > +	       >$(HOST_DIR)/usr/bin/pmake
> > +	chmod 0755 $(HOST_DIR)/usr/bin/pmake
> 
>   I should have mentioned this earlier of course, but:
> 
>   I would prefer to have a package/pmake/pmake script that discovers the 
> mk path based on ${0%/*}. That immediately makes it relocatable :-)

Nice catch, indeed! Done. :-)

Thank you,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH 4/7] package/libedit2: new package
  2013-02-04 22:41   ` Arnout Vandecappelle
@ 2013-02-06 19:00     ` Yann E. MORIN
  2013-02-06 19:17       ` Yann E. MORIN
  2013-02-06 19:40       ` Arnout Vandecappelle
  0 siblings, 2 replies; 25+ messages in thread
From: Yann E. MORIN @ 2013-02-06 19:00 UTC (permalink / raw)
  To: buildroot

Arnout, All,

On Monday 04 February 2013 Arnout Vandecappelle wrote:
> On 04/02/13 17:01, Yann E. MORIN wrote:
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > ---
> >   package/Config.in                                  |    1 +
> >   package/libedit2/Config.in                         |    9 +++
> >   package/libedit2/libedit2-01-Makefile.patch        |   25 +++++++
> >   package/libedit2/libedit2-02-el.c-issetugid.patch  |   24 ++++++
> >   package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch |   40 +++++++++++
> >   .../libedit2/libedit2-04-readline.h-stdio.patch    |   17 +++++
> >   .../libedit2/libedit2-08-readline-history.h.patch  |   20 +++++
> >   .../libedit2/libedit2-10-define_SIZE_T_MAX.patch   |   18 +++++
> >   .../libedit2/libedit2-12-libedit-Makefile.patch    |   54 ++++++++++++++
> >   package/libedit2/libedit2-20-fortify.patch         |   23 ++++++
> 
>   Any chance of using libedit_2.11-20080614-5.debian.tar.bz2 instead?

Hey! ;-)
Yes, I'll look at it.

> > diff --git a/package/libedit2/libedit2.mk b/package/libedit2/libedit2.mk
> > new file mode 100644
> > index 0000000..b9ca41e
> > --- /dev/null
> > +++ b/package/libedit2/libedit2.mk
[--SNIP--]
> > +define POST_PATCH_PERMISSIONS
>   Start the name with LIBEDIT2

Done.

> > +	chmod +x $(@D)/libedit/makelist
> > +endef
> > +
> > +LIBEDIT2_POST_PATCH_HOOKS += POST_PATCH_PERMISSIONS
> > +
> > +define LIBEDIT2_FIX_VIS_H_INCLUDE
> > +	$(SED) 's/^#include <vis.h>$$/#include <bsd\/vis.h>/;' $(@D)/libedit/filecomplete.c
> 
>   If you use s,foo,bar, instead of s/foo/bar/ you don't need to quote /. 

Granted. I usualy do not do that, as I sometime have paths that do contain
commas, and would broke anyway, so I always explicitly quote '/'.

> Also, the ; is redundant.

I like it that all my sed expressions are properly terminated, even if
it is not mandatory. It is very annoying to me that, when there are two
or more expressions, they are all terminated, save for the last one...

> > +	$(SED) 's/^#include <vis.h>$$/#include <bsd\/vis.h>/;' $(@D)/libedit/history.c
> > +	$(SED) 's/^#include <vis.h>$$/#include <bsd\/vis.h>/;' $(@D)/libedit/readline.c
>   Three times the same sed rule => just apply once to all files.

Done.

> > +endef
> > +LIBEDIT2_POST_PATCH_HOOKS += LIBEDIT2_FIX_VIS_H_INCLUDE
> > +
> > +LIBEDIT2_PMAKE_ARGS = MKPROFILE=no MKCATPAGES=no MLINKS= MANPAGES= NOGCCERROR=1         \
>   We normally use _OPTS, not _ARGS.  (There is TARGET_CONFIGURE_ARGS but 
> it's just plain wrong.)

OK, although I disagree. Those are really 'arguments' to the command (as
we have when we declare in C: "main( int argc, char** argv )" ). But OK,
I'll change to keep in sync with the Buildroot naming scheme. ;-)

> > +                      SHLIB_SHFLAGS="-Wl,-soname,libedit.so.${LIBEDIT2_VERSION_MAJOR}"  \
>   Redundant trailing \.

Yep.

[--SNIP--]
> > +# $1: DESTDIR to install into
> > +# Can't use pmake to install, it wants to be root. sigh... :-(
> > +define LIBEDIT2_INSTALL_CMDS
> > +	$(INSTALL) -D -m 0644 package/libedit2/libedit2.pc $(1)/usr/lib/pkgconfig/libedit2.pc
> > +	ln -sf libedit2.pc $(1)/usr/lib/pkgconfig/libedit.pc
> > +	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit.a $(1)/usr/lib/libedit.a
> > +	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit_pic.a $(1)/usr/lib/libedit_pic.a
> > +	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit.so.2.11 $(1)/usr/lib/libedit.so.2.11
> > +	$(INSTALL) -D -m 0644 $(@D)/libedit/histedit.h $(1)/usr/include/histedit.h
> > +	ln -sf libedit.so.$(LIBEDIT2_VERSION) $(1)/usr/lib/libedit.so.$(LIBEDIT2_VERSION_MAJOR)
>   This doesn't seem right: LIBEDIT2_VERSION is 2.11-20080614, but you 
> just installed 2.11...

Hmmm... Lemme check...

> > +	ln -sf libedit.so.$(LIBEDIT2_VERSION_MAJOR) $(1)/usr/lib/libedit.so
> > +	$(INSTALL) -D -m 0644 $(@D)/libedit/readline/readline.h $(1)/usr/include/editline/readline.h
> > +	if [ "$(BR2_HAVE_DOCUMENTATION)" = "y" ]; then                                              \
>   This condition is redundant, because the finalize step will remove man 
> anyway if !BR2_HAVE_DOCUMENTATION.

OK.

> > +	    $(INSTALL) -v -D -m 0644 $(@D)/libedit/editline.3 $(1)/usr/share/man/man3/editline.3el; \
> > +	    $(INSTALL) -v -D -m 0644 $(@D)/libedit/editrc.3 $(1)/usr/share/man/man5/editrc.5el;     \
> > +	    for lnk in $(LIBEDIT2_MAN_LINKS); do                                                    \
> > +	        ln -sfv editline.3el $(1)/usr/share/man/man3/$${lnk}.3el;                           \
> > +	    done;                                                                                   \
> > +	fi
> > +endef
>   A perfect candidate to use the unified TARGET/STAGING install commands!

But for now, we do not have this option. ;-)

> > +#	cd $(@D)/libedit; pmake install incinstall DESTDIR=$(1) $(LIBEDIT2_PMAKE_ARGS)
> > +#	cd $(@D)/libedit/readline; pmake incinstall DESTDIR=$(1) $(LIBEDIT2_PMAKE_ARGS)
>   Redundant comments.

Yep, Thomas already mentionned it, but I forgot to remove them. Sorry.

Thank you!

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH 4/7] package/libedit2: new package
  2013-02-06 19:00     ` Yann E. MORIN
@ 2013-02-06 19:17       ` Yann E. MORIN
  2013-02-06 19:33         ` Arnout Vandecappelle
  2013-02-06 19:40       ` Arnout Vandecappelle
  1 sibling, 1 reply; 25+ messages in thread
From: Yann E. MORIN @ 2013-02-06 19:17 UTC (permalink / raw)
  To: buildroot

Arnout, All,

On Wednesday 06 February 2013 Yann E. MORIN wrote:
> On Monday 04 February 2013 Arnout Vandecappelle wrote:
> > On 04/02/13 17:01, Yann E. MORIN wrote:
[--SNIP--]
> > > +# $1: DESTDIR to install into
> > > +# Can't use pmake to install, it wants to be root. sigh... :-(
> > > +define LIBEDIT2_INSTALL_CMDS
> > > +	$(INSTALL) -D -m 0644 package/libedit2/libedit2.pc $(1)/usr/lib/pkgconfig/libedit2.pc
> > > +	ln -sf libedit2.pc $(1)/usr/lib/pkgconfig/libedit.pc
> > > +	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit.a $(1)/usr/lib/libedit.a
> > > +	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit_pic.a $(1)/usr/lib/libedit_pic.a
> > > +	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit.so.2.11 $(1)/usr/lib/libedit.so.2.11
> > > +	$(INSTALL) -D -m 0644 $(@D)/libedit/histedit.h $(1)/usr/include/histedit.h
> > > +	ln -sf libedit.so.$(LIBEDIT2_VERSION) $(1)/usr/lib/libedit.so.$(LIBEDIT2_VERSION_MAJOR)
> >   This doesn't seem right: LIBEDIT2_VERSION is 2.11-20080614, but you 
> > just installed 2.11...
> 
> Hmmm... Lemme check...

OK, here's what in the build log:

/usr/bin/install -D -m 0644 [...]/build/libedit2-2.11-20080614/libedit/libedit.so.2.11 [...]/target/usr/lib/libedit.so.2.11
ln -sf libedit.so.2.11-20080614 [...]/target/usr/lib/libedit.so.2
ln -sf libedit.so.2 [...]/target/usr/lib/libedit.so

And now, here's what is in target/usr/lib:

$ ls -l target/usr/lib/libedit*                                                                                                                                                                 
lrwxrwxrwx 1 ymorin ymorin     12 Feb  6 20:09 target/usr/lib/libedit.so -> libedit.so.2
lrwxrwxrwx 1 ymorin ymorin     15 Feb  6 20:09 target/usr/lib/libedit.so.2 -> libedit.so.2.11
-rw-r--r-- 1 ymorin ymorin 135945 Feb  6 20:09 target/usr/lib/libedit.so.2.11

WTF?

OK, I'll fix this. But dinner first! ;-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH 4/7] package/libedit2: new package
  2013-02-06 19:17       ` Yann E. MORIN
@ 2013-02-06 19:33         ` Arnout Vandecappelle
  2013-02-06 20:16           ` Yann E. MORIN
  0 siblings, 1 reply; 25+ messages in thread
From: Arnout Vandecappelle @ 2013-02-06 19:33 UTC (permalink / raw)
  To: buildroot

On 06/02/13 20:17, Yann E. MORIN wrote:
> Arnout, All,
>
> On Wednesday 06 February 2013 Yann E. MORIN wrote:
>> On Monday 04 February 2013 Arnout Vandecappelle wrote:
>>> On 04/02/13 17:01, Yann E. MORIN wrote:
> [--SNIP--]
>>>> +# $1: DESTDIR to install into
>>>> +# Can't use pmake to install, it wants to be root. sigh... :-(
>>>> +define LIBEDIT2_INSTALL_CMDS
>>>> +	$(INSTALL) -D -m 0644 package/libedit2/libedit2.pc $(1)/usr/lib/pkgconfig/libedit2.pc
>>>> +	ln -sf libedit2.pc $(1)/usr/lib/pkgconfig/libedit.pc
>>>> +	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit.a $(1)/usr/lib/libedit.a
>>>> +	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit_pic.a $(1)/usr/lib/libedit_pic.a
>>>> +	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit.so.2.11 $(1)/usr/lib/libedit.so.2.11
>>>> +	$(INSTALL) -D -m 0644 $(@D)/libedit/histedit.h $(1)/usr/include/histedit.h
>>>> +	ln -sf libedit.so.$(LIBEDIT2_VERSION) $(1)/usr/lib/libedit.so.$(LIBEDIT2_VERSION_MAJOR)
>>>    This doesn't seem right: LIBEDIT2_VERSION is 2.11-20080614, but you
>>> just installed 2.11...
>>
>> Hmmm... Lemme check...
>
> OK, here's what in the build log:
>
> /usr/bin/install -D -m 0644 [...]/build/libedit2-2.11-20080614/libedit/libedit.so.2.11 [...]/target/usr/lib/libedit.so.2.11
> ln -sf libedit.so.2.11-20080614 [...]/target/usr/lib/libedit.so.2
> ln -sf libedit.so.2 [...]/target/usr/lib/libedit.so
>
> And now, here's what is in target/usr/lib:
>
> $ ls -l target/usr/lib/libedit*
> lrwxrwxrwx 1 ymorin ymorin     12 Feb  6 20:09 target/usr/lib/libedit.so -> libedit.so.2
> lrwxrwxrwx 1 ymorin ymorin     15 Feb  6 20:09 target/usr/lib/libedit.so.2 -> libedit.so.2.11
> -rw-r--r-- 1 ymorin ymorin 135945 Feb  6 20:09 target/usr/lib/libedit.so.2.11
>
> WTF?

  Hang on... Aren't these links created by ldconfig? Is it even necessary 
to create them manually, since we run ldconfig in target-finalize?

  Regards,
  Arnout


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

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

* [Buildroot] [PATCH 4/7] package/libedit2: new package
  2013-02-06 19:00     ` Yann E. MORIN
  2013-02-06 19:17       ` Yann E. MORIN
@ 2013-02-06 19:40       ` Arnout Vandecappelle
  1 sibling, 0 replies; 25+ messages in thread
From: Arnout Vandecappelle @ 2013-02-06 19:40 UTC (permalink / raw)
  To: buildroot

On 06/02/13 20:00, Yann E. MORIN wrote:
> Arnout, All,
>
> On Monday 04 February 2013 Arnout Vandecappelle wrote:
>> On 04/02/13 17:01, Yann E. MORIN wrote:
[snip]
>>> +define LIBEDIT2_FIX_VIS_H_INCLUDE
>>> +	$(SED) 's/^#include <vis.h>$$/#include <bsd\/vis.h>/;' $(@D)/libedit/filecomplete.c
>>
>>    If you use s,foo,bar, instead of s/foo/bar/ you don't need to quote /.
>
> Granted. I usualy do not do that, as I sometime have paths that do contain
> commas, and would broke anyway, so I always explicitly quote '/'.

  @ is a good alternative. But feel free to keep the quoting if you prefer.

>
>> Also, the ; is redundant.
>
> I like it that all my sed expressions are properly terminated, even if
> it is not mandatory. It is very annoying to me that, when there are two
> or more expressions, they are all terminated, save for the last one...

  OK, I thought it was a mistake.

  Regards,
  Arnout

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

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

* [Buildroot] [PATCH 4/7] package/libedit2: new package
  2013-02-06 19:33         ` Arnout Vandecappelle
@ 2013-02-06 20:16           ` Yann E. MORIN
  0 siblings, 0 replies; 25+ messages in thread
From: Yann E. MORIN @ 2013-02-06 20:16 UTC (permalink / raw)
  To: buildroot

Arnout, all,

On Wednesday 06 February 2013 Arnout Vandecappelle wrote:
> On 06/02/13 20:17, Yann E. MORIN wrote:
> > $ ls -l target/usr/lib/libedit*
> > lrwxrwxrwx 1 ymorin ymorin     12 Feb  6 20:09 target/usr/lib/libedit.so -> libedit.so.2
> > lrwxrwxrwx 1 ymorin ymorin     15 Feb  6 20:09 target/usr/lib/libedit.so.2 -> libedit.so.2.11
> > -rw-r--r-- 1 ymorin ymorin 135945 Feb  6 20:09 target/usr/lib/libedit.so.2.11
>   Hang on... Aren't these links created by ldconfig? Is it even necessary 
> to create them manually, since we run ldconfig in target-finalize?

Just tried. Nice catch! :-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH 5/7] package/ceph: new package
  2013-02-04 22:56   ` Arnout Vandecappelle
@ 2013-02-06 21:07     ` Yann E. MORIN
  0 siblings, 0 replies; 25+ messages in thread
From: Yann E. MORIN @ 2013-02-06 21:07 UTC (permalink / raw)
  To: buildroot

Arnout, All,

On Monday 04 February 2013 Arnout Vandecappelle wrote:
> On 04/02/13 17:01, Yann E. MORIN wrote:
[--SNIP--]
> > diff --git a/package/ceph/ceph-no-envz.patch b/package/ceph/ceph-no-envz.patch
> > new file mode 100644
> > index 0000000..c0369ba
> > --- /dev/null
> > +++ b/package/ceph/ceph-no-envz.patch
> > @@ -0,0 +1,63 @@
> > +tools+base: do not include envz.h on uClibc
> > +
> > +uClibc does not have envz, and no envz function is in fact used.
> > +So, simply do not include it under uClibc.
>   If it's not used, why not just remove the header (and upstream the patch)?

Well... IIRC, upstream never replied to my patch.
So I kept it as-is, in case we needed to later bump ceph version
with as litle impact as possible.

> > diff --git a/package/ceph/ceph.mk b/package/ceph/ceph.mk
> > new file mode 100644
> > index 0000000..33cee8c
> > --- /dev/null
> > +++ b/package/ceph/ceph.mk
> > @@ -0,0 +1,57 @@
> > +#############################################################
> > +#
> > +# ceph
> > +#
> > +#############################################################
> > +
> > +CEPH_VERSION         = 0.56.2
> > +CEPH_SOURCE          = ceph-$(CEPH_VERSION).tar.bz2
> > +CEPH_SITE            = http://ceph.com/download/
> > +CEPH_LICENSE         = LGPLv2.1 CC-BY-SA Apache-2.0 GPLv2 LGPLv2+ BSD-3c MIT PD
> 
>   I'm not sure if PD is a generally accepted abbreviation. And I also 
> don't think it is necessary to mention it in the first place (it the 
> entire package is public domain, yes it makes sense, but if it's just 
> part of it then no).

OK, I'll drop it.

Thank you!

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH 6/7] package/dtc: new package
  2013-02-05  7:16   ` Arnout Vandecappelle
@ 2013-02-06 21:34     ` Yann E. MORIN
  0 siblings, 0 replies; 25+ messages in thread
From: Yann E. MORIN @ 2013-02-06 21:34 UTC (permalink / raw)
  To: buildroot

Arnout, All,

On Tuesday 05 February 2013 Arnout Vandecappelle wrote:
> On 04/02/13 17:01, Yann E. MORIN wrote:
> > dtc is the Device Tree Compiler, and manipulates device trees.
[--SNIP--]
> > +diff -durN dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef.orig/Makefile dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef/Makefile
> > +--- dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef.orig/Makefile	2012-10-22 22:02:47.541240846 +0200
> > ++++ dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef/Makefile	2012-10-22 22:03:21.151047833 +0200
> > +@@ -18,7 +18,7 @@
> > + CPPFLAGS = -I libfdt -I .
> > + WARNINGS = -Werror -Wall -Wpointer-arith -Wcast-qual -Wnested-externs \
> > + 	-Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls
> > +-CFLAGS = -g -Os -fPIC -Werror $(WARNINGS)
> > ++CFLAGS += -g -Os -fPIC -Werror $(WARNINGS)
> 
>   Actually this is not yet entirely perfect, because the -g -Os -W... 
> should be overridable by the user. I would have put:
> 
> CFLAGS ?= -g -Os -Werror $(WARNINGS)
> CFLAGS += -fPIC
> 
>   (but that's a matter of opinion, I guess.

I like it better, too. Thanks!

> > diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk
> > new file mode 100644
> > index 0000000..a0e1e35
> > --- /dev/null
> > +++ b/package/dtc/dtc.mk
> > @@ -0,0 +1,34 @@
> > +#############################################################
> > +#
> > +# dtc
> > +#
> > +#############################################################
> > +
> > +DTC_VERSION         = e4b497f367a3b2ae99cc52089a14a221b13a76ef
> > +DTC_SITE            = git://git.jdl.com/software/dtc.git
> 
>   I realize the choice between the in-kernel or external version was 
> discussed before, but isn't it a bit strange that host-dtc is created 
> from the in-kernel tree, while target-dtc uses the external tree?
> 
>   (this doesn't affect this patch, of course, since host support can be 
> added later).

The dtc in ther kernek tree is built by the kernel's build system and
does not build libfdt. It also lacks a complete and proper Makefile.

The upstream dtc (from which the kernel-bundled one is synced from time
to time) has a complete build system, and is more up-to-date (which
reminds me to bump the sha1 before re-pushing...).

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH 7/7] package/dtc: add option to install programs
  2013-02-05  7:23   ` Arnout Vandecappelle
@ 2013-02-07 22:13     ` Yann E. MORIN
  0 siblings, 0 replies; 25+ messages in thread
From: Yann E. MORIN @ 2013-02-07 22:13 UTC (permalink / raw)
  To: buildroot

Arnout, All,

On Tuesday 05 February 2013 Arnout Vandecappelle wrote:
> On 04/02/13 17:01, Yann E. MORIN wrote:
> > By default, we only install the libfdt library.
> >
> > As suggested by Arnout, add an option that also
> > installs the few dtc programs.
[--SNIP--]
> > +	  Note: dtdiff requires bash, so if bash is not selected, dtdiff will
> > +	        be removed from the target file system. Enable bash if you
> > +	        need dtdiff on the target.
>   I don't know if it is really necessary, but maybe this can be made even 
> more explicit like:
> 
> comment "dtdiff will not be installed: it requires bash"
> 	depends on BR2_PACKAGE_DTC_PROGRAMS
> 	depends on !BR2_PACKAGE_BASH

Yep, done.

[--SNIP--]
> > +DTC_POST_INSTALL_TARGET_HOOKS += DTC_POST_INSTALL_TARGET_RM_DTDIFF
>   This should be in the =y branch.
>   I don't really like that the definition of the hook comes below. It 
> works, of course, but it's not what people expect.

OK, done.

> > +define DTC_POST_INSTALL_TARGET_RM_DTDIFF
> > +	rm -f $(TARGET_DIR)/usr/bin/dtdiff
>   As said before, put this higher, just below the INSTALL_STAGING.

OK, done.

Thank you!

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH 7/7] package/dtc: add option to install programs
  2013-02-03 13:40 [Buildroot] [pull request v4] Pull request for branch yem-new-packages Yann E. MORIN
@ 2013-02-03 13:40 ` Yann E. MORIN
  0 siblings, 0 replies; 25+ messages in thread
From: Yann E. MORIN @ 2013-02-03 13:40 UTC (permalink / raw)
  To: buildroot

By default, we only install the libfdt library.

As suggested by Arnout, add an option that also
installs the few dtc programs.

Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

---
dtdiff, a diff for device trees, requires bash.

I did not add a 'depends on bash' (or a 'select' either), because
requiring bash just for that is a bit far-fetched.

Instead, at dtc install time, if bash is selected, dtdiff is installed
as usual to the target rootfs; if bash is not selected, dtdiff is
removed from the target rootfs.
---
 package/dtc/Config.in |   24 ++++++++++++++++++++++--
 package/dtc/dtc.mk    |   29 +++++++++++++++++++++++------
 2 files changed, 45 insertions(+), 8 deletions(-)

diff --git a/package/dtc/Config.in b/package/dtc/Config.in
index 96225e3..1c65a10 100644
--- a/package/dtc/Config.in
+++ b/package/dtc/Config.in
@@ -1,9 +1,29 @@
 config BR2_PACKAGE_DTC
-	bool "dtc"
+	bool "dtc (libfdt)"
 	help
 	  The Device Tree Compiler, dtc, takes as input a device-tree in
 	  a given format and outputs a device-tree in another format.
 	  
-	  Note that only the library is installed for now.
+	  Note that only the library is installed.
+	  If you want the programs, say 'y' here, and to "dtc programs", below.
 	  
 	  http://git.jdl.com/gitweb/?p=dtc.git  (no home page)
+
+if BR2_PACKAGE_DTC
+
+config BR2_PACKAGE_DTC_PROGRAMS
+	bool "dtc programs"
+	help
+	  Say 'y' here if you also want the programs on the target:
+	    - convert-dtsv0     convert from version 0 to version 1
+	    - dtc               the device tree compiler
+	    - dtdiff            compare two device trees (needs bash)
+	    - fdtdump           print a readable version of a flat device tree
+	    - fdtget            read values from device tree
+	    - fdtput            write a property value to a device tree
+	  
+	  Note: dtdiff requires bash, so if bash is not selected, dtdiff will
+	        be removed from the target file system. Enable bash if you
+	        need dtdiff on the target.
+
+endif
diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk
index a0e1e35..42843d5 100644
--- a/package/dtc/dtc.mk
+++ b/package/dtc/dtc.mk
@@ -8,27 +8,44 @@ DTC_VERSION         = e4b497f367a3b2ae99cc52089a14a221b13a76ef
 DTC_SITE            = git://git.jdl.com/software/dtc.git
 DTC_LICENSE         = GPLv2+/BSD-2c
 DTC_LICENSE_FILES   = README.license GPL
-# Note: the dual-license only applies to the library.
-#       The DT compiler (dtc) is GPLv2+, but we do not install it.
 DTC_INSTALL_STAGING = YES
 
+ifeq ($(BR2_PACKAGE_DTC_PROGRAMS),y)
+DTC_LICENSE        += (for the library), GPLv2+ (for the executables)
+# Use default goal to build everything
+DTC_BUILD_GOAL      =
+DTC_INSTALL_GOAL    = install
+DTC_CLEAN_GOAL      = clean
+else # $(BR2_PACKAGE_DTC_PROGRAMS) != y
+DTC_BUILD_GOAL      = libfdt
+#?libfdt_install is our own install rule added by our patch
+DTC_INSTALL_GOAL    = libfdt_install
+DTC_CLEAN_GOAL      = libfdt_clean
+ifeq ($(BR2_PACKAGE_BASH),)
+DTC_POST_INSTALL_TARGET_HOOKS += DTC_POST_INSTALL_TARGET_RM_DTDIFF
+endif
+endif # $(BR2_PACKAGE_DTC_PROGRAMS) != y
+
 define DTC_BUILD_CMDS
 	$(TARGET_CONFIGURE_OPTS)    \
 	CFLAGS="$(TARGET_CFLAGS)"   \
-	$(MAKE) -C $(@D) PREFIX=/usr libfdt
+	$(MAKE) -C $(@D) PREFIX=/usr $(DTC_BUILD_GOAL)
 endef
 
-#?libfdt_install is our own install rule added by our patch
+# For staging, only the library is needed
 define DTC_INSTALL_STAGING_CMDS
 	$(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) PREFIX=/usr libfdt_install
 endef
 
 define DTC_INSTALL_TARGET_CMDS
-	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr libfdt_install
+	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr $(DTC_INSTALL_GOAL)
+endef
+define DTC_POST_INSTALL_TARGET_RM_DTDIFF
+	rm -f $(TARGET_DIR)/usr/bin/dtdiff
 endef
 
 define DTC_CLEAN_CMDS
-	$(MAKE) -C $(@D) libfdt_clean
+	$(MAKE) -C $(@D) $(DTC_CLEAN_GOAL)
 endef
 
 $(eval $(generic-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 7/7] package/dtc: add option to install programs
  2013-01-29 22:33 [Buildroot] [pull request v3] Pull request for branch yem-new-packages Yann E. MORIN
@ 2013-01-29 22:33 ` Yann E. MORIN
  0 siblings, 0 replies; 25+ messages in thread
From: Yann E. MORIN @ 2013-01-29 22:33 UTC (permalink / raw)
  To: buildroot

By default, we only install the libfdt library.

As suggested by Arnout, add an option that also
installs the few dtc programs.

Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

---
dtdiff, a diff for device trees, requires bash.

I did not add a 'depends on bash' (or a 'select' either), because
requiring bash just for that is a bit far-fetched.

Instead, at dtc install time, if bash is selected, dtdiff is installed
as usual to the target rootfs; if bash is not selected, dtdiff is
removed from the target rootfs.
---
 package/dtc/Config.in |   24 ++++++++++++++++++++++--
 package/dtc/dtc.mk    |   29 +++++++++++++++++++++++------
 2 files changed, 45 insertions(+), 8 deletions(-)

diff --git a/package/dtc/Config.in b/package/dtc/Config.in
index 96225e3..1c65a10 100644
--- a/package/dtc/Config.in
+++ b/package/dtc/Config.in
@@ -1,9 +1,29 @@
 config BR2_PACKAGE_DTC
-	bool "dtc"
+	bool "dtc (libfdt)"
 	help
 	  The Device Tree Compiler, dtc, takes as input a device-tree in
 	  a given format and outputs a device-tree in another format.
 	  
-	  Note that only the library is installed for now.
+	  Note that only the library is installed.
+	  If you want the programs, say 'y' here, and to "dtc programs", below.
 	  
 	  http://git.jdl.com/gitweb/?p=dtc.git  (no home page)
+
+if BR2_PACKAGE_DTC
+
+config BR2_PACKAGE_DTC_PROGRAMS
+	bool "dtc programs"
+	help
+	  Say 'y' here if you also want the programs on the target:
+	    - convert-dtsv0     convert from version 0 to version 1
+	    - dtc               the device tree compiler
+	    - dtdiff            compare two device trees (needs bash)
+	    - fdtdump           print a readable version of a flat device tree
+	    - fdtget            read values from device tree
+	    - fdtput            write a property value to a device tree
+	  
+	  Note: dtdiff requires bash, so if bash is not selected, dtdiff will
+	        be removed from the target file system. Enable bash if you
+	        need dtdiff on the target.
+
+endif
diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk
index a0e1e35..42843d5 100644
--- a/package/dtc/dtc.mk
+++ b/package/dtc/dtc.mk
@@ -8,27 +8,44 @@ DTC_VERSION         = e4b497f367a3b2ae99cc52089a14a221b13a76ef
 DTC_SITE            = git://git.jdl.com/software/dtc.git
 DTC_LICENSE         = GPLv2+/BSD-2c
 DTC_LICENSE_FILES   = README.license GPL
-# Note: the dual-license only applies to the library.
-#       The DT compiler (dtc) is GPLv2+, but we do not install it.
 DTC_INSTALL_STAGING = YES
 
+ifeq ($(BR2_PACKAGE_DTC_PROGRAMS),y)
+DTC_LICENSE        += (for the library), GPLv2+ (for the executables)
+# Use default goal to build everything
+DTC_BUILD_GOAL      =
+DTC_INSTALL_GOAL    = install
+DTC_CLEAN_GOAL      = clean
+else # $(BR2_PACKAGE_DTC_PROGRAMS) != y
+DTC_BUILD_GOAL      = libfdt
+#?libfdt_install is our own install rule added by our patch
+DTC_INSTALL_GOAL    = libfdt_install
+DTC_CLEAN_GOAL      = libfdt_clean
+ifeq ($(BR2_PACKAGE_BASH),)
+DTC_POST_INSTALL_TARGET_HOOKS += DTC_POST_INSTALL_TARGET_RM_DTDIFF
+endif
+endif # $(BR2_PACKAGE_DTC_PROGRAMS) != y
+
 define DTC_BUILD_CMDS
 	$(TARGET_CONFIGURE_OPTS)    \
 	CFLAGS="$(TARGET_CFLAGS)"   \
-	$(MAKE) -C $(@D) PREFIX=/usr libfdt
+	$(MAKE) -C $(@D) PREFIX=/usr $(DTC_BUILD_GOAL)
 endef
 
-#?libfdt_install is our own install rule added by our patch
+# For staging, only the library is needed
 define DTC_INSTALL_STAGING_CMDS
 	$(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) PREFIX=/usr libfdt_install
 endef
 
 define DTC_INSTALL_TARGET_CMDS
-	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr libfdt_install
+	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr $(DTC_INSTALL_GOAL)
+endef
+define DTC_POST_INSTALL_TARGET_RM_DTDIFF
+	rm -f $(TARGET_DIR)/usr/bin/dtdiff
 endef
 
 define DTC_CLEAN_CMDS
-	$(MAKE) -C $(@D) libfdt_clean
+	$(MAKE) -C $(@D) $(DTC_CLEAN_GOAL)
 endef
 
 $(eval $(generic-package))
-- 
1.7.2.5

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

end of thread, other threads:[~2013-02-07 22:13 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-04 16:01 [Buildroot] [pull request v5] Pull request for branch yem-new-packages Yann E. MORIN
2013-02-04 16:01 ` [Buildroot] [PATCH 1/7] package/usbredir: update to version 0.6 Yann E. MORIN
2013-02-04 23:14   ` Peter Korsgaard
2013-02-04 16:01 ` [Buildroot] [PATCH 2/7] package/pmake: add host pmake Yann E. MORIN
2013-02-04 18:54   ` Arnout Vandecappelle
2013-02-06 18:51     ` Yann E. MORIN
2013-02-04 16:01 ` [Buildroot] [PATCH 3/7] package/libbsd: new package Yann E. MORIN
2013-02-04 16:01 ` [Buildroot] [PATCH 4/7] package/libedit2: " Yann E. MORIN
2013-02-04 22:41   ` Arnout Vandecappelle
2013-02-06 19:00     ` Yann E. MORIN
2013-02-06 19:17       ` Yann E. MORIN
2013-02-06 19:33         ` Arnout Vandecappelle
2013-02-06 20:16           ` Yann E. MORIN
2013-02-06 19:40       ` Arnout Vandecappelle
2013-02-04 16:01 ` [Buildroot] [PATCH 5/7] package/ceph: " Yann E. MORIN
2013-02-04 22:56   ` Arnout Vandecappelle
2013-02-06 21:07     ` Yann E. MORIN
2013-02-04 16:01 ` [Buildroot] [PATCH 6/7] package/dtc: " Yann E. MORIN
2013-02-05  7:16   ` Arnout Vandecappelle
2013-02-06 21:34     ` Yann E. MORIN
2013-02-04 16:01 ` [Buildroot] [PATCH 7/7] package/dtc: add option to install programs Yann E. MORIN
2013-02-05  7:23   ` Arnout Vandecappelle
2013-02-07 22:13     ` Yann E. MORIN
  -- strict thread matches above, loose matches on Subject: below --
2013-02-03 13:40 [Buildroot] [pull request v4] Pull request for branch yem-new-packages Yann E. MORIN
2013-02-03 13:40 ` [Buildroot] [PATCH 7/7] package/dtc: add option to install programs Yann E. MORIN
2013-01-29 22:33 [Buildroot] [pull request v3] Pull request for branch yem-new-packages Yann E. MORIN
2013-01-29 22:33 ` [Buildroot] [PATCH 7/7] package/dtc: add option to install programs Yann E. MORIN

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.