All of lore.kernel.org
 help / color / mirror / Atom feed
* [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7
@ 2012-07-13  9:11 Koen Kooi
  2012-07-13  9:11 ` [for-denzil][meta-oe 02/24] nodejs: update to 0.6.17 Koen Kooi
                   ` (23 more replies)
  0 siblings, 24 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:11 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, eric

All binding are disabled since they are not safe for cross-compilation.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 .../0001-rrdtool-eradicate-tcl-support.patch       | 1733 ++++++++++++++++++++
 meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb  |   33 +
 2 files changed, 1766 insertions(+)
 create mode 100644 meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch
 create mode 100644 meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb

diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch b/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch
new file mode 100644
index 0000000..1157dc7
--- /dev/null
+++ b/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch
@@ -0,0 +1,1733 @@
+From 2dcb4bb8aadfead3e77bdb78b96ec8022e605a0d Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Sat, 12 May 2012 20:41:35 +0200
+Subject: [PATCH] rrdtool: eradicate tcl support
+
+TCL breaks autoreconf
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ Makefile.am                  |    3 -
+ bindings/Makefile.am         |    5 +-
+ bindings/tcl/Makefile.am     |   58 ----
+ bindings/tcl/Makefile.in     |  668 ------------------------------------
+ bindings/tcl/README          |   31 --
+ bindings/tcl/ifOctets.tcl.in |   45 ---
+ bindings/tcl/tclrrd.c        |  762 ------------------------------------------
+ configure.ac                 |   54 ---
+ 8 files changed, 1 insertion(+), 1625 deletions(-)
+ delete mode 100644 bindings/tcl/Makefile.am
+ delete mode 100644 bindings/tcl/Makefile.in
+ delete mode 100644 bindings/tcl/README
+ delete mode 100644 bindings/tcl/ifOctets.tcl.in
+ delete mode 100644 bindings/tcl/tclrrd.c
+
+diff --git a/Makefile.am b/Makefile.am
+index 2003373..969e36b 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -36,9 +36,6 @@ site-perl-install: all bindings/perl-piped/Makefile bindings/perl-shared/Makefil
+ 	cd bindings/perl-piped && $(MAKE) install
+ 	cd bindings/perl-shared && $(MAKE) install
+ 
+-site-tcl-install: all
+-	cd bindings/tcl && $(MAKE) tcl-install
+-
+ site-python-install: all
+ 	cd bindings/python && $(PYTHON) setup.py install $(if $(DESTDIR),--root=$(DESTDIR))
+ 
+diff --git a/bindings/Makefile.am b/bindings/Makefile.am
+index c4fdc10..3574a60 100644
+--- a/bindings/Makefile.am
++++ b/bindings/Makefile.am
+@@ -1,13 +1,10 @@
+ .PHONY: python ruby
+ 
+-if BUILD_TCL
+-SUB_tcl = tcl
+-endif
+ if BUILD_LUA
+ SUB_lua = lua
+ endif
+ 
+-SUBDIRS = $(SUB_tcl) $(SUB_lua)
++SUBDIRS = $(SUB_lua)
+ 
+ # the following files are not mentioned in any other Makefile
+ EXTRA_DIST = perl-piped/MANIFEST perl-piped/README perl-piped/Makefile.PL perl-piped/RRDp.pm perl-piped/t/base.t \
+diff --git a/bindings/tcl/Makefile.am b/bindings/tcl/Makefile.am
+deleted file mode 100644
+index c0e8b0f..0000000
+--- a/bindings/tcl/Makefile.am
++++ /dev/null
+@@ -1,58 +0,0 @@
+-
+-EXTRA_DIST = README tclrrd.c
+-
+-VERSION = @VERSION@
+-
+-AM_CFLAGS = @CFLAGS@
+-### no including this by default @WERROR@
+-
+-TCL_PREFIX = @TCL_PREFIX@
+-TCL_SHLIB_LD = @TCL_SHLIB_LD@
+-TCL_SHLIB_CFLAGS = @TCL_SHLIB_CFLAGS@
+-TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@
+-TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@
+-TCL_LD_SEARCH_FLAGS = @TCL_LD_SEARCH_FLAGS@
+-TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@
+-TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@
+-
+-CLEANFILES = tclrrd.o tclrrd.so
+-
+-SRC_DIR            = $(top_srcdir)/src
+-AM_CPPFLAGS        = $(TCL_INCLUDE_SPEC) -I$(SRC_DIR) -DUSE_TCL_STUBS
+-LIBDIRS            = -L$(top_builddir)/src/.libs -L$(top_builddir)/src -L$(libdir)
+-LIB_RUNTIME_DIR    = $(libdir)
+-
+-if BUILD_TCL_SITE
+-tclpkgdir = @TCL_PACKAGE_DIR@
+-tclpkg_DATA = pkgIndex.tcl
+-tclpkg_SCRIPTS = ifOctets.tcl
+-else
+-pkglib_DATA = pkgIndex.tcl
+-pkglib_SCRIPTS = ifOctets.tcl
+-endif
+-
+-# Automake doen't like `tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)' as
+-# library name. So we build and install this library `by hand'.
+-#
+-# We do, however, specify a lib_LIBRARIES target such that
+-# automake creates the directory (if neecessary).
+-#
+-TCL_RRD_LIB = tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)
+-
+-lib_LIBRARIES =
+-
+-all-local: $(TCL_RRD_LIB)
+-
+-$(TCL_RRD_LIB): tclrrd.o
+-	$(TCL_SHLIB_LD) $(TCL_LD_SEARCH_FLAGS) $(LIBDIRS) $< -o $@ -lrrd_th -lm $(TCL_STUB_LIB_SPEC) $(LDFLAGS) $(LIBS)
+-
+-tclrrd.o: tclrrd.c
+-	$(CC) $(AM_CFLAGS) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(AM_CPPFLAGS) -c tclrrd.c -DVERSION=\"$(VERSION)\"
+-
+-pkgIndex.tcl:
+-	echo "package ifneeded Rrd $(VERSION) \"load $(libdir)/tclrrd$(VERSION)[info sharedlibextension]\"" > $@
+-
+-install-exec-local: $(TCL_RRD_LIB)
+-	@$(NORMAL_INSTALL)
+-	$(INSTALL_PROGRAM) $(TCL_RRD_LIB) $(DESTDIR)$(libdir)/$(TCL_RRD_LIB)
+-
+diff --git a/bindings/tcl/Makefile.in b/bindings/tcl/Makefile.in
+deleted file mode 100644
+index 0a36517..0000000
+--- a/bindings/tcl/Makefile.in
++++ /dev/null
+@@ -1,668 +0,0 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
+-# @configure_input@
+-
+-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+-# Inc.
+-# This Makefile.in is free software; the Free Software Foundation
+-# gives unlimited permission to copy and/or distribute it,
+-# with or without modifications, as long as this notice is preserved.
+-
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+-# PARTICULAR PURPOSE.
+-
+-@SET_MAKE@
+-
+-
+-
+-VPATH = @srcdir@
+-pkgdatadir = $(datadir)/@PACKAGE@
+-pkgincludedir = $(includedir)/@PACKAGE@
+-pkglibdir = $(libdir)/@PACKAGE@
+-pkglibexecdir = $(libexecdir)/@PACKAGE@
+-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+-install_sh_DATA = $(install_sh) -c -m 644
+-install_sh_PROGRAM = $(install_sh) -c
+-install_sh_SCRIPT = $(install_sh) -c
+-INSTALL_HEADER = $(INSTALL_DATA)
+-transform = $(program_transform_name)
+-NORMAL_INSTALL = :
+-PRE_INSTALL = :
+-POST_INSTALL = :
+-NORMAL_UNINSTALL = :
+-PRE_UNINSTALL = :
+-POST_UNINSTALL = :
+-build_triplet = @build@
+-host_triplet = @host@
+-target_triplet = @target@
+-subdir = bindings/tcl
+-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+-	$(srcdir)/ifOctets.tcl.in
+-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
+-	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
+-	$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+-	$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+-	$(top_srcdir)/configure.ac
+-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+-	$(ACLOCAL_M4)
+-mkinstalldirs = $(install_sh) -d
+-CONFIG_HEADER = $(top_builddir)/rrd_config.h
+-CONFIG_CLEAN_FILES = ifOctets.tcl
+-CONFIG_CLEAN_VPATH_FILES =
+-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+-am__vpath_adj = case $$p in \
+-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+-    *) f=$$p;; \
+-  esac;
+-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+-am__install_max = 40
+-am__nobase_strip_setup = \
+-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+-am__nobase_strip = \
+-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+-am__nobase_list = $(am__nobase_strip_setup); \
+-  for p in $$list; do echo "$$p $$p"; done | \
+-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+-    if (++n[$$2] == $(am__install_max)) \
+-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+-    END { for (dir in files) print dir, files[dir] }'
+-am__base_list = \
+-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkglibdir)" \
+-	"$(DESTDIR)$(tclpkgdir)" "$(DESTDIR)$(pkglibdir)" \
+-	"$(DESTDIR)$(tclpkgdir)"
+-LIBRARIES = $(lib_LIBRARIES)
+-SCRIPTS = $(pkglib_SCRIPTS) $(tclpkg_SCRIPTS)
+-AM_V_GEN = $(am__v_GEN_$(V))
+-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+-am__v_GEN_0 = @echo "  GEN   " $@;
+-AM_V_at = $(am__v_at_$(V))
+-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+-am__v_at_0 = @
+-SOURCES =
+-DIST_SOURCES =
+-DATA = $(pkglib_DATA) $(tclpkg_DATA)
+-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+-ACLOCAL = @ACLOCAL@
+-ALL_LIBS = @ALL_LIBS@
+-AMTAR = @AMTAR@
+-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+-AR = @AR@
+-AUTOCONF = @AUTOCONF@
+-AUTOHEADER = @AUTOHEADER@
+-AUTOMAKE = @AUTOMAKE@
+-AWK = @AWK@
+-CC = @CC@
+-CCDEPMODE = @CCDEPMODE@
+-CFLAGS = @CFLAGS@
+-COMP_LUA = @COMP_LUA@
+-COMP_PERL = @COMP_PERL@
+-COMP_PYTHON = @COMP_PYTHON@
+-COMP_RUBY = @COMP_RUBY@
+-CORE_LIBS = @CORE_LIBS@
+-CPP = @CPP@
+-CPPFLAGS = @CPPFLAGS@
+-CYGPATH_W = @CYGPATH_W@
+-DEFS = @DEFS@
+-DEPDIR = @DEPDIR@
+-DSYMUTIL = @DSYMUTIL@
+-DUMPBIN = @DUMPBIN@
+-ECHO_C = @ECHO_C@
+-ECHO_N = @ECHO_N@
+-ECHO_T = @ECHO_T@
+-EGREP = @EGREP@
+-EXEEXT = @EXEEXT@
+-FGREP = @FGREP@
+-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+-GMSGFMT = @GMSGFMT@
+-GMSGFMT_015 = @GMSGFMT_015@
+-GREP = @GREP@
+-INSTALL = @INSTALL@
+-INSTALL_DATA = @INSTALL_DATA@
+-INSTALL_PROGRAM = @INSTALL_PROGRAM@
+-INSTALL_SCRIPT = @INSTALL_SCRIPT@
+-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-INTLLIBS = @INTLLIBS@
+-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+-LD = @LD@
+-LDFLAGS = @LDFLAGS@
+-LIBICONV = @LIBICONV@
+-LIBINTL = @LIBINTL@
+-LIBOBJS = @LIBOBJS@
+-LIBS = @LIBS@
+-LIBTOOL = @LIBTOOL@
+-LIBVERS = @LIBVERS@
+-LIPO = @LIPO@
+-LN_S = @LN_S@
+-LTLIBICONV = @LTLIBICONV@
+-LTLIBINTL = @LTLIBINTL@
+-LTLIBOBJS = @LTLIBOBJS@
+-LUA = @LUA@
+-LUA_CFLAGS = @LUA_CFLAGS@
+-LUA_DEFINES = @LUA_DEFINES@
+-LUA_INSTALL_CMOD = @LUA_INSTALL_CMOD@
+-LUA_INSTALL_LMOD = @LUA_INSTALL_LMOD@
+-LUA_LFLAGS = @LUA_LFLAGS@
+-MAINT = @MAINT@
+-MAKEINFO = @MAKEINFO@
+-MKDIR_P = @MKDIR_P@
+-MSGFMT = @MSGFMT@
+-MSGFMT_015 = @MSGFMT_015@
+-MSGMERGE = @MSGMERGE@
+-MULTITHREAD_CFLAGS = @MULTITHREAD_CFLAGS@
+-MULTITHREAD_LDFLAGS = @MULTITHREAD_LDFLAGS@
+-NM = @NM@
+-NMEDIT = @NMEDIT@
+-NROFF = @NROFF@
+-NUMVERS = @NUMVERS@
+-OBJDUMP = @OBJDUMP@
+-OBJEXT = @OBJEXT@
+-OTOOL = @OTOOL@
+-OTOOL64 = @OTOOL64@
+-PACKAGE = @PACKAGE@
+-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+-PACKAGE_NAME = @PACKAGE_NAME@
+-PACKAGE_STRING = @PACKAGE_STRING@
+-PACKAGE_TARNAME = @PACKAGE_TARNAME@
+-PACKAGE_VERSION = @PACKAGE_VERSION@
+-PATH_SEPARATOR = @PATH_SEPARATOR@
+-PERL = @PERL@
+-PERLCC = @PERLCC@
+-PERLCCFLAGS = @PERLCCFLAGS@
+-PERLFLAGS = @PERLFLAGS@
+-PERLLD = @PERLLD@
+-PERLLDFLAGS = @PERLLDFLAGS@
+-PERL_CC = @PERL_CC@
+-PERL_MAKE_OPTIONS = @PERL_MAKE_OPTIONS@
+-PERL_VERSION = @PERL_VERSION@
+-PKGCONFIG = @PKGCONFIG@
+-POD2HTML = @POD2HTML@
+-POD2MAN = @POD2MAN@
+-POSUB = @POSUB@
+-PTHREAD_CC = @PTHREAD_CC@
+-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+-PTHREAD_LIBS = @PTHREAD_LIBS@
+-PYTHON = @PYTHON@
+-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+-PYTHON_INCLUDES = @PYTHON_INCLUDES@
+-PYTHON_PLATFORM = @PYTHON_PLATFORM@
+-PYTHON_PREFIX = @PYTHON_PREFIX@
+-PYTHON_VERSION = @PYTHON_VERSION@
+-RANLIB = @RANLIB@
+-RRDDOCDIR = @RRDDOCDIR@
+-RRDGRAPH_YLEGEND_ANGLE = @RRDGRAPH_YLEGEND_ANGLE@
+-RRD_DEFAULT_FONT = @RRD_DEFAULT_FONT@
+-RRD_GETOPT_LONG = @RRD_GETOPT_LONG@
+-RUBY = @RUBY@
+-RUBY_MAKE_OPTIONS = @RUBY_MAKE_OPTIONS@
+-SED = @SED@
+-SET_MAKE = @SET_MAKE@
+-SHELL = @SHELL@
+-STRIP = @STRIP@
+-TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@
+-TCL_LD_SEARCH_FLAGS = @TCL_LD_SEARCH_FLAGS@
+-TCL_PACKAGE_DIR = @TCL_PACKAGE_DIR@
+-TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@
+-### no including this by default @WERROR@
+-TCL_PREFIX = @TCL_PREFIX@
+-TCL_SHLIB_CFLAGS = @TCL_SHLIB_CFLAGS@
+-TCL_SHLIB_LD = @TCL_SHLIB_LD@
+-TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@
+-TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@
+-TCL_VERSION = @TCL_VERSION@
+-TROFF = @TROFF@
+-USE_NLS = @USE_NLS@
+-VERSION = @VERSION@
+-WERROR = @WERROR@
+-XGETTEXT = @XGETTEXT@
+-XGETTEXT_015 = @XGETTEXT_015@
+-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+-abs_builddir = @abs_builddir@
+-abs_srcdir = @abs_srcdir@
+-abs_top_builddir = @abs_top_builddir@
+-abs_top_srcdir = @abs_top_srcdir@
+-ac_ct_CC = @ac_ct_CC@
+-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+-acx_pthread_config = @acx_pthread_config@
+-am__include = @am__include@
+-am__leading_dot = @am__leading_dot@
+-am__quote = @am__quote@
+-am__tar = @am__tar@
+-am__untar = @am__untar@
+-bindir = @bindir@
+-build = @build@
+-build_alias = @build_alias@
+-build_cpu = @build_cpu@
+-build_os = @build_os@
+-build_vendor = @build_vendor@
+-builddir = @builddir@
+-datadir = @datadir@
+-datarootdir = @datarootdir@
+-docdir = @docdir@
+-dvidir = @dvidir@
+-exec_prefix = @exec_prefix@
+-host = @host@
+-host_alias = @host_alias@
+-host_cpu = @host_cpu@
+-host_os = @host_os@
+-host_vendor = @host_vendor@
+-htmldir = @htmldir@
+-includedir = @includedir@
+-infodir = @infodir@
+-install_sh = @install_sh@
+-libdir = @libdir@
+-libexecdir = @libexecdir@
+-localedir = @localedir@
+-localstatedir = @localstatedir@
+-lt_ECHO = @lt_ECHO@
+-mandir = @mandir@
+-mkdir_p = @mkdir_p@
+-oldincludedir = @oldincludedir@
+-pdfdir = @pdfdir@
+-pkgpyexecdir = @pkgpyexecdir@
+-pkgpythondir = @pkgpythondir@
+-prefix = @prefix@
+-program_transform_name = @program_transform_name@
+-psdir = @psdir@
+-pyexecdir = @pyexecdir@
+-pythondir = @pythondir@
+-sbindir = @sbindir@
+-sharedstatedir = @sharedstatedir@
+-srcdir = @srcdir@
+-sysconfdir = @sysconfdir@
+-target = @target@
+-target_alias = @target_alias@
+-target_cpu = @target_cpu@
+-target_os = @target_os@
+-target_vendor = @target_vendor@
+-top_build_prefix = @top_build_prefix@
+-top_builddir = @top_builddir@
+-top_srcdir = @top_srcdir@
+-EXTRA_DIST = README tclrrd.c
+-AM_CFLAGS = @CFLAGS@
+-CLEANFILES = tclrrd.o tclrrd.so
+-SRC_DIR = $(top_srcdir)/src
+-AM_CPPFLAGS = $(TCL_INCLUDE_SPEC) -I$(SRC_DIR) -DUSE_TCL_STUBS
+-LIBDIRS = -L$(top_builddir)/src/.libs -L$(top_builddir)/src -L$(libdir)
+-LIB_RUNTIME_DIR = $(libdir)
+-@BUILD_TCL_SITE_TRUE@tclpkgdir = @TCL_PACKAGE_DIR@
+-@BUILD_TCL_SITE_TRUE@tclpkg_DATA = pkgIndex.tcl
+-@BUILD_TCL_SITE_TRUE@tclpkg_SCRIPTS = ifOctets.tcl
+-@BUILD_TCL_SITE_FALSE@pkglib_DATA = pkgIndex.tcl
+-@BUILD_TCL_SITE_FALSE@pkglib_SCRIPTS = ifOctets.tcl
+-
+-# Automake doen't like `tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)' as
+-# library name. So we build and install this library `by hand'.
+-#
+-# We do, however, specify a lib_LIBRARIES target such that
+-# automake creates the directory (if neecessary).
+-#
+-TCL_RRD_LIB = tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)
+-lib_LIBRARIES = 
+-all: all-am
+-
+-.SUFFIXES:
+-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+-	@for dep in $?; do \
+-	  case '$(am__configure_deps)' in \
+-	    *$$dep*) \
+-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+-	        && { if test -f $@; then exit 0; else break; fi; }; \
+-	      exit 1;; \
+-	  esac; \
+-	done; \
+-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bindings/tcl/Makefile'; \
+-	$(am__cd) $(top_srcdir) && \
+-	  $(AUTOMAKE) --gnu bindings/tcl/Makefile
+-.PRECIOUS: Makefile
+-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+-	@case '$?' in \
+-	  *config.status*) \
+-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+-	  *) \
+-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+-	esac;
+-
+-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+-
+-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+-$(am__aclocal_m4_deps):
+-ifOctets.tcl: $(top_builddir)/config.status $(srcdir)/ifOctets.tcl.in
+-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+-install-libLIBRARIES: $(lib_LIBRARIES)
+-	@$(NORMAL_INSTALL)
+-	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+-	@list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
+-	list2=; for p in $$list; do \
+-	  if test -f $$p; then \
+-	    list2="$$list2 $$p"; \
+-	  else :; fi; \
+-	done; \
+-	test -z "$$list2" || { \
+-	  echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \
+-	  $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; }
+-	@$(POST_INSTALL)
+-	@list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
+-	for p in $$list; do \
+-	  if test -f $$p; then \
+-	    $(am__strip_dir) \
+-	    echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \
+-	    ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \
+-	  else :; fi; \
+-	done
+-
+-uninstall-libLIBRARIES:
+-	@$(NORMAL_UNINSTALL)
+-	@list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
+-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+-	test -n "$$files" || exit 0; \
+-	echo " ( cd '$(DESTDIR)$(libdir)' && rm -f "$$files" )"; \
+-	cd "$(DESTDIR)$(libdir)" && rm -f $$files
+-
+-clean-libLIBRARIES:
+-	-test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
+-install-pkglibSCRIPTS: $(pkglib_SCRIPTS)
+-	@$(NORMAL_INSTALL)
+-	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+-	@list='$(pkglib_SCRIPTS)'; test -n "$(pkglibdir)" || list=; \
+-	for p in $$list; do \
+-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+-	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+-	done | \
+-	sed -e 'p;s,.*/,,;n' \
+-	    -e 'h;s|.*|.|' \
+-	    -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+-	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+-	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+-	    if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+-	      if (++n[d] == $(am__install_max)) { \
+-		print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+-	    else { print "f", d "/" $$4, $$1 } } \
+-	  END { for (d in files) print "f", d, files[d] }' | \
+-	while read type dir files; do \
+-	     if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+-	     test -z "$$files" || { \
+-	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(pkglibdir)$$dir'"; \
+-	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(pkglibdir)$$dir" || exit $$?; \
+-	     } \
+-	; done
+-
+-uninstall-pkglibSCRIPTS:
+-	@$(NORMAL_UNINSTALL)
+-	@list='$(pkglib_SCRIPTS)'; test -n "$(pkglibdir)" || exit 0; \
+-	files=`for p in $$list; do echo "$$p"; done | \
+-	       sed -e 's,.*/,,;$(transform)'`; \
+-	test -n "$$list" || exit 0; \
+-	echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
+-	cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
+-install-tclpkgSCRIPTS: $(tclpkg_SCRIPTS)
+-	@$(NORMAL_INSTALL)
+-	test -z "$(tclpkgdir)" || $(MKDIR_P) "$(DESTDIR)$(tclpkgdir)"
+-	@list='$(tclpkg_SCRIPTS)'; test -n "$(tclpkgdir)" || list=; \
+-	for p in $$list; do \
+-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+-	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+-	done | \
+-	sed -e 'p;s,.*/,,;n' \
+-	    -e 'h;s|.*|.|' \
+-	    -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+-	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+-	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+-	    if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+-	      if (++n[d] == $(am__install_max)) { \
+-		print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+-	    else { print "f", d "/" $$4, $$1 } } \
+-	  END { for (d in files) print "f", d, files[d] }' | \
+-	while read type dir files; do \
+-	     if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+-	     test -z "$$files" || { \
+-	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(tclpkgdir)$$dir'"; \
+-	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(tclpkgdir)$$dir" || exit $$?; \
+-	     } \
+-	; done
+-
+-uninstall-tclpkgSCRIPTS:
+-	@$(NORMAL_UNINSTALL)
+-	@list='$(tclpkg_SCRIPTS)'; test -n "$(tclpkgdir)" || exit 0; \
+-	files=`for p in $$list; do echo "$$p"; done | \
+-	       sed -e 's,.*/,,;$(transform)'`; \
+-	test -n "$$list" || exit 0; \
+-	echo " ( cd '$(DESTDIR)$(tclpkgdir)' && rm -f" $$files ")"; \
+-	cd "$(DESTDIR)$(tclpkgdir)" && rm -f $$files
+-
+-mostlyclean-libtool:
+-	-rm -f *.lo
+-
+-clean-libtool:
+-	-rm -rf .libs _libs
+-install-pkglibDATA: $(pkglib_DATA)
+-	@$(NORMAL_INSTALL)
+-	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+-	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+-	for p in $$list; do \
+-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+-	  echo "$$d$$p"; \
+-	done | $(am__base_list) | \
+-	while read files; do \
+-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \
+-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \
+-	done
+-
+-uninstall-pkglibDATA:
+-	@$(NORMAL_UNINSTALL)
+-	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+-	test -n "$$files" || exit 0; \
+-	echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
+-	cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
+-install-tclpkgDATA: $(tclpkg_DATA)
+-	@$(NORMAL_INSTALL)
+-	test -z "$(tclpkgdir)" || $(MKDIR_P) "$(DESTDIR)$(tclpkgdir)"
+-	@list='$(tclpkg_DATA)'; test -n "$(tclpkgdir)" || list=; \
+-	for p in $$list; do \
+-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+-	  echo "$$d$$p"; \
+-	done | $(am__base_list) | \
+-	while read files; do \
+-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tclpkgdir)'"; \
+-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(tclpkgdir)" || exit $$?; \
+-	done
+-
+-uninstall-tclpkgDATA:
+-	@$(NORMAL_UNINSTALL)
+-	@list='$(tclpkg_DATA)'; test -n "$(tclpkgdir)" || list=; \
+-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+-	test -n "$$files" || exit 0; \
+-	echo " ( cd '$(DESTDIR)$(tclpkgdir)' && rm -f" $$files ")"; \
+-	cd "$(DESTDIR)$(tclpkgdir)" && rm -f $$files
+-tags: TAGS
+-TAGS:
+-
+-ctags: CTAGS
+-CTAGS:
+-
+-
+-distdir: $(DISTFILES)
+-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+-	list='$(DISTFILES)'; \
+-	  dist_files=`for file in $$list; do echo $$file; done | \
+-	  sed -e "s|^$$srcdirstrip/||;t" \
+-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+-	case $$dist_files in \
+-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+-			   sort -u` ;; \
+-	esac; \
+-	for file in $$dist_files; do \
+-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+-	  if test -d $$d/$$file; then \
+-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+-	    if test -d "$(distdir)/$$file"; then \
+-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+-	    fi; \
+-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+-	    fi; \
+-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+-	  else \
+-	    test -f "$(distdir)/$$file" \
+-	    || cp -p $$d/$$file "$(distdir)/$$file" \
+-	    || exit 1; \
+-	  fi; \
+-	done
+-check-am: all-am
+-check: check-am
+-all-am: Makefile $(LIBRARIES) $(SCRIPTS) $(DATA) all-local
+-installdirs:
+-	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(tclpkgdir)" "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(tclpkgdir)"; do \
+-	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+-	done
+-install: install-am
+-install-exec: install-exec-am
+-install-data: install-data-am
+-uninstall: uninstall-am
+-
+-install-am: all-am
+-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+-
+-installcheck: installcheck-am
+-install-strip:
+-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+-	  `test -z '$(STRIP)' || \
+-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+-mostlyclean-generic:
+-
+-clean-generic:
+-	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+-
+-distclean-generic:
+-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+-
+-maintainer-clean-generic:
+-	@echo "This command is intended for maintainers to use"
+-	@echo "it deletes files that may require special tools to rebuild."
+-clean: clean-am
+-
+-clean-am: clean-generic clean-libLIBRARIES clean-libtool \
+-	mostlyclean-am
+-
+-distclean: distclean-am
+-	-rm -f Makefile
+-distclean-am: clean-am distclean-generic
+-
+-dvi: dvi-am
+-
+-dvi-am:
+-
+-html: html-am
+-
+-html-am:
+-
+-info: info-am
+-
+-info-am:
+-
+-install-data-am: install-tclpkgDATA install-tclpkgSCRIPTS
+-
+-install-dvi: install-dvi-am
+-
+-install-dvi-am:
+-
+-install-exec-am: install-exec-local install-libLIBRARIES \
+-	install-pkglibDATA install-pkglibSCRIPTS
+-
+-install-html: install-html-am
+-
+-install-html-am:
+-
+-install-info: install-info-am
+-
+-install-info-am:
+-
+-install-man:
+-
+-install-pdf: install-pdf-am
+-
+-install-pdf-am:
+-
+-install-ps: install-ps-am
+-
+-install-ps-am:
+-
+-installcheck-am:
+-
+-maintainer-clean: maintainer-clean-am
+-	-rm -f Makefile
+-maintainer-clean-am: distclean-am maintainer-clean-generic
+-
+-mostlyclean: mostlyclean-am
+-
+-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+-
+-pdf: pdf-am
+-
+-pdf-am:
+-
+-ps: ps-am
+-
+-ps-am:
+-
+-uninstall-am: uninstall-libLIBRARIES uninstall-pkglibDATA \
+-	uninstall-pkglibSCRIPTS uninstall-tclpkgDATA \
+-	uninstall-tclpkgSCRIPTS
+-
+-.MAKE: install-am install-strip
+-
+-.PHONY: all all-am all-local check check-am clean clean-generic \
+-	clean-libLIBRARIES clean-libtool distclean distclean-generic \
+-	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+-	install install-am install-data install-data-am install-dvi \
+-	install-dvi-am install-exec install-exec-am install-exec-local \
+-	install-html install-html-am install-info install-info-am \
+-	install-libLIBRARIES install-man install-pdf install-pdf-am \
+-	install-pkglibDATA install-pkglibSCRIPTS install-ps \
+-	install-ps-am install-strip install-tclpkgDATA \
+-	install-tclpkgSCRIPTS installcheck installcheck-am installdirs \
+-	maintainer-clean maintainer-clean-generic mostlyclean \
+-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+-	uninstall uninstall-am uninstall-libLIBRARIES \
+-	uninstall-pkglibDATA uninstall-pkglibSCRIPTS \
+-	uninstall-tclpkgDATA uninstall-tclpkgSCRIPTS
+-
+-
+-all-local: $(TCL_RRD_LIB)
+-
+-$(TCL_RRD_LIB): tclrrd.o
+-	$(TCL_SHLIB_LD) $(TCL_LD_SEARCH_FLAGS) $(LIBDIRS) $< -o $@ -lrrd_th -lm $(TCL_STUB_LIB_SPEC) $(LDFLAGS) $(LIBS)
+-
+-tclrrd.o: tclrrd.c
+-	$(CC) $(AM_CFLAGS) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(AM_CPPFLAGS) -c tclrrd.c -DVERSION=\"$(VERSION)\"
+-
+-pkgIndex.tcl:
+-	echo "package ifneeded Rrd $(VERSION) \"load $(libdir)/tclrrd$(VERSION)[info sharedlibextension]\"" > $@
+-
+-install-exec-local: $(TCL_RRD_LIB)
+-	@$(NORMAL_INSTALL)
+-	$(INSTALL_PROGRAM) $(TCL_RRD_LIB) $(DESTDIR)$(libdir)/$(TCL_RRD_LIB)
+-
+-# Tell versions [3.59,3.63) of GNU make to not export all variables.
+-# Otherwise a system limit (for SysV at least) may be exceeded.
+-.NOEXPORT:
+diff --git a/bindings/tcl/README b/bindings/tcl/README
+deleted file mode 100644
+index 065a03a..0000000
+--- a/bindings/tcl/README
++++ /dev/null
+@@ -1,31 +0,0 @@
+-TCLRRD -- A TCL interpreter extension to access the RRD library,
+-	  contributed to Tobias Oetiker's RRD tools.
+-
+-Copyright (c) 1999,2000 Frank Strauss, Technical University of Braunschweig.
+-
+-See the file "COPYING" for information on usage and redistribution
+-of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+-
+-TCLRRD adds a dynamically loadable package to the Tcl 8.x interpreter
+-to access all RRD functions as of RRDtool 1.0.13. All command names
+-and arguments are equal to those of RRDtool. They are assigned to the
+-namespace `Rrd', e.g.  `Rrd::create'. Return values are a bit
+-different from plain RRDtool behavior to enable more native Tcl
+-usage. Errors are mapped to the TCL_ERROR return code together with
+-the RRD error strings.
+-
+-TCLRRD makes it easy to combine RRD use with advanced SNMP functionality
+-of scotty (http://wwwsnmp.cs.utwente.nl/~schoenw/scotty/). E.g., it's easy
+-to use some scotty code to get the counters of some interfaces by their
+-interface name and then use Rrd::update to store the values. Furthermore,
+-data source types (see RRD::create documentation) and integer value ranges
+-could be easily retrieved from MIB information.
+-
+-TCLRRD has been written on a Linux system for use with Tcl 8.x. It should
+-work on many other platforms, although it has not been tested. There are
+-no fool proof installation procedures. Take a look at Makefile.am and
+-adapt it, if required.
+-
+-TCLRRD has been written for RRD 1.0.13.
+-
+-	Frank Strauss <strauss@ibr.cs.tu-bs.de>, 09-Mar-2000
+diff --git a/bindings/tcl/ifOctets.tcl.in b/bindings/tcl/ifOctets.tcl.in
+deleted file mode 100644
+index 7a36397..0000000
+--- a/bindings/tcl/ifOctets.tcl.in
++++ /dev/null
+@@ -1,45 +0,0 @@
+-#!/bin/sh
+-# the next line restarts using tclsh -*- tcl -*- \
+-exec tclsh@TCL_VERSION@ "$0" "$@"
+-
+-#package require Tnm 3.0
+-package require Rrd @VERSION@
+-
+-set rrdfile "[lindex $argv 0]-[lindex $argv 1].rrd"
+-
+-# create rrdfile if not yet existent
+-if {[file exists $rrdfile] == 0} {
+-    Rrd::create $rrdfile --step 5 \
+-	    DS:inOctets:COUNTER:10:U:U DS:outOctets:COUNTER:10:U:U \
+-	    RRA:AVERAGE:0.5:1:12
+-}
+-
+-# get an snmp session context
+-set session [Tnm::snmp generator -address [lindex $argv 0]]
+-
+-# walk through the ifDescr column to find the right interface
+-$session walk descr IF-MIB!ifDescr {
+-
+-    # is this the right interface?
+-    if {"[Tnm::snmp value $descr 0]" == "[lindex $argv 1]"} {
+-
+-	# get the instance part of this table row
+-	set inst [lindex [Tnm::mib split [Tnm::snmp oid $descr 0]] 1]
+-
+-	# get the two interface's octet counter values
+-	set in [lindex [lindex [$session get IF-MIB!ifInOctets.$inst] 0] 2]
+-	set out [lindex [lindex [$session get IF-MIB!ifOutOctets.$inst] 0] 2]
+-
+-	# write the values to the rrd
+-	puts "$in $out"
+-	Rrd::update $rrdfile --template inOctets:outOctets N:$in:$out
+-
+-	Rrd::graph gaga.png --title "gaga" \
+-		DEF:in=$rrdfile:inOctets:AVERAGE \
+-		DEF:out=$rrdfile:outOctets:AVERAGE \
+-		AREA:in#0000FF:inOctets \
+-		LINE2:out#00C000:outOctets
+-
+-	#puts [Rrd::fetch $rrdfile AVERAGE]
+-    }
+-}
+diff --git a/bindings/tcl/tclrrd.c b/bindings/tcl/tclrrd.c
+deleted file mode 100644
+index f1f0234..0000000
+--- a/bindings/tcl/tclrrd.c
++++ /dev/null
+@@ -1,762 +0,0 @@
+-/*
+- * tclrrd.c -- A TCL interpreter extension to access the RRD library.
+- *
+- * Copyright (c) 1999,2000 Frank Strauss, Technical University of Braunschweig.
+- *
+- * Thread-safe code copyright (c) 2005 Oleg Derevenetz, CenterTelecom Voronezh ISP.
+- *
+- * See the file "COPYING" for information on usage and redistribution
+- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+- *
+- * $Id: tclrrd.c 1854 2009-06-07 14:46:21Z oetiker $
+- */
+-
+-
+-
+-#include <errno.h>
+-#include <string.h>
+-#include <time.h>
+-#include <unistd.h>
+-#include <tcl.h>
+-#include <stdlib.h>
+-#include "../../src/rrd_tool.h"
+-#include "../../src/rrd_format.h"
+-
+-/* support pre-8.4 tcl */
+-
+-#ifndef CONST84
+-#   define CONST84
+-#endif
+-
+-extern int Tclrrd_Init(
+-    Tcl_Interp *interp);
+-extern int Tclrrd_SafeInit(
+-    Tcl_Interp *interp);
+-
+-
+-/*
+- * some rrd_XXX() and new thread-safe versions of Rrd_XXX()
+- * functions might modify the argv strings passed to it.
+- * Hence, we need to do some preparation before
+- * calling the rrd library functions.
+- */
+-static char **getopt_init(
+-    int argc,
+-    CONST84 char *argv[])
+-{
+-    char    **argv2;
+-    int       i;
+-
+-    argv2 = calloc(argc, sizeof(char *));
+-    for (i = 0; i < argc; i++) {
+-        argv2[i] = strdup(argv[i]);
+-    }
+-    return argv2;
+-}
+-
+-static void getopt_cleanup(
+-    int argc,
+-    char **argv2)
+-{
+-    int       i;
+-
+-    for (i = 0; i < argc; i++) {
+-        if (argv2[i] != NULL) {
+-            free(argv2[i]);
+-        }
+-    }
+-    free(argv2);
+-}
+-
+-static void getopt_free_element(
+-    char *argv2[],
+-    int argn)
+-{
+-    if (argv2[argn] != NULL) {
+-        free(argv2[argn]);
+-        argv2[argn] = NULL;
+-    }
+-}
+-
+-static void getopt_squieeze(
+-    int *argc,
+-    char *argv2[])
+-{
+-    int       i, null_i = 0, argc_tmp = *argc;
+-
+-    for (i = 0; i < argc_tmp; i++) {
+-        if (argv2[i] == NULL) {
+-            (*argc)--;
+-        } else {
+-            argv2[null_i++] = argv2[i];
+-        }
+-    }
+-}
+-
+-
+-
+-/* Thread-safe version */
+-static int Rrd_Create(
+-    ClientData __attribute__((unused)) clientData,
+-    Tcl_Interp *interp,
+-    int argc,
+-    CONST84 char *argv[])
+-{
+-    int       argv_i;
+-    char    **argv2;
+-    char     *parsetime_error = NULL;
+-    time_t    last_up = time(NULL) - 10;
+-    long int  long_tmp;
+-    unsigned long int pdp_step = 300;
+-    rrd_time_value_t last_up_tv;
+-
+-    argv2 = getopt_init(argc, argv);
+-
+-    for (argv_i = 1; argv_i < argc; argv_i++) {
+-        if (!strcmp(argv2[argv_i], "--start") || !strcmp(argv2[argv_i], "-b")) {
+-            if (argv_i++ >= argc) {
+-                Tcl_AppendResult(interp, "RRD Error: option '",
+-                                 argv2[argv_i - 1], "' needs an argument",
+-                                 (char *) NULL);
+-                getopt_cleanup(argc, argv2);
+-                return TCL_ERROR;
+-            }
+-            if ((parsetime_error = rrd_parsetime(argv2[argv_i], &last_up_tv))) {
+-                Tcl_AppendResult(interp, "RRD Error: invalid time format: '",
+-                                 argv2[argv_i], "'", (char *) NULL);
+-                getopt_cleanup(argc, argv2);
+-                return TCL_ERROR;
+-            }
+-            if (last_up_tv.type == RELATIVE_TO_END_TIME ||
+-                last_up_tv.type == RELATIVE_TO_START_TIME) {
+-                Tcl_AppendResult(interp,
+-                                 "RRD Error: specifying time relative to the 'start' ",
+-                                 "or 'end' makes no sense here",
+-                                 (char *) NULL);
+-                getopt_cleanup(argc, argv2);
+-                return TCL_ERROR;
+-            }
+-            last_up = mktime(&last_up_tv.tm) +last_up_tv.offset;
+-            if (last_up < 3600 * 24 * 365 * 10) {
+-                Tcl_AppendResult(interp,
+-                                 "RRD Error: the first entry to the RRD should be after 1980",
+-                                 (char *) NULL);
+-                getopt_cleanup(argc, argv2);
+-                return TCL_ERROR;
+-            }
+-            getopt_free_element(argv2, argv_i - 1);
+-            getopt_free_element(argv2, argv_i);
+-        } else if (!strcmp(argv2[argv_i], "--step")
+-                   || !strcmp(argv2[argv_i], "-s")) {
+-            if (argv_i++ >= argc) {
+-                Tcl_AppendResult(interp, "RRD Error: option '",
+-                                 argv2[argv_i - 1], "' needs an argument",
+-                                 (char *) NULL);
+-                getopt_cleanup(argc, argv2);
+-                return TCL_ERROR;
+-            }
+-            long_tmp = atol(argv2[argv_i]);
+-            if (long_tmp < 1) {
+-                Tcl_AppendResult(interp,
+-                                 "RRD Error: step size should be no less than one second",
+-                                 (char *) NULL);
+-                getopt_cleanup(argc, argv2);
+-                return TCL_ERROR;
+-            }
+-            pdp_step = long_tmp;
+-            getopt_free_element(argv2, argv_i - 1);
+-            getopt_free_element(argv2, argv_i);
+-        } else if (!strcmp(argv2[argv_i], "--")) {
+-            getopt_free_element(argv2, argv_i);
+-            break;
+-        } else if (argv2[argv_i][0] == '-') {
+-            Tcl_AppendResult(interp, "RRD Error: unknown option '",
+-                             argv2[argv_i], "'", (char *) NULL);
+-            getopt_cleanup(argc, argv2);
+-            return TCL_ERROR;
+-        }
+-    }
+-
+-    getopt_squieeze(&argc, argv2);
+-
+-    if (argc < 2) {
+-        Tcl_AppendResult(interp, "RRD Error: needs rrd filename",
+-                         (char *) NULL);
+-        getopt_cleanup(argc, argv2);
+-        return TCL_ERROR;
+-    }
+-
+-    rrd_create_r(argv2[1], pdp_step, last_up, argc - 2,
+-                 (const char **)argv2 + 2);
+-
+-    getopt_cleanup(argc, argv2);
+-
+-    if (rrd_test_error()) {
+-        Tcl_AppendResult(interp, "RRD Error: ",
+-                         rrd_get_error(), (char *) NULL);
+-        rrd_clear_error();
+-        return TCL_ERROR;
+-    }
+-
+-    return TCL_OK;
+-}
+-
+-
+-
+-/* Thread-safe version */
+-static int Rrd_Dump(
+-    ClientData __attribute__((unused)) clientData,
+-    Tcl_Interp *interp,
+-    int argc,
+-    CONST84 char *argv[])
+-{
+-    if (argc < 2) {
+-        Tcl_AppendResult(interp, "RRD Error: needs rrd filename",
+-                         (char *) NULL);
+-        return TCL_ERROR;
+-    }
+-
+-    rrd_dump_r(argv[1], NULL);
+-
+-    /* NOTE: rrd_dump() writes to stdout. No interaction with TCL. */
+-
+-    if (rrd_test_error()) {
+-        Tcl_AppendResult(interp, "RRD Error: ",
+-                         rrd_get_error(), (char *) NULL);
+-        rrd_clear_error();
+-        return TCL_ERROR;
+-    }
+-
+-    return TCL_OK;
+-}
+-
+-/* Thread-safe version */
+-static int Rrd_Flushcached(
+-    ClientData __attribute__((unused)) clientData,
+-    Tcl_Interp *interp,
+-    int argc,
+-    CONST84 char *argv[])
+-{
+-    if (argc < 2) {
+-        Tcl_AppendResult(interp, "RRD Error: needs rrd filename",
+-                         (char *) NULL);
+-        return TCL_ERROR;
+-    }
+-
+-    rrd_flushcached(argc, (char**)argv);
+-
+-    if (rrd_test_error()) {
+-        Tcl_AppendResult(interp, "RRD Error: ",
+-                         rrd_get_error(), (char *) NULL);
+-        rrd_clear_error();
+-        return TCL_ERROR;
+-    }
+-
+-    return TCL_OK;
+-}
+-
+-
+-/* Thread-safe version */
+-static int Rrd_Last(
+-    ClientData __attribute__((unused)) clientData,
+-    Tcl_Interp *interp,
+-    int argc,
+-    CONST84 char *argv[])
+-{
+-    time_t    t;
+-
+-    if (argc < 2) {
+-        Tcl_AppendResult(interp, "RRD Error: needs rrd filename",
+-                         (char *) NULL);
+-        return TCL_ERROR;
+-    }
+-
+-    t = rrd_last_r(argv[1]);
+-
+-    if (rrd_test_error()) {
+-        Tcl_AppendResult(interp, "RRD Error: ",
+-                         rrd_get_error(), (char *) NULL);
+-        rrd_clear_error();
+-        return TCL_ERROR;
+-    }
+-
+-    Tcl_SetIntObj(Tcl_GetObjResult(interp), t);
+-
+-    return TCL_OK;
+-}
+-
+-
+-
+-/* Thread-safe version */
+-static int Rrd_Update(
+-    ClientData __attribute__((unused)) clientData,
+-    Tcl_Interp *interp,
+-    int argc,
+-    CONST84 char *argv[])
+-{
+-    int       argv_i;
+-    char    **argv2, *template = NULL;
+-
+-    argv2 = getopt_init(argc, argv);
+-
+-    for (argv_i = 1; argv_i < argc; argv_i++) {
+-        if (!strcmp(argv2[argv_i], "--template")
+-            || !strcmp(argv2[argv_i], "-t")) {
+-            if (argv_i++ >= argc) {
+-                Tcl_AppendResult(interp, "RRD Error: option '",
+-                                 argv2[argv_i - 1], "' needs an argument",
+-                                 (char *) NULL);
+-                if (template != NULL) {
+-                    free(template);
+-                }
+-                getopt_cleanup(argc, argv2);
+-                return TCL_ERROR;
+-            }
+-            if (template != NULL) {
+-                free(template);
+-            }
+-            template = strdup(argv2[argv_i]);
+-            getopt_free_element(argv2, argv_i - 1);
+-            getopt_free_element(argv2, argv_i);
+-        } else if (!strcmp(argv2[argv_i], "--")) {
+-            getopt_free_element(argv2, argv_i);
+-            break;
+-        } else if (argv2[argv_i][0] == '-') {
+-            Tcl_AppendResult(interp, "RRD Error: unknown option '",
+-                             argv2[argv_i], "'", (char *) NULL);
+-            if (template != NULL) {
+-                free(template);
+-            }
+-            getopt_cleanup(argc, argv2);
+-            return TCL_ERROR;
+-        }
+-    }
+-
+-    getopt_squieeze(&argc, argv2);
+-
+-    if (argc < 2) {
+-        Tcl_AppendResult(interp, "RRD Error: needs rrd filename",
+-                         (char *) NULL);
+-        if (template != NULL) {
+-            free(template);
+-        }
+-        getopt_cleanup(argc, argv2);
+-        return TCL_ERROR;
+-    }
+-
+-    rrd_update_r(argv2[1], template, argc - 2, (const char **)argv2 + 2);
+-
+-    if (template != NULL) {
+-        free(template);
+-    }
+-    getopt_cleanup(argc, argv2);
+-
+-    if (rrd_test_error()) {
+-        Tcl_AppendResult(interp, "RRD Error: ",
+-                         rrd_get_error(), (char *) NULL);
+-        rrd_clear_error();
+-        return TCL_ERROR;
+-    }
+-
+-    return TCL_OK;
+-}
+-
+-static int Rrd_Lastupdate(
+-    ClientData __attribute__((unused)) clientData,
+-    Tcl_Interp *interp,
+-    int argc,
+-    CONST84 char *argv[])
+-{
+-    time_t    last_update;
+-    char    **argv2;
+-    char    **ds_namv;
+-    char    **last_ds;
+-    char      s[30];
+-    Tcl_Obj  *listPtr;
+-    unsigned long ds_cnt, i;
+-
+-    /* TODO: support for rrdcached */
+-    if (argc != 2) {
+-        Tcl_AppendResult(interp, "RRD Error: needs a single rrd filename",
+-                         (char *) NULL);
+-        return TCL_ERROR;
+-    }
+-
+-    argv2 = getopt_init(argc, argv);
+-    if (rrd_lastupdate_r(argv2[1], &last_update,
+-                       &ds_cnt, &ds_namv, &last_ds) == 0) {
+-        listPtr = Tcl_GetObjResult(interp);
+-        for (i = 0; i < ds_cnt; i++) {
+-            sprintf(s, " %28s", ds_namv[i]);
+-            Tcl_ListObjAppendElement(interp, listPtr,
+-                                     Tcl_NewStringObj(s, -1));
+-            sprintf(s, "\n\n%10lu:", last_update);
+-            Tcl_ListObjAppendElement(interp, listPtr,
+-                                     Tcl_NewStringObj(s, -1));
+-            for (i = 0; i < ds_cnt; i++) {
+-                sprintf(s, " %s", last_ds[i]);
+-                Tcl_ListObjAppendElement(interp, listPtr,
+-                                         Tcl_NewStringObj(s, -1));
+-                free(last_ds[i]);
+-                free(ds_namv[i]);
+-            }
+-            sprintf(s, "\n");
+-            Tcl_ListObjAppendElement(interp, listPtr,
+-                                     Tcl_NewStringObj(s, -1));
+-            free(last_ds);
+-            free(ds_namv);
+-        }
+-    }
+-    return TCL_OK;
+-}
+-
+-static int Rrd_Fetch(
+-    ClientData __attribute__((unused)) clientData,
+-    Tcl_Interp *interp,
+-    int argc,
+-    CONST84 char *argv[])
+-{
+-    time_t    start, end, j;
+-    unsigned long step, ds_cnt, i, ii;
+-    rrd_value_t *data, *datai;
+-    char    **ds_namv;
+-    Tcl_Obj  *listPtr;
+-    char      s[30];
+-    char    **argv2;
+-
+-    argv2 = getopt_init(argc, argv);
+-    if (rrd_fetch(argc, argv2, &start, &end, &step,
+-                  &ds_cnt, &ds_namv, &data) != -1) {
+-        datai = data;
+-        listPtr = Tcl_GetObjResult(interp);
+-        for (j = start; j <= end; j += step) {
+-            for (ii = 0; ii < ds_cnt; ii++) {
+-                sprintf(s, "%.2f", *(datai++));
+-                Tcl_ListObjAppendElement(interp, listPtr,
+-                                         Tcl_NewStringObj(s, -1));
+-            }
+-        }
+-        for (i = 0; i < ds_cnt; i++)
+-            free(ds_namv[i]);
+-        free(ds_namv);
+-        free(data);
+-    }
+-    getopt_cleanup(argc, argv2);
+-
+-    if (rrd_test_error()) {
+-        Tcl_AppendResult(interp, "RRD Error: ",
+-                         rrd_get_error(), (char *) NULL);
+-        rrd_clear_error();
+-        return TCL_ERROR;
+-    }
+-
+-    return TCL_OK;
+-}
+-
+-
+-
+-static int Rrd_Graph(
+-    ClientData __attribute__((unused)) clientData,
+-    Tcl_Interp *interp,
+-    int argc,
+-    CONST84 char *argv[])
+-{
+-    Tcl_Channel channel;
+-    int       mode, fd2;
+-    ClientData fd1;
+-    FILE     *stream = NULL;
+-    char    **calcpr = NULL;
+-    int       rc, xsize, ysize;
+-    double    ymin, ymax;
+-    char      dimensions[50];
+-    char    **argv2;
+-    CONST84 char *save;
+-
+-    /*
+-     * If the "filename" is a Tcl fileID, then arrange for rrd_graph() to write to
+-     * that file descriptor.  Will this work with windoze?  I have no idea.
+-     */
+-    if ((channel = Tcl_GetChannel(interp, argv[1], &mode)) != NULL) {
+-        /*
+-         * It >is< a Tcl fileID
+-         */
+-        if (!(mode & TCL_WRITABLE)) {
+-            Tcl_AppendResult(interp, "channel \"", argv[1],
+-                             "\" wasn't opened for writing", (char *) NULL);
+-            return TCL_ERROR;
+-        }
+-        /*
+-         * Must flush channel to make sure any buffered data is written before
+-         * rrd_graph() writes to the stream
+-         */
+-        if (Tcl_Flush(channel) != TCL_OK) {
+-            Tcl_AppendResult(interp, "flush failed for \"", argv[1], "\": ",
+-                             strerror(Tcl_GetErrno()), (char *) NULL);
+-            return TCL_ERROR;
+-        }
+-        if (Tcl_GetChannelHandle(channel, TCL_WRITABLE, &fd1) != TCL_OK) {
+-            Tcl_AppendResult(interp,
+-                             "cannot get file descriptor associated with \"",
+-                             argv[1], "\"", (char *) NULL);
+-            return TCL_ERROR;
+-        }
+-        /*
+-         * Must dup() file descriptor so we can fclose(stream), otherwise the fclose()
+-         * would close Tcl's file descriptor
+-         */
+-        if ((fd2 = dup((int)fd1)) == -1) {
+-            Tcl_AppendResult(interp,
+-                             "dup() failed for file descriptor associated with \"",
+-                             argv[1], "\": ", strerror(errno), (char *) NULL);
+-            return TCL_ERROR;
+-        }
+-        /*
+-         * rrd_graph() wants a FILE*
+-         */
+-        if ((stream = fdopen(fd2, "wb")) == NULL) {
+-            Tcl_AppendResult(interp,
+-                             "fdopen() failed for file descriptor associated with \"",
+-                             argv[1], "\": ", strerror(errno), (char *) NULL);
+-            close(fd2); /* plug potential file descriptor leak */
+-            return TCL_ERROR;
+-        }
+-
+-        save = argv[1];
+-        argv[1] = "-";
+-        argv2 = getopt_init(argc, argv);
+-        argv[1] = save;
+-    } else {
+-        Tcl_ResetResult(interp);    /* clear error from Tcl_GetChannel() */
+-        argv2 = getopt_init(argc, argv);
+-    }
+-
+-    rc = rrd_graph(argc, argv2, &calcpr, &xsize, &ysize, stream, &ymin,
+-                   &ymax);
+-    getopt_cleanup(argc, argv2);
+-
+-    if (stream != NULL)
+-        fclose(stream); /* plug potential malloc & file descriptor leak */
+-
+-    if (rc != -1) {
+-        sprintf(dimensions, "%d %d", xsize, ysize);
+-        Tcl_AppendResult(interp, dimensions, (char *) NULL);
+-        if (calcpr) {
+-#if 0
+-            int       i;
+-
+-            for (i = 0; calcpr[i]; i++) {
+-                printf("%s\n", calcpr[i]);
+-                free(calcpr[i]);
+-            }
+-#endif
+-            free(calcpr);
+-        }
+-    }
+-
+-    if (rrd_test_error()) {
+-        Tcl_AppendResult(interp, "RRD Error: ",
+-                         rrd_get_error(), (char *) NULL);
+-        rrd_clear_error();
+-        return TCL_ERROR;
+-    }
+-
+-    return TCL_OK;
+-}
+-
+-
+-
+-static int Rrd_Tune(
+-    ClientData __attribute__((unused)) clientData,
+-    Tcl_Interp *interp,
+-    int argc,
+-    CONST84 char *argv[])
+-{
+-    char    **argv2;
+-
+-    argv2 = getopt_init(argc, argv);
+-    rrd_tune(argc, argv2);
+-    getopt_cleanup(argc, argv2);
+-
+-    if (rrd_test_error()) {
+-        Tcl_AppendResult(interp, "RRD Error: ",
+-                         rrd_get_error(), (char *) NULL);
+-        rrd_clear_error();
+-        return TCL_ERROR;
+-    }
+-
+-    return TCL_OK;
+-}
+-
+-
+-
+-static int Rrd_Resize(
+-    ClientData __attribute__((unused)) clientData,
+-    Tcl_Interp *interp,
+-    int argc,
+-    CONST84 char *argv[])
+-{
+-    char    **argv2;
+-
+-    argv2 = getopt_init(argc, argv);
+-    rrd_resize(argc, argv2);
+-    getopt_cleanup(argc, argv2);
+-
+-    if (rrd_test_error()) {
+-        Tcl_AppendResult(interp, "RRD Error: ",
+-                         rrd_get_error(), (char *) NULL);
+-        rrd_clear_error();
+-        return TCL_ERROR;
+-    }
+-
+-    return TCL_OK;
+-}
+-
+-
+-
+-static int Rrd_Restore(
+-    ClientData __attribute__((unused)) clientData,
+-    Tcl_Interp *interp,
+-    int argc,
+-    CONST84 char *argv[])
+-{
+-    char    **argv2;
+-
+-    argv2 = getopt_init(argc, argv);
+-    rrd_restore(argc, argv2);
+-    getopt_cleanup(argc, argv2);
+-
+-    if (rrd_test_error()) {
+-        Tcl_AppendResult(interp, "RRD Error: ",
+-                         rrd_get_error(), (char *) NULL);
+-        rrd_clear_error();
+-        return TCL_ERROR;
+-    }
+-
+-    return TCL_OK;
+-}
+-
+-
+-
+-/*
+- * The following structure defines the commands in the Rrd extension.
+- */
+-
+-typedef struct {
+-    char     *name;     /* Name of the command. */
+-    Tcl_CmdProc *proc;  /* Procedure for command. */
+-    int       hide;     /* Hide if safe interpreter */
+-} CmdInfo;
+-
+-static CmdInfo rrdCmds[] = {
+-    {"Rrd::create", Rrd_Create, 1}, /* Thread-safe version */
+-    {"Rrd::dump", Rrd_Dump, 0}, /* Thread-safe version */
+-    {"Rrd::flushcached", Rrd_Flushcached, 0},
+-    {"Rrd::last", Rrd_Last, 0}, /* Thread-safe version */
+-    {"Rrd::lastupdate", Rrd_Lastupdate, 0}, /* Thread-safe version */
+-    {"Rrd::update", Rrd_Update, 1}, /* Thread-safe version */
+-    {"Rrd::fetch", Rrd_Fetch, 0},
+-    {"Rrd::graph", Rrd_Graph, 1},   /* Due to RRD's API, a safe
+-                                       interpreter cannot create
+-                                       a graph since it writes to
+-                                       a filename supplied by the
+-                                       caller */
+-    {"Rrd::tune", Rrd_Tune, 1},
+-    {"Rrd::resize", Rrd_Resize, 1},
+-    {"Rrd::restore", Rrd_Restore, 1},
+-    {(char *) NULL, (Tcl_CmdProc *) NULL, 0}
+-};
+-
+-
+-
+-static int init(
+-    Tcl_Interp *interp,
+-    int safe)
+-{
+-    CmdInfo  *cmdInfoPtr;
+-    Tcl_CmdInfo info;
+-
+-    if (Tcl_InitStubs(interp, TCL_VERSION, 0) == NULL)
+-        return TCL_ERROR;
+-
+-    if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, 1) == NULL) {
+-        return TCL_ERROR;
+-    }
+-
+-    /*
+-     * Why a global array?  In keeping with the Rrd:: namespace, why
+-     * not simply create a normal variable Rrd::version and set it?
+-     */
+-    Tcl_SetVar2(interp, "rrd", "version", VERSION, TCL_GLOBAL_ONLY);
+-
+-    for (cmdInfoPtr = rrdCmds; cmdInfoPtr->name != NULL; cmdInfoPtr++) {
+-        /*
+-         * Check if the command already exists and return an error
+-         * to ensure we detect name clashes while loading the Rrd
+-         * extension.
+-         */
+-        if (Tcl_GetCommandInfo(interp, cmdInfoPtr->name, &info)) {
+-            Tcl_AppendResult(interp, "command \"", cmdInfoPtr->name,
+-                             "\" already exists", (char *) NULL);
+-            return TCL_ERROR;
+-        }
+-        if (safe && cmdInfoPtr->hide) {
+-#if 0
+-            /*
+-             * Turns out the one cannot hide a command in a namespace
+-             * due to a limitation of Tcl, one can only hide global
+-             * commands.  Thus, if we created the commands without
+-             * the Rrd:: namespace in a safe interpreter, then the
+-             * "unsafe" commands could be hidden -- which would allow
+-             * an owning interpreter either un-hiding them or doing
+-             * an "interp invokehidden".  If the Rrd:: namespace is
+-             * used, then it's still possible for the owning interpreter
+-             * to fake out the missing commands:
+-             *
+-             *   # Make all Rrd::* commands available in master interperter
+-             *   package require Rrd
+-             *   set safe [interp create -safe]
+-             *   # Make safe Rrd::* commands available in safe interperter
+-             *   interp invokehidden $safe -global load ./tclrrd1.2.11.so
+-             *   # Provide the safe interpreter with the missing commands
+-             *   $safe alias Rrd::update do_update $safe
+-             *   proc do_update {which_interp $args} {
+-             *     # Do some checking maybe...
+-             *       :
+-             *     return [eval Rrd::update $args]
+-             *   }
+-             *
+-             * Our solution for now is to just not create the "unsafe"
+-             * commands in a safe interpreter.
+-             */
+-            if (Tcl_HideCommand(interp, cmdInfoPtr->name, cmdInfoPtr->name) !=
+-                TCL_OK)
+-                return TCL_ERROR;
+-#endif
+-        } else
+-            Tcl_CreateCommand(interp, cmdInfoPtr->name, cmdInfoPtr->proc,
+-                              (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+-    }
+-
+-    if (Tcl_PkgProvide(interp, "Rrd", VERSION) != TCL_OK) {
+-        return TCL_ERROR;
+-    }
+-
+-    return TCL_OK;
+-}
+-
+-int Tclrrd_Init(
+-    Tcl_Interp *interp)
+-{
+-    return init(interp, 0);
+-}
+-
+-/*
+- * See the comments above and note how few commands are considered "safe"...
+- * Using rrdtool in a safe interpreter has very limited functionality.  It's
+- * tempting to just return TCL_ERROR and forget about it.
+- */
+-int Tclrrd_SafeInit(
+-    Tcl_Interp *interp)
+-{
+-    return init(interp, 1);
+-}
+diff --git a/configure.ac b/configure.ac
+index 73ef4ec..acd74e8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -830,57 +830,6 @@ AM_CONDITIONAL(LUA_SITE_LINSTALL, [test "$LUA_INSTALL_LMOD" != "$LUA_RRD_LIBDIR"
+ AM_CONDITIONAL(LUA50, [test "$lua_vndot" = "50"])
+ AM_CONDITIONAL(BUILD_LUA, [test "$enable_lua" = "yes"])
+ 
+-enable_tcl_site=no
+-
+-AC_ARG_ENABLE(tcl,AS_HELP_STRING([--disable-tcl],[do not build the tcl modules]),
+-[],[enable_tcl=yes])
+-
+-if test  "$enable_tcl" = "yes"; then
+-  dnl Check for Tcl.
+-  withval=""
+-  AC_ARG_WITH(tcllib,[  --with-tcllib=DIR       location of the tclConfig.sh])
+-  enable_tcl=no
+-  for dir in $withval /usr/lib /usr/lib64 /usr/local/lib /usr/lib/tcl8.4 /usr/lib/tcl8.3 ; do
+-    AC_MSG_CHECKING(for tclConfig.sh in $dir)
+-    if test -f "$dir/tclConfig.sh" ; then
+-    	tcl_config=$dir/tclConfig.sh
+-        enable_tcl=yes
+-        AC_MSG_RESULT(yes)
+-        break
+-    else
+-        AC_MSG_RESULT(no)
+-    fi
+-  done
+-
+-  if test "$enable_tcl" = "no"; then
+-        AC_MSG_WARN([tclConfig.sh not found - Tcl interface will not be built])
+-  else
+-	. $tcl_config
+-	TCL_PACKAGE_DIR="$TCL_PACKAGE_PATH/tclrrd$VERSION"
+-	if test -n "$TCL_INC_DIR"; then
+-	  TCL_INCLUDE_SPEC="$TCL_INCLUDE_SPEC -I$TCL_INC_DIR"
+-	fi
+-  fi
+-  AC_ARG_ENABLE(tcl-site,AS_HELP_STRING([--enable-tcl-site],[install the tcl extension in the tcl tree]),
+-  [],[enable_tcl_site=yes])
+-
+-fi
+-
+-AM_CONDITIONAL(BUILD_TCL, test "$enable_tcl" = "yes" )
+-AM_CONDITIONAL(BUILD_TCL_SITE, test "$enable_tcl_site" = "yes" )
+-
+-
+-AC_SUBST(TCL_PREFIX)
+-AC_SUBST(TCL_SHLIB_CFLAGS)
+-AC_SUBST(TCL_SHLIB_LD)
+-AC_SUBST(TCL_SHLIB_SUFFIX)
+-AC_SUBST(TCL_PACKAGE_PATH)
+-AC_SUBST(TCL_LD_SEARCH_FLAGS)
+-AC_SUBST(TCL_STUB_LIB_SPEC)
+-AC_SUBST(TCL_VERSION)
+-AC_SUBST(TCL_PACKAGE_DIR)
+-AC_SUBST(TCL_INCLUDE_SPEC)
+-
+ AC_ARG_ENABLE(python,AS_HELP_STRING([--disable-python],[do not build the python modules]),
+ [],[enable_python=yes])
+ 
+@@ -932,8 +881,6 @@ AC_CONFIG_FILES([src/Makefile])
+ AC_CONFIG_FILES([src/librrd.sym.in])
+ AC_CONFIG_FILES([src/librrd.pc])
+ AC_CONFIG_FILES([bindings/Makefile])
+-AC_CONFIG_FILES([bindings/tcl/Makefile])
+-AC_CONFIG_FILES([bindings/tcl/ifOctets.tcl])
+ AC_CONFIG_FILES([Makefile])          
+ AC_CONFIG_FILES([bindings/lua/Makefile])
+ 
+@@ -982,7 +929,6 @@ if test "$lua_need_compat51" = "1"; then
+ echo "   Lua Lua-modules dir: $LUA_INSTALL_LMOD"
+ fi
+ fi
+-echo "    Build Tcl Bindings: $enable_tcl"
+ echo " Build Python Bindings: $enable_python"
+ echo "          Build rrdcgi: $enable_rrdcgi"
+ echo "       Build librrd MT: $enable_pthread"
+-- 
+1.7.10
+
diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb
new file mode 100644
index 0000000..76a7133
--- /dev/null
+++ b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "High performance data logging and graphing system for time series data."
+HOMEPAGE = "http://oss.oetiker.ch/rrdtool/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=44fee82a1d2ed0676cf35478283e0aa0"
+
+DEPENDS = "libpng zlib cairo glib-2.0 libxml2"
+
+SRC_URI = "http://oss.oetiker.ch/rrdtool/pub/rrdtool-${PV}.tar.gz \
+           file://0001-rrdtool-eradicate-tcl-support.patch \
+          "
+SRC_URI[md5sum] = "ffe369d8921b4dfdeaaf43812100c38f"
+SRC_URI[sha256sum] = "956aaf431c955ba88dd7d98920ade3a8c4bad04adb1f9431377950a813a7af11"
+
+inherit autotools gettext
+
+EXTRA_AUTORECONF = "-I m4"
+
+EXTRA_OECONF = " \
+	--enable-shared \
+	--enable-local-libpng \
+	--enable-local-zlib \
+	 --disable-libwrap \
+	--program-prefix='' \
+	rd_cv_ieee_works=yes \
+	--disable-perl \
+	--disable-python \
+	--disable-ruby \
+	--disable-lua \
+	--disable-rpath \
+"
+
+
-- 
1.7.10




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

* [for-denzil][meta-oe 02/24] nodejs: update to 0.6.17
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
@ 2012-07-13  9:11 ` Koen Kooi
  2012-07-13  9:11 ` [for-denzil][meta-oe 03/24] cloud9: add patch to make it use nodejs 0.6.x for executing scripts Koen Kooi
                   ` (22 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:11 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, eric

The license is unchanged, only some sections were clarified with different wording.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta-oe/recipes-devtools/nodejs/nodejs_0.6.14.bb |   63 ----------------------
 meta-oe/recipes-devtools/nodejs/nodejs_0.6.17.bb |   63 ++++++++++++++++++++++
 2 files changed, 63 insertions(+), 63 deletions(-)
 delete mode 100644 meta-oe/recipes-devtools/nodejs/nodejs_0.6.14.bb
 create mode 100644 meta-oe/recipes-devtools/nodejs/nodejs_0.6.17.bb

diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_0.6.14.bb b/meta-oe/recipes-devtools/nodejs/nodejs_0.6.14.bb
deleted file mode 100644
index 4f85bf3..0000000
--- a/meta-oe/recipes-devtools/nodejs/nodejs_0.6.14.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
-HOMEPAGE = "http://nodejs.org"
-LICENSE = "MIT & BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d66c1f33ba9b89616e45f588e7606ee6"
-
-DEPENDS = "openssl"
-
-SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz"
-SRC_URI[md5sum] = "3033a866e230cca64e212ee8f2af27dd"
-SRC_URI[sha256sum] = "e41922308155c5197c2d048948ca9cd76ea5f9a51f977e1591bd93fe17d4cf1f"
-
-S = "${WORKDIR}/node-v${PV}"
-
-# v8 errors out if you have set CCACHE
-CCACHE = ""
-
-do_configure_virtclass-native () {
-  sed -i -e s:\'/usr/lib:\'${STAGING_LIBDIR}:g wscript
-  sed -i -e s:\'/usr/local/lib:\'${STAGING_LIBDIR}:g wscript
-
-  ./configure --prefix=${prefix} --without-snapshot
-}
-
-# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround waf+scons
-do_configure () {
-  echo '#!/bin/sh' > ${WORKDIR}/gcc
-  echo '${CC} $@' >> ${WORKDIR}/gcc
-
-  echo '#!/bin/sh' > ${WORKDIR}/g++
-  echo '${CXX} $@'>> ${WORKDIR}/g++
-
-  chmod +x ${WORKDIR}/gcc ${WORKDIR}/g++
-
-  sed -i -e s:\'/usr/lib:\'${STAGING_LIBDIR}:g wscript
-  sed -i -e s:\'/usr/local/lib:\'${STAGING_LIBDIR}:g wscript
-
-  export PATH=${WORKDIR}:${PATH}
-  export CC=gcc
-  export CXX=g++
-
-  ./configure --prefix=${prefix} --without-snapshot
-}
-
-do_compile_virtclass-native () {
-  make
-}
-
-do_compile () {
-  export PATH=${WORKDIR}:${PATH}
-  export CC=gcc
-  export CXX=g++
-  make
-}
-
-do_install () {
-  DESTDIR=${D} oe_runmake install
-}
-
-RDEPENDS_${PN} = "curl python-shell python-datetime python-subprocess python-crypt python-textutils python-netclient "
-RDEPENDS_${PN}_virtclass-native = "curl-native python-native"
-
-FILES_${PN} += "${libdir}/node/wafadmin ${libdir}/node_modules"
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_0.6.17.bb b/meta-oe/recipes-devtools/nodejs/nodejs_0.6.17.bb
new file mode 100644
index 0000000..1be5ce1
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs_0.6.17.bb
@@ -0,0 +1,63 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT & BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=914812f2875eef849b5c509cc25dcb4f"
+
+DEPENDS = "openssl"
+
+SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz"
+SRC_URI[md5sum] = "55641d5d280cdd4e0c030c203107599d"
+SRC_URI[sha256sum] = "8dfe5948de27e37a14af184f06e7bd89a23c3b248af44c8ef5cffcd0e4c65778"
+
+S = "${WORKDIR}/node-v${PV}"
+
+# v8 errors out if you have set CCACHE
+CCACHE = ""
+
+do_configure_virtclass-native () {
+  sed -i -e s:\'/usr/lib:\'${STAGING_LIBDIR}:g wscript
+  sed -i -e s:\'/usr/local/lib:\'${STAGING_LIBDIR}:g wscript
+
+  ./configure --prefix=${prefix} --without-snapshot
+}
+
+# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround waf+scons
+do_configure () {
+  echo '#!/bin/sh' > ${WORKDIR}/gcc
+  echo '${CC} $@' >> ${WORKDIR}/gcc
+
+  echo '#!/bin/sh' > ${WORKDIR}/g++
+  echo '${CXX} $@'>> ${WORKDIR}/g++
+
+  chmod +x ${WORKDIR}/gcc ${WORKDIR}/g++
+
+  sed -i -e s:\'/usr/lib:\'${STAGING_LIBDIR}:g wscript
+  sed -i -e s:\'/usr/local/lib:\'${STAGING_LIBDIR}:g wscript
+
+  export PATH=${WORKDIR}:${PATH}
+  export CC=gcc
+  export CXX=g++
+
+  ./configure --prefix=${prefix} --without-snapshot
+}
+
+do_compile_virtclass-native () {
+  make
+}
+
+do_compile () {
+  export PATH=${WORKDIR}:${PATH}
+  export CC=gcc
+  export CXX=g++
+  make
+}
+
+do_install () {
+  DESTDIR=${D} oe_runmake install
+}
+
+RDEPENDS_${PN} = "curl python-shell python-datetime python-subprocess python-crypt python-textutils python-netclient "
+RDEPENDS_${PN}_virtclass-native = "curl-native python-native"
+
+FILES_${PN} += "${libdir}/node/wafadmin ${libdir}/node_modules"
+BBCLASSEXTEND = "native"
-- 
1.7.10




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

* [for-denzil][meta-oe 03/24] cloud9: add patch to make it use nodejs 0.6.x for executing scripts
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
  2012-07-13  9:11 ` [for-denzil][meta-oe 02/24] nodejs: update to 0.6.17 Koen Kooi
@ 2012-07-13  9:11 ` Koen Kooi
  2012-07-13  9:11 ` [for-denzil][meta-oe 04/24] fb-test: add latest git version Koen Kooi
                   ` (21 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:11 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, eric

This matches the default nodejs version in OE

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 ...e-as-interpreter-for-sketches-instead-of-.patch |   29 ++++++++++++++++++++
 meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb      |    5 ++--
 2 files changed, 32 insertions(+), 2 deletions(-)
 create mode 100644 meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch

diff --git a/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch b/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch
new file mode 100644
index 0000000..b32311a
--- /dev/null
+++ b/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch
@@ -0,0 +1,29 @@
+From ac1953d04f3f26d6aa5d8f53a9397d3ba0e96fa3 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@circuitco.com>
+Date: Fri, 11 May 2012 15:23:02 +0000
+Subject: [PATCH] ide: use 'node' as interpreter for sketches instead of
+ argv[0]
+
+This enables running scripts with node 0.6.x instead of 0.4.x
+
+Signed-off-by: root <root@beaglebone.(none)>
+---
+ server/cloud9/ide.js |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/server/cloud9/ide.js b/server/cloud9/ide.js
+index ce782f5..6c4e0f7 100644
+--- a/server/cloud9/ide.js
++++ b/server/cloud9/ide.js
+@@ -53,7 +53,7 @@ var Ide = module.exports = function(options, httpServer, exts, socket) {
+     };
+ 
+     this.$users = {};
+-    this.nodeCmd = process.argv[0];
++    this.nodeCmd = "node";
+ 
+     var davOptions = {
+         node: this.options.mountDir,
+-- 
+1.7.7
+
diff --git a/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb b/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb
index 4815a34..0f0c09c 100644
--- a/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb
+++ b/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://c9.io"
 LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=4784c3bcff601fd8f9515f52a11e7018"
 
-DEFAULT_PREFERENCE = "-1"
+PR = "r1"
 
 DEPENDS = "libxml2 nodejs-native"
 
@@ -33,6 +33,7 @@ SRC_URI = "git://github.com/ajaxorg/cloud9.git;name=cloud9ide \
            file://index.js \
            file://cloud9.service \
            file://cloud9-avahi.service \
+           file://0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch \
           "
 
 SRCREV_cloud9ide = "c4e2574896a22bb749f0500b25f41c888d346bed"
@@ -102,7 +103,7 @@ FILES_${PN}-dbg += "${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o
                     ${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/.debug \
                    "
 
-RDEPENDS_${PN} = "nodejs4 gzip"
+RDEPENDS_${PN} = "nodejs4 nodejs gzip"
 
 inherit systemd
 
-- 
1.7.10




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

* [for-denzil][meta-oe 04/24] fb-test: add latest git version
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
  2012-07-13  9:11 ` [for-denzil][meta-oe 02/24] nodejs: update to 0.6.17 Koen Kooi
  2012-07-13  9:11 ` [for-denzil][meta-oe 03/24] cloud9: add patch to make it use nodejs 0.6.x for executing scripts Koen Kooi
@ 2012-07-13  9:11 ` Koen Kooi
  2012-07-13  9:11 ` [for-denzil][meta-oe 05/24] nodejs: update to 0.6.18 and fix hardfloat detection Koen Kooi
                   ` (20 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:11 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, eric

This is a suite of utils to test the linux framebuffer and aid in debugging problems.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta-oe/recipes-support/fbtest/fb-test_git.bb |   19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 meta-oe/recipes-support/fbtest/fb-test_git.bb

diff --git a/meta-oe/recipes-support/fbtest/fb-test_git.bb b/meta-oe/recipes-support/fbtest/fb-test_git.bb
new file mode 100644
index 0000000..43acfd6
--- /dev/null
+++ b/meta-oe/recipes-support/fbtest/fb-test_git.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Test suite for Linux framebuffer"
+
+PV = "0.0"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
+
+SRCREV = "85eab266b123a08098af86afdb1599947d276e32"
+SRC_URI = "git://github.com/prpplague/fb-test-app.git"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+	install -d ${D}${bindir}
+	for prog in perf rect fb-test offset ; do
+		install -m 0755 $prog ${D}${bindir}
+	done
+}
+
-- 
1.7.10




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

* [for-denzil][meta-oe 05/24] nodejs: update to 0.6.18 and fix hardfloat detection
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (2 preceding siblings ...)
  2012-07-13  9:11 ` [for-denzil][meta-oe 04/24] fb-test: add latest git version Koen Kooi
@ 2012-07-13  9:11 ` Koen Kooi
  2012-07-13  9:11 ` [for-denzil][meta-oe 06/24] nodejs 0.6.18: fix patch name Koen Kooi
                   ` (19 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:11 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, Otavio Salvador, eric

From: Otavio Salvador <otavio@ossystems.com.br>

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 .../nodejs/nodejs/fix-hardfloat-detection.patch    |   22 +++++++
 meta-oe/recipes-devtools/nodejs/nodejs_0.6.17.bb   |   63 -------------------
 meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb   |   65 ++++++++++++++++++++
 3 files changed, 87 insertions(+), 63 deletions(-)
 create mode 100644 meta-oe/recipes-devtools/nodejs/nodejs/fix-hardfloat-detection.patch
 delete mode 100644 meta-oe/recipes-devtools/nodejs/nodejs_0.6.17.bb
 create mode 100644 meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb

diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/fix-hardfloat-detection.patch b/meta-oe/recipes-devtools/nodejs/nodejs/fix-hardfloat-detection.patch
new file mode 100644
index 0000000..36e8bf1
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/fix-hardfloat-detection.patch
@@ -0,0 +1,22 @@
+Fix hardfloat detection
+
+gcc has a builtin define to denote hard abi when in use, e.g. when
+using -mfloat-abi=hard it will define __ARM_PCS_VFP to 1 and therefore
+we should check that to determine which calling convention is in use
+and not __VFP_FP__ which merely indicates presence of VFP unit
+
+The fix has been provided by Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Forwarded
+
+--- a/deps/v8/src/platform-linux.cc	2012-05-17 12:52:59.329519921 -0700
++++ b/deps/v8/src/platform-linux.cc	2012-05-17 12:54:02.037521511 -0700
+@@ -212,7 +212,7 @@
+ // calling this will return 1.0 and otherwise 0.0.
+ static void ArmUsingHardFloatHelper() {
+   asm("mov r0, #0");
+-#if defined(__VFP_FP__) && !defined(__SOFTFP__)
++#if defined(__ARM_PCS_VFP) && !defined(__SOFTFP__)
+   // Load 0x3ff00000 into r1 using instructions available in both ARM
+   // and Thumb mode.
+   asm("mov r1, #3");
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_0.6.17.bb b/meta-oe/recipes-devtools/nodejs/nodejs_0.6.17.bb
deleted file mode 100644
index 1be5ce1..0000000
--- a/meta-oe/recipes-devtools/nodejs/nodejs_0.6.17.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
-HOMEPAGE = "http://nodejs.org"
-LICENSE = "MIT & BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=914812f2875eef849b5c509cc25dcb4f"
-
-DEPENDS = "openssl"
-
-SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz"
-SRC_URI[md5sum] = "55641d5d280cdd4e0c030c203107599d"
-SRC_URI[sha256sum] = "8dfe5948de27e37a14af184f06e7bd89a23c3b248af44c8ef5cffcd0e4c65778"
-
-S = "${WORKDIR}/node-v${PV}"
-
-# v8 errors out if you have set CCACHE
-CCACHE = ""
-
-do_configure_virtclass-native () {
-  sed -i -e s:\'/usr/lib:\'${STAGING_LIBDIR}:g wscript
-  sed -i -e s:\'/usr/local/lib:\'${STAGING_LIBDIR}:g wscript
-
-  ./configure --prefix=${prefix} --without-snapshot
-}
-
-# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround waf+scons
-do_configure () {
-  echo '#!/bin/sh' > ${WORKDIR}/gcc
-  echo '${CC} $@' >> ${WORKDIR}/gcc
-
-  echo '#!/bin/sh' > ${WORKDIR}/g++
-  echo '${CXX} $@'>> ${WORKDIR}/g++
-
-  chmod +x ${WORKDIR}/gcc ${WORKDIR}/g++
-
-  sed -i -e s:\'/usr/lib:\'${STAGING_LIBDIR}:g wscript
-  sed -i -e s:\'/usr/local/lib:\'${STAGING_LIBDIR}:g wscript
-
-  export PATH=${WORKDIR}:${PATH}
-  export CC=gcc
-  export CXX=g++
-
-  ./configure --prefix=${prefix} --without-snapshot
-}
-
-do_compile_virtclass-native () {
-  make
-}
-
-do_compile () {
-  export PATH=${WORKDIR}:${PATH}
-  export CC=gcc
-  export CXX=g++
-  make
-}
-
-do_install () {
-  DESTDIR=${D} oe_runmake install
-}
-
-RDEPENDS_${PN} = "curl python-shell python-datetime python-subprocess python-crypt python-textutils python-netclient "
-RDEPENDS_${PN}_virtclass-native = "curl-native python-native"
-
-FILES_${PN} += "${libdir}/node/wafadmin ${libdir}/node_modules"
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb b/meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb
new file mode 100644
index 0000000..d5785d2
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb
@@ -0,0 +1,65 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT & BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=914812f2875eef849b5c509cc25dcb4f"
+
+DEPENDS = "openssl"
+
+SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \
+           file://gcc-4.7.patch"
+
+SRC_URI[md5sum] = "4a3d3123ccc7b9b21c1990fe074e3d14"
+SRC_URI[sha256sum] = "6cf4311ecbc1700e88f4382a31b3a7017c1572cd641fd06e653fc1692c2cffff"
+
+S = "${WORKDIR}/node-v${PV}"
+
+# v8 errors out if you have set CCACHE
+CCACHE = ""
+
+do_configure_virtclass-native () {
+  sed -i -e s:\'/usr/lib:\'${STAGING_LIBDIR}:g wscript
+  sed -i -e s:\'/usr/local/lib:\'${STAGING_LIBDIR}:g wscript
+
+  ./configure --prefix=${prefix} --without-snapshot
+}
+
+# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround waf+scons
+do_configure () {
+  echo '#!/bin/sh' > ${WORKDIR}/gcc
+  echo '${CC} $@' >> ${WORKDIR}/gcc
+
+  echo '#!/bin/sh' > ${WORKDIR}/g++
+  echo '${CXX} $@'>> ${WORKDIR}/g++
+
+  chmod +x ${WORKDIR}/gcc ${WORKDIR}/g++
+
+  sed -i -e s:\'/usr/lib:\'${STAGING_LIBDIR}:g wscript
+  sed -i -e s:\'/usr/local/lib:\'${STAGING_LIBDIR}:g wscript
+
+  export PATH=${WORKDIR}:${PATH}
+  export CC=gcc
+  export CXX=g++
+
+  ./configure --prefix=${prefix} --without-snapshot
+}
+
+do_compile_virtclass-native () {
+  make BUILDTYPE=Release
+}
+
+do_compile () {
+  export PATH=${WORKDIR}:${PATH}
+  export CC=gcc
+  export CXX=g++
+  make BUILDTYPE=Release
+}
+
+do_install () {
+  DESTDIR=${D} oe_runmake install
+}
+
+RDEPENDS_${PN} = "curl python-shell python-datetime python-subprocess python-crypt python-textutils python-netclient "
+RDEPENDS_${PN}_virtclass-native = "curl-native python-native"
+
+FILES_${PN} += "${libdir}/node/wafadmin ${libdir}/node_modules"
+BBCLASSEXTEND = "native"
-- 
1.7.10




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

* [for-denzil][meta-oe 06/24] nodejs 0.6.18: fix patch name
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (3 preceding siblings ...)
  2012-07-13  9:11 ` [for-denzil][meta-oe 05/24] nodejs: update to 0.6.18 and fix hardfloat detection Koen Kooi
@ 2012-07-13  9:11 ` Koen Kooi
  2012-07-13  9:11 ` [for-denzil][meta-oe 07/24] bootchart: update to v1.16 Koen Kooi
                   ` (18 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:11 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, eric

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb b/meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb
index d5785d2..7136ffc 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb
+++ b/meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=914812f2875eef849b5c509cc25dcb4f"
 DEPENDS = "openssl"
 
 SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \
-           file://gcc-4.7.patch"
+           file://fix-hardfloat-detection.patch"
 
 SRC_URI[md5sum] = "4a3d3123ccc7b9b21c1990fe074e3d14"
 SRC_URI[sha256sum] = "6cf4311ecbc1700e88f4382a31b3a7017c1572cd641fd06e653fc1692c2cffff"
-- 
1.7.10




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

* [for-denzil][meta-oe 07/24] bootchart: update to v1.16
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (4 preceding siblings ...)
  2012-07-13  9:11 ` [for-denzil][meta-oe 06/24] nodejs 0.6.18: fix patch name Koen Kooi
@ 2012-07-13  9:11 ` Koen Kooi
  2012-07-13  9:11 ` [for-denzil][meta-oe 08/24] libidl: Update LICENSE to contain actual version Koen Kooi
                   ` (17 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:11 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, eric

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 ...g-add-rudimentary-support-for-ARM-cpuinfo.patch |   49 ++++++++++++++++++++
 ...c-os-release-and-use-PRETTY_NAME-for-the-.patch |   39 ++++++++++++++++
 .../recipes-devtools/bootchart/bootchart_git.bb    |   16 +++++--
 3 files changed, 99 insertions(+), 5 deletions(-)
 create mode 100644 meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch
 create mode 100644 meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch

diff --git a/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch b/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch
new file mode 100644
index 0000000..0494c4f
--- /dev/null
+++ b/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch
@@ -0,0 +1,49 @@
+From 8d40b4c286e005e82fa50b66fbbbde22b7e65e15 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Sun, 20 May 2012 21:35:34 +0200
+Subject: [PATCH 1/2] svg: add rudimentary support for ARM cpuinfo
+
+On ARM /proc/cpuinfo looks like this:
+
+root@beagleboneA3-0428:~# cat /proc/cpuinfo
+Processor	: ARMv7 Processor rev 2 (v7l)
+BogoMIPS	: 498.89
+Features	: swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls
+CPU implementer	: 0x41
+CPU architecture: 7
+CPU variant	: 0x3
+CPU part	: 0xc08
+CPU revision	: 2
+
+Hardware	: am335xevm
+Revision	: 0000
+Serial		: 0000000000000000
+
+So no real way to get the actual SoC name, TI AM3359, but a lot better than 'Unknown'
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+
+Upstream-status: submitted
+
+ svg.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/svg.c b/svg.c
+index 80e0292..53724b2 100644
+--- a/svg.c
++++ b/svg.c
+@@ -178,6 +178,10 @@ void svg_title(void)
+ 				strncpy(cpu, &buf[13], 255);
+ 				break;
+ 			}
++			if (strstr(buf, "Processor")) {
++				strncpy(cpu, &buf[12], 255);
++				break;
++			}
+ 		}
+ 		fclose(f);
+ 	}
+-- 
+1.7.10
+
diff --git a/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch b/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch
new file mode 100644
index 0000000..b3bda45
--- /dev/null
+++ b/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch
@@ -0,0 +1,39 @@
+From e3adb4c312c6ba3491b7c173559efac7a53e5abc Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Sun, 20 May 2012 22:12:29 +0200
+Subject: [PATCH 2/2] svg: open /etc/os-release and use PRETTY_NAME for the
+ 'Build' name
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+
+Upstream-status: Submitted
+
+ svg.c |   11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/svg.c b/svg.c
+index 53724b2..c675d84 100644
+--- a/svg.c
++++ b/svg.c
+@@ -194,6 +194,17 @@ void svg_title(void)
+ 		fclose(f);
+ 	}
+ 
++	f = fopen("/etc/os-release", "r");
++	if(f) {
++		while (fgets(buf, 255, f)) {
++			if (strstr(buf, "PRETTY_NAME=")) {
++				strncpy(build, &buf[12], 255);
++				break;
++			}
++		}
++		fclose(f);
++	}
++
+ 	svg("<text class=\"t1\" x=\"0\" y=\"30\">Bootchart for %s - %s</text>\n",
+ 	    uts.nodename, date);
+ 	svg("<text class=\"t2\" x=\"20\" y=\"50\">System: %s %s %s %s</text>\n",
+-- 
+1.7.10
+
diff --git a/meta-oe/recipes-devtools/bootchart/bootchart_git.bb b/meta-oe/recipes-devtools/bootchart/bootchart_git.bb
index 62705f6..f5ef582 100644
--- a/meta-oe/recipes-devtools/bootchart/bootchart_git.bb
+++ b/meta-oe/recipes-devtools/bootchart/bootchart_git.bb
@@ -4,12 +4,18 @@ HOMEPAGE = "http://meego.gitorious.org/meego-developer-tools/bootchart"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067"
 
-SRC_URI = "git://gitorious.org/meego-developer-tools/bootchart.git"
-SRCREV = "4420bc4318c4aada7c7d128105e56ecc8c84cb19"
+PV = "1.16"
+PR = "r1"
+PE = "1"
+
+SRC_URI = "git://gitorious.org/meego-developer-tools/bootchart.git \
+           file://0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch \
+           file://0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch \
+          "
+
+SRCREV = "872fb107028e377eef3c0c7c8a6e0f7c32b8ebb8"
 
 S = "${WORKDIR}/git"
 
-do_install() {
-	oe_runmake install DESTDIR=${D}
-}
+inherit autotools
 
-- 
1.7.10




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

* [for-denzil][meta-oe 08/24] libidl: Update LICENSE to contain actual version
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (5 preceding siblings ...)
  2012-07-13  9:11 ` [for-denzil][meta-oe 07/24] bootchart: update to v1.16 Koen Kooi
@ 2012-07-13  9:11 ` Koen Kooi
  2012-07-13  9:11 ` [for-denzil][meta-oe 09/24] python-numpy: Fixed numpy dependencies Koen Kooi
                   ` (16 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:11 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, Chase Maupin, eric

From: chase maupin <chase.maupin@ti.com>

* Updated the LICENSE field to contain the version of the LGPL
  being used which is LGPLv2+
* Update the PR to reflect this license change

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta-gnome/recipes-gnome/libidl/libidl.inc       |    2 +-
 meta-gnome/recipes-gnome/libidl/libidl_0.8.13.bb |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta-gnome/recipes-gnome/libidl/libidl.inc b/meta-gnome/recipes-gnome/libidl/libidl.inc
index 7a90a70..a402037 100644
--- a/meta-gnome/recipes-gnome/libidl/libidl.inc
+++ b/meta-gnome/recipes-gnome/libidl/libidl.inc
@@ -1,6 +1,6 @@
 DESCRIPTION = "Library for parsing CORBA IDL files"
 SECTION = "x11/gnome/libs"
-LICENSE = "LGPL"
+LICENSE = "LGPLv2+"
 
 inherit autotools pkgconfig
 
diff --git a/meta-gnome/recipes-gnome/libidl/libidl_0.8.13.bb b/meta-gnome/recipes-gnome/libidl/libidl_0.8.13.bb
index 732178d..d658cf8 100644
--- a/meta-gnome/recipes-gnome/libidl/libidl_0.8.13.bb
+++ b/meta-gnome/recipes-gnome/libidl/libidl_0.8.13.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
 
 DEPENDS = "glib-2.0 flex-native libidl-native"
 
-PR = "r0"
+PR = "r1"
 
 BINCONFIG_GLOB = "*-config-2"
 inherit autotools pkgconfig binconfig
-- 
1.7.10




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

* [for-denzil][meta-oe 09/24] python-numpy: Fixed numpy dependencies.
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (6 preceding siblings ...)
  2012-07-13  9:11 ` [for-denzil][meta-oe 08/24] libidl: Update LICENSE to contain actual version Koen Kooi
@ 2012-07-13  9:11 ` Koen Kooi
  2012-07-13  9:11 ` [for-denzil][meta-oe 10/24] owfs: update to 2.8p15 Koen Kooi
                   ` (15 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:11 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, eric

From: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>

Numpy was missing a number of dependencies in the .bb file without which it will
not work.

Signed-off-by: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta-oe/recipes-devtools/python/python-numpy_1.4.1.bb |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/meta-oe/recipes-devtools/python/python-numpy_1.4.1.bb b/meta-oe/recipes-devtools/python/python-numpy_1.4.1.bb
index 36ab622..bae624e 100644
--- a/meta-oe/recipes-devtools/python/python-numpy_1.4.1.bb
+++ b/meta-oe/recipes-devtools/python/python-numpy_1.4.1.bb
@@ -24,3 +24,8 @@ do_compile_prepend() {
 
 SRC_URI[md5sum] = "5c7b5349dc3161763f7f366ceb96516b"
 SRC_URI[sha256sum] = "2e7bb84573e5123e07f3c919fd433bc09b78d606252b6b719e385c2a981d8e06"
+
+RDEPENDS_${PN} = "python-unittest \
+                  python-diffutils \
+                  python-pprint \
+                 "
-- 
1.7.10




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

* [for-denzil][meta-oe 10/24] owfs: update to 2.8p15
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (7 preceding siblings ...)
  2012-07-13  9:11 ` [for-denzil][meta-oe 09/24] python-numpy: Fixed numpy dependencies Koen Kooi
@ 2012-07-13  9:11 ` Koen Kooi
  2012-07-13  9:11 ` [for-denzil][meta-oe 11/24] owfs: enable/disable modules to make build predicable Koen Kooi
                   ` (14 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:11 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, Otavio Salvador, eric

From: Otavio Salvador <otavio@ossystems.com.br>

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta-oe/recipes-extended/owfs/owfs_2.8p14.bb |   65 --------------------------
 meta-oe/recipes-extended/owfs/owfs_2.8p15.bb |   65 ++++++++++++++++++++++++++
 2 files changed, 65 insertions(+), 65 deletions(-)
 delete mode 100644 meta-oe/recipes-extended/owfs/owfs_2.8p14.bb
 create mode 100644 meta-oe/recipes-extended/owfs/owfs_2.8p15.bb

diff --git a/meta-oe/recipes-extended/owfs/owfs_2.8p14.bb b/meta-oe/recipes-extended/owfs/owfs_2.8p14.bb
deleted file mode 100644
index 1acdcf9..0000000
--- a/meta-oe/recipes-extended/owfs/owfs_2.8p14.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-DESCRIPTION = "1-Wire file system"
-HOMEPAGE = "http://www.owfs.org/"
-SECTION = "console/network"
-
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
-                    file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a"
-
-DEPENDS = "fuse virtual/libusb0"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/owfs/owfs-${PV}.tar.gz \
-           file://owhttpd \
-           file://owserver "
-SRC_URI[md5sum] = "cd213fd9bbfed95cca2c833c0f14dd72"
-SRC_URI[sha256sum] = "88b6ee5e7e4d3fe6f4faf021948236162219cf5d1ff4bf3844e62e6ae2635b23"
-
-inherit autotools update-rc.d
-
-EXTRA_OECONF = " \
-                 --with-fuseinclude=${STAGING_INCDIR} \
-                 --with-fuselib=${STAGING_LIBDIR} \
-                 --enable-owhttpd \
-                 --enable-cache \
-                 --enable-mt \
-                 --disable-swig \
-                 --disable-owtcl \
-                 "
-
-do_install_prepend() {
-        install -d ${D}${sysconfdir}/default/
-        install -d ${D}${sysconfdir}/init.d/
-        install -m 0755 ${WORKDIR}/owhttpd ${D}${sysconfdir}/init.d/owhttpd
-        install -m 0755 ${WORKDIR}/owserver ${D}${sysconfdir}/init.d/owserver
-}
-
-PACKAGES =+ "owftpd owhttpd owserver owshell libowcapi libow libownet owmon owtap"
-
-DESCRIPTION_owftpd = "Anoymous FTP server for 1-wire access"
-DESCRIPTION_owhttpd = "Tiny webserver for 1-wire control"
-DESCRIPTION_owserver = "Backend server (daemon) for 1-wire control"
-DESCRIPTION_owshell = "owdir owread owwrite owpresent owget - lightweight owserver access"
-DESCRIPTION_libowcapi = "easy C-language 1-wire interface "
-DESCRIPTION_libow = "easy C-language 1-wire interface to the owserver protocol"
-DESCRIPTION_libownet = "easy C-language 1-wire interface to the owserver protocol"
-DESCRIPTION_owmon = "Monitor for owserver settings and statistics"
-DESCRIPTION_owtap = "Packet sniffer for the owserver protocol"
-
-FILES_owftpd = "${bindir}/owftpd"
-FILES_owhttpd = "${bindir}/owhttpd ${sysconfdir}/init.d/owhttpd"
-FILES_owserver = "${bindir}/owserver ${sysconfdir}/init.d/owserver"
-FILES_owshell = "${bindir}/owread ${bindir}/owwrite \
-                 ${bindir}/owdir ${bindir}/owpresent \
-                 ${bindir}/owget ${bindir}/owside"
-FILES_owmon = "${bindir}/owmon"
-FILES_owtap = "${bindir}/owtap"
-FILES_libowcapi = "${libdir}/libowcapi-*"
-FILES_libow = "${libdir}/libow-*"
-FILES_libownet = "${libdir}/libownet-*"
-
-INITSCRIPT_PACKAGES = "owhttpd owserver"
-INITSCRIPT_NAME_owserver = "owserver"
-INITSCRIPT_NAME_owhttpd = "owhttpd"
-INITSCRIPT_PARAMS_owserver = "defaults 20"
-INITSCRIPT_PARAMS_owhttpd = "defaults 21"
-
diff --git a/meta-oe/recipes-extended/owfs/owfs_2.8p15.bb b/meta-oe/recipes-extended/owfs/owfs_2.8p15.bb
new file mode 100644
index 0000000..451aaae
--- /dev/null
+++ b/meta-oe/recipes-extended/owfs/owfs_2.8p15.bb
@@ -0,0 +1,65 @@
+DESCRIPTION = "1-Wire file system"
+HOMEPAGE = "http://www.owfs.org/"
+SECTION = "console/network"
+
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+                    file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a"
+
+DEPENDS = "fuse virtual/libusb0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/owfs/owfs-${PV}.tar.gz \
+           file://owhttpd \
+           file://owserver "
+SRC_URI[md5sum] = "24ec3d04ded1b199831f03e70d9e2f1f"
+SRC_URI[sha256sum] = "5bbc4ff01865e114f52ef75fd7dd3a5ee52b9ad6841504cc6155a353c516ed87"
+
+inherit autotools update-rc.d
+
+EXTRA_OECONF = " \
+                 --with-fuseinclude=${STAGING_INCDIR} \
+                 --with-fuselib=${STAGING_LIBDIR} \
+                 --enable-owhttpd \
+                 --enable-cache \
+                 --enable-mt \
+                 --disable-swig \
+                 --disable-owtcl \
+                 "
+
+do_install_prepend() {
+        install -d ${D}${sysconfdir}/default/
+        install -d ${D}${sysconfdir}/init.d/
+        install -m 0755 ${WORKDIR}/owhttpd ${D}${sysconfdir}/init.d/owhttpd
+        install -m 0755 ${WORKDIR}/owserver ${D}${sysconfdir}/init.d/owserver
+}
+
+PACKAGES =+ "owftpd owhttpd owserver owshell libowcapi libow libownet owmon owtap"
+
+DESCRIPTION_owftpd = "Anoymous FTP server for 1-wire access"
+DESCRIPTION_owhttpd = "Tiny webserver for 1-wire control"
+DESCRIPTION_owserver = "Backend server (daemon) for 1-wire control"
+DESCRIPTION_owshell = "owdir owread owwrite owpresent owget - lightweight owserver access"
+DESCRIPTION_libowcapi = "easy C-language 1-wire interface "
+DESCRIPTION_libow = "easy C-language 1-wire interface to the owserver protocol"
+DESCRIPTION_libownet = "easy C-language 1-wire interface to the owserver protocol"
+DESCRIPTION_owmon = "Monitor for owserver settings and statistics"
+DESCRIPTION_owtap = "Packet sniffer for the owserver protocol"
+
+FILES_owftpd = "${bindir}/owftpd"
+FILES_owhttpd = "${bindir}/owhttpd ${sysconfdir}/init.d/owhttpd"
+FILES_owserver = "${bindir}/owserver ${sysconfdir}/init.d/owserver"
+FILES_owshell = "${bindir}/owread ${bindir}/owwrite \
+                 ${bindir}/owdir ${bindir}/owpresent \
+                 ${bindir}/owget ${bindir}/owside"
+FILES_owmon = "${bindir}/owmon"
+FILES_owtap = "${bindir}/owtap"
+FILES_libowcapi = "${libdir}/libowcapi-*"
+FILES_libow = "${libdir}/libow-*"
+FILES_libownet = "${libdir}/libownet-*"
+
+INITSCRIPT_PACKAGES = "owhttpd owserver"
+INITSCRIPT_NAME_owserver = "owserver"
+INITSCRIPT_NAME_owhttpd = "owhttpd"
+INITSCRIPT_PARAMS_owserver = "defaults 20"
+INITSCRIPT_PARAMS_owhttpd = "defaults 21"
+
-- 
1.7.10




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

* [for-denzil][meta-oe 11/24] owfs: enable/disable modules to make build predicable
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (8 preceding siblings ...)
  2012-07-13  9:11 ` [for-denzil][meta-oe 10/24] owfs: update to 2.8p15 Koen Kooi
@ 2012-07-13  9:11 ` Koen Kooi
  2012-07-13  9:11 ` [for-denzil][meta-oe 12/24] gateone: update to 1.1 Koen Kooi
                   ` (13 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:11 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, Otavio Salvador, eric

From: Otavio Salvador <otavio@ossystems.com.br>

We enforce the avaiability of w1 kernel support and owfs filesystem
but disable Perl, Python and PHP buildings for now.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta-oe/recipes-extended/owfs/owfs_2.8p15.bb |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/meta-oe/recipes-extended/owfs/owfs_2.8p15.bb b/meta-oe/recipes-extended/owfs/owfs_2.8p15.bb
index 451aaae..d7c5040 100644
--- a/meta-oe/recipes-extended/owfs/owfs_2.8p15.bb
+++ b/meta-oe/recipes-extended/owfs/owfs_2.8p15.bb
@@ -8,6 +8,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
 
 DEPENDS = "fuse virtual/libusb0"
 
+PR = "r1"
+
 SRC_URI = "${SOURCEFORGE_MIRROR}/owfs/owfs-${PV}.tar.gz \
            file://owhttpd \
            file://owserver "
@@ -19,11 +21,16 @@ inherit autotools update-rc.d
 EXTRA_OECONF = " \
                  --with-fuseinclude=${STAGING_INCDIR} \
                  --with-fuselib=${STAGING_LIBDIR} \
+                 --enable-owfs \
                  --enable-owhttpd \
                  --enable-cache \
                  --enable-mt \
+                 --enable-w1 \
                  --disable-swig \
                  --disable-owtcl \
+                 --disable-owphp \
+                 --disable-owpython \
+                 --disable-owperl \
                  "
 
 do_install_prepend() {
-- 
1.7.10




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

* [for-denzil][meta-oe 12/24] gateone: update to 1.1
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (9 preceding siblings ...)
  2012-07-13  9:11 ` [for-denzil][meta-oe 11/24] owfs: enable/disable modules to make build predicable Koen Kooi
@ 2012-07-13  9:11 ` Koen Kooi
  2012-07-13  9:11 ` [for-denzil][meta-oe 13/24] gateone: add config file Koen Kooi
                   ` (12 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:11 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, eric

Sort RDEPENDS alphabetically as well.

Based on https://github.com/liftoff/meta-oe/commit/9cb653845d7bb4416d2e8e6c5a09a54e08dd7578 by Dan McDougall

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 .../recipes-connectivity/gateone/gateone_git.bb    |   45 +++++++++++---------
 1 file changed, 25 insertions(+), 20 deletions(-)

diff --git a/meta-oe/recipes-connectivity/gateone/gateone_git.bb b/meta-oe/recipes-connectivity/gateone/gateone_git.bb
index 983dc24..bfb3274 100644
--- a/meta-oe/recipes-connectivity/gateone/gateone_git.bb
+++ b/meta-oe/recipes-connectivity/gateone/gateone_git.bb
@@ -2,10 +2,10 @@ DESCRIPTION = "HTML5 (plugin-free) web-based terminal emulator and SSH client"
 LICENSE = "AGPLv3"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ee5b168fc7de89a0cadc49e27830aa2c"
 
-PR = "r1"
+PR = "r4"
 
-PV = "1.0"
-SRCREV = "0dfa4196ca514e075199c0dbf849353c6aa2976b"
+PV = "1.1"
+SRCREV = "bb74e1095adb66b04b51ed6ff10ae0aa96afdd46"
 SRC_URI = "git://github.com/liftoff/GateOne.git \
            file://gateone-avahi.service \
            file://gateone.service \
@@ -29,28 +29,33 @@ SYSTEMD_PACKAGES = "${PN}"
 SYSTEMD_SERVICE = "gateone.service"
 
 FILES_${PN} = "${localstatedir}/lib ${localstatedir}/log ${base_libdir} ${sysconfdir}"
-RDEPENDS_${PN} = "python-tornado \
-                  python-datetime \
-                  python-shell \
-                  python-subprocess \
-                  python-terminal \
-                  python-io \
+RDEPENDS_${PN} = "file \
+                  mime-support \
+                  openssh-ssh \
                   python-compression \
-                  python-syslog \
-                  python-misc \
                   python-crypt \
-                  python-netclient \
+                  python-datetime \
                   python-email \
+                  python-fcntl \
                   python-html \
-                  python-textutils \
-                  python-pyopenssl \
-                  findutils \
-                  python-simplejson \
+                  python-imaging \
+                  python-io \
+                  python-json \
+                  python-logging \
+                  python-misc \
                   python-multiprocessing \
+                  python-netclient \
                   python-pkgutil \
-                  python-imaging \
+                  python-pyopenssl \
+                  python-re \
+                  python-readline \
+                  python-shell \
+                  python-simplejson \
+                  python-subprocess \
+                  python-syslog \
+                  python-terminal \
+                  python-textutils \
+                  python-tornado \
+                  python-unixadmin \
                   python-xml \
-                  file \
-                  openssh-ssh \
-                  mime-support \
                  "
-- 
1.7.10




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

* [for-denzil][meta-oe 13/24] gateone: add config file
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (10 preceding siblings ...)
  2012-07-13  9:11 ` [for-denzil][meta-oe 12/24] gateone: update to 1.1 Koen Kooi
@ 2012-07-13  9:11 ` Koen Kooi
  2012-07-13  9:12 ` [for-denzil][meta-oe 14/24] python-numpy : Correct difflib dependency Koen Kooi
                   ` (11 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:11 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, eric

The config file changes some options to have a lower latency for key input

Based on https://github.com/liftoff/meta-oe/commit/9cb653845d7bb4416d2e8e6c5a09a54e08dd7578 by Dan McDougall

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta-oe/recipes-connectivity/gateone/gateone/server.conf |    5 +++++
 meta-oe/recipes-connectivity/gateone/gateone_git.bb      |    5 ++++-
 2 files changed, 9 insertions(+), 1 deletion(-)
 create mode 100644 meta-oe/recipes-connectivity/gateone/gateone/server.conf

diff --git a/meta-oe/recipes-connectivity/gateone/gateone/server.conf b/meta-oe/recipes-connectivity/gateone/gateone/server.conf
new file mode 100644
index 0000000..988b0d0
--- /dev/null
+++ b/meta-oe/recipes-connectivity/gateone/gateone/server.conf
@@ -0,0 +1,5 @@
+session_logging = False
+origins = "*"
+command = "/var/lib/gateone/plugins/ssh/scripts/ssh_connect.py -S '/tmp/gateone/%SESSION%/%SHORT_SOCKET%' --sshfp -a '-oUserKnownHostsFile=%USERDIR%/%USER%/ssh/known_hosts'"
+log_file_prefix = "/var/log/gateone.log"
+
diff --git a/meta-oe/recipes-connectivity/gateone/gateone_git.bb b/meta-oe/recipes-connectivity/gateone/gateone_git.bb
index bfb3274..d56c848 100644
--- a/meta-oe/recipes-connectivity/gateone/gateone_git.bb
+++ b/meta-oe/recipes-connectivity/gateone/gateone_git.bb
@@ -2,13 +2,14 @@ DESCRIPTION = "HTML5 (plugin-free) web-based terminal emulator and SSH client"
 LICENSE = "AGPLv3"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ee5b168fc7de89a0cadc49e27830aa2c"
 
-PR = "r4"
+PR = "r5"
 
 PV = "1.1"
 SRCREV = "bb74e1095adb66b04b51ed6ff10ae0aa96afdd46"
 SRC_URI = "git://github.com/liftoff/GateOne.git \
            file://gateone-avahi.service \
            file://gateone.service \
+           file://server.conf \
           "
 
 S = "${WORKDIR}/git"
@@ -22,6 +23,8 @@ do_install_append() {
 
 	install -m 0755 -d ${D}${sysconfdir}/avahi/services/
 	install -m 0644 ${WORKDIR}/gateone-avahi.service ${D}${sysconfdir}/avahi/services/
+
+	install -m 0644 ${WORKDIR}/server.conf ${D}/var/lib/gateone/server.conf
 }
 
 NATIVE_SYSTEMD_SUPPORT = "1"
-- 
1.7.10




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

* [for-denzil][meta-oe 14/24] python-numpy : Correct difflib dependency.
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (11 preceding siblings ...)
  2012-07-13  9:11 ` [for-denzil][meta-oe 13/24] gateone: add config file Koen Kooi
@ 2012-07-13  9:12 ` Koen Kooi
  2012-07-13  9:12 ` [for-denzil][meta-oe 15/24] kernel.bbclass: pass KERNEL_VERSION to depmod calls in postinst Koen Kooi
                   ` (10 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:12 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, eric

From: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>

The previous patch had python-diffutils when it should have been
python-difflib.

Signed-off-by: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta-oe/recipes-devtools/python/python-numpy_1.4.1.bb |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta-oe/recipes-devtools/python/python-numpy_1.4.1.bb b/meta-oe/recipes-devtools/python/python-numpy_1.4.1.bb
index bae624e..e6d8618 100644
--- a/meta-oe/recipes-devtools/python/python-numpy_1.4.1.bb
+++ b/meta-oe/recipes-devtools/python/python-numpy_1.4.1.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "A sophisticated Numeric Processing Package for Python"
 SECTION = "devel/python"
 LICENSE = "PSF"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3c42211d73c3faa1026e671dd39883fa"
-PR = "r1"
+PR = "r2"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/numpy/numpy-${PV}.tar.gz \
 	   file://config.h \
@@ -26,6 +26,6 @@ SRC_URI[md5sum] = "5c7b5349dc3161763f7f366ceb96516b"
 SRC_URI[sha256sum] = "2e7bb84573e5123e07f3c919fd433bc09b78d606252b6b719e385c2a981d8e06"
 
 RDEPENDS_${PN} = "python-unittest \
-                  python-diffutils \
+                  python-difflib \
                   python-pprint \
                  "
-- 
1.7.10




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

* [for-denzil][meta-oe 15/24] kernel.bbclass: pass KERNEL_VERSION to depmod calls in postinst
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (12 preceding siblings ...)
  2012-07-13  9:12 ` [for-denzil][meta-oe 14/24] python-numpy : Correct difflib dependency Koen Kooi
@ 2012-07-13  9:12 ` Koen Kooi
  2012-07-13  9:12 ` [for-denzil][meta-oe 16/24] libjpeg-turbo: update 1.2.1 / use version 8d to follow oe-core libjpeg update Koen Kooi
                   ` (9 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:12 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, Martin Jansa, eric

From: Martin Jansa <martin.jansa@gmail.com>

* without this, kernel upgrades where KERNEL_VERSION is changed
  e.g. 3.4.2 -> 3.4.3 generate .dep for running 3.4.2 and after reboot user ends
  up without any module loaded to make it worse after reboot nothing is upgraded
  to trigger another kernel(-module) postinst to generate .dep for now running 3.4.3

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta-oe/classes/kernel.bbclass |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta-oe/classes/kernel.bbclass b/meta-oe/classes/kernel.bbclass
index 66398ef..ce82351 100644
--- a/meta-oe/classes/kernel.bbclass
+++ b/meta-oe/classes/kernel.bbclass
@@ -276,13 +276,13 @@ fi
 if [ -n "$D" ]; then
 	${HOST_PREFIX}depmod -A -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_VERSION} ${KERNEL_VERSION}
 else
-	depmod -a
+	depmod -a ${KERNEL_VERSION}
 fi
 }
 
 pkg_postinst_modules () {
 if [ -z "$D" ]; then
-	depmod -a
+	depmod -a ${KERNEL_VERSION}
 	update-modules || true
 fi
 }
-- 
1.7.10




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

* [for-denzil][meta-oe 16/24] libjpeg-turbo: update 1.2.1 / use version 8d to follow oe-core libjpeg update
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (13 preceding siblings ...)
  2012-07-13  9:12 ` [for-denzil][meta-oe 15/24] kernel.bbclass: pass KERNEL_VERSION to depmod calls in postinst Koen Kooi
@ 2012-07-13  9:12 ` Koen Kooi
  2012-07-13  9:12 ` [for-denzil][meta-oe 17/24] edje: explicitly enable libsndfile for target recipe Koen Kooi
                   ` (8 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:12 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, eric

From: Andreas Müller <schnitzeltony@googlemail.com>

without following oe-core's version PREFERRED_PROVIDER_jpeg does not work and
libjpeg is build.

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta-oe/recipes-core/jpeg/libjpeg-turbo_svn.bb |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta-oe/recipes-core/jpeg/libjpeg-turbo_svn.bb b/meta-oe/recipes-core/jpeg/libjpeg-turbo_svn.bb
index 76e2da4..16fb2c7 100644
--- a/meta-oe/recipes-core/jpeg/libjpeg-turbo_svn.bb
+++ b/meta-oe/recipes-core/jpeg/libjpeg-turbo_svn.bb
@@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=12;md5=78fa8dbac547bb5b2a0e6457a6cfe
                     file://jpeglib.h;endline=14;md5=7bb9a39828a1b1e84acd4e8aec1e5532 \
                     file://djpeg.c;endline=13;md5=e85613b52f2906c5dfc0e21ec902cb33 \
 "
-PV = "8c+1.2.0"
-SRCREV = "733"
+PV = "8d+1.2.1"
+SRCREV = "837"
 SRC_URI = "svn://libjpeg-turbo.svn.sourceforge.net/svnroot/libjpeg-turbo;proto=https;module=trunk"
 
 S = "${WORKDIR}/trunk"
-- 
1.7.10




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

* [for-denzil][meta-oe 17/24] edje: explicitly enable libsndfile for target recipe
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (14 preceding siblings ...)
  2012-07-13  9:12 ` [for-denzil][meta-oe 16/24] libjpeg-turbo: update 1.2.1 / use version 8d to follow oe-core libjpeg update Koen Kooi
@ 2012-07-13  9:12 ` Koen Kooi
  2012-07-13  9:12 ` [for-denzil][meta-oe 18/24] libjpeg-turbo: add LEAD_SONAME to fix upgrade to 8d Koen Kooi
                   ` (7 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:12 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, Martin Jansa, eric

From: Martin Jansa <martin.jansa@gmail.com>

* there is no native/nativesdk support in libsndfile so disable it fro native/nativesdk edje
* Thanks to Koen for noticing that it's autodetected and sometimes leaks into feeds

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta-efl/recipes-efl/efl/edje.inc |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/meta-efl/recipes-efl/efl/edje.inc b/meta-efl/recipes-efl/efl/edje.inc
index 41f04b0..311fb52 100644
--- a/meta-efl/recipes-efl/efl/edje.inc
+++ b/meta-efl/recipes-efl/efl/edje.inc
@@ -1,5 +1,5 @@
 DESCRIPTION = "Edje is the Enlightenment graphical design & layout library"
-DEPENDS = "lua5.1 eet evas ecore embryo edje-native eina"
+DEPENDS = "lua5.1 eet evas ecore embryo edje-native eina libsndfile1"
 DEPENDS_virtclass-native = "lua5.1-native evas-native ecore-native eet-native embryo-native eina-native"
 DEPENDS_virtclass-nativesdk = "evas-native ecore-native eet-native embryo-native eina-native"
 # GPLv2 because of epp in PN-utils
@@ -35,6 +35,11 @@ do_compile_append() {
 require edje-fpu.inc
 EXTRA_OECONF += "${@get_edje_fpu_setting(bb, d)}"
 
+SNDFILE = "--enable-sndfile"
+SNDFILE_virtclass-native = "--disable-sndfile"
+SNDFILE_virtclass-nativesdk = "--disable-sndfile"
+EXTRA_OECONF += "${SNDFILE}"
+
 PACKAGES =+ "${PN}-utils"
 RDEPENDS_${PN}-utils = "cpp cpp-symlinks embryo-tests"
 
-- 
1.7.10




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

* [for-denzil][meta-oe 18/24] libjpeg-turbo: add LEAD_SONAME to fix upgrade to 8d
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (15 preceding siblings ...)
  2012-07-13  9:12 ` [for-denzil][meta-oe 17/24] edje: explicitly enable libsndfile for target recipe Koen Kooi
@ 2012-07-13  9:12 ` Koen Kooi
  2012-07-13  9:12 ` [for-denzil][meta-oe 19/24] yavta: add patch to enable streaming to stdout Koen Kooi
                   ` (6 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:12 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, Martin Jansa, eric

From: Martin Jansa <martin.jansa@gmail.com>

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta-oe/recipes-core/jpeg/libjpeg-turbo_svn.bb |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta-oe/recipes-core/jpeg/libjpeg-turbo_svn.bb b/meta-oe/recipes-core/jpeg/libjpeg-turbo_svn.bb
index 16fb2c7..f061f41 100644
--- a/meta-oe/recipes-core/jpeg/libjpeg-turbo_svn.bb
+++ b/meta-oe/recipes-core/jpeg/libjpeg-turbo_svn.bb
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=12;md5=78fa8dbac547bb5b2a0e6457a6cfe
                     file://djpeg.c;endline=13;md5=e85613b52f2906c5dfc0e21ec902cb33 \
 "
 PV = "8d+1.2.1"
+PR = "r1"
 SRCREV = "837"
 SRC_URI = "svn://libjpeg-turbo.svn.sourceforge.net/svnroot/libjpeg-turbo;proto=https;module=trunk"
 
@@ -29,3 +30,5 @@ INSANE_SKIP_libturbojpeg = "dev-so"
 
 BBCLASSEXTEND = "native"
 DEPENDS_virtclass-native = "nasm-native"
+
+LEAD_SONAME = "libjpeg.so.8"
-- 
1.7.10




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

* [for-denzil][meta-oe 19/24] yavta: add patch to enable streaming to stdout
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (16 preceding siblings ...)
  2012-07-13  9:12 ` [for-denzil][meta-oe 18/24] libjpeg-turbo: add LEAD_SONAME to fix upgrade to 8d Koen Kooi
@ 2012-07-13  9:12 ` Koen Kooi
  2012-07-13  9:12 ` [for-denzil][meta-oe 20/24] cheese: add 2.30.1 Koen Kooi
                   ` (5 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:12 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, eric

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 ...mode-to-allow-streaming-over-the-network-.patch |  854 ++++++++++++++++++++
 meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb   |    5 +-
 2 files changed, 857 insertions(+), 2 deletions(-)
 create mode 100644 meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch

diff --git a/meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch b/meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch
new file mode 100644
index 0000000..430836f
--- /dev/null
+++ b/meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch
@@ -0,0 +1,854 @@
+From 1146a0f01fc8730d5633b46b85d00154a721abbe Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Fri, 22 Jun 2012 12:40:23 +0200
+Subject: [PATCH] Add stdout mode to allow streaming over the network with nc
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ yavta.c |  288 ++++++++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 157 insertions(+), 131 deletions(-)
+
+diff --git a/yavta.c b/yavta.c
+index f3deae0..8020209 100644
+--- a/yavta.c
++++ b/yavta.c
+@@ -188,12 +188,12 @@ static int video_open(struct device *dev, const char *devname, int no_query)
+ 
+ 	dev->fd = open(devname, O_RDWR);
+ 	if (dev->fd < 0) {
+-		printf("Error opening device %s: %s (%d).\n", devname,
++		fprintf(stderr, "Error opening device %s: %s (%d).\n", devname,
+ 		       strerror(errno), errno);
+ 		return dev->fd;
+ 	}
+ 
+-	printf("Device %s opened.\n", devname);
++	fprintf(stderr, "Device %s opened.\n", devname);
+ 
+ 	if (no_query) {
+ 		/* Assume capture device. */
+@@ -211,13 +211,13 @@ static int video_open(struct device *dev, const char *devname, int no_query)
+ 	else if (cap.capabilities & V4L2_CAP_VIDEO_OUTPUT)
+ 		dev->type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
+ 	else {
+-		printf("Error opening device %s: neither video capture "
++		fprintf(stderr, "Error opening device %s: neither video capture "
+ 			"nor video output supported.\n", devname);
+ 		close(dev->fd);
+ 		return -EINVAL;
+ 	}
+ 
+-	printf("Device `%s' on `%s' is a video %s device.\n",
++	fprintf(stderr, "Device `%s' on `%s' is a video %s device.\n",
+ 		cap.card, cap.bus_info,
+ 		dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE ? "capture" : "output");
+ 	return 0;
+@@ -280,7 +280,7 @@ static int get_control(struct device *dev, unsigned int id, int type,
+ 		}
+ 	}
+ 
+-	printf("unable to get control 0x%8.8x: %s (%d).\n",
++	fprintf(stderr, "unable to get control 0x%8.8x: %s (%d).\n",
+ 		id, strerror(errno), errno);
+ 	return -1;
+ }
+@@ -322,12 +322,12 @@ static void set_control(struct device *dev, unsigned int id, int type,
+ 			val = old.value;
+ 	}
+ 	if (ret == -1) {
+-		printf("unable to set control 0x%8.8x: %s (%d).\n",
++		fprintf(stderr, "unable to set control 0x%8.8x: %s (%d).\n",
+ 			id, strerror(errno), errno);
+ 		return;
+ 	}
+ 
+-	printf("Control 0x%08x set to %" PRId64 ", is %" PRId64 "\n",
++	fprintf(stderr, "Control 0x%08x set to %" PRId64 ", is %" PRId64 "\n",
+ 	       id, old_val, val);
+ }
+ 
+@@ -341,7 +341,7 @@ static int video_get_format(struct device *dev)
+ 
+ 	ret = ioctl(dev->fd, VIDIOC_G_FMT, &fmt);
+ 	if (ret < 0) {
+-		printf("Unable to get format: %s (%d).\n", strerror(errno),
++		fprintf(stderr, "Unable to get format: %s (%d).\n", strerror(errno),
+ 			errno);
+ 		return ret;
+ 	}
+@@ -351,7 +351,7 @@ static int video_get_format(struct device *dev)
+ 	dev->bytesperline = fmt.fmt.pix.bytesperline;
+ 	dev->imagesize = fmt.fmt.pix.bytesperline ? fmt.fmt.pix.sizeimage : 0;
+ 
+-	printf("Video format: %s (%08x) %ux%u (stride %u) buffer size %u\n",
++	fprintf(stderr, "Video format: %s (%08x) %ux%u (stride %u) buffer size %u\n",
+ 		v4l2_format_name(fmt.fmt.pix.pixelformat), fmt.fmt.pix.pixelformat,
+ 		fmt.fmt.pix.width, fmt.fmt.pix.height, fmt.fmt.pix.bytesperline,
+ 		fmt.fmt.pix.sizeimage);
+@@ -374,12 +374,12 @@ static int video_set_format(struct device *dev, unsigned int w, unsigned int h,
+ 
+ 	ret = ioctl(dev->fd, VIDIOC_S_FMT, &fmt);
+ 	if (ret < 0) {
+-		printf("Unable to set format: %s (%d).\n", strerror(errno),
++		fprintf(stderr, "Unable to set format: %s (%d).\n", strerror(errno),
+ 			errno);
+ 		return ret;
+ 	}
+ 
+-	printf("Video format set: %s (%08x) %ux%u (stride %u) buffer size %u\n",
++	fprintf(stderr, "Video format set: %s (%08x) %ux%u (stride %u) buffer size %u\n",
+ 		v4l2_format_name(fmt.fmt.pix.pixelformat), fmt.fmt.pix.pixelformat,
+ 		fmt.fmt.pix.width, fmt.fmt.pix.height, fmt.fmt.pix.bytesperline,
+ 		fmt.fmt.pix.sizeimage);
+@@ -396,16 +396,16 @@ static int video_set_framerate(struct device *dev, struct v4l2_fract *time_per_f
+ 
+ 	ret = ioctl(dev->fd, VIDIOC_G_PARM, &parm);
+ 	if (ret < 0) {
+-		printf("Unable to get frame rate: %s (%d).\n",
++		fprintf(stderr, "Unable to get frame rate: %s (%d).\n",
+ 			strerror(errno), errno);
+ 		return ret;
+ 	}
+ 
+-	printf("Current frame rate: %u/%u\n",
++	fprintf(stderr, "Current frame rate: %u/%u\n",
+ 		parm.parm.capture.timeperframe.numerator,
+ 		parm.parm.capture.timeperframe.denominator);
+ 
+-	printf("Setting frame rate to: %u/%u\n",
++	fprintf(stderr, "Setting frame rate to: %u/%u\n",
+ 		time_per_frame->numerator,
+ 		time_per_frame->denominator);
+ 
+@@ -414,19 +414,19 @@ static int video_set_framerate(struct device *dev, struct v4l2_fract *time_per_f
+ 
+ 	ret = ioctl(dev->fd, VIDIOC_S_PARM, &parm);
+ 	if (ret < 0) {
+-		printf("Unable to set frame rate: %s (%d).\n", strerror(errno),
++		fprintf(stderr, "Unable to set frame rate: %s (%d).\n", strerror(errno),
+ 			errno);
+ 		return ret;
+ 	}
+ 
+ 	ret = ioctl(dev->fd, VIDIOC_G_PARM, &parm);
+ 	if (ret < 0) {
+-		printf("Unable to get frame rate: %s (%d).\n", strerror(errno),
++		fprintf(stderr, "Unable to get frame rate: %s (%d).\n", strerror(errno),
+ 			errno);
+ 		return ret;
+ 	}
+ 
+-	printf("Frame rate set: %u/%u\n",
++	fprintf(stderr, "Frame rate set: %u/%u\n",
+ 		parm.parm.capture.timeperframe.numerator,
+ 		parm.parm.capture.timeperframe.denominator);
+ 	return 0;
+@@ -449,12 +449,12 @@ static int video_alloc_buffers(struct device *dev, int nbufs,
+ 
+ 	ret = ioctl(dev->fd, VIDIOC_REQBUFS, &rb);
+ 	if (ret < 0) {
+-		printf("Unable to request buffers: %s (%d).\n", strerror(errno),
++		fprintf(stderr, "Unable to request buffers: %s (%d).\n", strerror(errno),
+ 			errno);
+ 		return ret;
+ 	}
+ 
+-	printf("%u buffers requested.\n", rb.count);
++	fprintf(stderr, "%u buffers requested.\n", rb.count);
+ 
+ 	buffers = malloc(rb.count * sizeof buffers[0]);
+ 	if (buffers == NULL)
+@@ -470,35 +470,35 @@ static int video_alloc_buffers(struct device *dev, int nbufs,
+ 		buf.memory = dev->memtype;
+ 		ret = ioctl(dev->fd, VIDIOC_QUERYBUF, &buf);
+ 		if (ret < 0) {
+-			printf("Unable to query buffer %u: %s (%d).\n", i,
++			fprintf(stderr, "Unable to query buffer %u: %s (%d).\n", i,
+ 				strerror(errno), errno);
+ 			return ret;
+ 		}
+-		printf("length: %u offset: %u\n", buf.length, buf.m.offset);
++		fprintf(stderr, "length: %u offset: %u\n", buf.length, buf.m.offset);
+ 
+ 		switch (dev->memtype) {
+ 		case V4L2_MEMORY_MMAP:
+ 			buffers[i].mem = mmap(0, buf.length, PROT_READ | PROT_WRITE, MAP_SHARED, dev->fd, buf.m.offset);
+ 			if (buffers[i].mem == MAP_FAILED) {
+-				printf("Unable to map buffer %u: %s (%d)\n", i,
++				fprintf(stderr, "Unable to map buffer %u: %s (%d)\n", i,
+ 					strerror(errno), errno);
+ 				return ret;
+ 			}
+ 			buffers[i].size = buf.length;
+ 			buffers[i].padding = 0;
+-			printf("Buffer %u mapped at address %p.\n", i, buffers[i].mem);
++			fprintf(stderr, "Buffer %u mapped at address %p.\n", i, buffers[i].mem);
+ 			break;
+ 
+ 		case V4L2_MEMORY_USERPTR:
+ 			ret = posix_memalign(&buffers[i].mem, page_size, buf.length + offset + padding);
+ 			if (ret < 0) {
+-				printf("Unable to allocate buffer %u (%d)\n", i, ret);
++				fprintf(stderr, "Unable to allocate buffer %u (%d)\n", i, ret);
+ 				return -ENOMEM;
+ 			}
+ 			buffers[i].mem += offset;
+ 			buffers[i].size = buf.length;
+ 			buffers[i].padding = padding;
+-			printf("Buffer %u allocated at address %p.\n", i, buffers[i].mem);
++			fprintf(stderr, "Buffer %u allocated at address %p.\n", i, buffers[i].mem);
+ 			break;
+ 
+ 		default:
+@@ -525,7 +525,7 @@ static int video_free_buffers(struct device *dev)
+ 		case V4L2_MEMORY_MMAP:
+ 			ret = munmap(dev->buffers[i].mem, dev->buffers[i].size);
+ 			if (ret < 0) {
+-				printf("Unable to unmap buffer %u: %s (%d)\n", i,
++				fprintf(stderr, "Unable to unmap buffer %u: %s (%d)\n", i,
+ 					strerror(errno), errno);
+ 				return ret;
+ 			}
+@@ -549,12 +549,12 @@ static int video_free_buffers(struct device *dev)
+ 
+ 	ret = ioctl(dev->fd, VIDIOC_REQBUFS, &rb);
+ 	if (ret < 0) {
+-		printf("Unable to release buffers: %s (%d).\n",
++		fprintf(stderr, "Unable to release buffers: %s (%d).\n",
+ 			strerror(errno), errno);
+ 		return ret;
+ 	}
+ 
+-	printf("%u buffers released.\n", dev->nbufs);
++	fprintf(stderr, "%u buffers released.\n", dev->nbufs);
+ 
+ 	free(dev->buffers);
+ 	dev->nbufs = 0;
+@@ -589,7 +589,7 @@ static int video_queue_buffer(struct device *dev, int index, enum buffer_fill_mo
+ 
+ 	ret = ioctl(dev->fd, VIDIOC_QBUF, &buf);
+ 	if (ret < 0)
+-		printf("Unable to queue buffer: %s (%d).\n",
++		fprintf(stderr, "Unable to queue buffer: %s (%d).\n",
+ 			strerror(errno), errno);
+ 
+ 	return ret;
+@@ -602,7 +602,7 @@ static int video_enable(struct device *dev, int enable)
+ 
+ 	ret = ioctl(dev->fd, enable ? VIDIOC_STREAMON : VIDIOC_STREAMOFF, &type);
+ 	if (ret < 0) {
+-		printf("Unable to %s streaming: %s (%d).\n",
++		fprintf(stderr, "Unable to %s streaming: %s (%d).\n",
+ 			enable ? "start" : "stop", strerror(errno), errno);
+ 		return ret;
+ 	}
+@@ -623,9 +623,9 @@ static void video_query_menu(struct device *dev, struct v4l2_queryctrl *query)
+ 			continue;
+ 
+ 		if (query->type == V4L2_CTRL_TYPE_MENU)
+-			printf("  %u: %.32s\n", menu.index, menu.name);
++			fprintf(stderr, "  %u: %.32s\n", menu.index, menu.name);
+ 		else
+-			printf("  %u: %lld\n", menu.index, menu.value);
++			fprintf(stderr, "  %u: %lld\n", menu.index, menu.value);
+ 	};
+ }
+ 
+@@ -655,7 +655,7 @@ static void video_list_controls(struct device *dev)
+ 			continue;
+ 
+ 		if (query.type == V4L2_CTRL_TYPE_CTRL_CLASS) {
+-			printf("--- %s (class 0x%08x) ---\n", query.name, query.id);
++			fprintf(stderr, "--- %s (class 0x%08x) ---\n", query.name, query.id);
+ 			continue;
+ 		}
+ 
+@@ -665,7 +665,7 @@ static void video_list_controls(struct device *dev)
+ 		else
+ 			sprintf(value, "%" PRId64, val64);
+ 
+-		printf("control 0x%08x `%s' min %d max %d step %d default %d current %s.\n",
++		fprintf(stderr, "control 0x%08x `%s' min %d max %d step %d default %d current %s.\n",
+ 			query.id, query.name, query.minimum, query.maximum,
+ 			query.step, query.default_value, value);
+ 
+@@ -677,9 +677,9 @@ static void video_list_controls(struct device *dev)
+ 	}
+ 
+ 	if (nctrls)
+-		printf("%u control%s found.\n", nctrls, nctrls > 1 ? "s" : "");
++		fprintf(stderr, "%u control%s found.\n", nctrls, nctrls > 1 ? "s" : "");
+ 	else
+-		printf("No control found.\n");
++		fprintf(stderr, "No control found.\n");
+ }
+ 
+ static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat,
+@@ -700,30 +700,30 @@ static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat,
+ 			break;
+ 
+ 		if (i != ival.index)
+-			printf("Warning: driver returned wrong ival index "
++			fprintf(stderr, "Warning: driver returned wrong ival index "
+ 				"%u.\n", ival.index);
+ 		if (pixelformat != ival.pixel_format)
+-			printf("Warning: driver returned wrong ival pixel "
++			fprintf(stderr, "Warning: driver returned wrong ival pixel "
+ 				"format %08x.\n", ival.pixel_format);
+ 		if (width != ival.width)
+-			printf("Warning: driver returned wrong ival width "
++			fprintf(stderr, "Warning: driver returned wrong ival width "
+ 				"%u.\n", ival.width);
+ 		if (height != ival.height)
+-			printf("Warning: driver returned wrong ival height "
++			fprintf(stderr, "Warning: driver returned wrong ival height "
+ 				"%u.\n", ival.height);
+ 
+ 		if (i != 0)
+-			printf(", ");
++			fprintf(stderr, ", ");
+ 
+ 		switch (ival.type) {
+ 		case V4L2_FRMIVAL_TYPE_DISCRETE:
+-			printf("%u/%u",
++			fprintf(stderr, "%u/%u",
+ 				ival.discrete.numerator,
+ 				ival.discrete.denominator);
+ 			break;
+ 
+ 		case V4L2_FRMIVAL_TYPE_CONTINUOUS:
+-			printf("%u/%u - %u/%u",
++			fprintf(stderr, "%u/%u - %u/%u",
+ 				ival.stepwise.min.numerator,
+ 				ival.stepwise.min.denominator,
+ 				ival.stepwise.max.numerator,
+@@ -731,7 +731,7 @@ static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat,
+ 			return;
+ 
+ 		case V4L2_FRMIVAL_TYPE_STEPWISE:
+-			printf("%u/%u - %u/%u (by %u/%u)",
++			fprintf(stderr, "%u/%u - %u/%u (by %u/%u)",
+ 				ival.stepwise.min.numerator,
+ 				ival.stepwise.min.denominator,
+ 				ival.stepwise.max.numerator,
+@@ -761,23 +761,23 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat)
+ 			break;
+ 
+ 		if (i != frame.index)
+-			printf("Warning: driver returned wrong frame index "
++			fprintf(stderr, "Warning: driver returned wrong frame index "
+ 				"%u.\n", frame.index);
+ 		if (pixelformat != frame.pixel_format)
+-			printf("Warning: driver returned wrong frame pixel "
++			fprintf(stderr, "Warning: driver returned wrong frame pixel "
+ 				"format %08x.\n", frame.pixel_format);
+ 
+ 		switch (frame.type) {
+ 		case V4L2_FRMSIZE_TYPE_DISCRETE:
+-			printf("\tFrame size: %ux%u (", frame.discrete.width,
++			fprintf(stderr, "\tFrame size: %ux%u (", frame.discrete.width,
+ 				frame.discrete.height);
+ 			video_enum_frame_intervals(dev, frame.pixel_format,
+ 				frame.discrete.width, frame.discrete.height);
+-			printf(")\n");
++			fprintf(stderr, ")\n");
+ 			break;
+ 
+ 		case V4L2_FRMSIZE_TYPE_CONTINUOUS:
+-			printf("\tFrame size: %ux%u - %ux%u (",
++			fprintf(stderr, "\tFrame size: %ux%u - %ux%u (",
+ 				frame.stepwise.min_width,
+ 				frame.stepwise.min_height,
+ 				frame.stepwise.max_width,
+@@ -785,11 +785,11 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat)
+ 			video_enum_frame_intervals(dev, frame.pixel_format,
+ 				frame.stepwise.max_width,
+ 				frame.stepwise.max_height);
+-			printf(")\n");
++			fprintf(stderr, ")\n");
+ 			break;
+ 
+ 		case V4L2_FRMSIZE_TYPE_STEPWISE:
+-			printf("\tFrame size: %ux%u - %ux%u (by %ux%u) (\n",
++			fprintf(stderr, "\tFrame size: %ux%u - %ux%u (by %ux%u) (\n",
+ 				frame.stepwise.min_width,
+ 				frame.stepwise.min_height,
+ 				frame.stepwise.max_width,
+@@ -799,7 +799,7 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat)
+ 			video_enum_frame_intervals(dev, frame.pixel_format,
+ 				frame.stepwise.max_width,
+ 				frame.stepwise.max_height);
+-			printf(")\n");
++			fprintf(stderr, ")\n");
+ 			break;
+ 
+ 		default:
+@@ -823,19 +823,19 @@ static void video_enum_formats(struct device *dev, enum v4l2_buf_type type)
+ 			break;
+ 
+ 		if (i != fmt.index)
+-			printf("Warning: driver returned wrong format index "
++			fprintf(stderr, "Warning: driver returned wrong format index "
+ 				"%u.\n", fmt.index);
+ 		if (type != fmt.type)
+-			printf("Warning: driver returned wrong format type "
++			fprintf(stderr, "Warning: driver returned wrong format type "
+ 				"%u.\n", fmt.type);
+ 
+-		printf("\tFormat %u: %s (%08x)\n", i,
++		fprintf(stderr, "\tFormat %u: %s (%08x)\n", i,
+ 			v4l2_format_name(fmt.pixelformat), fmt.pixelformat);
+-		printf("\tType: %s (%u)\n", v4l2_buf_type_name(fmt.type),
++		fprintf(stderr, "\tType: %s (%u)\n", v4l2_buf_type_name(fmt.type),
+ 			fmt.type);
+-		printf("\tName: %.32s\n", fmt.description);
++		fprintf(stderr, "\tName: %.32s\n", fmt.description);
+ 		video_enum_frame_sizes(dev, fmt.pixelformat);
+-		printf("\n");
++		fprintf(stderr, "\n");
+ 	}
+ }
+ 
+@@ -853,13 +853,13 @@ static void video_enum_inputs(struct device *dev)
+ 			break;
+ 
+ 		if (i != input.index)
+-			printf("Warning: driver returned wrong input index "
++			fprintf(stderr, "Warning: driver returned wrong input index "
+ 				"%u.\n", input.index);
+ 
+-		printf("\tInput %u: %s.\n", i, input.name);
++		fprintf(stderr, "\tInput %u: %s.\n", i, input.name);
+ 	}
+ 
+-	printf("\n");
++	fprintf(stderr, "\n");
+ }
+ 
+ static int video_get_input(struct device *dev)
+@@ -869,7 +869,7 @@ static int video_get_input(struct device *dev)
+ 
+ 	ret = ioctl(dev->fd, VIDIOC_G_INPUT, &input);
+ 	if (ret < 0) {
+-		printf("Unable to get current input: %s (%d).\n",
++		fprintf(stderr, "Unable to get current input: %s (%d).\n",
+ 			strerror(errno), errno);
+ 		return ret;
+ 	}
+@@ -884,7 +884,7 @@ static int video_set_input(struct device *dev, unsigned int input)
+ 
+ 	ret = ioctl(dev->fd, VIDIOC_S_INPUT, &_input);
+ 	if (ret < 0)
+-		printf("Unable to select input %u: %s (%d).\n", input,
++		fprintf(stderr, "Unable to select input %u: %s (%d).\n", input,
+ 			strerror(errno), errno);
+ 
+ 	return ret;
+@@ -903,14 +903,14 @@ static int video_set_quality(struct device *dev, unsigned int quality)
+ 
+ 	ret = ioctl(dev->fd, VIDIOC_S_JPEGCOMP, &jpeg);
+ 	if (ret < 0) {
+-		printf("Unable to set quality to %u: %s (%d).\n", quality,
++		fprintf(stderr, "Unable to set quality to %u: %s (%d).\n", quality,
+ 			strerror(errno), errno);
+ 		return ret;
+ 	}
+ 
+ 	ret = ioctl(dev->fd, VIDIOC_G_JPEGCOMP, &jpeg);
+ 	if (ret >= 0)
+-		printf("Quality set to %u\n", jpeg.quality);
++		fprintf(stderr, "Quality set to %u\n", jpeg.quality);
+ 
+ 	return 0;
+ }
+@@ -930,7 +930,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename)
+ 
+ 	if (filename == NULL) {
+ 		if (dev->bytesperline == 0) {
+-			printf("Compressed format detect and no test pattern filename given.\n"
++			fprintf(stderr, "Compressed format detect and no test pattern filename given.\n"
+ 				"The test pattern can't be generated automatically.\n");
+ 			return -EINVAL;
+ 		}
+@@ -947,7 +947,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename)
+ 
+ 	fd = open(filename, O_RDONLY);
+ 	if (fd == -1) {
+-		printf("Unable to open test pattern file '%s': %s (%d).\n",
++		fprintf(stderr, "Unable to open test pattern file '%s': %s (%d).\n",
+ 			filename, strerror(errno), errno);
+ 		return -errno;
+ 	}
+@@ -956,7 +956,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename)
+ 	close(fd);
+ 
+ 	if (ret != (int)size && dev->bytesperline != 0) {
+-		printf("Test pattern file size %u doesn't match image size %u\n",
++		fprintf(stderr, "Test pattern file size %u doesn't match image size %u\n",
+ 			ret, size);
+ 		return -EINVAL;
+ 	}
+@@ -1012,16 +1012,16 @@ static void video_verify_buffer(struct device *dev, int index)
+ 	}
+ 
+ 	if (errors) {
+-		printf("Warning: %u bytes overwritten among %u first padding bytes\n",
++		fprintf(stderr, "Warning: %u bytes overwritten among %u first padding bytes\n",
+ 		       errors, dirty);
+ 
+ 		dirty = (dirty + 15) & ~15;
+ 		dirty = dirty > 32 ? 32 : dirty;
+ 
+ 		for (i = 0; i < dirty; ++i) {
+-			printf("%02x ", data[i]);
++			fprintf(stderr, "%02x ", data[i]);
+ 			if (i % 16 == 15)
+-				printf("\n");
++				fprintf(stderr, "\n");
+ 		}
+ 	}
+ }
+@@ -1061,15 +1061,29 @@ static void video_save_image(struct device *dev, struct v4l2_buffer *buf,
+ 	close(fd);
+ 
+ 	if (ret < 0)
+-		printf("write error: %s (%d)\n", strerror(errno), errno);
++		fprintf(stderr, "write error: %s (%d)\n", strerror(errno), errno);
+ 	else if (ret != (int)buf->bytesused)
+-		printf("write error: only %d bytes written instead of %u\n",
++		fprintf(stderr, "write error: only %d bytes written instead of %u\n",
++		       ret, buf->bytesused);
++}
++
++static void video_stdout_image(struct device *dev, struct v4l2_buffer *buf)
++{
++	int ret;
++
++	fprintf(stderr, "stdout");
++	ret = fwrite(dev->buffers[buf->index].mem, buf->bytesused, 1, stdout);
++
++	if (ret < 0)
++		fprintf(stderr, "write error: %s (%d)\n", strerror(errno), errno);
++	else if (ret != (int)buf->bytesused)
++		fprintf(stderr, "write error: only %d bytes written instead of %u\n",
+ 		       ret, buf->bytesused);
+ }
+ 
+ static int video_do_capture(struct device *dev, unsigned int nframes,
+ 	unsigned int skip, unsigned int delay, const char *pattern,
+-	int do_requeue_last, enum buffer_fill_mode fill)
++	int do_requeue_last, enum buffer_fill_mode fill, int do_stdout)
+ {
+ 	struct timespec start;
+ 	struct timeval last;
+@@ -1099,7 +1113,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
+ 		ret = ioctl(dev->fd, VIDIOC_DQBUF, &buf);
+ 		if (ret < 0) {
+ 			if (errno != EIO) {
+-				printf("Unable to dequeue buffer: %s (%d).\n",
++				fprintf(stderr, "Unable to dequeue buffer: %s (%d).\n",
+ 					strerror(errno), errno);
+ 				goto done;
+ 			}
+@@ -1111,7 +1125,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
+ 
+ 		if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE &&
+ 		    dev->imagesize != 0	&& buf.bytesused != dev->imagesize)
+-			printf("Warning: bytes used %u != image size %u\n",
++			fprintf(stderr, "Warning: bytes used %u != image size %u\n",
+ 			       buf.bytesused, dev->imagesize);
+ 
+ 		if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE)
+@@ -1124,7 +1138,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
+ 		fps = fps ? 1000000.0 / fps : 0.0;
+ 
+ 		clock_gettime(CLOCK_MONOTONIC, &ts);
+-		printf("%u (%u) [%c] %u %u bytes %ld.%06ld %ld.%06ld %.3f fps\n", i, buf.index,
++		fprintf(stderr, "%u (%u) [%c] %u %u bytes %ld.%06ld %ld.%06ld %.3f fps\n", i, buf.index,
+ 			(buf.flags & V4L2_BUF_FLAG_ERROR) ? 'E' : '-',
+ 			buf.sequence, buf.bytesused, buf.timestamp.tv_sec,
+ 			buf.timestamp.tv_usec, ts.tv_sec, ts.tv_nsec/1000, fps);
+@@ -1132,8 +1146,13 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
+ 		last = buf.timestamp;
+ 
+ 		/* Save the image. */
+-		if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && pattern && !skip)
++		if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && pattern && !skip) {
+ 			video_save_image(dev, &buf, pattern, i);
++		}
++
++		if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && do_stdout && !skip) {
++			video_stdout_image(dev, &buf);
++		}
+ 
+ 		if (skip)
+ 			--skip;
+@@ -1149,7 +1168,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
+ 
+ 		ret = video_queue_buffer(dev, buf.index, fill);
+ 		if (ret < 0) {
+-			printf("Unable to requeue buffer: %s (%d).\n",
++			fprintf(stderr, "Unable to requeue buffer: %s (%d).\n",
+ 				strerror(errno), errno);
+ 			goto done;
+ 		}
+@@ -1159,7 +1178,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
+ 	video_enable(dev, 0);
+ 
+ 	if (nframes == 0) {
+-		printf("No frames captured.\n");
++		fprintf(stderr, "No frames captured.\n");
+ 		goto done;
+ 	}
+ 
+@@ -1176,7 +1195,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
+ 	bps = size/(ts.tv_nsec/1000.0+1000000.0*ts.tv_sec)*1000000.0;
+ 	fps = i/(ts.tv_nsec/1000.0+1000000.0*ts.tv_sec)*1000000.0;
+ 
+-	printf("Captured %u frames in %lu.%06lu seconds (%f fps, %f B/s).\n",
++	fprintf(stderr, "Captured %u frames in %lu.%06lu seconds (%f fps, %f B/s).\n",
+ 		i, ts.tv_sec, ts.tv_nsec/1000, fps, bps);
+ 
+ done:
+@@ -1188,37 +1207,38 @@ done:
+ 
+ static void usage(const char *argv0)
+ {
+-	printf("Usage: %s [options] device\n", argv0);
+-	printf("Supported options:\n");
+-	printf("-c, --capture[=nframes]		Capture frames\n");
+-	printf("-C, --check-overrun		Verify dequeued frames for buffer overrun\n");
+-	printf("-d, --delay			Delay (in ms) before requeuing buffers\n");
+-	printf("-f, --format format		Set the video format\n");
+-	printf("-F, --file[=name]		Read/write frames from/to disk\n");
+-	printf("\tFor video capture devices, the first '#' character in the file name is\n");
+-	printf("\texpanded to the frame sequence number. The default file name is\n");
+-	printf("\t'frame-#.bin'.\n");
+-	printf("-h, --help			Show this help screen\n");
+-	printf("-i, --input input		Select the video input\n");
+-	printf("-I, --fill-frames		Fill frames with check pattern before queuing them\n");
+-	printf("-l, --list-controls		List available controls\n");
+-	printf("-n, --nbufs n			Set the number of video buffers\n");
+-	printf("-p, --pause			Pause before starting the video stream\n");
+-	printf("-q, --quality n			MJPEG quality (0-100)\n");
+-	printf("-r, --get-control ctrl		Get control 'ctrl'\n");
+-	printf("-R, --realtime=[priority]	Enable realtime RR scheduling\n");
+-	printf("-s, --size WxH			Set the frame size\n");
+-	printf("-t, --time-per-frame num/denom	Set the time per frame (eg. 1/25 = 25 fps)\n");
+-	printf("-u, --userptr			Use the user pointers streaming method\n");
+-	printf("-w, --set-control 'ctrl value'	Set control 'ctrl' to 'value'\n");
+-	printf("    --enum-formats		Enumerate formats\n");
+-	printf("    --enum-inputs		Enumerate inputs\n");
+-	printf("    --no-query			Don't query capabilities on open\n");
+-	printf("    --offset			User pointer buffer offset from page start\n");
+-	printf("    --requeue-last		Requeue the last buffers before streamoff\n");
+-	printf("    --skip n			Skip the first n frames\n");
+-	printf("    --sleep-forever		Sleep forever after configuring the device\n");
+-	printf("    --stride value		Line stride in bytes\n");
++	fprintf(stderr, "Usage: %s [options] device\n", argv0);
++	fprintf(stderr, "Supported options:\n");
++	fprintf(stderr, "-c, --capture[=nframes]		Capture frames\n");
++	fprintf(stderr, "-C, --check-overrun		Verify dequeued frames for buffer overrun\n");
++	fprintf(stderr, "-d, --delay			Delay (in ms) before requeuing buffers\n");
++	fprintf(stderr, "-f, --format format		Set the video format\n");
++	fprintf(stderr, "-F, --file[=name]		Read/write frames from/to disk\n");
++	fprintf(stderr, "\tFor video capture devices, the first '#' character in the file name is\n");
++	fprintf(stderr, "\texpanded to the frame sequence number. The default file name is\n");
++	fprintf(stderr, "\t'frame-#.bin'.\n");
++	fprintf(stderr, "    --stdout			write frames to stdout\n");
++	fprintf(stderr, "-h, --help			Show this help screen\n");
++	fprintf(stderr, "-i, --input input		Select the video input\n");
++	fprintf(stderr, "-I, --fill-frames		Fill frames with check pattern before queuing them\n");
++	fprintf(stderr, "-l, --list-controls		List available controls\n");
++	fprintf(stderr, "-n, --nbufs n			Set the number of video buffers\n");
++	fprintf(stderr, "-p, --pause			Pause before starting the video stream\n");
++	fprintf(stderr, "-q, --quality n			MJPEG quality (0-100)\n");
++	fprintf(stderr, "-r, --get-control ctrl		Get control 'ctrl'\n");
++	fprintf(stderr, "-R, --realtime=[priority]	Enable realtime RR scheduling\n");
++	fprintf(stderr, "-s, --size WxH			Set the frame size\n");
++	fprintf(stderr, "-t, --time-per-frame num/denom	Set the time per frame (eg. 1/25 = 25 fps)\n");
++	fprintf(stderr, "-u, --userptr			Use the user pointers streaming method\n");
++	fprintf(stderr, "-w, --set-control 'ctrl value'	Set control 'ctrl' to 'value'\n");
++	fprintf(stderr, "    --enum-formats		Enumerate formats\n");
++	fprintf(stderr, "    --enum-inputs		Enumerate inputs\n");
++	fprintf(stderr, "    --no-query			Don't query capabilities on open\n");
++	fprintf(stderr, "    --offset			User pointer buffer offset from page start\n");
++	fprintf(stderr, "    --requeue-last		Requeue the last buffers before streamoff\n");
++	fprintf(stderr, "    --skip n			Skip the first n frames\n");
++	fprintf(stderr, "    --sleep-forever		Sleep forever after configuring the device\n");
++	fprintf(stderr, "    --stride value		Line stride in bytes\n");
+ }
+ 
+ #define OPT_ENUM_FORMATS	256
+@@ -1229,6 +1249,7 @@ static void usage(const char *argv0)
+ #define OPT_USERPTR_OFFSET	261
+ #define OPT_REQUEUE_LAST	262
+ #define OPT_STRIDE		263
++#define OPT_STDOUT		264
+ 
+ static struct option opts[] = {
+ 	{"capture", 2, 0, 'c'},
+@@ -1238,6 +1259,7 @@ static struct option opts[] = {
+ 	{"enum-inputs", 0, 0, OPT_ENUM_INPUTS},
+ 	{"file", 2, 0, 'F'},
+ 	{"fill-frames", 0, 0, 'I'},
++	{"stdout", 0, 0, OPT_STDOUT},
+ 	{"format", 1, 0, 'f'},
+ 	{"help", 0, 0, 'h'},
+ 	{"input", 1, 0, 'i'},
+@@ -1274,7 +1296,8 @@ int main(int argc, char *argv[])
+ 	int do_list_controls = 0, do_get_control = 0, do_set_control = 0;
+ 	int do_sleep_forever = 0, do_requeue_last = 0;
+ 	int do_rt = 0;
+-	int no_query = 0;
++	int no_query = 0; 
++	int do_stdout = 0;
+ 	char *endptr;
+ 	int c;
+ 
+@@ -1321,7 +1344,7 @@ int main(int argc, char *argv[])
+ 			do_set_format = 1;
+ 			pixelformat = v4l2_format_code(optarg);
+ 			if (pixelformat == 0) {
+-				printf("Unsupported video format '%s'\n", optarg);
++				fprintf(stderr, "Unsupported video format '%s'\n", optarg);
+ 				return 1;
+ 			}
+ 			break;
+@@ -1357,7 +1380,7 @@ int main(int argc, char *argv[])
+ 		case 'r':
+ 			ctrl_name = strtol(optarg, &endptr, 0);
+ 			if (*endptr != 0) {
+-				printf("Invalid control name '%s'\n", optarg);
++				fprintf(stderr, "Invalid control name '%s'\n", optarg);
+ 				return 1;
+ 			}
+ 			do_get_control = 1;
+@@ -1371,12 +1394,12 @@ int main(int argc, char *argv[])
+ 			do_set_format = 1;
+ 			width = strtol(optarg, &endptr, 10);
+ 			if (*endptr != 'x' || endptr == optarg) {
+-				printf("Invalid size '%s'\n", optarg);
++				fprintf(stderr, "Invalid size '%s'\n", optarg);
+ 				return 1;
+ 			}
+ 			height = strtol(endptr + 1, &endptr, 10);
+ 			if (*endptr != 0) {
+-				printf("Invalid size '%s'\n", optarg);
++				fprintf(stderr, "Invalid size '%s'\n", optarg);
+ 				return 1;
+ 			}
+ 			break;
+@@ -1384,12 +1407,12 @@ int main(int argc, char *argv[])
+ 			do_set_time_per_frame = 1;
+ 			time_per_frame.numerator = strtol(optarg, &endptr, 10);
+ 			if (*endptr != '/' || endptr == optarg) {
+-				printf("Invalid time per frame '%s'\n", optarg);
++				fprintf(stderr, "Invalid time per frame '%s'\n", optarg);
+ 				return 1;
+ 			}
+ 			time_per_frame.denominator = strtol(endptr + 1, &endptr, 10);
+ 			if (*endptr != 0) {
+-				printf("Invalid time per frame '%s'\n", optarg);
++				fprintf(stderr, "Invalid time per frame '%s'\n", optarg);
+ 				return 1;
+ 			}
+ 			break;
+@@ -1399,12 +1422,12 @@ int main(int argc, char *argv[])
+ 		case 'w':
+ 			ctrl_name = strtol(optarg, &endptr, 0);
+ 			if (*endptr != ' ' || endptr == optarg) {
+-				printf("Invalid control name '%s'\n", optarg);
++				fprintf(stderr, "Invalid control name '%s'\n", optarg);
+ 				return 1;
+ 			}
+ 			ctrl_value = strtol(endptr + 1, &endptr, 0);
+ 			if (*endptr != 0) {
+-				printf("Invalid control value '%s'\n", optarg);
++				fprintf(stderr, "Invalid control value '%s'\n", optarg);
+ 				return 1;
+ 			}
+ 			do_set_control = 1;
+@@ -1433,15 +1456,18 @@ int main(int argc, char *argv[])
+ 		case OPT_USERPTR_OFFSET:
+ 			userptr_offset = atoi(optarg);
+ 			break;
++		case OPT_STDOUT:
++			do_stdout = 1;
++			break;
+ 		default:
+-			printf("Invalid option -%c\n", c);
+-			printf("Run %s -h for help.\n", argv[0]);
++			fprintf(stderr, "Invalid option -%c\n", c);
++			fprintf(stderr, "Run %s -h for help.\n", argv[0]);
+ 			return 1;
+ 		}
+ 	}
+ 
+ 	if ((fill_mode & BUFFER_FILL_PADDING) && memtype != V4L2_MEMORY_USERPTR) {
+-		printf("Buffer overrun can only be checked in USERPTR mode.\n");
++		fprintf(stderr, "Buffer overrun can only be checked in USERPTR mode.\n");
+ 		return 1;
+ 	}
+ 
+@@ -1470,7 +1496,7 @@ int main(int argc, char *argv[])
+ 		ret = get_control(&dev, ctrl_name,
+ 				  get_control_type(&dev, ctrl_name), &val);
+ 		if (ret >= 0)
+-			printf("Control 0x%08x value %" PRId64 "\n", ctrl_name, val);
++			fprintf(stderr, "Control 0x%08x value %" PRId64 "\n", ctrl_name, val);
+ 	}
+ 
+ 	if (do_set_control)
+@@ -1481,21 +1507,21 @@ int main(int argc, char *argv[])
+ 		video_list_controls(&dev);
+ 
+ 	if (do_enum_formats) {
+-		printf("- Available formats:\n");
++		fprintf(stderr, "- Available formats:\n");
+ 		video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_CAPTURE);
+ 		video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_OUTPUT);
+ 		video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_OVERLAY);
+ 	}
+ 
+ 	if (do_enum_inputs) {
+-		printf("- Available inputs:\n");
++		fprintf(stderr, "- Available inputs:\n");
+ 		video_enum_inputs(&dev);
+ 	}
+ 
+ 	if (do_set_input) {
+ 		video_set_input(&dev, input);
+ 		ret = video_get_input(&dev);
+-		printf("Input %d selected\n", ret);
++		fprintf(stderr, "Input %d selected\n", ret);
+ 	}
+ 
+ 	/* Set the video format. */
+@@ -1537,7 +1563,7 @@ int main(int argc, char *argv[])
+ 	}
+ 
+ 	if (do_pause) {
+-		printf("Press enter to start capture\n");
++		fprintf(stderr, "Press enter to start capture\n");
+ 		getchar();
+ 	}
+ 
+@@ -1546,12 +1572,12 @@ int main(int argc, char *argv[])
+ 		sched.sched_priority = rt_priority;
+ 		ret = sched_setscheduler(0, SCHED_RR, &sched);
+ 		if (ret < 0)
+-			printf("Failed to select RR scheduler: %s (%d)\n",
++			fprintf(stderr, "Failed to select RR scheduler: %s (%d)\n",
+ 				strerror(errno), errno);
+ 	}
+ 
+ 	if (video_do_capture(&dev, nframes, skip, delay, filename,
+-			     do_requeue_last, fill_mode) < 0) {
++			     do_requeue_last, fill_mode, do_stdout) < 0) {
+ 		video_close(&dev);
+ 		return 1;
+ 	}
+-- 
+1.7.10
+
diff --git a/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb b/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb
index 054912d..d007bcb 100644
--- a/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb
+++ b/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb
@@ -2,11 +2,12 @@ DESCRIPTION = "Yet Another V4L2 Test Application"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
 
-SRC_URI = "git://git.ideasonboard.org/yavta.git;protocol=git"
+SRC_URI = "git://git.ideasonboard.org/yavta.git;protocol=git \
+           file://0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch"
 SRCREV = "82ff2efdb9787737b9f21b6f4759f077c827b238"
 
 PV = "0.0"
-PR = "r1"
+PR = "r2"
 S = "${WORKDIR}/git"
 
 do_install() {
-- 
1.7.10




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

* [for-denzil][meta-oe 20/24] cheese: add 2.30.1
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (17 preceding siblings ...)
  2012-07-13  9:12 ` [for-denzil][meta-oe 19/24] yavta: add patch to enable streaming to stdout Koen Kooi
@ 2012-07-13  9:12 ` Koen Kooi
  2012-07-13  9:12 ` [for-denzil][meta-oe 21/24] python-docutils: update to 0.9.1 Koen Kooi
                   ` (4 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:12 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, eric

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb |   14 ++++++++++++++
 1 file changed, 14 insertions(+)
 create mode 100644 meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb

diff --git a/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb b/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb
new file mode 100644
index 0000000..d6d61fd
--- /dev/null
+++ b/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Take photos and videos with your webcam, with fun graphical effects"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a17cb0a873d252440acfdf9b3d0e7fbf"
+
+DEPENDS = "gtk+ gstreamer gst-plugins-base libcanberra udev librsvg gnome-desktop eds-dbus"
+
+inherit gnome
+
+SRC_URI[archive.md5sum] = "1599fded8a1797ea51fb010af4e6c45b"
+SRC_URI[archive.sha256sum] = "48f03470c6f527caa0e3b269d3afcff86ae0939a74f66ce030d4eed3bc3cbd9a"
+
+FILES_${PN} += "${datadir}/dbus-1"
+RRECOMMENDS_${PN} = "gst-plugins-good-meta gst-plugins-base-meta"
+
-- 
1.7.10




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

* [for-denzil][meta-oe 21/24] python-docutils: update to 0.9.1
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (18 preceding siblings ...)
  2012-07-13  9:12 ` [for-denzil][meta-oe 20/24] cheese: add 2.30.1 Koen Kooi
@ 2012-07-13  9:12 ` Koen Kooi
  2012-07-13  9:12 ` [for-denzil][meta-oe 22/24] opencv, opencv-samples: add 2.4.2 Koen Kooi
                   ` (3 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:12 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, eric

This fixes the 'no module named Roman' errors. License checksum changed due to date changes

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 .../recipes-devtools/python/python-docutils_0.5.bb |   20 --------------------
 .../python/python-docutils_0.9.1.bb                |   18 ++++++++++++++++++
 2 files changed, 18 insertions(+), 20 deletions(-)
 delete mode 100644 meta-oe/recipes-devtools/python/python-docutils_0.5.bb
 create mode 100644 meta-oe/recipes-devtools/python/python-docutils_0.9.1.bb

diff --git a/meta-oe/recipes-devtools/python/python-docutils_0.5.bb b/meta-oe/recipes-devtools/python/python-docutils_0.5.bb
deleted file mode 100644
index adecd8f..0000000
--- a/meta-oe/recipes-devtools/python/python-docutils_0.5.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "Text processing system"
-HOMEPAGE = "http://docutils.sourceforge.net"
-SECTION = "devel/python"
-LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=ac6ee29ac0310c091afab5ac4bea2fa3"
-PR = "r1"
-
-DEPENDS = "python"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/docutils/docutils-${PV}.tar.gz"
-SRC_URI[md5sum] = "dd72dac92fc8e3eb0f48c3effeef80f6"
-SRC_URI[sha256sum] = "747cf984edfca0575addbb42453274a1bdd98ec7780bd37a883dc8b2a66a610e"
-
-S = "${WORKDIR}/docutils-${PV}"
-
-inherit distutils
-
-NATIVE_INSTALL_WORKS = "1"
-BBCLASSEXTEND = "native"
-
diff --git a/meta-oe/recipes-devtools/python/python-docutils_0.9.1.bb b/meta-oe/recipes-devtools/python/python-docutils_0.9.1.bb
new file mode 100644
index 0000000..44d08d3
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-docutils_0.9.1.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Text processing system"
+HOMEPAGE = "http://docutils.sourceforge.net"
+SECTION = "devel/python"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=21eae6cbbd42b24a4243269f39e5d592"
+
+DEPENDS = "python"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/docutils/docutils-${PV}.tar.gz"
+SRC_URI[md5sum] = "b0d5cd5298fedf9c62f5fd364a274d56"
+SRC_URI[sha256sum] = "e89f187dbbc6674f839239c89fec44af9f18809b66a8a55a41b57b9ee2356994"
+
+S = "${WORKDIR}/docutils-${PV}"
+
+inherit distutils
+
+BBCLASSEXTEND = "native"
+
-- 
1.7.10




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

* [for-denzil][meta-oe 22/24] opencv, opencv-samples: add 2.4.2
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (19 preceding siblings ...)
  2012-07-13  9:12 ` [for-denzil][meta-oe 21/24] python-docutils: update to 0.9.1 Koen Kooi
@ 2012-07-13  9:12 ` Koen Kooi
  2012-07-13  9:12 ` [for-denzil][meta-oe 23/24] opencv, opencv-samples: drop 2.3.1 Koen Kooi
                   ` (2 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:12 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, eric

Libav is easier to get right than gstreamer, so switch back. Also enable libv4l for better v4l(2) support

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 .../0001-Fix-CMakeLists.txt-numpy-detection.patch  |   36 +++++++++
 .../recipes-support/opencv/opencv-samples_2.4.bb   |   42 +++++++++++
 meta-oe/recipes-support/opencv/opencv_2.4.bb       |   77 ++++++++++++++++++++
 3 files changed, 155 insertions(+)
 create mode 100644 meta-oe/recipes-support/opencv/opencv-2.4.2/0001-Fix-CMakeLists.txt-numpy-detection.patch
 create mode 100644 meta-oe/recipes-support/opencv/opencv-samples_2.4.bb
 create mode 100644 meta-oe/recipes-support/opencv/opencv_2.4.bb

diff --git a/meta-oe/recipes-support/opencv/opencv-2.4.2/0001-Fix-CMakeLists.txt-numpy-detection.patch b/meta-oe/recipes-support/opencv/opencv-2.4.2/0001-Fix-CMakeLists.txt-numpy-detection.patch
new file mode 100644
index 0000000..43f03d3
--- /dev/null
+++ b/meta-oe/recipes-support/opencv/opencv-2.4.2/0001-Fix-CMakeLists.txt-numpy-detection.patch
@@ -0,0 +1,36 @@
+From 965616bdc73247448b8f07572a9a479235dd092d Mon Sep 17 00:00:00 2001
+From: Connor Abbott <cwabbott0@gmail.com>
+Date: Wed, 11 Jul 2012 13:55:38 +0200
+Subject: [PATCH] Fix CMakeLists.txt numpy detection
+
+Right now, the code opencv uses to detect where the numpy include files are doesn't work with cross-compiling because it uses the native python to determine the environment. To make this a little better, allow the user to explictly specify the path using -DPYTHON_NUMPY_INCLUDE_DIRS=path/to/numpy/include/dir .
+
+Signed-off-by: Connor Abbott <cwabbott0@gmail.com>
+---
+ cmake/OpenCVDetectPython.cmake |    8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/OpenCVDetectPython.cmake b/cmake/OpenCVDetectPython.cmake
+index 8be94ca..5825a04 100644
+--- a/cmake/OpenCVDetectPython.cmake
++++ b/cmake/OpenCVDetectPython.cmake
+@@ -74,10 +74,14 @@ if(PYTHON_EXECUTABLE)
+ 
+     if(NOT PYTHON_NUMPY_INCLUDE_DIR)
+       # Attempt to discover the NumPy include directory. If this succeeds, then build python API with NumPy
+-      execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import os; os.environ['DISTUTILS_USE_SDK']='1'; import numpy.distutils; print numpy.distutils.misc_util.get_numpy_include_dirs()[0]"
++      if(NOT DEFINED PYTHON_NUMPY_INCLUDE_DIRS)
++          execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import os; os.environ['DISTUTILS_USE_SDK']='1'; import numpy.distutils; print numpy.distutils.misc_util.get_numpy_include_dirs()[0]"
+                       RESULT_VARIABLE PYTHON_NUMPY_PROCESS
+-                      OUTPUT_VARIABLE PYTHON_NUMPY_INCLUDE_DIR
++                      OUTPUT_VARIABLE PYTHON_NUMPY_INCLUDE_DIRS
+                       OUTPUT_STRIP_TRAILING_WHITESPACE)
++      else()
++          set(PYTHON_NUMPY_PROCESS 0)
++      endif()
+                       
+       if(PYTHON_NUMPY_PROCESS EQUAL 0)
+         file(TO_CMAKE_PATH "${PYTHON_NUMPY_INCLUDE_DIR}" _PYTHON_NUMPY_INCLUDE_DIR)
+-- 
+1.7.10
+
diff --git a/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb b/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb
new file mode 100644
index 0000000..90f7536
--- /dev/null
+++ b/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb
@@ -0,0 +1,42 @@
+DESCRIPTION = "Opencv : The Open Computer Vision Library"
+HOMEPAGE = "http://opencv.willowgarage.com/wiki/"
+SECTION = "libs"
+LICENSE = "BSD"
+
+DEPENDS = "opencv"
+
+LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14 \
+"
+
+SRC_URI = "svn://code.opencv.org/svn/opencv/branches/2.4;module=opencv;proto=http \
+          "
+
+SRCREV = "8988"
+
+PV = "2.4.2"
+
+S = "${WORKDIR}/opencv"
+
+do_install() {
+    cd samples/c
+	install -d ${D}/${bindir}
+	install -d ${D}/${datadir}/opencv/samples
+
+	cp * ${D}/${datadir}/opencv/samples || true
+
+    for i in *.c; do
+        echo "compiling $i"
+        ${CXX} ${CFLAGS} ${LDFLAGS} -ggdb `pkg-config --cflags opencv` -o `basename $i .c` $i `pkg-config --libs opencv` || true
+		install -m 0755 `basename $i .c` ${D}/${bindir} || true
+		rm ${D}/${datadir}/opencv/samples/`basename $i .c` || true
+	done
+    for i in *.cpp; do
+        echo "compiling $i"
+        ${CXX} ${CFLAGS} ${LDFLAGS} -ggdb `pkg-config --cflags opencv` -o `basename $i .cpp` $i `pkg-config --libs opencv` || true
+		install -m 0755 `basename $i .cpp` ${D}/${bindir} || true
+		rm ${D}/${datadir}/opencv/samples/`basename $i .cpp` || true
+	done
+}
+
+FILES_${PN}-dev += "${datadir}/opencv/samples/*.c* ${datadir}/opencv/samples/*.vcp* ${datadir}/opencv/samples/build*" 
+FILES_${PN} += "${bindir} ${datadir}/opencv"
diff --git a/meta-oe/recipes-support/opencv/opencv_2.4.bb b/meta-oe/recipes-support/opencv/opencv_2.4.bb
new file mode 100644
index 0000000..e56eacd
--- /dev/null
+++ b/meta-oe/recipes-support/opencv/opencv_2.4.bb
@@ -0,0 +1,77 @@
+DESCRIPTION = "Opencv : The Open Computer Vision Library"
+HOMEPAGE = "http://opencv.willowgarage.com/wiki/"
+SECTION = "libs"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14"
+
+ARM_INSTRUCTION_SET = "arm"
+
+DEPENDS = "python-numpy v4l-utils libav gtk+ libtool swig swig-native python jpeg bzip2 zlib libpng tiff glib-2.0"
+
+SRC_URI = "svn://code.opencv.org/svn/opencv/branches/2.4;module=opencv;proto=http \
+           file://0001-Fix-CMakeLists.txt-numpy-detection.patch \
+          "
+
+SRCREV = "8988"
+
+PV = "2.4.2"
+
+S = "${WORKDIR}/opencv"
+
+EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIRS=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include \
+                 -DBUILD_PYTHON_SUPPORT=ON \
+                 -DWITH_FFMPEG=ON \
+                 -DWITH_GSTREAMER=OFF \
+                 -DWITH_V4L=ON \
+                 -DWITH_GTK=ON \
+                "
+
+inherit distutils-base pkgconfig cmake
+
+export BUILD_SYS
+export HOST_SYS
+export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
+export PYTHON="${STAGING_BINDIR_NATIVE}/python"
+
+TARGET_CC_ARCH += "-I${S}/include "
+
+PACKAGES += "${PN}-apps python-opencv"
+
+python populate_packages_prepend () {
+	cv_libdir = bb.data.expand('${libdir}', d)
+	cv_libdir_dbg = bb.data.expand('${libdir}/.debug', d)
+	do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
+	do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+	do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+	do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
+
+	pn = bb.data.getVar('PN', d, 1)
+	metapkg =  pn + '-dev'
+	bb.data.setVar('ALLOW_EMPTY_' + metapkg, "1", d)
+	blacklist = [ metapkg ]
+	metapkg_rdepends = [ ] 
+	packages = bb.data.getVar('PACKAGES', d, 1).split()
+	for pkg in packages[1:]:
+		if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
+			metapkg_rdepends.append(pkg)
+	bb.data.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends), d)
+}
+
+FILES_${PN} = ""
+FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
+FILES_${PN}-dbg += "${libdir}/.debug"
+FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig"
+FILES_${PN}-doc = "${datadir}/OpenCV/doc"
+
+ALLOW_EMPTY_${PN} = "1"
+
+INSANE_SKIP_python-opencv = "True"
+DESCRIPTION_python-opencv = "Python bindings to opencv"
+FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS_python-opencv = "python-core python-numpy"
+
+do_install_append() {
+	cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/
+	sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h
+}
-- 
1.7.10




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

* [for-denzil][meta-oe 23/24] opencv, opencv-samples: drop 2.3.1
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (20 preceding siblings ...)
  2012-07-13  9:12 ` [for-denzil][meta-oe 22/24] opencv, opencv-samples: add 2.4.2 Koen Kooi
@ 2012-07-13  9:12 ` Koen Kooi
  2012-07-13  9:12 ` [for-denzil][meta-oe 24/24] ntp: unbreak fetching of ntp-ssl Koen Kooi
  2012-07-13 13:27 ` [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Eric Bénard
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:12 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, eric

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 .../recipes-support/opencv/opencv-samples_2.3.bb   |   42 -----------
 .../0001-Fix-CMakeLists.txt-numpy-detection.patch  |   37 ----------
 meta-oe/recipes-support/opencv/opencv_2.3.bb       |   76 --------------------
 3 files changed, 155 deletions(-)
 delete mode 100644 meta-oe/recipes-support/opencv/opencv-samples_2.3.bb
 delete mode 100644 meta-oe/recipes-support/opencv/opencv/0001-Fix-CMakeLists.txt-numpy-detection.patch
 delete mode 100644 meta-oe/recipes-support/opencv/opencv_2.3.bb

diff --git a/meta-oe/recipes-support/opencv/opencv-samples_2.3.bb b/meta-oe/recipes-support/opencv/opencv-samples_2.3.bb
deleted file mode 100644
index 89bbc01..0000000
--- a/meta-oe/recipes-support/opencv/opencv-samples_2.3.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-DESCRIPTION = "Opencv : The Open Computer Vision Library"
-HOMEPAGE = "http://opencv.willowgarage.com/wiki/"
-SECTION = "libs"
-LICENSE = "BSD"
-
-DEPENDS = "opencv"
-
-LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14 \
-"
-
-SRC_URI = "svn://code.ros.org/svn/opencv/tags/2.3.1;module=opencv;proto=https \
-"
-
-SRCREV = "7198"
-PV = "2.3.1"
-PR = "r2"
-
-S = "${WORKDIR}/opencv"
-
-do_install() {
-    cd samples/c
-	install -d ${D}/${bindir}
-	install -d ${D}/${datadir}/opencv/samples
-
-	cp * ${D}/${datadir}/opencv/samples || true
-
-    for i in *.c; do
-        echo "compiling $i"
-        ${CXX} ${CFLAGS} ${LDFLAGS} -ggdb `pkg-config --cflags opencv` -o `basename $i .c` $i `pkg-config --libs opencv` || true
-		install -m 0755 `basename $i .c` ${D}/${bindir} || true
-		rm ${D}/${datadir}/opencv/samples/`basename $i .c` || true
-	done
-    for i in *.cpp; do
-        echo "compiling $i"
-        ${CXX} ${CFLAGS} ${LDFLAGS} -ggdb `pkg-config --cflags opencv` -o `basename $i .cpp` $i `pkg-config --libs opencv` || true
-		install -m 0755 `basename $i .cpp` ${D}/${bindir} || true
-		rm ${D}/${datadir}/opencv/samples/`basename $i .cpp` || true
-	done
-}
-
-FILES_${PN}-dev += "${datadir}/opencv/samples/*.c* ${datadir}/opencv/samples/*.vcp* ${datadir}/opencv/samples/build*" 
-FILES_${PN} += "${bindir} ${datadir}/opencv"
diff --git a/meta-oe/recipes-support/opencv/opencv/0001-Fix-CMakeLists.txt-numpy-detection.patch b/meta-oe/recipes-support/opencv/opencv/0001-Fix-CMakeLists.txt-numpy-detection.patch
deleted file mode 100644
index dba00f8..0000000
--- a/meta-oe/recipes-support/opencv/opencv/0001-Fix-CMakeLists.txt-numpy-detection.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From a7301911a3cdf9196abd93ff894a9e86e0bcdc5e Mon Sep 17 00:00:00 2001
-From: Connor Abbott <cwabbott0@gmail.com>
-Date: Sun, 30 Oct 2011 20:00:03 -0400
-Subject: [PATCH] Fix CMakeLists.txt numpy detection
-
-Right now, the code opencv uses to detect where the numpy include files are doesn't work with cross-compiling because it uses the native python to determine the environment. To make this a little better, allow the user to explictly specify the path using -DPYTHON_NUMPY_INCLUDE_DIRS=path/to/numpy/include/dir .
-Signed-off-by: Connor Abbott <cwabbott0@gmail.com>
----
- CMakeLists.txt |   12 ++++++++----
- 1 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index ff8f20c..8edbd78 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -715,10 +715,14 @@ IF ("${PYTHON_VERSION_MAJOR_MINOR}" VERSION_GREATER 2.4)
- ENDIF()
- 
- # Attempt to discover the NumPy include directory. If this succeeds, then build python API with NumPy
--execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import os; os.environ['DISTUTILS_USE_SDK']='1'; import numpy.distutils; print numpy.distutils.misc_util.get_numpy_include_dirs()[0]"
--            RESULT_VARIABLE PYTHON_NUMPY_PROCESS
--            OUTPUT_VARIABLE PYTHON_NUMPY_INCLUDE_DIRS
--            OUTPUT_STRIP_TRAILING_WHITESPACE)
-+if(NOT DEFINED PYTHON_NUMPY_INCLUDE_DIRS)
-+    execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import os; os.environ['DISTUTILS_USE_SDK']='1'; import numpy.distutils; print numpy.distutils.misc_util.get_numpy_include_dirs()[0]"
-+                RESULT_VARIABLE PYTHON_NUMPY_PROCESS
-+                OUTPUT_VARIABLE PYTHON_NUMPY_INCLUDE_DIRS
-+                OUTPUT_STRIP_TRAILING_WHITESPACE)
-+else()
-+    set(PYTHON_NUMPY_PROCESS 0)
-+endif()
- 
- if(PYTHON_NUMPY_PROCESS EQUAL 0)
-     set(PYTHON_USE_NUMPY 1)
--- 
-1.7.4.1
-
diff --git a/meta-oe/recipes-support/opencv/opencv_2.3.bb b/meta-oe/recipes-support/opencv/opencv_2.3.bb
deleted file mode 100644
index 0534c27..0000000
--- a/meta-oe/recipes-support/opencv/opencv_2.3.bb
+++ /dev/null
@@ -1,76 +0,0 @@
-DESCRIPTION = "Opencv : The Open Computer Vision Library"
-HOMEPAGE = "http://opencv.willowgarage.com/wiki/"
-SECTION = "libs"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14"
-
-ARM_INSTRUCTION_SET = "arm"
-
-DEPENDS = "python-numpy gstreamer gtk+ libtool swig swig-native python jpeg bzip2 zlib libpng tiff glib-2.0"
-
-SRC_URI = "svn://code.ros.org/svn/opencv/tags/2.3.1;module=opencv;proto=https \
-           file://opencv/0001-Fix-CMakeLists.txt-numpy-detection.patch \
-          "
-
-SRCREV = "7198"
-
-PV = "2.3.1"
-PR = "r3"
-
-S = "${WORKDIR}/opencv"
-
-EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIRS=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include \
-                 -DBUILD_PYTHON_SUPPORT=ON \
-                 -DWITH_FFMPEG=OFF \
-                 -DWITH_GSTREAMER=ON \
-                "
-
-inherit distutils-base pkgconfig cmake
-
-export BUILD_SYS
-export HOST_SYS
-export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
-export PYTHON="${STAGING_BINDIR_NATIVE}/python"
-
-TARGET_CC_ARCH += "-I${S}/include "
-
-PACKAGES += "${PN}-apps python-opencv"
-
-python populate_packages_prepend () {
-	cv_libdir = bb.data.expand('${libdir}', d)
-	cv_libdir_dbg = bb.data.expand('${libdir}/.debug', d)
-	do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
-	do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
-	do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
-	do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
-
-	pn = bb.data.getVar('PN', d, 1)
-	metapkg =  pn + '-dev'
-	bb.data.setVar('ALLOW_EMPTY_' + metapkg, "1", d)
-	blacklist = [ metapkg ]
-	metapkg_rdepends = [ ] 
-	packages = bb.data.getVar('PACKAGES', d, 1).split()
-	for pkg in packages[1:]:
-		if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
-			metapkg_rdepends.append(pkg)
-	bb.data.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends), d)
-}
-
-FILES_${PN} = ""
-FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
-FILES_${PN}-dbg += "${libdir}/.debug"
-FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig"
-FILES_${PN}-doc = "${datadir}/OpenCV/doc"
-
-ALLOW_EMPTY_${PN} = "1"
-
-INSANE_SKIP_python-opencv = "True"
-DESCRIPTION_python-opencv = "Python bindings to opencv"
-FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python-opencv = "python-core python-numpy"
-
-do_install_append() {
-	cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/
-	sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h
-}
-- 
1.7.10




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

* [for-denzil][meta-oe 24/24] ntp: unbreak fetching of ntp-ssl
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (21 preceding siblings ...)
  2012-07-13  9:12 ` [for-denzil][meta-oe 23/24] opencv, opencv-samples: drop 2.3.1 Koen Kooi
@ 2012-07-13  9:12 ` Koen Kooi
  2012-07-13 13:27 ` [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Eric Bénard
  23 siblings, 0 replies; 25+ messages in thread
From: Koen Kooi @ 2012-07-13  9:12 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Koen Kooi, eric

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta-oe/recipes-support/ntp/ntp_4.2.6p3.bb |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-oe/recipes-support/ntp/ntp_4.2.6p3.bb b/meta-oe/recipes-support/ntp/ntp_4.2.6p3.bb
index ece8720..a3d719e 100644
--- a/meta-oe/recipes-support/ntp/ntp_4.2.6p3.bb
+++ b/meta-oe/recipes-support/ntp/ntp_4.2.6p3.bb
@@ -7,7 +7,7 @@ inherit systemd
 SYSTEMD_PACKAGES = "${PN}-systemd"
 SYSTEMD_SERVICE_${PN}-systemd = "ntpd.service"
 
-SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/${P}.tar.gz \
+SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.gz \
         file://tickadj.c.patch \
         file://ntp-4.2.4_p6-nano.patch \
         file://ntpd \
-- 
1.7.10




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

* Re: [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7
  2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
                   ` (22 preceding siblings ...)
  2012-07-13  9:12 ` [for-denzil][meta-oe 24/24] ntp: unbreak fetching of ntp-ssl Koen Kooi
@ 2012-07-13 13:27 ` Eric Bénard
  23 siblings, 0 replies; 25+ messages in thread
From: Eric Bénard @ 2012-07-13 13:27 UTC (permalink / raw)
  To: Koen Kooi; +Cc: openembedded-devel

Hi Koen,

the whole serie was pushed to denzil-next, passed a parsing test on one
of my configuration (which is not using any of these recipes) and was
pushed to denzil.

Thanks !
Eric



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

end of thread, other threads:[~2012-07-13 13:38 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-13  9:11 [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Koen Kooi
2012-07-13  9:11 ` [for-denzil][meta-oe 02/24] nodejs: update to 0.6.17 Koen Kooi
2012-07-13  9:11 ` [for-denzil][meta-oe 03/24] cloud9: add patch to make it use nodejs 0.6.x for executing scripts Koen Kooi
2012-07-13  9:11 ` [for-denzil][meta-oe 04/24] fb-test: add latest git version Koen Kooi
2012-07-13  9:11 ` [for-denzil][meta-oe 05/24] nodejs: update to 0.6.18 and fix hardfloat detection Koen Kooi
2012-07-13  9:11 ` [for-denzil][meta-oe 06/24] nodejs 0.6.18: fix patch name Koen Kooi
2012-07-13  9:11 ` [for-denzil][meta-oe 07/24] bootchart: update to v1.16 Koen Kooi
2012-07-13  9:11 ` [for-denzil][meta-oe 08/24] libidl: Update LICENSE to contain actual version Koen Kooi
2012-07-13  9:11 ` [for-denzil][meta-oe 09/24] python-numpy: Fixed numpy dependencies Koen Kooi
2012-07-13  9:11 ` [for-denzil][meta-oe 10/24] owfs: update to 2.8p15 Koen Kooi
2012-07-13  9:11 ` [for-denzil][meta-oe 11/24] owfs: enable/disable modules to make build predicable Koen Kooi
2012-07-13  9:11 ` [for-denzil][meta-oe 12/24] gateone: update to 1.1 Koen Kooi
2012-07-13  9:11 ` [for-denzil][meta-oe 13/24] gateone: add config file Koen Kooi
2012-07-13  9:12 ` [for-denzil][meta-oe 14/24] python-numpy : Correct difflib dependency Koen Kooi
2012-07-13  9:12 ` [for-denzil][meta-oe 15/24] kernel.bbclass: pass KERNEL_VERSION to depmod calls in postinst Koen Kooi
2012-07-13  9:12 ` [for-denzil][meta-oe 16/24] libjpeg-turbo: update 1.2.1 / use version 8d to follow oe-core libjpeg update Koen Kooi
2012-07-13  9:12 ` [for-denzil][meta-oe 17/24] edje: explicitly enable libsndfile for target recipe Koen Kooi
2012-07-13  9:12 ` [for-denzil][meta-oe 18/24] libjpeg-turbo: add LEAD_SONAME to fix upgrade to 8d Koen Kooi
2012-07-13  9:12 ` [for-denzil][meta-oe 19/24] yavta: add patch to enable streaming to stdout Koen Kooi
2012-07-13  9:12 ` [for-denzil][meta-oe 20/24] cheese: add 2.30.1 Koen Kooi
2012-07-13  9:12 ` [for-denzil][meta-oe 21/24] python-docutils: update to 0.9.1 Koen Kooi
2012-07-13  9:12 ` [for-denzil][meta-oe 22/24] opencv, opencv-samples: add 2.4.2 Koen Kooi
2012-07-13  9:12 ` [for-denzil][meta-oe 23/24] opencv, opencv-samples: drop 2.3.1 Koen Kooi
2012-07-13  9:12 ` [for-denzil][meta-oe 24/24] ntp: unbreak fetching of ntp-ssl Koen Kooi
2012-07-13 13:27 ` [for-denzil][meta-oe 01/24] rrdtool: add 1.4.7 Eric Bénard

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.