- Conform to the new port layout, finally.
- Use COMMENT, DESCR, PLIST, PKGINSTALL, PKGDEINSTALL, PKGREQ,
PKGMESSAGE, SCRIPTDIR and PATCHDIR instead of hardcoded file/directory
names. (suggested by will)
- Fix maxchars checker that has been broken.
- Fix "use ldconfig with ||/usr/bin/true" checker. (patch submitted by
sobomax)
- Fix "include the country code in the module alias name" warning.
Besides, "country code" is corrected to "language code".
- Add french and hebrew to the list of lang-specific categories.
- Properly omit the checks against PORTNAME section etc. when the
testee is a slave port.
- Add "INSTALLS_SHLIB may be missing" checker which searches pkg-plist
for `*.so' and `*.so.<nn>'.
- Make it dynamically read bsd.sites.mk so that we no longer need to
keep it always in sync with bsd.sites.mk. It now should recognize
`/%SUBDIR%/' part too.
- Change `split(/\s+/, "blah blah blah")' to `qw(blah blah blah)'.
- Add some dummy comments that prevent Emacs' CPerl mode from
confusing.
- Add a condition "unless this is a master port" to the warnings that
are specific to master ports, because currently we can't know if a
port is a master port.
Reviewed by: mharo (MAINTAINER)
port actually does not have any DISTFILES variable. This *should* work
with slave/master ports, but I'm not sure.
Now the portlint port passes its own test. ;->
PR: 21380
Submitted by: des
Approved by: mharo
- better rcsid checking
- add DIST_SUBDIR to section 1 of the Makefile
- add check for WWW: in pkg/DESCR when http:// exists
- add new -t flag, which will require a tab after a variable defination instead
of spaces
- cleanup english grammar
- add -M (make variable passing) flag
- change into portdir instead of constantly using $portdir/file
- get variables from make instead of parsing the Makefile
- update usage()
- fix some portname/version bugs
- add EXTRACT_ONLY to section 1
- fix multi comment sections on top bug
I think I'm going to start a rewrite of lots of portlint's code to
*hopefully* make it easier to add new checks in the future. If you
have any requests of things for me to put on portlint's TODO list,
send me an email letting me know what they are.
Fixes:
* fix some portname/version checking bugs
* put EXTRACT_ONLY in section 1 checking
* fix multi comment sections at top of Makefile regex
* make portlint pass perl -w (this found a few bugs)
No new features in this version
isn't 100% ready for prime time, but it works well enough that it should
be fine to use for most things. I'm not sure if I'll have time to fix
the few minor bugs that I know of and give it a good testing today.
Parts of the PORTNAME/PORTVERSION changes were submitted by knu.
Other changes in this version:
* add "-V", version flag
* use getopts instead of parsing @ARGV
- this fixes a bug where you could only specify one flag after the
dash (ie. -c -N would work and -cN wouldn't)
* change some warnings to fatals
* ignore dot directives in Makefile
- this usually reduces the number of warnings displayed when
a Makefile contains .include or .if foo
* don't blame just emacs for leaving around temporary editor files
* don't warn about installing files into /compat
* correct counting of number of chars in pkg/COMMENT
* understand multiple rcsid tags in the comments section
- this allows us to have both $FreeBSD$ and $NetBSD$, for example
without getting funky warning messages
* scope variables with my instead of local so we can use strict to
help us find bugs in portlint
portlint port passing portlint)
New portlint features:
* Allow pkg/COMMENT to start with a digit
* Warn about .la files in pkg/PLIST
* Better support for comments in the Makefile
- fixes the section off by 1 error
(DISTNAME needs to exist, and so on, when it does)
* don't report "FATAL: no MAINTAINER listed in Makefile" when it does exist
* other random minor bug fixes
- enforce pkg/COMMENT style
- better info file checking in pkg/PLIST
- don't warn about @unexec rmdir foo || true - the handbook says this is fine
- allow CATEGORIES+=
- warn about www.freebsd.org/~user needing to be people.freebsd.org
- warn about PKGNAME being set from another variable instead of being a
fatal error
- understand both $(PORTSDIR) and ${PORTSDIR}
put the source code for "portlint" into FreeBSD port tree. The
imported revision is 1.65 (in my local RCS file). (pseudo) version
number for the port is now 2.0.
Whoever make changes to bsd.port.mk is advised to update portlint.pl
too :-)
Note that portlint.pl MUST be portable enough to handle (Net|Open|Free)BSD
bsd.port.mk. There are people using portlint.pl on non-FreeBSD
platforms.