55 lines
1.4 KiB
PHP
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"
|