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 |