summaryrefslogtreecommitdiffstats
path: root/recipes-sota/rvi-sota-client/rvi-sota-client_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-sota/rvi-sota-client/rvi-sota-client_git.bb')
-rw-r--r--recipes-sota/rvi-sota-client/rvi-sota-client_git.bb155
1 files changed, 39 insertions, 116 deletions
diff --git a/recipes-sota/rvi-sota-client/rvi-sota-client_git.bb b/recipes-sota/rvi-sota-client/rvi-sota-client_git.bb
index 15aa7a4..7ce3ab5 100644
--- a/recipes-sota/rvi-sota-client/rvi-sota-client_git.bb
+++ b/recipes-sota/rvi-sota-client/rvi-sota-client_git.bb
@@ -1,137 +1,60 @@
1DESCRIPTION = "sota-client rust recipe" 1require rvi-sota-client.inc
2HOMEPAGE = "https://github.com/advancedtelematic/rvi_sota_client"
3 2
4LICENSE = "MPL-2.0"
5LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=65d26fcc2f35ea6a181ac777e42db1ea"
6 3
7inherit cargo systemd 4SYSTEMD_SERVICE_${PN} = "sota-client.service sota-client-autoprovision.service"
8
9S = "${WORKDIR}/git"
10
11SRCREV = "022cf8501f9eb84bf334a2490e6e0c67842882ab"
12
13# Generate with:
14# git describe --tags | cut -b2-
15PV = "0.2.30-2-g022cf85"
16
17BBCLASSEXTEND = "native"
18 5
19FILES_${PN} = " \ 6FILES_${PN} = " \
20 ${bindir}/sota_client \ 7/lib64 \
21 ${bindir}/sota_sysinfo.sh \ 8${bindir}/sota_client \
22 ${bindir}/system_info.sh \ 9${bindir}/sota_sysinfo.sh \
23 ${bindir}/sota_ostree.sh \ 10${bindir}/sota_provision.sh \
24 ${sysconfdir}/sota_client.version \ 11${sysconfdir}/sota_client.version \
25 ${sysconfdir}/sota_certificates \ 12${sysconfdir}/sota_certificates \
26 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/sota_client.service', '', d)} \ 13${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/sota-client.service', '', d)} \
27 " 14${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/sota-client-autoprovision.service', '', d)} \
28
29SRC_URI = " \
30crate://crates.io/aho-corasick/0.5.3 \
31crate://crates.io/bit-set/0.2.0 \
32crate://crates.io/bit-vec/0.4.3 \
33crate://crates.io/bitflags/0.4.0 \
34crate://crates.io/bitflags/0.7.0 \
35crate://crates.io/bytes/0.3.0 \
36crate://crates.io/cfg-if/0.1.0 \
37crate://crates.io/chan-signal/0.1.7 \
38crate://crates.io/chan/0.1.18 \
39crate://crates.io/cookie/0.2.5 \
40crate://crates.io/crossbeam/0.2.10 \
41crate://crates.io/dbus/0.4.1 \
42crate://crates.io/env_logger/0.3.5 \
43crate://crates.io/gcc/0.3.40 \
44crate://crates.io/gdi32-sys/0.2.0 \
45crate://crates.io/getopts/0.2.14 \
46crate://crates.io/hpack/0.2.0 \
47crate://crates.io/httparse/1.2.1 \
48crate://crates.io/hyper/0.9.14 \
49crate://crates.io/idna/0.1.0 \
50crate://crates.io/kernel32-sys/0.2.2 \
51crate://crates.io/language-tags/0.2.2 \
52crate://crates.io/lazy_static/0.1.16 \
53crate://crates.io/lazy_static/0.2.2 \
54crate://crates.io/lazycell/0.4.0 \
55crate://crates.io/libc/0.2.18 \
56crate://crates.io/log/0.3.6 \
57crate://crates.io/matches/0.1.4 \
58crate://crates.io/memchr/0.1.11 \
59crate://crates.io/mime/0.2.2 \
60crate://crates.io/mio/0.6.1 \
61crate://crates.io/miow/0.1.4 \
62crate://crates.io/net2/0.2.26 \
63crate://crates.io/nix/0.7.0 \
64crate://crates.io/nom/1.2.4 \
65crate://crates.io/num_cpus/1.2.0 \
66crate://crates.io/openssl-sys/0.9.3 \
67crate://crates.io/openssl/0.9.3 \
68crate://crates.io/pkg-config/0.3.8 \
69crate://crates.io/rand/0.3.15 \
70crate://crates.io/regex-syntax/0.3.9 \
71crate://crates.io/regex/0.1.80 \
72crate://crates.io/rust-crypto/0.2.36 \
73crate://crates.io/rustc-serialize/0.3.22 \
74crate://crates.io/rustc_version/0.1.7 \
75crate://crates.io/semver/0.1.20 \
76crate://crates.io/sha1/0.2.0 \
77crate://crates.io/slab/0.3.0 \
78crate://crates.io/solicit/0.4.4 \
79crate://crates.io/thread-id/2.0.0 \
80crate://crates.io/thread_local/0.2.7 \
81crate://crates.io/time/0.1.35 \
82crate://crates.io/toml/0.2.1 \
83crate://crates.io/traitobject/0.0.1 \
84crate://crates.io/typeable/0.1.2 \
85crate://crates.io/unicase/1.4.0 \
86crate://crates.io/unicode-bidi/0.2.3 \
87crate://crates.io/unicode-normalization/0.1.2 \
88crate://crates.io/unix_socket/0.5.0 \
89crate://crates.io/url/1.2.3 \
90crate://crates.io/user32-sys/0.2.0 \
91crate://crates.io/utf8-ranges/0.1.3 \
92crate://crates.io/void/1.0.2 \
93crate://crates.io/winapi-build/0.1.1 \
94crate://crates.io/winapi/0.2.8 \
95crate://crates.io/ws/0.5.3 \
96crate://crates.io/ws2_32-sys/0.2.1 \
97git://github.com/advancedtelematic/rvi_sota_client \
98crate-index://crates.io/213b1a455d9270888c03a42c8d29975369102caa \
99" 15"
100SRC_URI[index.md5sum] = "79f10f436dbf26737cc80445746f16b4"
101SRC_URI[index.sha256sum] = "86114b93f1f51aaf0aec3af0751d214b351f4ff9839ba031315c1b19dcbb1913"
102 16
103SYSTEMD_SERVICE_${PN} = "sota_client.service" 17DEPENDS += " openssl openssl-native dbus "
18RDEPENDS_${PN} = " \
19bash \
20curl \
21libcrypto \
22libssl \
23lshw \
24jq \
25python-petname \
26sota-launcher \
27"
104 28
105DEPENDS += " openssl " 29export SOTA_PACKED_CREDENTIALS
106RDEPENDS_${PN} = " libcrypto \ 30export SOTA_AUTOPROVISION_CREDENTIALS
107 libssl \ 31export SOTA_AUTOPROVISION_URL
108 dbus \
109 bash \
110 lshw \
111 jq \
112 "
113 32
114do_compile_prepend() { 33do_compile_prepend() {
115 export SOTA_VERSION=$(make sota-version) 34 export SOTA_VERSION=$(make sota-version)
35 cd sota-client
116} 36}
117 37
118do_install() { 38do_install() {
39 ln -fs /lib ${D}/lib64
40
119 install -d ${D}${bindir} 41 install -d ${D}${bindir}
42 install -d ${D}${sysconfdir}
43
44 echo `git log -1 --pretty=format:%H` > ${D}${sysconfdir}/sota_client.version
45 install -c ${S}/sota-client/docker/sota_certificates ${D}${sysconfdir}
46
120 install -m 0755 target/${TARGET_SYS}/release/sota_client ${D}${bindir} 47 install -m 0755 target/${TARGET_SYS}/release/sota_client ${D}${bindir}
121 install -m 0755 run/sota_sysinfo.sh ${D}${bindir} 48 install -m 0755 ${S}/sota-client/docker/sota_provision.sh ${D}${bindir}
122 ln -fs ${bindir}/sota_sysinfo.sh ${D}${bindir}/system_info.sh # For compatibilty with old sota.toml files 49 install -m 0755 ${S}/sota-client/docker/sota_sysinfo.sh ${D}${bindir}
123 install -m 0755 run/sota_ostree.sh ${D}${bindir}
124 50
125 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then 51 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
126 install -d ${D}${systemd_unitdir}/system 52 install -d ${D}/${systemd_unitdir}/system
127 if ${@bb.utils.contains('DISTRO_FEATURES', 'sota', 'true', 'false', d)}; then 53 if [ -n "$SOTA_AUTOPROVISION_CREDENTIALS" -o -n "$SOTA_PACKED_CREDENTIALS" ]; then
128 install -c ${S}/run/sota_client_ostree.service ${D}${systemd_unitdir}/system/sota_client.service 54 install -m 0644 ${WORKDIR}/sota-client-uptane.service ${D}/${systemd_unitdir}/system/sota-client.service
129 else 55 else
130 install -c ${S}/run/sota_client.service ${D}${systemd_unitdir}/system/sota_client.service 56 install -m 0644 ${WORKDIR}/sota-client-ostree.service ${D}/${systemd_unitdir}/system/sota-client.service
131 fi 57 fi
58 install -m 0644 ${WORKDIR}/sota-client-autoprovision.service ${D}/${systemd_unitdir}/system/sota-client-autoprovision.service
132 fi 59 fi
133
134 install -d ${D}${sysconfdir}
135 echo `git log -1 --pretty=format:%H` > ${D}${sysconfdir}/sota_client.version
136 install -c ${S}/run/sota_certificates ${D}${sysconfdir}
137} 60}