5.0.0? was Re: RPSL automation
shane at isc.org
Mon Jun 15 10:36:02 UTC 2009
On Sat, 2009-06-13 at 15:05 +0100, Nick Hilliard wrote:
> On 08/06/2009 01:05, Nick Hilliard wrote:
> > I can't see a whole load of reason to have three separate but very
> > similar configure scripts, two of which have some really silly bugs.
> > Would anyone object if I reduce these to a single configure script? This
> > will allow freebsd and solaris to be fixed properly by putting in proper
> > lex / bison configuration detection.
> Ok, I'm pretty much finished on the cruft-cleanout branch now (r266).
> Recent highlights:
> - directory structure substantially reorganised. Core is completely gone.
> The remains were moved into librpsl and libnormalform, and Core/gnu has
> been moved into the gnug++ directory, which was then renamed "dataset".
> - src/rpsl/rpsl moved to src/rpsl, so that the directory structure is fully
> consistent. Now, all lib and executable directories hang directly off src/.
> - removed BirdWhoisClient::getSourceOrigin() and consequently the entire
> StringBuffer class and associated files.
> - fixed ticket/22 properly rather than using an ugly hack.
> - autoconf stuff has been rebuilt from the ground up, and the system is now
> based on autoconf2.62. Removed lots of files for this, including
> config.h.in and aclocal.h. Really only left configure.in (which was
> renamed to configure.ac)
> - replaced entire make system with automake. This simplifies the makefile
> configuration drastically and does lots of things like sensible library
> handling and so forth. It also enables parallel makes.
> - libtoolized the entire system and wrapped all libraries into a single
> libirrtoolset.a. While this isn't necessary now, at some stage in the
> future, it might be nice to have a shared libirrtoolset.so library instead
> of a static lib with large binaries.
> - reorganised the versioning code so that everything now depends on the
> version number in configure.ac. bumped version to 4.9.0-alpha1.
> - moved all man pages to their respective places in src/. Renamed Errors
> man page to be irrtoolset-errors.
> - renamed "RtConfig" to rtconfig. You can now use "@rtconfig" on the
> rtconfig command line too. Think of the electrons that can be saved here!
> - made lex yylineno handling more portable.
> - default to use libreadline on darwin, as this is part of the base
> - code now compiles from SVN and dist without errors and runs on mac os x,
> ubuntu9.10, freebsd7 and solaris 10.
> - added various distribution files without which, automake whinges and gripes.
> - tested to ensure that "make dist" packages up the correct files and
> produces a source distribution file which compiles and runs on the various
> target distributions.
> - code line count is now 40455, down from 112392. I.e. 64% of the original
> code base is gone.
> There is up-to-date building information on:
> I suggest that this branch may make a useful starting point for further
> development and that we should consider merging it back into trunk.
> This reorganisation has not been thoroughly tested and it's quite likely
> that this sort of chainsaw treatment will cause a certain amount of
> instability in the short term. So, testers, please poke and report back
> with any trouble.
I think this would make an excellent candidate for 5.0.0. Are there any
other patches that should be included in such a release?
If so I can make a 5.0.0 branch based on your cruft-cleanout branch,
include any other needed patches, and then release an alpha tarball. We
can do something like a 2-week countdown to beta (depending on bugs
reported), then a 2-week countdown to final release (again depending on
Any other proposals gladly accepted of course - this is just one
possible way forward.
Your work here has been fantastic.
More information about the irrtoolset