summaryrefslogtreecommitdiffstats
path: root/meta-openbmc-machines/meta-openpower/meta-ibm/recipes-phosphor/logging/ibm-logging.bb
blob: e32678708e4aba8fcb0c2468c4f805128d24f448 (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 = "IBM enhanced error logging"
DESCRIPTION = "Adds additional error logging functionality for IBM systems"
PR = "r1"
HOMEPAGE = "https://github.com/openbmc/ibm-logging"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
SRC_URI += "git://github.com/openbmc/ibm-logging"
SRCREV = "34af47ff623ce077670d270693f36e4c51adfa10"

inherit autotools
inherit pkgconfig
inherit pythonnative
inherit obmc-phosphor-dbus-service
inherit obmc-phosphor-systemd
inherit phosphor-dbus-yaml

DEPENDS += " \
         ibm-dbus-interfaces \
         phosphor-logging \
         nlohmann-json \
         autoconf-archive-native \
         sdbusplus \
         "

RDEPENDS_${PN} += " \
         phosphor-logging \
         phosphor-dbus-interfaces \
         sdbusplus \
         "

S = "${WORKDIR}/git"

SRC_URI += "file://policyTable.json"

PACKAGECONFIG ??= ""
PACKAGECONFIG[policy-interface] = "--enable-policy-interface, --disable-policy-interface,,"

SERVICE = "com.ibm.Logging.service"
DBUS_SERVICE_${PN} += "${SERVICE}"

#The link is so that this service will restart if phosphor-logging restarts.
#The BindsTo in the service will not do the restart, it will only do the
#original start and a stop.
LOG_FMT = "../${SERVICE}:xyz.openbmc_project.Logging.service.wants/${SERVICE}"
SYSTEMD_LINK_${PN} += "${LOG_FMT}"

do_install_append(){

    install -d ${D}${datadir}/ibm-logging

    ${S}/condense_policy.py \
        -p ${WORKDIR}/policyTable.json \
        -c ${D}/${datadir}/ibm-logging/policy.json
}

#An optional task to generate a report on all of the errors
#created by OpenBMC, and compare these errors to what is
#in the error policy table
do_report(){

    ${S}/create_error_reports.py \
        -p ${D}/${datadir}/ibm-logging/policy.json \
        -y ${STAGING_DIR_NATIVE}${yaml_dir} \
        -e ${WORKDIR}/build/all_errors.json \
        -x ${WORKDIR}/build/policy_crosscheck.txt

}

addtask report

#Collect all of the error YAML files into our recipe-sysroot-native dir.
do_report[depends] = " \
                     ibm-logging:do_install \
                     phosphor-logging-error-logs-native:do_populate_sysroot \
                     phosphor-dbus-interfaces-native:do_populate_sysroot \
                     openpower-dbus-interfaces-native:do_populate_sysroot \
                     openpower-occ-control-native:do_populate_sysroot  \
                     openpower-debug-collector-native:do_populate_sysroot \
                     "
OpenPOWER on IntegriCloud