yocto_os/sources/meta-tsgrain/recipes-core/sebrauc/sebrauc.inc
2021-12-06 01:54:43 +01:00

55 lines
1.4 KiB
PHP

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"