All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 01/36] system/init: add option for no init system
@ 2012-08-12 23:53 Yann E. MORIN
  2012-08-12 23:53 ` [Buildroot] [PATCH 02/36] package/sdl: add symlink to sdl-config Yann E. MORIN
                   ` (35 more replies)
  0 siblings, 36 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:53 UTC (permalink / raw)
  To: buildroot

Can be usefull if a local package provides an init procedure.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 target/generic/Config.in |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/target/generic/Config.in b/target/generic/Config.in
index a83ba44..b8472f4 100644
--- a/target/generic/Config.in
+++ b/target/generic/Config.in
@@ -64,6 +64,9 @@ comment 'systemd requires largefile, wchar, IPv6, threads and udev support'
 		     BR2_INET_IPV6 && BR2_TOOLCHAIN_HAS_THREADS && \
 		     BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV)
 
+config BR2_INIT_NONE
+	bool "None"
+
 endchoice
 
 config BR2_ROOTFS_DEVICE_TABLE
-- 
1.7.2.5

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

* [Buildroot] [PATCH 02/36] package/sdl: add symlink to sdl-config
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
@ 2012-08-12 23:53 ` Yann E. MORIN
  2012-08-13 10:57   ` Thomas Petazzoni
  2012-08-12 23:53 ` [Buildroot] [PATCH 03/36] package/libfdt: new package Yann E. MORIN
                   ` (34 subsequent siblings)
  35 siblings, 1 reply; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:53 UTC (permalink / raw)
  To: buildroot

SDL installs a script-based sdl-config in the sysroot, but some
packages (eg. QEMU) needs it to be either:
  - prefixed with the cross-prefix
  - in the PATH

So, as sdl-config is a script, and although it is installed in
the sysroot, it can be run on the host.

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

diff --git a/package/sdl/sdl.mk b/package/sdl/sdl.mk
index 139312f..c499562 100644
--- a/package/sdl/sdl.mk
+++ b/package/sdl/sdl.mk
@@ -66,6 +66,8 @@ define SDL_FIXUP_SDL_CONFIG
 		$(STAGING_DIR)/usr/bin/sdl-config
 	$(SED) 's%-Wl,-rpath,\$${libdir}%%' \
 		$(STAGING_DIR)/usr/bin/sdl-config
+	$(HOSTLN) -s $(STAGING_DIR)/usr/bin/sdl-config \
+	             $(HOST_DIR)/usr/bin/sdl-config
 endef
 
 SDL_POST_INSTALL_STAGING_HOOKS+=SDL_FIXUP_SDL_CONFIG
-- 
1.7.2.5

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

* [Buildroot] [PATCH 03/36] package/libfdt: new package
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
  2012-08-12 23:53 ` [Buildroot] [PATCH 02/36] package/sdl: add symlink to sdl-config Yann E. MORIN
@ 2012-08-12 23:53 ` Yann E. MORIN
  2012-08-14 13:23   ` Thomas Petazzoni
  2012-08-12 23:53 ` [Buildroot] [PATCH 04/36] package/vde2: " Yann E. MORIN
                   ` (33 subsequent siblings)
  35 siblings, 1 reply; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:53 UTC (permalink / raw)
  To: buildroot

libfdt allows one to manipulate a Flat Device Tree.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in                                  |    1 +
 package/libfdt/Config.in                           |    6 ++
 .../libfdt/libfdt-install-missing-headers.patch    |   22 ++++++++
 package/libfdt/libfdt-separate-lib-install.patch   |   22 ++++++++
 package/libfdt/libfdt.mk                           |   56 ++++++++++++++++++++
 5 files changed, 107 insertions(+), 0 deletions(-)
 create mode 100644 package/libfdt/Config.in
 create mode 100644 package/libfdt/libfdt-install-missing-headers.patch
 create mode 100644 package/libfdt/libfdt-separate-lib-install.patch
 create mode 100644 package/libfdt/libfdt.mk

diff --git a/package/Config.in b/package/Config.in
index f308de7..f139e29 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -375,6 +375,7 @@ source "package/libaio/Config.in"
 source "package/libraw1394/Config.in"
 source "package/tslib/Config.in"
 source "package/libfreefare/Config.in"
+source "package/libfdt/Config.in"
 source "package/libftdi/Config.in"
 source "package/libhid/Config.in"
 source "package/libiqrf/Config.in"
diff --git a/package/libfdt/Config.in b/package/libfdt/Config.in
new file mode 100644
index 0000000..fe215b3
--- /dev/null
+++ b/package/libfdt/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_LIBFDT
+	bool "libfdt"
+	help
+	  libfdt if a library to manipulate Flat Device Trees.
+	  
+	  http://git.jdl.com/gitweb/?p=dtc.git  (no home page)
diff --git a/package/libfdt/libfdt-install-missing-headers.patch b/package/libfdt/libfdt-install-missing-headers.patch
new file mode 100644
index 0000000..b15d376
--- /dev/null
+++ b/package/libfdt/libfdt-install-missing-headers.patch
@@ -0,0 +1,22 @@
+libfdt: install missing header
+
+Previously, only two headers were installed: libfdt.h and fdt.h.
+But libfdt.h also #includes libfdt_env.h, which was not installed.
+
+Install this missing header too.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff --git a/libfdt/Makefile.libfdt b/libfdt/Makefile.libfdt
+index d55a6f8..94c1e35 100644
+--- a/libfdt/Makefile.libfdt
++++ b/libfdt/Makefile.libfdt
+@@ -4,7 +4,7 @@
+ # be easily embeddable into other systems of Makefiles.
+ #
+ LIBFDT_soname = libfdt.$(SHAREDLIB_EXT).1
+-LIBFDT_INCLUDES = fdt.h libfdt.h
++LIBFDT_INCLUDES = fdt.h libfdt.h libfdt_env.h
+ LIBFDT_VERSION = version.lds
+ LIBFDT_SRCS = fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c
+ LIBFDT_OBJS = $(LIBFDT_SRCS:%.c=%.o)
diff --git a/package/libfdt/libfdt-separate-lib-install.patch b/package/libfdt/libfdt-separate-lib-install.patch
new file mode 100644
index 0000000..5a0157d
--- /dev/null
+++ b/package/libfdt/libfdt-separate-lib-install.patch
@@ -0,0 +1,22 @@
+Makefile: add a rule to only install libfdt
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff --git a/Makefile b/Makefile
+index 1169e6c..39e7190 100644
+--- a/Makefile
++++ b/Makefile
+@@ -156,10 +156,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/libfdt/libfdt.mk b/package/libfdt/libfdt.mk
new file mode 100644
index 0000000..6824576
--- /dev/null
+++ b/package/libfdt/libfdt.mk
@@ -0,0 +1,56 @@
+#-----------------------------------------------------------------------------
+# Package description
+
+LIBFDT_VERSION         = v1.3.0
+LIBFDT_SITE            = git://git.jdl.com/software/dtc.git
+LIBFDT_LICENSE         = GPLv2+/BSD-2c
+LIBFDT_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 (yet?).
+LIBFDT_INSTALL_STAGING = YES
+
+#----------------------------------------------------------------------------
+# Package build process
+
+define LIBFDT_BUILD_CMDS
+	$(MAKE) -C $(@D) CC="$(TARGET_CC)" \
+	                 AR="$(TARGET_AR)" \
+	                 PREFIX=/usr       \
+	                 libfdt
+endef
+
+#?libfdt_install is our own install rule added by our patch
+define LIBFDT_INSTALL_STAGING_CMDS
+	$(MAKE) CC="$(TARGET_CC)" AR="$(TARGET_AR)" -C $(@D) \
+	        DESTDIR=$(STAGING_DIR) PREFIX=/usr           \
+	        libfdt_install
+endef
+
+# libfdt does not have any uninstall rule
+define LIBFDT_UNINSTALL_STAGING_CMDS
+	rm -f $(STAGING_DIR)/usr/lib/libfdt.a
+	rm -f $(STAGING_DIR)/usr/lib/libfdt*.so*
+	rm -f $(STAGING_DIR)/usr/include/libfdt*.h
+	rm -f $(STAGING_DIR)/usr/include/fdt.h
+endef
+
+# Usually, mode 0644 is enough for libraries (shared or static), but the
+# buildroot documentation dsays 0755, so be dumb and follow the docs. ;-p
+# And on target, we only require the SONAME-named library, not all the
+# symlinks, but:
+#   - libfdt's Makefile does not offer such a rule,
+#   - other buildroot packages do install lib symlinks,
+# so do as all others do.
+define LIBFDT_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 0755 $(@D)/libfdt/libfdt*.so* $(TARGET_DIR)/usr/lib
+endef
+
+define LIBFDT_UNINSTALL_TARGET_CMDS
+	rm -f $(TARGET_DIR)/usr/lib/libfdt*.so*
+endef
+
+define LIBFDT_CLEAN_CMDS
+	$(MAKE) -C $(@D) libfdt_clean
+endef
+
+$(eval $(generic-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 04/36] package/vde2: new package
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
  2012-08-12 23:53 ` [Buildroot] [PATCH 02/36] package/sdl: add symlink to sdl-config Yann E. MORIN
  2012-08-12 23:53 ` [Buildroot] [PATCH 03/36] package/libfdt: new package Yann E. MORIN
@ 2012-08-12 23:53 ` Yann E. MORIN
  2012-08-14 13:24   ` Thomas Petazzoni
  2012-08-12 23:53 ` [Buildroot] [PATCH 05/36] package/libiscsi: " Yann E. MORIN
                   ` (32 subsequent siblings)
  35 siblings, 1 reply; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:53 UTC (permalink / raw)
  To: buildroot

VDE is an ethernet compliant virtual network that can be
spawned over a set of physical computer over the Internet.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in      |    1 +
 package/vde2/Config.in |   10 +++++++++
 package/vde2/vde2.mk   |   51 ++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 62 insertions(+), 0 deletions(-)
 create mode 100644 package/vde2/Config.in
 create mode 100644 package/vde2/vde2.mk

diff --git a/package/Config.in b/package/Config.in
index f139e29..3b581a2 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -611,6 +611,7 @@ source "package/transmission/Config.in"
 source "package/ttcp/Config.in"
 source "package/udpcast/Config.in"
 source "package/ushare/Config.in"
+source "package/vde2/Config.in"
 source "package/vpnc/Config.in"
 source "package/vsftpd/Config.in"
 source "package/vtun/Config.in"
diff --git a/package/vde2/Config.in b/package/vde2/Config.in
new file mode 100644
index 0000000..1591bc4
--- /dev/null
+++ b/package/vde2/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_VDE2
+	bool "vde2"
+	help
+	  VDE is an ethernet compliant virtual network that can be
+	  spawned over a set of physical computer over the Internet.
+	  VDE is part of virtualsquare project.
+	  
+	  http://vde.sourceforge.net/
+	  
+	  Note: only the libraries are installed.
diff --git a/package/vde2/vde2.mk b/package/vde2/vde2.mk
new file mode 100644
index 0000000..404c85d
--- /dev/null
+++ b/package/vde2/vde2.mk
@@ -0,0 +1,51 @@
+#-----------------------------------------------------------------------------
+# Package description
+
+VDE2_VERSION         = 2.3.2
+VDE2_SOURCE          = vde2-$(VDE2_VERSION).tar.bz2
+VDE2_SITE            = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/vde/vde2/$(VDE2_VERSION)
+VDE2_LICENSE         = LGPLv2.1+
+VDE2_LICENSE_FILES   = COPYING.libvdeplug
+#?Note: only the libs are LGPLv2.1+, binaries are not installed for now.
+VDE2_INSTALL_STAGING = YES
+
+#----------------------------------------------------------------------------
+# Package options
+
+# Reasons for enabling/disabling stuff:
+#?- tuntap is enabled in the hope we're using a recent-enough toolchain
+#   that does have if_tun.h (virtually everything these days)
+# - kvde_switch is disabled because it requires a patched kernel
+# - cryptcab is disabled to not depend on openSSL
+# - python is disabled to not depend on Python
+# - pcap is disabled to not depend on libpcap
+# - profiling is disabled because we do not want to debug/profile
+#
+# Note: disabled features can be added with corresponding dependencies
+#       in future commits.
+VDE2_CONF_OPT = --disable-experimental  \
+                --disable-cryptcab      \
+                --disable-pcap          \
+                --disable-python        \
+                --disable-profile       \
+                --disable-kernel-switch \
+                --enable-tuntap         \
+
+#----------------------------------------------------------------------------
+# Package build process
+
+#?Package does not build in parallel due to improper make rules
+VDE2_MAKE = $(MAKE1)
+
+# For now, we install only the libraries
+# Installing the complete VDE suite can come in a later patch
+#?In that case, do not forget to update the license!
+define VDE2_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 0755 $(STAGING_DIR)/usr/lib/libvde*.so*    \
+	                      $(TARGET_DIR)/usr/lib
+	$(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/lib/vde2/vde_l3
+	$(INSTALL) -D -m 0755 $(STAGING_DIR)/usr/lib/vde2/vde_l3/*.so   \
+	                      $(TARGET_DIR)/usr/lib/vde2/vde_l3
+endef
+
+$(eval $(autotools-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 05/36] package/libiscsi: new package
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (2 preceding siblings ...)
  2012-08-12 23:53 ` [Buildroot] [PATCH 04/36] package/vde2: " Yann E. MORIN
@ 2012-08-12 23:53 ` Yann E. MORIN
  2012-08-17 11:14   ` Thomas Petazzoni
  2012-08-12 23:53 ` [Buildroot] [PATCH 06/36] package/usbredir: " Yann E. MORIN
                   ` (31 subsequent siblings)
  35 siblings, 1 reply; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:53 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in            |    1 +
 package/libiscsi/Config.in   |   12 ++++++++++++
 package/libiscsi/libiscsi.mk |   23 +++++++++++++++++++++++
 3 files changed, 36 insertions(+), 0 deletions(-)
 create mode 100644 package/libiscsi/Config.in
 create mode 100644 package/libiscsi/libiscsi.mk

diff --git a/package/Config.in b/package/Config.in
index 3b581a2..ef411e3 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -417,6 +417,7 @@ source "package/libesmtp/Config.in"
 source "package/libeXosip2/Config.in"
 source "package/libfcgi/Config.in"
 source "package/libidn/Config.in"
+source "package/libiscsi/Config.in"
 source "package/liboauth/Config.in"
 source "package/libmicrohttpd/Config.in"
 source "package/neon/Config.in"
diff --git a/package/libiscsi/Config.in b/package/libiscsi/Config.in
new file mode 100644
index 0000000..f3fc29e
--- /dev/null
+++ b/package/libiscsi/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_LIBISCSI
+	bool "libiscsi"
+	select BR2_PACKAGE_POPT
+	help
+	  Libiscsi is a client-side library to implement the iSCSI protocol
+	  that can be used to access resource of an iSCSI Target.
+	  
+	  The library is fully async with regards to iscsi commands and scsi
+	  tasks, but a sync layer is also provided for ease of use for simpler
+	  applications.
+	  
+	  https://github.com/sahlberg/libiscsi  (no proper homepage)
diff --git a/package/libiscsi/libiscsi.mk b/package/libiscsi/libiscsi.mk
new file mode 100644
index 0000000..4e1fe1a
--- /dev/null
+++ b/package/libiscsi/libiscsi.mk
@@ -0,0 +1,23 @@
+#-----------------------------------------------------------------------------
+# Package description
+
+LIBISCSI_VERSION         = 1.5.0
+LIBISCSI_SITE            = git://github.com/sahlberg/libiscsi.git
+LIBISCSI_LICENSE         = LGPLv2.1+
+LIBISCSI_LICENSE_FILES   = COPYING LICENCE-LGPL-2.1.txt
+#?Note: the binaries are GPLv2+, but we do not use them
+LIBISCSI_INSTALL_STAGING = YES
+LIBISCSI_DEPENDENCIES    = popt
+
+#----------------------------------------------------------------------------
+# Package build process
+
+# As we use the git repository, we need to generate the configure script
+# Using the standard autoreconf does not work (missing m4/ dir)
+define LIBISCSI_CREATE_CONFIGURE
+	cd $(@D); ./autogen.sh
+endef
+LIBISCSI_PRE_CONFIGURE_HOOKS += LIBISCSI_CREATE_CONFIGURE
+LIBISCSI_DEPENDENCIES        += host-autoconf
+
+$(eval $(autotools-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 06/36] package/usbredir: new package
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (3 preceding siblings ...)
  2012-08-12 23:53 ` [Buildroot] [PATCH 05/36] package/libiscsi: " Yann E. MORIN
@ 2012-08-12 23:53 ` Yann E. MORIN
  2012-08-17 11:15   ` Thomas Petazzoni
  2012-08-12 23:53 ` [Buildroot] [PATCH 07/36] package/celt051: " Yann E. MORIN
                   ` (30 subsequent siblings)
  35 siblings, 1 reply; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:53 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in            |    1 +
 package/usbredir/Config.in   |   15 +++++++++++++++
 package/usbredir/usbredir.mk |   26 ++++++++++++++++++++++++++
 3 files changed, 42 insertions(+), 0 deletions(-)
 create mode 100644 package/usbredir/Config.in
 create mode 100644 package/usbredir/usbredir.mk

diff --git a/package/Config.in b/package/Config.in
index ef411e3..4264d48 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -438,6 +438,7 @@ source "package/libupnp/Config.in"
 source "package/libvncserver/Config.in"
 source "package/nss-mdns/Config.in"
 source "package/ortp/Config.in"
+source "package/usbredir/Config.in"
 source "package/zeromq/Config.in"
 endmenu
 
diff --git a/package/usbredir/Config.in b/package/usbredir/Config.in
new file mode 100644
index 0000000..5d9560a
--- /dev/null
+++ b/package/usbredir/Config.in
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_USBREDIR
+	bool "usbredir"
+	depends on BR2_PACKAGE_LIBUSB
+	help
+	  usbredir is the name of a network protocol for sending usb device
+	  traffic over a network connection. It is also the name of the
+	  software package offering a parsing library, a usbredirhost library
+	  and several utilities implementing this protocol.
+	  
+	  Note: currently, only the library is installed, not the utilities.
+	  
+	  http://www.spice-space.org/page/UsbRedir
+
+comment "usbredir requires libusb"
+	depends on !BR2_PACKAGE_LIBUSB
diff --git a/package/usbredir/usbredir.mk b/package/usbredir/usbredir.mk
new file mode 100644
index 0000000..a70a60b
--- /dev/null
+++ b/package/usbredir/usbredir.mk
@@ -0,0 +1,26 @@
+#-----------------------------------------------------------------------------
+# Package description
+
+USBREDIR_VERSION         = 0.4.3
+USBREDIR_SOURCE          = usbredir-$(USBREDIR_VERSION).tar.bz2
+USBREDIR_SITE            = http://spice-space.org/download/usbredir
+USBREDIR_LICENSE         = LGPLv2.1+
+USBREDIR_LICENSE_FILES   = COPYING.LIB
+# Note: the executables are GPLv2+, but we do not use them
+USBREDIR_INSTALL_STAGING = YES
+USBREDIR_DEPENDENCIES    = libusb
+
+#----------------------------------------------------------------------------
+# Package build process
+
+USBREDIR_DEPENDENCIES += host-pkg-config
+
+# It's much easier to remove unwanted files after-the-fact, rather than trying
+# to install only what we want. Sad-and-dull life, but life nonetheless...
+# Note: do not ofrget to update the license, above, if you keep the server.
+define USBREDIR_POST_INSTALL_TARGET_RM_SERVER
+	rm -f $(TARGET_DIR)/usr/sbin/usbredirserver
+endef
+USBREDIR_POST_INSTALL_TARGET_HOOKS += USBREDIR_POST_INSTALL_TARGET_RM_SERVER
+
+$(eval $(autotools-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 07/36] package/celt051: new package
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (4 preceding siblings ...)
  2012-08-12 23:53 ` [Buildroot] [PATCH 06/36] package/usbredir: " Yann E. MORIN
@ 2012-08-12 23:53 ` Yann E. MORIN
  2012-08-17 11:18   ` Thomas Petazzoni
  2012-08-12 23:53 ` [Buildroot] [PATCH 08/36] package/python-pyparsing: " Yann E. MORIN
                   ` (29 subsequent siblings)
  35 siblings, 1 reply; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:53 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/multimedia/Config.in         |    1 +
 package/multimedia/celt051/Config.in |   15 +++++++++++++++
 package/multimedia/celt051/celt.mk   |   26 ++++++++++++++++++++++++++
 3 files changed, 42 insertions(+), 0 deletions(-)
 create mode 100644 package/multimedia/celt051/Config.in
 create mode 100644 package/multimedia/celt051/celt.mk

diff --git a/package/multimedia/Config.in b/package/multimedia/Config.in
index afe4a23..b641b51 100644
--- a/package/multimedia/Config.in
+++ b/package/multimedia/Config.in
@@ -2,6 +2,7 @@ menu "Audio and video applications"
 source "package/multimedia/alsa-utils/Config.in"
 source "package/multimedia/aumix/Config.in"
 source "package/multimedia/bellagio/Config.in"
+source "package/multimedia/celt051/Config.in"
 source "package/multimedia/faad2/Config.in"
 source "package/multimedia/flac/Config.in"
 source "package/multimedia/ffmpeg/Config.in"
diff --git a/package/multimedia/celt051/Config.in b/package/multimedia/celt051/Config.in
new file mode 100644
index 0000000..50ed069
--- /dev/null
+++ b/package/multimedia/celt051/Config.in
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_CELT051
+	bool "celt051"
+	select BR2_PACKAGE_LIBOGG
+	help
+	  The CELT ultra-low delay audio codec
+	  
+	  The CELT codec is a compression algorithm for audio. Like MP3,
+	  Vorbis, and AAC it is suitable for transmitting music with high
+	  quality. Unlike these formats CELT imposes very little delay on
+	  the signal, even less than is typical for speech centric formats
+	  like Speex, GSM, or G.729.
+	  
+	  Note: this is version 0.5.1.3 of celt.
+	  
+	  http://www.celt-codec.org/
diff --git a/package/multimedia/celt051/celt.mk b/package/multimedia/celt051/celt.mk
new file mode 100644
index 0000000..e5b87c5
--- /dev/null
+++ b/package/multimedia/celt051/celt.mk
@@ -0,0 +1,26 @@
+#-----------------------------------------------------------------------------
+# Package description
+
+# Although version newer than 0.5.1.3 exists, we're
+# stuck with 0.5.1.3 for use by Spice (coming later)
+CELT051_VERSION         = 0.5.1.3
+CELT051_SOURCE          = celt-$(CELT051_VERSION).tar.gz
+CELT051_SITE            = http://downloads.xiph.org/releases/celt
+CELT051_LICENSE         = BSD-2c
+CELT051_LICENSE_FILES   = COPYING
+CELT051_INSTALL_STAGING = YES
+CELT051_DEPENDENCIES    = libogg
+
+#----------------------------------------------------------------------------
+# Package build process
+
+
+CELT051_CONF_OPT =                  \
+  --enable-fixed-point              \
+  --disable-fixed-point-debug       \
+  --disable-experimental-postfilter \
+  --disable-static-modes            \
+  --disable-assertions              \
+  --disable-oggtest                 \
+
+$(eval $(autotools-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 08/36] package/python-pyparsing: new package
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (5 preceding siblings ...)
  2012-08-12 23:53 ` [Buildroot] [PATCH 07/36] package/celt051: " Yann E. MORIN
@ 2012-08-12 23:53 ` Yann E. MORIN
  2012-08-17 11:19   ` Thomas Petazzoni
  2012-08-12 23:53 ` [Buildroot] [PATCH 09/36] package/spice-protocol: " Yann E. MORIN
                   ` (28 subsequent siblings)
  35 siblings, 1 reply; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:53 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in                            |    1 +
 package/python-pyparsing/Config.in           |   11 +++++++
 package/python-pyparsing/python-pyparsing.mk |   38 ++++++++++++++++++++++++++
 3 files changed, 50 insertions(+), 0 deletions(-)
 create mode 100644 package/python-pyparsing/Config.in
 create mode 100644 package/python-pyparsing/python-pyparsing.mk

diff --git a/package/Config.in b/package/Config.in
index 4264d48..ae22203 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -273,6 +273,7 @@ source "package/python-mad/Config.in"
 source "package/python-netifaces/Config.in"
 source "package/python-nfc/Config.in"
 source "package/python-pygame/Config.in"
+source "package/python-pyparsing/Config.in"
 source "package/python-serial/Config.in"
 source "package/python-setuptools/Config.in"
 endmenu
diff --git a/package/python-pyparsing/Config.in b/package/python-pyparsing/Config.in
new file mode 100644
index 0000000..126dd0e
--- /dev/null
+++ b/package/python-pyparsing/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_PYTHON_PYPARSING
+	bool "pyparsing"
+	depends on BR2_PACKAGE_PYTHON
+	help
+	  The pyparsing module is an alternative approach to creating and
+	  executing simple grammars, vs. the traditional lex/yacc approach,
+	  or the use of regular expressions. The pyparsing module provides
+	  a library of classes that client code uses to construct the grammar
+	  directly in Python code.
+	  
+	  http://pyparsing.wikispaces.com/
diff --git a/package/python-pyparsing/python-pyparsing.mk b/package/python-pyparsing/python-pyparsing.mk
new file mode 100644
index 0000000..57d7b33
--- /dev/null
+++ b/package/python-pyparsing/python-pyparsing.mk
@@ -0,0 +1,38 @@
+#-----------------------------------------------------------------------------
+# Package description
+
+PYTHON_PYPARSING_VERSION         = 1.5.6
+PYTHON_PYPARSING_SOURCE          = pyparsing-$(PYTHON_PYPARSING_VERSION).tar.gz
+PYTHON_PYPARSING_SITE            = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/pyparsing/pyparsing/pyparsing-$(PYTHON_PYPARSING_VERSION)
+PYTHON_PYPARSING_LICENSE         = MIT
+PYTHON_PYPARSING_LICENSE_FILES   = LICENSE
+PYTHON_PYPARSING_INSTALL_STAGING = YES
+PYTHON_PYPARSING_DEPENDENCIES    = python
+
+#----------------------------------------------------------------------------
+# Package build process
+
+# Shamelessly vampirised from python-pygame ;-)
+define PYTHON_PYPARSING_BUILD_CMDS
+	(cd $(@D);                                              \
+	 CC="$(TARGET_CC)"                                      \
+	 CFLAGS="$(TARGET_CFLAGS)"                              \
+	 LDSHARED="$(TARGET_CROSS)gcc -shared"                  \
+	 CROSS_COMPILING=yes                                    \
+	 _python_sysroot=$(STAGING_DIR)                         \
+	 _python_srcdir=$(BUILD_DIR)/python$(PYTHON_VERSION)    \
+	 _python_prefix=/usr                                    \
+	 _python_exec_prefix=/usr                               \
+	 $(HOST_DIR)/usr/bin/python setup.py build              \
+	)
+endef
+
+# Shamelessly vampirised from python-pygame ;-)
+define PYTHON_PYPARSING_INSTALL_TARGET_CMDS
+	(cd $(@D);                                              \
+	 $(HOST_DIR)/usr/bin/python setup.py install            \
+	                            --prefix=$(TARGET_DIR)/usr  \
+	)
+endef
+
+$(eval $(generic-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 09/36] package/spice-protocol: new package
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (6 preceding siblings ...)
  2012-08-12 23:53 ` [Buildroot] [PATCH 08/36] package/python-pyparsing: " Yann E. MORIN
@ 2012-08-12 23:53 ` Yann E. MORIN
  2012-08-17 11:20   ` Thomas Petazzoni
  2012-08-12 23:53 ` [Buildroot] [PATCH 10/36] package/spice-server: " Yann E. MORIN
                   ` (27 subsequent siblings)
  35 siblings, 1 reply; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:53 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in                        |    1 +
 package/spice-protocol/Config.in         |   12 ++++++++++++
 package/spice-protocol/spice-protocol.mk |   14 ++++++++++++++
 3 files changed, 27 insertions(+), 0 deletions(-)
 create mode 100644 package/spice-protocol/Config.in
 create mode 100644 package/spice-protocol/spice-protocol.mk

diff --git a/package/Config.in b/package/Config.in
index ae22203..d916128 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -600,6 +600,7 @@ source "package/ser2net/Config.in"
 source "package/socat/Config.in"
 source "package/socketcand/Config.in"
 source "package/spawn-fcgi/Config.in"
+source "package/spice-protocol/Config.in"
 source "package/squid/Config.in"
 source "package/stunnel/Config.in"
 source "package/tcpdump/Config.in"
diff --git a/package/spice-protocol/Config.in b/package/spice-protocol/Config.in
new file mode 100644
index 0000000..3be82a8
--- /dev/null
+++ b/package/spice-protocol/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_SPICE_PROTOCOL
+	bool "spice protocol"
+	help
+	  The Spice project aims to provide a complete open source
+	  solution for interaction with virtualized desktop devices.
+	  The Spice project deals with both the virtualized devices
+	  and the front-end. Interaction between front-end and
+	  back-end is done using VD-Interfaces.
+	  
+	  This package implements the ptotocol-part of Spice.
+	  
+	  http://www.spice-space.org/
diff --git a/package/spice-protocol/spice-protocol.mk b/package/spice-protocol/spice-protocol.mk
new file mode 100644
index 0000000..0197c6c
--- /dev/null
+++ b/package/spice-protocol/spice-protocol.mk
@@ -0,0 +1,14 @@
+#-----------------------------------------------------------------------------
+# Package description
+
+SPICE_PROTOCOL_VERSION         = 0.12.0
+SPICE_PROTOCOL_SOURCE          = spice-protocol-$(SPICE_PROTOCOL_VERSION).tar.bz2
+SPICE_PROTOCOL_SITE            = http://www.spice-space.org/download/releases/
+SPICE_PROTOCOL_LICENSE         = BSD-3c
+SPICE_PROTOCOL_LICENSE_FILES   = COPYING
+SPICE_PROTOCOL_INSTALL_STAGING = YES
+
+#----------------------------------------------------------------------------
+# Package build process
+
+$(eval $(autotools-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 10/36] package/spice-server: new package
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (7 preceding siblings ...)
  2012-08-12 23:53 ` [Buildroot] [PATCH 09/36] package/spice-protocol: " Yann E. MORIN
@ 2012-08-12 23:53 ` Yann E. MORIN
  2012-08-17 11:22   ` Thomas Petazzoni
  2012-08-12 23:53 ` [Buildroot] [PATCH 11/36] package/qemu: " Yann E. MORIN
                   ` (26 subsequent siblings)
  35 siblings, 1 reply; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:53 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in       |    1 +
 package/spice/Config.in |   22 ++++++++++++++++++++++
 package/spice/spice.mk  |   39 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 62 insertions(+), 0 deletions(-)
 create mode 100644 package/spice/Config.in
 create mode 100644 package/spice/spice.mk

diff --git a/package/Config.in b/package/Config.in
index d916128..3109591 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -601,6 +601,7 @@ source "package/socat/Config.in"
 source "package/socketcand/Config.in"
 source "package/spawn-fcgi/Config.in"
 source "package/spice-protocol/Config.in"
+source "package/spice/Config.in"
 source "package/squid/Config.in"
 source "package/stunnel/Config.in"
 source "package/tcpdump/Config.in"
diff --git a/package/spice/Config.in b/package/spice/Config.in
new file mode 100644
index 0000000..5a42730
--- /dev/null
+++ b/package/spice/Config.in
@@ -0,0 +1,22 @@
+config BR2_PACKAGE_SPICE
+	bool "spice server"
+	depends on BR2_PACKAGE_PYTHON_PYPARSING
+	select BR2_PACKAGE_SPICE_PROTOCOL
+	select BR2_PACKAGE_PIXMAN
+	select BR2_PACKAGE_CELT051
+	select BR2_PACKAGE_ALSA_LIB
+	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_JPEG
+	help
+	  The Spice project aims to provide a complete open source
+	  solution for interaction with virtualized desktop devices.
+	  The Spice project deals with both the virtualized devices
+	  and the front-end. Interaction between front-end and
+	  back-end is done using VD-Interfaces.
+	  
+	  This package implements the server-part of Spice.
+	  
+	  http://www.spice-space.org/
+
+comment "spice server depends on python-pyparsing"
+	depends on !BR2_PACKAGE_PYTHON_PYPARSING
diff --git a/package/spice/spice.mk b/package/spice/spice.mk
new file mode 100644
index 0000000..7e3fe5c
--- /dev/null
+++ b/package/spice/spice.mk
@@ -0,0 +1,39 @@
+#-----------------------------------------------------------------------------
+# Package description
+
+SPICE_VERSION         = 0.11.0
+SPICE_SOURCE          = spice-$(SPICE_VERSION).tar.bz2
+SPICE_SITE            = http://www.spice-space.org/download/releases/
+SPICE_LICENSE         = LGPLv2.1+
+SPICE_LICENSE_FILES   = COPYING
+SPICE_INSTALL_STAGING = YES
+SPICE_DEPENDENCIES    = \
+    spice-protocol      \
+    pixman              \
+    celt051             \
+    python-pyparsing    \
+    alsa-lib            \
+    openssl             \
+    jpeg                \
+
+#----------------------------------------------------------------------------
+# Package build process
+
+# 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.
+SPICE_CONF_OPT =            \
+  --disable-tunnel          \
+  --disable-gui             \
+  --disable-opengl          \
+  --disable-smartcard       \
+  --disable-client          \
+  --disable-automated-tests \
+  --without-sasl            \
+  --without-x               \
+
+SPICE_DEPENDENCIES += host-pkg-config
+
+SPICE_CONF_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages
+SPICE_MAKE_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages
+
+$(eval $(autotools-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 11/36] package/qemu: new package
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (8 preceding siblings ...)
  2012-08-12 23:53 ` [Buildroot] [PATCH 10/36] package/spice-server: " Yann E. MORIN
@ 2012-08-12 23:53 ` Yann E. MORIN
  2012-08-13  6:52   ` Yann E. MORIN
                     ` (2 more replies)
  2012-08-12 23:54 ` [Buildroot] [PATCH 12/36] package/qemu: add basic target selection Yann E. MORIN
                   ` (25 subsequent siblings)
  35 siblings, 3 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:53 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in      |    1 +
 package/qemu/Config.in |   24 ++++++++++++
 package/qemu/qemu.mk   |   98 ++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 123 insertions(+), 0 deletions(-)
 create mode 100644 package/qemu/Config.in
 create mode 100644 package/qemu/qemu.mk

diff --git a/package/Config.in b/package/Config.in
index 3109591..eb02983 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -504,6 +504,7 @@ menu "Miscellaneous"
 source "package/collectd/Config.in"
 source "package/empty/Config.in"
 source "package/mobile-broadband-provider-info/Config.in"
+source "package/qemu/Config.in"
 source "package/shared-mime-info/Config.in"
 source "package/sound-theme-borealis/Config.in"
 source "package/sound-theme-freedesktop/Config.in"
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
new file mode 100644
index 0000000..a77d863
--- /dev/null
+++ b/package/qemu/Config.in
@@ -0,0 +1,24 @@
+config BR2_PACKAGE_QEMU
+	bool "QEMU"
+	depends on BR2_PACKAGE_PYTHON       # We only need host-python,
+	                                    # but there's no way to say so.
+	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_LIBGLIB2
+	help
+	  QEMU is a generic and open source machine emulator and virtualizer.
+	  
+	  When used as a machine emulator, QEMU can run OSes and programs made
+	  for one machine (e.g. an ARM board) on a different machine (e.g.
+	  your own PC). By using dynamic translation, it achieves very good
+	  performance.
+	  
+	  When used as a virtualizer, QEMU achieves near native performances
+	  by executing the guest code directly on the host CPU. QEMU supports
+	  virtualization when executing under the Xen hypervisor or using the
+	  KVM kernel module in Linux. When using KVM, QEMU can virtualize x86,
+	  server and embedded PowerPC, and S390 guests. 
+	  
+	  http://qemu.org/
+
+comment "QEMU requires python"
+	depends on !BR2_PACKAGE_PYTHON
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
new file mode 100644
index 0000000..3825731
--- /dev/null
+++ b/package/qemu/qemu.mk
@@ -0,0 +1,98 @@
+#-----------------------------------------------------------------------------
+# Package description
+
+QEMU_VERSION = 1.1.1-1
+QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.bz2
+QEMU_SITE = http://wiki.qemu.org/download
+QEMU_LICENSE = GPLv2 LGPLv2.1 MIT BSD-3c BSD-2c Others/BSD-1c
+QEMU_LICENSE_FILES = COPYING COPYING.LIB
+#?NOTE: there is no top-level license file for non-(L)GPL licenses;
+#       the non-(L)GPL license texts are specified in the affected
+#       individual source files.
+
+#-----------------------------------------------------------------------------
+# Package unconditional configuration
+
+QEMU_DEPENDENCIES = zlib libglib2
+
+#-----------------------------------------------------------------------------
+# Package conditional configuration
+
+# Need the LIBS variable because librt and libm are
+# not automatically pulled. :-(
+QEMU_LIBS = -lrt -lm
+
+QEMU_OPTS =
+QEMU_VARS =
+
+#----------------------------------------------------------------------------
+# Package build process
+
+# Note: although QEMU uses a ./configure script, it is not compatible with
+#       the traditional autotools options (eg. --target et al.), so we can
+#       not use the autotools-package infrastructure. So we have to use the
+#       generic-package infra instead. Sigh... :-(
+
+define QEMU_CONFIGURE_CMDS
+	( cd $(@D);                                 \
+	    LIBS='$(QEMU_LIBS)'                     \
+	    $(TARGET_CONFIGURE_OPTS)                \
+	    $(TARGET_CONFIGURE_ARGS)                \
+	    $(QEMU_VARS)                            \
+	    ./configure                             \
+	        --prefix=/usr                       \
+	        --cross-prefix=$(TARGET_CROSS)      \
+	        --audio-drv-list=                   \
+	        --audio-card-list=                  \
+	        --enable-kvm                        \
+	        --enable-nptl                       \
+	        --enable-attr                       \
+	        --enable-vhost-net                  \
+	        --enable-system                     \
+	        --enable-linux-user                 \
+	        --disable-bsd-user                  \
+	        --disable-xen                       \
+	        --disable-slirp                     \
+	        --disable-sdl                       \
+	        --disable-vnc                       \
+	        --disable-virtfs                    \
+	        --disable-brlapi                    \
+	        --disable-curses                    \
+	        --disable-curl                      \
+	        --disable-fdt                       \
+	        --disable-bluez                     \
+	        --disable-guest-base                \
+	        --disable-uuid                      \
+	        --disable-vde                       \
+	        --disable-linux-aio                 \
+	        --disable-cap-ng                    \
+	        --disable-docs                      \
+	        --disable-spice                     \
+	        --disable-rbd                       \
+	        --disable-libiscsi                  \
+	        --disable-usb-redir                 \
+	        --disable-guest-agent               \
+	        --disable-smartcard                 \
+	        --disable-strip                     \
+	        $(QEMU_OPTS)                        \
+	)
+endef
+
+define QEMU_BUILD_CMDS
+	$(MAKE) -C $(@D)
+endef
+
+define QEMU_INSTALL_TARGET_CMDS
+	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+endef
+
+define QEMU_UNINSTALL_TARGET_CMDS
+	@echo 'QEMU has no uninstall rule.'
+	@false
+endef
+
+define QEMU_CLEAN_CMDS
+	$(MAKE) -C $(@D) clean
+endef
+
+$(eval $(generic-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 12/36] package/qemu: add basic target selection
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (9 preceding siblings ...)
  2012-08-12 23:53 ` [Buildroot] [PATCH 11/36] package/qemu: " Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 13/36] package/qemu: add fine-grained " Yann E. MORIN
                   ` (24 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/qemu/Config.in |   33 +++++++++++++++++++++++++++++++++
 package/qemu/qemu.mk   |   21 ++++++++++++++++++---
 2 files changed, 51 insertions(+), 3 deletions(-)

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index a77d863..253a4ad 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -20,5 +20,38 @@ config BR2_PACKAGE_QEMU
 	  
 	  http://qemu.org/
 
+if BR2_PACKAGE_QEMU
+
+comment "Emulators selection"
+
+# We need at least one to be selected
+config BR2_PACKAGE_QEMU_EMUL_SET
+	bool
+
+config BR2_PACKAGE_QEMU_FORCE_SYSTEM
+	bool
+	default n if BR2_PACKAGE_QEMU_EMUL_SET
+	default y if ! BR2_PACKAGE_QEMU_EMUL_SET
+	select BR2_PACKAGE_QEMU_SYSTEM
+
+config BR2_PACKAGE_QEMU_SYSTEM
+	bool "Enable all systems emulation"
+	help
+	  Say 'y' to build all system emulators/virtualisers that QEMU supports.
+
+config BR2_PACKAGE_QEMU_LINUX_USER
+	bool "Enable all Linux user-land emulation"
+	select BR2_PACKAGE_QEMU_EMUL_SET
+	help
+	  Say 'y' to build all Linux user-land emulators that QEMU supports.
+
+config BR2_PACKAGE_QEMU_BSD_USER
+	bool "Enable all BSD user-land emulation"
+	select BR2_PACKAGE_QEMU_EMUL_SET
+	help
+	  Say 'y' to build all BSD user-land emulators that QEMU supports.
+
+endif # BR2_PACKAGE_QEMU
+
 comment "QEMU requires python"
 	depends on !BR2_PACKAGE_PYTHON
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 3825731..34d9dd1 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -25,6 +25,24 @@ QEMU_LIBS = -lrt -lm
 QEMU_OPTS =
 QEMU_VARS =
 
+ifeq ($(BR2_PACKAGE_QEMU_SYSTEM),y)
+QEMU_OPTS += --enable-system
+else
+QEMU_OPTS += --disable-system
+endif
+
+ifeq ($(BR2_PACKAGE_QEMU_LINUX_USER),y)
+QEMU_OPTS += --enable-linux-user
+else
+QEMU_OPTS += --disable-linux-user
+endif
+
+ifeq ($(BR2_PACKAGE_QEMU_BSD_USER),y)
+QEMU_OPTS += --enable-bsd-user
+else
+QEMU_OPTS += --disable-bsd-user
+endif
+
 #----------------------------------------------------------------------------
 # Package build process
 
@@ -48,9 +66,6 @@ define QEMU_CONFIGURE_CMDS
 	        --enable-nptl                       \
 	        --enable-attr                       \
 	        --enable-vhost-net                  \
-	        --enable-system                     \
-	        --enable-linux-user                 \
-	        --disable-bsd-user                  \
 	        --disable-xen                       \
 	        --disable-slirp                     \
 	        --disable-sdl                       \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 13/36] package/qemu: add fine-grained target selection
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (10 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 12/36] package/qemu: add basic target selection Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 14/36] package/qemu: add SDL frontends Yann E. MORIN
                   ` (23 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/qemu/Config.in |   21 +++++++++++++++++++++
 package/qemu/qemu.mk   |    4 ++++
 2 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 253a4ad..ba9b1d6 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -24,6 +24,25 @@ if BR2_PACKAGE_QEMU
 
 comment "Emulators selection"
 
+config BR2_PACKAGE_QEMU_CUSTOM_TARGETS
+	string "Enable specific targets"
+	help
+	  Enter here the list of QEMU targets you want to build. For example:
+
+	    System emulation      | User-land emulation
+	    ----------------------+-----------------------
+	    i386-softmmu          | i386-linux-user
+	    arm-softmmu           | ppc-linux-user
+	    x86_64-softmmu        | sparc-bsd-user
+	    ...                   | ...
+
+config QEMU_FOO
+	bool # To break the indentation
+
+if BR2_PACKAGE_QEMU_CUSTOM_TARGETS = ""
+
+comment "... or you can select emulator families to enable, below:"
+
 # We need at least one to be selected
 config BR2_PACKAGE_QEMU_EMUL_SET
 	bool
@@ -51,6 +70,8 @@ config BR2_PACKAGE_QEMU_BSD_USER
 	help
 	  Say 'y' to build all BSD user-land emulators that QEMU supports.
 
+endif # BR2_PACKAGE_QEMU_CUSTOM_TARGETS == ""
+
 endif # BR2_PACKAGE_QEMU
 
 comment "QEMU requires python"
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 34d9dd1..b1f7071 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -43,6 +43,10 @@ else
 QEMU_OPTS += --disable-bsd-user
 endif
 
+ifneq ($(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS)),)
+QEMU_OPTS += --target-list="$(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS))"
+endif
+
 #----------------------------------------------------------------------------
 # Package build process
 
-- 
1.7.2.5

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

* [Buildroot] [PATCH 14/36] package/qemu: add SDL frontends
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (11 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 13/36] package/qemu: add fine-grained " Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 15/36] package/qemu: add option to enable/disable the VNC frontend Yann E. MORIN
                   ` (22 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

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

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index ba9b1d6..4f678a7 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -72,6 +72,15 @@ config BR2_PACKAGE_QEMU_BSD_USER
 
 endif # BR2_PACKAGE_QEMU_CUSTOM_TARGETS == ""
 
+comment "Frontends"
+
+config BR2_PACKAGE_QEMU_SDL
+	bool "Enable SDL frontend"
+	select BR2_PACKAGE_SDL
+	help
+	  Say 'y' to enable the SDL frontend, that is, a graphical window
+	  presenting the VM's display.
+
 endif # BR2_PACKAGE_QEMU
 
 comment "QEMU requires python"
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index b1f7071..f210866 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -47,6 +47,13 @@ ifneq ($(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS)),)
 QEMU_OPTS += --target-list="$(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS))"
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_SDL),y)
+QEMU_OPTS += --enable-sdl
+QEMU_DEPENDENCIES += sdl
+else
+QEMU_OPTS += --disable-sdl
+endif
+
 #----------------------------------------------------------------------------
 # Package build process
 
@@ -72,7 +79,6 @@ define QEMU_CONFIGURE_CMDS
 	        --enable-vhost-net                  \
 	        --disable-xen                       \
 	        --disable-slirp                     \
-	        --disable-sdl                       \
 	        --disable-vnc                       \
 	        --disable-virtfs                    \
 	        --disable-brlapi                    \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 15/36] package/qemu: add option to enable/disable the VNC frontend
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (12 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 14/36] package/qemu: add SDL frontends Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 16/36] package/qemu: add VNC jpeg and png compression Yann E. MORIN
                   ` (21 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

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

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 4f678a7..bf24126 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -74,6 +74,13 @@ endif # BR2_PACKAGE_QEMU_CUSTOM_TARGETS == ""
 
 comment "Frontends"
 
+config BR2_PACKAGE_QEMU_VNC
+	bool "Enable VNC frontend"
+	select BR2_PACKAGE_VNC
+	help
+	  Say 'y' to enable the VNC frontend, that is, QEMU will act as a
+	  VNC server presenting the VM's display.
+
 config BR2_PACKAGE_QEMU_SDL
 	bool "Enable SDL frontend"
 	select BR2_PACKAGE_SDL
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index f210866..caed5ee 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -47,6 +47,12 @@ ifneq ($(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS)),)
 QEMU_OPTS += --target-list="$(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS))"
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_VNC),y)
+QEMU_OPTS += --enable-vnc
+else
+QEMU_OPTS += --disable-vnc
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_SDL),y)
 QEMU_OPTS += --enable-sdl
 QEMU_DEPENDENCIES += sdl
@@ -79,7 +85,10 @@ define QEMU_CONFIGURE_CMDS
 	        --enable-vhost-net                  \
 	        --disable-xen                       \
 	        --disable-slirp                     \
-	        --disable-vnc                       \
+	        --disable-vnc-jpeg                  \
+	        --disable-vnc-png                   \
+	        --disable-vnc-tls                   \
+	        --disable-vnc-sasl                  \
 	        --disable-virtfs                    \
 	        --disable-brlapi                    \
 	        --disable-curses                    \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 16/36] package/qemu: add VNC jpeg and png compression
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (13 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 15/36] package/qemu: add option to enable/disable the VNC frontend Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 17/36] package/qemu: add VNC TLS-encryption Yann E. MORIN
                   ` (20 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/qemu/Config.in |   10 ++++++++++
 package/qemu/qemu.mk   |   16 ++++++++++++++--
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index bf24126..813dad3 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -81,6 +81,16 @@ config BR2_PACKAGE_QEMU_VNC
 	  Say 'y' to enable the VNC frontend, that is, QEMU will act as a
 	  VNC server presenting the VM's display.
 
+config BR2_PACKAGE_QEMU_VNC_PNG
+	bool "PNG compression"
+	depends on BR2_PACKAGE_QEMU_VNC
+	select BR2_PACKAGE_LIBPNG
+
+config BR2_PACKAGE_QEMU_VNC_JPEG
+	bool "JPEG compression"
+	depends on BR2_PACKAGE_QEMU_VNC
+	select BR2_PACKAGE_JPEG
+
 config BR2_PACKAGE_QEMU_SDL
 	bool "Enable SDL frontend"
 	select BR2_PACKAGE_SDL
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index caed5ee..58d8dca 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -53,6 +53,20 @@ else
 QEMU_OPTS += --disable-vnc
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_VNC_PNG),y)
+QEMU_OPTS += --enable-vnc-png
+QEMU_DEPENDENCIES += libpng
+else
+QEMU_OPTS += --disable-vnc-png
+endif
+
+ifeq ($(BR2_PACKAGE_QEMU_VNC_JPEG),y)
+QEMU_OPTS += --enable-vnc-jpeg
+QEMU_DEPENDENCIES += jpeg
+else
+QEMU_OPTS += --disable-vnc-jpeg
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_SDL),y)
 QEMU_OPTS += --enable-sdl
 QEMU_DEPENDENCIES += sdl
@@ -85,8 +99,6 @@ define QEMU_CONFIGURE_CMDS
 	        --enable-vhost-net                  \
 	        --disable-xen                       \
 	        --disable-slirp                     \
-	        --disable-vnc-jpeg                  \
-	        --disable-vnc-png                   \
 	        --disable-vnc-tls                   \
 	        --disable-vnc-sasl                  \
 	        --disable-virtfs                    \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 17/36] package/qemu: add VNC TLS-encryption
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (14 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 16/36] package/qemu: add VNC jpeg and png compression Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 18/36] package/qemu: add option to not install blobs Yann E. MORIN
                   ` (19 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

Only TLS is supported, as buildroot has no package for the SASL library.

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

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 813dad3..a43012f 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -91,6 +91,17 @@ config BR2_PACKAGE_QEMU_VNC_JPEG
 	depends on BR2_PACKAGE_QEMU_VNC
 	select BR2_PACKAGE_JPEG
 
+# TLS does not work with static link, because the gnutls .pc is missing a
+# dependency on libintl... :-(
+config BR2_PACKAGE_QEMU_VNC_TLS
+	bool "TLS encryption"
+	depends on BR2_PACKAGE_QEMU_VNC
+	depends on !BR2_PREFER_STATIC_LIB
+	select BR2_PACKAGE_GNUTLS
+
+comment "VNC TLS encryption does not work for static link"
+    depends on BR2_PACKAGE_QEMU_VNC && BR2_PREFER_STATIC_LIB
+
 config BR2_PACKAGE_QEMU_SDL
 	bool "Enable SDL frontend"
 	select BR2_PACKAGE_SDL
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 58d8dca..020d1a2 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -67,6 +67,13 @@ else
 QEMU_OPTS += --disable-vnc-jpeg
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_VNC_TLS),y)
+QEMU_OPTS += --enable-vnc-tls
+QEMU_DEPENDENCIES += gnutls
+else
+QEMU_OPTS += --disable-vnc-tls
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_SDL),y)
 QEMU_OPTS += --enable-sdl
 QEMU_DEPENDENCIES += sdl
@@ -99,7 +106,6 @@ define QEMU_CONFIGURE_CMDS
 	        --enable-vhost-net                  \
 	        --disable-xen                       \
 	        --disable-slirp                     \
-	        --disable-vnc-tls                   \
 	        --disable-vnc-sasl                  \
 	        --disable-virtfs                    \
 	        --disable-brlapi                    \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 18/36] package/qemu: add option to not install blobs
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (15 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 17/36] package/qemu: add VNC TLS-encryption Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 19/36] package/qemu: add option to remove unwanted keymaps Yann E. MORIN
                   ` (18 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/qemu/Config.in |   16 ++++++++++++++++
 package/qemu/qemu.mk   |    4 ++++
 2 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index a43012f..e34680c 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -109,6 +109,22 @@ config BR2_PACKAGE_QEMU_SDL
 	  Say 'y' to enable the SDL frontend, that is, a graphical window
 	  presenting the VM's display.
 
+comment "Misc. features"
+
+config BR2_PACKAGE_QEMU_BLOBS
+	bool "Install binary blobs"
+	default y
+	help
+	  Say 'y' here (the default) to install binary blobs (such as BIOS
+	  or firmwares for the different machines simulated by QEMU).
+	  Say 'n' to not install those blobs.	  
+	  
+	  Note: Some machines may be unbootable without those blobs.
+	        If unsure, say 'y'.
+	  
+	  Note2: This has nothing to do with the licensing of the blobs;
+	         some (most?) even have a free and/or open source license.
+
 endif # BR2_PACKAGE_QEMU
 
 comment "QEMU requires python"
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 020d1a2..cd473f8 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -81,6 +81,10 @@ else
 QEMU_OPTS += --disable-sdl
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_BLOBS),)
+QEMU_OPTS += --disable-blobs
+endif
+
 #----------------------------------------------------------------------------
 # Package build process
 
-- 
1.7.2.5

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

* [Buildroot] [PATCH 19/36] package/qemu: add option to remove unwanted keymaps
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (16 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 18/36] package/qemu: add option to not install blobs Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 20/36] package/qemu: add uuid support Yann E. MORIN
                   ` (17 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/qemu/Config.in |   12 ++++++++++
 package/qemu/qemu.mk   |   58 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 70 insertions(+), 0 deletions(-)

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index e34680c..0ae7fc3 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -125,6 +125,18 @@ config BR2_PACKAGE_QEMU_BLOBS
 	  Note2: This has nothing to do with the licensing of the blobs;
 	         some (most?) even have a free and/or open source license.
 
+config BR2_PACKAGE_QEMU_KEYMAPS
+	string "Keymaps to keep"
+	default "all"
+	help
+	  Enter the list of keymap(s) to keep. To keep many keymaps, you can
+	  use shell globs, or you can enter a space-separated list of keymaps:
+	    - empty to remove all keymaps
+	    - 'all' to keep all keymaps
+	    - 'fr*' to keep all french keymaps
+	    - 'de fr* en-*' for german, french and english keymaps
+	    - and so on (see the QEMU source for all supported keymaps)
+
 endif # BR2_PACKAGE_QEMU
 
 comment "QEMU requires python"
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index cd473f8..c00209b 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -86,6 +86,64 @@ QEMU_OPTS += --disable-blobs
 endif
 
 #----------------------------------------------------------------------------
+# Package hooks
+
+# Post-install removal of unwanted keymaps:
+# - if we want 'all', we do nothing;
+# - if we want none, we completely remove the keymap dir
+# - otherwise:
+#   - we completely remove the keymap dir; and recreate it empty
+#   - we recursively copy only those keymaps we want (as keymaps may include
+#     some common files)
+#
+# NOTE-1: we need the un-quoted list of keymaps, so it is interpreted as a glob
+#         by the shell.
+# NOTE-2: yes, all (current!) keymaps do include the 'common' keymap, which in
+#         turn includes the 'modifiers' keymap, so we could unconditionally
+#         copy those two, for a much simpler code. Doing it the way it's done
+#         is more generic, and will adapt to any future keymaps which has
+#         multiple includes, or none.
+# NOTE-3: we can't use $(SED), because it expands to include the '-i' option,
+#         which we do *not* want here, because we are not munging a file, but
+#         using sed as a enhanced grep.
+#
+QEMU_KEYMAPS = $(call qstrip,$(BR2_PACKAGE_QEMU_KEYMAPS))
+
+ifeq ($(QEMU_KEYMAPS),all)      #--- Keep all keymaps ---#
+define QEMU_POST_INSTALL_KEYMAPS
+	@: Nothing
+endef
+
+else ifeq ($(QEMU_KEYMAPS),)    #--- Remove all keymaps ---#
+define QEMU_POST_INSTALL_KEYMAPS
+	rm -rf "$(TARGET_DIR)/usr/share/qemu/keymaps"
+endef
+
+else                            #--- Keep selected keymaps ---#
+define QEMU_POST_INSTALL_KEYMAPS
+	rm -rf "$(TARGET_DIR)/usr/share/qemu/keymaps"
+	mkdir -p "$(TARGET_DIR)/usr/share/qemu/keymaps"
+	add_keymap() {                                                  \
+	    local k="$${1}"; local dest="$${2}";                        \
+	    if [ -n "$${k}" -a ! -f "$${dest}/$${k}" ]; then            \
+	        cp -v "$${k}" "$${dest}";                               \
+	        for k in $$(sed -r -e '/^include[[:space:]]+(.*)$$/!d;' \
+	                           -e 's//\1/;' "$${k}" ); do           \
+	            add_keymap "$${k}" "$${dest}";                      \
+	        done;                                                   \
+	    fi;                                                         \
+	};                                                              \
+	cd $(@D)/pc-bios/keymaps;                                       \
+	for k in $(QEMU_KEYMAPS); do                                    \
+	    add_keymap "$${k}" "$(TARGET_DIR)/usr/share/qemu/keymaps";  \
+	done
+endef
+
+endif # Keymaps to keep
+
+QEMU_POST_INSTALL_TARGET_HOOKS += QEMU_POST_INSTALL_KEYMAPS
+
+#----------------------------------------------------------------------------
 # Package build process
 
 # Note: although QEMU uses a ./configure script, it is not compatible with
-- 
1.7.2.5

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

* [Buildroot] [PATCH 20/36] package/qemu: add uuid support
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (17 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 19/36] package/qemu: add option to remove unwanted keymaps Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 21/36] package/qemu: add support for capabilities Yann E. MORIN
                   ` (16 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

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

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 0ae7fc3..ea85e5f 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -111,6 +111,13 @@ config BR2_PACKAGE_QEMU_SDL
 
 comment "Misc. features"
 
+config BR2_PACKAGE_QEMU_UUID
+	bool "Enable VMs UUID"
+	select BR2_PACKAGE_UTIL_LINUX
+	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	help
+	  Say 'y' here to have QEMU support UUIDs for VMs.
+
 config BR2_PACKAGE_QEMU_BLOBS
 	bool "Install binary blobs"
 	default y
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index c00209b..3806fa7 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -81,6 +81,13 @@ else
 QEMU_OPTS += --disable-sdl
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_UUID),y)
+QEMU_OPTS += --enable-uuid
+QEMU_DEPENDENCIES += util-linux
+else
+QEMU_OPTS += --disable-uuid
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_BLOBS),)
 QEMU_OPTS += --disable-blobs
 endif
@@ -176,7 +183,6 @@ define QEMU_CONFIGURE_CMDS
 	        --disable-fdt                       \
 	        --disable-bluez                     \
 	        --disable-guest-base                \
-	        --disable-uuid                      \
 	        --disable-vde                       \
 	        --disable-linux-aio                 \
 	        --disable-cap-ng                    \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 21/36] package/qemu: add support for capabilities
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (18 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 20/36] package/qemu: add uuid support Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 22/36] package/qemu: add attr/xattr option Yann E. MORIN
                   ` (15 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

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

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index ea85e5f..8cdcd08 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -118,6 +118,13 @@ config BR2_PACKAGE_QEMU_UUID
 	help
 	  Say 'y' here to have QEMU support UUIDs for VMs.
 
+config BR2_PACKAGE_QEMU_CAP
+	bool "Enable capabilities"
+	select BR2_PACKAGE_LIBCAP
+	select BR2_PACKAGE_LIBCAP_NG
+	help
+	  Say 'y' here if you want QEMU to support capabilities.
+
 config BR2_PACKAGE_QEMU_BLOBS
 	bool "Install binary blobs"
 	default y
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 3806fa7..17459ba 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -88,6 +88,16 @@ else
 QEMU_OPTS += --disable-uuid
 endif
 
+# There's no configure flag to disable use of libcap
+# so we must use an environment variable
+ifeq ($(BR2_PACKAGE_QEMU_CAP),y)
+QEMU_OPTS += --enable-cap-ng
+QEMU_DEPENDENCIES += libcap libcap-ng
+else
+QEMU_OPTS += --disable-cap-ng
+QEMU_VARS += cap=no
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_BLOBS),)
 QEMU_OPTS += --disable-blobs
 endif
@@ -185,7 +195,6 @@ define QEMU_CONFIGURE_CMDS
 	        --disable-guest-base                \
 	        --disable-vde                       \
 	        --disable-linux-aio                 \
-	        --disable-cap-ng                    \
 	        --disable-docs                      \
 	        --disable-spice                     \
 	        --disable-rbd                       \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 22/36] package/qemu: add attr/xattr option
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (19 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 21/36] package/qemu: add support for capabilities Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 23/36] package/qemu: add support for virtfs Yann E. MORIN
                   ` (14 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

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

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 8cdcd08..8ed5dcb 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -125,6 +125,12 @@ config BR2_PACKAGE_QEMU_CAP
 	help
 	  Say 'y' here if you want QEMU to support capabilities.
 
+config BR2_PACKAGE_QEMU_ATTR
+	bool "Enable attr and xattr"
+	help
+	  Say 'y' here to have QEMU support attributes (attr) and eXtended
+	  attibutes (xattr).
+
 config BR2_PACKAGE_QEMU_BLOBS
 	bool "Install binary blobs"
 	default y
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 17459ba..4a6080e 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -98,6 +98,12 @@ QEMU_OPTS += --disable-cap-ng
 QEMU_VARS += cap=no
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_ATTR),y)
+QEMU_OPTS += --enable-attr
+else
+QEMU_OPTS += --disable-attr
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_BLOBS),)
 QEMU_OPTS += --disable-blobs
 endif
@@ -181,7 +187,6 @@ define QEMU_CONFIGURE_CMDS
 	        --audio-card-list=                  \
 	        --enable-kvm                        \
 	        --enable-nptl                       \
-	        --enable-attr                       \
 	        --enable-vhost-net                  \
 	        --disable-xen                       \
 	        --disable-slirp                     \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 23/36] package/qemu: add support for virtfs
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (20 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 22/36] package/qemu: add attr/xattr option Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 24/36] package/qemu: add support for cURL Yann E. MORIN
                   ` (13 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

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

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 8ed5dcb..498a5a6 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -109,6 +109,22 @@ config BR2_PACKAGE_QEMU_SDL
 	  Say 'y' to enable the SDL frontend, that is, a graphical window
 	  presenting the VM's display.
 
+comment "Block backends"
+
+config BR2_PACKAGE_QEMU_VIRTFS
+	bool "Enable plan9 ressources using VirtFS"
+	select BR2_PACKAGE_QEMU_CAP
+	select BR2_PACKAGE_QEMU_ATTR
+	help
+	  Say 'y' here if you want QEMU to provide a plan9 virtual "share"
+	  accessible from the guest OS for relatively fast access to host
+	  files.
+	  
+	  This requires that the guest OS is capable of accessing plan9
+	  ressources (typically, in Linux, this is done by a network
+	  file-system called 9p, and can be accelerated by using the 9p
+	  virtio).
+
 comment "Misc. features"
 
 config BR2_PACKAGE_QEMU_UUID
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 4a6080e..caaf077 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -81,6 +81,12 @@ else
 QEMU_OPTS += --disable-sdl
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_VIRTFS),y)
+QEMU_OPTS += --enable-virtfs
+else
+QEMU_OPTS += --disable-virtfs
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_UUID),y)
 QEMU_OPTS += --enable-uuid
 QEMU_DEPENDENCIES += util-linux
@@ -191,7 +197,6 @@ define QEMU_CONFIGURE_CMDS
 	        --disable-xen                       \
 	        --disable-slirp                     \
 	        --disable-vnc-sasl                  \
-	        --disable-virtfs                    \
 	        --disable-brlapi                    \
 	        --disable-curses                    \
 	        --disable-curl                      \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 24/36] package/qemu: add support for cURL
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (21 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 23/36] package/qemu: add support for virtfs Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 25/36] package/qemu: enable use of the curses frontend Yann E. MORIN
                   ` (12 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

QEMU can use libcurl as a block backend, to access remote block devices.

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

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 498a5a6..bbcd308 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -125,6 +125,16 @@ config BR2_PACKAGE_QEMU_VIRTFS
 	  file-system called 9p, and can be accelerated by using the 9p
 	  virtio).
 
+config BR2_PACKAGE_QEMU_CURL
+	bool "Enable remote block-devices using cURL"
+	depends on !BR2_PREFER_STATIC_LIB
+	select BR2_PACKAGE_LIBCURL
+	help
+	  Say 'y' to access remote block-devices using libcurl.
+
+comment "cURL support is not possible with static linking"
+    depends on BR2_PREFER_STATIC_LIB
+
 comment "Misc. features"
 
 config BR2_PACKAGE_QEMU_UUID
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index caaf077..fb1bbcd 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -87,6 +87,13 @@ else
 QEMU_OPTS += --disable-virtfs
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_CURL),y)
+QEMU_OPTS += --enable-curl
+QEMU_DEPENDENCIES += libcurl
+else
+QEMU_OPTS += --disable-curl
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_UUID),y)
 QEMU_OPTS += --enable-uuid
 QEMU_DEPENDENCIES += util-linux
@@ -199,7 +206,6 @@ define QEMU_CONFIGURE_CMDS
 	        --disable-vnc-sasl                  \
 	        --disable-brlapi                    \
 	        --disable-curses                    \
-	        --disable-curl                      \
 	        --disable-fdt                       \
 	        --disable-bluez                     \
 	        --disable-guest-base                \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 25/36] package/qemu: enable use of the curses frontend
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (22 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 24/36] package/qemu: add support for cURL Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 26/36] package/qemu: add BlueZ connectivity Yann E. MORIN
                   ` (11 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

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

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index bbcd308..e2864f4 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -109,6 +109,17 @@ config BR2_PACKAGE_QEMU_SDL
 	  Say 'y' to enable the SDL frontend, that is, a graphical window
 	  presenting the VM's display.
 
+config BR2_PACKAGE_QEMU_CURSES
+	bool "Enable the curses frontend"
+	select BR2_PACKAGE_NCURSES
+	help
+	  Say 'y' to use curses to display the text-mode of VGA outpout.
+	  
+	  If the VM's graphic adapter does not support VGA text-mode, or it
+	  is in graphical mode, then nothing will be displayed with this
+	  frontend (although you can still use the SDL or VNC frontends to
+	  display the graphical output).
+
 comment "Block backends"
 
 config BR2_PACKAGE_QEMU_VIRTFS
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index fb1bbcd..31e3d0c 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -81,6 +81,13 @@ else
 QEMU_OPTS += --disable-sdl
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_CURSES),y)
+QEMU_OPTS += --enable-curses
+QEMU_DEPENDENCIES += ncurses
+else
+QEMU_OPTS += --disable-curses
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_VIRTFS),y)
 QEMU_OPTS += --enable-virtfs
 else
@@ -205,7 +212,6 @@ define QEMU_CONFIGURE_CMDS
 	        --disable-slirp                     \
 	        --disable-vnc-sasl                  \
 	        --disable-brlapi                    \
-	        --disable-curses                    \
 	        --disable-fdt                       \
 	        --disable-bluez                     \
 	        --disable-guest-base                \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 26/36] package/qemu: add BlueZ connectivity
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (23 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 25/36] package/qemu: enable use of the curses frontend Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 27/36] package/qemu: add AIO support Yann E. MORIN
                   ` (10 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

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

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index e2864f4..a55d7b5 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -146,6 +146,17 @@ config BR2_PACKAGE_QEMU_CURL
 comment "cURL support is not possible with static linking"
     depends on BR2_PREFER_STATIC_LIB
 
+comment "Networking"
+
+config BR2_PACKAGE_QEMU_BLUEZ
+	bool "Enable BlueZ connectivity"
+	depends on BR2_PACKAGE_BLUEZ_UTILS
+	help
+	  Say 'y' here to enable BlueZ (bluetooth) connectivity in QEMU.
+
+comment "BlueZ connectivity depends on bluez-utils"
+	depends on !BR2_PACKAGE_BLUEZ_UTILS
+
 comment "Misc. features"
 
 config BR2_PACKAGE_QEMU_UUID
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 31e3d0c..f64f627 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -101,6 +101,13 @@ else
 QEMU_OPTS += --disable-curl
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_BLUEZ),y)
+QEMU_OPTS += --enable-bluez
+QEMU_DEPENDENCIES += bluez_utils
+else
+QEMU_OPTS += --disable-bluez
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_UUID),y)
 QEMU_OPTS += --enable-uuid
 QEMU_DEPENDENCIES += util-linux
@@ -213,7 +220,6 @@ define QEMU_CONFIGURE_CMDS
 	        --disable-vnc-sasl                  \
 	        --disable-brlapi                    \
 	        --disable-fdt                       \
-	        --disable-bluez                     \
 	        --disable-guest-base                \
 	        --disable-vde                       \
 	        --disable-linux-aio                 \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 27/36] package/qemu: add AIO support
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (24 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 26/36] package/qemu: add BlueZ connectivity Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 28/36] package/qemu: add support for FDT Yann E. MORIN
                   ` (9 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

Add support for Asynchronous Input/Ouput (AIO).

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

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index a55d7b5..c1628a9 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -146,6 +146,15 @@ config BR2_PACKAGE_QEMU_CURL
 comment "cURL support is not possible with static linking"
     depends on BR2_PREFER_STATIC_LIB
 
+config BR2_PACKAGE_QEMU_AIO
+	bool "Enable AIO"
+	depends on BR2_PACKAGE_LIBAIO
+	help
+	  Say 'y' here to enable Asynchronous Input/Output (AIO).
+
+comment "AIO support depends on libaio"
+	depends on !BR2_PACKAGE_LIBAIO
+
 comment "Networking"
 
 config BR2_PACKAGE_QEMU_BLUEZ
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index f64f627..58eb9f1 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -101,6 +101,13 @@ else
 QEMU_OPTS += --disable-curl
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_AIO),y)
+QEMU_OPTS += --enable-linux-aio
+QEMU_DEPENDENCIES += libaio
+else
+QEMU_OPTS += --disable-linux-aio
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_BLUEZ),y)
 QEMU_OPTS += --enable-bluez
 QEMU_DEPENDENCIES += bluez_utils
@@ -222,7 +229,6 @@ define QEMU_CONFIGURE_CMDS
 	        --disable-fdt                       \
 	        --disable-guest-base                \
 	        --disable-vde                       \
-	        --disable-linux-aio                 \
 	        --disable-docs                      \
 	        --disable-spice                     \
 	        --disable-rbd                       \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 28/36] package/qemu: add support for FDT
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (25 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 27/36] package/qemu: add AIO support Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 29/36] package/qemu: add support for VDE switches Yann E. MORIN
                   ` (8 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

FDT is the Flat Device Tree, and allows QEMU to pass DTs to the VMs.

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

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index c1628a9..7142c09 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -168,6 +168,13 @@ comment "BlueZ connectivity depends on bluez-utils"
 
 comment "Misc. features"
 
+config BR2_PACKAGE_QEMU_FDT
+        bool "Enable FDT"
+        select BR2_PACKAGE_LIBFDT
+        help
+          Say 'y' here to have QEMU capable of constructing Device Trees,
+          and passing them to the VMs.
+
 config BR2_PACKAGE_QEMU_UUID
 	bool "Enable VMs UUID"
 	select BR2_PACKAGE_UTIL_LINUX
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 58eb9f1..4d888a8 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -115,6 +115,13 @@ else
 QEMU_OPTS += --disable-bluez
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_FDT),y)
+QEMU_OPTS += --enable-fdt
+QEMU_DEPENDENCIES += libfdt
+else
+QEMU_OPTS += --disable-fdt
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_UUID),y)
 QEMU_OPTS += --enable-uuid
 QEMU_DEPENDENCIES += util-linux
@@ -226,7 +233,6 @@ define QEMU_CONFIGURE_CMDS
 	        --disable-slirp                     \
 	        --disable-vnc-sasl                  \
 	        --disable-brlapi                    \
-	        --disable-fdt                       \
 	        --disable-guest-base                \
 	        --disable-vde                       \
 	        --disable-docs                      \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 29/36] package/qemu: add support for VDE switches
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (26 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 28/36] package/qemu: add support for FDT Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 30/36] package/qemu: add iSCSI support Yann E. MORIN
                   ` (7 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

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

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 7142c09..847c137 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -166,6 +166,13 @@ config BR2_PACKAGE_QEMU_BLUEZ
 comment "BlueZ connectivity depends on bluez-utils"
 	depends on !BR2_PACKAGE_BLUEZ_UTILS
 
+config BR2_PACKAGE_QEMU_VDE
+	bool "Enable VDE"
+	select BR2_PACKAGE_VDE2
+	help
+	  Say 'y' here to have QEMU connect to VDE (Virtual Distributed
+	  Ethernet) switches.
+
 comment "Misc. features"
 
 config BR2_PACKAGE_QEMU_FDT
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 4d888a8..b0f6512 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -115,6 +115,13 @@ else
 QEMU_OPTS += --disable-bluez
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_VDE),y)
+QEMU_OPTS += --enable-vde
+QEMU_DEPENDENCIES += vde2
+else
+QEMU_OPTS += --disable-vde
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_FDT),y)
 QEMU_OPTS += --enable-fdt
 QEMU_DEPENDENCIES += libfdt
@@ -234,7 +241,6 @@ define QEMU_CONFIGURE_CMDS
 	        --disable-vnc-sasl                  \
 	        --disable-brlapi                    \
 	        --disable-guest-base                \
-	        --disable-vde                       \
 	        --disable-docs                      \
 	        --disable-spice                     \
 	        --disable-rbd                       \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 30/36] package/qemu: add iSCSI support
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (27 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 29/36] package/qemu: add support for VDE switches Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 31/36] package/qemu: add support for USB redirection Yann E. MORIN
                   ` (6 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

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

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 847c137..e81a089 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -146,6 +146,12 @@ config BR2_PACKAGE_QEMU_CURL
 comment "cURL support is not possible with static linking"
     depends on BR2_PREFER_STATIC_LIB
 
+config BR2_PACKAGE_QEMU_ISCSI
+	bool "Enable remote block-devices using iSCSI"
+	select BR2_PACKAGE_LIBISCSI
+	help
+	  Say 'y' here to have QEMU use iSCSI targets as block-devices.
+
 config BR2_PACKAGE_QEMU_AIO
 	bool "Enable AIO"
 	depends on BR2_PACKAGE_LIBAIO
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index b0f6512..4436047 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -101,6 +101,13 @@ else
 QEMU_OPTS += --disable-curl
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_ISCSI),y)
+QEMU_OPTS += --enable-libiscsi
+QEMU_DEPENDENCIES += libiscsi
+else
+QEMU_OPTS += --disable-libiscsi
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_AIO),y)
 QEMU_OPTS += --enable-linux-aio
 QEMU_DEPENDENCIES += libaio
@@ -244,7 +251,6 @@ define QEMU_CONFIGURE_CMDS
 	        --disable-docs                      \
 	        --disable-spice                     \
 	        --disable-rbd                       \
-	        --disable-libiscsi                  \
 	        --disable-usb-redir                 \
 	        --disable-guest-agent               \
 	        --disable-smartcard                 \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 31/36] package/qemu: add support for USB redirection
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (28 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 30/36] package/qemu: add iSCSI support Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 32/36] package/qemu: add support for Spice Yann E. MORIN
                   ` (5 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

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

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index e81a089..b56fef4 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -152,6 +152,15 @@ config BR2_PACKAGE_QEMU_ISCSI
 	help
 	  Say 'y' here to have QEMU use iSCSI targets as block-devices.
 
+config BR2_PACKAGE_QEMU_USBREDIR
+	bool "Enable USB redirection"
+	depends on BR2_PACKAGE_USBREDIR
+	help
+	  Say 'y' here to have QEMU support USB redirection over the network.
+
+comment "USB redirection requires usbredir"
+	depends on !BR2_PACKAGE_USBREDIR
+
 config BR2_PACKAGE_QEMU_AIO
 	bool "Enable AIO"
 	depends on BR2_PACKAGE_LIBAIO
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 4436047..c14b3c3 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -108,6 +108,13 @@ else
 QEMU_OPTS += --disable-libiscsi
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_USBREDIR),y)
+QEMU_OPTS += --enable-usb-redir
+QEMU_DEPENDENCIES += usbredir
+else
+QEMU_OPTS += --disable-usb-redir
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_AIO),y)
 QEMU_OPTS += --enable-linux-aio
 QEMU_DEPENDENCIES += libaio
@@ -251,7 +258,6 @@ define QEMU_CONFIGURE_CMDS
 	        --disable-docs                      \
 	        --disable-spice                     \
 	        --disable-rbd                       \
-	        --disable-usb-redir                 \
 	        --disable-guest-agent               \
 	        --disable-smartcard                 \
 	        --disable-strip                     \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 32/36] package/qemu: add support for Spice
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (29 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 31/36] package/qemu: add support for USB redirection Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 33/36] package/qemu: option to build the docs Yann E. MORIN
                   ` (4 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

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

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index b56fef4..89b37af 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -120,6 +120,18 @@ config BR2_PACKAGE_QEMU_CURSES
 	  frontend (although you can still use the SDL or VNC frontends to
 	  display the graphical output).
 
+config BR2_PACKAGE_QEMU_SPICE
+	bool "Enable Spice frontend"
+	depends on BR2_PACKAGE_SPICE
+	depends on !BR2_PREFER_STATIC_LIB
+	help
+	  Say 'y' here to have QEMU support Spice as a (VNC-like) frontend.
+
+if !BR2_PACKAGE_SPICE || BR2_PREFER_STATIC_LIB
+comment "Spice support requires spice-server,"
+comment "and does not work for static linking."
+endif
+
 comment "Block backends"
 
 config BR2_PACKAGE_QEMU_VIRTFS
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index c14b3c3..a1d192e 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -88,6 +88,13 @@ else
 QEMU_OPTS += --disable-curses
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_SPICE),y)
+QEMU_OPTS += --enable-spice
+QEMU_DEPENDENCIES += spice
+else
+QEMU_OPTS += --disable-spice
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_VIRTFS),y)
 QEMU_OPTS += --enable-virtfs
 else
@@ -256,7 +263,6 @@ define QEMU_CONFIGURE_CMDS
 	        --disable-brlapi                    \
 	        --disable-guest-base                \
 	        --disable-docs                      \
-	        --disable-spice                     \
 	        --disable-rbd                       \
 	        --disable-guest-agent               \
 	        --disable-smartcard                 \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 33/36] package/qemu: option to build the docs
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (30 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 32/36] package/qemu: add support for Spice Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 34/36] package/qemu: enable guest-base Yann E. MORIN
                   ` (3 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

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

diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index a1d192e..9e3e65f 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -177,6 +177,12 @@ ifeq ($(BR2_PACKAGE_QEMU_BLOBS),)
 QEMU_OPTS += --disable-blobs
 endif
 
+ifeq ($(BR2_HAVE_DOCUMENTATION),y)
+QEMU_OPTS += --enable-docs
+else
+QEMU_OPTS += --disable-docs
+endif
+
 #----------------------------------------------------------------------------
 # Package hooks
 
@@ -262,7 +268,6 @@ define QEMU_CONFIGURE_CMDS
 	        --disable-vnc-sasl                  \
 	        --disable-brlapi                    \
 	        --disable-guest-base                \
-	        --disable-docs                      \
 	        --disable-rbd                       \
 	        --disable-guest-agent               \
 	        --disable-smartcard                 \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 34/36] package/qemu: enable guest-base
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (31 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 33/36] package/qemu: option to build the docs Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 35/36] package/qemu: move sub-options into a sub-menu Yann E. MORIN
                   ` (2 subsequent siblings)
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

Backport this patch to the initial QEMU patch if it works.

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

diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 9e3e65f..a6ae5e1 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -267,7 +267,6 @@ define QEMU_CONFIGURE_CMDS
 	        --disable-slirp                     \
 	        --disable-vnc-sasl                  \
 	        --disable-brlapi                    \
-	        --disable-guest-base                \
 	        --disable-rbd                       \
 	        --disable-guest-agent               \
 	        --disable-smartcard                 \
-- 
1.7.2.5

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

* [Buildroot] [PATCH 35/36] package/qemu: move sub-options into a sub-menu
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (32 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 34/36] package/qemu: enable guest-base Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-12 23:54 ` [Buildroot] [PATCH 36/36] package/qemu: enable a static build Yann E. MORIN
  2012-08-13  0:00 ` [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

As there are now quite a few options to QEMU, move them into their own
sub-menu, so it looks a bit less crowded in the 'misc' menu.

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

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 89b37af..e51b045 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -1,4 +1,4 @@
-config BR2_PACKAGE_QEMU
+menuconfig BR2_PACKAGE_QEMU
 	bool "QEMU"
 	depends on BR2_PACKAGE_PYTHON       # We only need host-python,
 	                                    # but there's no way to say so.
-- 
1.7.2.5

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

* [Buildroot] [PATCH 36/36] package/qemu: enable a static build
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (33 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 35/36] package/qemu: move sub-options into a sub-menu Yann E. MORIN
@ 2012-08-12 23:54 ` Yann E. MORIN
  2012-08-13  0:00 ` [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-12 23:54 UTC (permalink / raw)
  To: buildroot

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

---

It can be useful to have a statically-linked QEMU (especially the
linux-user and bsd-user emulators) to avoid run-time issues with
dynamically-loaded libraries.

There is an issue where QEMU could not be able to properly (re)map
libraries in memory due to some overlap between its own memory
mappings and the mappings of the user application being translated
(it's a complex issue, so don't count on me to properly explain it,
I did not understood it completely either... :-/ ).
---
 package/qemu/Config.in             |   20 ++++++++++++++------
 package/qemu/qemu-static-sdl.patch |   31 +++++++++++++++++++++++++++++++
 package/qemu/qemu.mk               |    4 ++++
 3 files changed, 49 insertions(+), 6 deletions(-)
 create mode 100644 package/qemu/qemu-static-sdl.patch

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index e51b045..f4cb57a 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -96,11 +96,11 @@ config BR2_PACKAGE_QEMU_VNC_JPEG
 config BR2_PACKAGE_QEMU_VNC_TLS
 	bool "TLS encryption"
 	depends on BR2_PACKAGE_QEMU_VNC
-	depends on !BR2_PREFER_STATIC_LIB
+	depends on !BR2_PACKAGE_QEMU_STATIC
 	select BR2_PACKAGE_GNUTLS
 
 comment "VNC TLS encryption does not work for static link"
-    depends on BR2_PACKAGE_QEMU_VNC && BR2_PREFER_STATIC_LIB
+    depends on BR2_PACKAGE_QEMU_VNC && BR2_PACKAGE_QEMU_STATIC
 
 config BR2_PACKAGE_QEMU_SDL
 	bool "Enable SDL frontend"
@@ -123,11 +123,11 @@ config BR2_PACKAGE_QEMU_CURSES
 config BR2_PACKAGE_QEMU_SPICE
 	bool "Enable Spice frontend"
 	depends on BR2_PACKAGE_SPICE
-	depends on !BR2_PREFER_STATIC_LIB
+	depends on !BR2_PACKAGE_QEMU_STATIC
 	help
 	  Say 'y' here to have QEMU support Spice as a (VNC-like) frontend.
 
-if !BR2_PACKAGE_SPICE || BR2_PREFER_STATIC_LIB
+if !BR2_PACKAGE_SPICE || BR2_PACKAGE_QEMU_STATIC
 comment "Spice support requires spice-server,"
 comment "and does not work for static linking."
 endif
@@ -150,13 +150,13 @@ config BR2_PACKAGE_QEMU_VIRTFS
 
 config BR2_PACKAGE_QEMU_CURL
 	bool "Enable remote block-devices using cURL"
-	depends on !BR2_PREFER_STATIC_LIB
+	depends on !BR2_PACKAGE_QEMU_STATIC
 	select BR2_PACKAGE_LIBCURL
 	help
 	  Say 'y' to access remote block-devices using libcurl.
 
 comment "cURL support is not possible with static linking"
-    depends on BR2_PREFER_STATIC_LIB
+    depends on BR2_PACKAGE_QEMU_STATIC
 
 config BR2_PACKAGE_QEMU_ISCSI
 	bool "Enable remote block-devices using iSCSI"
@@ -255,6 +255,14 @@ config BR2_PACKAGE_QEMU_KEYMAPS
 	    - 'de fr* en-*' for german, french and english keymaps
 	    - and so on (see the QEMU source for all supported keymaps)
 
+config BR2_PREFER_STATIC_LIB
+    select BR2_PACKAGE_QEMU_STATIC
+
+config BR2_PACKAGE_QEMU_STATIC
+	bool "Build statically"
+	help
+	  Build static qemu executable(s).
+
 endif # BR2_PACKAGE_QEMU
 
 comment "QEMU requires python"
diff --git a/package/qemu/qemu-static-sdl.patch b/package/qemu/qemu-static-sdl.patch
new file mode 100644
index 0000000..3dc9dbe
--- /dev/null
+++ b/package/qemu/qemu-static-sdl.patch
@@ -0,0 +1,31 @@
+configure: fix detection for SDL libs when static linking
+
+If using pkg-config, we must use '--static --libs', not '--stati-libs'
+which is solely for sdl-config.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN qemu-1.1.1.orig//configure qemu-1.1.1/configure
+--- qemu-1.1.1.orig//configure	2012-07-17 20:11:14.000000000 +0200
++++ qemu-1.1.1/configure	2012-07-30 16:40:21.248942557 +0200
+@@ -1546,9 +1546,11 @@
+ 
+ if $pkg_config sdl --modversion >/dev/null 2>&1; then
+   sdlconfig="$pkg_config sdl"
++  sdlconfig_staticlibs="--static --libs"
+   _sdlversion=`$sdlconfig --modversion 2>/dev/null | sed 's/[^0-9]//g'`
+ elif has ${sdl_config}; then
+   sdlconfig="$sdl_config"
++  sdlconfig_staticlibs="--static-libs"
+   _sdlversion=`$sdlconfig --version | sed 's/[^0-9]//g'`
+ else
+   if test "$sdl" = "yes" ; then
+@@ -1569,7 +1571,7 @@
+ EOF
+   sdl_cflags=`$sdlconfig --cflags 2> /dev/null`
+   if test "$static" = "yes" ; then
+-    sdl_libs=`$sdlconfig --static-libs 2>/dev/null`
++    sdl_libs=`$sdlconfig $sdlconfig_staticlibs 2>/dev/null`
+   else
+     sdl_libs=`$sdlconfig --libs 2> /dev/null`
+   fi
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index a6ae5e1..d5f32f4 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -25,6 +25,10 @@ QEMU_LIBS = -lrt -lm
 QEMU_OPTS =
 QEMU_VARS =
 
+ifeq ($(BR2_PACKAGE_QEMU_STATIC),y)
+QEMU_OPTS += --static
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_SYSTEM),y)
 QEMU_OPTS += --enable-system
 else
-- 
1.7.2.5

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

* [Buildroot] [PATCH 01/36] system/init: add option for no init system
  2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
                   ` (34 preceding siblings ...)
  2012-08-12 23:54 ` [Buildroot] [PATCH 36/36] package/qemu: enable a static build Yann E. MORIN
@ 2012-08-13  0:00 ` Yann E. MORIN
  35 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-13  0:00 UTC (permalink / raw)
  To: buildroot

Thomas, All,

Sorry, I forgot an intro mail... Here it is:

This series is an attempt to add QEMU as a package.

It first tries to fix a few short-comings I encounterd:
  patches 1 & 2

It then adds a few new packages that are dependencies of QEMU, some optional:
  patches 3 to 10

Then it adds QEMU as a new package, with everything disabled:
  patch 11

Then it adds a few config options to QEMU, to enable/disable some features:
  patches 12 to 34

And finally it moves QEMU options to a sub-menu:
  patch 35

A last patch, which I'd like feedback on, enables building static QEMU
executables:
  patch 36

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] 65+ messages in thread

* [Buildroot] [PATCH 11/36] package/qemu: new package
  2012-08-12 23:53 ` [Buildroot] [PATCH 11/36] package/qemu: " Yann E. MORIN
@ 2012-08-13  6:52   ` Yann E. MORIN
  2012-08-13  7:22   ` Diego Iastrubni
  2012-08-14 13:34   ` Thomas Petazzoni
  2 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-13  6:52 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On Monday 13 August 2012 01:53:59 Yann E. MORIN wrote:
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
>  package/Config.in      |    1 +
>  package/qemu/Config.in |   24 ++++++++++++
>  package/qemu/qemu.mk   |   98 ++++++++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 123 insertions(+), 0 deletions(-)
>  create mode 100644 package/qemu/Config.in
>  create mode 100644 package/qemu/qemu.mk
> 
> diff --git a/package/Config.in b/package/Config.in
> index 3109591..eb02983 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -504,6 +504,7 @@ menu "Miscellaneous"
>  source "package/collectd/Config.in"
>  source "package/empty/Config.in"
>  source "package/mobile-broadband-provider-info/Config.in"
> +source "package/qemu/Config.in"
>  source "package/shared-mime-info/Config.in"
>  source "package/sound-theme-borealis/Config.in"
>  source "package/sound-theme-freedesktop/Config.in"
> diff --git a/package/qemu/Config.in b/package/qemu/Config.in
> new file mode 100644
> index 0000000..a77d863
> --- /dev/null
> +++ b/package/qemu/Config.in
> @@ -0,0 +1,24 @@
> +config BR2_PACKAGE_QEMU
> +	bool "QEMU"
> +	depends on BR2_PACKAGE_PYTHON       # We only need host-python,
> +	                                    # but there's no way to say so.

And I forgot to add this dependency in the .mk. I'll repush this series
later with this change.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |   ^                |
| --==< O_o >==-- '------------.-------:  X  AGAINST      |  /e\  There is no  |
| http://ymorin.is-a-geek.org/ | (*_*) | / \ HTML MAIL    |  """  conspiracy.  |
'------------------------------'-------'------------------'--------------------'

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

* [Buildroot] [PATCH 11/36] package/qemu: new package
  2012-08-12 23:53 ` [Buildroot] [PATCH 11/36] package/qemu: " Yann E. MORIN
  2012-08-13  6:52   ` Yann E. MORIN
@ 2012-08-13  7:22   ` Diego Iastrubni
  2012-08-13  7:46     ` Yann E. MORIN
  2012-08-14 13:34   ` Thomas Petazzoni
  2 siblings, 1 reply; 65+ messages in thread
From: Diego Iastrubni @ 2012-08-13  7:22 UTC (permalink / raw)
  To: buildroot

Let me understand this: you are trying to build QEMU for the host ?

If you can also hook up some magic woodo to execute the image as well
("make qemu-run" for example) that would really be great.

I was thinking of adding this my self, by setting some new vars depending
on the CPU arch chosen, and other tricks. I am still unsure about the
details, as this is an idea I toyed with late night.

On Mon, Aug 13, 2012 at 2:53 AM, Yann E. MORIN <yann.morin.1998@free.fr>wrote:

> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
>  package/Config.in      |    1 +
>  package/qemu/Config.in |   24 ++++++++++++
>  package/qemu/qemu.mk   |   98
> ++++++++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 123 insertions(+), 0 deletions(-)
>  create mode 100644 package/qemu/Config.in
>  create mode 100644 package/qemu/qemu.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 3109591..eb02983 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -504,6 +504,7 @@ menu "Miscellaneous"
>  source "package/collectd/Config.in"
>  source "package/empty/Config.in"
>  source "package/mobile-broadband-provider-info/Config.in"
> +source "package/qemu/Config.in"
>  source "package/shared-mime-info/Config.in"
>  source "package/sound-theme-borealis/Config.in"
>  source "package/sound-theme-freedesktop/Config.in"
> diff --git a/package/qemu/Config.in b/package/qemu/Config.in
> new file mode 100644
> index 0000000..a77d863
> --- /dev/null
> +++ b/package/qemu/Config.in
> @@ -0,0 +1,24 @@
> +config BR2_PACKAGE_QEMU
> +       bool "QEMU"
> +       depends on BR2_PACKAGE_PYTHON       # We only need host-python,
> +                                           # but there's no way to say so.
> +       select BR2_PACKAGE_ZLIB
> +       select BR2_PACKAGE_LIBGLIB2
> +       help
> +         QEMU is a generic and open source machine emulator and
> virtualizer.
> +
> +         When used as a machine emulator, QEMU can run OSes and programs
> made
> +         for one machine (e.g. an ARM board) on a different machine (e.g.
> +         your own PC). By using dynamic translation, it achieves very good
> +         performance.
> +
> +         When used as a virtualizer, QEMU achieves near native
> performances
> +         by executing the guest code directly on the host CPU. QEMU
> supports
> +         virtualization when executing under the Xen hypervisor or using
> the
> +         KVM kernel module in Linux. When using KVM, QEMU can virtualize
> x86,
> +         server and embedded PowerPC, and S390 guests.
> +
> +         http://qemu.org/
> +
> +comment "QEMU requires python"
> +       depends on !BR2_PACKAGE_PYTHON
> diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
> new file mode 100644
> index 0000000..3825731
> --- /dev/null
> +++ b/package/qemu/qemu.mk
> @@ -0,0 +1,98 @@
>
> +#-----------------------------------------------------------------------------
> +# Package description
> +
> +QEMU_VERSION = 1.1.1-1
> +QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.bz2
> +QEMU_SITE = http://wiki.qemu.org/download
> +QEMU_LICENSE = GPLv2 LGPLv2.1 MIT BSD-3c BSD-2c Others/BSD-1c
> +QEMU_LICENSE_FILES = COPYING COPYING.LIB
> +# NOTE: there is no top-level license file for non-(L)GPL licenses;
> +#       the non-(L)GPL license texts are specified in the affected
> +#       individual source files.
> +
>
> +#-----------------------------------------------------------------------------
> +# Package unconditional configuration
> +
> +QEMU_DEPENDENCIES = zlib libglib2
> +
>
> +#-----------------------------------------------------------------------------
> +# Package conditional configuration
> +
> +# Need the LIBS variable because librt and libm are
> +# not automatically pulled. :-(
> +QEMU_LIBS = -lrt -lm
> +
> +QEMU_OPTS =
> +QEMU_VARS =
> +
>
> +#----------------------------------------------------------------------------
> +# Package build process
> +
> +# Note: although QEMU uses a ./configure script, it is not compatible with
> +#       the traditional autotools options (eg. --target et al.), so we can
> +#       not use the autotools-package infrastructure. So we have to use
> the
> +#       generic-package infra instead. Sigh... :-(
> +
> +define QEMU_CONFIGURE_CMDS
> +       ( cd $(@D);                                 \
> +           LIBS='$(QEMU_LIBS)'                     \
> +           $(TARGET_CONFIGURE_OPTS)                \
> +           $(TARGET_CONFIGURE_ARGS)                \
> +           $(QEMU_VARS)                            \
> +           ./configure                             \
> +               --prefix=/usr                       \
> +               --cross-prefix=$(TARGET_CROSS)      \
> +               --audio-drv-list=                   \
> +               --audio-card-list=                  \
> +               --enable-kvm                        \
> +               --enable-nptl                       \
> +               --enable-attr                       \
> +               --enable-vhost-net                  \
> +               --enable-system                     \
> +               --enable-linux-user                 \
> +               --disable-bsd-user                  \
> +               --disable-xen                       \
> +               --disable-slirp                     \
> +               --disable-sdl                       \
> +               --disable-vnc                       \
> +               --disable-virtfs                    \
> +               --disable-brlapi                    \
> +               --disable-curses                    \
> +               --disable-curl                      \
> +               --disable-fdt                       \
> +               --disable-bluez                     \
> +               --disable-guest-base                \
> +               --disable-uuid                      \
> +               --disable-vde                       \
> +               --disable-linux-aio                 \
> +               --disable-cap-ng                    \
> +               --disable-docs                      \
> +               --disable-spice                     \
> +               --disable-rbd                       \
> +               --disable-libiscsi                  \
> +               --disable-usb-redir                 \
> +               --disable-guest-agent               \
> +               --disable-smartcard                 \
> +               --disable-strip                     \
> +               $(QEMU_OPTS)                        \
> +       )
> +endef
> +
> +define QEMU_BUILD_CMDS
> +       $(MAKE) -C $(@D)
> +endef
> +
> +define QEMU_INSTALL_TARGET_CMDS
> +       $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
> +endef
> +
> +define QEMU_UNINSTALL_TARGET_CMDS
> +       @echo 'QEMU has no uninstall rule.'
> +       @false
> +endef
> +
> +define QEMU_CLEAN_CMDS
> +       $(MAKE) -C $(@D) clean
> +endef
> +
> +$(eval $(generic-package))
> --
> 1.7.2.5
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120813/e3e63448/attachment-0001.html>

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

* [Buildroot] [PATCH 11/36] package/qemu: new package
  2012-08-13  7:22   ` Diego Iastrubni
@ 2012-08-13  7:46     ` Yann E. MORIN
  0 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-13  7:46 UTC (permalink / raw)
  To: buildroot

Diego, All,

On Monday 13 August 2012 09:22:32 Diego Iastrubni wrote:
> Let me understand this: you are trying to build QEMU for the host ?

Nope, it's meant to run on the target.

A long-term goal of this is to try to build a libvirt-based system to run
a "VM-farm" rather than use a complete distro. Most probably, it will be
a proof-of-concept rather than a real solution, but hey, one never knows
before trying.

Of course, the QEMu package could be extended to run on host, so you
can run your images, but that would mean that a lot of packages would
need their host- counterparts, which is currently not the case.

Besides, it does not really make sense. Just create a new BR config which
targets your host, chroot into that (or build static). That's actually
what I'm doing, in fact! ;-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |   ^                |
| --==< O_o >==-- '------------.-------:  X  AGAINST      |  /e\  There is no  |
| http://ymorin.is-a-geek.org/ | (*_*) | / \ HTML MAIL    |  """  conspiracy.  |
'------------------------------'-------'------------------'--------------------'

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

* [Buildroot] [PATCH 02/36] package/sdl: add symlink to sdl-config
  2012-08-12 23:53 ` [Buildroot] [PATCH 02/36] package/sdl: add symlink to sdl-config Yann E. MORIN
@ 2012-08-13 10:57   ` Thomas Petazzoni
  2012-08-13 11:32     ` Yann E. MORIN
  2012-08-28 23:09     ` Arnout Vandecappelle
  0 siblings, 2 replies; 65+ messages in thread
From: Thomas Petazzoni @ 2012-08-13 10:57 UTC (permalink / raw)
  To: buildroot

Le Mon, 13 Aug 2012 01:53:50 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :

> SDL installs a script-based sdl-config in the sysroot, but some
> packages (eg. QEMU) needs it to be either:
>   - prefixed with the cross-prefix
>   - in the PATH
> 
> So, as sdl-config is a script, and although it is installed in
> the sysroot, it can be run on the host.

Well, that's typically not how we handle this problem. In general, we
pass the complete location of the <foo>-config script to
the ./configure script of the package that needs it. I would prefer if
we could use this solution everywhere instead of having a different
solution in different places for the same problem. Do you know if it
would be possible with Qemu?

Thanks!

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

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

* [Buildroot] [PATCH 02/36] package/sdl: add symlink to sdl-config
  2012-08-13 10:57   ` Thomas Petazzoni
@ 2012-08-13 11:32     ` Yann E. MORIN
  2012-08-28 23:09     ` Arnout Vandecappelle
  1 sibling, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-13 11:32 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On Monday 13 August 2012 12:57:10 Thomas Petazzoni wrote:
> Le Mon, 13 Aug 2012 01:53:50 +0200,
> "Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :
> 
> > SDL installs a script-based sdl-config in the sysroot, but some
> > packages (eg. QEMU) needs it to be either:
> >   - prefixed with the cross-prefix
> >   - in the PATH
> > 
> > So, as sdl-config is a script, and although it is installed in
> > the sysroot, it can be run on the host.
> 
> Well, that's typically not how we handle this problem. In general, we
> pass the complete location of the <foo>-config script to
> the ./configure script of the package that needs it.

Yep, I knew this one would raise eyebrows. ;-)

> I would prefer if
> we could use this solution everywhere instead of having a different
> solution in different places for the same problem.

But still, is it the right solution to use the sdl-config, although it is
installed in staging?

> Do you know if it
> would be possible with Qemu?

Ah, looking further, there's SDL_CONFIG we can set (I missed it...)
Will fix.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |   ^                |
| --==< O_o >==-- '------------.-------:  X  AGAINST      |  /e\  There is no  |
| http://ymorin.is-a-geek.org/ | (*_*) | / \ HTML MAIL    |  """  conspiracy.  |
'------------------------------'-------'------------------'--------------------'

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

* [Buildroot] [PATCH 03/36] package/libfdt: new package
  2012-08-12 23:53 ` [Buildroot] [PATCH 03/36] package/libfdt: new package Yann E. MORIN
@ 2012-08-14 13:23   ` Thomas Petazzoni
  2012-08-14 16:51     ` Yann E. MORIN
  0 siblings, 1 reply; 65+ messages in thread
From: Thomas Petazzoni @ 2012-08-14 13:23 UTC (permalink / raw)
  To: buildroot

Hello,

Le Mon, 13 Aug 2012 01:53:51 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :

> libfdt allows one to manipulate a Flat Device Tree.
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
>  package/Config.in                                  |    1 +
>  package/libfdt/Config.in                           |    6 ++
>  .../libfdt/libfdt-install-missing-headers.patch    |   22 ++++++++
>  package/libfdt/libfdt-separate-lib-install.patch   |   22 ++++++++
>  package/libfdt/libfdt.mk                           |   56 ++++++++++++++++++++
>  5 files changed, 107 insertions(+), 0 deletions(-)

The upstream package is called "dtc", shouldn't we be calling this
package "dtc" as well even though it only installs libfdt for now?

> diff --git a/package/libfdt/libfdt.mk b/package/libfdt/libfdt.mk
> new file mode 100644
> index 0000000..6824576
> --- /dev/null
> +++ b/package/libfdt/libfdt.mk
> @@ -0,0 +1,56 @@
> +#-----------------------------------------------------------------------------
> +# Package description

While this headers are nice, they are not consistent with all other
packages in Buildroot. Do we want to move all packages in this
direction?

> +LIBFDT_VERSION         = v1.3.0
> +LIBFDT_SITE            = git://git.jdl.com/software/dtc.git
> +LIBFDT_LICENSE         = GPLv2+/BSD-2c
> +LIBFDT_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 (yet?).

Argh, this is getting complicated, and shows again that our lack of
separation between "source package" and "binary package" is a bit
problematic.

> +LIBFDT_INSTALL_STAGING = YES
> +
> +#----------------------------------------------------------------------------
> +# Package build process
> +
> +define LIBFDT_BUILD_CMDS
> +	$(MAKE) -C $(@D) CC="$(TARGET_CC)" \
> +	                 AR="$(TARGET_AR)" \

What about using $(TARGET_CONFIGURE_OPTS) instead?

> +	                 PREFIX=/usr       \
> +	                 libfdt
> +endef
> +
> +#?libfdt_install is our own install rule added by our patch
> +define LIBFDT_INSTALL_STAGING_CMDS
> +	$(MAKE) CC="$(TARGET_CC)" AR="$(TARGET_AR)" -C $(@D) \

Do you really need to repeat CC and AR for the installation?

> +	        DESTDIR=$(STAGING_DIR) PREFIX=/usr           \
> +	        libfdt_install
> +endef
> +
> +# libfdt does not have any uninstall rule
> +define LIBFDT_UNINSTALL_STAGING_CMDS
> +	rm -f $(STAGING_DIR)/usr/lib/libfdt.a
> +	rm -f $(STAGING_DIR)/usr/lib/libfdt*.so*
> +	rm -f $(STAGING_DIR)/usr/include/libfdt*.h
> +	rm -f $(STAGING_DIR)/usr/include/fdt.h
> +endef
> +
> +# Usually, mode 0644 is enough for libraries (shared or static), but the
> +# buildroot documentation dsays 0755, so be dumb and follow the docs. ;-p
> +# And on target, we only require the SONAME-named library, not all the
> +# symlinks, but:
> +#   - libfdt's Makefile does not offer such a rule,
> +#   - other buildroot packages do install lib symlinks,
> +# so do as all others do.
> +define LIBFDT_INSTALL_TARGET_CMDS
> +	$(INSTALL) -D -m 0755 $(@D)/libfdt/libfdt*.so* $(TARGET_DIR)/usr/lib
> +endef

Not possible to use 'make libfdt_install' here? Remember that Buildroot
automatically .a files, header files and other documentation, so you
don't have to do this "filtered" installation yourself. And worse than
that: if you have BR2_HAVE_DEVFILES enabled, your INSTALL_TARGET_CMDS
is incorrect.

Thanks!

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

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

* [Buildroot] [PATCH 04/36] package/vde2: new package
  2012-08-12 23:53 ` [Buildroot] [PATCH 04/36] package/vde2: " Yann E. MORIN
@ 2012-08-14 13:24   ` Thomas Petazzoni
  2012-08-14 16:57     ` Yann E. MORIN
  0 siblings, 1 reply; 65+ messages in thread
From: Thomas Petazzoni @ 2012-08-14 13:24 UTC (permalink / raw)
  To: buildroot

Le Mon, 13 Aug 2012 01:53:52 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :

> +# For now, we install only the libraries
> +# Installing the complete VDE suite can come in a later patch
> +#?In that case, do not forget to update the license!
> +define VDE2_INSTALL_TARGET_CMDS
> +	$(INSTALL) -D -m 0755 $(STAGING_DIR)/usr/lib/libvde*.so*    \
> +	                      $(TARGET_DIR)/usr/lib
> +	$(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/lib/vde2/vde_l3
> +	$(INSTALL) -D -m 0755 $(STAGING_DIR)/usr/lib/vde2/vde_l3/*.so   \
> +	                      $(TARGET_DIR)/usr/lib/vde2/vde_l3
> +endef

Again, "make install" ?

Best regards,

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

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

* [Buildroot] [PATCH 11/36] package/qemu: new package
  2012-08-12 23:53 ` [Buildroot] [PATCH 11/36] package/qemu: " Yann E. MORIN
  2012-08-13  6:52   ` Yann E. MORIN
  2012-08-13  7:22   ` Diego Iastrubni
@ 2012-08-14 13:34   ` Thomas Petazzoni
  2012-08-14 17:03     ` Yann E. MORIN
  2 siblings, 1 reply; 65+ messages in thread
From: Thomas Petazzoni @ 2012-08-14 13:34 UTC (permalink / raw)
  To: buildroot

Le Mon, 13 Aug 2012 01:53:59 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :

> new file mode 100644
> index 0000000..a77d863
> --- /dev/null
> +++ b/package/qemu/Config.in
> @@ -0,0 +1,24 @@
> +config BR2_PACKAGE_QEMU
> +	bool "QEMU"

Just curious, what's the use case for Qemu on the target? I would have
seen Qemu as something useful on the host, but on the target?

> +	depends on BR2_PACKAGE_PYTHON       # We only need host-python,
> +	                                    # but there's no way to say so.

Doh? You just need to do:

QEMU_DEPENDENCIES += host-python

and that's it.

> +	select BR2_PACKAGE_ZLIB
> +	select BR2_PACKAGE_LIBGLIB2
> +	help
> +	  QEMU is a generic and open source machine emulator and virtualizer.
> +	  
> +	  When used as a machine emulator, QEMU can run OSes and programs made
> +	  for one machine (e.g. an ARM board) on a different machine (e.g.
> +	  your own PC). By using dynamic translation, it achieves very good
> +	  performance.
> +	  
> +	  When used as a virtualizer, QEMU achieves near native performances
> +	  by executing the guest code directly on the host CPU. QEMU supports
> +	  virtualization when executing under the Xen hypervisor or using the
> +	  KVM kernel module in Linux. When using KVM, QEMU can virtualize x86,
> +	  server and embedded PowerPC, and S390 guests. 
> +	  
> +	  http://qemu.org/
> +
> +comment "QEMU requires python"
> +	depends on !BR2_PACKAGE_PYTHON

You can drop this.

> diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
> new file mode 100644
> index 0000000..3825731
> --- /dev/null
> +++ b/package/qemu/qemu.mk
> @@ -0,0 +1,98 @@
> +#-----------------------------------------------------------------------------
> +# Package description
> +
> +QEMU_VERSION = 1.1.1-1
> +QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.bz2
> +QEMU_SITE = http://wiki.qemu.org/download
> +QEMU_LICENSE = GPLv2 LGPLv2.1 MIT BSD-3c BSD-2c Others/BSD-1c
> +QEMU_LICENSE_FILES = COPYING COPYING.LIB
> +#?NOTE: there is no top-level license file for non-(L)GPL licenses;
> +#       the non-(L)GPL license texts are specified in the affected
> +#       individual source files.
> +
> +#-----------------------------------------------------------------------------
> +# Package unconditional configuration
> +
> +QEMU_DEPENDENCIES = zlib libglib2
> +
> +#-----------------------------------------------------------------------------
> +# Package conditional configuration
> +
> +# Need the LIBS variable because librt and libm are
> +# not automatically pulled. :-(
> +QEMU_LIBS = -lrt -lm
> +
> +QEMU_OPTS =
> +QEMU_VARS =
> +
> +#----------------------------------------------------------------------------
> +# Package build process
> +
> +# Note: although QEMU uses a ./configure script, it is not compatible with
> +#       the traditional autotools options (eg. --target et al.), so we can
> +#       not use the autotools-package infrastructure. So we have to use the
> +#       generic-package infra instead. Sigh... :-(
> +
> +define QEMU_CONFIGURE_CMDS
> +	( cd $(@D);                                 \
> +	    LIBS='$(QEMU_LIBS)'                     \
> +	    $(TARGET_CONFIGURE_OPTS)                \
> +	    $(TARGET_CONFIGURE_ARGS)                \
> +	    $(QEMU_VARS)                            \
> +	    ./configure                             \
> +	        --prefix=/usr                       \
> +	        --cross-prefix=$(TARGET_CROSS)      \
> +	        --audio-drv-list=                   \
> +	        --audio-card-list=                  \
> +	        --enable-kvm                        \
> +	        --enable-nptl                       \
> +	        --enable-attr                       \
> +	        --enable-vhost-net                  \
> +	        --enable-system                     \
> +	        --enable-linux-user                 \
> +	        --disable-bsd-user                  \
> +	        --disable-xen                       \
> +	        --disable-slirp                     \
> +	        --disable-sdl                       \
> +	        --disable-vnc                       \
> +	        --disable-virtfs                    \
> +	        --disable-brlapi                    \
> +	        --disable-curses                    \
> +	        --disable-curl                      \
> +	        --disable-fdt                       \
> +	        --disable-bluez                     \
> +	        --disable-guest-base                \
> +	        --disable-uuid                      \
> +	        --disable-vde                       \
> +	        --disable-linux-aio                 \
> +	        --disable-cap-ng                    \
> +	        --disable-docs                      \
> +	        --disable-spice                     \
> +	        --disable-rbd                       \
> +	        --disable-libiscsi                  \
> +	        --disable-usb-redir                 \
> +	        --disable-guest-agent               \
> +	        --disable-smartcard                 \
> +	        --disable-strip                     \
> +	        $(QEMU_OPTS)                        \
> +	)
> +endef
> +
> +define QEMU_BUILD_CMDS
> +	$(MAKE) -C $(@D)
> +endef
> +
> +define QEMU_INSTALL_TARGET_CMDS
> +	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
> +endef
> +
> +define QEMU_UNINSTALL_TARGET_CMDS
> +	@echo 'QEMU has no uninstall rule.'
> +	@false
> +endef

Just don't implement the UNINSTALL_TARGET_CMDS in this case.

Since quite some time, we're considering dropping the
UNINSTALL_TARGET_CMDS and CLEAN_CMDS altogether.

Best regards,

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

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

* [Buildroot] [PATCH 03/36] package/libfdt: new package
  2012-08-14 13:23   ` Thomas Petazzoni
@ 2012-08-14 16:51     ` Yann E. MORIN
  0 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-14 16:51 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On Tuesday 14 August 2012 15:23:40 Thomas Petazzoni wrote:
> Le Mon, 13 Aug 2012 01:53:51 +0200,
> "Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :
> 
> > libfdt allows one to manipulate a Flat Device Tree.
> > 
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > ---
> >  package/Config.in                                  |    1 +
> >  package/libfdt/Config.in                           |    6 ++
> >  .../libfdt/libfdt-install-missing-headers.patch    |   22 ++++++++
> >  package/libfdt/libfdt-separate-lib-install.patch   |   22 ++++++++
> >  package/libfdt/libfdt.mk                           |   56 ++++++++++++++++++++
> >  5 files changed, 107 insertions(+), 0 deletions(-)
> 
> The upstream package is called "dtc", shouldn't we be calling this
> package "dtc" as well even though it only installs libfdt for now?

OK.

> > diff --git a/package/libfdt/libfdt.mk b/package/libfdt/libfdt.mk
> > new file mode 100644
> > index 0000000..6824576
> > --- /dev/null
> > +++ b/package/libfdt/libfdt.mk
> > @@ -0,0 +1,56 @@
> > +#-----------------------------------------------------------------------------
> > +# Package description
> 
> While this headers are nice, they are not consistent with all other
> packages in Buildroot. Do we want to move all packages in this
> direction?

I'll remove them.
That's just that I like to preperly lay things out.

> > +LIBFDT_VERSION         = v1.3.0
> > +LIBFDT_SITE            = git://git.jdl.com/software/dtc.git
> > +LIBFDT_LICENSE         = GPLv2+/BSD-2c
> > +LIBFDT_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 (yet?).
> 
> Argh, this is getting complicated, and shows again that our lack of
> separation between "source package" and "binary package" is a bit
> problematic.

So, what should I do here:
 1- list all licenses, even those not used, or
 2- only list licenses actually used?

1 is easy, while it is not exact, and 2 is relatively easy, but does not
guarantee exactitude. So, probably 1 is better in this case.

After all, the licensing report is not supposed to be ultimately trusted, but
is supposed to be reviewed by a human being for correctness.

> > +LIBFDT_INSTALL_STAGING = YES
> > +
> > +#----------------------------------------------------------------------------
> > +# Package build process
> > +
> > +define LIBFDT_BUILD_CMDS
> > +	$(MAKE) -C $(@D) CC="$(TARGET_CC)" \
> > +	                 AR="$(TARGET_AR)" \
> 
> What about using $(TARGET_CONFIGURE_OPTS) instead?

IIRC, I tried, and it did not work.
I'll doiuble-check before resubnitting (and add a comment
saying why it's not possible in this case).

> > +	                 PREFIX=/usr       \
> > +	                 libfdt
> > +endef
> > +
> > +# libfdt_install is our own install rule added by our patch
> > +define LIBFDT_INSTALL_STAGING_CMDS
> > +	$(MAKE) CC="$(TARGET_CC)" AR="$(TARGET_AR)" -C $(@D) \
> 
> Do you really need to repeat CC and AR for the installation?

Probably not. It worked as is, so I went on with the next task
on my TODO list.

I'll double-check too (and comment).

> > +	        DESTDIR=$(STAGING_DIR) PREFIX=/usr           \
> > +	        libfdt_install
> > +endef
> > +
> > +# libfdt does not have any uninstall rule
> > +define LIBFDT_UNINSTALL_STAGING_CMDS
> > +	rm -f $(STAGING_DIR)/usr/lib/libfdt.a
> > +	rm -f $(STAGING_DIR)/usr/lib/libfdt*.so*
> > +	rm -f $(STAGING_DIR)/usr/include/libfdt*.h
> > +	rm -f $(STAGING_DIR)/usr/include/fdt.h
> > +endef
> > +
> > +# Usually, mode 0644 is enough for libraries (shared or static), but the
> > +# buildroot documentation dsays 0755, so be dumb and follow the docs. ;-p
> > +# And on target, we only require the SONAME-named library, not all the
> > +# symlinks, but:
> > +#   - libfdt's Makefile does not offer such a rule,
> > +#   - other buildroot packages do install lib symlinks,
> > +# so do as all others do.
> > +define LIBFDT_INSTALL_TARGET_CMDS
> > +	$(INSTALL) -D -m 0755 $(@D)/libfdt/libfdt*.so* $(TARGET_DIR)/usr/lib
> > +endef
> 
> Not possible to use 'make libfdt_install' here?

Hmm. And I added a patch to that effect... Sigh...
Yes, will do.

> Remember that Buildroot automatically .a files, header files and other
   I guess you meant 'remove' here ---^^^  ;-)

> documentation, so you don't have to do this "filtered" installation
> yourself. And worse than that: if you have BR2_HAVE_DEVFILES enabled,
> your INSTALL_TARGET_CMDS is incorrect.

Gah!... :-(

Thanks for the review!

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] 65+ messages in thread

* [Buildroot] [PATCH 04/36] package/vde2: new package
  2012-08-14 13:24   ` Thomas Petazzoni
@ 2012-08-14 16:57     ` Yann E. MORIN
  0 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-14 16:57 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On Tuesday 14 August 2012 15:24:25 Thomas Petazzoni wrote:
> Le Mon, 13 Aug 2012 01:53:52 +0200,
> "Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :
> 
> > +# For now, we install only the libraries
> > +# Installing the complete VDE suite can come in a later patch
> > +# In that case, do not forget to update the license!
> > +define VDE2_INSTALL_TARGET_CMDS
> > +	$(INSTALL) -D -m 0755 $(STAGING_DIR)/usr/lib/libvde*.so*    \
> > +	                      $(TARGET_DIR)/usr/lib
> > +	$(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/lib/vde2/vde_l3
> > +	$(INSTALL) -D -m 0755 $(STAGING_DIR)/usr/lib/vde2/vde_l3/*.so   \
> > +	                      $(TARGET_DIR)/usr/lib/vde2/vde_l3
> > +endef
> 
> Again, "make install" ?

As I only want to install the libs, I know of no rule to install only libs.
But, I can upgrade the package to perform a full install, that would probably
be easy.

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] 65+ messages in thread

* [Buildroot] [PATCH 11/36] package/qemu: new package
  2012-08-14 13:34   ` Thomas Petazzoni
@ 2012-08-14 17:03     ` Yann E. MORIN
  2012-08-17 11:26       ` Thomas Petazzoni
  0 siblings, 1 reply; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-14 17:03 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On Tuesday 14 August 2012 15:34:03 Thomas Petazzoni wrote:
> Le Mon, 13 Aug 2012 01:53:59 +0200,
> "Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :
> 
> > new file mode 100644
> > index 0000000..a77d863
> > --- /dev/null
> > +++ b/package/qemu/Config.in
> > @@ -0,0 +1,24 @@
> > +config BR2_PACKAGE_QEMU
> > +	bool "QEMU"
> 
> Just curious, what's the use case for Qemu on the target? I would have
> seen Qemu as something useful on the host, but on the target?

I want to build a libvirt-based system to host VMs, and I do not want
to use a complete distro for that : I do not care about the handy-dandy
init stuff, I don't care about networking auto-managing stuff, no fscking
desktop stuff... I just want a basic system that just runs a libvirt daemon,
and manages the VMs.

I want to build a completly-static QEMU, and that's not possible on a
desktop/server distro that uses glibc, because static linking still pulls
the NSS libs. So, rather than creating a new 'framework', I just decided
to reuse something. ;-)

I want to play! ;-)

> > +	depends on BR2_PACKAGE_PYTHON       # We only need host-python,
> > +	                                    # but there's no way to say so.
> 
> Doh? You just need to do:
> QEMU_DEPENDENCIES += host-python
> and that's it.

Doh... :/
/me hides...

> > +	select BR2_PACKAGE_ZLIB
> > +	select BR2_PACKAGE_LIBGLIB2
> > +	help
> > +	  QEMU is a generic and open source machine emulator and virtualizer.
> > +	  
> > +	  When used as a machine emulator, QEMU can run OSes and programs made
> > +	  for one machine (e.g. an ARM board) on a different machine (e.g.
> > +	  your own PC). By using dynamic translation, it achieves very good
> > +	  performance.
> > +	  
> > +	  When used as a virtualizer, QEMU achieves near native performances
> > +	  by executing the guest code directly on the host CPU. QEMU supports
> > +	  virtualization when executing under the Xen hypervisor or using the
> > +	  KVM kernel module in Linux. When using KVM, QEMU can virtualize x86,
> > +	  server and embedded PowerPC, and S390 guests. 
> > +	  
> > +	  http://qemu.org/
> > +
> > +comment "QEMU requires python"
> > +	depends on !BR2_PACKAGE_PYTHON
> 
> You can drop this.

Of course! :-)

> > diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
> > new file mode 100644
> > index 0000000..3825731
> > --- /dev/null
> > +++ b/package/qemu/qemu.mk
> > @@ -0,0 +1,98 @@
> > +#-----------------------------------------------------------------------------
> > +# Package description
> > +
> > +QEMU_VERSION = 1.1.1-1
> > +QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.bz2
> > +QEMU_SITE = http://wiki.qemu.org/download
> > +QEMU_LICENSE = GPLv2 LGPLv2.1 MIT BSD-3c BSD-2c Others/BSD-1c
> > +QEMU_LICENSE_FILES = COPYING COPYING.LIB
> > +# NOTE: there is no top-level license file for non-(L)GPL licenses;
> > +#       the non-(L)GPL license texts are specified in the affected
> > +#       individual source files.
> > +
> > +#-----------------------------------------------------------------------------
> > +# Package unconditional configuration
> > +
> > +QEMU_DEPENDENCIES = zlib libglib2
> > +
> > +#-----------------------------------------------------------------------------
> > +# Package conditional configuration
> > +
> > +# Need the LIBS variable because librt and libm are
> > +# not automatically pulled. :-(
> > +QEMU_LIBS = -lrt -lm
> > +
> > +QEMU_OPTS =
> > +QEMU_VARS =
> > +
> > +#----------------------------------------------------------------------------
> > +# Package build process
> > +
> > +# Note: although QEMU uses a ./configure script, it is not compatible with
> > +#       the traditional autotools options (eg. --target et al.), so we can
> > +#       not use the autotools-package infrastructure. So we have to use the
> > +#       generic-package infra instead. Sigh... :-(
> > +
> > +define QEMU_CONFIGURE_CMDS
> > +	( cd $(@D);                                 \
> > +	    LIBS='$(QEMU_LIBS)'                     \
> > +	    $(TARGET_CONFIGURE_OPTS)                \
> > +	    $(TARGET_CONFIGURE_ARGS)                \
> > +	    $(QEMU_VARS)                            \
> > +	    ./configure                             \
> > +	        --prefix=/usr                       \
> > +	        --cross-prefix=$(TARGET_CROSS)      \
> > +	        --audio-drv-list=                   \
> > +	        --audio-card-list=                  \
> > +	        --enable-kvm                        \
> > +	        --enable-nptl                       \
> > +	        --enable-attr                       \
> > +	        --enable-vhost-net                  \
> > +	        --enable-system                     \
> > +	        --enable-linux-user                 \
> > +	        --disable-bsd-user                  \
> > +	        --disable-xen                       \
> > +	        --disable-slirp                     \
> > +	        --disable-sdl                       \
> > +	        --disable-vnc                       \
> > +	        --disable-virtfs                    \
> > +	        --disable-brlapi                    \
> > +	        --disable-curses                    \
> > +	        --disable-curl                      \
> > +	        --disable-fdt                       \
> > +	        --disable-bluez                     \
> > +	        --disable-guest-base                \
> > +	        --disable-uuid                      \
> > +	        --disable-vde                       \
> > +	        --disable-linux-aio                 \
> > +	        --disable-cap-ng                    \
> > +	        --disable-docs                      \
> > +	        --disable-spice                     \
> > +	        --disable-rbd                       \
> > +	        --disable-libiscsi                  \
> > +	        --disable-usb-redir                 \
> > +	        --disable-guest-agent               \
> > +	        --disable-smartcard                 \
> > +	        --disable-strip                     \
> > +	        $(QEMU_OPTS)                        \
> > +	)
> > +endef
> > +
> > +define QEMU_BUILD_CMDS
> > +	$(MAKE) -C $(@D)
> > +endef
> > +
> > +define QEMU_INSTALL_TARGET_CMDS
> > +	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
> > +endef
> > +
> > +define QEMU_UNINSTALL_TARGET_CMDS
> > +	@echo 'QEMU has no uninstall rule.'
> > +	@false
> > +endef
> 
> Just don't implement the UNINSTALL_TARGET_CMDS in this case.

Okydoky.

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] 65+ messages in thread

* [Buildroot] [PATCH 05/36] package/libiscsi: new package
  2012-08-12 23:53 ` [Buildroot] [PATCH 05/36] package/libiscsi: " Yann E. MORIN
@ 2012-08-17 11:14   ` Thomas Petazzoni
  2012-08-17 12:29     ` Samuel Martin
  0 siblings, 1 reply; 65+ messages in thread
From: Thomas Petazzoni @ 2012-08-17 11:14 UTC (permalink / raw)
  To: buildroot

Le Mon, 13 Aug 2012 01:53:53 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :

> +LIBISCSI_VERSION         = 1.5.0
> +LIBISCSI_SITE            = git://github.com/sahlberg/libiscsi.git

You can instead use

https://github.com/sahlberg/libiscsi/zipball/$(LIBISCI_VERSION)

which will download a zip file of the project.

> +LIBISCSI_LICENSE         = LGPLv2.1+
> +LIBISCSI_LICENSE_FILES   = COPYING LICENCE-LGPL-2.1.txt
> +#?Note: the binaries are GPLv2+, but we do not use them
> +LIBISCSI_INSTALL_STAGING = YES
> +LIBISCSI_DEPENDENCIES    = popt
> +
> +#----------------------------------------------------------------------------
> +# Package build process
> +
> +# As we use the git repository, we need to generate the configure script
> +# Using the standard autoreconf does not work (missing m4/ dir)
> +define LIBISCSI_CREATE_CONFIGURE
> +	cd $(@D); ./autogen.sh
> +endef
> +LIBISCSI_PRE_CONFIGURE_HOOKS += LIBISCSI_CREATE_CONFIGURE
> +LIBISCSI_DEPENDENCIES        += host-autoconf

host-autoconf will not bring host-automake, so I think you should
either depend on host-automake (which itself depends on host-autoconf),
or you should do like the autotools package infrastructure does:
FOO_DEPENDENCIES += host-automake host-autoconf host-libtool.

Or, you can do something like:

LIBISCSI_AUTORECONF = YES
# Having a m4/ directory is mandatory for autoreconf to work
define LIBISCSI_CREATE_M4_DIR
	mkdir -p $(@D)/m4
endef
LIBISCSI_PRE_CONFIGURE_HOOKS += LIBISCSI_CREATE_M4_DIR

I don't have a strong opinion between those two solutions.

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

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

* [Buildroot] [PATCH 06/36] package/usbredir: new package
  2012-08-12 23:53 ` [Buildroot] [PATCH 06/36] package/usbredir: " Yann E. MORIN
@ 2012-08-17 11:15   ` Thomas Petazzoni
  2012-08-17 13:37     ` Yann E. MORIN
  0 siblings, 1 reply; 65+ messages in thread
From: Thomas Petazzoni @ 2012-08-17 11:15 UTC (permalink / raw)
  To: buildroot

Le Mon, 13 Aug 2012 01:53:54 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :

> +# Note: do not ofrget to update the license, above, if you keep the server.

forget

Otherwise, looks good.

Another note: have you looked at the uClibc compatibility of all these
new packages, regarding things like wchar, locale, largefile, ipv6 and
al. ?

Best regards,

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

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

* [Buildroot] [PATCH 07/36] package/celt051: new package
  2012-08-12 23:53 ` [Buildroot] [PATCH 07/36] package/celt051: " Yann E. MORIN
@ 2012-08-17 11:18   ` Thomas Petazzoni
  2012-08-17 13:27     ` Yann E. MORIN
  0 siblings, 1 reply; 65+ messages in thread
From: Thomas Petazzoni @ 2012-08-17 11:18 UTC (permalink / raw)
  To: buildroot

Le Mon, 13 Aug 2012 01:53:55 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :

> --- /dev/null
> +++ b/package/multimedia/celt051/Config.in
> @@ -0,0 +1,15 @@
> +config BR2_PACKAGE_CELT051
> +	bool "celt051"
> +	select BR2_PACKAGE_LIBOGG
> +	help
> +	  The CELT ultra-low delay audio codec

Just curious, for what reason an audio codec is needed as a dependency
of a virtual machine thing? How does it fit in the stack?

> +# Although version newer than 0.5.1.3 exists, we're
> +# stuck with 0.5.1.3 for use by Spice (coming later)

Do you predict this version requirement to be kept for a long period of
time?

Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] [PATCH 08/36] package/python-pyparsing: new package
  2012-08-12 23:53 ` [Buildroot] [PATCH 08/36] package/python-pyparsing: " Yann E. MORIN
@ 2012-08-17 11:19   ` Thomas Petazzoni
  0 siblings, 0 replies; 65+ messages in thread
From: Thomas Petazzoni @ 2012-08-17 11:19 UTC (permalink / raw)
  To: buildroot

Le Mon, 13 Aug 2012 01:53:56 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :

> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
>  package/Config.in                            |    1 +
>  package/python-pyparsing/Config.in           |   11 +++++++
>  package/python-pyparsing/python-pyparsing.mk |   38 ++++++++++++++++++++++++++
>  3 files changed, 50 insertions(+), 0 deletions(-)
>  create mode 100644 package/python-pyparsing/Config.in
>  create mode 100644 package/python-pyparsing/python-pyparsing.mk

Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] [PATCH 09/36] package/spice-protocol: new package
  2012-08-12 23:53 ` [Buildroot] [PATCH 09/36] package/spice-protocol: " Yann E. MORIN
@ 2012-08-17 11:20   ` Thomas Petazzoni
  0 siblings, 0 replies; 65+ messages in thread
From: Thomas Petazzoni @ 2012-08-17 11:20 UTC (permalink / raw)
  To: buildroot

Le Mon, 13 Aug 2012 01:53:57 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :

> +	  This package implements the ptotocol-part of Spice.

protocol

Once fixed:

Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] [PATCH 10/36] package/spice-server: new package
  2012-08-12 23:53 ` [Buildroot] [PATCH 10/36] package/spice-server: " Yann E. MORIN
@ 2012-08-17 11:22   ` Thomas Petazzoni
  2012-08-17 13:38     ` Yann E. MORIN
  0 siblings, 1 reply; 65+ messages in thread
From: Thomas Petazzoni @ 2012-08-17 11:22 UTC (permalink / raw)
  To: buildroot

Le Mon, 13 Aug 2012 01:53:58 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :

> --- /dev/null
> +++ b/package/spice/Config.in
> @@ -0,0 +1,22 @@
> +config BR2_PACKAGE_SPICE
> +	bool "spice server"
> +	depends on BR2_PACKAGE_PYTHON_PYPARSING

This should probably be:

	depends on BR2_PACKAGE_PYTHON
	select BR2_PACKAGE_PYTHON_PYPARSING

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

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

* [Buildroot] [PATCH 11/36] package/qemu: new package
  2012-08-14 17:03     ` Yann E. MORIN
@ 2012-08-17 11:26       ` Thomas Petazzoni
  2012-08-17 13:32         ` Yann E. MORIN
  0 siblings, 1 reply; 65+ messages in thread
From: Thomas Petazzoni @ 2012-08-17 11:26 UTC (permalink / raw)
  To: buildroot

Le Tue, 14 Aug 2012 19:03:45 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :

> > Just curious, what's the use case for Qemu on the target? I would have
> > seen Qemu as something useful on the host, but on the target?
> 
> I want to build a libvirt-based system to host VMs, and I do not want
> to use a complete distro for that : I do not care about the handy-dandy
> init stuff, I don't care about networking auto-managing stuff, no fscking
> desktop stuff... I just want a basic system that just runs a libvirt daemon,
> and manages the VMs.
> 
> I want to build a completly-static QEMU, and that's not possible on a
> desktop/server distro that uses glibc, because static linking still pulls
> the NSS libs. So, rather than creating a new 'framework', I just decided
> to reuse something. ;-)
> 
> I want to play! ;-)

Ok, interesting. The only thing I'm a bit worried about is that this
brings Buildroot outside of its "environment to cross-compile Linux
systems for embedded platforms". Although it initially probably fits
the "minimal Linux system for VM hosting" use case, I'm worried that
down the road the needs may diverge (for example people using Buildroot
for VM hosting environments will want package management, etc.). But
maybe I simply shouldn't anticipate too much on this and just see how
things move.

However, on this patch set, I'd like to see at least a Ack from Peter
on the general idea of merging Qemu for the target and all the required
dependencies. If Peter is fine with the general idea, we can together
review the implementation details, but the general idea needs to be
Acked, me thinks.

Of course, other people in the community are invited to raise their
voice here as well.

Thanks!

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

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

* [Buildroot] [PATCH 05/36] package/libiscsi: new package
  2012-08-17 11:14   ` Thomas Petazzoni
@ 2012-08-17 12:29     ` Samuel Martin
  2012-08-17 12:42       ` Thomas Petazzoni
  0 siblings, 1 reply; 65+ messages in thread
From: Samuel Martin @ 2012-08-17 12:29 UTC (permalink / raw)
  To: buildroot

2012/8/17 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>:
> Le Mon, 13 Aug 2012 01:53:53 +0200,
> "Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :
>
>> +LIBISCSI_VERSION         = 1.5.0
>> +LIBISCSI_SITE            = git://github.com/sahlberg/libiscsi.git
>
> You can instead use
>
> https://github.com/sahlberg/libiscsi/zipball/$(LIBISCI_VERSION)
>
> which will download a zip file of the project.

I think the right url is:
https://github.com/downloads/sahlberg/libiscsi/libiscsi-1.5.0.tar.gz

Though the zipball/tarball url is valid as soon as a tag is pushed in
the repository, it will require some more plumbing in the download
infrastructure since the downloaded file name is $(FOO_VERSION) with
no extension. What a pity!

BTW, to get a source archive available on
https://github.com/downloads/*, the maintainers of the projects have
to upload it.

>
>> +LIBISCSI_LICENSE         = LGPLv2.1+
>> +LIBISCSI_LICENSE_FILES   = COPYING LICENCE-LGPL-2.1.txt
>> +# Note: the binaries are GPLv2+, but we do not use them
>> +LIBISCSI_INSTALL_STAGING = YES
>> +LIBISCSI_DEPENDENCIES    = popt
>> +
>> +#----------------------------------------------------------------------------
>> +# Package build process
>> +
>> +# As we use the git repository, we need to generate the configure script
>> +# Using the standard autoreconf does not work (missing m4/ dir)
>> +define LIBISCSI_CREATE_CONFIGURE
>> +     cd $(@D); ./autogen.sh
>> +endef
>> +LIBISCSI_PRE_CONFIGURE_HOOKS += LIBISCSI_CREATE_CONFIGURE
>> +LIBISCSI_DEPENDENCIES        += host-autoconf
>
> host-autoconf will not bring host-automake, so I think you should
> either depend on host-automake (which itself depends on host-autoconf),
> or you should do like the autotools package infrastructure does:
> FOO_DEPENDENCIES += host-automake host-autoconf host-libtool.

I would assume that the autotools-package infrastructure automatically
pulled these host dependencies...



-- 
Sam

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

* [Buildroot] [PATCH 05/36] package/libiscsi: new package
  2012-08-17 12:29     ` Samuel Martin
@ 2012-08-17 12:42       ` Thomas Petazzoni
  0 siblings, 0 replies; 65+ messages in thread
From: Thomas Petazzoni @ 2012-08-17 12:42 UTC (permalink / raw)
  To: buildroot

Le Fri, 17 Aug 2012 14:29:53 +0200,
Samuel Martin <s.martin49@gmail.com> a ?crit :

> > You can instead use
> >
> > https://github.com/sahlberg/libiscsi/zipball/$(LIBISCI_VERSION)
> >
> > which will download a zip file of the project.
> 
> I think the right url is:
> https://github.com/downloads/sahlberg/libiscsi/libiscsi-1.5.0.tar.gz

Well, the above URL worked for me as well :)

> Though the zipball/tarball url is valid as soon as a tag is pushed in
> the repository, it will require some more plumbing in the download
> infrastructure since the downloaded file name is $(FOO_VERSION) with
> no extension. What a pity!

We have done changes to allow that for external toolchains (i.e
download a funky Git URL into a reasonably named tarball file), should
we do this for packages?

> > host-autoconf will not bring host-automake, so I think you should
> > either depend on host-automake (which itself depends on host-autoconf),
> > or you should do like the autotools package infrastructure does:
> > FOO_DEPENDENCIES += host-automake host-autoconf host-libtool.
> 
> I would assume that the autotools-package infrastructure automatically
> pulled these host dependencies...

It does if you do FOO_AUTORECONF=YES. But in this case, the
FOO_AUTORECONF mechanism doesn't work because the source tree lacks a
m4/ directory, needed for autoreconf. Usually, the packages come with
some ./autogen or ./autogen.sh or ./bootstrap script doing the
necessary preparation + autoreconf call, but there is no really
commonly adopted best practice here.

Best regards,

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

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

* [Buildroot] [PATCH 07/36] package/celt051: new package
  2012-08-17 11:18   ` Thomas Petazzoni
@ 2012-08-17 13:27     ` Yann E. MORIN
  2012-08-17 13:50       ` Thomas Petazzoni
  0 siblings, 1 reply; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-17 13:27 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On Friday 17 August 2012 13:18:18 Thomas Petazzoni wrote:
> Le Mon, 13 Aug 2012 01:53:55 +0200,
> "Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :
> 
> > --- /dev/null
> > +++ b/package/multimedia/celt051/Config.in
> > @@ -0,0 +1,15 @@
> > +config BR2_PACKAGE_CELT051
> > +	bool "celt051"
> > +	select BR2_PACKAGE_LIBOGG
> > +	help
> > +	  The CELT ultra-low delay audio codec
> 
> Just curious, for what reason an audio codec is needed as a dependency
> of a virtual machine thing? How does it fit in the stack?

celt-0.51 is a hard-depdency for Spice to encode the audio.
It's select-ed by BR2_PACKAGE_SPICE in a later patch.

Note that I added all new packages in a row, rather than add them just
prior to the requiring qemu feature. Should I re-order the series to make
the depedencies clearer?

> > +# Although version newer than 0.5.1.3 exists, we're
> > +# stuck with 0.5.1.3 for use by Spice (coming later)
> 
> Do you predict this version requirement to be kept for a long period of
> time?

Spice advertises that celt-051 is the only supported version because
later versions have changed too much and are thus not compatible.

I have absolutely no idea whther Spice will upgrade one day... :-/


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

Thanks!

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] 65+ messages in thread

* [Buildroot] [PATCH 11/36] package/qemu: new package
  2012-08-17 11:26       ` Thomas Petazzoni
@ 2012-08-17 13:32         ` Yann E. MORIN
  0 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-17 13:32 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On Friday 17 August 2012 13:26:06 Thomas Petazzoni wrote:
> Le Tue, 14 Aug 2012 19:03:45 +0200,
> "Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :
> 
> > > Just curious, what's the use case for Qemu on the target? I would have
> > > seen Qemu as something useful on the host, but on the target?
> > 
> > I want to build a libvirt-based system to host VMs, and I do not want
> > to use a complete distro for that : I do not care about the handy-dandy
> > init stuff, I don't care about networking auto-managing stuff, no fscking
> > desktop stuff... I just want a basic system that just runs a libvirt daemon,
> > and manages the VMs.
> > 
> > I want to build a completly-static QEMU, and that's not possible on a
> > desktop/server distro that uses glibc, because static linking still pulls
> > the NSS libs. So, rather than creating a new 'framework', I just decided
> > to reuse something. ;-)
> > 
> > I want to play! ;-)
> 
> Ok, interesting. The only thing I'm a bit worried about is that this
> brings Buildroot outside of its "environment to cross-compile Linux
> systems for embedded platforms". Although it initially probably fits
> the "minimal Linux system for VM hosting" use case, I'm worried that
> down the road the needs may diverge (for example people using Buildroot
> for VM hosting environments will want package management, etc.). But
> maybe I simply shouldn't anticipate too much on this and just see how
> things move.
> 
> However, on this patch set, I'd like to see at least a Ack from Peter
> on the general idea of merging Qemu for the target and all the required
> dependencies. If Peter is fine with the general idea, we can together
> review the implementation details, but the general idea needs to be
> Acked, me thinks.
> 
> Of course, other people in the community are invited to raise their
> voice here as well.

Of course, it diverges from the original goal.

But using buildroot for this stuff is really dead-easy (besides all the
time it takes to test, and dependencies, re-test and so-on... ;-) ).

I can understand that we may not want qemu upstream, but as I have this
stuff here, better post them at least for review, and if people find it
interesting, for upstreaming.

And yes, I too want an Ack from Peter before this is pulled.

Which should *not* be done now, I have some changes down the road (fixes
from the reviews, plus local sound support (not spice)).

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] 65+ messages in thread

* [Buildroot] [PATCH 06/36] package/usbredir: new package
  2012-08-17 11:15   ` Thomas Petazzoni
@ 2012-08-17 13:37     ` Yann E. MORIN
  2012-08-17 13:48       ` Thomas Petazzoni
  0 siblings, 1 reply; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-17 13:37 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On Friday 17 August 2012 13:15:58 Thomas Petazzoni wrote:
> Le Mon, 13 Aug 2012 01:53:54 +0200,
> "Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :
> 
> > +# Note: do not ofrget to update the license, above, if you keep the server.
> 
> forget

Hehe! :-)

> Otherwise, looks good.
> 
> Another note: have you looked at the uClibc compatibility of all these
> new packages, regarding things like wchar, locale, largefile, ipv6 and
> al. ?

I'm building with uClibc, but granted, that's a full-featured config.

I'll test further with a stripped-down config to see what's missing.

I at least know of one of the packages that requires SSP in the libc, but I
think there's no such knob in BR for now.

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] 65+ messages in thread

* [Buildroot] [PATCH 10/36] package/spice-server: new package
  2012-08-17 11:22   ` Thomas Petazzoni
@ 2012-08-17 13:38     ` Yann E. MORIN
  0 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-17 13:38 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On Friday 17 August 2012 13:22:18 Thomas Petazzoni wrote:
> Le Mon, 13 Aug 2012 01:53:58 +0200,
> "Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :
> 
> > --- /dev/null
> > +++ b/package/spice/Config.in
> > @@ -0,0 +1,22 @@
> > +config BR2_PACKAGE_SPICE
> > +	bool "spice server"
> > +	depends on BR2_PACKAGE_PYTHON_PYPARSING
> 
> This should probably be:
> 
> 	depends on BR2_PACKAGE_PYTHON
> 	select BR2_PACKAGE_PYTHON_PYPARSING

Ok, will do.

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] 65+ messages in thread

* [Buildroot] [PATCH 06/36] package/usbredir: new package
  2012-08-17 13:37     ` Yann E. MORIN
@ 2012-08-17 13:48       ` Thomas Petazzoni
  0 siblings, 0 replies; 65+ messages in thread
From: Thomas Petazzoni @ 2012-08-17 13:48 UTC (permalink / raw)
  To: buildroot

Le Fri, 17 Aug 2012 15:37:53 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :

> > Another note: have you looked at the uClibc compatibility of all these
> > new packages, regarding things like wchar, locale, largefile, ipv6 and
> > al. ?
> 
> I'm building with uClibc, but granted, that's a full-featured config.
> 
> I'll test further with a stripped-down config to see what's missing.

Ok, thanks!

> I at least know of one of the packages that requires SSP in the libc, but I
> think there's no such knob in BR for now.

We have BR2_TOOLCHAIN_BUILDROOT_USE_SSP in the internal backend.

If one package requires SSP support, it's going to be a pain with
external toolchains that may not have enabled this feature. How is it
possible that a package requires such mechanism?

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

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

* [Buildroot] [PATCH 07/36] package/celt051: new package
  2012-08-17 13:27     ` Yann E. MORIN
@ 2012-08-17 13:50       ` Thomas Petazzoni
  2012-08-17 14:35         ` Yann E. MORIN
  0 siblings, 1 reply; 65+ messages in thread
From: Thomas Petazzoni @ 2012-08-17 13:50 UTC (permalink / raw)
  To: buildroot

Le Fri, 17 Aug 2012 15:27:29 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :

> > Just curious, for what reason an audio codec is needed as a dependency
> > of a virtual machine thing? How does it fit in the stack?
> 
> celt-0.51 is a hard-depdency for Spice to encode the audio.
> It's select-ed by BR2_PACKAGE_SPICE in a later patch.
> 
> Note that I added all new packages in a row, rather than add them just
> prior to the requiring qemu feature. Should I re-order the series to make
> the depedencies clearer?

No, I understood perfectly that celt was a dependency of spice. My
question was not Buildroot-specific: I was trying to understand
what Qemu/Spice had to do with an audio encoder.

> > Do you predict this version requirement to be kept for a long period of
> > time?
> 
> Spice advertises that celt-051 is the only supported version because
> later versions have changed too much and are thus not compatible.
> 
> I have absolutely no idea whther Spice will upgrade one day... :-/

Ah, ok, I just realized you named the package celt051 and not celt just
because of that. Ok, good.

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

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

* [Buildroot] [PATCH 07/36] package/celt051: new package
  2012-08-17 13:50       ` Thomas Petazzoni
@ 2012-08-17 14:35         ` Yann E. MORIN
  0 siblings, 0 replies; 65+ messages in thread
From: Yann E. MORIN @ 2012-08-17 14:35 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On Friday 17 August 2012 15:50:47 Thomas Petazzoni wrote:
> Le Fri, 17 Aug 2012 15:27:29 +0200,
> "Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :
> 
> > > Just curious, for what reason an audio codec is needed as a dependency
> > > of a virtual machine thing? How does it fit in the stack?
> > 
> > celt-0.51 is a hard-depdency for Spice to encode the audio.
> > It's select-ed by BR2_PACKAGE_SPICE in a later patch.
> > 
> > Note that I added all new packages in a row, rather than add them just
> > prior to the requiring qemu feature. Should I re-order the series to make
> > the depedencies clearer?
> 
> No, I understood perfectly that celt was a dependency of spice. My
> question was not Buildroot-specific: I was trying to understand
> what Qemu/Spice had to do with an audio encoder.

Spice is a VNC-like solution, but specificaly designed for use by virtual
machine hypervisors. It can transport video and audio alike, and uses celt
to encode/decode the audio for sending over-the-wire.

I don't know why they choose celt instead of ogg or anything else,
except maybe that celt is developped to be really patent-unencumbered.

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] 65+ messages in thread

* [Buildroot] [PATCH 02/36] package/sdl: add symlink to sdl-config
  2012-08-13 10:57   ` Thomas Petazzoni
  2012-08-13 11:32     ` Yann E. MORIN
@ 2012-08-28 23:09     ` Arnout Vandecappelle
  1 sibling, 0 replies; 65+ messages in thread
From: Arnout Vandecappelle @ 2012-08-28 23:09 UTC (permalink / raw)
  To: buildroot

On 08/13/12 12:57, Thomas Petazzoni wrote:
> Le Mon, 13 Aug 2012 01:53:50 +0200,
> "Yann E. MORIN"<yann.morin.1998@free.fr>  a ?crit :
>
>> >  SDL installs a script-based sdl-config in the sysroot, but some
>> >  packages (eg. QEMU) needs it to be either:
>> >     - prefixed with the cross-prefix
>> >     - in the PATH
>> >
>> >  So, as sdl-config is a script, and although it is installed in
>> >  the sysroot, it can be run on the host.
> Well, that's typically not how we handle this problem. In general, we
> pass the complete location of the<foo>-config script to
> the ./configure script of the package that needs it. I would prefer if
> we could use this solution everywhere instead of having a different
> solution in different places for the same problem.

  Although I fully agree with using the same pattern everywhere, I think the
pattern is wrong here.  Having a xxx-config script is supposed to make it
easy to discover a package; if you have to point to it explicitly in the
package.mk using it, that kind of defeats the purpose.

  Of course, even so it is still shaky.  If the xxx-config has to be looked up
from the PATH, we risk picking up /usr/bin/xxx-config...  In an ideal world,
they'd all be using pkg-config...  But in an ideal work we probably wouldn't
even need buildroot :-)

  Regards,
  Arnout
-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
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] 65+ messages in thread

end of thread, other threads:[~2012-08-28 23:09 UTC | newest]

Thread overview: 65+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
2012-08-12 23:53 ` [Buildroot] [PATCH 02/36] package/sdl: add symlink to sdl-config Yann E. MORIN
2012-08-13 10:57   ` Thomas Petazzoni
2012-08-13 11:32     ` Yann E. MORIN
2012-08-28 23:09     ` Arnout Vandecappelle
2012-08-12 23:53 ` [Buildroot] [PATCH 03/36] package/libfdt: new package Yann E. MORIN
2012-08-14 13:23   ` Thomas Petazzoni
2012-08-14 16:51     ` Yann E. MORIN
2012-08-12 23:53 ` [Buildroot] [PATCH 04/36] package/vde2: " Yann E. MORIN
2012-08-14 13:24   ` Thomas Petazzoni
2012-08-14 16:57     ` Yann E. MORIN
2012-08-12 23:53 ` [Buildroot] [PATCH 05/36] package/libiscsi: " Yann E. MORIN
2012-08-17 11:14   ` Thomas Petazzoni
2012-08-17 12:29     ` Samuel Martin
2012-08-17 12:42       ` Thomas Petazzoni
2012-08-12 23:53 ` [Buildroot] [PATCH 06/36] package/usbredir: " Yann E. MORIN
2012-08-17 11:15   ` Thomas Petazzoni
2012-08-17 13:37     ` Yann E. MORIN
2012-08-17 13:48       ` Thomas Petazzoni
2012-08-12 23:53 ` [Buildroot] [PATCH 07/36] package/celt051: " Yann E. MORIN
2012-08-17 11:18   ` Thomas Petazzoni
2012-08-17 13:27     ` Yann E. MORIN
2012-08-17 13:50       ` Thomas Petazzoni
2012-08-17 14:35         ` Yann E. MORIN
2012-08-12 23:53 ` [Buildroot] [PATCH 08/36] package/python-pyparsing: " Yann E. MORIN
2012-08-17 11:19   ` Thomas Petazzoni
2012-08-12 23:53 ` [Buildroot] [PATCH 09/36] package/spice-protocol: " Yann E. MORIN
2012-08-17 11:20   ` Thomas Petazzoni
2012-08-12 23:53 ` [Buildroot] [PATCH 10/36] package/spice-server: " Yann E. MORIN
2012-08-17 11:22   ` Thomas Petazzoni
2012-08-17 13:38     ` Yann E. MORIN
2012-08-12 23:53 ` [Buildroot] [PATCH 11/36] package/qemu: " Yann E. MORIN
2012-08-13  6:52   ` Yann E. MORIN
2012-08-13  7:22   ` Diego Iastrubni
2012-08-13  7:46     ` Yann E. MORIN
2012-08-14 13:34   ` Thomas Petazzoni
2012-08-14 17:03     ` Yann E. MORIN
2012-08-17 11:26       ` Thomas Petazzoni
2012-08-17 13:32         ` Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 12/36] package/qemu: add basic target selection Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 13/36] package/qemu: add fine-grained " Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 14/36] package/qemu: add SDL frontends Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 15/36] package/qemu: add option to enable/disable the VNC frontend Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 16/36] package/qemu: add VNC jpeg and png compression Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 17/36] package/qemu: add VNC TLS-encryption Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 18/36] package/qemu: add option to not install blobs Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 19/36] package/qemu: add option to remove unwanted keymaps Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 20/36] package/qemu: add uuid support Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 21/36] package/qemu: add support for capabilities Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 22/36] package/qemu: add attr/xattr option Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 23/36] package/qemu: add support for virtfs Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 24/36] package/qemu: add support for cURL Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 25/36] package/qemu: enable use of the curses frontend Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 26/36] package/qemu: add BlueZ connectivity Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 27/36] package/qemu: add AIO support Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 28/36] package/qemu: add support for FDT Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 29/36] package/qemu: add support for VDE switches Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 30/36] package/qemu: add iSCSI support Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 31/36] package/qemu: add support for USB redirection Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 32/36] package/qemu: add support for Spice Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 33/36] package/qemu: option to build the docs Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 34/36] package/qemu: enable guest-base Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 35/36] package/qemu: move sub-options into a sub-menu Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 36/36] package/qemu: enable a static build Yann E. MORIN
2012-08-13  0:00 ` [Buildroot] [PATCH 01/36] system/init: add option for no init system 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.