diff options
author | agc <agc@pkgsrc.org> | 1998-11-17 17:19:23 +0000 |
---|---|---|
committer | agc <agc@pkgsrc.org> | 1998-11-17 17:19:23 +0000 |
commit | 569ac5bf230d5e2980c242c7f0c8c460fac560a5 (patch) | |
tree | 81ecccb0cd965bfc8b1b56a5bd50b67fd8ba9c31 /pkgtools/pkglint | |
parent | 28a9218cfbae15ddb5f45ec8a060d01a8ec307fa (diff) | |
download | pkgsrc-569ac5bf230d5e2980c242c7f0c8c460fac560a5.tar.gz |
Stop failing with a fatal error if ${FILESDIR}/md5 file does not exist -
some perfectly sane packages do not have ${FILESDIR}/md5 files. Including
pkgsrc/pkgtools/pkglint, funnily enough.
In its place, introduce a checkmd5 subroutine, and call it if the file is
present. This subroutine checks for the presence of the NetBSD RCS Id in
the file.
Diffstat (limited to 'pkgtools/pkglint')
-rw-r--r-- | pkgtools/pkglint/files/pkglint.pl | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/pkgtools/pkglint/files/pkglint.pl b/pkgtools/pkglint/files/pkglint.pl index 67e4751905f..02c3519354b 100644 --- a/pkgtools/pkglint/files/pkglint.pl +++ b/pkgtools/pkglint/files/pkglint.pl @@ -11,7 +11,7 @@ # Freely redistributable. Absolutely no warranty. # # From Id: portlint.pl,v 1.64 1998/02/28 02:34:05 itojun Exp -# $NetBSD: pkglint.pl,v 1.4 1998/11/11 12:07:44 agc Exp $ +# $NetBSD: pkglint.pl,v 1.5 1998/11/17 17:19:23 agc Exp $ # # This version contains some changes necessary for NetBSD packages # done by Hubert Feyrer <hubertf@netbsd.org> and @@ -136,10 +136,10 @@ EOF # # check for files. # -@checker = ('pkg/COMMENT', 'pkg/DESCR', 'Makefile', 'files/md5'); +@checker = ('pkg/COMMENT', 'pkg/DESCR', 'Makefile'); %checker = ('pkg/COMMENT', 'checkdescr', - 'pkg/DESCR', 'checkdescr', 'Makefile', 'checkmakefile', - 'files/md5', 'TRUE'); + 'pkg/DESCR', 'checkdescr', + 'Makefile', 'checkmakefile'); if ($extrafile) { foreach $i ((<$portdir/scripts/*>, <$portdir/pkg/*>)) { next if (! -T $i); @@ -162,6 +162,12 @@ foreach $i (<$portdir/patches/patch-??>) { push(@checker, $i); $checker{$i} = 'checkpatch'; } +if (-e <$portdir/files/md5>) { + $i = <files/md5>; + next if (defined $checker{$i}); + push(@checker, $i); + $checker{$i} = 'checkmd5'; +} foreach $i (@checker) { print "OK: checking $i.\n"; if (! -f "$portdir/$i") { @@ -446,6 +452,21 @@ sub checkpatch { close(IN); } +sub checkmd5 { + local($file) = @_; + local($rcsidseen) = 0; + + open(IN, "< $portdir/$file") || return 0; + while (<IN>) { + $rcsidseen++ if /\$$rcsidstr[:\$]/; + } + if (!$rcsidseen) { + &perror("FATAL: RCS tag \"\$$rcsidstr\$\" must be present ". + "in md5 $file.") + } + close(IN); +} + # # Makefile # |