diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-07-30 16:51:32 +0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-07-30 16:52:12 +0200 |
commit | f3a17b04e630336a0e86af98ae0328797b554312 (patch) | |
tree | fd338657483b3a579e62c9d975c43d95ccf6f8df /maintainers | |
parent | 1e6b14e8a491dc067a5aae281a09fff7bc94085e (diff) | |
download | nixpkgs-f3a17b04e630336a0e86af98ae0328797b554312.tar nixpkgs-f3a17b04e630336a0e86af98ae0328797b554312.tar.gz nixpkgs-f3a17b04e630336a0e86af98ae0328797b554312.tar.bz2 nixpkgs-f3a17b04e630336a0e86af98ae0328797b554312.tar.lz nixpkgs-f3a17b04e630336a0e86af98ae0328797b554312.tar.xz nixpkgs-f3a17b04e630336a0e86af98ae0328797b554312.tar.zst nixpkgs-f3a17b04e630336a0e86af98ae0328797b554312.zip |
nixpkgs-lint: Warn against capitalised package names and missing versions
Diffstat (limited to 'maintainers')
-rwxr-xr-x | maintainers/scripts/nixpkgs-lint.pl | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/maintainers/scripts/nixpkgs-lint.pl b/maintainers/scripts/nixpkgs-lint.pl index 29ecb93c586..baf2cbf8ba7 100755 --- a/maintainers/scripts/nixpkgs-lint.pl +++ b/maintainers/scripts/nixpkgs-lint.pl @@ -42,6 +42,7 @@ my $info = XMLin($xml, KeyAttr => { 'item' => '+attrPath', 'meta' => 'name' }, F # Check meta information. print "=== Package meta information ===\n\n"; +my $nrBadNames = 0; my $nrMissingMaintainers = 0; my $nrMissingDescriptions = 0; my $nrBadDescriptions = 0; @@ -51,7 +52,11 @@ foreach my $attr (sort keys %{$info->{item}}) { my $pkg = $info->{item}->{$attr}; my $pkgName = $pkg->{name}; - $pkgName =~ s/-[0-9].*//; + my $pkgVersion = ""; + if ($pkgName =~ /(.*)(-[0-9].*)$/) { + $pkgName = $1; + $pkgVersion = $2; + } # Check the maintainers. my @maintainers; @@ -72,6 +77,17 @@ foreach my $attr (sort keys %{$info->{item}}) { $nrMissingMaintainers++; } + # Package names should not be capitalised. + if ($pkgName =~ /^[A-Z]/) { + print "$attr: package name ‘$pkgName’ should not be capitalised\n"; + $nrBadNames++; + } + + if ($pkgVersion eq "") { + print "$attr: package has no version\n"; + $nrBadNames++; + } + # Check the license. if (!defined $pkg->{meta}->{license}) { print "$attr: Lacks a license\n"; @@ -104,6 +120,7 @@ foreach my $attr (sort keys %{$info->{item}}) { $nrBadDescriptions++ if $bad; } } + print "\n"; # Find packages that have the same name. @@ -140,6 +157,7 @@ foreach my $name (sort keys %pkgsByName) { print "=== Bottom line ===\n"; print "Number of packages: ", scalar(keys %{$info->{item}}), "\n"; +print "Number of bad names: $nrBadNames\n"; print "Number of missing maintainers: $nrMissingMaintainers\n"; print "Number of missing licenses: $nrMissingLicenses\n"; print "Number of missing descriptions: $nrMissingDescriptions\n"; |