[Release notes] Sailfish SDK 3.8

Update History

  • 2022-02-04 Sailfish SDK 3.8 released to Early Access users
  • 2022-02-11 Sailfish SDK 3.8 released to all users
  • 2022-03-21 Early Access Build Targets and Emulator updated to 4.4.0.58 (Vanha Rauma)

Most notable changes included in this release:

  • Docker based build engine is now usable on hosts with cgroup v2
    • Please note that our QA is done on Ubuntu 20.04, so you might still run into issues using other Linux distributions.
  • Possibility to run multiple builds concurrently
  • Support for password protected ssh keys
  • Possibility to clone build targets

Contributions from the community

We would like to thank the people who have reported bugs via Sailfish OS Forum.

Release Content

This release doesn’t bring changes to the Emulators or Build Targets. The latest Emulator and Build Targets match the Sailfish OS release 4.3.0 “Suomenlinna”

SDK IDE (Qt Creator)

  • Bugs fixed:
    • No feedback when attaching debugger to running application takes too long

SDK CLI (sfdk)

  • Possibility to define arguments which are passed to build shell. See the build-shell.* configuration options in sfdk --help-building for more info.
  • Possibility to run maintenace commands under the configured build target conveniently with sfdk build-shell --maintain
  • Possibility to set emulator device model. See sfdk emulator --help for more info.
  • Command used for searching for packages inside a build target was renamed as sfdk tools package-search
  • Sfdk now preserves only the latest RPMs in output directory. Use the package.timeline configuration option to override.
  • Zypper based deployment methods report installation progress
  • Possibility to run build jobs with modified scheduling priority, i.e. with nice
  • Possibility to clone build targets with sfdk tools clone
  • Possibility to determine how the current build environment differs from the clean state using sfdk build-requires diff
  • Possibility to forward environment variables to build engine using sfdk engine set environment.filter
  • Possibility to handle zypper errors interactively during build tools update
  • Bugs fixed:
    • sfdk does not automatically recover from rpm database error during tools update
    • Interrupting sfdk tools register leaves zypper running on background
    • Unnecessary confirmation step with sfdk tools register
    • ‘sfdk apply’ command does not work with patches with CRLF on Unix
    • sfdk package-install instructs to use sdk-assistant help that is not available
    • sfdk: Local package cache is cleaned unconditionally during tools update
    • sfdk: outdated target snapshot is reset implicitly with no-pull-build-requires active
    • sfdk: registering build target snapshot is not possible
    • ‘sfdk build-requires reset’ cleans up local package cache unconditionally
    • sfdk: target snapshot considered outdated once after package-search on the original target
    • sfdk: options are not explicit about accepting paths under SDK workspace
    • sfdk is verbose under Git repo with empty HEAD
    • sfdk creates .sfdk directory in $PWD when there was no spec or yaml found
    • sfdk apply doesn’t exit when patching fails
    • sfdk doesn’t pass %_sourcedir to rpmspec
    • sfdk’s exit status is 0 even when build fails.

General

  • Possibility to run multiple builds concurrently with Sfdk
  • Password-protected SSH keys can be used with the help of SSH authentication agent
    • Attention: Do not choose your specific SSH key when adding the device under Qt Creator. Leave the selection on the default value. Otherwise Qt Creator will not talk to the SSH agent. All that you need to do is to add the key to the agent.
  • Added emulator modes for Sony Xperia 10 II and III
  • Forwarding environment variables to the build environment with sfdk engine set environment.forward
  • Bugs fixed:
    • Docker based build engine unusable on hosts with cgroups v2 only
    • Docker build engine does not seem to recover from network changes
    • sdk-manage creates target with double slash in SBOX_CROSS_GCC_DIR
    • Automatic refreshing of RPM repo caches disturbs SDK workflows
    • Application projects claim ownership of /usr/bin by default

Installation/Maintenance

  • When installing Docker based build engine, the installer now checks if the Docker root directory has as much space as the installation target directory, and prints a warning if that is not the case

Known Issues

  • Proxy settings don’t work on Docker based build engine.
    • As a workaround, manual proxy configuration is possible by setting the well known *_proxy environment variables on host and get them forwarded to the build engine with sfdk engine set environment.forward="*_proxy".
  • The SDK installer does not work with the Docker buildkit which is used by default on new Docker installations on Windows. Typical error message is Error response from daemon: network mode "sailfish-sdk" not supported by buildkit
    • As a workaround, set the environment variable DOCKER_BUILDKIT to value 0 before running the installer/maintenance tool. e.g. DOCKER_BUILDKIT=0 /c/SailfishOS/SDKMaintenanceTool

If you have any questions, feel free to either write it up here in Sailfish OS Forum or send an e-mail to developer-care at jolla.com.

Happy hacking!

Jolla SDK Team

4 Likes

Today (February 4th, 2022) at 12:00 UTC the Sailfish SDK 3.8 release was published to Early Access users. Please, check out the in depth release notes from original post.

The installers for this release of the SDK are now available for download

If you have an older release of the SDK with the early access updates repository enabled, you should see an update notification in the Sailfish IDE.

If you have any questions, feel free to either write it up here in https://forum.sailfishos.org/ or send an e-mail to developer-care at jolla.com.

Happy hacking,

Jolla SDK Team

1 Like

Today (February 11th, 2022) at 12:30 UTC the Sailfish SDK 3.8 release was published to all users.

Please, check out the in depth release notes from original post

The installers for this release of the SDK are now available for download

If you have an older release of the SDK, you should see an update notification in the Sailfish IDE soon.

If you have any questions, feel free to either write it up here in https://forum.sailfishos.org/ or send an e-mail to developer-care at jolla.com.

Happy hacking,

Jolla SDK Team

Today (Mar 21th) at 12:30 UTC we published an update to the Early Access Build Targets and Emulator. These now match the Sailfish OS release 4.4.0.58 (Vanha Rauma).

If you have an older version of the Early Access Build Targets and/or Emulator installed, you should see an update notification in the Sailfish SDK soon.

Please, read the following notes about the Early Access Build Targets and Emulator:

  • The Early Access Build Targets and Emulator match the latest Sailfish OS version released to Early Access users
  • By using the Early Access Build Targets and Emulator developers can test their Sailfish OS apps about a week before the Sailfish OS release is made public
  • During the early access time the Early Access Build Targets should not be used for submitting apps to the Jolla Harbour
  • Installation is done by selecting “Sailfish SDK > Build Targets > SailfishOS-ea-<arch>” and “Sailfish SDK > Emulators > SailfishOS-ea” components inside the SDK Installer/Maintenance Tool

If you have any questions, feel free to either write it up here in https://forum.sailfishos.org/ or send an e-mail to developer-care at jolla.com.

Happy hacking,

Jolla SDK Team

2 Likes