5.0.0? was Re: RPSL automation

Shane Kerr 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 
> distribution.
> - 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:
> http://irrtoolset.isc.org/wiki/CruftCleanout
> 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.

Wow, excellent!

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
bugs reported).

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 mailing list