From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Message-ID: <0acb7ca57dc256c3149a5426af8dc39350b9cbd8.camel@pengutronix.de> From: Jan =?ISO-8859-1?Q?L=FCbbe?= Date: Fri, 05 Jun 2020 08:24:58 +0200 In-Reply-To: References: MIME-Version: 1.0 Subject: Re: [RAUC] Backwards/forwards compatibility of bundle format List-Id: RAUC Project - Discussion List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: rauc-bounces@pengutronix.de Sender: "RAUC" To: Matt Campbell , rauc@pengutronix.de Hi, On Thu, 2020-06-04 at 15:02 -0400, Matt Campbell wrote: > I'm looking into RAUC for a product, and I was wondering if there are > any project goals around the stability of the RAUC bundle format. > Specifically, it would be great if all future versions of the rauc > binary was compatible will all previous bundle formats, and also that > all older versions of the binary can install future created bundles. > Obviously that's a big ask, but it'd be great to know what to expect > of RAUC in the future. Even a rough idea of how compatibility will > play out will help me greatly in evaluating RAUC. The basic bundle format has not changed so far (squashfs with CMS signature), which means that newer versions can install old bundles. Going forward, any issue with installing old bundles would be considered a bug. Newer RAUC versions have introduced new features and slot types, though (such as casync, emmc-boot partitions, MBR partition switching). If you use those features, old versions of RAUC won't be able to install those bundles. As long as you don't use new features, our intention is that bundles created by newer versions will be installable by older versions. There are ideas of introducing a new bundle format to allow streaming installation (over the network), but we won't remove support for the original format. If there are ever reasons that require an incompatible change, you can use a two step migration: You can use an intermediate update to ship a new RAUC binary in a bundle created by the old version. Then use the newly installed RAUC for the real update. Does that answer your questions? Regards, Jan _______________________________________________ RAUC mailing list