Gentoo Archives: gentoo-perl

From: antoine.raillon@××××××.net
To: gentoo-perl@l.g.o
Subject: [gentoo-perl] r16 - /
Date: Thu, 12 May 2005 21:57:28
Message-Id: 20050512215633.B152182813D@gredin.dragou.net
1 Author: sniper
2 Date: 2005-05-11 20:56:08 +0200 (Wed, 11 May 2005)
3 New Revision: 16
4
5 Added:
6 chkebuild.pl
7 Log:
8 ebuild format checker/parser
9
10
11
12 Added: chkebuild.pl
13 ===================================================================
14 --- chkebuild.pl 2005-05-11 18:09:08 UTC (rev 15)
15 +++ chkebuild.pl 2005-05-11 18:56:08 UTC (rev 16)
16 @@ -0,0 +1,32 @@
17 +#!/usr/bin/perl
18 +
19 +my $re_path = '(?:.+/)?';
20 +my $re_pkg = '[-\w+]+?';
21 +my $re_ver = '(?:[\d\.]+[a-z]?)?';
22 +my $re_suf = '(?:_(?:alpha|beta|pre|rc|p)(?:\d+)?)?';
23 +my $re_rev = '(?:r\d+)?';
24 +my $re_ext = '(?:\.(?:ebuild|tar|gz|tar.gz|zip|bz2|tgz))?';
25 +my $re_ebuild = qr[($re_path)($re_pkg)-?($re_ver)($re_suf)-?($re_rev)($re_ext)];
26 +
27 +print "REGEXP: $re_ebuild\n\n";
28 +
29 +my ($ok, $nok, $total) = (0, 0, 0);
30 +while(<>) {
31 + chomp;
32 + $total++;
33 + if(my($path, $pkg, $ver, $suf, $rev, $ext) = /^$re_ebuild$/) {
34 + $ok++;
35 + print "$_\tPASS path=$path pkg=$pkg ver=$ver suf=$suf rev=$rev ext=$ext\n";
36 + }
37 + else {
38 + $nok++;
39 + print "$_\tFAILED\n";
40 + }
41 +}
42 +
43 +print<<END;
44 +PASS: $ok
45 +FAILED: $nok
46 +TOTAL: $total
47 +
48 +END
49
50
51 --
52 gentoo-perl@g.o mailing list