summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTING.adoc15
-rw-r--r--README.adoc10
-rw-r--r--classes/image_types_ostree.bbclass2
-rw-r--r--classes/sdcard_image-rpi-ota.bbclass6
-rw-r--r--classes/sota_bleeding.inc1
-rw-r--r--lib/oeqa/selftest/garage_push.py39
-rw-r--r--recipes-sota/aktualizr/aktualizr-auto-prov.bb6
-rw-r--r--recipes-sota/aktualizr/aktualizr-implicit-prov.bb8
-rw-r--r--recipes-sota/aktualizr/aktualizr-native_git.bb16
-rw-r--r--recipes-sota/aktualizr/aktualizr_common.inc19
-rw-r--r--recipes-sota/aktualizr/aktualizr_git.bb54
-rw-r--r--recipes-sota/garage-sign/garage-sign.bb34
-rw-r--r--recipes-sota/rvi-sota-client/rvi-sota-client.inc116
-rw-r--r--recipes-sota/sota-tools/sota-tools_git.bb24
14 files changed, 216 insertions, 134 deletions
diff --git a/CONTRIBUTING.adoc b/CONTRIBUTING.adoc
new file mode 100644
index 0000000..7255a72
--- /dev/null
+++ b/CONTRIBUTING.adoc
@@ -0,0 +1,15 @@
1= Contributing
2
3We welcome pull requests from everyone. Here are some notes that are useful for people working on meta-updater (this repository) and https://github.com/advancedtelematic/aktualizr[aktualizr].
4
5== Options for local.conf/site.conf
6
7[options="header"]
8|======================
9| Option | Effect
10| `require classes/sota_bleeding.inc` | Always build the latest master of Aktualizr
11| `BRANCH_pn-aktualizr = "mybranch"`
12`BRANCH_pn-aktualizr-native = "mybranch"` | Build `mybranch` of Aktualizr (note that both of these need to be set). This will normally be used with `require classes/sota_bleeding.inc`
13| `TOOLCHAIN_HOST_TASK_append = " nativesdk-cmake "` | Use with `bitbake -c populate_sdk core-image-minimal` to build a SDK
14
15
diff --git a/README.adoc b/README.adoc
index 9615f65..47c0a2b 100644
--- a/README.adoc
+++ b/README.adoc
@@ -71,7 +71,7 @@ Although we have used U-Boot so far, other boot loaders can be configured work w
71* OSTREE_BRANCHNAME - the branch your rootfs will be committed to. Defaults to "ota" 71* OSTREE_BRANCHNAME - the branch your rootfs will be committed to. Defaults to "ota"
72* OSTREE_OSNAME - OS deployment name on your target device. For more information about deployments and osnames see the https://ostree.readthedocs.io/en/latest/manual/deployment/[OSTree documentation]. Defaults to "poky". 72* OSTREE_OSNAME - OS deployment name on your target device. For more information about deployments and osnames see the https://ostree.readthedocs.io/en/latest/manual/deployment/[OSTree documentation]. Defaults to "poky".
73* OSTREE_INITRAMFS_IMAGE - initramfs/initrd image that is used as a proxy while booting into OSTree deployment. Do not change this setting unless you are sure that your initramfs can serve as such a proxy. 73* OSTREE_INITRAMFS_IMAGE - initramfs/initrd image that is used as a proxy while booting into OSTree deployment. Do not change this setting unless you are sure that your initramfs can serve as such a proxy.
74* OSTREE_PUSH_CREDENTIALS - when set, your ostree commit will be pushed to a remote repo as a bitbake step. This should be the path to a JSON credentials file in https://github.com/advancedtelematic/sota-tools#credentials[the format accepted by garage-push]. 74* SOTA_PACKED_CREDENTIALS - when set, your ostree commit will be pushed to a remote repo as a bitbake step. This should be the path to a JSON credentials file in https://github.com/advancedtelematic/sota-tools#credentials[the format accepted by garage-push].
75 75
76== Usage 76== Usage
77 77
@@ -113,12 +113,12 @@ ostree pull agl-snapshot agl-ota
113ostree admin deploy --os=agl agl-snapshot:agl-ota 113ostree admin deploy --os=agl agl-snapshot:agl-ota
114.... 114....
115 115
116=== SOTA tools 116=== garage-push
117 117
118SOTA tools currently contains only one tool, garage-push, which lets you push the changes in OSTree repository generated by bitbake process. It communicates with an http server capable of querying files with HEAD requests and uploading them with POST requests. In particular, this can be used with http://www.atsgarage.com/[ATS Garage]. garage-push is used as follows: 118The https://github.com/advancedtelematic/aktualizr[aktualizr repo] contains a tool, garage-push, which lets you push the changes in OSTree repository generated by bitbake process. It communicates with an http server capable of querying files with HEAD requests and uploading them with POST requests. In particular, this can be used with http://www.atsgarage.com/[ATS Garage]. garage-push is used as follows:
119 119
120.... 120....
121garage-push --repo=/path/to/ostree-repo --ref=mybranch --credentials=/path/to/credentials.json 121garage-push --repo=/path/to/ostree-repo --ref=mybranch --credentials=/path/to/credentials.zip
122.... 122....
123 123
124You can set OSTREE_PUSH_CREDENTIALS in your local.conf to make your build results be automatically synchronized with a remote server. Credentials are stored in the JSON format described in the https://github.com/advancedtelematic/sota-tools#credentials[sota-tools README]. 124You can set SOTA_PACKED_CREDENTIALS in your local.conf to make your build results be automatically synchronized with a remote server. Credentials are stored in the JSON format described in the https://github.com/advancedtelematic/aktualizr/blob/master/README.sotatools.adoc[garage-push README]. This JSON file can be optionally stored inside a zip file, although if it is stored this way, the JSON file must be named treehub.json.
diff --git a/classes/image_types_ostree.bbclass b/classes/image_types_ostree.bbclass
index adcafe3..1f8e195 100644
--- a/classes/image_types_ostree.bbclass
+++ b/classes/image_types_ostree.bbclass
@@ -159,7 +159,7 @@ IMAGE_CMD_ostree () {
159} 159}
160 160
161IMAGE_TYPEDEP_ostreepush = "ostree" 161IMAGE_TYPEDEP_ostreepush = "ostree"
162IMAGE_DEPENDS_ostreepush = "sota-tools-native:do_populate_sysroot" 162IMAGE_DEPENDS_ostreepush = "aktualizr-native:do_populate_sysroot"
163IMAGE_CMD_ostreepush () { 163IMAGE_CMD_ostreepush () {
164 # Print warnings if credetials are not set or if the file has not been found. 164 # Print warnings if credetials are not set or if the file has not been found.
165 if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then 165 if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then
diff --git a/classes/sdcard_image-rpi-ota.bbclass b/classes/sdcard_image-rpi-ota.bbclass
index 81d71e9..9c859fe 100644
--- a/classes/sdcard_image-rpi-ota.bbclass
+++ b/classes/sdcard_image-rpi-ota.bbclass
@@ -73,10 +73,6 @@ SDIMG_OTA = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.rpi-sdimg-ota"
73# Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS. 73# Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS.
74FATPAYLOAD ?= "" 74FATPAYLOAD ?= ""
75 75
76IMAGEDATESTAMP = "${@time.strftime('%Y.%m.%d',time.gmtime())}"
77IMAGE_CMD_rpi-sdimg-ota[vardepsexclude] += "IMAGEDATESTAMP"
78IMAGE_CMD_rpi-sdimg-ota[vardepsexclude] += "DATETIME"
79
80IMAGE_CMD_rpi-sdimg-ota () { 76IMAGE_CMD_rpi-sdimg-ota () {
81 77
82 # Align partitions 78 # Align partitions
@@ -151,7 +147,7 @@ IMAGE_CMD_rpi-sdimg-ota () {
151 fi 147 fi
152 148
153 # Add stamp file 149 # Add stamp file
154 echo "${IMAGE_NAME}-${IMAGEDATESTAMP}" > ${WORKDIR}/image-version-info 150 echo "${IMAGE_NAME}" > ${WORKDIR}/image-version-info
155 mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}//image-version-info :: 151 mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}//image-version-info ::
156 152
157 # Burn Partitions 153 # Burn Partitions
diff --git a/classes/sota_bleeding.inc b/classes/sota_bleeding.inc
index 77d004b..fc5947d 100644
--- a/classes/sota_bleeding.inc
+++ b/classes/sota_bleeding.inc
@@ -1,2 +1 @@
1SRCREV_pn-aktualizr ?= "${AUTOREV}" SRCREV_pn-aktualizr ?= "${AUTOREV}"
2SRCREV_pn-aktualizr-native ?= "${AUTOREV}"
diff --git a/lib/oeqa/selftest/garage_push.py b/lib/oeqa/selftest/garage_push.py
new file mode 100644
index 0000000..3490de5
--- /dev/null
+++ b/lib/oeqa/selftest/garage_push.py
@@ -0,0 +1,39 @@
1import unittest
2import os
3import logging
4
5from oeqa.selftest.base import oeSelfTest
6from oeqa.utils.commands import runCmd, bitbake, get_bb_var
7
8class GaragePushTests(oeSelfTest):
9
10 @classmethod
11 def setUpClass(cls):
12 # Ensure we have the right data in pkgdata
13 logger = logging.getLogger("selftest")
14 logger.info('Running bitbake to build aktualizr-native tools')
15 bitbake('aktualizr-native garage-sign-native')
16
17 def test_help(self):
18 image_dir = get_bb_var("D", "aktualizr-native")
19 bin_dir = get_bb_var("bindir", "aktualizr-native")
20 gp_path = os.path.join(image_dir, bin_dir[1:], 'garage-push')
21 result = runCmd('%s --help' % gp_path, ignore_status=True)
22 self.assertEqual(result.status, 0, "Status not equal to 0. output: %s" % result.output)
23
24 def test_java(self):
25 result = runCmd('which java', ignore_status=True)
26 self.assertEqual(result.status, 0, "Java not found.")
27
28 def test_sign(self):
29 image_dir = get_bb_var("D", "garage-sign-native")
30 bin_dir = get_bb_var("bindir", "garage-sign-native")
31 gs_path = os.path.join(image_dir, bin_dir[1:], 'garage-sign')
32 result = runCmd('%s --help' % gs_path, ignore_status=True)
33 self.assertEqual(result.status, 0, "Status not equal to 0. output: %s" % result.output)
34
35 def test_push(self):
36 bitbake('core-image-minimal')
37 self.write_config('IMAGE_INSTALL_append = " man "')
38 bitbake('core-image-minimal')
39
diff --git a/recipes-sota/aktualizr/aktualizr-auto-prov.bb b/recipes-sota/aktualizr/aktualizr-auto-prov.bb
index 48777b2..4f9fe4f 100644
--- a/recipes-sota/aktualizr/aktualizr-auto-prov.bb
+++ b/recipes-sota/aktualizr/aktualizr-auto-prov.bb
@@ -39,8 +39,8 @@ do_install_append() {
39 if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then 39 if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then
40 install -d ${D}/${systemd_unitdir}/system 40 install -d ${D}/${systemd_unitdir}/system
41 install -m 0644 ${WORKDIR}/aktualizr-autoprovision.service ${D}/${systemd_unitdir}/system/aktualizr.service 41 install -m 0644 ${WORKDIR}/aktualizr-autoprovision.service ${D}/${systemd_unitdir}/system/aktualizr.service
42 install -d ${D}/usr/lib/sota 42 install -d ${D}${libdir}/sota
43 install -m "0644" ${WORKDIR}/sota_autoprov.toml ${D}/usr/lib/sota/sota.toml 43 install -m "0644" ${WORKDIR}/sota_autoprov.toml ${D}${libdir}/sota/sota.toml
44 44
45 # deploy SOTA credentials 45 # deploy SOTA credentials
46 if [ -e ${SOTA_PACKED_CREDENTIALS} ]; then 46 if [ -e ${SOTA_PACKED_CREDENTIALS} ]; then
@@ -57,6 +57,6 @@ do_install_append() {
57 57
58FILES_${PN} = " \ 58FILES_${PN} = " \
59 ${systemd_unitdir}/system/aktualizr.service \ 59 ${systemd_unitdir}/system/aktualizr.service \
60 /usr/lib/sota/sota.toml \ 60 ${libdir}/sota/sota.toml \
61 /var/sota/sota_provisioning_credentials.zip \ 61 /var/sota/sota_provisioning_credentials.zip \
62 " 62 "
diff --git a/recipes-sota/aktualizr/aktualizr-implicit-prov.bb b/recipes-sota/aktualizr/aktualizr-implicit-prov.bb
index a01ef48..21e38c9 100644
--- a/recipes-sota/aktualizr/aktualizr-implicit-prov.bb
+++ b/recipes-sota/aktualizr/aktualizr-implicit-prov.bb
@@ -22,13 +22,13 @@ inherit systemd
22do_install() { 22do_install() {
23 install -d ${D}/${systemd_unitdir}/system 23 install -d ${D}/${systemd_unitdir}/system
24 install -m 0644 ${WORKDIR}/aktualizr-autoprovision.service ${D}/${systemd_unitdir}/system/aktualizr.service 24 install -m 0644 ${WORKDIR}/aktualizr-autoprovision.service ${D}/${systemd_unitdir}/system/aktualizr.service
25 install -d ${D}/usr/lib/sota 25 install -d ${D}${libdir}/sota
26 aktualizr_implicit_writer -c ${SOTA_PACKED_CREDENTIALS} \ 26 aktualizr_implicit_writer -c ${SOTA_PACKED_CREDENTIALS} \
27 -i ${WORKDIR}/sota_implicit_prov.toml -o ${D}/usr/lib/sota/sota.toml -p ${D} 27 -i ${WORKDIR}/sota_implicit_prov.toml -o ${D}${libdir}/sota/sota.toml -p ${D}
28} 28}
29 29
30FILES_${PN} = " \ 30FILES_${PN} = " \
31 ${systemd_unitdir}/system/aktualizr.service \ 31 ${systemd_unitdir}/system/aktualizr.service \
32 /usr/lib/sota/sota.toml \ 32 ${libdir}/sota/sota.toml \
33 /usr/lib/sota/root.crt \ 33 ${libdir}/sota/root.crt \
34 " 34 "
diff --git a/recipes-sota/aktualizr/aktualizr-native_git.bb b/recipes-sota/aktualizr/aktualizr-native_git.bb
deleted file mode 100644
index 59479fd..0000000
--- a/recipes-sota/aktualizr/aktualizr-native_git.bb
+++ /dev/null
@@ -1,16 +0,0 @@
1require aktualizr_common.inc
2
3DEPENDS = "boost-native openssl-native libarchive-native libsodium-native"
4
5inherit native
6
7EXTRA_OECMAKE = "-DWARNING_AS_ERROR=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_OSTREE=OFF -DAKTUALIZR_VERSION=${PV}"
8
9do_install_append () {
10 rm ${D}${bindir}/aktualizr
11 rm ${D}${bindir}/aktualizr_cert_provider
12}
13
14FILES_${PN} = " \
15 ${bindir}/aktualizr_implicit_writer \
16 "
diff --git a/recipes-sota/aktualizr/aktualizr_common.inc b/recipes-sota/aktualizr/aktualizr_common.inc
deleted file mode 100644
index 7ed3614..0000000
--- a/recipes-sota/aktualizr/aktualizr_common.inc
+++ /dev/null
@@ -1,19 +0,0 @@
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
8PV = "1.0+git${SRCPV}"
9PR = "7"
10
11SRC_URI = " \
12 git://github.com/advancedtelematic/aktualizr;branch=${BRANCH} \
13 "
14SRCREV = "59c276c1d4800d025594b53900ee964533695731"
15BRANCH ?= "master"
16
17S = "${WORKDIR}/git"
18
19inherit cmake
diff --git a/recipes-sota/aktualizr/aktualizr_git.bb b/recipes-sota/aktualizr/aktualizr_git.bb
index 1b3986a..470c9bf 100644
--- a/recipes-sota/aktualizr/aktualizr_git.bb
+++ b/recipes-sota/aktualizr/aktualizr_git.bb
@@ -1,22 +1,52 @@
1require aktualizr_common.inc 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"
2 7
3DEPENDS = "boost curl jansson openssl libarchive libsodium ostree" 8DEPENDS = "boost curl openssl libarchive libsodium "
4RDEPENDS_${PN} = "lshw" 9DEPENDS_append_class-target = "jansson ostree ${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', ' libp11', '', d)} "
10DEPENDS_append_class-native = "glib-2.0-native "
5 11
6DEPENDS_append = "${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', ' libp11', '', d)}" 12RDEPENDS_${PN}_class-target = "lshw "
7RDEPENDS_${PN}_append = "${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', ' engine-pkcs11', '', d)}" 13RDEPENDS_${PN}_append_class-target = "${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', ' engine-pkcs11', '', d)} "
8RDEPENDS_${PN}_append = "${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm-test', ' softhsm softhsm-testtoken', '', d)}" 14RDEPENDS_${PN}_append_class-target = "${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm-test', ' softhsm softhsm-testtoken', '', d)} "
9 15
10inherit systemd 16PV = "1.0+git${SRCPV}"
17PR = "7"
11 18
12EXTRA_OECMAKE = "-DWARNING_AS_ERROR=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_OSTREE=ON ${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', '-DBUILD_P11=ON', '', d)} -DAKTUALIZR_VERSION=${PV}" 19SRC_URI = " \
20 git://github.com/advancedtelematic/aktualizr;branch=${BRANCH} \
21 "
22SRCREV = "67c4f44c4136d16871726449502e3926098e8524"
23BRANCH ?= "master"
24
25S = "${WORKDIR}/git"
26
27inherit cmake
28
29BBCLASSEXTEND =+ "native"
30
31EXTRA_OECMAKE = "-DWARNING_AS_ERROR=OFF -DCMAKE_BUILD_TYPE=Release -DAKTUALIZR_VERSION=${PV} "
32EXTRA_OECMAKE_append_class-target = "-DBUILD_OSTREE=ON ${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', '-DBUILD_P11=ON', '', d)} "
33EXTRA_OECMAKE_append_class-native = "-DBUILD_SOTA_TOOLS=ON -DBUILD_OSTREE=OFF "
13 34
14do_install_append () { 35do_install_append () {
15 rm ${D}${bindir}/aktualizr_cert_provider 36 rm -f ${D}${bindir}/aktualizr_cert_provider
16 rm ${D}${bindir}/aktualizr_implicit_writer 37 rm -f ${D}${bindir}/garage-deploy
17 rm ${D}${bindir}/garage-deploy 38}
39do_install_append_class-target () {
40 rm -f ${D}${bindir}/aktualizr_implicit_writer
41}
42do_install_append_class-native () {
43 rm -f ${D}${bindir}/aktualizr
18} 44}
19 45
20FILES_${PN} = " \ 46FILES_${PN}_class-target = " \
21 ${bindir}/aktualizr \ 47 ${bindir}/aktualizr \
22 " 48 "
49FILES_${PN}_class-native = " \
50 ${bindir}/aktualizr_implicit_writer \
51 ${bindir}/garage-push \
52 "
diff --git a/recipes-sota/garage-sign/garage-sign.bb b/recipes-sota/garage-sign/garage-sign.bb
new file mode 100644
index 0000000..ccd7299
--- /dev/null
+++ b/recipes-sota/garage-sign/garage-sign.bb
@@ -0,0 +1,34 @@
1SUMMARY = "garage-sign"
2DESCRIPTION = "Metadata signing tool for ATS Garage"
3HOMEPAGE = "https://ats-tuf-cli-releases.s3-eu-central-1.amazonaws.com/index.html"
4SECTION = "base"
5LICENSE = "CLOSED"
6LIC_FILES_CHKSUM = "file://${S}/docs/LICENSE;md5=3025e77db7bd3f1d616b3ffd11d54c94"
7DEPENDS = ""
8
9PV = "0.2.0-6-g6af6ecd"
10
11SRC_URI = " \
12 https://ats-tuf-cli-releases.s3-eu-central-1.amazonaws.com/cli-${PV}.tgz \
13 "
14
15SRC_URI[md5sum] = "39941607ddef3a93476e267ad7bf6280"
16SRC_URI[sha256sum] = "fbd2ea56f21341146844b02837377b08e63a3e361079e2c65142c2ed881c3b5d"
17
18S = "${WORKDIR}/${BPN}"
19
20BBCLASSEXTEND =+ "native"
21
22do_install() {
23 install -d ${D}${bindir}
24 install -m "0755" -t ${D}${bindir} ${S}/bin/*
25 install -d ${D}${libdir}
26 install -m "0644" -t ${D}${libdir} ${S}/lib/*
27}
28
29FILES_${PN} = " \
30 /usr/bin \
31 /usr/bin/garage-sign.bat \
32 /usr/bin/garage-sign \
33 /usr/lib/* \
34 "
diff --git a/recipes-sota/rvi-sota-client/rvi-sota-client.inc b/recipes-sota/rvi-sota-client/rvi-sota-client.inc
index 6718bab..712b9b3 100644
--- a/recipes-sota/rvi-sota-client/rvi-sota-client.inc
+++ b/recipes-sota/rvi-sota-client/rvi-sota-client.inc
@@ -13,12 +13,12 @@ SRC_URI[index.md5sum] = "6a635e8a081b4d4ba4cebffd721c2d7d"
13SRC_URI[index.sha256sum] = "1913c41d4b8de89a931b6f9e418f83e70a083e12e6c247e8510ee932571ebae2" 13SRC_URI[index.sha256sum] = "1913c41d4b8de89a931b6f9e418f83e70a083e12e6c247e8510ee932571ebae2"
14 14
15# also update PV and SRC_URI crates when updating SRCREV 15# also update PV and SRC_URI crates when updating SRCREV
16SRCREV = "d41540a54ee7bba20835b337f3a477d5f1386c76" 16SRCREV = "be8ec83af2051a2b2499ce8878242771c65f0f1c"
17 17
18PR = "1" 18PR = "1"
19 19
20# generate with: `make package-version` 20# generate with: `make package-version`
21PV = "0.2.33-76-gd41540a" 21PV = "0.2.34-8-gbe8ec83"
22 22
23# generate with: `make yocto-version` 23# generate with: `make yocto-version`
24SRC_URI = " \ 24SRC_URI = " \
@@ -27,114 +27,142 @@ file://sota-client-autoprovision.service \
27file://sota-client-ostree.service \ 27file://sota-client-ostree.service \
28file://sota-client-uptane.service \ 28file://sota-client-uptane.service \
29file://sota-installer.service \ 29file://sota-installer.service \
30crate://crates.io/adler32/1.0.2 \
30crate://crates.io/advapi32-sys/0.2.0 \ 31crate://crates.io/advapi32-sys/0.2.0 \
31crate://crates.io/aho-corasick/0.6.3 \ 32crate://crates.io/aho-corasick/0.6.3 \
32crate://crates.io/ansi_term/0.9.0 \ 33crate://crates.io/ansi_term/0.9.0 \
33crate://crates.io/antidote/1.0.0 \ 34crate://crates.io/antidote/1.0.0 \
34crate://crates.io/atty/0.2.2 \ 35crate://crates.io/atty/0.2.3 \
35crate://crates.io/backtrace/0.3.2 \ 36crate://crates.io/backtrace/0.3.3 \
36crate://crates.io/backtrace-sys/0.1.11 \ 37crate://crates.io/backtrace-sys/0.1.15 \
37crate://crates.io/base64/0.5.2 \ 38crate://crates.io/base64/0.6.0 \
39crate://crates.io/bincode/0.9.0 \
38crate://crates.io/bit-set/0.4.0 \ 40crate://crates.io/bit-set/0.4.0 \
39crate://crates.io/bit-vec/0.4.4 \ 41crate://crates.io/bit-vec/0.4.4 \
42crate://crates.io/bitflags/0.7.0 \
40crate://crates.io/bitflags/0.9.1 \ 43crate://crates.io/bitflags/0.9.1 \
44crate://crates.io/block-buffer/0.2.0 \
45crate://crates.io/byte-tools/0.2.0 \
41crate://crates.io/byteorder/1.1.0 \ 46crate://crates.io/byteorder/1.1.0 \
42crate://crates.io/bytes/0.4.4 \ 47crate://crates.io/bytes/0.4.5 \
48crate://crates.io/cc/1.0.1 \
43crate://crates.io/cfg-if/0.1.2 \ 49crate://crates.io/cfg-if/0.1.2 \
44crate://crates.io/chan/0.1.19 \ 50crate://crates.io/chan/0.1.19 \
45crate://crates.io/chan-signal/0.2.0 \ 51crate://crates.io/chan-signal/0.3.1 \
46crate://crates.io/chrono/0.4.0 \ 52crate://crates.io/chrono/0.4.0 \
47crate://crates.io/clap/2.25.0 \ 53crate://crates.io/clap/2.26.2 \
54crate://crates.io/coco/0.1.1 \
55crate://crates.io/constant_time_eq/0.1.3 \
48crate://crates.io/core-foundation/0.2.3 \ 56crate://crates.io/core-foundation/0.2.3 \
49crate://crates.io/core-foundation-sys/0.2.3 \ 57crate://crates.io/core-foundation-sys/0.2.3 \
50crate://crates.io/crossbeam/0.2.10 \ 58crate://crates.io/crossbeam/0.3.0 \
51crate://crates.io/crypt32-sys/0.2.0 \ 59crate://crates.io/crypt32-sys/0.2.0 \
60crate://crates.io/crypto-mac/0.4.0 \
52crate://crates.io/dbghelp-sys/0.2.0 \ 61crate://crates.io/dbghelp-sys/0.2.0 \
53crate://crates.io/dbus/0.5.3 \ 62crate://crates.io/dbus/0.5.4 \
54crate://crates.io/dtoa/0.4.1 \ 63crate://crates.io/digest/0.6.2 \
64crate://crates.io/dtoa/0.4.2 \
65crate://crates.io/either/1.2.0 \
55crate://crates.io/env_logger/0.4.3 \ 66crate://crates.io/env_logger/0.4.3 \
56crate://crates.io/error-chain/0.10.0 \ 67crate://crates.io/error-chain/0.10.0 \
57crate://crates.io/filetime/0.1.10 \ 68crate://crates.io/fake-simd/0.1.2 \
69crate://crates.io/filetime/0.1.14 \
58crate://crates.io/foreign-types/0.2.0 \ 70crate://crates.io/foreign-types/0.2.0 \
59crate://crates.io/gcc/0.3.51 \ 71crate://crates.io/fuchsia-zircon/0.2.1 \
60crate://crates.io/getopts/0.2.14 \ 72crate://crates.io/fuchsia-zircon-sys/0.2.0 \
73crate://crates.io/futures/0.1.16 \
74crate://crates.io/gcc/0.3.54 \
75crate://crates.io/generic-array/0.8.3 \
76crate://crates.io/getopts/0.2.15 \
61crate://crates.io/hex/0.2.0 \ 77crate://crates.io/hex/0.2.0 \
78crate://crates.io/hmac/0.4.2 \
62crate://crates.io/httparse/1.2.3 \ 79crate://crates.io/httparse/1.2.3 \
63crate://crates.io/hyper/0.10.12 \ 80crate://crates.io/hyper/0.10.13 \
64crate://crates.io/hyper-native-tls/0.2.4 \ 81crate://crates.io/hyper-native-tls/0.2.4 \
65crate://crates.io/idna/0.1.4 \ 82crate://crates.io/idna/0.1.4 \
66crate://crates.io/iovec/0.1.0 \ 83crate://crates.io/iovec/0.1.1 \
67crate://crates.io/itoa/0.3.1 \ 84crate://crates.io/itoa/0.3.4 \
68crate://crates.io/kernel32-sys/0.2.2 \ 85crate://crates.io/kernel32-sys/0.2.2 \
69crate://crates.io/language-tags/0.2.2 \ 86crate://crates.io/language-tags/0.2.2 \
70crate://crates.io/lazy_static/0.2.8 \ 87crate://crates.io/lazy_static/0.2.9 \
71crate://crates.io/libc/0.2.26 \ 88crate://crates.io/libc/0.2.32 \
72crate://crates.io/libflate/0.1.5 \ 89crate://crates.io/libdbus-sys/0.1.1 \
90crate://crates.io/libflate/0.1.11 \
73crate://crates.io/log/0.3.8 \ 91crate://crates.io/log/0.3.8 \
74crate://crates.io/maplit/0.1.4 \ 92crate://crates.io/maplit/0.1.5 \
75crate://crates.io/matches/0.1.6 \ 93crate://crates.io/matches/0.1.6 \
76crate://crates.io/memchr/1.0.1 \ 94crate://crates.io/memchr/1.0.1 \
77crate://crates.io/metadeps/1.1.2 \ 95crate://crates.io/metadeps/1.1.2 \
78crate://crates.io/mime/0.2.6 \ 96crate://crates.io/mime/0.2.6 \
79crate://crates.io/native-tls/0.1.4 \ 97crate://crates.io/native-tls/0.1.4 \
80crate://crates.io/net2/0.2.29 \ 98crate://crates.io/net2/0.2.31 \
99crate://crates.io/nodrop/0.1.9 \
81crate://crates.io/num/0.1.40 \ 100crate://crates.io/num/0.1.40 \
82crate://crates.io/num-integer/0.1.35 \ 101crate://crates.io/num-integer/0.1.35 \
83crate://crates.io/num-iter/0.1.34 \ 102crate://crates.io/num-iter/0.1.34 \
84crate://crates.io/num-traits/0.1.40 \ 103crate://crates.io/num-traits/0.1.40 \
85crate://crates.io/num_cpus/1.6.2 \ 104crate://crates.io/num_cpus/1.7.0 \
86crate://crates.io/openssl/0.9.14 \ 105crate://crates.io/odds/0.2.25 \
87crate://crates.io/openssl-sys/0.9.14 \ 106crate://crates.io/openssl/0.9.19 \
88crate://crates.io/pem/0.4.0 \ 107crate://crates.io/openssl-sys/0.9.19 \
108crate://crates.io/pem/0.4.1 \
89crate://crates.io/percent-encoding/1.0.0 \ 109crate://crates.io/percent-encoding/1.0.0 \
90crate://crates.io/pkg-config/0.3.9 \ 110crate://crates.io/pkg-config/0.3.9 \
91crate://crates.io/quote/0.3.15 \ 111crate://crates.io/quote/0.3.15 \
92crate://crates.io/rand/0.3.15 \ 112crate://crates.io/rand/0.3.17 \
93crate://crates.io/redox_syscall/0.1.26 \ 113crate://crates.io/rayon/0.8.2 \
114crate://crates.io/rayon-core/1.2.1 \
115crate://crates.io/redox_syscall/0.1.31 \
116crate://crates.io/redox_termios/0.1.1 \
94crate://crates.io/regex/0.2.2 \ 117crate://crates.io/regex/0.2.2 \
95crate://crates.io/regex-syntax/0.4.1 \ 118crate://crates.io/regex-syntax/0.4.1 \
96crate://crates.io/reqwest/0.6.2 \ 119crate://crates.io/reqwest/0.6.2 \
97crate://crates.io/ring/0.7.1 \ 120crate://crates.io/ring/0.12.1 \
98crate://crates.io/rust-crypto/0.2.36 \ 121crate://crates.io/rust-crypto/0.2.36 \
99crate://crates.io/rustc-demangle/0.1.4 \ 122crate://crates.io/rustc-demangle/0.1.5 \
100crate://crates.io/rustc-serialize/0.3.24 \ 123crate://crates.io/rustc-serialize/0.3.24 \
101crate://crates.io/schannel/0.1.7 \ 124crate://crates.io/safemem/0.2.0 \
125crate://crates.io/schannel/0.1.8 \
126crate://crates.io/scopeguard/0.3.2 \
102crate://crates.io/secur32-sys/0.2.0 \ 127crate://crates.io/secur32-sys/0.2.0 \
103crate://crates.io/security-framework/0.1.14 \ 128crate://crates.io/security-framework/0.1.16 \
104crate://crates.io/security-framework-sys/0.1.14 \ 129crate://crates.io/security-framework-sys/0.1.16 \
105crate://crates.io/serde/1.0.10 \ 130crate://crates.io/serde/1.0.15 \
106crate://crates.io/serde_derive/1.0.10 \ 131crate://crates.io/serde_derive/1.0.15 \
107crate://crates.io/serde_derive_internals/0.15.1 \ 132crate://crates.io/serde_derive_internals/0.16.0 \
108crate://crates.io/serde_json/1.0.2 \ 133crate://crates.io/serde_json/1.0.3 \
109crate://crates.io/serde_urlencoded/0.5.1 \ 134crate://crates.io/serde_urlencoded/0.5.1 \
110crate://crates.io/sha1/0.2.0 \ 135crate://crates.io/sha1/0.2.0 \
136crate://crates.io/sha2/0.6.0 \
111crate://crates.io/strsim/0.6.0 \ 137crate://crates.io/strsim/0.6.0 \
112crate://crates.io/syn/0.11.11 \ 138crate://crates.io/syn/0.11.11 \
113crate://crates.io/synom/0.11.3 \ 139crate://crates.io/synom/0.11.3 \
114crate://crates.io/tar/0.4.13 \ 140crate://crates.io/tar/0.4.13 \
115crate://crates.io/tempdir/0.3.5 \ 141crate://crates.io/tempdir/0.3.5 \
116crate://crates.io/term_size/0.3.0 \ 142crate://crates.io/term_size/0.3.0 \
117crate://crates.io/textwrap/0.6.0 \ 143crate://crates.io/termion/1.5.1 \
144crate://crates.io/textwrap/0.8.0 \
118crate://crates.io/thread_local/0.3.4 \ 145crate://crates.io/thread_local/0.3.4 \
119crate://crates.io/time/0.1.38 \ 146crate://crates.io/time/0.1.38 \
120crate://crates.io/toml/0.2.1 \ 147crate://crates.io/toml/0.2.1 \
121crate://crates.io/toml/0.4.2 \ 148crate://crates.io/toml/0.4.5 \
122crate://crates.io/traitobject/0.1.0 \ 149crate://crates.io/traitobject/0.1.0 \
123crate://crates.io/tungstenite/0.2.4 \ 150crate://crates.io/tungstenite/0.5.0 \
124crate://crates.io/typeable/0.1.2 \ 151crate://crates.io/typeable/0.1.2 \
152crate://crates.io/typenum/1.9.0 \
125crate://crates.io/unicase/1.4.2 \ 153crate://crates.io/unicase/1.4.2 \
126crate://crates.io/unicode-bidi/0.3.3 \ 154crate://crates.io/unicode-bidi/0.3.4 \
127crate://crates.io/unicode-normalization/0.1.5 \ 155crate://crates.io/unicode-normalization/0.1.5 \
128crate://crates.io/unicode-segmentation/1.1.0 \
129crate://crates.io/unicode-width/0.1.4 \ 156crate://crates.io/unicode-width/0.1.4 \
130crate://crates.io/unicode-xid/0.0.4 \ 157crate://crates.io/unicode-xid/0.0.4 \
131crate://crates.io/unix_socket/0.5.0 \ 158crate://crates.io/unix_socket/0.5.0 \
132crate://crates.io/unreachable/1.0.0 \ 159crate://crates.io/unreachable/1.0.0 \
133crate://crates.io/untrusted/0.3.2 \ 160crate://crates.io/untrusted/0.5.1 \
134crate://crates.io/url/1.5.1 \ 161crate://crates.io/url/1.5.1 \
135crate://crates.io/utf-8/0.7.1 \ 162crate://crates.io/utf-8/0.7.1 \
136crate://crates.io/utf8-ranges/1.0.0 \ 163crate://crates.io/utf8-ranges/1.0.0 \
137crate://crates.io/uuid/0.5.1 \ 164crate://crates.io/uuid/0.5.1 \
165crate://crates.io/vcpkg/0.2.2 \
138crate://crates.io/vec_map/0.8.0 \ 166crate://crates.io/vec_map/0.8.0 \
139crate://crates.io/version_check/0.1.3 \ 167crate://crates.io/version_check/0.1.3 \
140crate://crates.io/void/1.0.2 \ 168crate://crates.io/void/1.0.2 \
diff --git a/recipes-sota/sota-tools/sota-tools_git.bb b/recipes-sota/sota-tools/sota-tools_git.bb
deleted file mode 100644
index 5403d9a..0000000
--- a/recipes-sota/sota-tools/sota-tools_git.bb
+++ /dev/null
@@ -1,24 +0,0 @@
1DESCRIPTION = "Utility to push data to a server"
2LICENSE = "MPL-2.0"
3
4LIC_FILES_CHKSUM = "file://LICENSE;md5=65d26fcc2f35ea6a181ac777e42db1ea"
5
6S = "${WORKDIR}/git"
7
8SRC_URI = "gitsm://github.com/advancedtelematic/sota-tools.git;branch=master"
9SRCREV = "216cb84db98e9b0f8c6c1c407f480c5dd0b3cf62"
10
11inherit cmake
12
13DEPENDS = "boost glib-2.0 curl libarchive"
14
15BBCLASSEXTEND = "native"
16
17FILES_${PN} = "${bindir}/garage-push"
18
19EXTRA_OECMAKE = "-DWARNING_AS_ERROR=OFF"
20
21do_install() {
22 install -d ${D}/${bindir}
23 install -m 755 garage-push ${D}/${bindir}
24}