summaryrefslogtreecommitdiffstats
path: root/recipes-sota/aktualizr/aktualizr_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-sota/aktualizr/aktualizr_git.bb')
-rw-r--r--recipes-sota/aktualizr/aktualizr_git.bb110
1 files changed, 110 insertions, 0 deletions
diff --git a/recipes-sota/aktualizr/aktualizr_git.bb b/recipes-sota/aktualizr/aktualizr_git.bb
new file mode 100644
index 0000000..2209031
--- /dev/null
+++ b/recipes-sota/aktualizr/aktualizr_git.bb
@@ -0,0 +1,110 @@
1SUMMARY = "Aktualizr SOTA Client"
2DESCRIPTION = "SOTA Client application written in C++"
3HOMEPAGE = "https://github.com/advancedtelematic/aktualizr"
4SECTION = "base"
5LICENSE = "MPL-2.0"
6LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=9741c346eef56131163e13b9db1241b3"
7
8DEPENDS = "boost curl openssl libarchive libsodium asn1c-native "
9DEPENDS_append_class-target = "${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', ' libp11', '', d)} "
10#DEPENDS_append_class-target = "ostree ${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', ' libp11', '', d)} "
11DEPENDS_append_class-native = "glib-2.0-native "
12
13RDEPENDS_${PN}_append_class-target = " ${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'serialcan', ' slcand-start', '', d)} "
14
15PV = "1.0+git${SRCPV}"
16PR = "9"
17
18SRC_URI = " \
19 gitsm://github.com/advancedtelematic/aktualizr;branch=${BRANCH} \
20 file://aktualizr.service \
21 file://aktualizr-secondary.service \
22 file://aktualizr-secondary.socket \
23 file://aktualizr-serialcan.service \
24 "
25
26SRCREV = "${AUTOREV}"
27BRANCH ?= "feat/daisy"
28
29S = "${WORKDIR}/git"
30
31inherit cmake
32
33inherit systemd
34
35SYSTEMD_PACKAGES = "${PN} ${PN}-secondary"
36SYSTEMD_SERVICE_${PN} = "aktualizr.service"
37SYSTEMD_SERVICE_${PN}-secondary = "aktualizr-secondary.socket"
38
39BBCLASSEXTEND =+ "native"
40
41EXTRA_OECMAKE = "-DWARNING_AS_ERROR=OFF -DCMAKE_BUILD_TYPE=Release -DAKTUALIZR_VERSION=${PV} -DBUILD_SYSTEMD=OFF "
42EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', '-DBUILD_P11=ON', '', d)} "
43EXTRA_OECMAKE_append_class-native = " -DBUILD_SOTA_TOOLS=ON "
44
45do_install_append () {
46 rm -fr ${D}${libdir}/systemd
47 rm -f ${D}${libdir}/sota/sota.toml # Only needed for the Debian package
48 install -d ${D}${libdir}/sota
49 install -m 0644 ${S}/config/sota_secondary.toml ${D}/${libdir}/sota/sota_secondary.toml
50 install -d ${D}${systemd_unitdir}/system
51 install -m 0644 ${WORKDIR}/aktualizr-secondary.socket ${D}${systemd_unitdir}/system/aktualizr-secondary.socket
52 install -m 0644 ${WORKDIR}/aktualizr-secondary.service ${D}${systemd_unitdir}/system/aktualizr-secondary.service
53}
54
55do_install_append_class-target () {
56 install -d ${D}${systemd_unitdir}/system
57 aktualizr_service=${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'serialcan', '${WORKDIR}/aktualizr-serialcan.service', '${WORKDIR}/aktualizr.service', d)}
58 install -m 0644 ${aktualizr_service} ${D}${systemd_unitdir}/system/aktualizr.service
59}
60
61do_install_append_class-native () {
62 install -d ${D}${libdir}/sota
63 install -m 0644 ${S}/config/sota_autoprov.toml ${D}/${libdir}/sota/sota_autoprov.toml
64 install -m 0644 ${S}/config/sota_autoprov_primary.toml ${D}/${libdir}/sota/sota_autoprov_primary.toml
65 install -m 0644 ${S}/config/sota_hsm_prov.toml ${D}/${libdir}/sota/sota_hsm_prov.toml
66 install -m 0644 ${S}/config/sota_implicit_prov.toml ${D}/${libdir}/sota/sota_implicit_prov.toml
67 install -m 0644 ${S}/config/sota_implicit_prov_ca.toml ${D}/${libdir}/sota/sota_implicit_prov_ca.toml
68
69 install -m 0755 ${B}/src/sota_tools/garage-sign-prefix/src/garage-sign/bin/* ${D}${bindir}
70 install -m 0644 ${B}/src/sota_tools/garage-sign-prefix/src/garage-sign/lib/* ${D}${libdir}
71}
72
73PACKAGES =+ " ${PN}-common ${PN}-examples ${PN}-host-tools ${PN}-secondary "
74
75FILES_${PN} = " \
76 ${bindir}/aktualizr \
77 ${bindir}/aktualizr-info \
78 ${bindir}/aktualizr-check-discovery \
79 ${systemd_unitdir}/system/aktualizr.service \
80 "
81
82FILES_${PN}-common = " \
83 ${libdir}/sota/schemas \
84 "
85
86FILES_${PN}-examples = " \
87 ${libdir}/sota/demo_secondary.json \
88 ${bindir}/example-interface \
89 ${bindir}/isotp-test-interface \
90 "
91
92FILES_${PN}-host-tools = " \
93 ${bindir}/aktualizr_cert_provider \
94 ${bindir}/aktualizr_implicit_writer \
95 ${bindir}/garage-deploy \
96 ${bindir}/garage-push \
97 "
98
99FILES_${PN}-secondary = " \
100 ${bindir}/aktualizr-secondary \
101 ${libdir}/sota/sota_secondary.toml \
102 ${systemd_unitdir}/system/aktualizr-secondary.socket \
103 ${systemd_unitdir}/system/aktualizr-secondary.service \
104 "
105
106# Both primary and secondary need the SQL Schemas
107RDEPENDS_${PN}_class-target =+ "${PN}-common"
108RDEPENDS_${PN}-secondary_class-target =+ "${PN}-common"
109
110# vim:set ts=4 sw=4 sts=4 expandtab: