[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-dev: gEDA/gaf stable version 1.0.1-20070626 released!
Ales Hvezda wrote:
> Hi Hamish, Charles, and all,
>
> [snip]
>> How do you envisage version numbers to work in the future?
>
> That's a very good question that several people have asked.
>
> I see a few possibilities:
>
> 1) Go back to just the date version number (20070626).
> Advantage: No changes in numbering required for binary packages.
> Disadvantage: Can't tell the difference between stable releases
> and development snapshots.
>
> 2) Just expose the dotted version like 1.0.1. Where 1.even#.release#
> is a stable snapshot and 1.odd#.release# is a development snapshot.
> Advantage: It is want everybody is used to.
> Disadvantage: No relationship between version and date.
>
> 3) Have a mix like: 1.0.1-20070626.
> Advantage: All the information is there.
> Disadvantage: Kind of a mouthfull.
>
> 4) ???
>
> In all of the cases, I will maintain the date version internally and
> the appropriate version type will be shown to the user (including the
> tarball filenames; something I didn't get around to changing in the
> release).
>
> I also thought about highly encourging that development snapshots would
> never end up in a binary distribution and that only stable releases
> would get packaged up (in whatever distribution be it debian, netbsd,
> fedora etc...). However, I'm not about to attempt to enforce that.
>
> Please comment.
I don't mind making the switch but I worry that what will happen is
we'll see rare "stable releases" and we'll end up always saying "try a
development release" or "get whats in git". And I really don't want to
bounce back and forth. There are a number of tools which may try to
compare versions in pkgsrc and probably other packaging systems. It
causes a handful of headaches to try and distinguish between
gschem-20070101 and gschem-1.0. Which is newer? Is switching an
upgrade or a downgrade? What if there is a security hole in one version
so we want an entry in a vulnerability file that says foo<=1.3 is
vulnerable?
For Icarus verilog what I did was create both a verilog-current package
that uses the yyyymmdd versioning scheme and a verilog pacakge that used
the major.minor.tiny versioning. Thats manageable for Icarus verilog
because I rarely have issues building it (any patches tend to be minor
and anything which needs configuring in the build system is already
supported by the build system in a standard way). Also the fact that
Icarus verilog is a single distfile and single package makes it easy.
I'll note that in that case, there are real new features in the later
development snapshots that just aren't present in the stable releases so
there has been value in packaging them.
When gnucap-0.34 was way out of date the guidance I was given was to
just update to a development snapshot and now I'm being asked to go back
to 0.35. I'll probably move back to 0.35 but will not be doing more
development snapshot packages unless it gets a new name (gnucap-current
or gnucap-devel). The mix and match of versioning is just not good.
Currently gaf is split into quite a few packages: geda-utils, libgeda,
geda-docs, geda-symbols, geda-examples, gschem, gattrib, gnetlist. So
thats 8 packages which all need updating in lock step. I'm really not
excited about turning that into 16 (libgeda, libgeda-current, gschem,
gschem-current, etc). So I guess in the gaf case we're back to my
original concern which is that the stable releases will turn into the
"stale" releases.
Don't underestimate the amount of work needed to maintain a stable branch.
-Dan
_______________________________________________
geda-dev mailing list
geda-dev@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev