[ptxdist] [PATCH v2] ibrdtn: add packaging rules for IBR-DTN and dtndht
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
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
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
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
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
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