On Wed, Feb 20, 2013 at 06:34:33AM -0700, Eric Blake wrote: > Automating a sorting check is the only way to ensure we don't > regress. Suggested by Dan Berrange. > > * src/check-symsorting.pl (check_sorting): Add a parameter, > validate that groups are in order, and that files exist. > * src/Makefile.am (check-symsorting): Adjust caller. > * src/libvirt_private.syms: Fix typo. > * src/libvirt_linux.syms: Fix file name. > * src/libvirt_vmx.syms: Likewise. > * src/libvirt_xenxs.syms: Likewise. > * src/libvirt_sasl.syms: Likewise. > * src/libvirt_libssh2.syms: Likewise. > * src/libvirt_esx.syms: Mention file name. > * src/libvirt_openvz.syms: Likewise. > --- > > While I can manage in perl, I probably don't have the best usage > patterns; suggestions for improving this patch are quite welcome. > diff --git a/src/check-symsorting.pl b/src/check-symsorting.pl > index 9c62246..cbcb737 100755 > --- a/src/check-symsorting.pl > +++ b/src/check-symsorting.pl > @@ -3,22 +3,27 @@ > use strict; > use warnings; > > -die "syntax: $0 SYMFILE..." unless int(@ARGV) >= 1; > +die "syntax: $0 SRCDIR SYMFILE..." unless int(@ARGV) >= 2; > > my $ret = 0; > +my $srcdir = shift; > +my $lastgroup = undef; > foreach my $symfile (@ARGV) { > open SYMFILE, $symfile or die "cannot read $symfile: $!"; > > my $line; > + my $groupfile; > my @group; > > while (<SYMFILE>) { > chomp; > - next if /^#/; > > - if (/^\s*$/) { > + if (/^#/) { This can match plain comments, or comments with a filename > + $_ =~ s/^# //; > + $groupfile = $_; So I'd split this into two: if (/^#\s*((\w+\/)*(\w+\.h$))\s*$) {? $groupfile = $1; } elif (/^#\s*$/) { # Ignore comments ... > + } elsif (/^\s*$/) { ACK either with or without the change Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list