RPSL automation

Nick Hilliard nick at inex.ie
Fri May 22 18:13:59 UTC 2009

On 20/05/2009 12:56, Nick Hilliard wrote:
> I've created a branch called "cruft-cleanout" (r225) and have deleted
> all of this stuff from it, leaving only librpsl, peval, rpslcheck and
> RtConfig as the primary targets of the distribution. The reduction was
> done by removing aoe, roe, CIDRAdvisor, prtraceroute and prpath, and
> then carefully removing unreferenced, auto-generated and redundant code.
> This branch now contains about 60750 lines of code. The trunk contains a
> little more than 112kLoC, so this is a reduction of 46% of the entire
> code base.
> The next phase of this clean-up is to begin to look at manually removing
> some library dependencies from the remaining code base. There is some
> low hanging fruit here.

I've committed another monster patch on the cruft-cleanout branch as r226, 
leaving 48.8kloc.  At this stage, about 57% of the codebase has been 
removed with no loss of functionality.

The code (i.e. peval, RtConfig, rpslcheck and librpsl.a) now compiles and 
runs successfully on linux (ubuntu 9.04)/x86, freebsd 7.2/amd64 and MacOSX 
10.5.7.  If anyone has the time / inclination, maybe you could try 
compiling it on your favourite system to see if it compiles / works.  In 
particular, I haven't checked to see if it compiles or runs on solaris.

The remaining code in the source tree probably contains a number of 
unreferenced C++ functions, particularly operators, where it's very 
difficult to check if they are actually used in the code (ld --gc-sections 
does not really help here).  I'm not going to chase these.


commit log:

> - removed GNU autoconf 'configure' files as these should be regenerated by
>   the developer.
> - committed an improvement of http://irrtoolset.isc.org/ticket/19, to shut
>   up warnings from autoconf
> - changed autoconf to default to using "flex -l" instead of "flex".  This is
>   to fix yylineno problems.
> - removed tcl/tk configuration from /configure.in
> - removed large numbers of unreferenced functions
> - removed unreferenced TCP, UDP, RPTypeBlob, Regex classes
> - removed rx Regex library
> - removed man pages for aoe, roe, CIDRAdvisor, prpath, prtraceroute
> - fixed removal of ACG and RndInt classes from src/Core/Makefile.in
> - removed ripe_perl handler completely, as this has been disconnected from
>   the code for some years

More information about the irrtoolset mailing list