Patching Unpatchable Files

Patching Unpatchable Files

In the Yocto world, the .bbappend file is a well-known and documented mechanism for altering recipe files, and an essential part of daily operations. While not common, there are instances where it becomes necessary to modify other file types, such as .inc or .bbclass, which do not offer an equivalent append mechanism. This session will summarize various strategies for effectively handling these file types when patching cannot be avoided.

In my recent presentation at the Yocto Developer Day in Vienna, I mentioned using the KAS patch mechanism for minor modifications to files like .inc or .bbclass, where the Yocto internal overwriting mechanism via .bbappend files does not apply. Initially intended as a helpful side note on how I navigated a few unique situations, this part quickly escalated into the most discussed segment of the talk. Half of the attendees I spoke with found it valuable, while the other half expressed strong objections.

In this follow-up session, I aim to dive deeper into the complexities of working with these “unpatchable” files and explore the following key questions:

In which situations is patching valid? What strategies and approaches —both well-known and lesser-known— are generally available? Which strategy is best suited for different scenarios and use cases? In conclusion, this talk aims to present and document various strategies for addressing the challenge of “patching unpatchable files” and to encourage discussions on best practices.

Presented at

  • Yocto Project Summit 2024.12, virtual

Download slides

Related Posts

How a modern Yocto setup could look like

How a modern Yocto setup could look like

In 2015, we built a sophisticated meeting room information system based on Android Things as a student project. As Android Things was deprecated in 2021, we started to use our Yocto Project experience to develop a maintainable, future proof embedded system.

Read Post
Raspberry Pi für die professionelle Produktentwicklung - Eine gute Idee?

Raspberry Pi für die professionelle Produktentwicklung - Eine gute Idee?

Maschinen und Geräte durch Vernetzung und Software aufzuwerten ist ein Kerngedanke des IoT. So werden die resultierenden Projekte häufig aus der Fachdomäne mit dem Wunsch nach schnellen und einfachen Erfolgen gestartet. Die Idee liegt dann nahe den beliebten Raspberry Pi als Basis zu nutzen. Das Gerät ist ja bekannt, fast alles wurde schon einmal von irgendwem gemacht und ins Netz gestellt. Klingt fast zu schön, um wahr zu sein - ist es auch aus professioneller Sicht. Die Gründe hierfür und welche Faktoren bei der Entscheidung für eine Hard- und Software-Plattform als Basis für ein IoT Produkt berücksichtigen werden sollten, sind Inhalt des Vortrags.

Read Post
Building a Yocto Pipeline with KAS, GitHub Actions and AWS

Building a Yocto Pipeline with KAS, GitHub Actions and AWS

Using KAS makes handling Yocto Projects easy. By shipping its own container with all needed dependencies, building sophisticated CI pipelines becomes pretty easy - in theory, or when using Gitlab. But using GitHub as a code hosting platform with self-managed Action runners on AWS comes with a set of unexpected challenges.
Anna-Lena will talk about her quest through GitHub Actions, the Cloud and how to tame them. The talk aims to point the audience to the obstacles when building CI pipelines for the Yocto Project with KAS, GitHub Actions, and custom action runners on AWS and strategies to handle them.

Read Post