Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] libaio: introduce a BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS option
@ 2015-06-25 14:04 Maxime Ripard
  2015-06-25 14:04 ` [Buildroot] [PATCH 2/2] xen: new package Maxime Ripard
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Maxime Ripard @ 2015-06-25 14:04 UTC (permalink / raw)
  To: buildroot

In order to allow other packages to easily select mplayer without
duplicating its complicated architecture dependencies, this commit
introduces a BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS blind option.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 package/blktrace/Config.in      |  6 +-----
 package/gadgetfs-test/Config.in |  6 +-----
 package/libaio/Config.in        | 11 +++++++----
 3 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/package/blktrace/Config.in b/package/blktrace/Config.in
index 09c95eb39ae7..ed5d78a542c6 100644
--- a/package/blktrace/Config.in
+++ b/package/blktrace/Config.in
@@ -2,11 +2,7 @@ config BR2_PACKAGE_BLKTRACE
 	bool "blktrace"
 	# Uses posix_spawn()
 	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL
-	# Because of libaio arch depends
-	depends on \
-		BR2_arm   || BR2_armeb || BR2_i386   || \
-		BR2_m68k  || BR2_mips  || BR2_mipsel || BR2_powerpc || \
-		BR2_sparc || BR2_x86_64
+	depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS
 	select BR2_PACKAGE_LIBAIO
 	help
 	  blktrace is a block layer IO tracing mechanism which provides
diff --git a/package/gadgetfs-test/Config.in b/package/gadgetfs-test/Config.in
index 38358f2a1cd5..9a603066e7af 100644
--- a/package/gadgetfs-test/Config.in
+++ b/package/gadgetfs-test/Config.in
@@ -8,12 +8,8 @@ if BR2_PACKAGE_GADGETFS_TEST
 
 config BR2_PACKAGE_GADGETFS_TEST_USE_AIO
 	bool "use asynchronous i/o"
+	depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS
 	select BR2_PACKAGE_LIBAIO
-	# libaio is available only on few architectures
-	depends on \
-		BR2_arm   || BR2_armeb || BR2_i386   || \
-		BR2_m68k  || BR2_mips  || BR2_mipsel || BR2_powerpc || \
-		BR2_sparc || BR2_x86_64
 	help
 	  Select this to have gadgetfs-test do asynchronous I/O using
 	  the libaio library.
diff --git a/package/libaio/Config.in b/package/libaio/Config.in
index 622fd55a5e83..cc44cb6dbcf6 100644
--- a/package/libaio/Config.in
+++ b/package/libaio/Config.in
@@ -1,8 +1,11 @@
+config BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS
+	bool
+	default y if BR2_arm || BR2_armeb || BR2_i386 || \
+		BR2_m68k || BR2_mips || BR2_mipsel || BR2_powerpc || \
+		BR2_sparc || BR2_x86_64
+
 config BR2_PACKAGE_LIBAIO
 	bool "libaio"
-	depends on \
-		BR2_arm   || BR2_armeb || BR2_i386   || \
-		BR2_m68k  || BR2_mips  || BR2_mipsel || BR2_powerpc || \
-		BR2_sparc || BR2_x86_64
+	depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS
 	help
 	  Library for doing asynchronous I/O
-- 
2.4.3

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

* [Buildroot] [PATCH 2/2] xen: new package
  2015-06-25 14:04 [Buildroot] [PATCH 1/2] libaio: introduce a BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS option Maxime Ripard
@ 2015-06-25 14:04 ` Maxime Ripard
  2015-06-29 10:12   ` Thomas Petazzoni
  2015-10-04 17:00   ` Arnout Vandecappelle
  2015-06-25 15:05 ` [Buildroot] [PATCH 1/2] libaio: introduce a BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS option Thomas Petazzoni
  2015-06-28 13:27 ` Thomas Petazzoni
  2 siblings, 2 replies; 9+ messages in thread
From: Maxime Ripard @ 2015-06-25 14:04 UTC (permalink / raw)
  To: buildroot

This package allows to compile both the Xen hypervisor image, and the Xen
tool stack intended to be used in the priviledged guest (aka dom0).

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 package/Config.in                                  |  1 +
 ...mons-create-log-directory-before-using-it.patch | 31 ++++++++++++++
 package/xen/Config.in                              | 30 +++++++++++++
 package/xen/xen.hash                               |  2 +
 package/xen/xen.mk                                 | 49 ++++++++++++++++++++++
 5 files changed, 113 insertions(+)
 create mode 100644 package/xen/0001-xencommons-create-log-directory-before-using-it.patch
 create mode 100644 package/xen/Config.in
 create mode 100644 package/xen/xen.hash
 create mode 100644 package/xen/xen.mk

diff --git a/package/Config.in b/package/Config.in
index e0c2e2ac422b..6e0124b2eceb 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1421,6 +1421,7 @@ if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 	source "package/sysvinit/Config.in"
 endif
 	source "package/util-linux/Config.in"
+	source "package/xen/Config.in"
 endmenu
 
 menu "Text editors and viewers"
diff --git a/package/xen/0001-xencommons-create-log-directory-before-using-it.patch b/package/xen/0001-xencommons-create-log-directory-before-using-it.patch
new file mode 100644
index 000000000000..365cdc5b5a9b
--- /dev/null
+++ b/package/xen/0001-xencommons-create-log-directory-before-using-it.patch
@@ -0,0 +1,31 @@
+From a7d1fde9a14ca0cf9c3f7c7950a6f9ea89ff58a6 Mon Sep 17 00:00:00 2001
+From: Maxime Ripard <maxime.ripard@free-electrons.com>
+Date: Thu, 25 Jun 2015 15:47:42 +0200
+Subject: [PATCH] xencommons: create log directory before using it
+
+In the case where /var/log is volatile, for example when using a tmpfs, the
+/var/log/xen directory will not be found on the system, and every attempt
+to log something to one of the files in that directory will fail.
+
+Create it in the xencommons init script
+
+Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
+---
+ tools/hotplug/Linux/init.d/xencommons.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tools/hotplug/Linux/init.d/xencommons.in b/tools/hotplug/Linux/init.d/xencommons.in
+index a1095c29ce0f..89210a02120a 100644
+--- a/tools/hotplug/Linux/init.d/xencommons.in
++++ b/tools/hotplug/Linux/init.d/xencommons.in
+@@ -61,6 +61,7 @@ do_start () {
+ 
+ 	mkdir -p ${XEN_RUN_DIR}
+ 	mkdir -p ${XEN_LOCK_DIR}
++	mkdir -p /var/log/xen
+ 
+ 	if ! `${BINDIR}/xenstore-read -s / >/dev/null 2>&1`
+ 	then
+-- 
+2.4.3
+
diff --git a/package/xen/Config.in b/package/xen/Config.in
new file mode 100644
index 000000000000..33eb11c50a8e
--- /dev/null
+++ b/package/xen/Config.in
@@ -0,0 +1,30 @@
+config BR2_PACKAGE_XEN
+	bool "xen"
+	depends on BR2_arm || BR2_arm64 || \
+		BR2_i386 || BR2_x86_64
+	depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS
+	depends on !BR2_STATIC_LIBS # dtc (libfdt)
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
+	depends on BR2_USE_WCHAR # libglib2, util-linux
+	select BR2_PACKAGE_DTC
+	select BR2_PACKAGE_LIBAIO
+	select BR2_PACKAGE_LIBGLIB2
+	select BR2_PACKAGE_NCURSES
+	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_PIXMAN
+	select BR2_PACKAGE_UTIL_LINUX
+	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	select BR2_PACKAGE_YAJL
+	help
+	  This builds the Xen hypervisor and toolstack
+
+	  http://www.xenproject.org/
+
+if BR2_PACKAGE_XEN
+
+config BR2_PACKAGE_XEN_HYPERVISOR
+	bool "Build the Xen hypervisor"
+
+config BR2_PACKAGE_XEN_TOOLS
+	bool "Build the Xen tools"
+endif
diff --git a/package/xen/xen.hash b/package/xen/xen.hash
new file mode 100644
index 000000000000..7e9bcc123261
--- /dev/null
+++ b/package/xen/xen.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256	5bdb40e2b28d2eeb541bd71a9777f40cbe2ae444b987521d33f099541a006f3b	xen-4.5.0.tar.gz
diff --git a/package/xen/xen.mk b/package/xen/xen.mk
new file mode 100644
index 000000000000..fee9fdc12cdf
--- /dev/null
+++ b/package/xen/xen.mk
@@ -0,0 +1,49 @@
+################################################################################
+#
+# Xen
+#
+################################################################################
+
+XEN_VERSION = 4.5.0
+XEN_SITE = http://bits.xensource.com/oss-xen/release/$(XEN_VERSION)
+XEN_INSTALL_IMAGES = YES
+
+XEN_DEPENDENCIES += dtc libaio libglib2 ncurses openssl pixman util-linux yajl
+
+XEN_MAKE_ENV = \
+	XEN_TARGET_ARCH=arm32 \
+	CROSS_COMPILE=$(TARGET_CROSS) \
+	CXXFLAGS="$(TARGET_CXXFLAGS) -D_FILE_OFFSET_BITS=64" \
+	CFLAGS="$(TARGET_CFLAGS) -D_FILE_OFFSET_BITS=64" \
+	PKG_CONFIG=$(PKG_CONFIG_HOST_BINARY)
+
+XEN_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR)
+
+ifeq ($(BR2_PACKAGE_XEN_HYPERVISOR),y)
+XEN_MAKE_OPTS += dist-xen
+
+define XEN_INSTALL_IMAGES_CMDS
+	cp $(@D)/xen/xen $(BINARIES_DIR)
+endef
+else
+XEN_CONF_OPTS += --disable-xen
+endif
+
+XEN_CONF_OPTS += --disable-ocamltools
+
+ifeq ($(BR2_PACKAGE_XEN_TOOLS),y)
+XEN_MAKE_OPTS += dist-tools
+XEN_INSTALL_TARGET_OPTS += install-tools
+
+define XEN_RENAME_INIT_SCRIPTS
+	mv $(TARGET_DIR)/etc/init.d/xencommons $(TARGET_DIR)/etc/init.d/S50xencommons
+	mv $(TARGET_DIR)/etc/init.d/xen-watchdog $(TARGET_DIR)/etc/init.d/S50xen-watchdog
+	mv $(TARGET_DIR)/etc/init.d/xendomains $(TARGET_DIR)/etc/init.d/S60xendomains
+endef
+else
+XEN_CONF_OPTS += --disable-tools
+endif
+
+XEN_POST_INSTALL_TARGET_HOOKS += XEN_RENAME_INIT_SCRIPTS
+
+$(eval $(autotools-package))
-- 
2.4.3

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

* [Buildroot] [PATCH 1/2] libaio: introduce a BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS option
  2015-06-25 14:04 [Buildroot] [PATCH 1/2] libaio: introduce a BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS option Maxime Ripard
  2015-06-25 14:04 ` [Buildroot] [PATCH 2/2] xen: new package Maxime Ripard
@ 2015-06-25 15:05 ` Thomas Petazzoni
  2015-06-28 13:27 ` Thomas Petazzoni
  2 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2015-06-25 15:05 UTC (permalink / raw)
  To: buildroot

Dear Maxime Ripard,

On Thu, 25 Jun 2015 16:04:55 +0200, Maxime Ripard wrote:
> In order to allow other packages to easily select mplayer without

mplayer ?

I guess your copy/paste was a bit too aggressive :-)

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 1/2] libaio: introduce a BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS option
  2015-06-25 14:04 [Buildroot] [PATCH 1/2] libaio: introduce a BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS option Maxime Ripard
  2015-06-25 14:04 ` [Buildroot] [PATCH 2/2] xen: new package Maxime Ripard
  2015-06-25 15:05 ` [Buildroot] [PATCH 1/2] libaio: introduce a BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS option Thomas Petazzoni
@ 2015-06-28 13:27 ` Thomas Petazzoni
  2 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2015-06-28 13:27 UTC (permalink / raw)
  To: buildroot

Dear Maxime Ripard,

On Thu, 25 Jun 2015 16:04:55 +0200, Maxime Ripard wrote:
> In order to allow other packages to easily select mplayer without
> duplicating its complicated architecture dependencies, this commit
> introduces a BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS blind option.
> 
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> ---
>  package/blktrace/Config.in      |  6 +-----
>  package/gadgetfs-test/Config.in |  6 +-----
>  package/libaio/Config.in        | 11 +++++++----
>  3 files changed, 9 insertions(+), 14 deletions(-)

Applied after fixing the 'mplayer' typo in the commit log, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 2/2] xen: new package
  2015-06-25 14:04 ` [Buildroot] [PATCH 2/2] xen: new package Maxime Ripard
@ 2015-06-29 10:12   ` Thomas Petazzoni
  2015-07-02  9:43     ` Maxime Ripard
       [not found]     ` <1435573321.32500.248.camel@hellion.org.uk>
  2015-10-04 17:00   ` Arnout Vandecappelle
  1 sibling, 2 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2015-06-29 10:12 UTC (permalink / raw)
  To: buildroot

Dear Maxime Ripard,

On Thu, 25 Jun 2015 16:04:56 +0200, Maxime Ripard wrote:
> This package allows to compile both the Xen hypervisor image, and the Xen
> tool stack intended to be used in the priviledged guest (aka dom0).
> 
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>

Completely side question: do you know if there is a Qemu configuration
that emulates the ARM and/or x86 virtualization features that would
allow to run this Xen stuff ? It could be useful for quick testing
purposes (but isn't of course mandatory at all to get this patch
merged).

> diff --git a/package/xen/0001-xencommons-create-log-directory-before-using-it.patch b/package/xen/0001-xencommons-create-log-directory-before-using-it.patch
> new file mode 100644
> index 000000000000..365cdc5b5a9b
> --- /dev/null
> +++ b/package/xen/0001-xencommons-create-log-directory-before-using-it.patch
> @@ -0,0 +1,31 @@
> +From a7d1fde9a14ca0cf9c3f7c7950a6f9ea89ff58a6 Mon Sep 17 00:00:00 2001
> +From: Maxime Ripard <maxime.ripard@free-electrons.com>
> +Date: Thu, 25 Jun 2015 15:47:42 +0200
> +Subject: [PATCH] xencommons: create log directory before using it
> +
> +In the case where /var/log is volatile, for example when using a tmpfs, the
> +/var/log/xen directory will not be found on the system, and every attempt
> +to log something to one of the files in that directory will fail.
> +
> +Create it in the xencommons init script
> +
> +Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> +---
> + tools/hotplug/Linux/init.d/xencommons.in | 1 +
> + 1 file changed, 1 insertion(+)
> +
> +diff --git a/tools/hotplug/Linux/init.d/xencommons.in b/tools/hotplug/Linux/init.d/xencommons.in
> +index a1095c29ce0f..89210a02120a 100644
> +--- a/tools/hotplug/Linux/init.d/xencommons.in
> ++++ b/tools/hotplug/Linux/init.d/xencommons.in
> +@@ -61,6 +61,7 @@ do_start () {
> + 
> + 	mkdir -p ${XEN_RUN_DIR}
> + 	mkdir -p ${XEN_LOCK_DIR}
> ++	mkdir -p /var/log/xen
> + 
> + 	if ! `${BINDIR}/xenstore-read -s / >/dev/null 2>&1`
> + 	then
> +-- 
> +2.4.3
> +

Has this patch been submitted upstream?

> diff --git a/package/xen/Config.in b/package/xen/Config.in
> new file mode 100644
> index 000000000000..33eb11c50a8e
> --- /dev/null
> +++ b/package/xen/Config.in
> @@ -0,0 +1,30 @@
> +config BR2_PACKAGE_XEN
> +	bool "xen"
> +	depends on BR2_arm || BR2_arm64 || \
> +		BR2_i386 || BR2_x86_64
> +	depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS
> +	depends on !BR2_STATIC_LIBS # dtc (libfdt)
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
> +	depends on BR2_USE_WCHAR # libglib2, util-linux

You need a comment to match these 'depends on' toolchain features.

> +	select BR2_PACKAGE_DTC
> +	select BR2_PACKAGE_LIBAIO
> +	select BR2_PACKAGE_LIBGLIB2
> +	select BR2_PACKAGE_NCURSES
> +	select BR2_PACKAGE_OPENSSL
> +	select BR2_PACKAGE_PIXMAN
> +	select BR2_PACKAGE_UTIL_LINUX
> +	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
> +	select BR2_PACKAGE_YAJL

Are all these dependencies needed when you don't install the Xen tools?

> +	help
> +	  This builds the Xen hypervisor and toolstack
> +
> +	  http://www.xenproject.org/
> +
> +if BR2_PACKAGE_XEN
> +
> +config BR2_PACKAGE_XEN_HYPERVISOR
> +	bool "Build the Xen hypervisor"
> +
> +config BR2_PACKAGE_XEN_TOOLS
> +	bool "Build the Xen tools"
> +endif

Empty newline missing after "endif".

Also, if neither the hypervisor nor the tools are enabled, what gets
built? Nothing? If so, maybe you want:

	select BR2_PACKAGE_XEN_HYPERVISOR if !BR2_PACKAGE_XEN_TOOLS

in the top-level option.

> diff --git a/package/xen/xen.mk b/package/xen/xen.mk
> new file mode 100644
> index 000000000000..fee9fdc12cdf
> --- /dev/null
> +++ b/package/xen/xen.mk
> @@ -0,0 +1,49 @@
> +################################################################################
> +#
> +# Xen
> +#
> +################################################################################
> +
> +XEN_VERSION = 4.5.0
> +XEN_SITE = http://bits.xensource.com/oss-xen/release/$(XEN_VERSION)

Missing LICENSE + LICENSE_FILES.

> +XEN_INSTALL_IMAGES = YES
> +
> +XEN_DEPENDENCIES += dtc libaio libglib2 ncurses openssl pixman util-linux yajl
> +
> +XEN_MAKE_ENV = \
> +	XEN_TARGET_ARCH=arm32 \

Hard-coded arm32 doesn't seem right.

> +	CROSS_COMPILE=$(TARGET_CROSS) \
> +	CXXFLAGS="$(TARGET_CXXFLAGS) -D_FILE_OFFSET_BITS=64" \
> +	CFLAGS="$(TARGET_CFLAGS) -D_FILE_OFFSET_BITS=64" \

Why do you pass -D_FILE_OFFSET_BITS=64 ? It is already in
TARGET_CFLAGS / TARGET_CXXFLAGS.

> +	PKG_CONFIG=$(PKG_CONFIG_HOST_BINARY)
> +
> +XEN_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR)

This seems weird, you're losing the "install" target.

> +
> +ifeq ($(BR2_PACKAGE_XEN_HYPERVISOR),y)
> +XEN_MAKE_OPTS += dist-xen
> +
> +define XEN_INSTALL_IMAGES_CMDS
> +	cp $(@D)/xen/xen $(BINARIES_DIR)
> +endef
> +else
> +XEN_CONF_OPTS += --disable-xen
> +endif
> +
> +XEN_CONF_OPTS += --disable-ocamltools

We generally put the common options towards the top of the file, before
all the conditional stuff. And the += is unneeded then, it can be just
a '='.

> +ifeq ($(BR2_PACKAGE_XEN_TOOLS),y)
> +XEN_MAKE_OPTS += dist-tools
> +XEN_INSTALL_TARGET_OPTS += install-tools

Ah, so here it comes. So maybe instead you want to do
XEN_INSTALL_TARGET = NO by default, and do XEN_INSTALL_TARGET_OPTS =
DESTDIR=$(TARGET_DIR) install-tools when BR2_PACKAGE_XEN_TOOLS=y.

> +define XEN_RENAME_INIT_SCRIPTS
> +	mv $(TARGET_DIR)/etc/init.d/xencommons $(TARGET_DIR)/etc/init.d/S50xencommons
> +	mv $(TARGET_DIR)/etc/init.d/xen-watchdog $(TARGET_DIR)/etc/init.d/S50xen-watchdog
> +	mv $(TARGET_DIR)/etc/init.d/xendomains $(TARGET_DIR)/etc/init.d/S60xendomains

Don't know if it's better or not:

	(cd $(TARGET_DIR)/etc/init.d; \
		mv xencommons S50xencommons; \
		mv ... ; \
		mv ...)

> +endef
> +else
> +XEN_CONF_OPTS += --disable-tools
> +endif
> +
> +XEN_POST_INSTALL_TARGET_HOOKS += XEN_RENAME_INIT_SCRIPTS

Should be part of the ifeq BR2_PACKAGE_XEN_TOOLS=y.

Also, here it doesn't build, because it cannot find libyajl due to the
following failure:

configure:8342: /home/thomas/projets/buildroot/output/host/usr/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64   -Os   -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FI
LE_OFFSET_BITS=64     conftest.c -lyajl  -lcrypto -laio  -lutil >&5
/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libcrypto.so: warning: gethostbyname is obsolescent, use getnameinfo() instead.
/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libyajl.so: undefined reference to `__isnan'
/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libyajl.so: undefined reference to `__isinf'

You need to change:

AC_CHECK_LIB([yajl], [yajl_alloc], [],
    [AC_MSG_ERROR([Could not find yajl])])

to:

AC_CHECK_LIB([yajl], [yajl_alloc], [],
    [AC_MSG_ERROR([Could not find yajl])], [m])

So that it links with the math library. I used the following defconfig
to produce the problem:

BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2015.05.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_NGINX=y
BR2_PACKAGE_XEN=y
BR2_PACKAGE_XEN_HYPERVISOR=y
BR2_PACKAGE_XEN_TOOLS=y
# BR2_TARGET_ROOTFS_TAR is not set

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 2/2] xen: new package
  2015-06-29 10:12   ` Thomas Petazzoni
@ 2015-07-02  9:43     ` Maxime Ripard
  2015-07-02 10:00       ` Thomas Petazzoni
       [not found]     ` <1435573321.32500.248.camel@hellion.org.uk>
  1 sibling, 1 reply; 9+ messages in thread
From: Maxime Ripard @ 2015-07-02  9:43 UTC (permalink / raw)
  To: buildroot

Hi,

On Mon, Jun 29, 2015 at 12:12:02PM +0200, Thomas Petazzoni wrote:
> > diff --git a/package/xen/0001-xencommons-create-log-directory-before-using-it.patch b/package/xen/0001-xencommons-create-log-directory-before-using-it.patch
> > new file mode 100644
> > index 000000000000..365cdc5b5a9b
> > --- /dev/null
> > +++ b/package/xen/0001-xencommons-create-log-directory-before-using-it.patch
> > @@ -0,0 +1,31 @@
> > +From a7d1fde9a14ca0cf9c3f7c7950a6f9ea89ff58a6 Mon Sep 17 00:00:00 2001
> > +From: Maxime Ripard <maxime.ripard@free-electrons.com>
> > +Date: Thu, 25 Jun 2015 15:47:42 +0200
> > +Subject: [PATCH] xencommons: create log directory before using it
> > +
> > +In the case where /var/log is volatile, for example when using a tmpfs, the
> > +/var/log/xen directory will not be found on the system, and every attempt
> > +to log something to one of the files in that directory will fail.
> > +
> > +Create it in the xencommons init script
> > +
> > +Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > +---
> > + tools/hotplug/Linux/init.d/xencommons.in | 1 +
> > + 1 file changed, 1 insertion(+)
> > +
> > +diff --git a/tools/hotplug/Linux/init.d/xencommons.in b/tools/hotplug/Linux/init.d/xencommons.in
> > +index a1095c29ce0f..89210a02120a 100644
> > +--- a/tools/hotplug/Linux/init.d/xencommons.in
> > ++++ b/tools/hotplug/Linux/init.d/xencommons.in
> > +@@ -61,6 +61,7 @@ do_start () {
> > + 
> > + 	mkdir -p ${XEN_RUN_DIR}
> > + 	mkdir -p ${XEN_LOCK_DIR}
> > ++	mkdir -p /var/log/xen
> > + 
> > + 	if ! `${BINDIR}/xenstore-read -s / >/dev/null 2>&1`
> > + 	then
> > +-- 
> > +2.4.3
> > +
> 
> Has this patch been submitted upstream?

Not yet.

> 
> > diff --git a/package/xen/Config.in b/package/xen/Config.in
> > new file mode 100644
> > index 000000000000..33eb11c50a8e
> > --- /dev/null
> > +++ b/package/xen/Config.in
> > @@ -0,0 +1,30 @@
> > +config BR2_PACKAGE_XEN
> > +	bool "xen"
> > +	depends on BR2_arm || BR2_arm64 || \
> > +		BR2_i386 || BR2_x86_64
> > +	depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS
> > +	depends on !BR2_STATIC_LIBS # dtc (libfdt)
> > +	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
> > +	depends on BR2_USE_WCHAR # libglib2, util-linux
> 
> You need a comment to match these 'depends on' toolchain features.

Ack.

> > +	select BR2_PACKAGE_DTC
> > +	select BR2_PACKAGE_LIBAIO
> > +	select BR2_PACKAGE_LIBGLIB2
> > +	select BR2_PACKAGE_NCURSES
> > +	select BR2_PACKAGE_OPENSSL
> > +	select BR2_PACKAGE_PIXMAN
> > +	select BR2_PACKAGE_UTIL_LINUX
> > +	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
> > +	select BR2_PACKAGE_YAJL
> 
> Are all these dependencies needed when you don't install the Xen tools?

Probably not, the hypervisor is completely standalone, so I don't
think it would require any of these.

BTW, I just found out that I left something out of this patch. The
initscripts are using some bashism that don't work with busybox'
ash. What's the way Buildroot deal with this usually? Add a dependency
on bash?

> > +	help
> > +	  This builds the Xen hypervisor and toolstack
> > +
> > +	  http://www.xenproject.org/
> > +
> > +if BR2_PACKAGE_XEN
> > +
> > +config BR2_PACKAGE_XEN_HYPERVISOR
> > +	bool "Build the Xen hypervisor"
> > +
> > +config BR2_PACKAGE_XEN_TOOLS
> > +	bool "Build the Xen tools"
> > +endif
> 
> Empty newline missing after "endif".
>
> Also, if neither the hypervisor nor the tools are enabled, what gets
> built? Nothing? If so, maybe you want:
> 
> 	select BR2_PACKAGE_XEN_HYPERVISOR if !BR2_PACKAGE_XEN_TOOLS
> 
> in the top-level option.

I think it would make more sense to have the tools built by default,
which would reverse the select statement I guess?

> 
> > diff --git a/package/xen/xen.mk b/package/xen/xen.mk
> > new file mode 100644
> > index 000000000000..fee9fdc12cdf
> > --- /dev/null
> > +++ b/package/xen/xen.mk
> > @@ -0,0 +1,49 @@
> > +################################################################################
> > +#
> > +# Xen
> > +#
> > +################################################################################
> > +
> > +XEN_VERSION = 4.5.0
> > +XEN_SITE = http://bits.xensource.com/oss-xen/release/$(XEN_VERSION)
> 
> Missing LICENSE + LICENSE_FILES.

Ah, right.

It uses the GPL as its license, with some 2c and 3c BSD
exceptions. How is that usually dealt with ?

Using 
LICENSE = GPLv2 with exceptions

Or making an exhaustive list of the licenses used?

> 
> > +XEN_INSTALL_IMAGES = YES
> > +
> > +XEN_DEPENDENCIES += dtc libaio libglib2 ncurses openssl pixman util-linux yajl
> > +
> > +XEN_MAKE_ENV = \
> > +	XEN_TARGET_ARCH=arm32 \
> 
> Hard-coded arm32 doesn't seem right.

No it's not.

> > +	CROSS_COMPILE=$(TARGET_CROSS) \
> > +	CXXFLAGS="$(TARGET_CXXFLAGS) -D_FILE_OFFSET_BITS=64" \
> > +	CFLAGS="$(TARGET_CFLAGS) -D_FILE_OFFSET_BITS=64" \
> 
> Why do you pass -D_FILE_OFFSET_BITS=64 ? It is already in
> TARGET_CFLAGS / TARGET_CXXFLAGS.

It was required during the make invocation, while Buildroot only
passes it during the configure.

> > +	PKG_CONFIG=$(PKG_CONFIG_HOST_BINARY)
> > +
> > +XEN_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR)
> 
> This seems weird, you're losing the "install" target.

It's actually on purpose. Xen has a specific install target for the
tools (install-target), that is added a bit later when compiling the
tools.

> > +
> > +ifeq ($(BR2_PACKAGE_XEN_HYPERVISOR),y)
> > +XEN_MAKE_OPTS += dist-xen
> > +
> > +define XEN_INSTALL_IMAGES_CMDS
> > +	cp $(@D)/xen/xen $(BINARIES_DIR)
> > +endef
> > +else
> > +XEN_CONF_OPTS += --disable-xen
> > +endif
> > +
> > +XEN_CONF_OPTS += --disable-ocamltools
> 
> We generally put the common options towards the top of the file, before
> all the conditional stuff. And the += is unneeded then, it can be just
> a '='.

Ok.

> 
> > +ifeq ($(BR2_PACKAGE_XEN_TOOLS),y)
> > +XEN_MAKE_OPTS += dist-tools
> > +XEN_INSTALL_TARGET_OPTS += install-tools
> 
> Ah, so here it comes. So maybe instead you want to do
> XEN_INSTALL_TARGET = NO by default, and do XEN_INSTALL_TARGET_OPTS =
> DESTDIR=$(TARGET_DIR) install-tools when BR2_PACKAGE_XEN_TOOLS=y.

Now I see that I forgot that as well, but the hypervisor can be
installed in /boot using install-xen.

Maybe I could just add a new option to ask whether we want to install
it to /boot, and add install-xen to INSTALL_TARGET_OPTS if relevant.

> > +define XEN_RENAME_INIT_SCRIPTS
> > +	mv $(TARGET_DIR)/etc/init.d/xencommons $(TARGET_DIR)/etc/init.d/S50xencommons
> > +	mv $(TARGET_DIR)/etc/init.d/xen-watchdog $(TARGET_DIR)/etc/init.d/S50xen-watchdog
> > +	mv $(TARGET_DIR)/etc/init.d/xendomains $(TARGET_DIR)/etc/init.d/S60xendomains
> 
> Don't know if it's better or not:
> 
> 	(cd $(TARGET_DIR)/etc/init.d; \
> 		mv xencommons S50xencommons; \
> 		mv ... ; \
> 		mv ...)

I don't really have a preference. I'll change this if you want.

> > +endef
> > +else
> > +XEN_CONF_OPTS += --disable-tools
> > +endif
> > +
> > +XEN_POST_INSTALL_TARGET_HOOKS += XEN_RENAME_INIT_SCRIPTS
> 
> Should be part of the ifeq BR2_PACKAGE_XEN_TOOLS=y.

Is it? My understanding was that the macro wouldn't be defined and it
would call an empty one in such a case?

> Also, here it doesn't build, because it cannot find libyajl due to the
> following failure:
> 
> configure:8342: /home/thomas/projets/buildroot/output/host/usr/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64   -Os   -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FI
> LE_OFFSET_BITS=64     conftest.c -lyajl  -lcrypto -laio  -lutil >&5
> /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libcrypto.so: warning: gethostbyname is obsolescent, use getnameinfo() instead.
> /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libyajl.so: undefined reference to `__isnan'
> /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libyajl.so: undefined reference to `__isinf'
> 
> You need to change:
> 
> AC_CHECK_LIB([yajl], [yajl_alloc], [],
>     [AC_MSG_ERROR([Could not find yajl])])
> 
> to:
> 
> AC_CHECK_LIB([yajl], [yajl_alloc], [],
>     [AC_MSG_ERROR([Could not find yajl])], [m])

Ack.

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150702/c0adb888/attachment.asc>

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

* [Buildroot] [PATCH 2/2] xen: new package
       [not found]     ` <1435573321.32500.248.camel@hellion.org.uk>
@ 2015-07-02  9:49       ` Maxime Ripard
  0 siblings, 0 replies; 9+ messages in thread
From: Maxime Ripard @ 2015-07-02  9:49 UTC (permalink / raw)
  To: buildroot

On Mon, Jun 29, 2015 at 11:22:01AM +0100, Ian Campbell wrote:
> > > +++ b/package/xen/0001-xencommons-create-log-directory-before-using-it.patch
> > > @@ -0,0 +1,31 @@
> > > +From a7d1fde9a14ca0cf9c3f7c7950a6f9ea89ff58a6 Mon Sep 17 00:00:00 2001
> > > +From: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > +Date: Thu, 25 Jun 2015 15:47:42 +0200
> > > +Subject: [PATCH] xencommons: create log directory before using it
> > > +
> > > +In the case where /var/log is volatile, for example when using a tmpfs, the
> > > +/var/log/xen directory will not be found on the system, and every attempt
> > > +to log something to one of the files in that directory will fail.
> > > +
> > > +Create it in the xencommons init script
> > > +
> > > +Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > +---
> > > + tools/hotplug/Linux/init.d/xencommons.in | 1 +
> > > + 1 file changed, 1 insertion(+)
> > > +
> > > +diff --git a/tools/hotplug/Linux/init.d/xencommons.in b/tools/hotplug/Linux/init.d/xencommons.in
> > > +index a1095c29ce0f..89210a02120a 100644
> > > +--- a/tools/hotplug/Linux/init.d/xencommons.in
> > > ++++ b/tools/hotplug/Linux/init.d/xencommons.in
> > > +@@ -61,6 +61,7 @@ do_start () {
> > > + 
> > > + 	mkdir -p ${XEN_RUN_DIR}
> > > + 	mkdir -p ${XEN_LOCK_DIR}
> > > ++	mkdir -p /var/log/xen
> > > + 
> > > + 	if ! `${BINDIR}/xenstore-read -s / >/dev/null 2>&1`
> > > + 	then
> > > +-- 
> > > +2.4.3
> > > +
> > 
> > Has this patch been submitted upstream?
> 
> It would be great if it could be, ideally it should use ${XEN_LOG_DIR},
> which would involve adding it to Config.mk:BUILD_MAKE_VARS such that it
> will appear in hotplugpath.sh (which is included by xencommons.in at
> runtime).
> 
> You might also want to create ${XEN_LOG_DIR}/console to support folks
> enabling guest console logging too.

Ok, I'll change that and submit the patches.

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150702/8a62b82b/attachment.asc>

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

* [Buildroot] [PATCH 2/2] xen: new package
  2015-07-02  9:43     ` Maxime Ripard
@ 2015-07-02 10:00       ` Thomas Petazzoni
  0 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2015-07-02 10:00 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 2 Jul 2015 11:43:08 +0200, Maxime Ripard wrote:

> > > +	select BR2_PACKAGE_DTC
> > > +	select BR2_PACKAGE_LIBAIO
> > > +	select BR2_PACKAGE_LIBGLIB2
> > > +	select BR2_PACKAGE_NCURSES
> > > +	select BR2_PACKAGE_OPENSSL
> > > +	select BR2_PACKAGE_PIXMAN
> > > +	select BR2_PACKAGE_UTIL_LINUX
> > > +	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
> > > +	select BR2_PACKAGE_YAJL
> > 
> > Are all these dependencies needed when you don't install the Xen tools?
> 
> Probably not, the hypervisor is completely standalone, so I don't
> think it would require any of these.

Ok, so all those select can be moved to the "tools" option, then.

Also, and maybe this is something Ian could clarify: do we really need
pixman or ncurses when you just want to start text-only Xen VMs ?

> BTW, I just found out that I left something out of this patch. The
> initscripts are using some bashism that don't work with busybox'
> ash. What's the way Buildroot deal with this usually? Add a dependency
> on bash?

We generally prefer to have the scripts fixed so that they don't use
bashisms. If that's not doable, then selecting bash is a possibility
(but don't add it to XEN_DEPENDENCIES, since it's a runtime dependency
only). Of course, make sure the scripts use bash explicitly in their
shebang, because you're not guaranteed that bash will be the default
shell.

> > Also, if neither the hypervisor nor the tools are enabled, what gets
> > built? Nothing? If so, maybe you want:
> > 
> > 	select BR2_PACKAGE_XEN_HYPERVISOR if !BR2_PACKAGE_XEN_TOOLS
> > 
> > in the top-level option.
> 
> I think it would make more sense to have the tools built by default,
> which would reverse the select statement I guess?

Correct.


> > Missing LICENSE + LICENSE_FILES.
> 
> Ah, right.
> 
> It uses the GPL as its license, with some 2c and 3c BSD
> exceptions. How is that usually dealt with ?
> 
> Using 
> LICENSE = GPLv2 with exceptions
> 
> Or making an exhaustive list of the licenses used?

GPLv2 with expections means "the license is the text of the GPLv2 to
which some additional clauses/wording has been added". Which is not
really what you have IIUC.

Maybe:

LICENSE = GPLv2, BSD-2c, BSD-3c

or better (if doable):

LICENSE = GPLv2 (this), BSD-2c (that), BSD-3c (this other thing)

> > > +	CROSS_COMPILE=$(TARGET_CROSS) \
> > > +	CXXFLAGS="$(TARGET_CXXFLAGS) -D_FILE_OFFSET_BITS=64" \
> > > +	CFLAGS="$(TARGET_CFLAGS) -D_FILE_OFFSET_BITS=64" \
> > 
> > Why do you pass -D_FILE_OFFSET_BITS=64 ? It is already in
> > TARGET_CFLAGS / TARGET_CXXFLAGS.
> 
> It was required during the make invocation, while Buildroot only
> passes it during the configure.

Alright. Xen's build system could use some improvement, but I guess
that outside of the scope of Buildroot packaging :-)

> > > +	PKG_CONFIG=$(PKG_CONFIG_HOST_BINARY)
> > > +
> > > +XEN_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR)
> > 
> > This seems weird, you're losing the "install" target.
> 
> It's actually on purpose. Xen has a specific install target for the
> tools (install-target), that is added a bit later when compiling the
> tools.

Then why not do it just in one go, since you're using install-tools
only?

Like:

XEN_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-tools

Or maybe it's because you don't want "make install" to be called when
only the hypervisor is enabled. In this case, just do
XEN_INSTALL_TARGET = NO.

ifeq ($(...hypervisor...),y)
XEN_INSTALL_IMAGES = YES
XEN_INSTALL_TARGET = NO
...
else ifeq ($(...tools...),y)
XEN_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-tools
...
endif

> > Ah, so here it comes. So maybe instead you want to do
> > XEN_INSTALL_TARGET = NO by default, and do XEN_INSTALL_TARGET_OPTS =
> > DESTDIR=$(TARGET_DIR) install-tools when BR2_PACKAGE_XEN_TOOLS=y.
> 
> Now I see that I forgot that as well, but the hypervisor can be
> installed in /boot using install-xen.
> 
> Maybe I could just add a new option to ask whether we want to install
> it to /boot, and add install-xen to INSTALL_TARGET_OPTS if relevant.

Right. So you would have to change the above proposal, though :)

> > > +define XEN_RENAME_INIT_SCRIPTS
> > > +	mv $(TARGET_DIR)/etc/init.d/xencommons $(TARGET_DIR)/etc/init.d/S50xencommons
> > > +	mv $(TARGET_DIR)/etc/init.d/xen-watchdog $(TARGET_DIR)/etc/init.d/S50xen-watchdog
> > > +	mv $(TARGET_DIR)/etc/init.d/xendomains $(TARGET_DIR)/etc/init.d/S60xendomains
> > 
> > Don't know if it's better or not:
> > 
> > 	(cd $(TARGET_DIR)/etc/init.d; \
> > 		mv xencommons S50xencommons; \
> > 		mv ... ; \
> > 		mv ...)
> 
> I don't really have a preference. I'll change this if you want.

Maybe your proposal is simpler. You can keep it as is.

> 
> > > +endef
> > > +else
> > > +XEN_CONF_OPTS += --disable-tools
> > > +endif
> > > +
> > > +XEN_POST_INSTALL_TARGET_HOOKS += XEN_RENAME_INIT_SCRIPTS
> > 
> > Should be part of the ifeq BR2_PACKAGE_XEN_TOOLS=y.
> 
> Is it? My understanding was that the macro wouldn't be defined and it
> would call an empty one in such a case?

Correct: it works fine. But we generally prefer to register the hook
only when needed.

> > You need to change:
> > 
> > AC_CHECK_LIB([yajl], [yajl_alloc], [],
> >     [AC_MSG_ERROR([Could not find yajl])])
> > 
> > to:
> > 
> > AC_CHECK_LIB([yajl], [yajl_alloc], [],
> >     [AC_MSG_ERROR([Could not find yajl])], [m])
> 
> Ack.

Note that I haven't tested this change, it was purely based on a quick
reading of Xen's configure.ac.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 2/2] xen: new package
  2015-06-25 14:04 ` [Buildroot] [PATCH 2/2] xen: new package Maxime Ripard
  2015-06-29 10:12   ` Thomas Petazzoni
@ 2015-10-04 17:00   ` Arnout Vandecappelle
  1 sibling, 0 replies; 9+ messages in thread
From: Arnout Vandecappelle @ 2015-10-04 17:00 UTC (permalink / raw)
  To: buildroot

On 25-06-15 15:04, Maxime Ripard wrote:
> This package allows to compile both the Xen hypervisor image, and the Xen
> tool stack intended to be used in the priviledged guest (aka dom0).
> 
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>

 Hi Maxime,

 There were some comments that still need to be addressed so I've marked this
patch as Changes Requested in patchwork. Please resubmit when you're ready.

 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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

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

end of thread, other threads:[~2015-10-04 17:00 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-25 14:04 [Buildroot] [PATCH 1/2] libaio: introduce a BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS option Maxime Ripard
2015-06-25 14:04 ` [Buildroot] [PATCH 2/2] xen: new package Maxime Ripard
2015-06-29 10:12   ` Thomas Petazzoni
2015-07-02  9:43     ` Maxime Ripard
2015-07-02 10:00       ` Thomas Petazzoni
     [not found]     ` <1435573321.32500.248.camel@hellion.org.uk>
2015-07-02  9:49       ` Maxime Ripard
2015-10-04 17:00   ` Arnout Vandecappelle
2015-06-25 15:05 ` [Buildroot] [PATCH 1/2] libaio: introduce a BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS option Thomas Petazzoni
2015-06-28 13:27 ` Thomas Petazzoni

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