[ptxdist] [PATCH v2] ibrdtn: add packaging rules for IBR-DTN and dtndht

2016-08-27 Thread 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 
---
 projectroot/lib/systemd/system/ibrdtnd.service | 10 
 rules/dtndht.in| 30 ++
 rules/dtndht.make  | 58 
 rules/ibrcommon.in | 43 +++
 rules/ibrcommon.make   | 60 
 rules/ibrdtn-tools.in  | 49 +
 rules/ibrdtn-tools.make| 71 
 rules/ibrdtn.in| 32 +++
 rules/ibrdtn.make  | 58 
 rules/ibrdtnd.in   | 70 
 rules/ibrdtnd.make | 76 ++
 11 files changed, 557 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 000..bc8bc27
--- /dev/null
+++ b/projectroot/lib/systemd/system/ibrdtnd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=IBR-DTN Bundle Protocol daemon
+Requires=network.target
+
+[Service]
+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 000..21d6ff1
--- /dev/null
+++ b/rules/dtndht.in
@@ -0,0 +1,30 @@
+## 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_ENABLE_BLACKLIST
+   bool
+   default y
+   prompt "enable blacklist"
+
+config DTNDHT_ENABLE_RATING
+   bool
+   default y
+   prompt "enable peer rating"
+
+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 000..c47bb62
--- /dev/null
+++ b/rules/dtndht.make
@@ -0,0 +1,58 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2016 by Roland Hieber 
+#
+
+#
+# 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_SOURCE  := $(SRCDIR)/$(DTNDHT).$(DTNDHT_SUFFIX)
+DTNDHT_DIR := $(BUILDDIR)/$(DTNDHT)
+DTNDHT_LICENSE := MIT
+
+DTNDHT_URL := \
+   
https://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases/$(DTNDHT).$(DTNDHT_SUFFIX)
+
+# 
+# Prepare
+# 
+
+#
+# autoconf
+#
+DTNDHT_CONF_TOOL   := autoconf
+DTNDHT_CONF_OPT:= \
+   $(CROSS_AUTOCONF_USR) \
+   --$(call ptx/endis, PTXCONF_DTNDHT_ENABLE_BLACKLIST)-blacklist \
+   --$(call ptx/endis, PTXCONF_DTNDHT_ENABLE_RATING)-rating \
+   --$(call ptx/wwo, PTXCONF_DTNDHT_WITH_OPENSSL)-openssl
+
+# 

Re: [ptxdist] [PATCH] ibrdtn: add packaging rules for IBR-DTN and dtndht

2016-08-27 Thread Roland Hieber
Hi,

Thanks for the feedback!

On 18.08.2016 08:53, Michael Olbrich wrote:
> 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.

Okay, everything optional or auto-detected should be pinned down now.
I've basically ignored every configure option relating to the toolchain,
like --enable-static, --enable-maintainer-mode, --with-pic,
--with-gnu-ld, etc.  Some of the packages take paths for CPPUnit, but I
ignored that too since tests are not run.

>> diff --git a/projectroot/lib/systemd/system/ibrdtnd.service 
>> b/projectroot/lib/systemd/system/ibrdtnd.service
>> [...]
>> +[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.

Right!  I now mkdir'd the folder in the targetinstall stage using
${ROOTDIR}, but it seems the rootdir contents are all created with my
user and chown'd to root in the images stage later, so I didn't care for
chown'ing them in the targetinstall stage (which additionally would have
required (fake)root while building).

> Break like this:
> 
> DTNDHT_CONF_OPT  := \
>   $(CROSS_AUTOCONF_USR) \
>> +--$(call ptx/wwo, PTXCONF_DTNDHT_WITH_OPENSSL)-openssl \
> 
> no '\' for the last line.

Old habit of mine to get fewer unneccessary changes in diffs when adding
options in the future.  But okay, I've left it out for now :)


I also added a LIBC_M dependency in the packages that needed it because
the build output showed "-lm" in libtool calls.  I tried to discover
additional runtime dependencies, but didn't find a good way to determine
which objects are loaded at run time – on my machine I would have used
ldd for that, but I can't do that for ARM binaries.  Is there a way
without actually running the binary (in qemu)?  The Guru Guide chapter
on Managing External Runtime Dependencies is very sparse on that topic.

For the ibr* packages I also added the GitHub releases as additional
URLs, but the dtndht tarballs on GitHub have different checksums than
the tarballs from the official site.  Is there a way to handle that
(other than ignore one site)?

 - Roland



signature.asc
Description: OpenPGP digital signature
___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH] mosh: update to 1.2.6

2016-08-27 Thread Clemens Gruber
Signed-off-by: Clemens Gruber 
---
 rules/mosh.make | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/rules/mosh.make b/rules/mosh.make
index 3c4b482..3270f27 100644
--- a/rules/mosh.make
+++ b/rules/mosh.make
@@ -16,8 +16,8 @@ PACKAGES-$(PTXCONF_MOSH) += mosh
 #
 # Paths and names
 #
-MOSH_VERSION   := 1.2.5
-MOSH_MD5   := 56d7147cf7031583ba7d8db09033e0c5
+MOSH_VERSION   := 1.2.6
+MOSH_MD5   := bb4e24795bb135a754558176a981ee9e
 MOSH   := mosh-$(MOSH_VERSION)
 MOSH_SUFFIX:= tar.gz
 MOSH_URL   := https://mosh.mit.edu/$(MOSH).$(MOSH_SUFFIX)
-- 
2.9.3


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH] u-boot-tools: bump version to 2016.07

2016-08-27 Thread Clemens Gruber
Signed-off-by: Clemens Gruber 
---
 rules/u-boot-tools.make | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/rules/u-boot-tools.make b/rules/u-boot-tools.make
index 6cfdbdb..898ce84 100644
--- a/rules/u-boot-tools.make
+++ b/rules/u-boot-tools.make
@@ -16,8 +16,8 @@ PACKAGES-$(PTXCONF_U_BOOT_TOOLS) += u-boot-tools
 #
 # Paths and names
 #
-U_BOOT_TOOLS_VERSION   := 2016.05
-U_BOOT_TOOLS_MD5   := 3a8613d753dfa707c937991a35404510
+U_BOOT_TOOLS_VERSION   := 2016.07
+U_BOOT_TOOLS_MD5   := 425a3fa610a7d972e5092a0e92276c70
 U_BOOT_TOOLS   := u-boot-$(U_BOOT_TOOLS_VERSION)
 U_BOOT_TOOLS_SUFFIX:= tar.bz2
 U_BOOT_TOOLS_URL   := 
ftp://ftp.denx.de/pub/u-boot/$(U_BOOT_TOOLS).$(U_BOOT_TOOLS_SUFFIX)
-- 
2.9.3


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH] dbus: bump version to 1.10.10

2016-08-27 Thread Clemens Gruber
Signed-off-by: Clemens Gruber 
---
 rules/dbus.make | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/rules/dbus.make b/rules/dbus.make
index 3401df2..5893011 100644
--- a/rules/dbus.make
+++ b/rules/dbus.make
@@ -18,8 +18,8 @@ PACKAGES-$(PTXCONF_DBUS) += dbus
 #
 # Paths and names
 #
-DBUS_VERSION   := 1.10.8
-DBUS_MD5   := e912e930f249454752512aa7ac864d43
+DBUS_VERSION   := 1.10.10
+DBUS_MD5   := 495676d240eb982921b3ad1343526849
 DBUS   := dbus-$(DBUS_VERSION)
 DBUS_SUFFIX:= tar.gz
 DBUS_URL   := 
http://dbus.freedesktop.org/releases/dbus/$(DBUS).$(DBUS_SUFFIX)
-- 
2.9.3


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH] strace: bump version to 4.13

2016-08-27 Thread Clemens Gruber
Fixes kernel header compatibility with Linux 4.7

Signed-off-by: Clemens Gruber 
---
 rules/strace.make | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/rules/strace.make b/rules/strace.make
index 775c5f7..04d6857 100644
--- a/rules/strace.make
+++ b/rules/strace.make
@@ -18,8 +18,8 @@ PACKAGES-$(PTXCONF_STRACE) += strace
 #
 # Paths and names
 #
-STRACE_VERSION := 4.12
-STRACE_MD5 := efb8611fc332e71ec419c53f59faa93e
+STRACE_VERSION := 4.13
+STRACE_MD5 := 4b78c7febdd24c79d5147824d1a080a3
 STRACE := strace-$(STRACE_VERSION)
 STRACE_SUFFIX  := tar.xz
 STRACE_URL := $(call ptx/mirror, SF, strace/$(STRACE).$(STRACE_SUFFIX))
-- 
2.9.3


___
ptxdist mailing list
ptxdist@pengutronix.de