From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mediacenter.hi.pengutronix.de ([2001:6f8:1178:2::65]) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1RiNPI-0007WE-2p for ptxdist@pengutronix.de; Wed, 04 Jan 2012 10:45:16 +0100 Received: from mol by mediacenter.hi.pengutronix.de with local (Exim 4.72) (envelope-from ) id 1RiNPI-00077H-1f for ptxdist@pengutronix.de; Wed, 04 Jan 2012 10:45:16 +0100 Date: Wed, 4 Jan 2012 10:45:16 +0100 From: Michael Olbrich Message-ID: <20120104094516.GC21393@pengutronix.de> References: <201112251855.41806.jbe@pengutronix.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <201112251855.41806.jbe@pengutronix.de> Subject: Re: [ptxdist] [PATCH] Add 'libpipeline' Reply-To: ptxdist@pengutronix.de List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: ptxdist-bounces@pengutronix.de Errors-To: ptxdist-bounces@pengutronix.de To: ptxdist@pengutronix.de On Sun, Dec 25, 2011 at 06:55:41PM +0100, Juergen Beisert wrote: > >From its README: > libpipeline is a C library for setting up and running pipelines of processes, > without needing to involve shell command-line parsing which is often > error-prone and insecure. This alleviates programmers of the need to > laboriously construct pipelines using lower-level primitives such as fork and > execve. > > Signed-off-by: Juergen Beisert > > diff --git a/rules/libpipeline.in b/rules/libpipeline.in > new file mode 100644 > index 0000000..03abcdb > --- /dev/null > +++ b/rules/libpipeline.in > @@ -0,0 +1,20 @@ > +## SECTION=system_libraries > + > +menuconfig LIBPIPELINE > + tristate > + prompt "libpipeline " > + help > + libpipeline is a C library for setting up and running pipelines of > + processes, without needing to involve shell command-line parsing which > + is often error-prone and insecure. This alleviates programmers of the > + need to laboriously construct pipelines using lower-level primitives > + such as fork and execve. > + > +if LIBPIPELINE > +config LIBPIPELINE_SOCKETPAIR > + bool > + prompt "Use socketpair" > + help > + Use socketpair(2) as fast replacement for pipe(2) > + > +endif > diff --git a/rules/libpipeline.make b/rules/libpipeline.make > new file mode 100644 > index 0000000..4228de9 > --- /dev/null > +++ b/rules/libpipeline.make > @@ -0,0 +1,75 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2011 by Juergen Beisert > +# > +# See CREDITS for details about who has contributed to this project. > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +# > +# We provide this package > +# > +PACKAGES-$(PTXCONF_LIBPIPELINE) += libpipeline > + > +# > +# Paths and names > +# > +LIBPIPELINE_VERSION := 1.2.0 > +LIBPIPELINE_MD5 := dd3a987a0d2b594716baee2f73d61ae3 > +LIBPIPELINE := libpipeline-$(LIBPIPELINE_VERSION) > +LIBPIPELINE_SUFFIX := tar.gz > +LIBPIPELINE_URL := http://download.savannah.gnu.org/releases/libpipeline/$(LIBPIPELINE).$(LIBPIPELINE_SUFFIX) > +LIBPIPELINE_SOURCE := $(SRCDIR)/$(LIBPIPELINE).$(LIBPIPELINE_SUFFIX) > +LIBPIPELINE_DIR := $(BUILDDIR)/$(LIBPIPELINE) > +LIBPIPELINE_LICENSE := GPLv3 > + > +# ---------------------------------------------------------------------------- > +# Prepare > +# ---------------------------------------------------------------------------- > + > +# > +# autoconf > +# > +LIBPIPELINE_CONF_ENV := $(CROSS_ENV) > +LIBPIPELINE_CONF_TOOL := autoconf > +LIBPIPELINE_CONF_OPT := break $(CROSS_AUTOCONF_USR) \ > + --enable-silent-rules \ > + --disable-dependency-tracking \ Don't do this. It's not worth much and the prossible errors are hard to track. > + --disable-static \ > + --enable-shared \ > + --enable-fast-install \ > + --enable-threads=posix \ > + --disable-rpath > + > +ifdef PTXCONF_LIBPIPELINE_SOCKETPAIR > +LIBPIPELINE_CONF_OPT += --enable-socketpair-pipe > +# we know it works on our system > +# (but 'configure' cannot check it due to cross compiling) > +LIBPIPELINE_CONF_ENV += pipeline_cv_socketpair_pipe=yes \ > + pipeline_cv_socketpair_mode=yes > +else > +LIBPIPELINE_CONF_OPT += --disable-socketpair-pipe > +endif the cache variables are only checked for --enable-..., right? So always define them and use --$(call ptx/endis, PTXCONF_LIBPIPELINE_SOCKETPAIR)-socketpair-pipe Michael > + > +# ---------------------------------------------------------------------------- > +# Target-Install > +# ---------------------------------------------------------------------------- > + > +$(STATEDIR)/libpipeline.targetinstall: > + @$(call targetinfo) > + > + @$(call install_init, libpipeline) > + @$(call install_fixup, libpipeline,PRIORITY,optional) > + @$(call install_fixup, libpipeline,SECTION,base) > + @$(call install_fixup, libpipeline,AUTHOR,"Juergen Beisert ") > + @$(call install_fixup, libpipeline,DESCRIPTION,"pipeline manipulation library") > + > + @$(call install_lib, libpipeline, 0, 0, 0644, libpipeline) > + > + @$(call install_finish, libpipeline) > + > + @$(call touch) > + > +# vim: syntax=make > > -- > Pengutronix e.K. | Juergen Beisert | > Linux Solutions for Science and Industry | http://www.pengutronix.de/ | > > -- > ptxdist mailing list > ptxdist@pengutronix.de > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- ptxdist mailing list ptxdist@pengutronix.de