summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeon Anavi <leon.anavi@konsulko.com>2017-11-03 11:08:03 +0200
committerLeon Anavi <leon.anavi@konsulko.com>2017-11-03 11:08:03 +0200
commitc24a4eb87b9b1f7a5b68b6ae175a1c87b042572d (patch)
tree9f83140cc384918d91faf975684ff9d7c7747818
parent63be71dc7edf9315ee384a19afdf6a68866befe2 (diff)
parentcdeaf6933f894edafdf9a01f2d0b118a1fcbb35c (diff)
downloadmeta-updater-c24a4eb87b9b1f7a5b68b6ae175a1c87b042572d.tar.gz
Merge branch 'pyro' of https://github.com/advancedtelematic/meta-updater into feat/PRO-4199/oe-selftest
-rw-r--r--CONTRIBUTING.adoc15
-rw-r--r--classes/sdcard_image-rpi-ota.bbclass6
-rw-r--r--classes/sota_bleeding.inc1
-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.bb18
-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.bb28
-rw-r--r--recipes-sota/rvi-sota-client/rvi-sota-client.inc116
10 files changed, 165 insertions, 106 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/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/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 b89e9de..0000000
--- a/recipes-sota/aktualizr/aktualizr-native_git.bb
+++ /dev/null
@@ -1,18 +0,0 @@
1require aktualizr_common.inc
2
3DEPENDS = "boost-native glib-2.0-native curl-native openssl-native libarchive-native libsodium-native"
4
5inherit native
6
7EXTRA_OECMAKE = "-DWARNING_AS_ERROR=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_SOTA_TOOLS=ON -DBUILD_OSTREE=OFF -DAKTUALIZR_VERSION=${PV}"
8
9do_install_append () {
10 rm ${D}${bindir}/aktualizr
11 rm ${D}${bindir}/aktualizr_cert_provider
12 rm ${D}${bindir}/garage-deploy
13}
14
15FILES_${PN} = " \
16 ${bindir}/aktualizr_implicit_writer \
17 ${bindir}/garage-push \
18 "
diff --git a/recipes-sota/aktualizr/aktualizr_common.inc b/recipes-sota/aktualizr/aktualizr_common.inc
deleted file mode 100644
index 79c5e37..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 = "67c4f44c4136d16871726449502e3926098e8524"
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..0da35bb
--- /dev/null
+++ b/recipes-sota/garage-sign/garage-sign.bb
@@ -0,0 +1,28 @@
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] = "496ee983f03218f3e3f8d4f56c5d8d8d"
16SRC_URI[sha256sum] = "1ab296d7abadc40f5ad851ae62a7dff8423bd7167fa9fdc1972c88c5fe90dd40"
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
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 \