Craft team welcomes you to another episode of its adventures
by Igor Ljubuncic on 21 March 2023
Welcome to the second article in the Craft team saga. Previously, on Craft Team, we gave you a brief introduction into the team’s function, we announced our desire to share the ins and outs of our day-to-day work with the community, and gave you an overview of roughly two weeks of coding and fun. Today, we’d like to continue, and update you on what we’ve been doing since.
Snapcraft, and who doesn’t like classics
After rigorous testing, some tense back and forth, and a couple of bugs squashed, Snapcraft 7.3.1 has been released to stable. But the work does not end there.
If you’re developing snaps, you may have noticed that the combo of the GNOME extension and Python plugin in the snapcraft.yaml can lead to an odd interaction issue, which led to Snapcraft being confused about which Python interpreter to use. This has been fixed, but for that, you will need to use Snapcraft from the edge channel.
There’s also proper Apt Key management in Craft Archives, part of the larger effort of making Snapcraft code modular and elegant and easier to maintain going boldly and inevitably into the future.
Then, Snapcraft is slowly but surely making its way on becoming able to target core24 as a base. This opens up a new build-base possibility – devel – which allows the use of whatever latest development release for Ubuntu at the time. This means that early adopters will be able to declare core24 as a base, and use devel as the build-base.
We will, we will Rockcraft you
Rockcraft now uses the latest Craft Providers. This brings in performance improvements, and integrates hooks to clean LXD snapcraft on removal and refresh. The integration also provides a better mechanism to interrupt the bootstrapping phase of build containers – when you hit Ctrl + C as soon as you run the command.
The edge version of Rockcraft resolves issues around improving symlinking in the prime stage of the build process. Similarly, issues with the use of overlays have been fixed, in close collaboration with the LXD team.
A fair deal of changes, fixes and new features have come into Charmcraft, too. Bundle Promotion, a functionality extracted from the Juju Bundle is now available in the edge channel. Library fetching (fetch-libs), should no longer require the user to be logged in.
The CentOS integration is almost there, with a PR ready, just waiting for the imminent Craft Parts release that will allow using Charmcraft in destructive mode. There has also been some lint work done, resolving a few corner cases that may occur during the publication of charms.
Last but not least, the team has a new team member who will be mostly focusing on making charms as charming as possible to the end user.
This brings us to a close, with some fresh updates from the Craft team world. Hopefully, you will have found this article as engaging and interesting as the first one. If you’d like to get involved, or perhaps have a question you’d like to ask, check out the previous article for links to our public Mattermost channels. Until next time, may the dev force be with you.