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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
SUMMARY = "Aktualizr SOTA Client"
DESCRIPTION = "SOTA Client application written in C++"
HOMEPAGE = "https://github.com/advancedtelematic/aktualizr"
SECTION = "base"
LICENSE = "MPL-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=9741c346eef56131163e13b9db1241b3"
DEPENDS = "boost curl openssl libarchive libsodium asn1c-native sqlite3 "
DEPENDS_append_class-target = "ostree ${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', ' libp11', '', d)} "
DEPENDS_append_class-native = "glib-2.0-native "
RDEPENDS_${PN}_class-target = "lshw "
RDEPENDS_${PN}_append_class-target = "${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'serialcan', ' slcand-start', '', d)} "
RDEPENDS_${PN}_append_class-target = " ${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'ubootenv', ' u-boot-fw-utils aktualizr-uboot-env-rollback', '', d)} "
RDEPENDS_${PN}_append_class-target = " ${PN}-tools "
RDEPENDS_${PN}-secondary_append_class-target = " ${PN}-tools "
PV = "1.0+git${SRCPV}"
PR = "7"
SRC_URI = " \
gitsm://github.com/advancedtelematic/aktualizr;branch=${BRANCH} \
file://aktualizr.service \
file://aktualizr-secondary.service \
file://aktualizr-secondary.socket \
file://aktualizr-serialcan.service \
"
SRCREV = "6b0114e4fad0619d16ed2063e8ff10e3fb8500f2"
BRANCH ?= "master"
S = "${WORKDIR}/git"
inherit cmake
inherit systemd
SYSTEMD_PACKAGES = "${PN} ${PN}-secondary"
SYSTEMD_SERVICE_${PN} = "aktualizr.service"
SYSTEMD_SERVICE_${PN}-secondary = "aktualizr-secondary.socket"
BBCLASSEXTEND =+ "native"
require garage-sign-version.inc
EXTRA_OECMAKE = "-DWARNING_AS_ERROR=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DAKTUALIZR_VERSION=${PV} \
-DBUILD_LOAD_TESTS=OFF"
EXTRA_OECMAKE_append_class-target = " -DBUILD_OSTREE=ON \
${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', '-DBUILD_P11=ON', '', d)} "
EXTRA_OECMAKE_append_class-native = " -DBUILD_SOTA_TOOLS=ON \
-DBUILD_OSTREE=OFF \
-DBUILD_SYSTEMD=OFF \
-DGARAGE_SIGN_VERSION=${GARAGE_SIGN_VERSION} \
-DGARAGE_SIGN_SHA256=${GARAGE_SIGN_SHA256}"
do_install_append () {
rm -fr ${D}${libdir}/systemd
rm -f ${D}${libdir}/sota/sota.toml # Only needed for the Debian package
install -d ${D}${libdir}/sota
install -m 0644 ${S}/config/sota_autoprov.toml ${D}/${libdir}/sota/sota_autoprov.toml
install -m 0644 ${S}/config/sota_autoprov_primary.toml ${D}/${libdir}/sota/sota_autoprov_primary.toml
install -m 0644 ${S}/config/sota_hsm_prov.toml ${D}/${libdir}/sota/sota_hsm_prov.toml
install -m 0644 ${S}/config/sota_implicit_prov_ca.toml ${D}/${libdir}/sota/sota_implicit_prov_ca.toml
install -m 0644 ${S}/config/sota_secondary.toml ${D}/${libdir}/sota/sota_secondary.toml
install -m 0644 ${S}/config/sota_uboot_env.toml ${D}/${libdir}/sota/sota_uboot_env.toml
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/aktualizr-secondary.socket ${D}${systemd_unitdir}/system/aktualizr-secondary.socket
install -m 0644 ${WORKDIR}/aktualizr-secondary.service ${D}${systemd_unitdir}/system/aktualizr-secondary.service
install -m 0700 -d ${D}${libdir}/sota/conf.d
install -m 0700 -d ${D}${sysconfdir}/sota/conf.d
}
do_install_append_class-target () {
install -m 0755 -d ${D}${systemd_unitdir}/system
aktualizr_service=${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'serialcan', '${WORKDIR}/aktualizr-serialcan.service', '${WORKDIR}/aktualizr.service', d)}
install -m 0644 ${aktualizr_service} ${D}${systemd_unitdir}/system/aktualizr.service
}
do_install_append_class-native () {
install -m 0755 ${B}/src/sota_tools/garage-sign/bin/* ${D}${bindir}
install -m 0644 ${B}/src/sota_tools/garage-sign/lib/* ${D}${libdir}
}
PACKAGES =+ " ${PN}-examples ${PN}-host-tools ${PN}-tools ${PN}-secondary "
FILES_${PN} = " \
${bindir}/aktualizr \
${bindir}/aktualizr-info \
${bindir}/aktualizr-check-discovery \
${systemd_unitdir}/system/aktualizr.service \
${libdir}/sota/conf.d \
${sysconfdir}/sota/conf.d \
"
FILES_${PN}-examples = " \
${libdir}/sota/demo_secondary.json \
${bindir}/hmi_stub \
"
FILES_${PN}-host-tools = " \
${bindir}/aktualizr-repo \
${bindir}/aktualizr_cert_provider \
${bindir}/aktualizr_implicit_writer \
${bindir}/garage-deploy \
${bindir}/garage-push \
${libdir}/sota/sota_autoprov.toml \
${libdir}/sota/sota_autoprov_primary.toml \
${libdir}/sota/sota_hsm_prov.toml \
${libdir}/sota/sota_implicit_prov_ca.toml \
${libdir}/sota/sota_uboot_env.toml \
"
FILES_${PN}-tools = " \
${bindir}/aktualizr-check-discovery \
"
FILES_${PN}-secondary = " \
${bindir}/aktualizr-secondary \
${libdir}/sota/sota_secondary.toml \
${systemd_unitdir}/system/aktualizr-secondary.socket \
${systemd_unitdir}/system/aktualizr-secondary.service \
"
# vim:set ts=4 sw=4 sts=4 expandtab:
|