[PATCH 1/3] command: introduce abi version
Sascha Hauer
s.hauer at pengutronix.de
Mon Oct 29 06:31:16 EDT 2012
On Mon, Oct 29, 2012 at 10:56:04AM +0100, Johannes Stezenbach wrote:
> On Mon, Oct 29, 2012 at 09:50:55AM +0100, Sascha Hauer wrote:
> > On Mon, Oct 22, 2012 at 06:07:26PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > > This will allow to detect incompatibility between the env abi and the current
> > > barebox one
> ...
> > > +
> > > +#define COMMAND_ABI_VERSION 0
> >
> > Please describe what this is. Something like:
> >
> > /*
> > * This tracks incompatible changes to the barebox command interface.
> > * This number is increased when changes are introduced which will cause
> > * an older environment to no longer work. This could be:
> > *
> > * - changes in commandline options to commands
> > * - renames of commands
> > * - rename of device files
> > *
> > * If you change this value, add a explanation of the actual change to
> > * Documentation/command-abi-changes.txt
> > */
>
> I wonder how this will work in practice. If I use a simple
> /env/bin/init script and someone makes changes to a command
> which isn't used by my /env/bin/init, will it still cause
> my environment to be detected as incompatible?
>
> Maybe it would be a good idea to give the user control
> over when to change COMMAND_ABI_VERSION by putting it into menuconfig?
>
> Either way I guess it means the default environment's init script
> would need to implement automatic update to not lose important settings.
I see the same problems and I am not really happy with introducing an
ABI version.
Also, introducing an ABI version could motivate people to break the ABI just
because it's simple to do so and we have a standard way of doing it.
>
> Bottom line: It's much better to not make incompatible ABI changes _ever_.
Agreed. In case of the change to the mount command this could mean to
preserve the old ABI at least for compatibility. In case of my USB/MMC
disk example this could mean to add links.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list