blob: ca711066058f65acdd0710b34f6b2048462a2369 [file] [log] [blame]
SUMMARY = "Configures KCS for a gBMC system"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit systemd
S = "${WORKDIR}"
PROVIDES += "virtual-obmc-host-ipmi-hw"
RPROVIDES_${PN} += "virtual-obmc-host-ipmi-hw"
FILES_${PN} += "${systemd_system_unitdir}"
RDEPENDS_${PN} += "google-kcsbridge"
GBMC_KCS_DEV ?= ""
def systemd_escape_char(c):
return '\\x{:x}'.format(ord(c))
def systemd_escape(unit):
import string
ret = ''
if len(unit) > 0 and unit[0] == '.':
ret += systemd_escape_char(unit[0])
unit = unit[1:]
for c in unit:
if c == '/':
ret += '-'
elif c not in {*string.ascii_letters, *string.digits, ':', '_', '.'}:
ret += systemd_escape_char(c)
else:
ret += c
return ret
do_install_append() {
if [ -z '${GBMC_KCS_DEV}' ]; then
echo "Missing GBMC_KCS_DEV" >&2
exit 1
fi
wantdir=${D}${systemd_system_unitdir}/multi-user.target.wants
install -d -m0755 $wantdir
inst="${@systemd_escape(GBMC_KCS_DEV)}"
ln -sv ../kcsbridge@.service $wantdir/kcsbridge@$inst.service
}