Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] ola: new package
@ 2013-08-12 18:05 Dave Skok
  2013-08-13 22:32 ` Thomas Petazzoni
  0 siblings, 1 reply; 5+ messages in thread
From: Dave Skok @ 2013-08-12 18:05 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Dave Skok <blanco.ether@gmail.com>
---
 package/Config.in     |   1 +
 package/ola/Config.in | 144 +++++++++++++++++++++++++++++++++++++++++++++++
 package/ola/ola.mk    | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 298 insertions(+)
 create mode 100644 package/ola/Config.in
 create mode 100644 package/ola/ola.mk

diff --git a/package/Config.in b/package/Config.in
index 7069d77..fb52411 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -277,6 +277,7 @@ source "package/minicom/Config.in"
 source "package/nanocom/Config.in"
 source "package/neard/Config.in"
 source "package/ofono/Config.in"
+source "package/ola/Config.in"
 source "package/on2-8170-modules/Config.in"
 source "package/open2300/Config.in"
 source "package/openocd/Config.in"
diff --git a/package/ola/Config.in b/package/ola/Config.in
new file mode 100644
index 0000000..066fdd4
--- /dev/null
+++ b/package/ola/Config.in
@@ -0,0 +1,144 @@
+config BR2_PACKAGE_OLA
+	bool "open lighting architecture"
+	select BR2_PACKAGE_PROTOBUF
+	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	select BR2_PACKAGE_UTIL_LINUX
+	depends on BR2_INSTALL_LIBSTDCPP # protobuf
+	depends on BR2_LARGEFILE # util-linux
+	depends on BR2_USE_WCHAR # util-linux
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	help
+	  Open Lighting Architecture provides applications 
+	  with a mechanism to send and receive DMX512 & RDM 
+	  commands using hardware devices and DMX over IP protocols.
+
+	  http://www.opendmx.net/index.php/OLA
+
+comment "ola requires a toolchain with C++, thread, largefile and wchar support"
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+
+if BR2_PACKAGE_OLA
+
+menu "OLA Bindings and Interface"
+
+config BR2_PACKAGE_OLA_WEB
+	bool "http interface"
+	select BR2_PACKAGE_LIBMICROHTTPD
+	help
+	  Build OLA with browser interface.
+
+config BR2_PACKAGE_OLA_SLP
+	bool "slp tools"
+	help
+	  Build OLA with slp tools.
+ 
+config BR2_PACKAGE_OLA_PYTHON_BINDINGS
+	bool "python bindings"
+	select BR2_PACKAGE_PYTHON
+	select BR2_PACKAGE_PYTHON_PROTOBUF
+	depends on BR2_USE_MMU
+	help
+	  Build OLA with support for the Python language.
+
+endmenu
+
+menu "Tests and Examples"
+
+config BR2_PACKAGE_OLA_EXAMPLES
+	bool "examples"
+	select BR2_PACKAGE_NCURSES
+	help
+	  Build OLA examples.
+
+config BR2_PACKAGE_OLA_RDM_TESTS
+	bool "rdm tests"
+	depends on BR2_PACKAGE_OLA_BINDING_PYTHON
+	help
+	  Build OLA RDM tests.
+
+endmenu
+
+menu "OLA Plugin selections"
+
+config BR2_PACKAGE_OLA_PLUGIN_ARTNET
+	bool "artnet"
+	default y
+	help
+	  Build Artnet plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_DUMMY
+	bool "dummy"
+	default y
+	help
+	  Build Dummy plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_E131
+	bool "acn E131"
+	default y
+	help
+	  Build ACN E131 plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_ESPNET
+	bool "espnet"
+	help
+	  Build EspNet plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_KINET
+	bool "kinet"
+	help
+	  Build KiNet plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_OPENDMX
+	bool "DMX4Linux"
+	help
+	  Build DMX4Linux plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_PATHPORT
+	bool "pathport"
+	help
+	  Build Pathport plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_SANDNET
+	bool "sandnet"
+	help
+	  Build SandNet plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_SHOWNET
+	bool "shownet"
+	help
+	  Build ShowNet plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_KARATE
+	bool "karate"
+	help
+	  Build Karate plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_SPI
+	bool "spi"
+	help
+	  Build SPI plugin for OLA.
+
+comment "USB driver required for stageprofi and usbpro plugin"
+	depends on !BR2_PACKAGE_LIBFTDI && !BR2_PACKAGE_LIBUSB
+
+config BR2_PACKAGE_OLA_PLUGIN_STAGEPROFI
+	bool "stageprofi"
+	depends on BR2_PACKAGE_LIBFTDI || BR2_PACKAGE_LIBUSB 
+	help
+	  Build StageProfi plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_USBPRO
+	bool "usbpro"
+	depends on BR2_PACKAGE_LIBFTDI || BR2_PACKAGE_LIBUSB
+	help
+	  Build UsbPro plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_OSC
+	bool "osc"
+	select BR2_PACKAGE_LIBLO
+	help
+	  Build Open sound control plugin for OLA.
+
+endmenu
+
+endif
diff --git a/package/ola/ola.mk b/package/ola/ola.mk
new file mode 100644
index 0000000..0a22401
--- /dev/null
+++ b/package/ola/ola.mk
@@ -0,0 +1,153 @@
+################################################################################
+#
+# ola
+#
+################################################################################
+
+OLA_VERSION = 0.8.31
+OLA_SOURCE = ola-0.8.31.tar.gz
+OLA_SITE = https://open-lighting.googlecode.com/files
+
+OLA_LICENSE = LGPLv2.1+ (libola, libolacommon, Python bindings), GPLv2+ (libolaserver, olad, Python examples and tests)
+OLA_LICENSE_FILES = LICENCE GPL LGPL
+OLA_INSTALL_STAGING = YES
+
+# util-linux provides uuid lib
+OLA_DEPENDENCIES = protobuf util-linux
+
+OLA_CONF_OPT = \
+	--disable-gcov \
+	--disable-tcmalloc \
+	--disable-unittests \
+	--disable-root-check \
+	--disable-java-libs
+
+# sets where to find python libs built for target and required by ola
+OLA_CONF_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages
+OLA_MAKE_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages
+
+## OLA Bindings and Interface selections
+
+ifeq ($(BR2_PACKAGE_OLA_WEB),y)
+OLA_CONF_OPT += --enable-http
+OLA_DEPENDENCIES += libmicrohttpd
+else
+OLA_CONF_OPT += --disable-http
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_SLP),y)
+OLA_CONF_OPT += --enable-slp
+else
+OLA_CONF_OPT += --disable-slp
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PYTHON_BINDINGS),y)
+OLA_CONF_OPT += --enable-python-libs
+OLA_DEPENDENCIES += python python-protobuf
+else
+OLA_CONF_OPT += --disable-python-libs
+endif
+
+## OLA Examples and Tests
+
+ifeq ($(BR2_PACKAGE_OLA_EXAMPLES),y)
+OLA_CONF_OPT += --enable-examples
+OLA_DEPENDENCIES += ncurses
+else
+OLA_CONF_OPT += --disable-examples
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_RDM_TESTS),y)
+OLA_CONF_OPT += --enable-rdm-tests
+else
+OLA_CONF_OPT += --disable-rdm-tests
+endif
+
+## OLA Plugin selections
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_ARTNET),y)
+OLA_CONF_OPT += --enable-artnet
+else
+OLA_CONF_OPT += --disable-artnet
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_DUMMY),y)
+OLA_CONF_OPT += --enable-dummy
+else
+OLA_CONF_OPT += --disable-dummy
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_E131),y)
+OLA_CONF_OPT += --enable-e131
+else
+OLA_CONF_OPT += --disable-e131
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_ESPNET),y)
+OLA_CONF_OPT += --enable-espnet
+else
+OLA_CONF_OPT += --disable-espnet
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_KINET),y)
+OLA_CONF_OPT += --enable-kinet
+else
+OLA_CONF_OPT += --disable-kinet
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_OPENDMX),y)
+OLA_CONF_OPT += --enable-opendmx
+else
+OLA_CONF_OPT += --disable-opendmx
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_PATHPORT),y)
+OLA_CONF_OPT += --enable-pathport
+else
+OLA_CONF_OPT += --disable-pathport
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_SANDNET),y)
+OLA_CONF_OPT += --enable-sandnet
+else
+OLA_CONF_OPT += --disable-sandnet
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_SHOWNET),y)
+OLA_CONF_OPT += --enable-shownet
+else
+OLA_CONF_OPT += --disable-shownet
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_KARATE),y)
+OLA_CONF_OPT += --enable-karate
+else
+OLA_CONF_OPT += --disable-karate
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_SPI),y)
+OLA_CONF_OPT += --enable-spi
+else
+OLA_CONF_OPT += --disable-spi
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_STAGEPROFI),y)
+OLA_CONF_OPT += --enable-stageprofi
+else
+OLA_CONF_OPT += --disable-stageprofi
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_USBPRO),y)
+OLA_CONF_OPT += --enable-usbpro
+else
+OLA_CONF_OPT += --disable-usbpro
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_OSC),y)
+OLA_CONF_OPT += --enable-osc
+OLA_DEPENDENCIES += liblo
+else
+OLA_CONF_OPT += --disable-osc
+endif
+
+$(eval $(autotools-package))
-- 
1.8.3.4

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

* [Buildroot] [PATCH 1/1] ola: new package
  2013-08-12 18:05 [Buildroot] [PATCH 1/1] ola: new package Dave Skok
@ 2013-08-13 22:32 ` Thomas Petazzoni
  2013-08-14  0:51   ` Blanco
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2013-08-13 22:32 UTC (permalink / raw)
  To: buildroot

Dear Dave Skok,

On Mon, 12 Aug 2013 14:05:15 -0400, Dave Skok wrote:
> Signed-off-by: Dave Skok <blanco.ether@gmail.com>
> ---
>  package/Config.in     |   1 +
>  package/ola/Config.in | 144 +++++++++++++++++++++++++++++++++++++++++++++++
>  package/ola/ola.mk    | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 298 insertions(+)
>  create mode 100644 package/ola/Config.in
>  create mode 100644 package/ola/ola.mk

Thanks, it now builds successfully.

However, I've found another issue: even if I keep most plugins
disabled, they are still all built and installed. For example, with a
configuration that has:

# BR2_PACKAGE_OLA_PLUGIN_KARATE is not set

I get the karate plugin built and installed:

$ ls -1 output/target/usr/lib/olad/*karate*
output/target/usr/lib/olad/libolakarate.so
output/target/usr/lib/olad/libolakarate.so.0
output/target/usr/lib/olad/libolakarate.so.0.0.0

Same goes for:

# BR2_PACKAGE_OLA_PLUGIN_SPI is not set

$ ls -1 output/target/usr/lib/olad/*spi*
output/target/usr/lib/olad/libolaspicore.so
output/target/usr/lib/olad/libolaspicore.so.0
output/target/usr/lib/olad/libolaspicore.so.0.0.0
output/target/usr/lib/olad/libolaspi.so
output/target/usr/lib/olad/libolaspi.so.0
output/target/usr/lib/olad/libolaspi.so.0.0.0

Is this expected?

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

* [Buildroot] [PATCH 1/1] ola: new package
  2013-08-13 22:32 ` Thomas Petazzoni
@ 2013-08-14  0:51   ` Blanco
       [not found]     ` <CALy4uEU8nED=gPosezp_5dK79BQ8Q18ZtogJhPComrO+kHkJZA@mail.gmail.com>
  0 siblings, 1 reply; 5+ messages in thread
From: Blanco @ 2013-08-14  0:51 UTC (permalink / raw)
  To: buildroot


Hi Thomas, 

No, plugins should not be built if not selected.  I took out autoreconfig when I switched from git repo to tarred release.  It is possible that is the cause.  I will check.

Dave

On Aug 13, 2013, at 6:32 PM, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote:

> Dear Dave Skok,
> 
> On Mon, 12 Aug 2013 14:05:15 -0400, Dave Skok wrote:
>> Signed-off-by: Dave Skok <blanco.ether@gmail.com>
>> ---
>> package/Config.in     |   1 +
>> package/ola/Config.in | 144 +++++++++++++++++++++++++++++++++++++++++++++++
>> package/ola/ola.mk    | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++
>> 3 files changed, 298 insertions(+)
>> create mode 100644 package/ola/Config.in
>> create mode 100644 package/ola/ola.mk
> 
> Thanks, it now builds successfully.
> 
> However, I've found another issue: even if I keep most plugins
> disabled, they are still all built and installed. For example, with a
> configuration that has:
> 
> # BR2_PACKAGE_OLA_PLUGIN_KARATE is not set
> 
> I get the karate plugin built and installed:
> 
> $ ls -1 output/target/usr/lib/olad/*karate*
> output/target/usr/lib/olad/libolakarate.so
> output/target/usr/lib/olad/libolakarate.so.0
> output/target/usr/lib/olad/libolakarate.so.0.0.0
> 
> Same goes for:
> 
> # BR2_PACKAGE_OLA_PLUGIN_SPI is not set
> 
> $ ls -1 output/target/usr/lib/olad/*spi*
> output/target/usr/lib/olad/libolaspicore.so
> output/target/usr/lib/olad/libolaspicore.so.0
> output/target/usr/lib/olad/libolaspicore.so.0.0.0
> output/target/usr/lib/olad/libolaspi.so
> output/target/usr/lib/olad/libolaspi.so.0
> output/target/usr/lib/olad/libolaspi.so.0.0.0
> 
> Is this expected?
> 
> 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] 5+ messages in thread

* [Buildroot] Fwd:  [PATCH 1/1] ola: new package
       [not found]     ` <CALy4uEU8nED=gPosezp_5dK79BQ8Q18ZtogJhPComrO+kHkJZA@mail.gmail.com>
@ 2013-08-15 14:30       ` David Skok
  2013-08-15 15:11         ` Thomas Petazzoni
  0 siblings, 1 reply; 5+ messages in thread
From: David Skok @ 2013-08-15 14:30 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

I checked with maintainer and karate and spi plugins build by mistake even
with --disable to configure.  Will have to either live with that or take
selection out and user assumes that it will be built.  The milinst plugin
is new and I added it to the list as well as ordered all alphabetically.
 Also found error with a plug in requiring python dependency in original
patch and added python binding dependency comment for said plugin.

A general buildroot question...
When plugin selections added after first build, ./configure is not re-run.
 As such dependencies are built but not new plugins.  Is there something I
need to put in package patch to make this work?

I realize that the .stamp_configured needs to be deleted and if selections
are added this works fine.  If selections removed the already built pieces
will remain in staging and target.  Am I right?

Dave




On Tue, Aug 13, 2013 at 8:51 PM, Blanco <blanco.ether@gmail.com> wrote:

>
> Hi Thomas,
>
> No, plugins should not be built if not selected.  I took out autoreconfig
> when I switched from git repo to tarred release.  It is possible that is
> the cause.  I will check.
>
> Dave
>
> On Aug 13, 2013, at 6:32 PM, Thomas Petazzoni <
> thomas.petazzoni at free-electrons.com> wrote:
>
> > Dear Dave Skok,
> >
> > On Mon, 12 Aug 2013 14:05:15 -0400, Dave Skok wrote:
> >> Signed-off-by: Dave Skok <blanco.ether@gmail.com>
> >> ---
> >> package/Config.in     |   1 +
> >> package/ola/Config.in | 144
> +++++++++++++++++++++++++++++++++++++++++++++++
> >> package/ola/ola.mk    | 153
> ++++++++++++++++++++++++++++++++++++++++++++++++++
> >> 3 files changed, 298 insertions(+)
> >> create mode 100644 package/ola/Config.in
> >> create mode 100644 package/ola/ola.mk
> >
> > Thanks, it now builds successfully.
> >
> > However, I've found another issue: even if I keep most plugins
> > disabled, they are still all built and installed. For example, with a
> > configuration that has:
> >
> > # BR2_PACKAGE_OLA_PLUGIN_KARATE is not set
> >
> > I get the karate plugin built and installed:
> >
> > $ ls -1 output/target/usr/lib/olad/*karate*
> > output/target/usr/lib/olad/libolakarate.so
> > output/target/usr/lib/olad/libolakarate.so.0
> > output/target/usr/lib/olad/libolakarate.so.0.0.0
> >
> > Same goes for:
> >
> > # BR2_PACKAGE_OLA_PLUGIN_SPI is not set
> >
> > $ ls -1 output/target/usr/lib/olad/*spi*
> > output/target/usr/lib/olad/libolaspicore.so
> > output/target/usr/lib/olad/libolaspicore.so.0
> > output/target/usr/lib/olad/libolaspicore.so.0.0.0
> > output/target/usr/lib/olad/libolaspi.so
> > output/target/usr/lib/olad/libolaspi.so.0
> > output/target/usr/lib/olad/libolaspi.so.0.0.0
> >
> > Is this expected?
> >
> > Thanks,
> >
> > Thomas
> > --
> > Thomas Petazzoni, Free Electrons
> > Kernel, drivers, real-time and embedded Linux
> > development, consulting, training and support.
> > http://free-electrons.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20130815/e3053949/attachment.html>

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

* [Buildroot] Fwd:  [PATCH 1/1] ola: new package
  2013-08-15 14:30       ` [Buildroot] Fwd: " David Skok
@ 2013-08-15 15:11         ` Thomas Petazzoni
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2013-08-15 15:11 UTC (permalink / raw)
  To: buildroot

Dear David Skok,

On Thu, 15 Aug 2013 10:30:12 -0400, David Skok wrote:

> I checked with maintainer and karate and spi plugins build by mistake even
> with --disable to configure.  Will have to either live with that or take
> selection out and user assumes that it will be built.

Ok, then for now, remove the options for those plugins that are always
built, and only add options for plugins that can actually be
disabled/enabled.

>  The milinst plugin
> is new and I added it to the list as well as ordered all alphabetically.
>  Also found error with a plug in requiring python dependency in original
> patch and added python binding dependency comment for said plugin.
> 
> A general buildroot question...
> When plugin selections added after first build, ./configure is not re-run.
>  As such dependencies are built but not new plugins.  Is there something I
> need to put in package patch to make this work?

No, because we don't try to make this work. When an user changes the
Buildroot configuration, he has either to rebuild everything, or to
know what are the impacts of the configuration change and rebuild the
corresponding packages.

The problem is that it is almost impossible to know what is the impact
of an arbitrary change in the configuration, so we don't try to handle
this, it's part of the KISS principle.

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

end of thread, other threads:[~2013-08-15 15:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-12 18:05 [Buildroot] [PATCH 1/1] ola: new package Dave Skok
2013-08-13 22:32 ` Thomas Petazzoni
2013-08-14  0:51   ` Blanco
     [not found]     ` <CALy4uEU8nED=gPosezp_5dK79BQ8Q18ZtogJhPComrO+kHkJZA@mail.gmail.com>
2013-08-15 14:30       ` [Buildroot] Fwd: " David Skok
2013-08-15 15:11         ` Thomas Petazzoni

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