Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

snapcraft 8.0.0 #156369

Merged
merged 2 commits into from
Dec 5, 2023
Merged

snapcraft 8.0.0 #156369

merged 2 commits into from
Dec 5, 2023

Conversation

Porkepix
Copy link
Contributor

@Porkepix Porkepix commented Dec 4, 2023

Created by brew bump


Created with brew bump-formula-pr.

  • resource blocks have been checked for updates.
release notes
# What's changed

core18 base removal

This is the largest change and the main reason for the major version bump. Builds requiring core18 should stick to Snapcraft 7.x. You should be able to parallel install Snapcraft by following https://snapcraft.io/docs/parallel-installs to have both instances of Snapcraft working.

Remote building for this base will still work, but issue a warning.

Command Line

The command line has been improved so that messages are streamed in the default brief mode, with additional tunning of the wording, replacing the message Executing , to Pulling, Building, Staging and Priming, making the message much more compact and to the point.

Store

Store operations no longer require a working keyring, Snapcraft will correctly fallback to a file based keyring in these scenarios when working on headless systems or when the system's keyring is not fully configured. The documentation on https://snapcraft.io/docs/snapcraft-authentication has been updated to reflect this, with additional edits to streamline for the new features and hiding away the legacy ones.

New environment for architecture

New environment is available to refer to the build-on and build-for architectures, for core22:

  • CRAFT_ARCH_TRIPLET_BUILD_FOR, superseeds CRAFT_ARCH_TRIPLET
  • CRAFT_ARCH_TRIPLET_BUILD_ON
  • CRAFT_ARCH_BUILD_FOR, superseeds CRAFT_TARGET_ARCH
  • CRAFT_ARCH_BUILD_ON

For core20,

  • SNAPCRAFT_ARCH_TRIPLET_BUILD_FOR, superseeds SNAPCRAFT_ARCH_TRIPLET
  • SNAPCRAFT_ARCH_TRIPLET_BUILD_ON
  • SNAPCRAFT_ARCH_BUILD_FOR, superseeds SNAPCRAFT_TARGET_ARCH
  • SNAPCRAFT_ARCH_BUILD_ON

More on this can be read at https://canonical-snapcraft.readthedocs-hosted.com/en/latest/reference/architectures.html#project-variables

Remote Build

Remote build has an improved behavior. In the past any local source would have been tarballed, generating a new snapcraft.yaml before pushing to launchpad to ensure that all sources could be read. This presented many problems, one of which was that the remote build process was not building as it would have when running locally.

All this has been fixed with the new git first workflow in remote-build, there's now an environment variable, SNAPCRAFT_REMOTE_BUILD_STRATEGY that can be set to:

  • disable-fallback to force the new feature
  • force-fallback to force the legacy feature of tarballing the sources

This is the basic workflow:

img

Linter

The linter is now capable of showing what package could be provided through stage-packages to satisfy a potential missing library.

Chiseling

Chiseled packages can now be referenced through stage-packages, the chiseled slices can be referred to by their name. The current behavior is that when you would opt-in for chiseled packages, you can not mix that with regular debian packages.

This is a great option for creating bases or when using bare as a base.

More about Chisel can be found at https://github.com/canonical/chisel

Plugins and Extensions

Rust plugin

The rust plugin has been significantly improved for core20 and core22 bases. The requirement to speficy the rust toolchain is no longer there and the plugin will fetch the toolchain using rustup as previous versions of this plugin once did.

More information about the new options for rust can be found at https://canonical-craft-parts.readthedocs-hosted.com/en/latest/reference/plugins/rust_plugin.html

Kernel plugin

The kernel plugin can now properly generate Ubuntu kernel configs.

Python plugin

The plugin finally supports PEP 518.

ROS content sharing

Support of content sharing for ROS powered by the extensions that make building a ROS content sharing snap seamless.

To that effect several snaps meant to distribute ROS through content-sharing were created and are available on the store (hidden, e.g. ros-foxy-ros-base & ros-foxy-ros-base-dev)

The support is introduced for

  • the core20 & core22 bases (ROS Noetic, Foxy, Humble)
  • the colcon, catkin, and catkin-tools plugins

To note, this requires the dev snap providing the build-time material to execute a script listing all ROS packages it contains when it's built.

The general architecture is neatly described at https://ubuntu.com/robotics/docs/ros-architectures-with-snaps
And more on each extension behavior can be found at:

Changelog

New Contributors

Full Changelog: canonical/snapcraft@7.5.4...8.0.0

@github-actions github-actions bot added python Python use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` labels Dec 4, 2023
@github-actions github-actions bot added the automerge-skip `brew pr-automerge` will skip this pull request label Dec 5, 2023
Co-authored-by: Branch Vincent <[email protected]>
@chenrui333 chenrui333 removed the automerge-skip `brew pr-automerge` will skip this pull request label Dec 5, 2023
Copy link
Contributor

github-actions bot commented Dec 5, 2023

🤖 An automated task has requested bottles to be published to this PR.

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Dec 5, 2023
@BrewTestBot BrewTestBot added this pull request to the merge queue Dec 5, 2023
Merged via the queue into Homebrew:master with commit bf35d58 Dec 5, 2023
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bump-formula-pr PR was created using `brew bump-formula-pr` CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. python Python use is a significant feature of the PR or issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants