blob: e804e2628df8867d75667a314df8e422e2172a1b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
SUMMARY = "Configured gBMC non-NCSI interface"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
GBMC_EXT_NICS ?= ""
GBMC_DHCP_RELAY ??= "${@'' if int(d.getVar('FLASH_SIZE')) < 65536 else '1'}"
inherit systemd
SRC_URI += " \
file://50-gbmc-nic.rules \
file://50-gbmc-nic.rules.in \
file://-bmc-nic.network.in \
file://gbmc-nic-neigh.sh.in \
file://gbmc-nic-ra.sh \
file://gbmc-nic-ra@.service \
${@'' if d.getVar('GBMC_DHCP_RELAY') != '1' else 'file://-bmc-gbmcbrnicdhcp.netdev'} \
${@'' if d.getVar('GBMC_DHCP_RELAY') != '1' else 'file://-bmc-gbmcbrnicdhcp.network'} \
${@'' if d.getVar('GBMC_DHCP_RELAY') != '1' else 'file://-bmc-gbmcnicdhcp.netdev'} \
${@'' if d.getVar('GBMC_DHCP_RELAY') != '1' else 'file://-bmc-gbmcnicdhcp.network'} \
${@'' if d.getVar('GBMC_DHCP_RELAY') != '1' else 'file://gbmc-nic-dhcrelay.service.in'} \
"
S = "${WORKDIR}"
FILES:${PN} += " \
${systemd_unitdir}/network \
${sysconfdir}/nftables \
${systemd_system_unitdir} \
${datadir}/gbmc-ip-monitor \
"
RDEPENDS:${PN}:append = " \
bash \
gbmc-ip-monitor \
gbmc-net-common \
nftables-systemd \
"
do_install() {
netdir=${D}${systemd_unitdir}/network
install -d -m0755 $netdir
nftdir=${D}${sysconfdir}/nftables
install -d -m0755 $nftdir
unitdir=${D}${systemd_system_unitdir}
install -d -m0755 $unitdir
wantdir=$unitdir/multi-user.target.wants
install -d -m0755 $wantdir
install -d -m0755 ${D}${libexecdir}
install -m0755 ${WORKDIR}/gbmc-nic-ra.sh ${D}${libexecdir}/
install -m0644 ${WORKDIR}/gbmc-nic-ra@.service $unitdir/
mondir=${D}${datadir}/gbmc-ip-monitor
install -d -m0755 $mondir
sed 's,@IFS@,${GBMC_EXT_NICS},g' <${WORKDIR}/gbmc-nic-neigh.sh.in \
>$mondir/gbmc-nic-neigh.sh
uppers=
for intf in ${GBMC_EXT_NICS}; do
sed "s,@IF@,$intf,g" <${WORKDIR}/50-gbmc-nic.rules.in >$nftdir/50-gbmc-$intf.rules
sed "s,@IF@,$intf,g" <${WORKDIR}/-bmc-nic.network.in >$netdir/-bmc-$intf.network
uppers="$uppers -u ff02::1:2%%$intf"
ln -sv ../gbmc-nic-ra@.service $wantdir/gbmc-nic-ra@$intf.service
done
if [ "${GBMC_DHCP_RELAY}" = 1 ]; then
install -m0644 ${WORKDIR}/-bmc-gbmcbrnicdhcp.network $netdir/
install -m0644 ${WORKDIR}/-bmc-gbmcbrnicdhcp.netdev $netdir/
install -m0644 ${WORKDIR}/-bmc-gbmcnicdhcp.network $netdir/
install -m0644 ${WORKDIR}/-bmc-gbmcnicdhcp.netdev $netdir/
install -m0644 ${WORKDIR}/50-gbmc-nic.rules $nftdir/
sed "s,@UPPERS@,$uppers,g" <${WORKDIR}/gbmc-nic-dhcrelay.service.in \
>$unitdir/gbmc-nic-dhcrelay.service
ln -sv ../gbmc-nic-dhcrelay.service $wantdir/
fi
}
|