cvs commit: ports/devel/portlint Makefileports/devel/portlint/src portlint.pl

Sergey Skvortsov skv at FreeBSD.org
Wed Apr 13 02:52:40 PDT 2005


Joe Marcus Clarke wrote:
>   Modified files:
>     devel/portlint       Makefile 
>     devel/portlint/src   portlint.pl 
>   Log:
>   Update to 2.7.1
>   
>   * Check to make sure only characters [-.a-zA-Z0-9_] appear in file names [1]

As already discussed, this regex is too restrictive.

Just run this:
find /usr/ports -name "patch-*"|grep -v --regexp='patch-[-.a-zA-Z0-9_]*$'

1. Filenames can contain many special symbols (like '+', ','), for example:
benchmarks/bonnie++/files/patch-bonnie++.cpp

You can't cover all possible filenames because they are controlled by 
authors of software.

2. Regex in portlint does not equal to original in "Porters Handbook" 
([.-_a-zA-Z0-9]). The latter still does not fixed.

3. '::' delimiter for directories is legal and more aestetic than ugly '__'.

So, I offer more tolerant regex [-.a-zA-Z0-9_:+].

This useless patch renaming can produce cvsup storm and there is no 
advantages for end-users:

%find /usr/ports -name "patch-*"|grep -v --regexp='patch-[-.a-zA-Z0-9_]*$'|wc -l
4119

Dixi.

-- 
Sergey Skvortsov
mailto: skv at FreeBSD.org


More information about the cvs-all mailing list