fix: make it boot on pinephone
This commit is contained in:
40
recipes-connectivity/eg25-manager/eg25-manager_git.bb
Normal file
40
recipes-connectivity/eg25-manager/eg25-manager_git.bb
Normal file
@@ -0,0 +1,40 @@
|
||||
DESCRIPTION = "Diya session manager"
|
||||
DEPENDS = "glib-2.0"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
||||
|
||||
SRC_URI += "git://git.iohub.dev/dany/eg25-manager.git;protocol=https;branch=master \
|
||||
file://eg25d"
|
||||
|
||||
SRCREV = "${AUTOREV}"
|
||||
PV = "0.5.2+git${SRCPV}"
|
||||
S = "${UNPACKDIR}/git"
|
||||
|
||||
DEPENDS:append = " libgudev libgpiod libusb curl "
|
||||
|
||||
inherit meson pkgconfig
|
||||
|
||||
# inherit update-rc.d
|
||||
# INITSCRIPT_NAME = "diya-sessiond"
|
||||
# INITSCRIPT_PARAMS = "start 30 5 . stop 10 0 1 6 ."
|
||||
|
||||
|
||||
do_install:append() {
|
||||
install -d ${D}/etc/init.d
|
||||
install -m 0755 ${UNPACKDIR}/eg25d ${D}/etc/init.d/
|
||||
install -d ${D}/etc/udev/
|
||||
install -d ${D}/etc/udev/rules.d
|
||||
mv ${D}/usr/lib/udev/rules.d/80-modem-eg25.rules ${D}/etc/udev/rules.d/
|
||||
rm ${D}/usr/lib/systemd/system/eg25-manager.service
|
||||
rm -rf ${D}/usr/lib/systemd
|
||||
|
||||
install -d ${D}/etc/eg25-manager/
|
||||
mv ${D}/usr/share/eg25-manager/* ${D}/etc/eg25-manager/
|
||||
rm -rf ${D}/usr/share
|
||||
rm -rf ${D}/usr/lib
|
||||
}
|
||||
|
||||
FILES:${PN} = " /etc/init.d/eg25d \
|
||||
/etc/eg25-manager \
|
||||
/etc/udev/rules.d/80-modem-eg25.rules \
|
||||
/usr/bin/eg25-manager "
|
77
recipes-connectivity/eg25-manager/files/eg25d
Normal file
77
recipes-connectivity/eg25-manager/files/eg25d
Normal file
@@ -0,0 +1,77 @@
|
||||
#! /bin/sh
|
||||
### BEGIN INIT INFO
|
||||
# Provides: diya
|
||||
# Short-Description: EG25 manager daemon
|
||||
# Description: eg25-manager - Quectel EG25 management daemon
|
||||
### END INIT INFO
|
||||
#
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# set -e
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
. /etc/init.d/functions
|
||||
|
||||
DAEMON=/usr/bin/eg25-manager
|
||||
NAME=eg25d
|
||||
PIDFILE=/var/run/diya/eg25d.pid
|
||||
DESC="EG25 manager daemon"
|
||||
DAEMONUSER="root"
|
||||
PARAMS=
|
||||
test -x $DAEMON || exit 0
|
||||
|
||||
start_it_up()
|
||||
{
|
||||
mkdir -p "$(dirname $PIDFILE)"
|
||||
if [ -e $PIDFILE ]; then
|
||||
PIDDIR=/proc/$(cat $PIDFILE)
|
||||
if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then
|
||||
echo "$DESC already started; not starting."
|
||||
else
|
||||
echo "Removing stale PID file $PIDFILE."
|
||||
rm -f $PIDFILE
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -n "Starting $DESC: "
|
||||
start-stop-daemon -o --start --quiet --pidfile $PIDFILE \
|
||||
--user $DAEMONUSER --exec $DAEMON -- $PARAMS
|
||||
echo "$NAME."
|
||||
}
|
||||
|
||||
shut_it_down()
|
||||
{
|
||||
echo -n "Stopping $DESC: "
|
||||
start-stop-daemon -o --stop --quiet --pidfile $PIDFILE \
|
||||
--user $DAEMONUSER
|
||||
# We no longer include these arguments so that start-stop-daemon
|
||||
# can do its job even given that we may have been upgraded.
|
||||
# We rely on the pidfile being sanely managed
|
||||
# --exec $DAEMON -- --system $PARAMS
|
||||
echo "$NAME."
|
||||
rm -f $PIDFILE
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start_it_up
|
||||
;;
|
||||
stop)
|
||||
shut_it_down
|
||||
;;
|
||||
status)
|
||||
status $DAEMON
|
||||
exit $?
|
||||
;;
|
||||
restart)
|
||||
shut_it_down
|
||||
sleep 1
|
||||
start_it_up
|
||||
;;
|
||||
*)
|
||||
echo "Usage: /etc/init.d/$NAME {start|stop|status|restart}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
Reference in New Issue
Block a user