mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH] ibrdtn: add packaging rules for IBR-DTN and dtndht
Date: Thu, 18 Aug 2016 08:53:42 +0200	[thread overview]
Message-ID: <20160818065342.463fc7qfeixtb4vt@pengutronix.de> (raw)
In-Reply-To: <1471445616-7728-1-git-send-email-rohieb@rohieb.name>

On Wed, Aug 17, 2016 at 04:53:36PM +0200, Roland Hieber wrote:
> IBR-DTN is a lightweight implementation of the Bundle Protocol (RFC
> 5050), designed for embedded systems like the RouterBoard532A or
> Ubiquiti RouterStation Pro.
> 
> IBR-DTN consists of several upstream tarballs which split its
> functionality into modular parts, namely ibrcommon, ibrdtn, ibrdtnd and
> ibrdtn-tools.  Although they are released at the same time with the same
> version, they are usually packaged separately to provide the modularity
> on the package level.  In order to provide clean and readable Makefiles,
> the upstream naming scheme is adopted here.
> 
> Although dtndht is versioned and released as a separate upstream
> package, it is effectively part of IBR-DTN as it is not really used
> anywhere else, and it's also developed in close contact with IBR-DTN by
> the same authors.  For this reason, I'm including all package rules in a
> single patch.
> 
> The upstream releases includes some functionality which depends on
> software not currently available in ptxdist.  This includes tffs,
> wifip2p and libvmime.  I have included the directives for these
> features, but commented them out, so they can easily be enabled once
> that software gets packaged.
> 
> Signed-off-by: Roland Hieber <rohieb@rohieb.name>

I've made several comments below, that apply to more that one place. Please
fix it everywhere.

And check your configure options. You need to specify everything that is
optional or may be auto detected. Please look at some other rules for
guidance or ask me if you are unsure if an option should be specified.

> ---
>  projectroot/lib/systemd/system/ibrdtnd.service | 12 ++++
>  rules/dtndht.in                                | 18 ++++++
>  rules/dtndht.make                              | 53 +++++++++++++++++
>  rules/ibrcommon.in                             | 39 +++++++++++++
>  rules/ibrcommon.make                           | 56 ++++++++++++++++++
>  rules/ibrdtn-tools.in                          | 44 +++++++++++++++
>  rules/ibrdtn-tools.make                        | 68 ++++++++++++++++++++++
>  rules/ibrdtn.in                                | 35 ++++++++++++
>  rules/ibrdtn.make                              | 55 ++++++++++++++++++
>  rules/ibrdtnd.in                               | 78 ++++++++++++++++++++++++++
>  rules/ibrdtnd.make                             | 73 ++++++++++++++++++++++++
>  11 files changed, 531 insertions(+)
>  create mode 100644 projectroot/lib/systemd/system/ibrdtnd.service
>  create mode 100644 rules/dtndht.in
>  create mode 100644 rules/dtndht.make
>  create mode 100644 rules/ibrcommon.in
>  create mode 100644 rules/ibrcommon.make
>  create mode 100644 rules/ibrdtn-tools.in
>  create mode 100644 rules/ibrdtn-tools.make
>  create mode 100644 rules/ibrdtn.in
>  create mode 100644 rules/ibrdtn.make
>  create mode 100644 rules/ibrdtnd.in
>  create mode 100644 rules/ibrdtnd.make
> 
> diff --git a/projectroot/lib/systemd/system/ibrdtnd.service b/projectroot/lib/systemd/system/ibrdtnd.service
> new file mode 100644
> index 0000000..f5ba5cd
> --- /dev/null
> +++ b/projectroot/lib/systemd/system/ibrdtnd.service
> @@ -0,0 +1,12 @@
> +[Unit]
> +Description=IBR-DTN Bundle Protocol daemon
> +Requires=network.target
> +
> +[Service]
> +ExecStartPre=/bin/mkdir -p /etc/ibrdtn/bpsec /etc/ibrdtn/certs
> +ExecStartPre=/bin/chown root:root -R /etc/ibrdtn/bpsec /etc/ibrdtn/certs

The rootfs may be read-only. These directories should be created in the
targetinstall stage.

> +ExecStart=/usr/sbin/dtnd -D -c /etc/ibrdtnd.conf
> +Restart=always
> +
> +[Install]
> +WantedBy=multi-user.target
> diff --git a/rules/dtndht.in b/rules/dtndht.in
> new file mode 100644
> index 0000000..72824b5
> --- /dev/null
> +++ b/rules/dtndht.in
> @@ -0,0 +1,18 @@
> +## SECTION=networking
> +
> +menuconfig DTNDHT
> +	tristate
> +	prompt "dtndht                        "
> +	select OPENSSL if DTNDHT_WITH_OPENSSL

tab before 'if'.

> +	help
> +	  DTNDHT is a library providing a fully distributed BitTorrent DHT-based
> +	  naming service especially for DTN Bundle Protocol EIDs (RFC 5050). 
> +
> +if DTNDHT

> +	config DTNDHT_WITH_OPENSSL

we don't indent here.

> +		bool
> +		default y
> +		prompt "use OpenSSL instead of built-in crypto"
> +endif
> +
> +# vim: syntax=kconfig
> diff --git a/rules/dtndht.make b/rules/dtndht.make
> new file mode 100644
> index 0000000..6908f50
> --- /dev/null
> +++ b/rules/dtndht.make
> @@ -0,0 +1,53 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2016 by Roland Hieber <rohieb@rohieb.name>
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_DTNDHT) += dtndht
> +
> +#
> +# Paths and names
> +#
> +DTNDHT_VERSION := 0.2.3
> +DTNDHT_MD5     := 37c33910ac7e760aad4db81724aeb4fb
> +DTNDHT         := dtndht-$(DTNDHT_VERSION)
> +DTNDHT_SUFFIX  := tar.gz
> +DTNDHT_URL     := https://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases/$(DTNDHT).$(DTNDHT_SUFFIX)
> +DTNDHT_SOURCE  := $(SRCDIR)/$(DTNDHT).$(DTNDHT_SUFFIX)
> +DTNDHT_DIR     := $(BUILDDIR)/$(DTNDHT)
> +DTNDHT_LICENSE := MIT
> +
> +# ----------------------------------------------------------------------------
> +# Prepare
> +# ----------------------------------------------------------------------------
> +
> +#
> +# autoconf
> +#
> +DTNDHT_CONF_TOOL := autoconf
> +

Break like this:

DTNDHT_CONF_OPT  := \
	$(CROSS_AUTOCONF_USR) \
> +	--$(call ptx/wwo, PTXCONF_DTNDHT_WITH_OPENSSL)-openssl \

no '\' for the last line.

> +
> +# ----------------------------------------------------------------------------
> +# Target-Install
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/dtndht.targetinstall:
> +	@$(call targetinfo)
> +
> +	@$(call install_init,   dtndht)
> +	@$(call install_fixup,  dtndht,PRIORITY,optional)
> +	@$(call install_fixup,  dtndht,SECTION,base)
> +	@$(call install_fixup,  dtndht,AUTHOR,"Roland Hieber <rohieb@rohieb.name>")
> +	@$(call install_fixup,  dtndht,DESCRIPTION,missing)
> +
> +	@$(call install_lib,    dtndht, 0, 0, 0755, libdtndht-0.2)
> +
> +	@$(call install_finish, dtndht)
> +
> +	@$(call touch)
> +
> +# vim: syntax=make
> diff --git a/rules/ibrcommon.in b/rules/ibrcommon.in
> new file mode 100644
> index 0000000..a310430
> --- /dev/null
> +++ b/rules/ibrcommon.in
> @@ -0,0 +1,39 @@
> +## SECTION=networking
> +
> +menuconfig IBRCOMMON
> +	tristate
> +	prompt "ibrcommon                     "
> +	select LIBXML2 if IBRCOMMON_WITH_XML

LIBXML2 has a lot of options. Make sure all required sub-options are
selected.

> +	select LIBNL3  if IBRCOMMON_WITH_LOWPAN
> +	select OPENSSL if IBRCOMMON_WITH_OPENSSL

aligin with tab before 'if'

> +	help
> +	  IBR-DTN is a lightweight implementation of the Bundle Protocol (RFC
> +	  5050), designed for embedded systems like the RouterBoard532A or
> +	  Ubiquiti RouterStation Pro.
> +
> +	  This package contains the common library parts which could be of
> +	  interest for other software projects.
> +
> +if IBRCOMMON
> +
> +	config IBRCOMMON_ENABLE_DEBUG

don't indent.

> +		bool
> +		default n

'default n' it the default, drop this line. This applies to all other uses
as well.

> +		prompt "enable debug symbols"

If that's just debug symbols, then remove the option and disable it. If you
need debugging symbols you can always set TARGET_DEBUG_ENABLE and rebuild a
package.

> +	config IBRCOMMON_WITH_LOWPAN
> +		bool
> +		default y
> +		prompt "enable LoWPAN support"
> +
> +	config IBRCOMMON_WITH_OPENSSL
> +		bool
> +		default y
> +		prompt "enable OpenSSL support"
> +
> +	config IBRCOMMON_WITH_XML
> +		bool
> +		prompt "enable XML support"
> +
> +endif
> +
> +# vim: syntax=kconfig
> diff --git a/rules/ibrcommon.make b/rules/ibrcommon.make
> new file mode 100644
> index 0000000..a1279c1
> --- /dev/null
> +++ b/rules/ibrcommon.make
> @@ -0,0 +1,56 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2016 by Roland Hieber <rohieb@rohieb.name>
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_IBRCOMMON) += ibrcommon
> +
> +#
> +# Paths and names
> +#
> +IBRCOMMON_VERSION := 1.0.1
> +IBRCOMMON_MD5     := 0104763ede969c470f32244d76c234b8
> +IBRCOMMON         := ibrcommon-$(IBRCOMMON_VERSION)
> +IBRCOMMON_SUFFIX  := tar.gz
> +IBRCOMMON_URL     := https://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases/$(IBRCOMMON).$(IBRCOMMON_SUFFIX)
> +IBRCOMMON_SOURCE  := $(SRCDIR)/$(IBRCOMMON).$(IBRCOMMON_SUFFIX)
> +IBRCOMMON_DIR     := $(BUILDDIR)/$(IBRCOMMON)
> +IBRCOMMON_LICENSE := Apache-2.0
> +
> +# ----------------------------------------------------------------------------
> +# Prepare
> +# ----------------------------------------------------------------------------
> +
> +#
> +# autoconf
> +#
> +IBRCOMMON_CONF_TOOL := autoconf
> +IBRCOMMON_CONF_OPT  := $(CROSS_AUTOCONF_USR) \
> +	--$(call ptx/endis, PTXCONF_IBRCOMMON_ENABLE_DEBUG)-debug   \
> +	--$(call ptx/wwo,   PTXCONF_IBRCOMMON_WITH_LOWPAN )-lowpan  \
> +	--$(call ptx/wwo,   PTXCONF_IBRCOMMON_WITH_OPENSSL)-openssl \
> +	--$(call ptx/wwo,   PTXCONF_IBRCOMMON_WITH_XML    )-xml     \

See my other comments, and don't align.

> +
> +# ----------------------------------------------------------------------------
> +# Target-Install
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/ibrcommon.targetinstall:
> +	@$(call targetinfo)
> +
> +	@$(call install_init,   ibrcommon)
> +	@$(call install_fixup,  ibrcommon,PRIORITY,optional)
> +	@$(call install_fixup,  ibrcommon,SECTION,base)
> +	@$(call install_fixup,  ibrcommon,AUTHOR,"Roland Hieber <rohieb@rohieb.name>")
> +	@$(call install_fixup,  ibrcommon,DESCRIPTION,missing)
> +
> +	@$(call install_lib,    ibrcommon, 0, 0, 0755, libibrcommon-1.0)
> +
> +	@$(call install_finish, ibrcommon)

don't align.

> +
> +	@$(call touch)
> +
> +# vim: syntax=make
> diff --git a/rules/ibrdtn-tools.in b/rules/ibrdtn-tools.in
> new file mode 100644
> index 0000000..d94cb24
> --- /dev/null
> +++ b/rules/ibrdtn-tools.in
> @@ -0,0 +1,44 @@
> +## SECTION=networking
> +
> +menuconfig IBRDTN_TOOLS
> +	tristate
> +	prompt "ibrdtn-tools                  "
> +	select IBRDTND
> +	select IBRDTN
> +	select LIBDAEMON       if IBRDTN_TOOLS_WITH_LIBDAEMON
> +	select LIBARCHIVE      if IBRDTN_TOOLS_WITH_LIBARCHIVE

tabs.

> +	help
> +	  IBR-DTN is a lightweight implementation of the Bundle Protocol (RFC
> +	  5050), designed for embedded systems like the RouterBoard532A or
> +	  Ubiquiti RouterStation Pro.
> +
> +	  This package contains the tools to work with IBR-DTN:  dtnping,
> +	  dtnsend, dtnrecv, dtntracepath, dtnconvert, dtninbox, dtnoutbox,
> +	  dtnstream, dtntrigger, and dtntunnel.
> +
> +if IBRDTN_TOOLS
> +
> +	config IBRDTN_TOOLS_ENABLE_DEBUG
> +		bool
> +		default n
> +		prompt "enable debug symbols"

see above.

> +	
> +	config IBRDTN_TOOLS_WITH_LIBDAEMON
> +		bool
> +		default y
> +		prompt "build with daemon support"
> +		help
> +		  If this option is enabled, dtntrigger and dtntunnel will be
> +		  able to start as a daemon in the background.
> +
> +	config IBRDTN_TOOLS_WITH_LIBARCHIVE
> +		bool
> +		default y
> +		prompt "build with libarchive support (dtninbox, dtnoutbox)"
> +		help
> +		 If this option is deselected, dtninbox and dtnoutbox will not
> +		 be built.
> +
> +endif
> +
> +# vim: syntax=kconfig
> diff --git a/rules/ibrdtn-tools.make b/rules/ibrdtn-tools.make
> new file mode 100644
> index 0000000..17bfeba
> --- /dev/null
> +++ b/rules/ibrdtn-tools.make
> @@ -0,0 +1,68 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2016 by Roland Hieber <rohieb@rohieb.name>
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_IBRDTN_TOOLS) += ibrdtn-tools
> +
> +#
> +# Paths and names
> +#
> +IBRDTN_TOOLS_VERSION := 1.0.1
> +IBRDTN_TOOLS_MD5     := 3e527cedc6132739403fc210e4f8abe2
> +IBRDTN_TOOLS         := ibrdtn-tools-$(IBRDTN_TOOLS_VERSION)
> +IBRDTN_TOOLS_SUFFIX  := tar.gz
> +IBRDTN_TOOLS_URL     := https://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases/$(IBRDTN_TOOLS).$(IBRDTN_TOOLS_SUFFIX)
> +IBRDTN_TOOLS_SOURCE  := $(SRCDIR)/$(IBRDTN_TOOLS).$(IBRDTN_TOOLS_SUFFIX)
> +IBRDTN_TOOLS_DIR     := $(BUILDDIR)/$(IBRDTN_TOOLS)
> +IBRDTN_TOOLS_LICENSE := Apache-2.0
> +
> +# ----------------------------------------------------------------------------
> +# Prepare
> +# ----------------------------------------------------------------------------
> +
> +#
> +# autoconf
> +#
> +# Note: --without-tffs:  tffs is not yet packaged
> +IBRDTN_TOOLS_CONF_TOOL := autoconf
> +IBRDTN_TOOLS_CONF_OPT  := $(CROSS_AUTOCONF_USR) \
> +	--without-tffs                                \
> +	--$(call ptx/endis, PTXCONF_IBRDTN_TOOLS_ENABLE_DEBUG    )-debug       \
> +	--$(call ptx/wwo,   PTXCONF_IBRDTN_TOOLS_WITH_LIBDAEMON  )-libdaemon   \
> +	--$(call ptx/wwo,   PTXCONF_IBRDTN_TOOLS_WITH_LIBARCHIVE )-libarchive  \
> +
> +# ----------------------------------------------------------------------------
> +# Target-Install
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/ibrdtn-tools.targetinstall:
> +	@$(call targetinfo)
> +
> +	@$(call install_init,   ibrdtn-tools)
> +	@$(call install_fixup,  ibrdtn-tools,PRIORITY,optional)
> +	@$(call install_fixup,  ibrdtn-tools,SECTION,base)
> +	@$(call install_fixup,  ibrdtn-tools,AUTHOR,"Roland Hieber <rohieb@rohieb.name>")
> +	@$(call install_fixup,  ibrdtn-tools,DESCRIPTION,missing)
> +
> +	@$(call install_copy,   ibrdtn-tools, 0, 0, 0755, -, /usr/bin/dtnstream    )
> +	@$(call install_copy,   ibrdtn-tools, 0, 0, 0755, -, /usr/bin/dtnrecv      )
> +	@$(call install_copy,   ibrdtn-tools, 0, 0, 0755, -, /usr/bin/dtntrigger   )
> +	@$(call install_copy,   ibrdtn-tools, 0, 0, 0755, -, /usr/bin/dtnconvert   )
> +	@$(call install_copy,   ibrdtn-tools, 0, 0, 0755, -, /usr/bin/dtnping      )
> +	@$(call install_copy,   ibrdtn-tools, 0, 0, 0755, -, /usr/bin/dtntracepath )
> +	@$(call install_copy,   ibrdtn-tools, 0, 0, 0755, -, /usr/bin/dtnsend      )
> +	@$(call install_copy,   ibrdtn-tools, 0, 0, 0755, -, /usr/sbin/dtntunnel   )
> +ifdef IBRDTN_TOOLS_WITH_LIBARCHIVE
> +	@$(call install_copy,   ibrdtn-tools, 0, 0, 0755, -, /usr/bin/dtninbox     )
> +	@$(call install_copy,   ibrdtn-tools, 0, 0, 0755, -, /usr/bin/dtnoutbox    )
> +endif
> +
> +	@$(call install_finish, ibrdtn-tools)
> +
> +	@$(call touch)
> +
> +# vim: syntax=make
> diff --git a/rules/ibrdtn.in b/rules/ibrdtn.in
> new file mode 100644
> index 0000000..78a76b4
> --- /dev/null
> +++ b/rules/ibrdtn.in
> @@ -0,0 +1,35 @@
> +## SECTION=networking
> +
> +menuconfig IBRDTN
> +	tristate
> +	prompt "ibrdtn                        "
> +	select IBRCOMMON
> +	select ZLIB          if IBRDTN_WITH_COMPRESSION
> +	select GLIB          if IBRDTN_WITH_GLIB
> +	help
> +	  IBR-DTN is a lightweight implementation of the Bundle Protocol (RFC
> +	  5050), designed for embedded systems like the RouterBoard532A or
> +	  Ubiquiti RouterStation Pro.
> +
> +	  This package contains the shared library used to build applications
> +	  with IBR-DTN functionality.
> +
> +if IBRDTN
> +
> +	config IBRDTN_ENABLE_DEBUG
> +		bool
> +		default n
> +		prompt "enable debug symbols"
> +
> +	config IBRDTN_WITH_COMPRESSION
> +		bool
> +		default y
> +		prompt "build with bundle compression support"
> +
> +	config IBRDTN_WITH_GLIB
> +		bool
> +		default n
> +		prompt "link to glib-2.0 library"
> +
> +endif
> +# vim: syntax=kconfig
> diff --git a/rules/ibrdtn.make b/rules/ibrdtn.make
> new file mode 100644
> index 0000000..85c3ae4
> --- /dev/null
> +++ b/rules/ibrdtn.make
> @@ -0,0 +1,55 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2016 by Roland Hieber <rohieb@rohieb.name>
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_IBRDTN) += ibrdtn
> +
> +#
> +# Paths and names
> +#
> +IBRDTN_VERSION := 1.0.1
> +IBRDTN_MD5     := 37208be202f199f1790983ff78b2fa8f
> +IBRDTN         := ibrdtn-$(IBRDTN_VERSION)
> +IBRDTN_SUFFIX  := tar.gz
> +IBRDTN_URL     := https://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases/$(IBRDTN).$(IBRDTN_SUFFIX)
> +IBRDTN_SOURCE  := $(SRCDIR)/$(IBRDTN).$(IBRDTN_SUFFIX)
> +IBRDTN_DIR     := $(BUILDDIR)/$(IBRDTN)
> +IBRDTN_LICENSE := Apache-2.0
> +
> +# ----------------------------------------------------------------------------
> +# Prepare
> +# ----------------------------------------------------------------------------
> +
> +#
> +# autoconf
> +#
> +IBRDTN_CONF_TOOL := autoconf
> +IBRDTN_CONF_OPT  := $(CROSS_AUTOCONF_USR) \
> +	--$(call ptx/endis, PTXCONF_IBRDTN_ENABLE_DEBUG    )-debug       \
> +	--$(call ptx/wwo,   PTXCONF_IBRDTN_WITH_COMPRESSION)-compression \
> +	--$(call ptx/wwo,   PTXCONF_IBRDTN_WITH_GLIB       )-glib        \
> +
> +# ----------------------------------------------------------------------------
> +# Target-Install
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/ibrdtn.targetinstall:
> +	@$(call targetinfo)
> +
> +	@$(call install_init,   ibrdtn)
> +	@$(call install_fixup,  ibrdtn,PRIORITY,optional)
> +	@$(call install_fixup,  ibrdtn,SECTION,base)
> +	@$(call install_fixup,  ibrdtn,AUTHOR,"Roland Hieber <rohieb@rohieb.name>")
> +	@$(call install_fixup,  ibrdtn,DESCRIPTION,missing)
> +
> +	@$(call install_lib,    ibrdtn, 0, 0, 0755, libibrdtn-1.0)
> +
> +	@$(call install_finish, ibrdtn)
> +
> +	@$(call touch)
> +
> +# vim: syntax=make
> diff --git a/rules/ibrdtnd.in b/rules/ibrdtnd.in
> new file mode 100644
> index 0000000..4e16fe5
> --- /dev/null
> +++ b/rules/ibrdtnd.in
> @@ -0,0 +1,78 @@
> +## SECTION=networking
> +
> +menuconfig IBRDTND
> +	tristate
> +	prompt "ibrdtnd                       "
> +	select IBRDTN
> +	select LIBDAEMON              if IBRDTND_ENABLE_DAEMON
> +	select DTNDHT                 if IBRDTND_ENABLE_DTNDHT
> +	select IBRCOMMON_WITH_OPENSSL if IBRDTND_WITH_TLS
> +	select SQLITE                 if IBRDTND_WITH_SQLITE
> +	select LIBCURL                if IBRDTND_WITH_LIBCURL
> +	# not packaged yet: select WIFIP2P if IBRDTND_WITH_WIFIP2P
> +	# not packaged yet: select LIBVMIME if IBRDTND_WITH_VMIME
> +	help
> +	  IBR-DTN is a lightweight implementation of the Bundle Protocol (RFC
> +	  5050), designed for embedded systems like the RouterBoard532A or
> +	  Ubiquiti RouterStation Pro.
> +
> +	  This package contains the daemon which handles all DTN communication.
> +
> +if IBRDTND
> +
> +	config IBRDTND_ENABLE_DEBUG
> +		bool
> +		default n
> +		prompt "enable debug symbols"
> +
> +	config IBRDTND_SYSTEMD_UNIT
> +		bool
> +		default y
> +		depends on INITMETHOD_SYSTEMD
> +		prompt "install systemd unit files for the IBR-DTN daemon"
> +
> +	config IBRDTND_ENABLE_DAEMON
> +		bool
> +		default y
> +		prompt "build with libdaemon support"
> +
> +	config IBRDTND_ENABLE_DTNDHT
> +		bool
> +		default y
> +		prompt "build with DTNDHT support"
> +
> +	config IBRDTND_WITH_SQLITE
> +		bool
> +		default n
> +		prompt "build with SQLite storage module"
> +
> +	config IBRDTND_WITH_TLS
> +		bool
> +		default n
> +		prompt "build with TLS support (Bundle Security Protocol)"
> +
> +	config IBRDTND_WITH_LIBCURL
> +		bool
> +		default n
> +		prompt "build with libcurl (HTTP Convergence Layer)"
> +
> +#	Note: wifip2p is not packaged yet
> +#	config IBRDTND_WITH_WIFIP2P
> +#		bool
> +#		default y

Instead of commenting this out use:

		# needs wifip2p
		depends on BROKEN

> +#		prompt "build with wifip2p support"
> +#		help
> +#		  With wifip2p support, IBR-DTN can use supported Wi-Fi (IEEE
> +#		  802.11) devices to connect to other neighbors without the need
> +#		  for an additional Wi-Fi access point.
> +
> +#	Note: libvmime is not packaged yet
> +#	config IBRDTND_WITH_VMIME
> +#		bool
> +#		default n
> +#		prompt "build with libvmime (E-Mail Convergence Layer)"
> +#		help
> +#		  libvmime is needed to build the E-Mail Convergence Layer.
> +
> +endif
> +# vim: syntax=kconfig
> diff --git a/rules/ibrdtnd.make b/rules/ibrdtnd.make
> new file mode 100644
> index 0000000..177c74a
> --- /dev/null
> +++ b/rules/ibrdtnd.make
> @@ -0,0 +1,73 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2016 by Roland Hieber <rohieb@rohieb.name>
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_IBRDTND) += ibrdtnd
> +
> +#
> +# Paths and names
> +#
> +IBRDTND_VERSION := 1.0.1
> +IBRDTND_MD5     := 933d37bf777700a6e1709d0f7a129613
> +IBRDTND         := ibrdtnd-$(IBRDTND_VERSION)
> +IBRDTND_SUFFIX  := tar.gz
> +IBRDTND_URL     := https://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases/$(IBRDTND).$(IBRDTND_SUFFIX)
> +IBRDTND_SOURCE  := $(SRCDIR)/$(IBRDTND).$(IBRDTND_SUFFIX)
> +IBRDTND_DIR     := $(BUILDDIR)/$(IBRDTND)
> +IBRDTND_LICENSE := Apache-2.0
> +
> +# ----------------------------------------------------------------------------
> +# Prepare
> +# ----------------------------------------------------------------------------
> +
> +#
> +# autoconf
> +#
> +IBRDTND_CONF_TOOL := autoconf
> +# Notes: --without-vmime:   libvmime is not packaged yet
> +#        --without-wifip2p: wifip2p  is not packaged yet

just use wwo with the options below and it will work once the 'BROKEN' is
removed.

> +#        --disable-docs:    docs would depend on pdfLaTeX

Just remove this line. We don't install docs anyways.

> +IBRDTND_CONF_OPT  := $(CROSS_AUTOCONF_USR) \
> +	--disable-docs                           \
> +	--without-vmime                          \
> +	--without-wifip2p                        \
> +	--$(call ptx/endis, PTXCONF_IBRDTND_ENABLE_DEBUG    )-debug       \
> +	--$(call ptx/endis, PTXCONF_IBRDTND_ENABLE_DAEMON   )-libdaemon   \
> +	--$(call ptx/endis, PTXCONF_IBRDTND_ENABLE_DTNDHT   )-dtndht      \
> +	--$(call ptx/wwo,   PTXCONF_IBRDTND_WITH_SQLITE     )-sqlite      \
> +	--$(call ptx/wwo,   PTXCONF_IBRDTND_WITH_TLS        )-tls         \
> +	--$(call ptx/wwo,   PTXCONF_IBRDTND_WITH_LIBCURL    )-curl        \
> +
> +# ----------------------------------------------------------------------------
> +# Target-Install
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/ibrdtnd.targetinstall:
> +	@$(call targetinfo)
> +
> +	@$(call install_init,        ibrdtnd)
> +	@$(call install_fixup,       ibrdtnd,PRIORITY,optional)
> +	@$(call install_fixup,       ibrdtnd,SECTION,base)
> +	@$(call install_fixup,       ibrdtnd,AUTHOR,"Roland Hieber <rohieb@rohieb.name>")
> +	@$(call install_fixup,       ibrdtnd,DESCRIPTION,missing)
> +
> +	@$(call install_copy,        ibrdtnd, 0, 0, 0755, -, /usr/sbin/dtnd)
> +ifdef PTXCONF_IBRDTND_WITH_TLS
> +	@$(call install_copy,        ibrdtnd, 0, 0, 0755, -, /usr/bin/ibrdtn-genkey.sh)
> +endif
> +	@$(call install_copy,        ibrdtnd, 0, 0, 0644, -, /etc/ibrdtnd.conf)
> +
> +ifdef PTXCONF_IBRDTND_SYSTEMD_UNIT
> +	@$(call install_alternative, ibrdtnd, 0, 0, 0644, /lib/systemd/system/ibrdtnd.service)
> +	@$(call install_link,        ibrdtnd, ../ibrdtnd.service, /lib/systemd/system/multi-user.target.wants/ibrdtnd.service)
> +endif
> +
> +	@$(call install_finish,      ibrdtnd)
> +
> +	@$(call touch)
> +
> +# vim: syntax=make
> -- 
> 2.8.1
> 
> 
> _______________________________________________
> 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

  reply	other threads:[~2016-08-18  6:53 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-17 14:53 Roland Hieber
2016-08-18  6:53 ` Michael Olbrich [this message]
2016-08-23  4:41   ` Roland Hieber
2016-08-25 11:02     ` Michael Olbrich
2016-08-25 15:11       ` Robert Schwebel
2016-08-28  5:27   ` Roland Hieber
2016-08-28  7:36     ` Robert Schwebel
2016-08-28 18:36       ` Roland Hieber
2016-09-01  9:58         ` Michael Olbrich
2016-09-01 15:09         ` Alexander Dahl
2016-08-29  7:42     ` Juergen Borleis
2016-08-18 10:15 ` Michael Olbrich
2016-08-28  5:32 ` [ptxdist] [PATCH v2] " Roland Hieber
2016-09-07 13:48   ` Michael Olbrich
2016-09-08  1:07     ` Roland Hieber
2016-09-08  6:35       ` Michael Olbrich

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=20160818065342.463fc7qfeixtb4vt@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox