fix: make it boot on pinephone

This commit is contained in:
DanyLE
2025-07-21 00:10:47 +02:00
parent 1fe7d54ae8
commit 37571d17cc
11 changed files with 238 additions and 58 deletions

View 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 "

View 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