File::RdistByRsync is a Perl module that can read rdist distfiles, emulate using rsync.
@dist_blocks = parse_rdist($distfile, %options)
($args, $extras, @dist_blocks) = rdist(@ARGV);
perl -MFile::RdistByRsync -e 'rsync(qw/rdist command flags/)'
File::RdistByRsync parses and understands rdist distfiles and command lines.
It can share it's understanding by returning what it got (parse_rdist() and rdist()) or it can attempt to emulate rdist using rsync.
Well, because rdist is so slow it's unusable and rsync has such a limited interface that it's unusable. I'm sure a better specification language than rdist's could be developed, but rdist's language already exists so I used it to drive rsync.