[GRASS5] Re: Backward compatibility (was PATCH: lib/imagery)

Brad Douglas rez at touchofmadness.com
Tue May 10 09:14:39 EDT 2005


Can we come to some consensus before this drives me crazy?

On Tue, 2005-05-10 at 10:12 +0200, Radim Blazek wrote:
> Brad Douglas wrote:
> >>>>I post again.  It removes "struct Tape_Info" and related functions.  It
> >>>>also removes I_malloc(), I_realloc() and I_free() in favor of G_*().
> >>>>
> >>>>Any objections to me applying or did someone find a (legacy) use for the
> >>>>tape functions?
> >>>
> >>>None here.
> >>>
> >>>Also, as you have already identified the I_malloc/I_realloc calls, it
> >>>would be nice to remove the type casts. As G_malloc/G_realloc return
> >>>void*, the casts are unnecessary.
> 
> >>I am also in favour of code cleaning but is it safe to remove functions 
> >>from GRASS libraries during the 6.x line? Cannot that break backward 
> >>compatibility? GDAL for example is using libgrass_I.
> > 
> > 
> > Hmm.  I've had some discussion off-list with Glynn about lib/imagery
> > changes.  I asked Glynn if wee were in a full development cycle and he
> > indicated that we were.  Do we have a loose hierarchy as to who oversees
> > what?
> 
> What does it mean 'a full development cycle'? I don't believe we are in 
> such state after 6.0.0 release.
> 
> 'Loose hierarchy' sounds too strongly.
> 
> > In this particular case, I maybe one compatibility issue since I_malloc
> > () was the only function actually in use (IIRC).  None of the tape_info
> > structures/functions are in use anywhere (looks like support was dropped
> > in 5.x -> 6.x, but function definitions not removed).
> 
> I am almost sure that these changes cannot cause problems but we have to 
> follow some strategy. You cannot say 'non of the structures/functions 
> are used' because many users have developed their custom modules and we 
> cannot break their installations within 6.x.
> 
> >>I thought that we want to maintain binary compatibility for all 6.x 
> >>releases, is it right? If yes, what are the rules we have to follow?
> >>I thought that at least:
> >>- existing functions must not be changed, removed or renamed
> >>- structures must not be changed
> >>- constants and enumerations must not be changed
> > 
> > No problem.  I'm still quite new to the "flow" of GRASS development and
> > I seem to be getting different direction from different people.
> 
> The rules for compatibility maintenance probably were not explicitly 
> written. The only person here who can define them is Glynn.
> 
> In any case, such things should be discussed in the mailing list.
> 
> 
> Radim
-- 
Brad Douglas <rez at touchofmadness.com>




More information about the grass-dev mailing list