config BR2_PACKAGE_PROVIDES_LIBOPENMAX
default "rpi-userland"
+config BR2_PACKAGE_RPI_USERLAND_START_VCFILED
+ bool "Start vcfiled"
+ depends on BR2_INIT_SYSV || BR2_INIT_BUSYBOX
+ help
+ vcfiled is a daemon serving files to VideoCore from the host file
+ system.
+
endif
comment "rpi-userland needs a toolchain w/ C++, largefile, threads"
--- /dev/null
+#!/bin/sh
+
+NAME=vcfiled
+DESC="VideoCore file server daemon $NAME"
+DAEMON="/usr/sbin/$NAME"
+DAEMON_ARGS=""
+CFGFILE="/etc/default/$NAME"
+PIDFILE="/var/run/$NAME.pid"
+
+# Read configuration variable file if it is present
+[ -r "$CFGFILE" ] && . "$CFGFILE"
+
+do_start()
+{
+ echo -n "Starting $DESC: "
+ start-stop-daemon -S -q -p "$PIDFILE" -x "$DAEMON" -- $DAEMON_ARGS &&
+ echo "done" || echo "failed"
+}
+
+do_stop()
+{
+ echo -n "Stopping $DESC: "
+ if start-stop-daemon -K -q -R TERM/30/KILL/5 -p "$PIDFILE" -n "$NAME"; then
+ # This daemon does not remove its PID file when it exits.
+ rm -f "$PIDFILE"
+ echo "done"
+ else
+ echo "failed"
+ fi
+}
+
+case "$1" in
+ start)
+ do_start
+ ;;
+ stop)
+ do_stop
+ ;;
+ restart|reload)
+ do_stop
+ do_start
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|reload}" >&2
+ exit 1
+ ;;
+esac
RPI_USERLAND_LICENSE = BSD-3c
RPI_USERLAND_LICENSE_FILES = LICENCE
RPI_USERLAND_INSTALL_STAGING = YES
-RPI_USERLAND_CONF_OPT = -DVMCS_INSTALL_PREFIX=/usr
+RPI_USERLAND_CONF_OPT = -DVMCS_INSTALL_PREFIX=/usr \
+ -DCMAKE_C_FLAGS="-DVCFILED_LOCKFILE=\\\"/var/run/vcfiled.pid\\\""
RPI_USERLAND_PROVIDES = libegl libgles libopenmax libopenvg
+ifeq ($(BR2_PACKAGE_RPI_USERLAND_START_VCFILED),y)
+define RPI_USERLAND_INSTALL_INIT_SYSV
+ $(INSTALL) -m 0755 -D package/rpi-userland/S94vcfiled \
+ $(TARGET_DIR)/etc/init.d/S94vcfiled
+endef
+endif
+
define RPI_USERLAND_POST_TARGET_CLEANUP
+ rm -f $(TARGET_DIR)/etc/init.d/vcfiled
+ rm -f $(TARGET_DIR)/usr/share/install/vcfiled
+ rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/share/install
rm -Rf $(TARGET_DIR)/usr/src
endef
RPI_USERLAND_POST_INSTALL_TARGET_HOOKS += RPI_USERLAND_POST_TARGET_CLEANUP