Re: GNU Radio ABI guarantees
Ah, you're right: of course you *could* use a symbol introduced in A.B.1.0 and then couldn't compile with A.B.0.0, but what I meant is "recompiling (when a new release comes out)". On Tue, 2020-01-21 at 15:36 +0100, Sylvain Munaut wrote: > > we guarantee API > > compatibility (i.e. recompiling will never fail) for all releases that > > have the same A.B. > > Huh really ? > > I thought it was more like within the same A.B, if it builds with C0, > it will build for any C1 >= C0. > > Cheers, > > Sylvain smime.p7s Description: S/MIME cryptographic signature
Re: GNU Radio ABI guarantees
> we guarantee API > compatibility (i.e. recompiling will never fail) for all releases that > have the same A.B. Huh really ? I thought it was more like within the same A.B, if it builds with C0, it will build for any C1 >= C0. Cheers, Sylvain
Re: GNU Radio ABI guarantees
Great, thanks! I think this GREP should all be done on a second digit change, so when I have some more time I'll update it accordingly. On Tue, 21 Jan 2020 10:12:46 +, "Müller, Marcus (CEL)" said: > Hi Thomas, > > as Nate wrote: we guarantee ABI compatibility between Releases A.B.C.D > that only differ in D (i.e. no relinking necessary), we guarantee API > compatibility (i.e. recompiling will never fail) for all releases that > have the same A.B. > > Best regards, > Marcus > > On Mon, 2020-01-20 at 23:00 +, Thomas Habets wrote: > > What are the ABI guarantees between GNU Radio releases? > > > > I'm drafting a GREP on modernizing the C++ code[1], so started wondering > > about this. > > > > If a minor release, once released, only gets backported fixes from master, > > then this should not be an issue. > > > > [1] https://github.com/gnuradio/greps/pull/19 > > >
Re: GNU Radio ABI guarantees
Hi Thomas, as Nate wrote: we guarantee ABI compatibility between Releases A.B.C.D that only differ in D (i.e. no relinking necessary), we guarantee API compatibility (i.e. recompiling will never fail) for all releases that have the same A.B. Best regards, Marcus On Mon, 2020-01-20 at 23:00 +, Thomas Habets wrote: > What are the ABI guarantees between GNU Radio releases? > > I'm drafting a GREP on modernizing the C++ code[1], so started wondering > about this. > > If a minor release, once released, only gets backported fixes from master, > then this should not be an issue. > > [1] https://github.com/gnuradio/greps/pull/19 > smime.p7s Description: S/MIME cryptographic signature
Re: GNU Radio ABI guarantees
Hi Thomas, Please see the younger Marcus' email here where he covers the development model when GR was switched to semantic versioning. "the third being the "ABI" digit, meaning that as long as the first three digit stay the same, you can just replace one libgnuradio*.so with another one without rebuilding your binary (that's a feature that I think software distributors will be most happy about)" https://lists.gnu.org/archive/html/discuss-gnuradio/2018-02/msg00133.html Regards, Nate Temple On Mon, Jan 20, 2020 at 3:02 PM Thomas Habets wrote: > What are the ABI guarantees between GNU Radio releases? > > I'm drafting a GREP on modernizing the C++ code[1], so started wondering > about this. > > If a minor release, once released, only gets backported fixes from master, > then this should not be an issue. > > [1] https://github.com/gnuradio/greps/pull/19 > > -- > typedef struct me_s { > char name[] = { "Thomas Habets" }; > char email[] = { "tho...@habets.se " }; > char kernel[]= { "Linux" }; > char *pgpKey[] = { "http://www.habets.pp.se/pubkey.txt; }; > char pgp[] = { "9907 8698 8A24 F52F 1C2E 87F6 39A4 9EEA 460A 0169" }; > char coolcmd[] = { "echo '. ./_&. ./_'>_;. ./_" }; > } me_t; >
GNU Radio ABI guarantees
What are the ABI guarantees between GNU Radio releases? I'm drafting a GREP on modernizing the C++ code[1], so started wondering about this. If a minor release, once released, only gets backported fixes from master, then this should not be an issue. [1] https://github.com/gnuradio/greps/pull/19 -- typedef struct me_s { char name[] = { "Thomas Habets" }; char email[] = { "tho...@habets.se " }; char kernel[]= { "Linux" }; char *pgpKey[] = { "http://www.habets.pp.se/pubkey.txt; }; char pgp[] = { "9907 8698 8A24 F52F 1C2E 87F6 39A4 9EEA 460A 0169" }; char coolcmd[] = { "echo '. ./_&. ./_'>_;. ./_" }; } me_t;