All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH V2 3/4] c-icap: new package
Date: Sun, 16 Nov 2014 22:48:01 +0100	[thread overview]
Message-ID: <20141116224801.66ed8a0d@free-electrons.com> (raw)
In-Reply-To: <1415808993-2394-4-git-send-email-guillaume.gardet@oliseo.fr>

Dear Guillaume GARDET,

On Wed, 12 Nov 2014 17:16:32 +0100, Guillaume GARDET wrote:
> Signed-off-by: Guillaume GARDET <guillaume.gardet@oliseo.fr>
> 
> ---
>  package/Config.in        |  1 +
>  package/c-icap/Config.in | 10 ++++++++++
>  package/c-icap/c-icap.mk | 27 +++++++++++++++++++++++++++
>  3 files changed, 38 insertions(+)
>  create mode 100644 package/c-icap/Config.in
>  create mode 100644 package/c-icap/c-icap.mk
> 
> diff --git a/package/Config.in b/package/Config.in
> index 28cf703..fe0af07 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -983,6 +983,7 @@ menu "Networking applications"
>  	source "package/boa/Config.in"
>  	source "package/bridge-utils/Config.in"
>  	source "package/bwm-ng/Config.in"
> +	source "package/c-icap/Config.in"
>  	source "package/can-utils/Config.in"
>  	source "package/chrony/Config.in"
>  	source "package/civetweb/Config.in"
> diff --git a/package/c-icap/Config.in b/package/c-icap/Config.in
> new file mode 100644
> index 0000000..e8ac241
> --- /dev/null
> +++ b/package/c-icap/Config.in
> @@ -0,0 +1,10 @@
> +config BR2_PACKAGE_C_ICAP
> +	bool "c-icap"

A quick look at the source seems to indicate that this package uses
thread support, so you should depend on BR2_TOOLCHAIN_HAS_THREADS, and
add the corresponding comment (see other packages for examples).

> +	help
> +	  c-icap is an implementation of an ICAP server. It can be used with 
> +	  HTTP proxies that support the ICAP protocol to implement content 
> +	  adaptation and filtering services.
> +	  Most of the commercial HTTP proxies must support the ICAP protocol.
> +	  The open source Squid 3.x proxy server supports it.
> +
> +	  http://c-icap.sourceforge.net/
> diff --git a/package/c-icap/c-icap.mk b/package/c-icap/c-icap.mk
> new file mode 100644
> index 0000000..8f93638
> --- /dev/null
> +++ b/package/c-icap/c-icap.mk
> @@ -0,0 +1,27 @@
> +################################################################################
> +#
> +# c-icap
> +#
> +################################################################################
> +
> +C_ICAP_VERSION = 0.3.5
> +C_ICAP_SOURCE = c_icap-$(C_ICAP_VERSION).tar.gz
> +C_ICAP_SITE = http://downloads.sourceforge.net/c-icap/
> +C_ICAP_LICENSE = LGPLv2.1+
> +C_ICAP_LICENSE_FILES = COPYING
> +C_ICAP_INSTALL_STAGING = YES
> +C_ICAP_CONF_OPTS = --sysconfdir=/etc --with-process-mutexes=posix

--sysconfdir=/etc is not needed, it is already passed by the
autotools-package infrastructure to all target packages.

> +ifeq ($(BR2_LARGEFILE),y)
> +C_ICAP_CONF_OPTS += --enable-large-files
> +else
> +C_ICAP_CONF_OPTS += --disable-large-files
> +endif
> +
> +define C_ICAP_INSTALL_TARGET_CONFIGS
> +	mkdir -p $(TARGET_DIR)/var/run/c-icap/
> +	mkdir -p $(TARGET_DIR)/tmp/c-icap/
> +endef

Like your change for squid, I don't think this makes sense because /tmp
is mounted as a tmpfs, and /var/run is a symlink to /tmp.

You also probably want:

ifeq ($(BR2_INET_IPV6),y)
C_ICAP_CONF_OPTS += --enable-ipv6
else
C_ICAP_CONF_OPTS += --disable-ipv6
endif

Probably also --without-perl, unless perl is a mandatory dependency.

Also, looking at configure.in, it needs the libdl library, so you'll
need to depend on !BR2_PREFER_STATIC_LIB in Config.in.

It also has some optional dependencies on zlib, bzip2, berkeleydb and
ldap.

For the first three, you can to handle the optional dependencies, by
doing something like:

ifeq ($(BR2_PACKAGE_ZLIB),y)
C_ICAP_CONF_OPTS += --with-zlib
C_ICAP_DEPENDENCIES += zlib
else
C_ICAP_CONF_OPTS += --without-zlib
endif

For the last one, since we don't have a LDAP package in Buildroot,
simply pass --without-ldap in C_ICAP_CONF_OPTS.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

  reply	other threads:[~2014-11-16 21:48 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-18  9:27 [Buildroot] [PATCH 0/3] Add ICAP server support Guillaume GARDET
2014-09-18  9:27 ` [Buildroot] [PATCH 1/3] package/squid: enable ICAP server support in squid and define logdir, pidfile and swapdir Guillaume GARDET
2014-10-05 21:52   ` Thomas Petazzoni
2014-10-08 20:03     ` Guillaume GARDET - Oliséo
2014-10-08 20:18       ` Thomas Petazzoni
2014-10-08 20:24         ` Gustavo Zacarias
2014-10-16  9:52           ` Guillaume GARDET - Oliséo
2014-10-16 10:02             ` Thomas Petazzoni
2014-09-18  9:27 ` [Buildroot] [PATCH 2/3] New package: c-icap c-icap is an implementation of an ICAP server. Squid 3.x proxy server supports it Guillaume GARDET
2014-10-05 21:56   ` Thomas Petazzoni
2014-09-18  9:27 ` [Buildroot] [PATCH 3/3] New package: c-icap-modules Additionals modules for c-icap server Guillaume GARDET
2014-10-05 22:01   ` Thomas Petazzoni
2014-09-26 11:58 ` [Buildroot] [PATCH 0/3] Add ICAP server support Guillaume GARDET - Oliséo
2014-11-12 16:16 ` [Buildroot] [PATCH V2 0/4] " Guillaume GARDET
2014-11-12 16:16   ` [Buildroot] [PATCH V2 1/4] package/squid: define the log directory, pidfile and swapdir Guillaume GARDET
2014-11-12 16:16   ` [Buildroot] [PATCH V2 2/4] package/squid: enable ICAP server support in squid Guillaume GARDET
2014-11-16 21:38     ` Thomas Petazzoni
2014-11-18 12:47       ` Guillaume GARDET - Oliséo
2014-11-18 13:04         ` Thomas Petazzoni
2014-11-12 16:16   ` [Buildroot] [PATCH V2 3/4] c-icap: new package Guillaume GARDET
2014-11-16 21:48     ` Thomas Petazzoni [this message]
2014-11-12 16:16   ` [Buildroot] [PATCH V2 4/4] c-icap-modules: " Guillaume GARDET
2014-11-16 21:38   ` [Buildroot] [PATCH V2 0/4] Add ICAP server support Thomas Petazzoni
2014-11-18 14:54   ` [Buildroot] [PATCH V3 0/5] " Guillaume GARDET
2014-11-18 14:54     ` [Buildroot] [PATCH V3 1/5] package/squid: define the log directory, pidfile and swapdir Guillaume GARDET
2014-11-23 21:17       ` Thomas Petazzoni
2014-11-18 14:54     ` [Buildroot] [PATCH V3 2/5] package/squid: add init script Guillaume GARDET
2014-11-23 21:18       ` Thomas Petazzoni
2014-11-29 19:41         ` Guillaume GARDET - Oliséo
2014-11-30  8:33           ` Thomas Petazzoni
2014-11-18 14:54     ` [Buildroot] [PATCH V3 3/5] package/squid: enable ICAP client support in squid Guillaume GARDET
2014-11-23 21:18       ` Thomas Petazzoni
2014-11-18 14:54     ` [Buildroot] [PATCH V3 4/5] c-icap: new package Guillaume GARDET
2015-07-10 17:09       ` Thomas Petazzoni
2015-07-15 16:14         ` Guillaume GARDET - Oliséo
2014-11-18 14:54     ` [Buildroot] [PATCH V3 5/5] c-icap-modules: " Guillaume GARDET
2015-07-12 22:26       ` Thomas Petazzoni
2015-07-15 16:15         ` Guillaume GARDET - Oliséo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141116224801.66ed8a0d@free-electrons.com \
    --to=thomas.petazzoni@free-electrons.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.