mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH] ibrdtn: add packaging rules for IBR-DTN and dtndht
@ 2016-08-17 14:53 Roland Hieber
  2016-08-18  6:53 ` Michael Olbrich
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Roland Hieber @ 2016-08-17 14:53 UTC (permalink / raw)
  To: ptxdist; +Cc: Roland Hieber

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>
---
 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
+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
+	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
+		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
+DTNDHT_CONF_OPT  := $(CROSS_AUTOCONF_USR) \
+	--$(call ptx/wwo, PTXCONF_DTNDHT_WITH_OPENSSL)-openssl \
+
+# ----------------------------------------------------------------------------
+# 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
+	select LIBNL3  if IBRCOMMON_WITH_LOWPAN
+	select OPENSSL if IBRCOMMON_WITH_OPENSSL
+	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
+		bool
+		default n
+		prompt "enable debug symbols"
+	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     \
+
+# ----------------------------------------------------------------------------
+# 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)
+
+	@$(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
+	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"
+	
+	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
+#		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
+#        --disable-docs:    docs would depend on pdfLaTeX
+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

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

end of thread, other threads:[~2016-09-08  6:35 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-17 14:53 [ptxdist] [PATCH] ibrdtn: add packaging rules for IBR-DTN and dtndht Roland Hieber
2016-08-18  6:53 ` Michael Olbrich
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

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