summaryrefslogtreecommitdiffstats
path: root/plugins/afm-main-plugin/CMakeLists.txt
blob: 5ed1d4b21ae14665509c571236f37ea9220f010e (plain)
1
2
3
4
5
6
7
ADD_LIBRARY(afm-main-api MODULE afm-main-plugin.c utils-jbus.c)
SET_TARGET_PROPERTIES(afm-main-api PROPERTIES PREFIX "")
TARGET_LINK_LIBRARIES(afm-main-api ${link_libraries})
INCLUDE_DIRECTORIES(${include_dirs})
INSTALL(TARGETS afm-main-api
          LIBRARY DESTINATION ${plugin_install_dir})
hlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
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}
}