All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [pull request] Pull request for branch xenomai-rtai
@ 2011-09-17 20:22 Thomas Petazzoni
  2011-09-17 20:22 ` [Buildroot] [PATCH 1/8] linux: Add Linux Kernel extensions menu Thomas Petazzoni
                   ` (9 more replies)
  0 siblings, 10 replies; 30+ messages in thread
From: Thomas Petazzoni @ 2011-09-17 20:22 UTC (permalink / raw)
  To: buildroot

Hello,

Here is a patch set that adds the Xenomai and RTAI real-time
extensions of the Linux kernel. The Xenomai patches come from Thomas
de Schampheleire, who himself took them from Beno?t Mauduit. Those
patches have been improved further, taking into account comments from
Arnout, and adding some more features (ability to remove test
programs, RT-CAN programs, Analogy programs, and select which skins
should be installed).

The RTAI real-time extension is also added. It is not well supported
on architectures others than x86/x86-64, but can be useful on those
architectures. However, its integration required a small change in the
package infrastructure, described in detail in its commit log.

Regards,

Thomas

The following changes since commit 16d6e9b3420e78a89960b8b68202ea46a618810d:

  Makefile.autotools.in: fix autoreconf libtool patching after libtool move (2011-09-17 14:16:42 +0200)

are available in the git repository at:
  http://free-electrons.com/~thomas/buildroot.git xenomai-rtai

Thomas De Schampheleire (2):
      linux: Add Linux Kernel extensions menu
      Add xenomai real-time Framework to buildroot

Thomas Petazzoni (6):
      xenomai: add support to keep or remove testsuite programs
      xenomai: add support to keep or remove RT-CAN utilities
      xenomai: add support to keep or remove Analogy utilities and libs
      xenomai: add support to keep or remove skins
      package: change ordering of steps
      Add support for the RTAI real-time extension

 linux/Config.ext.in                                |   31 ++++
 linux/Config.in                                    |    4 +
 linux/linux-ext-rtai.mk                            |   47 ++++++
 linux/linux-ext-xenomai.mk                         |   30 ++++
 linux/linux.mk                                     |    2 +
 package/Config.in                                  |    5 +
 package/Makefile.package.in                        |    6 +-
 package/rtai/Config.in                             |    2 +
 package/rtai/rtai.mk                               |   16 ++
 package/xenomai/Config.in                          |  159 ++++++++++++++++++++
 .../xenomai/xenomai-do-not-install-devices.patch   |   11 ++
 package/xenomai/xenomai.mk                         |  159 ++++++++++++++++++++
 target/generic/device_table_dev.txt                |    5 +
 13 files changed, 474 insertions(+), 3 deletions(-)
 create mode 100644 linux/Config.ext.in
 create mode 100644 linux/linux-ext-rtai.mk
 create mode 100644 linux/linux-ext-xenomai.mk
 create mode 100644 package/rtai/Config.in
 create mode 100644 package/rtai/rtai.mk
 create mode 100644 package/xenomai/Config.in
 create mode 100644 package/xenomai/xenomai-do-not-install-devices.patch
 create mode 100644 package/xenomai/xenomai.mk

Thanks,
-- 
Thomas Petazzoni

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

* [Buildroot] [PATCH 1/8] linux: Add Linux Kernel extensions menu
  2011-09-17 20:22 [Buildroot] [pull request] Pull request for branch xenomai-rtai Thomas Petazzoni
@ 2011-09-17 20:22 ` Thomas Petazzoni
  2011-09-18 20:32   ` Peter Korsgaard
  2011-09-17 20:22 ` [Buildroot] [PATCH 2/8] Add xenomai real-time Framework to buildroot Thomas Petazzoni
                   ` (8 subsequent siblings)
  9 siblings, 1 reply; 30+ messages in thread
From: Thomas Petazzoni @ 2011-09-17 20:22 UTC (permalink / raw)
  To: buildroot

From: Thomas De Schampheleire <patrickdepinguin+buildroot@gmail.com>

Add a kernel sub-menu (called "Linux Kernel Extensions"), which makes
possible to patch it or tweak the kernel build step.

 * All linux/linux-ext-*.mk files will be read by the make process.
 * The menu can be customized in "linux/Config.ext.in".

Signed-off-by: Benoit Mauduit <benoit.mauduit@openwide.fr>
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
---
 linux/Config.ext.in |    3 +++
 linux/Config.in     |    4 ++++
 linux/linux.mk      |    2 ++
 3 files changed, 9 insertions(+), 0 deletions(-)
 create mode 100644 linux/Config.ext.in

diff --git a/linux/Config.ext.in b/linux/Config.ext.in
new file mode 100644
index 0000000..50e801d
--- /dev/null
+++ b/linux/Config.ext.in
@@ -0,0 +1,3 @@
+menu "Linux Kernel Extensions"
+
+endmenu
diff --git a/linux/Config.in b/linux/Config.in
index 537cb54..7852408 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -176,6 +176,10 @@ config BR2_LINUX_KERNEL_INSTALL_TARGET
 	  /boot in the target root filesystem, as is typically done on
 	  x86/x86_64 systems.
 
+
+# Linux extensions (Xenomai)
+source "linux/Config.ext.in"
+
 endif # BR2_LINUX_KERNEL
 
 endmenu
diff --git a/linux/linux.mk b/linux/linux.mk
index d289b28..f249d96 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -177,6 +177,8 @@ define LINUX_INSTALL_TARGET_CMDS
 	fi
 endef
 
+include linux/linux-ext-*.mk
+
 $(eval $(call GENTARGETS,,linux))
 
 linux-menuconfig linux-xconfig linux-gconfig linux-nconfig linux26-menuconfig linux26-xconfig linux26-gconfig linux26-nconfig: dirs $(LINUX_DIR)/.stamp_configured
-- 
1.7.4.1

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

* [Buildroot] [PATCH 2/8] Add xenomai real-time Framework to buildroot
  2011-09-17 20:22 [Buildroot] [pull request] Pull request for branch xenomai-rtai Thomas Petazzoni
  2011-09-17 20:22 ` [Buildroot] [PATCH 1/8] linux: Add Linux Kernel extensions menu Thomas Petazzoni
@ 2011-09-17 20:22 ` Thomas Petazzoni
  2011-09-18 20:41   ` Peter Korsgaard
  2011-09-17 20:22 ` [Buildroot] [PATCH 3/8] xenomai: add support to keep or remove testsuite programs Thomas Petazzoni
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 30+ messages in thread
From: Thomas Petazzoni @ 2011-09-17 20:22 UTC (permalink / raw)
  To: buildroot

From: Thomas De Schampheleire <patrickdepinguin+buildroot@gmail.com>

[Fixes by Thomas, including comments from Arnout:
  * Use AUTOTARGETS instead of GENTARGETS

  * Use $(KERNEL_ARCH) instead of $(BR2_ARCH) as argument to the
    prepare-kernel.sh script. This allows the arch name to be fixed
    with the usual sed expressions and the quotes to be stripped.

  * Add the --verbose option to prepare-kernel.sh. This allows to get
    some clear error message when no Xenomai patch has been found for
    the current kernel version.

  * Improve the help texts as suggested by Arnout, and remove the
    now useless README file.

  * Add a BR2_PACKAGE_XENOMAI_SMP option, instead of poking inside the
    kernel configuration to find out whether SMP is enabled or
    not. This cannot work because: 1) the kernel might be built
    outside of Buildroot and 2) if the kernel is built inside
    Buildroot, it is built *after* Xenomai, so the kernel
    configuration file is typically not yet present.

  * Simplify the ARM subarchitecture selection as suggested by Arnout.

  * Remove the documentation and development files according to
    Buildroot standards (using BR2_HAVE_DOCUMENTATION and
    BR2_HAVE_DEVFILES).

  * Simplify the /etc/ld.so.conf modification logic.
]

Signed-off-by: Benoit Mauduit <benoit.mauduit@openwide.fr>
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 linux/Config.ext.in                                |   15 +++
 linux/linux-ext-xenomai.mk                         |   30 ++++++
 package/Config.in                                  |    4 +
 package/xenomai/Config.in                          |  106 ++++++++++++++++++++
 .../xenomai/xenomai-do-not-install-devices.patch   |   11 ++
 package/xenomai/xenomai.mk                         |   99 ++++++++++++++++++
 target/generic/device_table_dev.txt                |    5 +
 7 files changed, 270 insertions(+), 0 deletions(-)
 create mode 100644 linux/linux-ext-xenomai.mk
 create mode 100644 package/xenomai/Config.in
 create mode 100644 package/xenomai/xenomai-do-not-install-devices.patch
 create mode 100644 package/xenomai/xenomai.mk

diff --git a/linux/Config.ext.in b/linux/Config.ext.in
index 50e801d..fc37d23 100644
--- a/linux/Config.ext.in
+++ b/linux/Config.ext.in
@@ -1,3 +1,18 @@
 menu "Linux Kernel Extensions"
 
+# Xenomai
+config BR2_LINUX_KERNEL_EXT_XENOMAI
+	bool "Adeos/Xenomai Real-time patch"
+  	select BR2_PACKAGE_XENOMAI
+	help
+	  Xenomai Kernel part.
+
+config BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH
+	depends on BR2_LINUX_KERNEL_EXT_XENOMAI
+	string "Path for Adeos patch file"
+	help
+	  Optionally, explicitly specify the Adeos patch to use.
+	  Download it at http://download.gna.org/adeos/patches/v2.6/$(ARCH)/
+	  and verify that your kernel version in buildroot matches.
+
 endmenu
diff --git a/linux/linux-ext-xenomai.mk b/linux/linux-ext-xenomai.mk
new file mode 100644
index 0000000..0db685a
--- /dev/null
+++ b/linux/linux-ext-xenomai.mk
@@ -0,0 +1,30 @@
+##################################################
+# Linux Adeos/Xenomai extensions
+#
+# Patch the linux kernel with xenomai extension
+##################################################
+
+ifeq ($(BR2_LINUX_KERNEL_EXT_XENOMAI),y)
+# Add dependency to xenomai (user-space) which provide ksrc part
+LINUX_DEPENDENCIES += xenomai
+
+# Adeos patch version
+XENOMAI_ADEOS_PATCH = $(call qstrip,$(BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH))
+ifeq ($(XENOMAI_ADEOS_PATCH),)
+XENOMAI_ADEOS_OPT = --default
+else
+XENOMAI_ADEOS_OPT = --adeos=$(XENOMAI_ADEOS_PATCH)
+endif
+
+# Prepare kernel patch
+define XENOMAI_PREPARE_KERNEL
+	$(XENOMAI_DIR)/scripts/prepare-kernel.sh \
+		--linux=$(LINUX_DIR) \
+		--arch=$(KERNEL_ARCH) \
+		$(XENOMAI_ADEOS_OPT)		  \
+		--verbose
+endef
+
+LINUX_POST_EXTRACT_HOOKS += XENOMAI_PREPARE_KERNEL
+
+endif #BR2_LINUX_EXT_XENOMAI
diff --git a/package/Config.in b/package/Config.in
index d95e7b5..efb266a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -487,6 +487,10 @@ source "package/rpm/Config.in"
 endif
 endmenu
 
+menu "Real-Time"
+source "package/xenomai/Config.in"
+endmenu
+
 menu "Shell and utilities"
 source "package/at/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in
new file mode 100644
index 0000000..b5737b8
--- /dev/null
+++ b/package/xenomai/Config.in
@@ -0,0 +1,106 @@
+config BR2_PACKAGE_XENOMAI
+	bool "Xenomai Userspace"
+	help
+	  Real-Time Framework for Linux
+	  http://www.xenomai.org
+
+	  Xenomai is split in two parts: a kernel part and an
+	  userspace part.
+
+	  This package contains the userspace part, which consists
+	  mainly in libraries to write userspace real-time programs
+	  that interact with the in-kernel Xenomai real-time core.
+
+	  For those libraries to work, you need a Xenomai-enabled
+	  kernel. This is possible in two ways:
+	   - if you compile your kernel with Buildroot, you need to go
+	     to Linux Kernel -> Linux Kernel Extensions to enable the
+	     Xenomai extension.
+	   - if you compile your kernel outside of Buildroot, you need
+	     to make sure that it is Xenomai-enabled.
+
+	  Finally, if you are using a static /dev, make sure to
+	  uncomment the Xenomai entries listed in
+	  target/generic/device_table_dev.txt.
+
+if BR2_PACKAGE_XENOMAI
+
+config BR2_PACKAGE_XENOMAI_VERSION
+	string "Custom Xenomai version"
+	help
+	  Manually select Xenomai version.  If left empty, the default
+	  version will be used.
+
+	  Make sure that the selected version has a patch for your
+	  selected Linux kernel. If it does not, download and select
+	  a patch manually with
+	  BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH, in the Linux
+	  Kernel -> Linux Kernel Extensions menu.
+
+config BR2_PACKAGE_XENOMAI_SMP
+	bool "Enable SMP support"
+	help
+	  This option allows to enable or disable SMP support. It has
+	  to match your kernel configuration.
+
+choice
+	prompt "Xenomai ARM CPU type"
+	depends on BR2_arm
+	default BR2_PACKAGE_XENOMAI_CPU_GENERIC_ARM
+	help
+	  On the ARM architecture, Xenomai needs to be configured for
+	  a specific sub-architecture.  Select the appropriate
+	  sub-architecture from the list.
+
+	config BR2_PACKAGE_XENOMAI_CPU_AT91RM9200
+		bool "Atmel AT91RM9200"
+
+	config BR2_PACKAGE_XENOMAI_CPU_AT91SAM926X
+		bool "Atmel AT91SAM926X"
+
+	config BR2_PACKAGE_XENOMAI_CPU_INTEGRATOR
+		bool "ARM Ltd. Integrator"
+
+	config BR2_PACKAGE_XENOMAI_CPU_IXP4XX
+		bool "Intel IXP4XX (XScale)"
+
+	config BR2_PACKAGE_XENOMAI_CPU_IMX
+		bool "Freescale i.MX (MX1/MXL)"
+
+	config BR2_PACKAGE_XENOMAI_CPU_IMX21
+		bool "Freescale i.MX21"
+
+	config BR2_PACKAGE_XENOMAI_CPU_MX2
+		bool "Freescale MXC/MX2"
+
+	config BR2_PACKAGE_XENOMAI_CPU_MX3
+		bool "Freescale MXC/MX3"
+
+	config BR2_PACKAGE_XENOMAI_CPU_SA1100
+		bool "StrongARM SA1100"
+
+	config BR2_PACKAGE_XENOMAI_CPU_S3C2410
+		bool "S3C2410"
+
+	config BR2_PACKAGE_XENOMAI_CPU_GENERIC_ARM
+		bool "Generic ARM"
+
+endchoice
+
+# Now set CPU type. We force manually selected type even if detected in case
+# user takes the risk.
+config BR2_PACKAGE_XENOMAI_CPU_TYPE
+	string
+	depends on BR2_PACKAGE_XENOMAI && BR2_arm
+	default "at91rm9200"  if BR2_PACKAGE_XENOMAI_CPU_AT91RM9200
+	default "at91sam926x" if BR2_PACKAGE_XENOMAI_CPU_AT91SAM926X
+	default "integrator"  if BR2_PACKAGE_XENOMAI_CPU_INTEGRATOR
+	default "ixp4xx"      if BR2_PACKAGE_XENOMAI_CPU_IXP4XX
+	default "generic"     if BR2_PACKAGE_XENOMAI_CPU_GENERIC_ARM
+	default "imx"         if BR2_PACKAGE_XENOMAI_CPU_IMX
+	default "imx21"       if BR2_PACKAGE_XENOMAI_CPU_IMX21
+	default "mx2"         if BR2_PACKAGE_XENOMAI_CPU_MX2
+	default "mx3"         if BR2_PACKAGE_XENOMAI_CPU_MX3
+	default "s3c2410"     if BR2_PACKAGE_XENOMAI_CPU_S3C2410
+
+endif
diff --git a/package/xenomai/xenomai-do-not-install-devices.patch b/package/xenomai/xenomai-do-not-install-devices.patch
new file mode 100644
index 0000000..348abee
--- /dev/null
+++ b/package/xenomai/xenomai-do-not-install-devices.patch
@@ -0,0 +1,11 @@
+--- a/Makefile.in	2011-06-24 16:11:23.591449817 +0200
++++ b/Makefile.in	2011-06-24 16:20:29.638129633 +0200
+@@ -719,7 +719,7 @@
+ 	  $$sudo mknod -m 666 $(DESTDIR)/dev/rtheap c 10 254 ; \
+ 	fi
+ 
+-install-exec-local: devices
++install-exec-local:
+ 
+ install-user:
+ 	$(MAKE) SUDO=false install
diff --git a/package/xenomai/xenomai.mk b/package/xenomai/xenomai.mk
new file mode 100644
index 0000000..8f78333
--- /dev/null
+++ b/package/xenomai/xenomai.mk
@@ -0,0 +1,99 @@
+#############################################################
+# Xenomai
+# URL  : http://xenomai.org
+# NOTE : Real-Time Framework for Linux
+#
+#############################################################
+
+XENOMAI_VERSION = $(call qstrip,$(BR2_PACKAGE_XENOMAI_VERSION))
+ifeq ($(XENOMAI_VERSION),)
+XENOMAI_VERSION = 2.5.6
+endif
+
+XENOMAI_SITE = http://download.gna.org/xenomai/stable/
+XENOMAI_SOURCE = xenomai-$(XENOMAI_VERSION).tar.bz2
+
+XENOMAI_INSTALL_STAGING = YES
+
+ifeq ($(BR2_arm),y)
+XENOMAI_CPU_TYPE = $(call qstrip,$(BR2_PACKAGE_XENOMAI_CPU_TYPE))
+# Set "generic" if not defined
+ifeq ($(XENOMAI_CPU_TYPE),)
+XENOMAI_CPU_TYPE = generic
+endif
+XENOMAI_CONF_OPT += --enable-arm-mach=$(XENOMAI_CPU_TYPE)
+endif #BR2_arm
+
+ifeq ($(BR2_PACKAGE_XENOMAI_SMP),y)
+XENOMAI_CONF_OPT += --enable-smp
+endif
+
+# The configure step needs to be overloaded, because Xenomai doesn't
+# support --prefix=/usr and the autotargets infrastructure enforces
+# this.
+define XENOMAI_CONFIGURE_CMDS
+	(cd $(@D); rm -rf config.cache; \
+		$(TARGET_CONFIGURE_OPTS) \
+		$(TARGET_CONFIGURE_ARGS) \
+		CCFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
+		./configure \
+		$(XENOMAI_CONF_OPT) \
+		--host=$(GNU_TARGET_NAME) \
+	)
+endef
+
+ifeq ($(BR2_HAVE_DOCUMENTATION),)
+define XENOMAI_REMOVE_DOCUMENTATION
+	rm -rf $(TARGET_DIR)/usr/xenomai/share/doc
+	rm -rf $(TARGET_DIR)/usr/xenomai/share/man
+endef
+
+XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_DOCUMENTATION
+endif
+
+ifeq ($(BR2_HAVE_DEVFILES),)
+define XENOMAI_REMOVE_DEVFILES
+	rm -rf $(TARGET_DIR)/usr/xenomai/include
+	for i in xeno-config xeno-info wrap-link.sh ; do \
+		rm -f $(TARGET_DIR)/usr/xenomai/bin/$$i ; \
+	done
+endef
+
+XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_DEVFILES
+endif
+
+define XENOMAI_ADD_LD_SO_CONF
+	# Add /usr/xenomai/lib in the library search path
+	grep -q "^/usr/xenomai/lib" $(TARGET_DIR)/etc/ld.so.conf || \
+		echo "/usr/xenomai/lib" >> $(TARGET_DIR)/etc/ld.so.conf
+endef
+
+XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_ADD_LD_SO_CONF
+
+# If you use static /dev creation don't forget to update your
+#  device_table_dev.txt
+ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),y)
+XENOMAI_DEPENDENCIES += udev
+
+define XENOMAI_INSTALL_UDEV_RULES
+	if test -d $(TARGET_DIR)/etc/udev/rules.d ; then \
+		for f in $(@D)/ksrc/nucleus/udev/*.rules ; do \
+			cp $$f $(TARGET_DIR)/etc/udev/rules.d/ ; \
+		done ; \
+	fi;
+endef
+
+XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_INSTALL_UDEV_RULES
+endif # udev
+
+define XENOMAI_REMOVE_UDEV_RULES
+	if test -d $(TARGET_DIR)/etc/udev/rules.d ; then \
+		for f in $(@D)/ksrc/nucleus/udev/*.rules ; do \
+			rm -f $(TARGET_DIR)/etc/udev/rules.d/$$f ; \
+		done ; \
+	fi;
+endef
+
+XENOMAI_POST_UNINSTALL_TARGET_HOOKS += XENOMAI_REMOVE_UDEV_RULES
+
+$(eval $(call AUTOTARGETS,package,xenomai))
diff --git a/target/generic/device_table_dev.txt b/target/generic/device_table_dev.txt
index a3d53d4..71cd083 100644
--- a/target/generic/device_table_dev.txt
+++ b/target/generic/device_table_dev.txt
@@ -141,3 +141,8 @@
 
 # I2C device nodes
 /dev/i2c-	c	666	0	0	89	0	0	1	4
+
+# Xenomai
+#/dev/rtheap     c       666     0       0       10      254     0       0       -
+#/dev/rtscope    c       666     0       0       10      253     0       0       -
+#/dev/rtp        c       666     0       0       150     0       0       1       32
-- 
1.7.4.1

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

* [Buildroot] [PATCH 3/8] xenomai: add support to keep or remove testsuite programs
  2011-09-17 20:22 [Buildroot] [pull request] Pull request for branch xenomai-rtai Thomas Petazzoni
  2011-09-17 20:22 ` [Buildroot] [PATCH 1/8] linux: Add Linux Kernel extensions menu Thomas Petazzoni
  2011-09-17 20:22 ` [Buildroot] [PATCH 2/8] Add xenomai real-time Framework to buildroot Thomas Petazzoni
@ 2011-09-17 20:22 ` Thomas Petazzoni
  2011-09-18 20:43   ` Peter Korsgaard
  2011-09-17 20:22 ` [Buildroot] [PATCH 4/8] xenomai: add support to keep or remove RT-CAN utilities Thomas Petazzoni
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 30+ messages in thread
From: Thomas Petazzoni @ 2011-09-17 20:22 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/xenomai/Config.in  |    5 +++++
 package/xenomai/xenomai.mk |   17 +++++++++++++++++
 2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in
index b5737b8..26c6b51 100644
--- a/package/xenomai/Config.in
+++ b/package/xenomai/Config.in
@@ -103,4 +103,9 @@ config BR2_PACKAGE_XENOMAI_CPU_TYPE
 	default "mx3"         if BR2_PACKAGE_XENOMAI_CPU_MX3
 	default "s3c2410"     if BR2_PACKAGE_XENOMAI_CPU_S3C2410
 
+config BR2_PACKAGE_XENOMAI_TESTSUITE
+       bool "Install testsuite"
+       help
+         This option allows to install the Xenomai test programs.
+
 endif
diff --git a/package/xenomai/xenomai.mk b/package/xenomai/xenomai.mk
index 8f78333..cb73740 100644
--- a/package/xenomai/xenomai.mk
+++ b/package/xenomai/xenomai.mk
@@ -62,6 +62,23 @@ endef
 XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_DEVFILES
 endif
 
+ifeq ($(BR2_PACKAGE_XENOMAI_TESTSUITE),)
+define XENOMAI_REMOVE_TESTSUITE
+	rm -rf $(TARGET_DIR)/usr/xenomai/share/xenomai/testsuite/
+	rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/xenomai/share/xenomai/
+	rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/xenomai/share/
+	for i in klatency rtdm xeno xeno-load check-vdso \
+		irqloop cond-torture-posix switchtest arith \
+		sigtest clocktest cyclictest latency wakeup-time \
+		xeno-test cond-torture-native mutex-torture-posix \
+		mutex-torture-native ; do \
+		rm -f $(TARGET_DIR)/usr/xenomai/bin/$$i ; \
+	done
+endef
+
+XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_TESTSUITE
+endif
+
 define XENOMAI_ADD_LD_SO_CONF
 	# Add /usr/xenomai/lib in the library search path
 	grep -q "^/usr/xenomai/lib" $(TARGET_DIR)/etc/ld.so.conf || \
-- 
1.7.4.1

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

* [Buildroot] [PATCH 4/8] xenomai: add support to keep or remove RT-CAN utilities
  2011-09-17 20:22 [Buildroot] [pull request] Pull request for branch xenomai-rtai Thomas Petazzoni
                   ` (2 preceding siblings ...)
  2011-09-17 20:22 ` [Buildroot] [PATCH 3/8] xenomai: add support to keep or remove testsuite programs Thomas Petazzoni
@ 2011-09-17 20:22 ` Thomas Petazzoni
  2011-09-18 20:44   ` Peter Korsgaard
  2011-09-17 20:22 ` [Buildroot] [PATCH 5/8] xenomai: add support to keep or remove Analogy utilities and libs Thomas Petazzoni
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 30+ messages in thread
From: Thomas Petazzoni @ 2011-09-17 20:22 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/xenomai/Config.in  |    5 +++++
 package/xenomai/xenomai.mk |   11 +++++++++++
 2 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in
index 26c6b51..6ba9f8b 100644
--- a/package/xenomai/Config.in
+++ b/package/xenomai/Config.in
@@ -108,4 +108,9 @@ config BR2_PACKAGE_XENOMAI_TESTSUITE
        help
          This option allows to install the Xenomai test programs.
 
+config BR2_PACKAGE_XENOMAI_RTCAN
+       bool "RTCan utilities"
+       help
+         This option allows to install the Xenomai RT-CAN utilities.
+
 endif
diff --git a/package/xenomai/xenomai.mk b/package/xenomai/xenomai.mk
index cb73740..36e2e44 100644
--- a/package/xenomai/xenomai.mk
+++ b/package/xenomai/xenomai.mk
@@ -79,6 +79,17 @@ endef
 XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_TESTSUITE
 endif
 
+ifeq ($(BR2_PACKAGE_XENOMAI_RTCAN),)
+define XENOMAI_REMOVE_RTCAN_PROGS
+	for i in rtcanrecv rtcansend ; do \
+		rm -f $(TARGET_DIR)/usr/xenomai/bin/$$i ; \
+	done
+	rm -f $(TARGET_DIR)/usr/xenomai/sbin/rtcanconfig
+endef
+
+XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_RTCAN_PROGS
+endif
+
 define XENOMAI_ADD_LD_SO_CONF
 	# Add /usr/xenomai/lib in the library search path
 	grep -q "^/usr/xenomai/lib" $(TARGET_DIR)/etc/ld.so.conf || \
-- 
1.7.4.1

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

* [Buildroot] [PATCH 5/8] xenomai: add support to keep or remove Analogy utilities and libs
  2011-09-17 20:22 [Buildroot] [pull request] Pull request for branch xenomai-rtai Thomas Petazzoni
                   ` (3 preceding siblings ...)
  2011-09-17 20:22 ` [Buildroot] [PATCH 4/8] xenomai: add support to keep or remove RT-CAN utilities Thomas Petazzoni
@ 2011-09-17 20:22 ` Thomas Petazzoni
  2011-09-18 20:44   ` Peter Korsgaard
  2011-09-17 20:22 ` [Buildroot] [PATCH 6/8] xenomai: add support to keep or remove skins Thomas Petazzoni
                   ` (4 subsequent siblings)
  9 siblings, 1 reply; 30+ messages in thread
From: Thomas Petazzoni @ 2011-09-17 20:22 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/xenomai/Config.in  |    6 ++++++
 package/xenomai/xenomai.mk |   13 +++++++++++++
 2 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in
index 6ba9f8b..3749a60 100644
--- a/package/xenomai/Config.in
+++ b/package/xenomai/Config.in
@@ -113,4 +113,10 @@ config BR2_PACKAGE_XENOMAI_RTCAN
        help
          This option allows to install the Xenomai RT-CAN utilities.
 
+config BR2_PACKAGE_XENOMAI_ANALOGY
+       bool "Analogy libs and utils"
+       help
+         This option allows to install the Xenomai Analogy utilities
+         and libraries
+
 endif
diff --git a/package/xenomai/xenomai.mk b/package/xenomai/xenomai.mk
index 36e2e44..fff2c5d 100644
--- a/package/xenomai/xenomai.mk
+++ b/package/xenomai/xenomai.mk
@@ -90,6 +90,19 @@ endef
 XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_RTCAN_PROGS
 endif
 
+ifeq ($(BR2_PACKAGE_XENOMAI_ANALOGY),)
+define XENOMAI_REMOVE_ANALOGY
+	for i in cmd_bits cmd_read cmd_write insn_write \
+		insn_bits insn_read ; do \
+		rm -f $(TARGET_DIR)/usr/xenomai/bin/$$i ; \
+	done
+	rm -f $(TARGET_DIR)/usr/xenomai/sbin/analogy_config
+	rm -f $(TARGET_DIR)/usr/xenomai/lib/libanalogy.*
+endef
+
+XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_ANALOGY
+endif
+
 define XENOMAI_ADD_LD_SO_CONF
 	# Add /usr/xenomai/lib in the library search path
 	grep -q "^/usr/xenomai/lib" $(TARGET_DIR)/etc/ld.so.conf || \
-- 
1.7.4.1

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

* [Buildroot] [PATCH 6/8] xenomai: add support to keep or remove skins
  2011-09-17 20:22 [Buildroot] [pull request] Pull request for branch xenomai-rtai Thomas Petazzoni
                   ` (4 preceding siblings ...)
  2011-09-17 20:22 ` [Buildroot] [PATCH 5/8] xenomai: add support to keep or remove Analogy utilities and libs Thomas Petazzoni
@ 2011-09-17 20:22 ` Thomas Petazzoni
  2011-09-18 20:45   ` Peter Korsgaard
  2011-09-19  8:24   ` Thomas De Schampheleire
  2011-09-17 20:22 ` [Buildroot] [PATCH 7/8] package: change ordering of steps Thomas Petazzoni
                   ` (3 subsequent siblings)
  9 siblings, 2 replies; 30+ messages in thread
From: Thomas Petazzoni @ 2011-09-17 20:22 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/xenomai/Config.in  |   37 +++++++++++++++++++++++++++++++++++++
 package/xenomai/xenomai.mk |   19 +++++++++++++++++++
 2 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in
index 3749a60..cfeaa04 100644
--- a/package/xenomai/Config.in
+++ b/package/xenomai/Config.in
@@ -119,4 +119,41 @@ config BR2_PACKAGE_XENOMAI_ANALOGY
          This option allows to install the Xenomai Analogy utilities
          and libraries
 
+config BR2_PACKAGE_XENOMAI_NATIVE_SKIN
+       bool "Native skin library"
+       default y
+       help
+	 This option allows to install the Native Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_POSIX_SKIN
+       bool "POSIX skin library"
+       default y
+       help
+	 This option allows to install the POSIX Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_VXWORKS_SKIN
+       bool "VX-Works skin library"
+       help
+	 This option allows to install the VX-Works Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_PSOS_SKIN
+       bool "PSOS skin library"
+       help
+	 This option allows to install the PSOS Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_RTAI_SKIN
+       bool "RTAI skin library"
+       help
+	 This option allows to install the RTAI Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_UITRON_SKIN
+       bool "uiTron skin library"
+       help
+	 This option allows to install the uiTron Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_VRTX_SKIN
+       bool "VRTX skin library"
+       help
+	 This option allows to install the VRTX Xenomai skin
+
 endif
diff --git a/package/xenomai/xenomai.mk b/package/xenomai/xenomai.mk
index fff2c5d..52e0b4e 100644
--- a/package/xenomai/xenomai.mk
+++ b/package/xenomai/xenomai.mk
@@ -103,6 +103,25 @@ endef
 XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_ANALOGY
 endif
 
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_NATIVE_SKIN),,native)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_POSIX_SKIN),,posix)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VXWORKS_SKIN),,vxworks)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_PSOS_SKIN),,psos)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_RTAI_SKIN),,rtai)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_UITRON_SKIN),,uitron)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VRTX_SKIN),,vrtx)
+
+define XENOMAI_REMOVE_SKINS
+	for i in $(XENOMAI_REMOVE_SKIN_LIST) ; do \
+		rm -f $(TARGET_DIR)/usr/xenomai/lib/lib$$i.* ; \
+		if [ $$i == "posix" ] ; then \
+			rm -f $(TARGET_DIR)/usr/xenomai/lib/posix.wrappers ; \
+		fi ; \
+	done
+endef
+
+XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_SKINS
+
 define XENOMAI_ADD_LD_SO_CONF
 	# Add /usr/xenomai/lib in the library search path
 	grep -q "^/usr/xenomai/lib" $(TARGET_DIR)/etc/ld.so.conf || \
-- 
1.7.4.1

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

* [Buildroot] [PATCH 7/8] package: change ordering of steps
  2011-09-17 20:22 [Buildroot] [pull request] Pull request for branch xenomai-rtai Thomas Petazzoni
                   ` (5 preceding siblings ...)
  2011-09-17 20:22 ` [Buildroot] [PATCH 6/8] xenomai: add support to keep or remove skins Thomas Petazzoni
@ 2011-09-17 20:22 ` Thomas Petazzoni
  2011-09-18 20:47   ` Peter Korsgaard
  2011-09-28 14:13   ` Thomas De Schampheleire
  2011-09-17 20:22 ` [Buildroot] [PATCH 8/8] Add support for the RTAI real-time extension Thomas Petazzoni
                   ` (2 subsequent siblings)
  9 siblings, 2 replies; 30+ messages in thread
From: Thomas Petazzoni @ 2011-09-17 20:22 UTC (permalink / raw)
  To: buildroot

Currently, the dependency chain is :

 configure -> patch
 patch -> extract
 extract -> depends
 depends -> source + dependencies ready

This is a problem for RTAI, as :

 * In linux/linux-ext-rtai.mk, we need the RTAI source code to be
   extracted/patched by the RTAI package, so we need to have a
   dependency on RTAI.

 * The RTAI package cannot have its configure step executed before the
   Linux kernel is built, because it needs the kernel source code to
   be extracted and configured.

Therefore, we have a sort of circular dependency. We solve this
circular dependency by having the RTAI kernel part depending on
rtai-patch, and having the RTAI userspace part depending on the linux
package. However, for this to work, we have to modify the dependency
chain to:

 configure -> patch + depends
 patch -> extract
 extract -> source
 depends -> dependencies ready

Which means that dependencies are guaranteed to be built not when the
package is extracted, but when the package is configured. Which is
technically more correct that what we were doing in the past.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/Makefile.package.in |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/package/Makefile.package.in b/package/Makefile.package.in
index 0751144..66be0a2 100644
--- a/package/Makefile.package.in
+++ b/package/Makefile.package.in
@@ -487,15 +487,15 @@ $(1)-install-host:      $(1)-build $$($(2)_TARGET_INSTALL_HOST)
 $(1)-build:		$(1)-configure \
 			$$($(2)_TARGET_BUILD)
 
-$(1)-configure:		$(1)-patch \
+$(1)-configure:		$(1)-patch $(1)-depends \
 			$$($(2)_TARGET_CONFIGURE)
 
 $(1)-patch:		$(1)-extract $$($(2)_TARGET_PATCH)
 
-$(1)-extract:		$(1)-depends \
+$(1)-extract:		$(1)-source \
 			$$($(2)_TARGET_EXTRACT)
 
-$(1)-depends:		$(1)-source $$($(2)_DEPENDENCIES)
+$(1)-depends:		$$($(2)_DEPENDENCIES)
 
 $(1)-show-depends:
 			@echo $$($(2)_DEPENDENCIES)
-- 
1.7.4.1

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

* [Buildroot] [PATCH 8/8] Add support for the RTAI real-time extension
  2011-09-17 20:22 [Buildroot] [pull request] Pull request for branch xenomai-rtai Thomas Petazzoni
                   ` (6 preceding siblings ...)
  2011-09-17 20:22 ` [Buildroot] [PATCH 7/8] package: change ordering of steps Thomas Petazzoni
@ 2011-09-17 20:22 ` Thomas Petazzoni
  2011-09-18 20:54   ` Peter Korsgaard
  2011-09-18 12:19 ` [Buildroot] [pull request] Pull request for branch xenomai-rtai Benoît Mauduit
  2011-09-19  8:21 ` Thomas De Schampheleire
  9 siblings, 1 reply; 30+ messages in thread
From: Thomas Petazzoni @ 2011-09-17 20:22 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 linux/Config.ext.in     |   13 +++++++++++++
 linux/linux-ext-rtai.mk |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 package/Config.in       |    1 +
 package/rtai/Config.in  |    2 ++
 package/rtai/rtai.mk    |   16 ++++++++++++++++
 5 files changed, 79 insertions(+), 0 deletions(-)
 create mode 100644 linux/linux-ext-rtai.mk
 create mode 100644 package/rtai/Config.in
 create mode 100644 package/rtai/rtai.mk

diff --git a/linux/Config.ext.in b/linux/Config.ext.in
index fc37d23..bbbe612 100644
--- a/linux/Config.ext.in
+++ b/linux/Config.ext.in
@@ -15,4 +15,17 @@ config BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH
 	  Download it at http://download.gna.org/adeos/patches/v2.6/$(ARCH)/
 	  and verify that your kernel version in buildroot matches.
 
+# RTAI
+config BR2_LINUX_KERNEL_EXT_RTAI
+       bool "RTAI Real-time patch"
+       select BR2_PACKAGE_RTAI
+       help
+         RTAI Kernel part.
+
+config BR2_LINUX_KERNEL_EXT_RTAI_PATCH
+       depends on BR2_LINUX_KERNEL_EXT_RTAI
+       string "Path for RTAI patch file"
+       help
+         Optionally, explicitly specify the RTAI patch to use.
+
 endmenu
diff --git a/linux/linux-ext-rtai.mk b/linux/linux-ext-rtai.mk
new file mode 100644
index 0000000..a54230d
--- /dev/null
+++ b/linux/linux-ext-rtai.mk
@@ -0,0 +1,47 @@
+##################################################
+# Linux RTAI extensions
+#
+# Patch the linux kernel with RTAI extension
+##################################################
+
+ifeq ($(BR2_LINUX_KERNEL_EXT_RTAI),y)
+# Add dependency to RTAI (user-space) which provide kernel patches
+LINUX_DEPENDENCIES += rtai-patch
+
+RTAI_PATCH = $(call qstrip,$(BR2_LINUX_KERNEL_EXT_RTAI_PATCH))
+
+ifeq ($(KERNEL_ARCH),i386)
+RTAI_ARCH = x86
+else ifeq ($(KERNEL_ARCH),x86_64)
+RTAI_ARCH = x86
+else ifeq ($(KERNEL_ARCH),powerpc)
+RTAI_ARCH = ppc
+else
+RTAI_ARCH = $(KERNEL_ARCH)
+endif
+
+# Prepare kernel patch
+ifeq ($(RTAI_PATCH),)
+define RTAI_PREPARE_KERNEL
+	kver=`$(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelversion` ; \
+	if test -f $(RTAI_DIR)/base/arch/$(RTAI_ARCH)/patches/hal-linux-$${kver}-*patch ; then \
+		support/script/apply-patches.sh $(LINUX_DIR) 		\
+			$(RTAI_DIR)/base/arch/$(RTAI_ARCH)/patches/ 	\
+			hal-linux-$${kver}-*patch ; \
+	else \
+		echo "No RTAI patch for your kernel version" ; \
+		exit 1 ; \
+	fi
+endef
+else
+define RTAI_PREPARE_KERNEL
+	support/script/apply-patches.sh 	\
+		$(LINUX_DIR)			\
+		$(dir $(RTAI_PATCH))		\
+		$(notdir $(RTAI_PATCH))
+endef
+endif
+
+LINUX_POST_PATCH_HOOKS += RTAI_PREPARE_KERNEL
+
+endif #BR2_LINUX_EXT_RTAI
diff --git a/package/Config.in b/package/Config.in
index efb266a..451b271 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -489,6 +489,7 @@ endmenu
 
 menu "Real-Time"
 source "package/xenomai/Config.in"
+source "package/rtai/Config.in"
 endmenu
 
 menu "Shell and utilities"
diff --git a/package/rtai/Config.in b/package/rtai/Config.in
new file mode 100644
index 0000000..d08e4cb
--- /dev/null
+++ b/package/rtai/Config.in
@@ -0,0 +1,2 @@
+config BR2_PACKAGE_RTAI
+        bool "rtai"
diff --git a/package/rtai/rtai.mk b/package/rtai/rtai.mk
new file mode 100644
index 0000000..2f67cc0
--- /dev/null
+++ b/package/rtai/rtai.mk
@@ -0,0 +1,16 @@
+RTAI_VERSION = 3.8.1
+RTAI_SOURCE  = rtai-$(RTAI_VERSION).tar.bz2
+RTAI_SITE    = http://www.rtai.org/RTAI/
+
+RTAI_DEPENDENCIES = linux
+
+RTAI_CONF_OPT = \
+	--with-linux-dir=$(LINUX_DIR) 	\
+	--disable-leds		      	\
+	--disable-rtailab		\
+	--with-module-dir=/lib/modules/$(LINUX_VERSION_PROBED)/kernel/rtai
+
+RTAI_MAKE = $(MAKE1)
+
+$(eval $(call AUTOTARGETS,package,rtai))
+
-- 
1.7.4.1

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

* [Buildroot] [pull request] Pull request for branch xenomai-rtai
  2011-09-17 20:22 [Buildroot] [pull request] Pull request for branch xenomai-rtai Thomas Petazzoni
                   ` (7 preceding siblings ...)
  2011-09-17 20:22 ` [Buildroot] [PATCH 8/8] Add support for the RTAI real-time extension Thomas Petazzoni
@ 2011-09-18 12:19 ` Benoît Mauduit
  2011-09-22 17:13   ` Arnout Vandecappelle
  2011-09-19  8:21 ` Thomas De Schampheleire
  9 siblings, 1 reply; 30+ messages in thread
From: Benoît Mauduit @ 2011-09-18 12:19 UTC (permalink / raw)
  To: buildroot

On Sat, Sep 17, 2011 at 10:22 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Hello,
>
> Here is a patch set that adds the Xenomai and RTAI real-time
> extensions of the Linux kernel. The Xenomai patches come from Thomas
> de Schampheleire, who himself took them from Beno?t Mauduit. Those
> patches have been improved further, taking into account comments from
> Arnout, and adding some more features (ability to remove test
> programs, RT-CAN programs, Analogy programs, and select which skins
> should be installed).
>
> The RTAI real-time extension is also added. It is not well supported
> on architectures others than x86/x86-64, but can be useful on those
> architectures. However, its integration required a small change in the
> package infrastructure, described in detail in its commit log.
>
> Regards,
>
> Thomas
>
> The following changes since commit 16d6e9b3420e78a89960b8b68202ea46a618810d:
>
> ?Makefile.autotools.in: fix autoreconf libtool patching after libtool move (2011-09-17 14:16:42 +0200)
>
> are available in the git repository at:
> ?http://free-electrons.com/~thomas/buildroot.git xenomai-rtai
>
> Thomas De Schampheleire (2):
> ? ? ?linux: Add Linux Kernel extensions menu
> ? ? ?Add xenomai real-time Framework to buildroot
>
> Thomas Petazzoni (6):
> ? ? ?xenomai: add support to keep or remove testsuite programs
> ? ? ?xenomai: add support to keep or remove RT-CAN utilities
> ? ? ?xenomai: add support to keep or remove Analogy utilities and libs
> ? ? ?xenomai: add support to keep or remove skins
> ? ? ?package: change ordering of steps
> ? ? ?Add support for the RTAI real-time extension
>
> ?linux/Config.ext.in ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? 31 ++++
> ?linux/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?4 +
> ?linux/linux-ext-rtai.mk ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? 47 ++++++
> ?linux/linux-ext-xenomai.mk ? ? ? ? ? ? ? ? ? ? ? ? | ? 30 ++++
> ?linux/linux.mk ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? ?2 +
> ?package/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?5 +
> ?package/Makefile.package.in ? ? ? ? ? ? ? ? ? ? ? ?| ? ?6 +-
> ?package/rtai/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? ?2 +
> ?package/rtai/rtai.mk ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? 16 ++
> ?package/xenomai/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ?| ?159 ++++++++++++++++++++
> ?.../xenomai/xenomai-do-not-install-devices.patch ? | ? 11 ++
> ?package/xenomai/xenomai.mk ? ? ? ? ? ? ? ? ? ? ? ? | ?159 ++++++++++++++++++++
> ?target/generic/device_table_dev.txt ? ? ? ? ? ? ? ?| ? ?5 +
> ?13 files changed, 474 insertions(+), 3 deletions(-)
> ?create mode 100644 linux/Config.ext.in
> ?create mode 100644 linux/linux-ext-rtai.mk
> ?create mode 100644 linux/linux-ext-xenomai.mk
> ?create mode 100644 package/rtai/Config.in
> ?create mode 100644 package/rtai/rtai.mk
> ?create mode 100644 package/xenomai/Config.in
> ?create mode 100644 package/xenomai/xenomai-do-not-install-devices.patch
> ?create mode 100644 package/xenomai/xenomai.mk
>
> Thanks,
> --
> Thomas Petazzoni
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

Ooo, Many thanks for that !

I look up in details the patch series and it's good for me.

Just one little point concerning ld.so.conf management :
We can use for further developpement a conf.d mechanism :
'/etc/ld.so.conf' which include "/etc/ld.so.conf.d/*.conf"

Nice to see Rtai included !

Sorry for not being more available for this new feature...

Regards,

-- 
Benoit Mauduit

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

* [Buildroot] [PATCH 1/8] linux: Add Linux Kernel extensions menu
  2011-09-17 20:22 ` [Buildroot] [PATCH 1/8] linux: Add Linux Kernel extensions menu Thomas Petazzoni
@ 2011-09-18 20:32   ` Peter Korsgaard
  0 siblings, 0 replies; 30+ messages in thread
From: Peter Korsgaard @ 2011-09-18 20:32 UTC (permalink / raw)
  To: buildroot

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

 Thomas> From: Thomas De Schampheleire <patrickdepinguin+buildroot@gmail.com>
 Thomas> Add a kernel sub-menu (called "Linux Kernel Extensions"), which makes
 Thomas> possible to patch it or tweak the kernel build step.

 Thomas>  * All linux/linux-ext-*.mk files will be read by the make process.
 Thomas>  * The menu can be customized in "linux/Config.ext.in".

 Thomas> +# Linux extensions (Xenomai)
 Thomas> +source "linux/Config.ext.in"

That comments doesn't belong here if we want it to be a generic
extension support.

Other than that it looks good - Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 2/8] Add xenomai real-time Framework to buildroot
  2011-09-17 20:22 ` [Buildroot] [PATCH 2/8] Add xenomai real-time Framework to buildroot Thomas Petazzoni
@ 2011-09-18 20:41   ` Peter Korsgaard
  0 siblings, 0 replies; 30+ messages in thread
From: Peter Korsgaard @ 2011-09-18 20:41 UTC (permalink / raw)
  To: buildroot

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

 Thomas> From: Thomas De Schampheleire <patrickdepinguin+buildroot@gmail.com>
 Thomas> [Fixes by Thomas, including comments from Arnout:
 Thomas>   * Use AUTOTARGETS instead of GENTARGETS

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 3/8] xenomai: add support to keep or remove testsuite programs
  2011-09-17 20:22 ` [Buildroot] [PATCH 3/8] xenomai: add support to keep or remove testsuite programs Thomas Petazzoni
@ 2011-09-18 20:43   ` Peter Korsgaard
  0 siblings, 0 replies; 30+ messages in thread
From: Peter Korsgaard @ 2011-09-18 20:43 UTC (permalink / raw)
  To: buildroot

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

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

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 4/8] xenomai: add support to keep or remove RT-CAN utilities
  2011-09-17 20:22 ` [Buildroot] [PATCH 4/8] xenomai: add support to keep or remove RT-CAN utilities Thomas Petazzoni
@ 2011-09-18 20:44   ` Peter Korsgaard
  0 siblings, 0 replies; 30+ messages in thread
From: Peter Korsgaard @ 2011-09-18 20:44 UTC (permalink / raw)
  To: buildroot

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

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

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 5/8] xenomai: add support to keep or remove Analogy utilities and libs
  2011-09-17 20:22 ` [Buildroot] [PATCH 5/8] xenomai: add support to keep or remove Analogy utilities and libs Thomas Petazzoni
@ 2011-09-18 20:44   ` Peter Korsgaard
  0 siblings, 0 replies; 30+ messages in thread
From: Peter Korsgaard @ 2011-09-18 20:44 UTC (permalink / raw)
  To: buildroot

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

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

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 6/8] xenomai: add support to keep or remove skins
  2011-09-17 20:22 ` [Buildroot] [PATCH 6/8] xenomai: add support to keep or remove skins Thomas Petazzoni
@ 2011-09-18 20:45   ` Peter Korsgaard
  2011-09-19  8:24   ` Thomas De Schampheleire
  1 sibling, 0 replies; 30+ messages in thread
From: Peter Korsgaard @ 2011-09-18 20:45 UTC (permalink / raw)
  To: buildroot

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

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

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 7/8] package: change ordering of steps
  2011-09-17 20:22 ` [Buildroot] [PATCH 7/8] package: change ordering of steps Thomas Petazzoni
@ 2011-09-18 20:47   ` Peter Korsgaard
  2011-09-28 14:13   ` Thomas De Schampheleire
  1 sibling, 0 replies; 30+ messages in thread
From: Peter Korsgaard @ 2011-09-18 20:47 UTC (permalink / raw)
  To: buildroot

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

 Thomas> Currently, the dependency chain is :
 Thomas>  configure -> patch
 Thomas>  patch -> extract
 Thomas>  extract -> depends
 Thomas>  depends -> source + dependencies ready

 Thomas> This is a problem for RTAI, as :

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 8/8] Add support for the RTAI real-time extension
  2011-09-17 20:22 ` [Buildroot] [PATCH 8/8] Add support for the RTAI real-time extension Thomas Petazzoni
@ 2011-09-18 20:54   ` Peter Korsgaard
  2011-09-22 19:37     ` Arnout Vandecappelle
  0 siblings, 1 reply; 30+ messages in thread
From: Peter Korsgaard @ 2011-09-18 20:54 UTC (permalink / raw)
  To: buildroot

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

 Thomas> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 Thomas> ---
 Thomas>  linux/Config.ext.in     |   13 +++++++++++++
 Thomas>  linux/linux-ext-rtai.mk |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 Thomas>  package/Config.in       |    1 +
 Thomas>  package/rtai/Config.in  |    2 ++
 Thomas>  package/rtai/rtai.mk    |   16 ++++++++++++++++
 Thomas>  5 files changed, 79 insertions(+), 0 deletions(-)
 Thomas>  create mode 100644 linux/linux-ext-rtai.mk
 Thomas>  create mode 100644 package/rtai/Config.in
 Thomas>  create mode 100644 package/rtai/rtai.mk

 Thomas> +++ b/package/rtai/Config.in
 Thomas> @@ -0,0 +1,2 @@
 Thomas> +config BR2_PACKAGE_RTAI
 Thomas> +        bool "rtai"

Wrong indentation, no help text and should depend on
BR2_LINUX_KERNEL_EXT_RTAI.

I've fixed that and committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [pull request] Pull request for branch xenomai-rtai
  2011-09-17 20:22 [Buildroot] [pull request] Pull request for branch xenomai-rtai Thomas Petazzoni
                   ` (8 preceding siblings ...)
  2011-09-18 12:19 ` [Buildroot] [pull request] Pull request for branch xenomai-rtai Benoît Mauduit
@ 2011-09-19  8:21 ` Thomas De Schampheleire
  9 siblings, 0 replies; 30+ messages in thread
From: Thomas De Schampheleire @ 2011-09-19  8:21 UTC (permalink / raw)
  To: buildroot

Hi,

On Sat, Sep 17, 2011 at 10:22 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Hello,
>
> Here is a patch set that adds the Xenomai and RTAI real-time
> extensions of the Linux kernel. The Xenomai patches come from Thomas
> de Schampheleire, who himself took them from Beno?t Mauduit. Those
> patches have been improved further, taking into account comments from
> Arnout, and adding some more features (ability to remove test
> programs, RT-CAN programs, Analogy programs, and select which skins
> should be installed).
>
> The RTAI real-time extension is also added. It is not well supported
> on architectures others than x86/x86-64, but can be useful on those
> architectures. However, its integration required a small change in the
> package infrastructure, described in detail in its commit log.
>
> Regards,
>
> Thomas
>
> The following changes since commit 16d6e9b3420e78a89960b8b68202ea46a618810d:
>
> ?Makefile.autotools.in: fix autoreconf libtool patching after libtool move (2011-09-17 14:16:42 +0200)
>
> are available in the git repository at:
> ?http://free-electrons.com/~thomas/buildroot.git xenomai-rtai
>
> Thomas De Schampheleire (2):
> ? ? ?linux: Add Linux Kernel extensions menu
> ? ? ?Add xenomai real-time Framework to buildroot
>
> Thomas Petazzoni (6):
> ? ? ?xenomai: add support to keep or remove testsuite programs
> ? ? ?xenomai: add support to keep or remove RT-CAN utilities
> ? ? ?xenomai: add support to keep or remove Analogy utilities and libs
> ? ? ?xenomai: add support to keep or remove skins
> ? ? ?package: change ordering of steps
> ? ? ?Add support for the RTAI real-time extension
>
> ?linux/Config.ext.in ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? 31 ++++
> ?linux/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?4 +
> ?linux/linux-ext-rtai.mk ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? 47 ++++++
> ?linux/linux-ext-xenomai.mk ? ? ? ? ? ? ? ? ? ? ? ? | ? 30 ++++
> ?linux/linux.mk ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? ?2 +
> ?package/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?5 +
> ?package/Makefile.package.in ? ? ? ? ? ? ? ? ? ? ? ?| ? ?6 +-
> ?package/rtai/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? ?2 +
> ?package/rtai/rtai.mk ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? 16 ++
> ?package/xenomai/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ?| ?159 ++++++++++++++++++++
> ?.../xenomai/xenomai-do-not-install-devices.patch ? | ? 11 ++
> ?package/xenomai/xenomai.mk ? ? ? ? ? ? ? ? ? ? ? ? | ?159 ++++++++++++++++++++
> ?target/generic/device_table_dev.txt ? ? ? ? ? ? ? ?| ? ?5 +
> ?13 files changed, 474 insertions(+), 3 deletions(-)
> ?create mode 100644 linux/Config.ext.in
> ?create mode 100644 linux/linux-ext-rtai.mk
> ?create mode 100644 linux/linux-ext-xenomai.mk
> ?create mode 100644 package/rtai/Config.in
> ?create mode 100644 package/rtai/rtai.mk
> ?create mode 100644 package/xenomai/Config.in
> ?create mode 100644 package/xenomai/xenomai-do-not-install-devices.patch
> ?create mode 100644 package/xenomai/xenomai.mk
>
> Thanks,
> --
> Thomas Petazzoni

Thanks from me as well for taking this in and improving it!

Best regards,
Thomas

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

* [Buildroot] [PATCH 6/8] xenomai: add support to keep or remove skins
  2011-09-17 20:22 ` [Buildroot] [PATCH 6/8] xenomai: add support to keep or remove skins Thomas Petazzoni
  2011-09-18 20:45   ` Peter Korsgaard
@ 2011-09-19  8:24   ` Thomas De Schampheleire
  2011-09-19  8:49     ` Thomas Petazzoni
  1 sibling, 1 reply; 30+ messages in thread
From: Thomas De Schampheleire @ 2011-09-19  8:24 UTC (permalink / raw)
  To: buildroot

Hi,

On Sat, Sep 17, 2011 at 10:22 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
> ?package/xenomai/Config.in ?| ? 37 +++++++++++++++++++++++++++++++++++++
> ?package/xenomai/xenomai.mk | ? 19 +++++++++++++++++++
> ?2 files changed, 56 insertions(+), 0 deletions(-)
>
> diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in
> index 3749a60..cfeaa04 100644
> --- a/package/xenomai/Config.in
> +++ b/package/xenomai/Config.in
> @@ -119,4 +119,41 @@ config BR2_PACKAGE_XENOMAI_ANALOGY
> ? ? ? ? ?This option allows to install the Xenomai Analogy utilities
> ? ? ? ? ?and libraries
>
> +config BR2_PACKAGE_XENOMAI_NATIVE_SKIN
> + ? ? ? bool "Native skin library"
> + ? ? ? default y
> + ? ? ? help
> + ? ? ? ?This option allows to install the Native Xenomai skin
> +
> +config BR2_PACKAGE_XENOMAI_POSIX_SKIN
> + ? ? ? bool "POSIX skin library"
> + ? ? ? default y
> + ? ? ? help
> + ? ? ? ?This option allows to install the POSIX Xenomai skin
> +
> +config BR2_PACKAGE_XENOMAI_VXWORKS_SKIN
> + ? ? ? bool "VX-Works skin library"
> + ? ? ? help
> + ? ? ? ?This option allows to install the VX-Works Xenomai skin
> +
> +config BR2_PACKAGE_XENOMAI_PSOS_SKIN
> + ? ? ? bool "PSOS skin library"
> + ? ? ? help
> + ? ? ? ?This option allows to install the PSOS Xenomai skin
> +
> +config BR2_PACKAGE_XENOMAI_RTAI_SKIN
> + ? ? ? bool "RTAI skin library"
> + ? ? ? help
> + ? ? ? ?This option allows to install the RTAI Xenomai skin
> +
> +config BR2_PACKAGE_XENOMAI_UITRON_SKIN
> + ? ? ? bool "uiTron skin library"
> + ? ? ? help
> + ? ? ? ?This option allows to install the uiTron Xenomai skin
> +
> +config BR2_PACKAGE_XENOMAI_VRTX_SKIN
> + ? ? ? bool "VRTX skin library"
> + ? ? ? help
> + ? ? ? ?This option allows to install the VRTX Xenomai skin
> +
> ?endif

Maybe it should be clarified somewhere that this only impacts the
inclusion of the userspace skin library. To be able to use a
particular skin, you still need to enable it in the kernel
configuration.

Or maybe it's better to make these options have impact on the linux
configuration as well ?

> diff --git a/package/xenomai/xenomai.mk b/package/xenomai/xenomai.mk
> index fff2c5d..52e0b4e 100644
> --- a/package/xenomai/xenomai.mk
> +++ b/package/xenomai/xenomai.mk
> @@ -103,6 +103,25 @@ endef
> ?XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_ANALOGY
> ?endif
>
> +XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_NATIVE_SKIN),,native)
> +XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_POSIX_SKIN),,posix)
> +XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VXWORKS_SKIN),,vxworks)
> +XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_PSOS_SKIN),,psos)
> +XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_RTAI_SKIN),,rtai)
> +XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_UITRON_SKIN),,uitron)
> +XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VRTX_SKIN),,vrtx)
> +
> +define XENOMAI_REMOVE_SKINS
> + ? ? ? for i in $(XENOMAI_REMOVE_SKIN_LIST) ; do \
> + ? ? ? ? ? ? ? rm -f $(TARGET_DIR)/usr/xenomai/lib/lib$$i.* ; \
> + ? ? ? ? ? ? ? if [ $$i == "posix" ] ; then \
> + ? ? ? ? ? ? ? ? ? ? ? rm -f $(TARGET_DIR)/usr/xenomai/lib/posix.wrappers ; \
> + ? ? ? ? ? ? ? fi ; \
> + ? ? ? done
> +endef
> +
> +XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_SKINS
> +
> ?define XENOMAI_ADD_LD_SO_CONF
> ? ? ? ?# Add /usr/xenomai/lib in the library search path
> ? ? ? ?grep -q "^/usr/xenomai/lib" $(TARGET_DIR)/etc/ld.so.conf || \
> --
> 1.7.4.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>

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

* [Buildroot] [PATCH 6/8] xenomai: add support to keep or remove skins
  2011-09-19  8:24   ` Thomas De Schampheleire
@ 2011-09-19  8:49     ` Thomas Petazzoni
  2011-09-19  8:54       ` Thomas De Schampheleire
  0 siblings, 1 reply; 30+ messages in thread
From: Thomas Petazzoni @ 2011-09-19  8:49 UTC (permalink / raw)
  To: buildroot

Le Mon, 19 Sep 2011 10:24:27 +0200,
Thomas De Schampheleire <patrickdepinguin+buildroot@gmail.com> a ?crit :

> Maybe it should be clarified somewhere that this only impacts the
> inclusion of the userspace skin library. To be able to use a
> particular skin, you still need to enable it in the kernel
> configuration.

Yes, correct, I'll add that.

> Or maybe it's better to make these options have impact on the linux
> configuration as well ?

I don't like too much having packages that interfere with the kernel
configuration, because it's a nightmare: when iptables is compiled, we
would need to ensure that kernel support is available, same for
xfsprogs, for v4l-utils, for input-tools, etc ?

Our policy has been that the user needs to be aware of what (s)he is
doing, especially when it comes to making sure that the kernel
configuration appropriately matches the requirement of userspace
applications and libraries.

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

* [Buildroot] [PATCH 6/8] xenomai: add support to keep or remove skins
  2011-09-19  8:49     ` Thomas Petazzoni
@ 2011-09-19  8:54       ` Thomas De Schampheleire
  0 siblings, 0 replies; 30+ messages in thread
From: Thomas De Schampheleire @ 2011-09-19  8:54 UTC (permalink / raw)
  To: buildroot

On Mon, Sep 19, 2011 at 10:49 AM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Le Mon, 19 Sep 2011 10:24:27 +0200,
> Thomas De Schampheleire <patrickdepinguin+buildroot@gmail.com> a ?crit :
>
>> Maybe it should be clarified somewhere that this only impacts the
>> inclusion of the userspace skin library. To be able to use a
>> particular skin, you still need to enable it in the kernel
>> configuration.
>
> Yes, correct, I'll add that.

Ok, thanks.

>
>> Or maybe it's better to make these options have impact on the linux
>> configuration as well ?
>
> I don't like too much having packages that interfere with the kernel
> configuration, because it's a nightmare: when iptables is compiled, we
> would need to ensure that kernel support is available, same for
> xfsprogs, for v4l-utils, for input-tools, etc ?
>
> Our policy has been that the user needs to be aware of what (s)he is
> doing, especially when it comes to making sure that the kernel
> configuration appropriately matches the requirement of userspace
> applications and libraries.

I understand. That's fine with me..

Best regards,
Thomas

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

* [Buildroot] [pull request] Pull request for branch xenomai-rtai
  2011-09-18 12:19 ` [Buildroot] [pull request] Pull request for branch xenomai-rtai Benoît Mauduit
@ 2011-09-22 17:13   ` Arnout Vandecappelle
  0 siblings, 0 replies; 30+ messages in thread
From: Arnout Vandecappelle @ 2011-09-22 17:13 UTC (permalink / raw)
  To: buildroot


On Sunday 18 September 2011 14:19:45, Beno?t Mauduit wrote:
> Just one little point concerning ld.so.conf management :
> We can use for further developpement a conf.d mechanism :
> '/etc/ld.so.conf' which include "/etc/ld.so.conf.d/*.conf"

 I didn't know uClibc supported that.

 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:  31BB CF53 8660 6F88 345D  54CC A836 5879 20D7 CF43

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

* [Buildroot] [PATCH 8/8] Add support for the RTAI real-time extension
  2011-09-18 20:54   ` Peter Korsgaard
@ 2011-09-22 19:37     ` Arnout Vandecappelle
  2011-09-22 19:46       ` [Buildroot] [PATCH] rtai: hide the config option Arnout Vandecappelle
  0 siblings, 1 reply; 30+ messages in thread
From: Arnout Vandecappelle @ 2011-09-22 19:37 UTC (permalink / raw)
  To: buildroot


On Sunday 18 September 2011 22:54:53, Peter Korsgaard wrote:
> >>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 
writes:
>  Thomas> Signed-off-by: Thomas Petazzoni
> <thomas.petazzoni@free-electrons.com> Thomas> ---
>  Thomas>  linux/Config.ext.in     |   13 +++++++++++++
>  Thomas>  linux/linux-ext-rtai.mk |   47
> +++++++++++++++++++++++++++++++++++++++++++++++ Thomas>  package/Config.in
>       |    1 +
>  Thomas>  package/rtai/Config.in  |    2 ++
>  Thomas>  package/rtai/rtai.mk    |   16 ++++++++++++++++
>  Thomas>  5 files changed, 79 insertions(+), 0 deletions(-)
>  Thomas>  create mode 100644 linux/linux-ext-rtai.mk
>  Thomas>  create mode 100644 package/rtai/Config.in
>  Thomas>  create mode 100644 package/rtai/rtai.mk
> 
>  Thomas> +++ b/package/rtai/Config.in
>  Thomas> @@ -0,0 +1,2 @@
>  Thomas> +config BR2_PACKAGE_RTAI
>  Thomas> +        bool "rtai"
> 
> Wrong indentation, no help text and should depend on
> BR2_LINUX_KERNEL_EXT_RTAI.
> 
> I've fixed that and committed, thanks.

 Since the option is not user selectable (due to select BR2_PACKAGE_RTAI in 
the BR2_LINUX_KERNEL_EXT_RTAI), it doesn't make sense to have a user visible 
config option here.  I guess Thomas's mistake was not to skip the help text, 
but to add "rtai" after the bool...

 Patch follows.

 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:  31BB CF53 8660 6F88 345D  54CC A836 5879 20D7 CF43

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

* [Buildroot] [PATCH] rtai: hide the config option.
  2011-09-22 19:37     ` Arnout Vandecappelle
@ 2011-09-22 19:46       ` Arnout Vandecappelle
  0 siblings, 0 replies; 30+ messages in thread
From: Arnout Vandecappelle @ 2011-09-22 19:46 UTC (permalink / raw)
  To: buildroot

The package is always selected by the RTAI kernel extension and it
also depends on it, so there is no point in allowing the user to
configure it.

Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
---
 package/rtai/Config.in |    6 +-----
 1 files changed, 1 insertions(+), 5 deletions(-)

diff --git a/package/rtai/Config.in b/package/rtai/Config.in
index ecbff38..68c06d4 100644
--- a/package/rtai/Config.in
+++ b/package/rtai/Config.in
@@ -1,7 +1,3 @@
 config BR2_PACKAGE_RTAI
-	bool "rtai"
+	bool
 	depends on BR2_LINUX_KERNEL_EXT_RTAI
-	help
-	  RTAI - the RealTime Application Interface for Linux.
-
-	  http://www.rtai.org
-- 
1.7.6.3

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

* [Buildroot] [PATCH 7/8] package: change ordering of steps
  2011-09-17 20:22 ` [Buildroot] [PATCH 7/8] package: change ordering of steps Thomas Petazzoni
  2011-09-18 20:47   ` Peter Korsgaard
@ 2011-09-28 14:13   ` Thomas De Schampheleire
  2011-09-28 14:28     ` Thomas Petazzoni
  1 sibling, 1 reply; 30+ messages in thread
From: Thomas De Schampheleire @ 2011-09-28 14:13 UTC (permalink / raw)
  To: buildroot

Hi,

On Sat, Sep 17, 2011 at 10:22 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Currently, the dependency chain is :
>
> ?configure -> patch
> ?patch -> extract
> ?extract -> depends
> ?depends -> source + dependencies ready
>
> This is a problem for RTAI, as :
>
> ?* In linux/linux-ext-rtai.mk, we need the RTAI source code to be
> ? extracted/patched by the RTAI package, so we need to have a
> ? dependency on RTAI.
>
> ?* The RTAI package cannot have its configure step executed before the
> ? Linux kernel is built, because it needs the kernel source code to
> ? be extracted and configured.
>
> Therefore, we have a sort of circular dependency. We solve this
> circular dependency by having the RTAI kernel part depending on
> rtai-patch, and having the RTAI userspace part depending on the linux
> package. However, for this to work, we have to modify the dependency
> chain to:
>
> ?configure -> patch + depends
> ?patch -> extract
> ?extract -> source
> ?depends -> dependencies ready
>
> Which means that dependencies are guaranteed to be built not when the
> package is extracted, but when the package is configured. Which is
> technically more correct that what we were doing in the past.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
> ?package/Makefile.package.in | ? ?6 +++---
> ?1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/package/Makefile.package.in b/package/Makefile.package.in
> index 0751144..66be0a2 100644
> --- a/package/Makefile.package.in
> +++ b/package/Makefile.package.in
> @@ -487,15 +487,15 @@ $(1)-install-host: ? ? ?$(1)-build $$($(2)_TARGET_INSTALL_HOST)
> ?$(1)-build: ? ? ? ? ? ?$(1)-configure \
> ? ? ? ? ? ? ? ? ? ? ? ?$$($(2)_TARGET_BUILD)
>
> -$(1)-configure: ? ? ? ? ? ? ? ?$(1)-patch \
> +$(1)-configure: ? ? ? ? ? ? ? ?$(1)-patch $(1)-depends \
> ? ? ? ? ? ? ? ? ? ? ? ?$$($(2)_TARGET_CONFIGURE)


I'm experiencing a problem now with Xenomai:
* First of all, there was no dependencies to linux anymore in the
Xenomai .mk file, which caused incorrect ordering of builds. To
address this, I copied the approach of RTAI that Thomas added (add a
linux dependency to xenomai-patch and add a xenomai dependency to
linux).

* after this, I stumbled upon another problem: if I removed both the
linux and the xenomai output directories, and ran make, then linux was
the first to come into play. After extraction of linux, the PRE_PATCH
hook of xenomai is executed, but Xenomai is not yet extracted! Indeed,
the current dependency tree does not enforce this.
I can fix my scenario by changing the order of -patch and -depends :

-$(1)-configure:                $(1)-patch $(1)-depends \
+$(1)-configure:                $(1)-depends $(1)-patch \

but I'm not sure whether this breaks other cases...
What do you think?

Best regards,
Thomas


>
> ?$(1)-patch: ? ? ? ? ? ?$(1)-extract $$($(2)_TARGET_PATCH)
>
> -$(1)-extract: ? ? ? ? ?$(1)-depends \
> +$(1)-extract: ? ? ? ? ?$(1)-source \
> ? ? ? ? ? ? ? ? ? ? ? ?$$($(2)_TARGET_EXTRACT)
>
> -$(1)-depends: ? ? ? ? ?$(1)-source $$($(2)_DEPENDENCIES)
> +$(1)-depends: ? ? ? ? ?$$($(2)_DEPENDENCIES)
>
> ?$(1)-show-depends:
> ? ? ? ? ? ? ? ? ? ? ? ?@echo $$($(2)_DEPENDENCIES)
> --
> 1.7.4.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>

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

* [Buildroot] [PATCH 7/8] package: change ordering of steps
  2011-09-28 14:13   ` Thomas De Schampheleire
@ 2011-09-28 14:28     ` Thomas Petazzoni
  2011-09-28 14:44       ` Thomas De Schampheleire
  0 siblings, 1 reply; 30+ messages in thread
From: Thomas Petazzoni @ 2011-09-28 14:28 UTC (permalink / raw)
  To: buildroot

Le Wed, 28 Sep 2011 16:13:00 +0200,
Thomas De Schampheleire <patrickdepinguin+buildroot@gmail.com> a ?crit :

> I'm experiencing a problem now with Xenomai:
> * First of all, there was no dependencies to linux anymore in the
> Xenomai .mk file, which caused incorrect ordering of builds. To
> address this, I copied the approach of RTAI that Thomas added (add a
> linux dependency to xenomai-patch and add a xenomai dependency to
> linux).

Normally, the Xenomai package in package/xenomai/ does not depend on
Linux being extracted/configured/compiled. It's the opposite: the Linux
build process depends on the Xenomai package to be extracted, so that
the package can be applied.

The case of RTAI is different, because the kernel modules of RTAI are
built by package/rtai/, so RTAI depends on Linux.

Could you expand on which problem you have when the Xenomai package in
package/xenomai does not depend on Linux ?

> * after this, I stumbled upon another problem: if I removed both the
> linux and the xenomai output directories, and ran make, then linux was
> the first to come into play. After extraction of linux, the PRE_PATCH
> hook of xenomai is executed, but Xenomai is not yet extracted! Indeed,
> the current dependency tree does not enforce this.
> I can fix my scenario by changing the order of -patch and -depends :
> 
> -$(1)-configure:                $(1)-patch $(1)-depends \
> +$(1)-configure:                $(1)-depends $(1)-patch \
> 
> but I'm not sure whether this breaks other cases...
> What do you think?

Aaaah, yes, dammit. Technically speaking, it's a bit ugly that the
patch step of one package depends on the dependencies being available.
This needs some more thought I guess...

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

* [Buildroot] [PATCH 7/8] package: change ordering of steps
  2011-09-28 14:28     ` Thomas Petazzoni
@ 2011-09-28 14:44       ` Thomas De Schampheleire
  2011-09-28 16:27         ` Arnout Vandecappelle
  0 siblings, 1 reply; 30+ messages in thread
From: Thomas De Schampheleire @ 2011-09-28 14:44 UTC (permalink / raw)
  To: buildroot

On Wed, Sep 28, 2011 at 4:28 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Le Wed, 28 Sep 2011 16:13:00 +0200,
> Thomas De Schampheleire <patrickdepinguin+buildroot@gmail.com> a ?crit :
>
>> I'm experiencing a problem now with Xenomai:
>> * First of all, there was no dependencies to linux anymore in the
>> Xenomai .mk file, which caused incorrect ordering of builds. To
>> address this, I copied the approach of RTAI that Thomas added (add a
>> linux dependency to xenomai-patch and add a xenomai dependency to
>> linux).
>
> Normally, the Xenomai package in package/xenomai/ does not depend on
> Linux being extracted/configured/compiled. It's the opposite: the Linux
> build process depends on the Xenomai package to be extracted, so that
> the package can be applied.
>
> The case of RTAI is different, because the kernel modules of RTAI are
> built by package/rtai/, so RTAI depends on Linux.
>
> Could you expand on which problem you have when the Xenomai package in
> package/xenomai does not depend on Linux ?

On second thought, you're right. I was still thinking too much in
terms of my old xenomai.mk file where kernel and userspace were
combined.

>
>> * after this, I stumbled upon another problem: if I removed both the
>> linux and the xenomai output directories, and ran make, then linux was
>> the first to come into play. After extraction of linux, the PRE_PATCH
>> hook of xenomai is executed, but Xenomai is not yet extracted! Indeed,
>> the current dependency tree does not enforce this.
>> I can fix my scenario by changing the order of -patch and -depends :
>>
>> -$(1)-configure: ? ? ? ? ? ? ? ?$(1)-patch $(1)-depends \
>> +$(1)-configure: ? ? ? ? ? ? ? ?$(1)-depends $(1)-patch \
>>
>> but I'm not sure whether this breaks other cases...
>> What do you think?
>
> Aaaah, yes, dammit. Technically speaking, it's a bit ugly that the
> patch step of one package depends on the dependencies being available.
> This needs some more thought I guess...

Ok.
One solution would be to first extract all packages, and then do all
the rest, but I guess you don't think this is cleaner...

~Thomas

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

* [Buildroot] [PATCH 7/8] package: change ordering of steps
  2011-09-28 14:44       ` Thomas De Schampheleire
@ 2011-09-28 16:27         ` Arnout Vandecappelle
  2011-11-14 15:32           ` Thomas De Schampheleire
  0 siblings, 1 reply; 30+ messages in thread
From: Arnout Vandecappelle @ 2011-09-28 16:27 UTC (permalink / raw)
  To: buildroot


On Wednesday 28 September 2011 16:44:46, Thomas De Schampheleire wrote:
> >> * after this, I stumbled upon another problem: if I removed both the
> >> linux and the xenomai output directories, and ran make, then linux was
> >> the first to come into play. After extraction of linux, the PRE_PATCH
> >> hook of xenomai is executed, but Xenomai is not yet extracted! Indeed,
> >> the current dependency tree does not enforce this.
> >> I can fix my scenario by changing the order of -patch and -depends :
> >> 
> >> -$(1)-configure:                $(1)-patch $(1)-depends \
> >> +$(1)-configure:                $(1)-depends $(1)-patch \
> >> 
> >> but I'm not sure whether this breaks other cases...
> >> What do you think?
> > 
> > Aaaah, yes, dammit. Technically speaking, it's a bit ugly that the
> > patch step of one package depends on the dependencies being available.
> > This needs some more thought I guess...
> 
> Ok.
> One solution would be to first extract all packages, and then do all
> the rest, but I guess you don't think this is cleaner...

 Or you could split the depends step in a depends-extract and depends-install 
step.  A package's extract step would then depend on the extracts of all the 
packages it depends on.  Or am I completely confused now? :-)

 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:  31BB CF53 8660 6F88 345D  54CC A836 5879 20D7 CF43
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20110928/2117e4a1/attachment-0002.html>

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

* [Buildroot] [PATCH 7/8] package: change ordering of steps
  2011-09-28 16:27         ` Arnout Vandecappelle
@ 2011-11-14 15:32           ` Thomas De Schampheleire
  0 siblings, 0 replies; 30+ messages in thread
From: Thomas De Schampheleire @ 2011-11-14 15:32 UTC (permalink / raw)
  To: buildroot

All,

On Wed, Sep 28, 2011 at 6:27 PM, Arnout Vandecappelle <arnout@mind.be> wrote:
>
> On Wednesday 28 September 2011 16:44:46, Thomas De Schampheleire wrote:
>
>> >> * after this, I stumbled upon another problem: if I removed both the
>
>> >> linux and the xenomai output directories, and ran make, then linux was
>
>> >> the first to come into play. After extraction of linux, the PRE_PATCH
>
>> >> hook of xenomai is executed, but Xenomai is not yet extracted! Indeed,
>
>> >> the current dependency tree does not enforce this.
>
>> >> I can fix my scenario by changing the order of -patch and -depends :
>
>> >>
>
>> >> -$(1)-configure: ? ? ? ? ? ? ? ?$(1)-patch $(1)-depends \
>
>> >> +$(1)-configure: ? ? ? ? ? ? ? ?$(1)-depends $(1)-patch \
>
>> >>
>
>> >> but I'm not sure whether this breaks other cases...
>
>> >> What do you think?
>
>> >
>
>> > Aaaah, yes, dammit. Technically speaking, it's a bit ugly that the
>
>> > patch step of one package depends on the dependencies being available.
>
>> > This needs some more thought I guess...
>
>>
>
>> Ok.
>
>> One solution would be to first extract all packages, and then do all
>
>> the rest, but I guess you don't think this is cleaner...
>
> Or you could split the depends step in a depends-extract and depends-install
> step. A package's extract step would then depend on the extracts of all the
> packages it depends on. Or am I completely confused now? :-)

This bug is still hanging around, and can manifest itself when
selecting xenomai, which is now in 2011.11-rc1.

The patch proposed above (change order of depend and patch steps) is
working fine, and does not look 'ugly' to me. Since it fixes a bug, I
think we should apply it anyway.
If later, someone would like to make a change that would not require
the patch step of linux to depend on the xenomai package, we can do
that then. However, I'm not sure if that is at all possible, unless
you want to move the xenomai kernel patches to the buildroot sources
(which I don't think is maintainable and uglier than the patch above).

Best regards,
Thomas

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

end of thread, other threads:[~2011-11-14 15:32 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-17 20:22 [Buildroot] [pull request] Pull request for branch xenomai-rtai Thomas Petazzoni
2011-09-17 20:22 ` [Buildroot] [PATCH 1/8] linux: Add Linux Kernel extensions menu Thomas Petazzoni
2011-09-18 20:32   ` Peter Korsgaard
2011-09-17 20:22 ` [Buildroot] [PATCH 2/8] Add xenomai real-time Framework to buildroot Thomas Petazzoni
2011-09-18 20:41   ` Peter Korsgaard
2011-09-17 20:22 ` [Buildroot] [PATCH 3/8] xenomai: add support to keep or remove testsuite programs Thomas Petazzoni
2011-09-18 20:43   ` Peter Korsgaard
2011-09-17 20:22 ` [Buildroot] [PATCH 4/8] xenomai: add support to keep or remove RT-CAN utilities Thomas Petazzoni
2011-09-18 20:44   ` Peter Korsgaard
2011-09-17 20:22 ` [Buildroot] [PATCH 5/8] xenomai: add support to keep or remove Analogy utilities and libs Thomas Petazzoni
2011-09-18 20:44   ` Peter Korsgaard
2011-09-17 20:22 ` [Buildroot] [PATCH 6/8] xenomai: add support to keep or remove skins Thomas Petazzoni
2011-09-18 20:45   ` Peter Korsgaard
2011-09-19  8:24   ` Thomas De Schampheleire
2011-09-19  8:49     ` Thomas Petazzoni
2011-09-19  8:54       ` Thomas De Schampheleire
2011-09-17 20:22 ` [Buildroot] [PATCH 7/8] package: change ordering of steps Thomas Petazzoni
2011-09-18 20:47   ` Peter Korsgaard
2011-09-28 14:13   ` Thomas De Schampheleire
2011-09-28 14:28     ` Thomas Petazzoni
2011-09-28 14:44       ` Thomas De Schampheleire
2011-09-28 16:27         ` Arnout Vandecappelle
2011-11-14 15:32           ` Thomas De Schampheleire
2011-09-17 20:22 ` [Buildroot] [PATCH 8/8] Add support for the RTAI real-time extension Thomas Petazzoni
2011-09-18 20:54   ` Peter Korsgaard
2011-09-22 19:37     ` Arnout Vandecappelle
2011-09-22 19:46       ` [Buildroot] [PATCH] rtai: hide the config option Arnout Vandecappelle
2011-09-18 12:19 ` [Buildroot] [pull request] Pull request for branch xenomai-rtai Benoît Mauduit
2011-09-22 17:13   ` Arnout Vandecappelle
2011-09-19  8:21 ` Thomas De Schampheleire

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.