summaryrefslogtreecommitdiffstats
path: root/meta-netboot/classes
AgeCommit message (Expand)AuthorFilesLines
2016-05-29add layer meta-netboot to enable network boot over NBD (Network Block Device)Stephane Desneux1-0/+26
39' href='#n39'>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 127 128 129 130 131 132 133 134 135 136 137 138 139 140
DESCRIPTION = "sota-client rust recipe"
HOMEPAGE = "https://github.com/advancedtelematic/rvi_sota_client"

LICENSE = "MPL-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=65d26fcc2f35ea6a181ac777e42db1ea"

inherit cargo systemd

S = "${WORKDIR}/git"

SRCREV = "63437b6978bc1c2e3d6a9a5914fe165fdd2a0f5f"

# Generate with:
#   git describe --tags | cut -b2-
PV = "0.2.20-2-g63437b6"

BBCLASSEXTEND = "native"

FILES_${PN} = " \
                /usr/bin/sota_client \
                /usr/bin/system_info.sh \
                /etc/sota_client.version \
                /etc/sota_certificates \
                ${base_libdir}/systemd/system/sota_client.service \
              "

SRC_URI = " \
crate://crates.io/aho-corasick/0.5.3 \
crate://crates.io/time/0.1.35 \
crate://crates.io/url/1.2.1 \
crate://crates.io/ws2_32-sys/0.2.1 \
crate://crates.io/hyper/0.9.4 \
crate://crates.io/log/0.3.6 \
crate://crates.io/unicase/1.4.0 \
crate://crates.io/bitflags/0.7.0 \
crate://crates.io/bit-set/0.2.0 \
crate://crates.io/lazy_static/0.2.1 \
crate://crates.io/rust-crypto/0.2.36 \
crate://crates.io/typeable/0.1.2 \
crate://crates.io/pkg-config/0.3.8 \
crate://crates.io/httparse/1.1.2 \
crate://crates.io/openssl/0.8.3 \
crate://crates.io/user32-sys/0.2.0 \
crate://crates.io/regex/0.1.77 \
crate://crates.io/unicode-normalization/0.1.2 \
crate://crates.io/idna/0.1.0 \
crate://crates.io/unicode-bidi/0.2.3 \
crate://crates.io/rand/0.3.14 \
crate://crates.io/gcc/0.3.37 \
crate://crates.io/chan/0.1.18 \
crate://crates.io/kernel32-sys/0.2.2 \
crate://crates.io/winapi/0.2.8 \
crate://crates.io/crossbeam/0.2.10 \
crate://crates.io/bitflags/0.4.0 \
crate://crates.io/thread-id/2.0.0 \
crate://crates.io/mime/0.2.2 \
crate://crates.io/thread_local/0.2.7 \
crate://crates.io/utf8-ranges/0.1.3 \
crate://crates.io/net2/0.2.26 \
crate://crates.io/dbus/0.4.1 \
crate://crates.io/winapi-build/0.1.1 \
crate://crates.io/chan-signal/0.1.7 \
crate://crates.io/bit-vec/0.4.3 \
crate://crates.io/toml/0.2.1 \
crate://crates.io/quick-error/0.2.2 \
crate://crates.io/ws/0.5.3 \
crate://crates.io/traitobject/0.0.1 \
crate://crates.io/cfg-if/0.1.0 \
crate://crates.io/matches/0.1.3 \
crate://crates.io/getopts/0.2.14 \
crate://crates.io/sha1/0.2.0 \
crate://crates.io/openssl-sys/0.7.17 \
crate://crates.io/cookie/0.2.5 \
crate://crates.io/libressl-pnacl-sys/2.1.6 \
crate://crates.io/language-tags/0.2.2 \
crate://crates.io/semver/0.1.20 \
crate://crates.io/unix_socket/0.5.0 \
crate://crates.io/memchr/0.1.11 \
crate://crates.io/gdi32-sys/0.2.0 \
crate://crates.io/nom/1.2.4 \
crate://crates.io/mio/0.5.1 \
crate://crates.io/tempdir/0.3.5 \
crate://crates.io/miow/0.1.3 \
crate://crates.io/pnacl-build-helper/1.4.10 \
crate://crates.io/libc/0.2.17 \
crate://crates.io/nix/0.5.1 \
crate://crates.io/rustc_version/0.1.7 \
crate://crates.io/slab/0.1.3 \
crate://crates.io/rustc-serialize/0.3.19 \
crate://crates.io/env_logger/0.3.5 \
crate://crates.io/vecio/0.1.0 \
crate://crates.io/rotor/0.6.3 \
crate://crates.io/openssl-sys-extras/0.7.14 \
crate://crates.io/regex-syntax/0.3.7 \
crate://crates.io/bytes/0.3.0 \
crate://crates.io/void/1.0.2 \
crate://crates.io/spmc/0.2.1 \
crate://crates.io/openssl-verify/0.1.0 \
crate-index://crates.io/7670a5aa394d0dcd7598905b352d1634ca74d84a \
git://github.com/advancedtelematic/rvi_sota_client \
"
SRC_URI[index.md5sum] = "79f10f436dbf26737cc80445746f16b4"
SRC_URI[index.sha256sum] = "86114b93f1f51aaf0aec3af0751d214b351f4ff9839ba031315c1b19dcbb1913"

SYSTEMD_SERVICE_${PN} = "sota_client.service"

DEPENDS += " openssl "
RDEPENDS_${PN} = " libcrypto \
                   libssl \
                   dbus \
                   bash \
                   lshw \
                   jq \
                   "
export SOTA_VERSION = "${PV}"

do_compile_prepend() {
  # Fetch and build the specific build of hyper that is specified in cargo.toml.
  # meta-rust doesn't support fetching crates that don't point to a specific tag
  # and rvi-sota-client needs a specific work-around to function correctly.
  make rust-openssl
}

do_compile_append() {
  # Ensure that the 'make rust-openssl' above resulted in the local build of
  # rust-openssl being used rather than the default one.
  strings target/${TARGET_SYS}/release/sota_client | grep ${EXTENDPE}${PV}-${PR}/git/rust-openssl -q || (bberror "local rust-open ssl package not used"; exit 1)
}

do_install() {
  install -d ${D}${bindir}
  install -m 0755 target/${TARGET_SYS}/release/sota_client ${D}${bindir}
  install -m 0755 run/system_info.sh ${D}${bindir}

  install -d ${D}${systemd_unitdir}/system
  install -c ${S}/run/sota_client.service ${D}${systemd_unitdir}/system

  install -d ${D}${sysconfdir}
  install -c ${S}/run/sota_certificates ${D}${sysconfdir}
}