diff options
29 files changed, 97 insertions, 390 deletions
diff --git a/README.adoc b/README.adoc index 0917e45..403e0f8 100644 --- a/README.adoc +++ b/README.adoc | |||
@@ -44,6 +44,16 @@ and get as a result an "ostree_repo" folder in your images directory (tmp/deploy | |||
44 | 44 | ||
45 | Although aglsetup.sh hooks provide reasonable defaults for SOTA-related variables, you may want to tune some of them. | 45 | Although aglsetup.sh hooks provide reasonable defaults for SOTA-related variables, you may want to tune some of them. |
46 | 46 | ||
47 | === Build problems | ||
48 | |||
49 | Multilib systems may require adding this line to `local.conf`: | ||
50 | |||
51 | .... | ||
52 | HOSTTOOLS += "x86_64-linux-gnu-gcc" | ||
53 | .... | ||
54 | |||
55 | Ubuntu users that encounter an error due to missing `Python.h` should install `libpython2.7-dev` on their host machine. | ||
56 | |||
47 | == Supported boards | 57 | == Supported boards |
48 | 58 | ||
49 | Currently supported platforms are | 59 | Currently supported platforms are |
@@ -69,7 +79,7 @@ Although we have used U-Boot so far, other boot loaders can be configured work w | |||
69 | * `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". | 79 | * `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". |
70 | * `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. | 80 | * `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. |
71 | * `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 zipped credentials file in https://github.com/advancedtelematic/aktualizr/blob/master/docs/credentials.adoc[the format accepted by garage-push]. | 81 | * `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 zipped credentials file in https://github.com/advancedtelematic/aktualizr/blob/master/docs/credentials.adoc[the format accepted by garage-push]. |
72 | * `SOTA_CLIENT_PROV` - which provisioning method to use. Valid options are https://github.com/advancedtelematic/aktualizr/blob/master/docs/automatic-provisioning.adoc[`aktualizr-auto-prov`], https://github.com/advancedtelematic/aktualizr/blob/master/docs/implicit-provisioning.adoc[`aktualizr-implicit-prov`], and `aktualizr-hsm-test-prov`. The default is `aktualizr-auto-prov`. This can also be set to an empty string to avoid using a provisioning recipe. | 82 | * `SOTA_CLIENT_PROV` - which provisioning method to use. Valid options are https://github.com/advancedtelematic/aktualizr/blob/master/docs/automatic-provisioning.adoc[`aktualizr-auto-prov`], https://github.com/advancedtelematic/aktualizr/blob/master/docs/implicit-provisioning.adoc[`aktualizr-implicit-prov`], and `aktualizr-hsm-prov`. The default is `aktualizr-auto-prov`. This can also be set to an empty string to avoid using a provisioning recipe. |
73 | * `SOTA_CLIENT_FEATURES` - extensions to aktualizr. Multiple can be specified if separated by spaces. Valid options are `hsm` (to build with HSM support) and `secondary-example` (to install an example https://github.com/advancedtelematic/aktualizr/blob/master/docs/legacysecondary.adoc[legacy secondary interface] in the image). | 83 | * `SOTA_CLIENT_FEATURES` - extensions to aktualizr. Multiple can be specified if separated by spaces. Valid options are `hsm` (to build with HSM support) and `secondary-example` (to install an example https://github.com/advancedtelematic/aktualizr/blob/master/docs/legacysecondary.adoc[legacy secondary interface] in the image). |
74 | * `SOTA_LEGACY_SECONDARY_INTERFACE` - path to a legacy secondary interface installed on the device. To use the example interface from the Aktualizr repo, use `/usr/bin/example-interface` and make sure `SOTA_CLIENT_FEATURES = "secondary-example"`. | 84 | * `SOTA_LEGACY_SECONDARY_INTERFACE` - path to a legacy secondary interface installed on the device. To use the example interface from the Aktualizr repo, use `/usr/bin/example-interface` and make sure `SOTA_CLIENT_FEATURES = "secondary-example"`. |
75 | * `SOTA_SECONDARY_ECUS` - a list of paths separated by spaces of JSON configuration files for virtual secondaries on the host. These will be installed into `/var/sota/ecus` on the device. | 85 | * `SOTA_SECONDARY_ECUS` - a list of paths separated by spaces of JSON configuration files for virtual secondaries on the host. These will be installed into `/var/sota/ecus` on the device. |
@@ -79,25 +89,25 @@ Although we have used U-Boot so far, other boot loaders can be configured work w | |||
79 | 89 | ||
80 | === OSTree | 90 | === OSTree |
81 | 91 | ||
82 | OSTree includes its own simple http server. It just exposes the whole OSTree repository to the network so that any remote device can pull data from it to device's local repository. To use the OSTree http server, you will need OSTree installed on your build machine. (Alternatively, you could run version built inside Yocto using bitbake's http://www.openembedded.org/wiki/Devshell[devshell].) | 92 | OSTree used to include a simple HTTP server as part of the ostree binary, but this has been removed in more recent versions. However, OSTree repositories are self-contained directories, and can be trivially served over the network using any HTTP server. For example, you could use Python's SimpleHTTPServer: |
83 | |||
84 | To expose your repo, run ostree trivial-httpd using any free port: | ||
85 | 93 | ||
86 | .... | 94 | .... |
87 | ostree trivial-httpd tmp/deploy/images/qemux86-64/ostree_repo -P 57556 | 95 | cd tmp/deploy/images/qemux86-64/ostree_repo |
96 | python -m SimpleHTTPServer <port> # port defaults to 8000 | ||
88 | .... | 97 | .... |
89 | 98 | ||
90 | You can then run ostree from inside your device by adding your repo: | 99 | You can then run ostree from inside your device by adding your repo: |
91 | 100 | ||
92 | .... | 101 | .... |
93 | # agl-remote identifies the remote server in your local repo | 102 | # This behaves like adding a Git remote; you can name it anything |
94 | ostree remote add --no-gpg-verify my-remote http://192.168.7.1:57556 ota | 103 | ostree remote add --no-gpg-verify my-remote http://<your-ip>:<port> |
95 | 104 | ||
96 | # ota is a branch name in the remote repo, set in OSTREE_BRANCHNAME | 105 | # If OSTREE_BRANCHNAME is set in local.conf, that will be the name of the |
97 | ostree pull my-remote ota | 106 | # branch. If not set, it defaults to the value of MACHINE (e.g. qemux86-64). |
107 | ostree pull my-remote <branch> | ||
98 | 108 | ||
99 | # poky is OS name as set in OSTREE_OSNAME | 109 | # poky is the OS name as set in OSTREE_OSNAME |
100 | ostree admin deploy --os=poky my-remote:ota | 110 | ostree admin deploy --os=poky my-remote:<branch> |
101 | .... | 111 | .... |
102 | 112 | ||
103 | After restarting, you will boot into the newly deployed OS image. | 113 | After restarting, you will boot into the newly deployed OS image. |
diff --git a/classes/image_types_ostree.bbclass b/classes/image_types_ostree.bbclass index cf2e52f..f350449 100644 --- a/classes/image_types_ostree.bbclass +++ b/classes/image_types_ostree.bbclass | |||
@@ -2,7 +2,7 @@ | |||
2 | 2 | ||
3 | inherit image | 3 | inherit image |
4 | 4 | ||
5 | IMAGE_DEPENDS_ostree = "ostree-native:do_populate_sysroot \ | 5 | do_image_ostree[depends] += "ostree-native:do_populate_sysroot \ |
6 | openssl-native:do_populate_sysroot \ | 6 | openssl-native:do_populate_sysroot \ |
7 | coreutils-native:do_populate_sysroot \ | 7 | coreutils-native:do_populate_sysroot \ |
8 | unzip-native:do_populate_sysroot \ | 8 | unzip-native:do_populate_sysroot \ |
@@ -162,7 +162,7 @@ IMAGE_CMD_ostree () { | |||
162 | } | 162 | } |
163 | 163 | ||
164 | IMAGE_TYPEDEP_ostreepush = "ostree" | 164 | IMAGE_TYPEDEP_ostreepush = "ostree" |
165 | IMAGE_DEPENDS_ostreepush = "aktualizr-native:do_populate_sysroot ca-certificates-native:do_populate_sysroot " | 165 | do_image_ostreepush[depends] += "aktualizr-native:do_populate_sysroot ca-certificates-native:do_populate_sysroot" |
166 | IMAGE_CMD_ostreepush () { | 166 | IMAGE_CMD_ostreepush () { |
167 | # Print warnings if credetials are not set or if the file has not been found. | 167 | # Print warnings if credetials are not set or if the file has not been found. |
168 | if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then | 168 | if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then |
@@ -180,7 +180,7 @@ IMAGE_CMD_ostreepush () { | |||
180 | } | 180 | } |
181 | 181 | ||
182 | IMAGE_TYPEDEP_garagesign = "ostreepush" | 182 | IMAGE_TYPEDEP_garagesign = "ostreepush" |
183 | IMAGE_DEPENDS_garagesign = "aktualizr-native:do_populate_sysroot" | 183 | do_image_garage_sign[depends] += "aktualizr-native:do_populate_sysroot" |
184 | IMAGE_CMD_garagesign () { | 184 | IMAGE_CMD_garagesign () { |
185 | if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then | 185 | if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then |
186 | # if credentials are issued by a server that doesn't support offline signing, exit silently | 186 | # if credentials are issued by a server that doesn't support offline signing, exit silently |
@@ -225,7 +225,7 @@ IMAGE_CMD_garagesign () { | |||
225 | } | 225 | } |
226 | 226 | ||
227 | IMAGE_TYPEDEP_garagecheck = "ostreepush garagesign" | 227 | IMAGE_TYPEDEP_garagecheck = "ostreepush garagesign" |
228 | IMAGE_DEPENDS_garagecheck = "aktualizr-native:do_populate_sysroot" | 228 | do_image_garagecheck[depends] += "aktualizr-native:do_populate_sysroot" |
229 | IMAGE_CMD_garagecheck () { | 229 | IMAGE_CMD_garagecheck () { |
230 | if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then | 230 | if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then |
231 | # if credentials are issued by a server that doesn't support offline signing, exit silently | 231 | # if credentials are issued by a server that doesn't support offline signing, exit silently |
diff --git a/classes/image_types_ota.bbclass b/classes/image_types_ota.bbclass index 5dc4811..b827444 100644 --- a/classes/image_types_ota.bbclass +++ b/classes/image_types_ota.bbclass | |||
@@ -11,7 +11,7 @@ inherit image | |||
11 | 11 | ||
12 | OSTREE_BOOTLOADER ??= 'u-boot' | 12 | OSTREE_BOOTLOADER ??= 'u-boot' |
13 | 13 | ||
14 | IMAGE_DEPENDS_otaimg = "e2fsprogs-native:do_populate_sysroot \ | 14 | do_image_otaimg[depends] += "e2fsprogs-native:do_populate_sysroot \ |
15 | ${@'grub:do_populate_sysroot' if d.getVar('OSTREE_BOOTLOADER', True) == 'grub' else ''} \ | 15 | ${@'grub:do_populate_sysroot' if d.getVar('OSTREE_BOOTLOADER', True) == 'grub' else ''} \ |
16 | ${@'virtual/bootloader:do_deploy' if d.getVar('OSTREE_BOOTLOADER', True) == 'u-boot' else ''}" | 16 | ${@'virtual/bootloader:do_deploy' if d.getVar('OSTREE_BOOTLOADER', True) == 'u-boot' else ''}" |
17 | 17 | ||
diff --git a/classes/sota_qemux86-64.bbclass b/classes/sota_qemux86-64.bbclass index 53e0026..666ad6b 100644 --- a/classes/sota_qemux86-64.bbclass +++ b/classes/sota_qemux86-64.bbclass | |||
@@ -4,7 +4,7 @@ PREFERRED_VERSION_linux-yocto_qemux86-64_sota = "4.4%" | |||
4 | IMAGE_FSTYPES_remove = "wic" | 4 | IMAGE_FSTYPES_remove = "wic" |
5 | 5 | ||
6 | # U-Boot support for SOTA | 6 | # U-Boot support for SOTA |
7 | PREFERRED_PROVIDER_virtual/bootloader_sota = "u-boot-ota" | 7 | PREFERRED_PROVIDER_virtual/bootloader_sota = "u-boot" |
8 | UBOOT_MACHINE_sota = "qemu-x86_defconfig" | 8 | UBOOT_MACHINE_sota = "qemu-x86_defconfig" |
9 | OSTREE_BOOTLOADER ?= "u-boot" | 9 | OSTREE_BOOTLOADER ?= "u-boot" |
10 | 10 | ||
diff --git a/classes/sota_raspberrypi.bbclass b/classes/sota_raspberrypi.bbclass index f8e7347..2c69ea0 100644 --- a/classes/sota_raspberrypi.bbclass +++ b/classes/sota_raspberrypi.bbclass | |||
@@ -1,3 +1,4 @@ | |||
1 | RPI_USE_U_BOOT_sota = "1" | ||
1 | KERNEL_IMAGETYPE_sota = "uImage" | 2 | KERNEL_IMAGETYPE_sota = "uImage" |
2 | PREFERRED_PROVIDER_virtual/bootloader_sota ?= "u-boot" | 3 | PREFERRED_PROVIDER_virtual/bootloader_sota ?= "u-boot" |
3 | UBOOT_MACHINE_raspberrypi2_sota ?= "rpi_2_defconfig" | 4 | UBOOT_MACHINE_raspberrypi2_sota ?= "rpi_2_defconfig" |
diff --git a/conf/include/bblayers/sota.inc b/conf/include/bblayers/sota.inc index 97edecb..26eea22 100644 --- a/conf/include/bblayers/sota.inc +++ b/conf/include/bblayers/sota.inc | |||
@@ -1,5 +1,3 @@ | |||
1 | |||
2 | BBLAYERS += "${METADIR}/meta-updater" | 1 | BBLAYERS += "${METADIR}/meta-updater" |
3 | BBLAYERS += "${METADIR}/meta-openembedded/meta-filesystems" | 2 | BBLAYERS += "${METADIR}/meta-openembedded/meta-filesystems" |
4 | BBLAYERS += "${METADIR}/meta-openembedded/meta-oe" | 3 | BBLAYERS += "${METADIR}/meta-openembedded/meta-oe" |
5 | BBLAYERS += "${METADIR}/meta-rust" | ||
diff --git a/conf/include/bblayers/sota_qemux86-64.inc b/conf/include/bblayers/sota_qemux86-64.inc index 22ace81..12d32ff 100644 --- a/conf/include/bblayers/sota_qemux86-64.inc +++ b/conf/include/bblayers/sota_qemux86-64.inc | |||
@@ -1,2 +1 @@ | |||
1 | |||
2 | BBLAYERS += " ${METADIR}/meta-updater-qemux86-64 " | BBLAYERS += " ${METADIR}/meta-updater-qemux86-64 " | |
diff --git a/conf/include/bblayers/sota_raspberrypi2.inc b/conf/include/bblayers/sota_raspberrypi2.inc index 11ede20..cc26679 100644 --- a/conf/include/bblayers/sota_raspberrypi2.inc +++ b/conf/include/bblayers/sota_raspberrypi2.inc | |||
@@ -1,2 +1,3 @@ | |||
1 | BBLAYERS += " ${METADIR}/meta-openembedded/meta-python " | ||
1 | 2 | ||
2 | BBLAYERS += " ${METADIR}/meta-updater-raspberrypi ${METADIR}/meta-raspberrypi " | 3 | BBLAYERS += " ${METADIR}/meta-updater-raspberrypi ${METADIR}/meta-raspberrypi " |
diff --git a/conf/include/bblayers/sota_raspberrypi3.inc b/conf/include/bblayers/sota_raspberrypi3.inc index 11ede20..cc26679 100644 --- a/conf/include/bblayers/sota_raspberrypi3.inc +++ b/conf/include/bblayers/sota_raspberrypi3.inc | |||
@@ -1,2 +1,3 @@ | |||
1 | BBLAYERS += " ${METADIR}/meta-openembedded/meta-python " | ||
1 | 2 | ||
2 | BBLAYERS += " ${METADIR}/meta-updater-raspberrypi ${METADIR}/meta-raspberrypi " | 3 | BBLAYERS += " ${METADIR}/meta-updater-raspberrypi ${METADIR}/meta-raspberrypi " |
diff --git a/lib/oeqa/selftest/cases/qemucommand.py b/lib/oeqa/selftest/cases/qemucommand.py new file mode 120000 index 0000000..075cdb8 --- /dev/null +++ b/lib/oeqa/selftest/cases/qemucommand.py | |||
@@ -0,0 +1 @@ | |||
../../../../scripts/qemucommand.py \ No newline at end of file | |||
diff --git a/lib/oeqa/selftest/updater.py b/lib/oeqa/selftest/cases/updater.py index f28349f..9264616 100644 --- a/lib/oeqa/selftest/updater.py +++ b/lib/oeqa/selftest/cases/updater.py | |||
@@ -1,18 +1,19 @@ | |||
1 | import unittest | ||
2 | import os | 1 | import os |
3 | import logging | 2 | import logging |
4 | import subprocess | 3 | import subprocess |
5 | import time | 4 | import time |
5 | import unittest | ||
6 | 6 | ||
7 | from oeqa.selftest.base import oeSelfTest | 7 | from oeqa.selftest.case import OESelftestTestCase |
8 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars | 8 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars |
9 | from oeqa.selftest.qemucommand import QemuCommand | 9 | from qemucommand import QemuCommand |
10 | 10 | ||
11 | 11 | ||
12 | class SotaToolsTests(oeSelfTest): | 12 | class SotaToolsTests(OESelftestTestCase): |
13 | 13 | ||
14 | @classmethod | 14 | @classmethod |
15 | def setUpClass(cls): | 15 | def setUpClass(cls): |
16 | super(SotaToolsTests, cls).setUpClass() | ||
16 | logger = logging.getLogger("selftest") | 17 | logger = logging.getLogger("selftest") |
17 | logger.info('Running bitbake to build aktualizr-native tools') | 18 | logger.info('Running bitbake to build aktualizr-native tools') |
18 | bitbake('aktualizr-native') | 19 | bitbake('aktualizr-native') |
@@ -38,14 +39,15 @@ class SotaToolsTests(oeSelfTest): | |||
38 | result = runCmd('%s --help' % p, ignore_status=True) | 39 | result = runCmd('%s --help' % p, ignore_status=True) |
39 | self.assertEqual(result.status, 0, "Status not equal to 0. output: %s" % result.output) | 40 | self.assertEqual(result.status, 0, "Status not equal to 0. output: %s" % result.output) |
40 | 41 | ||
41 | class HsmTests(oeSelfTest): | 42 | |
43 | class HsmTests(OESelftestTestCase): | ||
42 | 44 | ||
43 | def test_hsm(self): | 45 | def test_hsm(self): |
44 | self.write_config('SOTA_CLIENT_FEATURES="hsm"') | 46 | self.write_config('SOTA_CLIENT_FEATURES="hsm"') |
45 | bitbake('core-image-minimal') | 47 | bitbake('core-image-minimal') |
46 | 48 | ||
47 | 49 | ||
48 | class GeneralTests(oeSelfTest): | 50 | class GeneralTests(OESelftestTestCase): |
49 | 51 | ||
50 | def test_feature_sota(self): | 52 | def test_feature_sota(self): |
51 | result = get_bb_var('DISTRO_FEATURES').find('sota') | 53 | result = get_bb_var('DISTRO_FEATURES').find('sota') |
@@ -104,10 +106,11 @@ class GeneralTests(oeSelfTest): | |||
104 | self.assertNotEqual(size1, size2, "Image sizes are identical; image was not rebuilt.") | 106 | self.assertNotEqual(size1, size2, "Image sizes are identical; image was not rebuilt.") |
105 | 107 | ||
106 | 108 | ||
107 | class QemuTests(oeSelfTest): | 109 | class QemuTests(OESelftestTestCase): |
108 | 110 | ||
109 | @classmethod | 111 | @classmethod |
110 | def setUpClass(cls): | 112 | def setUpClass(cls): |
113 | super(QemuTests, cls).setUpClass() | ||
111 | cls.qemu, cls.s = qemu_launch(machine='qemux86-64') | 114 | cls.qemu, cls.s = qemu_launch(machine='qemux86-64') |
112 | 115 | ||
113 | @classmethod | 116 | @classmethod |
@@ -133,12 +136,13 @@ class QemuTests(oeSelfTest): | |||
133 | self.assertEqual(err, b'', 'Error: ' + err.decode()) | 136 | self.assertEqual(err, b'', 'Error: ' + err.decode()) |
134 | print(value.decode()) | 137 | print(value.decode()) |
135 | 138 | ||
136 | class GrubTests(oeSelfTest): | 139 | |
140 | class GrubTests(OESelftestTestCase): | ||
137 | 141 | ||
138 | def setUpLocal(self): | 142 | def setUpLocal(self): |
139 | # This is a bit of a hack but I can't see a better option. | 143 | # This is a bit of a hack but I can't see a better option. |
140 | path = os.path.abspath(os.path.dirname(__file__)) | 144 | path = os.path.abspath(os.path.dirname(__file__)) |
141 | metadir = path + "/../../../../" | 145 | metadir = path + "/../../../../../" |
142 | grub_config = 'OSTREE_BOOTLOADER = "grub"\nMACHINE = "intel-corei7-64"' | 146 | grub_config = 'OSTREE_BOOTLOADER = "grub"\nMACHINE = "intel-corei7-64"' |
143 | self.append_config(grub_config) | 147 | self.append_config(grub_config) |
144 | self.meta_intel = metadir + "meta-intel" | 148 | self.meta_intel = metadir + "meta-intel" |
@@ -161,7 +165,8 @@ class GrubTests(oeSelfTest): | |||
161 | # Strip off line ending. | 165 | # Strip off line ending. |
162 | value_str = value.decode()[:-1] | 166 | value_str = value.decode()[:-1] |
163 | self.assertEqual(value_str, machine, | 167 | self.assertEqual(value_str, machine, |
164 | 'MACHINE does not match hostname: ' + machine + ', ' + value_str) | 168 | 'MACHINE does not match hostname: ' + machine + ', ' + value_str + |
169 | '\nIs tianocore ovmf installed?') | ||
165 | print(value_str) | 170 | print(value_str) |
166 | 171 | ||
167 | 172 | ||
diff --git a/lib/oeqa/selftest/qemucommand.py b/lib/oeqa/selftest/qemucommand.py deleted file mode 120000 index bc06dde..0000000 --- a/lib/oeqa/selftest/qemucommand.py +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | ../../../scripts/qemucommand.py \ No newline at end of file | ||
diff --git a/recipes-bsp/u-boot/u-boot_2016.11.bb b/recipes-bsp/u-boot/u-boot_2016.11.bb deleted file mode 100644 index acd4bb8..0000000 --- a/recipes-bsp/u-boot/u-boot_2016.11.bb +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | require recipes-bsp/u-boot/u-boot.inc | ||
2 | |||
3 | HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome" | ||
4 | SECTION = "bootloaders" | ||
5 | |||
6 | LICENSE = "GPLv2+" | ||
7 | LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6" | ||
8 | PE = "1" | ||
9 | |||
10 | DEPENDS += "dtc-native" | ||
11 | |||
12 | SRCREV = "5ea3e51fc481613a8dee8c02848d1b42c81ad892" | ||
13 | SRC_URI = "git://git.denx.de/u-boot.git" | ||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | PV = "v2016.11+git${SRCPV}" | ||
17 | |||
18 | #This patch is not compliant with u-boot 2016.11 | ||
19 | #Version of u-boot from yocto 2.2 Morty is 2016.03 from: | ||
20 | # meta/recipes-bsp/u-boot/u-boot_2016.03.bb | ||
21 | SRC_URI_remove_raspberrypi3 = "file://0003-Include-lowlevel_init.o-for-rpi2.patch" | ||
22 | SRC_URI_remove_raspberrypi2 = "file://0003-Include-lowlevel_init.o-for-rpi2.patch" | ||
diff --git a/recipes-sota/aktualizr/aktualizr-hsm-test-prov.bb b/recipes-sota/aktualizr/aktualizr-hsm-prov.bb index 1e893fa..944607c 100644 --- a/recipes-sota/aktualizr/aktualizr-hsm-test-prov.bb +++ b/recipes-sota/aktualizr/aktualizr-hsm-prov.bb | |||
@@ -21,7 +21,7 @@ require credentials.inc | |||
21 | do_install() { | 21 | do_install() { |
22 | install -d ${D}${libdir}/sota | 22 | install -d ${D}${libdir}/sota |
23 | aktualizr_implicit_writer -c ${SOTA_PACKED_CREDENTIALS} --no-root-ca \ | 23 | aktualizr_implicit_writer -c ${SOTA_PACKED_CREDENTIALS} --no-root-ca \ |
24 | -i ${STAGING_DIR_NATIVE}${libdir}/sota/sota_hsm_test.toml -o ${D}${libdir}/sota/sota.toml -p ${D} | 24 | -i ${STAGING_DIR_NATIVE}${libdir}/sota/sota_hsm_prov.toml -o ${D}${libdir}/sota/sota.toml -p ${D} |
25 | } | 25 | } |
26 | 26 | ||
27 | FILES_${PN} = " \ | 27 | FILES_${PN} = " \ |
diff --git a/recipes-sota/aktualizr/aktualizr_git.bb b/recipes-sota/aktualizr/aktualizr_git.bb index 3925922..67ec104 100644 --- a/recipes-sota/aktualizr/aktualizr_git.bb +++ b/recipes-sota/aktualizr/aktualizr_git.bb | |||
@@ -21,7 +21,7 @@ SRC_URI = " \ | |||
21 | file://aktualizr.service \ | 21 | file://aktualizr.service \ |
22 | file://aktualizr-serialcan.service \ | 22 | file://aktualizr-serialcan.service \ |
23 | " | 23 | " |
24 | SRCREV = "37fbf0dfd88d42d76301890818dc4e83b35d9fa4" | 24 | SRCREV = "07d73645231681848bd943074498581e930d8582" |
25 | BRANCH ?= "master" | 25 | BRANCH ?= "master" |
26 | 26 | ||
27 | S = "${WORKDIR}/git" | 27 | S = "${WORKDIR}/git" |
@@ -58,7 +58,7 @@ do_install_append_class-native () { | |||
58 | rm -f ${D}${bindir}/example-interface | 58 | rm -f ${D}${bindir}/example-interface |
59 | install -d ${D}${libdir}/sota | 59 | install -d ${D}${libdir}/sota |
60 | install -m 0644 ${S}/config/sota_autoprov.toml ${D}/${libdir}/sota/sota_autoprov.toml | 60 | install -m 0644 ${S}/config/sota_autoprov.toml ${D}/${libdir}/sota/sota_autoprov.toml |
61 | install -m 0644 ${S}/config/sota_hsm_test.toml ${D}/${libdir}/sota/sota_hsm_test.toml | 61 | install -m 0644 ${S}/config/sota_hsm_prov.toml ${D}/${libdir}/sota/sota_hsm_prov.toml |
62 | install -m 0644 ${S}/config/sota_implicit_prov.toml ${D}/${libdir}/sota/sota_implicit_prov.toml | 62 | install -m 0644 ${S}/config/sota_implicit_prov.toml ${D}/${libdir}/sota/sota_implicit_prov.toml |
63 | 63 | ||
64 | install -m 0755 ${B}/src/sota_tools/garage-sign-prefix/src/garage-sign/bin/* ${D}${bindir} | 64 | install -m 0755 ${B}/src/sota_tools/garage-sign-prefix/src/garage-sign/bin/* ${D}${bindir} |
diff --git a/recipes-sota/ostree/ostree_git.bb b/recipes-sota/ostree/ostree_git.bb index 00559b6..ad85775 100644 --- a/recipes-sota/ostree/ostree_git.bb +++ b/recipes-sota/ostree/ostree_git.bb | |||
@@ -11,6 +11,7 @@ SRC_URI = "gitsm://github.com/ostreedev/ostree.git;branch=master" | |||
11 | SRCREV="854a823e05d6fe8b610c02c2a71eaeb2bf1e98a6" | 11 | SRCREV="854a823e05d6fe8b610c02c2a71eaeb2bf1e98a6" |
12 | 12 | ||
13 | PV = "v2017.13" | 13 | PV = "v2017.13" |
14 | PR = "1" | ||
14 | 15 | ||
15 | S = "${WORKDIR}/git" | 16 | S = "${WORKDIR}/git" |
16 | 17 | ||
diff --git a/recipes-sota/rvi-sota-client/files/sota-client-autoprovision.service b/recipes-sota/rvi-sota-client/files/sota-client-autoprovision.service deleted file mode 100644 index 11b1354..0000000 --- a/recipes-sota/rvi-sota-client/files/sota-client-autoprovision.service +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | [Unit] | ||
2 | Description=SOTA Client Autoprovisioning | ||
3 | Requires=network-online.target | ||
4 | After=network-online.target | ||
5 | |||
6 | [Service] | ||
7 | Type=oneshot | ||
8 | WorkingDirectory=/var/sota | ||
9 | Environment=SOTA_CERT_DIR=/var/sota | ||
10 | ExecStart=/usr/bin/sota_provision.sh sota_provisioning_credentials | ||
11 | RemainAfterExit=true | ||
12 | StandardOutput=journal | ||
13 | |||
14 | [Install] | ||
15 | WantedBy=multi-user.target | ||
diff --git a/recipes-sota/rvi-sota-client/files/sota-client-ostree.service b/recipes-sota/rvi-sota-client/files/sota-client-ostree.service deleted file mode 100644 index 093a994..0000000 --- a/recipes-sota/rvi-sota-client/files/sota-client-ostree.service +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | [Unit] | ||
2 | Description=SOTA Client | ||
3 | Requires=network-online.target | ||
4 | After=network.target network-online.target | ||
5 | |||
6 | [Service] | ||
7 | RestartSec=5 | ||
8 | Restart=on-failure | ||
9 | Environment="RUST_LOG=debug" | ||
10 | ExecStart=/usr/bin/sota_client --config /sysroot/boot/sota.toml --device-package-manager ostree | ||
11 | |||
12 | [Install] | ||
13 | WantedBy=multi-user.target | ||
diff --git a/recipes-sota/rvi-sota-client/files/sota-client-uptane.service b/recipes-sota/rvi-sota-client/files/sota-client-uptane.service deleted file mode 100644 index a2d80ce..0000000 --- a/recipes-sota/rvi-sota-client/files/sota-client-uptane.service +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | [Unit] | ||
2 | Description=SOTA Client | ||
3 | Requires=network-online.target | ||
4 | After=network.target network-online.target | ||
5 | Requires=sota-client-autoprovision | ||
6 | After=sota-client-autoprovision | ||
7 | |||
8 | [Service] | ||
9 | RestartSec=5 | ||
10 | Restart=on-failure | ||
11 | Environment="RUST_LOG=debug" | ||
12 | ExecStart=/usr/bin/sota_client --config /var/sota/sota.toml --device-package-manager uptane | ||
13 | |||
14 | [Install] | ||
15 | WantedBy=multi-user.target | ||
diff --git a/recipes-sota/rvi-sota-client/files/sota-installer.service b/recipes-sota/rvi-sota-client/files/sota-installer.service deleted file mode 100644 index a4fd99e..0000000 --- a/recipes-sota/rvi-sota-client/files/sota-installer.service +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | [Unit] | ||
2 | Description=SOTA Secondary ECU Installer | ||
3 | Requires=network-online.target | ||
4 | After=network-online.target | ||
5 | |||
6 | [Service] | ||
7 | RestartSec=10 | ||
8 | Restart=always | ||
9 | ExecStart=/usr/bin/sota-installer --level debug --oneshot --config /var/sota/installer.toml | ||
10 | |||
11 | [Install] | ||
12 | WantedBy=multi-user.target | ||
diff --git a/recipes-sota/rvi-sota-client/rvi-sota-client.inc b/recipes-sota/rvi-sota-client/rvi-sota-client.inc deleted file mode 100644 index 712b9b3..0000000 --- a/recipes-sota/rvi-sota-client/rvi-sota-client.inc +++ /dev/null | |||
@@ -1,173 +0,0 @@ | |||
1 | inherit cargo systemd | ||
2 | |||
3 | DESCRIPTION = "rvi-sota-client recipe" | ||
4 | HOMEPAGE = "https://github.com/advancedtelematic/rvi_sota_client" | ||
5 | LICENSE = "MPL-2.0" | ||
6 | LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=65d26fcc2f35ea6a181ac777e42db1ea" | ||
7 | |||
8 | BBCLASSEXTEND = "native" | ||
9 | |||
10 | S = "${WORKDIR}/git" | ||
11 | |||
12 | SRC_URI[index.md5sum] = "6a635e8a081b4d4ba4cebffd721c2d7d" | ||
13 | SRC_URI[index.sha256sum] = "1913c41d4b8de89a931b6f9e418f83e70a083e12e6c247e8510ee932571ebae2" | ||
14 | |||
15 | # also update PV and SRC_URI crates when updating SRCREV | ||
16 | SRCREV = "be8ec83af2051a2b2499ce8878242771c65f0f1c" | ||
17 | |||
18 | PR = "1" | ||
19 | |||
20 | # generate with: `make package-version` | ||
21 | PV = "0.2.34-8-gbe8ec83" | ||
22 | |||
23 | # generate with: `make yocto-version` | ||
24 | SRC_URI = " \ | ||
25 | git://github.com/advancedtelematic/rvi_sota_client \ | ||
26 | file://sota-client-autoprovision.service \ | ||
27 | file://sota-client-ostree.service \ | ||
28 | file://sota-client-uptane.service \ | ||
29 | file://sota-installer.service \ | ||
30 | crate://crates.io/adler32/1.0.2 \ | ||
31 | crate://crates.io/advapi32-sys/0.2.0 \ | ||
32 | crate://crates.io/aho-corasick/0.6.3 \ | ||
33 | crate://crates.io/ansi_term/0.9.0 \ | ||
34 | crate://crates.io/antidote/1.0.0 \ | ||
35 | crate://crates.io/atty/0.2.3 \ | ||
36 | crate://crates.io/backtrace/0.3.3 \ | ||
37 | crate://crates.io/backtrace-sys/0.1.15 \ | ||
38 | crate://crates.io/base64/0.6.0 \ | ||
39 | crate://crates.io/bincode/0.9.0 \ | ||
40 | crate://crates.io/bit-set/0.4.0 \ | ||
41 | crate://crates.io/bit-vec/0.4.4 \ | ||
42 | crate://crates.io/bitflags/0.7.0 \ | ||
43 | crate://crates.io/bitflags/0.9.1 \ | ||
44 | crate://crates.io/block-buffer/0.2.0 \ | ||
45 | crate://crates.io/byte-tools/0.2.0 \ | ||
46 | crate://crates.io/byteorder/1.1.0 \ | ||
47 | crate://crates.io/bytes/0.4.5 \ | ||
48 | crate://crates.io/cc/1.0.1 \ | ||
49 | crate://crates.io/cfg-if/0.1.2 \ | ||
50 | crate://crates.io/chan/0.1.19 \ | ||
51 | crate://crates.io/chan-signal/0.3.1 \ | ||
52 | crate://crates.io/chrono/0.4.0 \ | ||
53 | crate://crates.io/clap/2.26.2 \ | ||
54 | crate://crates.io/coco/0.1.1 \ | ||
55 | crate://crates.io/constant_time_eq/0.1.3 \ | ||
56 | crate://crates.io/core-foundation/0.2.3 \ | ||
57 | crate://crates.io/core-foundation-sys/0.2.3 \ | ||
58 | crate://crates.io/crossbeam/0.3.0 \ | ||
59 | crate://crates.io/crypt32-sys/0.2.0 \ | ||
60 | crate://crates.io/crypto-mac/0.4.0 \ | ||
61 | crate://crates.io/dbghelp-sys/0.2.0 \ | ||
62 | crate://crates.io/dbus/0.5.4 \ | ||
63 | crate://crates.io/digest/0.6.2 \ | ||
64 | crate://crates.io/dtoa/0.4.2 \ | ||
65 | crate://crates.io/either/1.2.0 \ | ||
66 | crate://crates.io/env_logger/0.4.3 \ | ||
67 | crate://crates.io/error-chain/0.10.0 \ | ||
68 | crate://crates.io/fake-simd/0.1.2 \ | ||
69 | crate://crates.io/filetime/0.1.14 \ | ||
70 | crate://crates.io/foreign-types/0.2.0 \ | ||
71 | crate://crates.io/fuchsia-zircon/0.2.1 \ | ||
72 | crate://crates.io/fuchsia-zircon-sys/0.2.0 \ | ||
73 | crate://crates.io/futures/0.1.16 \ | ||
74 | crate://crates.io/gcc/0.3.54 \ | ||
75 | crate://crates.io/generic-array/0.8.3 \ | ||
76 | crate://crates.io/getopts/0.2.15 \ | ||
77 | crate://crates.io/hex/0.2.0 \ | ||
78 | crate://crates.io/hmac/0.4.2 \ | ||
79 | crate://crates.io/httparse/1.2.3 \ | ||
80 | crate://crates.io/hyper/0.10.13 \ | ||
81 | crate://crates.io/hyper-native-tls/0.2.4 \ | ||
82 | crate://crates.io/idna/0.1.4 \ | ||
83 | crate://crates.io/iovec/0.1.1 \ | ||
84 | crate://crates.io/itoa/0.3.4 \ | ||
85 | crate://crates.io/kernel32-sys/0.2.2 \ | ||
86 | crate://crates.io/language-tags/0.2.2 \ | ||
87 | crate://crates.io/lazy_static/0.2.9 \ | ||
88 | crate://crates.io/libc/0.2.32 \ | ||
89 | crate://crates.io/libdbus-sys/0.1.1 \ | ||
90 | crate://crates.io/libflate/0.1.11 \ | ||
91 | crate://crates.io/log/0.3.8 \ | ||
92 | crate://crates.io/maplit/0.1.5 \ | ||
93 | crate://crates.io/matches/0.1.6 \ | ||
94 | crate://crates.io/memchr/1.0.1 \ | ||
95 | crate://crates.io/metadeps/1.1.2 \ | ||
96 | crate://crates.io/mime/0.2.6 \ | ||
97 | crate://crates.io/native-tls/0.1.4 \ | ||
98 | crate://crates.io/net2/0.2.31 \ | ||
99 | crate://crates.io/nodrop/0.1.9 \ | ||
100 | crate://crates.io/num/0.1.40 \ | ||
101 | crate://crates.io/num-integer/0.1.35 \ | ||
102 | crate://crates.io/num-iter/0.1.34 \ | ||
103 | crate://crates.io/num-traits/0.1.40 \ | ||
104 | crate://crates.io/num_cpus/1.7.0 \ | ||
105 | crate://crates.io/odds/0.2.25 \ | ||
106 | crate://crates.io/openssl/0.9.19 \ | ||
107 | crate://crates.io/openssl-sys/0.9.19 \ | ||
108 | crate://crates.io/pem/0.4.1 \ | ||
109 | crate://crates.io/percent-encoding/1.0.0 \ | ||
110 | crate://crates.io/pkg-config/0.3.9 \ | ||
111 | crate://crates.io/quote/0.3.15 \ | ||
112 | crate://crates.io/rand/0.3.17 \ | ||
113 | crate://crates.io/rayon/0.8.2 \ | ||
114 | crate://crates.io/rayon-core/1.2.1 \ | ||
115 | crate://crates.io/redox_syscall/0.1.31 \ | ||
116 | crate://crates.io/redox_termios/0.1.1 \ | ||
117 | crate://crates.io/regex/0.2.2 \ | ||
118 | crate://crates.io/regex-syntax/0.4.1 \ | ||
119 | crate://crates.io/reqwest/0.6.2 \ | ||
120 | crate://crates.io/ring/0.12.1 \ | ||
121 | crate://crates.io/rust-crypto/0.2.36 \ | ||
122 | crate://crates.io/rustc-demangle/0.1.5 \ | ||
123 | crate://crates.io/rustc-serialize/0.3.24 \ | ||
124 | crate://crates.io/safemem/0.2.0 \ | ||
125 | crate://crates.io/schannel/0.1.8 \ | ||
126 | crate://crates.io/scopeguard/0.3.2 \ | ||
127 | crate://crates.io/secur32-sys/0.2.0 \ | ||
128 | crate://crates.io/security-framework/0.1.16 \ | ||
129 | crate://crates.io/security-framework-sys/0.1.16 \ | ||
130 | crate://crates.io/serde/1.0.15 \ | ||
131 | crate://crates.io/serde_derive/1.0.15 \ | ||
132 | crate://crates.io/serde_derive_internals/0.16.0 \ | ||
133 | crate://crates.io/serde_json/1.0.3 \ | ||
134 | crate://crates.io/serde_urlencoded/0.5.1 \ | ||
135 | crate://crates.io/sha1/0.2.0 \ | ||
136 | crate://crates.io/sha2/0.6.0 \ | ||
137 | crate://crates.io/strsim/0.6.0 \ | ||
138 | crate://crates.io/syn/0.11.11 \ | ||
139 | crate://crates.io/synom/0.11.3 \ | ||
140 | crate://crates.io/tar/0.4.13 \ | ||
141 | crate://crates.io/tempdir/0.3.5 \ | ||
142 | crate://crates.io/term_size/0.3.0 \ | ||
143 | crate://crates.io/termion/1.5.1 \ | ||
144 | crate://crates.io/textwrap/0.8.0 \ | ||
145 | crate://crates.io/thread_local/0.3.4 \ | ||
146 | crate://crates.io/time/0.1.38 \ | ||
147 | crate://crates.io/toml/0.2.1 \ | ||
148 | crate://crates.io/toml/0.4.5 \ | ||
149 | crate://crates.io/traitobject/0.1.0 \ | ||
150 | crate://crates.io/tungstenite/0.5.0 \ | ||
151 | crate://crates.io/typeable/0.1.2 \ | ||
152 | crate://crates.io/typenum/1.9.0 \ | ||
153 | crate://crates.io/unicase/1.4.2 \ | ||
154 | crate://crates.io/unicode-bidi/0.3.4 \ | ||
155 | crate://crates.io/unicode-normalization/0.1.5 \ | ||
156 | crate://crates.io/unicode-width/0.1.4 \ | ||
157 | crate://crates.io/unicode-xid/0.0.4 \ | ||
158 | crate://crates.io/unix_socket/0.5.0 \ | ||
159 | crate://crates.io/unreachable/1.0.0 \ | ||
160 | crate://crates.io/untrusted/0.5.1 \ | ||
161 | crate://crates.io/url/1.5.1 \ | ||
162 | crate://crates.io/utf-8/0.7.1 \ | ||
163 | crate://crates.io/utf8-ranges/1.0.0 \ | ||
164 | crate://crates.io/uuid/0.5.1 \ | ||
165 | crate://crates.io/vcpkg/0.2.2 \ | ||
166 | crate://crates.io/vec_map/0.8.0 \ | ||
167 | crate://crates.io/version_check/0.1.3 \ | ||
168 | crate://crates.io/void/1.0.2 \ | ||
169 | crate://crates.io/winapi/0.2.8 \ | ||
170 | crate://crates.io/winapi-build/0.1.1 \ | ||
171 | crate://crates.io/ws2_32-sys/0.2.1 \ | ||
172 | crate://crates.io/xattr/0.1.11 \ | ||
173 | " | ||
diff --git a/recipes-sota/rvi-sota-client/rvi-sota-client_git.bb b/recipes-sota/rvi-sota-client/rvi-sota-client_git.bb deleted file mode 100644 index e286598..0000000 --- a/recipes-sota/rvi-sota-client/rvi-sota-client_git.bb +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | require rvi-sota-client.inc | ||
2 | |||
3 | |||
4 | SYSTEMD_SERVICE_${PN} = "sota-client.service sota-client-autoprovision.service" | ||
5 | |||
6 | FILES_${PN} = " \ | ||
7 | /lib64 \ | ||
8 | ${bindir}/sota_client \ | ||
9 | ${bindir}/sota_sysinfo.sh \ | ||
10 | ${bindir}/sota_provision.sh \ | ||
11 | ${sysconfdir}/sota_client.version \ | ||
12 | ${sysconfdir}/sota_certificates \ | ||
13 | ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/sota-client.service', '', d)} \ | ||
14 | ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/sota-client-autoprovision.service', '', d)} \ | ||
15 | " | ||
16 | |||
17 | DEPENDS += " openssl openssl-native dbus " | ||
18 | RDEPENDS_${PN} = " \ | ||
19 | bash \ | ||
20 | curl \ | ||
21 | libcrypto \ | ||
22 | libssl \ | ||
23 | lshw \ | ||
24 | jq \ | ||
25 | python-petname \ | ||
26 | sota-launcher \ | ||
27 | zip \ | ||
28 | " | ||
29 | |||
30 | export SOTA_PACKED_CREDENTIALS | ||
31 | |||
32 | do_compile_prepend() { | ||
33 | export SOTA_VERSION=$(make sota-version) | ||
34 | cd sota-client | ||
35 | } | ||
36 | |||
37 | do_install() { | ||
38 | ln -fs /lib ${D}/lib64 | ||
39 | |||
40 | install -d ${D}${bindir} | ||
41 | install -d ${D}${sysconfdir} | ||
42 | |||
43 | echo `git log -1 --pretty=format:%H` > ${D}${sysconfdir}/sota_client.version | ||
44 | install -c ${S}/sota-client/docker/sota_certificates ${D}${sysconfdir} | ||
45 | |||
46 | install -m 0755 target/${TARGET_SYS}/release/sota_client ${D}${bindir} | ||
47 | install -m 0755 ${S}/sota-client/docker/sota_provision.sh ${D}${bindir} | ||
48 | install -m 0755 ${S}/sota-client/docker/sota_sysinfo.sh ${D}${bindir} | ||
49 | |||
50 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then | ||
51 | install -d ${D}/${systemd_unitdir}/system | ||
52 | if [ -n "$SOTA_PACKED_CREDENTIALS" ]; then | ||
53 | install -m 0644 ${WORKDIR}/sota-client-uptane.service ${D}/${systemd_unitdir}/system/sota-client.service | ||
54 | else | ||
55 | install -m 0644 ${WORKDIR}/sota-client-ostree.service ${D}/${systemd_unitdir}/system/sota-client.service | ||
56 | fi | ||
57 | install -m 0644 ${WORKDIR}/sota-client-autoprovision.service ${D}/${systemd_unitdir}/system/sota-client-autoprovision.service | ||
58 | fi | ||
59 | } | ||
diff --git a/recipes-sota/rvi-sota-client/sota-installer_git.bb b/recipes-sota/rvi-sota-client/sota-installer_git.bb deleted file mode 100644 index 09f6e5d..0000000 --- a/recipes-sota/rvi-sota-client/sota-installer_git.bb +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | require rvi-sota-client.inc | ||
2 | |||
3 | |||
4 | SYSTEMD_SERVICE_${PN} = "sota-installer.service" | ||
5 | |||
6 | DEPENDS += " rvi-sota-client " | ||
7 | |||
8 | FILES_${PN} = " \ | ||
9 | ${bindir}/sota-installer \ | ||
10 | ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/sota-installer.service', '', d)} \ | ||
11 | " | ||
12 | |||
13 | do_compile_prepend() { | ||
14 | cd sota-installer | ||
15 | } | ||
16 | |||
17 | do_install() { | ||
18 | install -d ${D}${bindir} | ||
19 | install -m 0755 target/${TARGET_SYS}/release/sota-installer ${D}${bindir} | ||
20 | |||
21 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then | ||
22 | install -d ${D}/${systemd_unitdir}/system | ||
23 | install -m 0644 ${WORKDIR}/sota-installer.service ${D}/${systemd_unitdir}/system/sota-installer.service | ||
24 | fi | ||
25 | } | ||
diff --git a/recipes-sota/rvi-sota-client/sota-launcher_git.bb b/recipes-sota/rvi-sota-client/sota-launcher_git.bb deleted file mode 100644 index e9874e7..0000000 --- a/recipes-sota/rvi-sota-client/sota-launcher_git.bb +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | require rvi-sota-client.inc | ||
2 | |||
3 | |||
4 | DEPENDS += " rvi-sota-client " | ||
5 | FILES_${PN} = "${bindir}/sota-launcher" | ||
6 | |||
7 | |||
8 | do_compile_prepend() { | ||
9 | cd sota-launcher | ||
10 | } | ||
11 | |||
12 | do_install() { | ||
13 | install -d ${D}${bindir} | ||
14 | install -m 0755 target/${TARGET_SYS}/release/sota-launcher ${D}${bindir} | ||
15 | } | ||
diff --git a/recipes-support/libp11/files/0001-Workaround-for-a-buggy-version-of-openssl-1.0.2m.patch b/recipes-support/libp11/files/0001-Workaround-for-a-buggy-version-of-openssl-1.0.2m.patch new file mode 100644 index 0000000..0538eff --- /dev/null +++ b/recipes-support/libp11/files/0001-Workaround-for-a-buggy-version-of-openssl-1.0.2m.patch | |||
@@ -0,0 +1,42 @@ | |||
1 | From ccab5ce63dd5d3dbb4bd02998d21d34407e550f2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Anton Gerasimov <anton.gerasimov@here.com> | ||
3 | Date: Fri, 19 Jan 2018 12:44:27 +0100 | ||
4 | Subject: [PATCH] Workaround for a buggy version of openssl (1.0.2m) | ||
5 | |||
6 | --- | ||
7 | src/p11_pkey.c | 12 +++++++++--- | ||
8 | 1 file changed, 9 insertions(+), 3 deletions(-) | ||
9 | |||
10 | diff --git a/src/p11_pkey.c b/src/p11_pkey.c | ||
11 | index 45d5ad3..75625e6 100644 | ||
12 | --- a/src/p11_pkey.c | ||
13 | +++ b/src/p11_pkey.c | ||
14 | @@ -139,8 +139,14 @@ static void EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst, const EVP_PKEY_METHOD *src) | ||
15 | |||
16 | #endif | ||
17 | |||
18 | -#if OPENSSL_VERSION_NUMBER < 0x100020d0L || defined(LIBRESSL_VERSION_NUMBER) | ||
19 | -static void EVP_PKEY_meth_get_sign(EVP_PKEY_METHOD *pmeth, | ||
20 | +#if OPENSSL_VERSION_NUMBER <= 0x100020e0L || defined(LIBRESSL_VERSION_NUMBER) | ||
21 | + | ||
22 | +# if (OPENSSL_VERSION_NUMBER & 0xFFFFFFF0) == 0x100020d0L | ||
23 | +# undef EVP_PKEY_meth_get_sign | ||
24 | +# undef EVP_PKEY_meth_get_decrypt | ||
25 | +# endif | ||
26 | + | ||
27 | +void EVP_PKEY_meth_get_sign(EVP_PKEY_METHOD *pmeth, | ||
28 | int (**psign_init) (EVP_PKEY_CTX *ctx), | ||
29 | int (**psign) (EVP_PKEY_CTX *ctx, | ||
30 | unsigned char *sig, size_t *siglen, | ||
31 | @@ -152,7 +158,7 @@ static void EVP_PKEY_meth_get_sign(EVP_PKEY_METHOD *pmeth, | ||
32 | *psign = pmeth->sign; | ||
33 | } | ||
34 | |||
35 | -static void EVP_PKEY_meth_get_decrypt(EVP_PKEY_METHOD *pmeth, | ||
36 | +void EVP_PKEY_meth_get_decrypt(EVP_PKEY_METHOD *pmeth, | ||
37 | int (**pdecrypt_init) (EVP_PKEY_CTX *ctx), | ||
38 | int (**pdecrypt) (EVP_PKEY_CTX *ctx, | ||
39 | unsigned char *out, | ||
40 | -- | ||
41 | 2.15.1 | ||
42 | |||
diff --git a/recipes-support/libp11/libp11_0.4.7.bb b/recipes-support/libp11/libp11_0.4.7.bb index 7d77e90..7a93102 100644 --- a/recipes-support/libp11/libp11_0.4.7.bb +++ b/recipes-support/libp11/libp11_0.4.7.bb | |||
@@ -8,7 +8,8 @@ LICENSE = "LGPLv2+" | |||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29" | 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29" |
9 | DEPENDS = "libtool openssl" | 9 | DEPENDS = "libtool openssl" |
10 | 10 | ||
11 | SRC_URI = "git://github.com/OpenSC/libp11.git" | 11 | SRC_URI = "git://github.com/OpenSC/libp11.git \ |
12 | file://0001-Workaround-for-a-buggy-version-of-openssl-1.0.2m.patch" | ||
12 | SRCREV = "da725ab727342083478150a203a3c80c4551feb4" | 13 | SRCREV = "da725ab727342083478150a203a3c80c4551feb4" |
13 | 14 | ||
14 | S = "${WORKDIR}/git" | 15 | S = "${WORKDIR}/git" |
diff --git a/recipes-support/util-linux/util-linux_%.bbappend b/recipes-support/util-linux/util-linux_%.bbappend deleted file mode 100644 index d653bb2..0000000 --- a/recipes-support/util-linux/util-linux_%.bbappend +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | PACKAGES_append_class-native = "${@bb.utils.contains('DISTRO_FEATURES', 'sota', ' util-linux-agetty-native util-linux-fdisk-native util-linux-cfdisk-native util-linux-sfdisk-native util-linux-swaponoff-native util-linux-losetup-native util-linux-umount-native util-linux-mount-native util-linux-readprofile-native util-linux-uuidd-native util-linux-uuidgen-native util-linux-lscpu-native util-linux-fsck-native util-linux-blkid util-linux-mkfs-native util-linux-mcookie-native util-linux-reset-native util-linux-mkfs.cramfs-native util-linux-fsck.cramfs-native util-linux-fstrim-native util-linux-partx-native ${PN}-bash-completion-native util-linux-hwclock util-linux-findfs-native util-linux-getopt-native util-linux-sulogin-native', ' ', d)}" | ||
2 | |||
3 | PACKAGES_append_class-native = "${@' util-linux-pylibmount-native' if bb.utils.contains('DISTRO_FEATURES', 'sota', True, False, d) and bb.utils.contains('PACKAGECONFIG', 'pylibmount', True, False, d) else ' '}" | ||
diff --git a/scripts/lib/wic/plugins/source/otaimage.py b/scripts/lib/wic/plugins/source/otaimage.py index 26cfb10..ee8088b 100644 --- a/scripts/lib/wic/plugins/source/otaimage.py +++ b/scripts/lib/wic/plugins/source/otaimage.py | |||
@@ -20,7 +20,7 @@ import os | |||
20 | import sys | 20 | import sys |
21 | 21 | ||
22 | from wic.plugins.source.rawcopy import RawCopyPlugin | 22 | from wic.plugins.source.rawcopy import RawCopyPlugin |
23 | from wic.utils.misc import get_bitbake_var | 23 | from wic.misc import get_bitbake_var |
24 | 24 | ||
25 | logger = logging.getLogger('wic') | 25 | logger = logging.getLogger('wic') |
26 | 26 | ||
diff --git a/scripts/qemucommand.py b/scripts/qemucommand.py index 9a893d8..6b1106d 100644 --- a/scripts/qemucommand.py +++ b/scripts/qemucommand.py | |||
@@ -73,7 +73,7 @@ class QemuCommand(object): | |||
73 | try: | 73 | try: |
74 | check_output(['kvm-ok']) | 74 | check_output(['kvm-ok']) |
75 | self.kvm = True | 75 | self.kvm = True |
76 | except CalledProcessError: | 76 | except Exception: |
77 | self.kvm = False | 77 | self.kvm = False |
78 | else: | 78 | else: |
79 | self.kvm = args.kvm | 79 | self.kvm = args.kvm |
@@ -96,7 +96,7 @@ class QemuCommand(object): | |||
96 | "-serial", "tcp:127.0.0.1:%d,server,nowait" % self.serial_port, | 96 | "-serial", "tcp:127.0.0.1:%d,server,nowait" % self.serial_port, |
97 | "-m", "1G", | 97 | "-m", "1G", |
98 | "-usb", | 98 | "-usb", |
99 | "-usbdevice", "tablet", | 99 | "-device", "usb-tablet", |
100 | "-show-cursor", | 100 | "-show-cursor", |
101 | "-vga", "std", | 101 | "-vga", "std", |
102 | "-net", netuser, | 102 | "-net", netuser, |