Skip to content

Updating recipe-sota#422

Merged
ricardosalveti merged 79 commits intofoundriesio:dunfellfrom
munoz0raul:dunfell-27-08
Jan 7, 2022
Merged

Updating recipe-sota#422
ricardosalveti merged 79 commits intofoundriesio:dunfellfrom
munoz0raul:dunfell-27-08

Conversation

@munoz0raul
Copy link
Copy Markdown
Member

This PR updates meta-lmp-base/recipes-sota/ with some addtional commits from meta-lmp-base/conf/ and meta-lmp-base/classes/.

It was tested on imx6ullevk (+mfgtool-imx6ullevk), raspberrypi3-64 and raspberrypi4-64.

Tested with a real Factory where was:

  • Registered the device
  • Enabled shellhttpd to validate Docker
  • Updated the device with a new platform-build.

ricardosalveti and others added 30 commits August 27, 2021 00:15
Sync changes from meta-updater a7189aa (sanity check).

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit ebae3b1)
Signed-off-by: Raul Muñoz <[email protected]>
Follow same pattern as used by linux and u-boot, to make it clear that
this is a forked tree and recipe and also avoid clash with other layers.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 2376c87)
Signed-off-by: Raul Muñoz <[email protected]>
Layers were removed from lmp-manifest, so drop the respective bbmasks.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 39e192f)
Signed-off-by: Raul Muñoz <[email protected]>
Effectively BUILD_DOCKERAPP build flag is becoming useless
as we build aklite with apps support anyway and this is rather
runtime (sota.toml) configurations to turn on/off just
an ostree pack manager or an ostree+app pack manager.

Signed-off-by: Mike Sul <[email protected]>
(cherry picked from commit 005a5a7)
Signed-off-by: Raul Muñoz <[email protected]>
Signed-off-by: Mike Sul <[email protected]>
(cherry picked from commit e491a7e)
Signed-off-by: Raul Muñoz <[email protected]>
Not really required/used by us, and it also brings a dependency on
GPLv3-based components.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 9a18b0f)
Signed-off-by: Raul Muñoz <[email protected]>
Gnutls is licensed under the GPLv3 license, so avoid it by default.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 856729a)
Signed-off-by: Raul Muñoz <[email protected]>
Relevant changes:
- switch to 2020.8+fio
- Fix sorting of the "list" subcommand
- compose-apps: Keep trying to update apps

Signed-off-by: Mike Sul <[email protected]>
(cherry picked from commit f96c74b)
Signed-off-by: Raul Muñoz <[email protected]>
Relevant changes:
- docker-apps: Turn off the docker app pack manager

Signed-off-by: Mike Sul <[email protected]>
(cherry picked from commit b0b9558)
Signed-off-by: Raul Muñoz <[email protected]>
Relevant changes:
- fixup: Remove apps from the list safely

Signed-off-by: Mike Sul <[email protected]>
(cherry picked from commit 3cafa9b)
Signed-off-by: Raul Muñoz <[email protected]>
OSTREE_KERNEL can differ depending on the kernel image type, so cover
the default value for boards using fitImage and traditional kernel
image.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 9326e52)
Signed-off-by: Raul Muñoz <[email protected]>
Same can be done via systemd tmpfiles, so avoid custom job and logic as
done in meta-updater by default.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 9630be9)
Signed-off-by: Raul Muñoz <[email protected]>
sota.bbclass is now installing aktualizr and aktualizr-info by default,
without taking into account the previous logic used by SOTA_CLIENT, so
restore the functionality as before but now via lmp.conf.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit e7c0b99)
Signed-off-by: Raul Muñoz <[email protected]>
Repo manifest is already published by our own CI systemd, so no need to
include it as part of the rootfs.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 6240c6a)
Signed-off-by: Raul Muñoz <[email protected]>
Changes proposed to meta-updater at:
advancedtelematic/meta-updater#777

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit dca95a7)
Signed-off-by: Raul Muñoz <[email protected]>
Currently set by meta-virtualization, but prefer setting the correct
provider via the lmp distro definition to avoid unexpected behavior.

Also set the default provider to docker-moby on risc-v, until there is a
newer docker-ce release that includes support for risc.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit bf086db)
Signed-off-by: Raul Muñoz <[email protected]>
Relevant changes:
- c0fe5f7 Add ability manually install old Targets
- 9defb7a Move CN fetching to CC file
- cf0474b clang: remove BUILD_WITH_CLANG_TIDY option
- 8ea5873 clang: Make clang-tidy-10 happy
- f251b10 Adjust to moving headers in aktualizr
- 4b2b31e composeapps: Hack to adjust to removing of constness
- 1240934 aktualizr: Switch to 2020.9+fio
- 39ab886 aklite: Print device UUID and name

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 1f58d69)
Signed-off-by: Raul Muñoz <[email protected]>
This reverts commit dca95a7.

Fix now available in meta-updater (9a633371b).

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 02f0a3d)
Signed-off-by: Raul Muñoz <[email protected]>
While it is useful to have a path monitor in order to quickly start
aktualizr-lite after performing a registration (e.g.
lmp-device-register), it causes way too much confusion when the user is
trying to stop or manage the service, as this can bring unexpected
behavior.

A similar logic will be moved to lmp-device-register, to allow having a
similar behavior but just after registration.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit baee36e)
Signed-off-by: Raul Muñoz <[email protected]>
Set default INITRD_IMAGE_LIVE to core-image-minimal-initramfs, used by
installers (hddimg, wic-based, etc).

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 346c73c)
Signed-off-by: Raul Muñoz <[email protected]>
Relevant changes:
- Install all Target Apps if compose_apps is not specified

Signed-off-by: Mike Sul <[email protected]>
(cherry picked from commit c58fa1c)
Signed-off-by: Raul Muñoz <[email protected]>
Extend layer depends list based on the layers we currently use and
depend on (which were already enabled as lmp-manifest included them
all).

This is mostly to make it explicit.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 1d652a2)
Signed-off-by: Raul Muñoz <[email protected]>
Relevant changes:
- 549349b Report correct current Target at aklite startup
- 0941138 Fix value in headers of the request to backend

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 431274d)
Signed-off-by: Raul Muñoz <[email protected]>
Signed-off-by: Mike Sul <[email protected]>
(cherry picked from commit 143ef54)
Signed-off-by: Raul Muñoz <[email protected]>
Relevant changes:
- dad2258 Output aklite version if '-v' is specified

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 68b016d)
Signed-off-by: Raul Muñoz <[email protected]>
dnsmasq is required for wifi hotspot, so have it by default in
networkmanager and disable the default systemd job as it is only used by
NM when creating the hotspot.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit cd0f6a1)
Signed-off-by: Raul Muñoz <[email protected]>
Relevant changes:
    - 9ca8284 aktualizr: switch to 2020.10+fio

Signed-off-by: Mike Sul <[email protected]>
(cherry picked from commit 1cd505f)
Signed-off-by: Raul Muñoz <[email protected]>
Relevant changes:
- c43d5b0 fixup! Update Apps if a new Target after restart

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit c18549f)
Signed-off-by: Raul Muñoz <[email protected]>
ricardosalveti and others added 25 commits August 31, 2021 21:19
Move default tmpdir used by aktualizr (boost) to /run/aktualizr instead
of /tmp by default, to avoid having systemd cleaning up files that are
important for aktualizr's runtime.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit cbd4e29)
Signed-off-by: Raul Muñoz <[email protected]>
Relevant changes:
- a2b16db callback: extend the post check callback context
- bc6c76f hsm: make p11 engine singleton and run multiple HSM tests
- 9b43d68 composeappmanager: replace docker ps with REST api
- 0067252 apps: send currently running apps on any update type

Signed-off-by: Mike Sul <[email protected]>
(cherry picked from commit ca6ff61)
Signed-off-by: Raul Muñoz <[email protected]>
Since it was decided to make the server implementation private we need
to move the client tools to their own dedicated git repo, hence we need
to update the given recipe correspondingly.

Signed-off-by: Mike Sul <[email protected]>
(cherry picked from commit 3d0c297)
Signed-off-by: Raul Muñoz <[email protected]>
Provide dump ATF address for uboot_fitimage_assemble if ATF is not
supported. As ATF_LOAD_ADDR is not the latest param for
uboot_fitimage_assemble, we have to provide at least some sane value.

Signed-off-by: Igor Opaniuk <[email protected]>
(cherry picked from commit e333acc)
Signed-off-by: Raul Muñoz <[email protected]>
Turn LMP_DISABLE_GPLV3 on when this class is used.

This way, we can better control along the meta-layer which package or packagegroup is being installed

(cherry picked from commit 42f8a98)
Signed-off-by: Raul Muñoz <[email protected]>
Relevant changes:
- e7821f4 docker: assume TUF repo server is Hub creds provider
- ac594c1 callback: explicit Target name as callback context

Signed-off-by: Mike Sul <[email protected]>
(cherry picked from commit 4134569)
Signed-off-by: Raul Muñoz <[email protected]>
Relevant changes:
- 410bcdf bootloader/masked: call fw_printenv without variable name
- 242a018 bootloader: fix rollback

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit ed852e3)
Signed-off-by: Raul Muñoz <[email protected]>
The original workaround is probably not needed at this stage (fsync
patch long merged in systemd), so drop bbappend.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit abd0268)
Signed-off-by: Raul Muñoz <[email protected]>
Relevant changes:
- d2b77cd Merge pull request #98 from igoropaniuk/fix_bootupgrade_available
- 1affb7e bootloader: fiovb: don't set bootupgrade_available

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 79cfefe)
Signed-off-by: Raul Muñoz <[email protected]>
The update lock became redundant since the introduction of a aklite
generic lock to make sure that only one instance is running.
Also, update lock made sure that there are no two simultaneous
updates/installation happens while it didn't protect from two
simultaneous metadata updates as well as artifacts downloads.

Signed-off-by: Mike Sul <[email protected]>
(cherry picked from commit 98a7db0)
Signed-off-by: Raul Muñoz <[email protected]>
Relevant changes:
- b94670a aklite: extend installation report with App state
- d85c1ce apps: store and make use of App update state
- 9bc4fc1 app: let dockerd manage App's container life
- 14c21f2 aklite: add a system-wide lock for aklite
- 3ceb809 aklite: remove the download and update locks

Signed-off-by: Mike Sul <[email protected]>
(cherry picked from commit ab50fa0)
Signed-off-by: Raul Muñoz <[email protected]>
Relevant changes:
- df0760a bootloader: update fw if bootfirmware_version is not set (#104)

Signed-off-by: Tim Anderson <[email protected]>
(cherry picked from commit c2bcc04)
Signed-off-by: Raul Muñoz <[email protected]>
We are changing CI to trigger an "assemble-system-image" run that works
identical to our container builds. This gives us one code path that is
capable of dealing with our advanced tagging scenarios customers are
starting to hit.

Dunfell: at that point, preload app wasn't part of the backport. I just
add this commit because I saw that the previous commit already added
this if and this commit is removing it. So I decided to adapt and remove
the if.

Signed-off-by: Andy Doan <[email protected]>
(cherry picked from commit 1118773)
Signed-off-by: Raul Muñoz <[email protected]>
Mask append used for adding the modsign config fragment, which breaks
the mfgtools kernel recipe.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 271a717)
Signed-off-by: Raul Muñoz <[email protected]>
Replicate just the needed changes directly in lmp.conf, as we want to
rely on reproducible_build instead of reproducible_build_simple (not
every recipe and subsystem supports unix timestamp, such as the fat fs).

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 1fa0096)
Signed-off-by: Raul Muñoz <[email protected]>
Better use the proper reproducible_build class instead of customizing
reproducible_build_simple as not every recipe/system is compatible with
unix timestamp.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit d4511e0)
Signed-off-by: Raul Muñoz <[email protected]>
Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 9a76839)
Signed-off-by: Raul Muñoz <[email protected]>
Configure fails with OE-master 0fb6280432a36985590d9a714a5f11164aaebb51
as prepend does a cd to ${S} and doesn't go back to ${B}, resulting in:

| CMake Error at CMakeLists.txt:42 (message):
|   Aktualizr does not support building in the source tree.  Please remove
|   CMakeCache.txt and the CMakeFiles/ directory, then create a subdirectory to
|   build in: mkdir build; cd build; cmake ..

As we can't drop the prepend by the way we're handling aktualizr and
aktualizr-lite, add a step to go back to ${B} in order to get it to build
again.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 76cea25)
Signed-off-by: Raul Muñoz <[email protected]>
Tools not packaged explicitly will be packaged via the hosttools
package split function, giving the wrong impression that both get and
lite are meant to be hosttools.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 914e0d9)
Signed-off-by: Raul Muñoz <[email protected]>
Relevant changes:
    - 4999fa0 apps: use DEBUG level msg if no app state file
    - 273ee00: fixup! add dummy 'update-lockfile' param for
      backward compatibility with older LmP versions

Signed-off-by: Mike Sul <[email protected]>
(cherry picked from commit 6d561cd)
Signed-off-by: Raul Muñoz <[email protected]>
Pull in change that adds Target's TAG to /var/sota/current-target

Signed-off-by: Andy Doan <[email protected]>
(cherry picked from commit 1611561)
Signed-off-by: Raul Muñoz <[email protected]>
Relevant changes:
- fiopush: limit a repo file size

Signed-off-by: Mike Sul <[email protected]>
(cherry picked from commit e6e4bfe)
Signed-off-by: Raul Muñoz <[email protected]>
Let systemd create /var/sota when not available on the rootfs.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit cf6e340)
Signed-off-by: Raul Muñoz <[email protected]>
- 1bf1c98 ostreeuploader: upload a repo config to storage
- 90213ad ostreeuploader: add request and correlation IDs
- fb2d3f2 ostreeuploader: param to specify backend API version

Signed-off-by: Mike Sul <[email protected]>
(cherry picked from commit 33bbdb8)
Signed-off-by: Raul Muñoz <[email protected]>
SOTA_PACKED_CREDENTIALS requires java, so make it available via
HOSTTOOLS when set.

Signed-off-by: Ricardo Salveti <[email protected]>
(cherry picked from commit 0086c71)
Signed-off-by: Raul Muñoz <[email protected]>
Copy link
Copy Markdown
Member

@ricardosalveti ricardosalveti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ricardosalveti ricardosalveti merged commit aac3d3f into foundriesio:dunfell Jan 7, 2022
quaresmajose added a commit to quaresmajose/meta-lmp that referenced this pull request Nov 21, 2025
Changelog:
- c01c39a Merge pull request foundriesio#425 from foundriesio/detsch-add-cli-doc
- 5082335 README: Restructure and extend architecture section
- 5c32785 docs: Add docs for key components, using content from docs.foundries.io
- cd63527 Merge pull request foundriesio#432 from foundriesio/check-if-app-is-in-store
- 8d014b8 appengine: Check if app is in store before other checks
- 8204f3d Merge pull request foundriesio#431 from foundriesio/stream-child-output-to-stdout
- 74acd8e appengine: Set timeout for long running app commands
- 38eb5cc appengine: Print app installation progress
- f4811be exec: Add child output printing to stdout
- 4da2503 exec: Add optional param for timeout setting
- a7da093 exec: Make exec non-template function
- fde00f0 api: Make clang-format-20 happy
- 1520ccc Merge pull request foundriesio#429 from foundriesio/detsch-fill-install-description
- 213bf84 api: Fill install result description
- a1bbc4c Merge pull request foundriesio#428 from foundriesio/detsch-test-pull-fail-install
- 451c098 format: Some white-space fixes detected by clang-format-20
- c672b69 e2e-tests: Test pull + install cli operations whith different targets
- 274565e cli: Rename InstallAppPullFailure to InstallTargetPullFailure
- c90d3c5 Merge pull request foundriesio#426 from foundriesio/detsch-improve-e2e-tests
- 27f4bfd e2e-tests: Re-order if conditions to improve organization
- e4bb8f7 e2e-tests: Add test for random sequence of updates
- f7cee2a e2e-tests: Indent log messages for internal operations
- 28947ce e2e-tests: Add wrapper for running commands in targets generation script
- 66c2e7c Merge pull request foundriesio#427 from foundriesio/detsch-pin-composeapp-version
- 7dade6d e2e-tests: Pin composeapp version to v95.1
- a2e73c7 Merge pull request foundriesio#422 from foundriesio/detsch-avoid-deprecated-api
- e5e404e Avoid use of boost process API
- 7384ffc liteclient: Avoid using boost::process::system
- 8042e12 Merge pull request foundriesio#423 from foundriesio/detsch-update-containers
- b034728 docker: Update containers to ubuntu 25.04
- 768c9fe aktualizr: Bump to version 3d25b0304
- bdb0ba6 Merge pull request foundriesio#424 from foundriesio/detsch-tag-container
- 6d47008 e2e-tests: Use tag for referencing aklite-dev image

Signed-off-by: Jose Quaresma <[email protected]>
quaresmajose added a commit that referenced this pull request Nov 26, 2025
Changelog:
- c01c39a Merge pull request #425 from foundriesio/detsch-add-cli-doc
- 5082335 README: Restructure and extend architecture section
- 5c32785 docs: Add docs for key components, using content from docs.foundries.io
- cd63527 Merge pull request #432 from foundriesio/check-if-app-is-in-store
- 8d014b8 appengine: Check if app is in store before other checks
- 8204f3d Merge pull request #431 from foundriesio/stream-child-output-to-stdout
- 74acd8e appengine: Set timeout for long running app commands
- 38eb5cc appengine: Print app installation progress
- f4811be exec: Add child output printing to stdout
- 4da2503 exec: Add optional param for timeout setting
- a7da093 exec: Make exec non-template function
- fde00f0 api: Make clang-format-20 happy
- 1520ccc Merge pull request #429 from foundriesio/detsch-fill-install-description
- 213bf84 api: Fill install result description
- a1bbc4c Merge pull request #428 from foundriesio/detsch-test-pull-fail-install
- 451c098 format: Some white-space fixes detected by clang-format-20
- c672b69 e2e-tests: Test pull + install cli operations whith different targets
- 274565e cli: Rename InstallAppPullFailure to InstallTargetPullFailure
- c90d3c5 Merge pull request #426 from foundriesio/detsch-improve-e2e-tests
- 27f4bfd e2e-tests: Re-order if conditions to improve organization
- e4bb8f7 e2e-tests: Add test for random sequence of updates
- f7cee2a e2e-tests: Indent log messages for internal operations
- 28947ce e2e-tests: Add wrapper for running commands in targets generation script
- 66c2e7c Merge pull request #427 from foundriesio/detsch-pin-composeapp-version
- 7dade6d e2e-tests: Pin composeapp version to v95.1
- a2e73c7 Merge pull request #422 from foundriesio/detsch-avoid-deprecated-api
- e5e404e Avoid use of boost process API
- 7384ffc liteclient: Avoid using boost::process::system
- 8042e12 Merge pull request #423 from foundriesio/detsch-update-containers
- b034728 docker: Update containers to ubuntu 25.04
- 768c9fe aktualizr: Bump to version 3d25b0304
- bdb0ba6 Merge pull request #424 from foundriesio/detsch-tag-container
- 6d47008 e2e-tests: Use tag for referencing aklite-dev image

Signed-off-by: Jose Quaresma <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants