DESCRIPTION = "SEBRAUC web interface for the RAUC firmware updater" HOMEPAGE = "https://code.thetadev.de/TSGRain/SEBRAUC" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=cff5d031039bbeb3f5c78a81850474de" UPSTREAM_CHECK_URI = "https://code.thetadev.de/TSGRain/SEBRAUC/tags" SRC_URI:append = " file://sebrauc.service" S = "${WORKDIR}/${BPN}" DEPENDS = "nodejs-native" inherit go systemd GOBUILDFLAGS += "-tags prod" GO_LINKMODE += "-X code.thetadev.de/TSGRain/SEBRAUC/src/util.version=v${PV}" export GOPATH = "${WORKDIR}/go" export NPM_CONFIG_CACHE = "${WORKDIR}/npm-cache" export NPM_CONFIG_STORE_DIR = "${WORKDIR}/pnpm-cache" do_configure() { mkdir -p ${WORKDIR}/go mkdir -p ${WORKDIR}/npm-cache cd ${S}/ui npm install pnpm } do_compile() { # Build ui cd ${S}/ui npx pnpm install VITE_VERSION=v${PV} npx pnpm run build # Build server ${GO} build ${GO_LINKSHARED} ${GOBUILDFLAGS} -o ${WORKDIR}/build/sebrauc ${S}/src/. ${GO} clean -modcache } do_install() { install -d ${D}${bindir} ${D}${systemd_unitdir}/system/ install -m 755 ${WORKDIR}/build/sebrauc ${D}${bindir} install -m 644 ${WORKDIR}/sebrauc.service ${D}${systemd_unitdir}/system/ sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_unitdir}/system/sebrauc.service } FILES_${PN} += "${systemd_unitdir}/system/sebrauc.service" SYSTEMD_SERVICE_${PN} = "sebrauc.service" SYSTEMD_AUTO_ENABLE_${PN} = "enable"