package/brickd: new package
authorDavid Lechner <david@lechnology.com>
Sat, 23 Feb 2019 01:04:53 +0000 (19:04 -0600)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Tue, 26 Mar 2019 21:14:04 +0000 (22:14 +0100)
This adds a new package for brickd. Brickd is system management daemon
for the LEGO MINDSTORMS EV3 programmable brick.

Signed-off-by: David Lechner <david@lechnology.com>
[Thomas: add missing BR2_USE_MMU dependency]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
DEVELOPERS
package/Config.in
package/brickd/Config.in [new file with mode: 0644]
package/brickd/S70brickd [new file with mode: 0644]
package/brickd/brickd.hash [new file with mode: 0644]
package/brickd/brickd.mk [new file with mode: 0644]

index d21e494b1426dbd2d993e3d71334589e31a555c3..eaf8250591073526997d30af6d52949362ec9a17 100644 (file)
@@ -618,6 +618,7 @@ N:  David Lechner <david@lechnology.com>
 F:     board/lego/ev3/
 F:     configs/lego_ev3_defconfig
 F:     linux/linux-ext-ev3dev-linux-drivers.mk
+F:     package/brickd/
 F:     package/ev3dev-linux-drivers/
 
 N:     Davide Viti <zinosat@tiscali.it>
index e372e0c430092521e493a8f493d122e56b9a8112..a3ac229c77c078a4af1f1cf31d816f78be0540c2 100644 (file)
@@ -399,6 +399,7 @@ endmenu
        source "package/avrdude/Config.in"
        source "package/bcache-tools/Config.in"
        source "package/biosdevname/Config.in"
+       source "package/brickd/Config.in"
        source "package/brltty/Config.in"
        source "package/cbootimage/Config.in"
        source "package/cc-tool/Config.in"
diff --git a/package/brickd/Config.in b/package/brickd/Config.in
new file mode 100644 (file)
index 0000000..7c5b8eb
--- /dev/null
@@ -0,0 +1,19 @@
+config BR2_PACKAGE_BRICKD
+       bool "brickd"
+       depends on BR2_PACKAGE_HAS_UDEV # gudev
+       depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
+       depends on BR2_USE_WCHAR # glib2
+       depends on BR2_USE_MMU # glib2, gudev
+       select BR2_PACKAGE_LIBGLIB2
+       select BR2_PACKAGE_LIBGUDEV
+       help
+         Brick daemon for LEGO MINDSTORMS EV3 (and other LEGO-
+         compatible devices). This performs tasks like battery
+         management and controls device-specific hardware.
+
+         https://github.com/ev3dev/brickd
+
+comment "brickd needs udev /dev management, a toolchain w/ threads, wchar"
+       depends on BR2_USE_MMU
+       depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \
+               !BR2_USE_WCHAR
diff --git a/package/brickd/S70brickd b/package/brickd/S70brickd
new file mode 100644 (file)
index 0000000..063ad87
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+NAME=brickd
+PIDFILE=/var/run/$NAME.pid
+DAEMON=/usr/sbin/$NAME
+
+start() {
+       printf "Starting $NAME: "
+       start-stop-daemon -S -q -m -b -p $PIDFILE --exec $DAEMON
+       [ $? = 0 ] && echo "OK" || echo "FAIL"
+}
+stop() {
+       printf "Stopping $NAME: "
+       start-stop-daemon -K -q -p $PIDFILE
+       [ $? = 0 ] && echo "OK" || echo "FAIL"
+}
+restart() {
+       stop
+       start
+}
+
+case "$1" in
+  start)
+       start
+       ;;
+  stop)
+       stop
+       ;;
+  restart|reload)
+       restart
+       ;;
+  *)
+       echo "Usage: $0 {start|stop|restart|reload}"
+       exit 1
+esac
+
+exit $?
diff --git a/package/brickd/brickd.hash b/package/brickd/brickd.hash
new file mode 100644 (file)
index 0000000..8de57a9
--- /dev/null
@@ -0,0 +1,5 @@
+# Locally computed hash
+sha256 0b79f1ccd6fa644d7ecb2e17b19f9ffbf6374702ae9ac536b2c4a0b8b2cfe160 brickd-ev3dev-stretch_1.2.1.tar.gz
+
+# Hashes for license files:
+sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.txt
diff --git a/package/brickd/brickd.mk b/package/brickd/brickd.mk
new file mode 100644 (file)
index 0000000..7fe28da
--- /dev/null
@@ -0,0 +1,22 @@
+################################################################################
+#
+# brickd
+#
+################################################################################
+
+BRICKD_VERSION = ev3dev-stretch/1.2.1
+BRICKD_SITE = https://github.com/ev3dev/brickd
+BRICKD_SITE_METHOD = git
+BRICKD_GIT_SUBMODULES = YES
+
+BRICKD_LICENSE = GPL-2.0
+BRICKD_LICENSE_FILES = LICENSE.txt
+
+BRICKD_INSTALL_STAGING = YES
+BRICKD_DEPENDENCIES = host-pkgconf host-vala libglib2 libgudev
+
+define BRICKD_INSTALL_INIT_SYSV
+       $(INSTALL) -D -m 0755 package/brickd/S70brickd $(TARGET_DIR)/etc/init.d/S70brickd
+endef
+
+$(eval $(cmake-package))