Commit graph

1123 commits

Author SHA1 Message Date
rillig
927385d0c2 Fixed the regular expression again. Now the stack limits are 1024 kB for
wip/gforge and 256 kB for databases/pgadmin3.
2006-07-15 07:31:45 +00:00
rillig
6a81ee9262 Updated pkglint to 4.67.
Changes since 4.66:
- Fixed the stack overflow in Perl in long variable assignment lines.
- Improved the SUBST check.
- For all files in bin/ and sbin/, pkglint now complains if the package
  does not have a manual page, too. (Only with -Wextra)
- Lists of pathnames may be used in .for loops, since they are _assumed_
  to not contain any additional white-space.
- Some more small improvements.
2006-07-15 07:02:11 +00:00
rillig
d62fb8a896 Fixed the very stack-consuming regular expression regex_varassign so
that it only needs 256 kB of stack memory instead of more than 2 MB.

See also http://rt.perl.org/rt3/Public/Bug/Display.html?id=39774
2006-07-15 06:57:51 +00:00
rillig
d1dfbed4e5 Another tool modifier, :bootstrap, has been added. 2006-07-14 04:54:58 +00:00
jlam
449c0c5d5e Add BOOTSTRAP_DEPENDS, which has the exact same semantics as
BUILD_DEPENDS.
2006-07-13 21:04:35 +00:00
rillig
d81b7db43f Added "umask" to the list of known shell commands. 2006-07-12 19:34:30 +00:00
rillig
7036700ae5 Added UNPRIVILEGED_USER and UNPRIVILEGED_GROUP. Fixed MAKEFILE. 2006-07-12 19:33:58 +00:00
rillig
51c45e6c5e Swapped the order of two checks in variable_needs_quoting. Now lists of
filenames and pathnames may appear in .for loops. (Of course, this only
works for "nice" filenames, but the amount of false positive warnings would
just be too high.)

Added another warning for dependency patterns like 2.3*, which are
likely to be wrong: They match 2.3, 2.3nb4 and 2.30, but not 2.20, which
lies in between them.
2006-07-11 12:01:06 +00:00
rillig
4af291bc02 - Make variables are allowed in BUILDLINK_PACKAGES. 2006-07-10 11:19:23 +00:00
rillig
e7e0944de6 Found some more variables that have been declared obsolete in February
2005.
2006-07-10 04:18:30 +00:00
rillig
5f885d6529 - A comma is allowed in enumeration types.
- Shell commands in Makefiles may have leading white-space before the
  [@-]*.
- Replaced the obsolete MASTER_SITES_SUBDIR with DIST_SUBDIR in the
  variable order check. The variables aren't the same, but the position
  is fine.
2006-07-10 04:17:56 +00:00
rillig
449f3d2610 Changed the type of COMPILER_RPATH_FLAG to an enumeration to get rid of
the :Q warnings.
2006-07-10 04:16:02 +00:00
rillig
06ff4905f6 - The .gz extension for manual pages is not necessary, since it is
handled automatically by pkgsrc.
- Rewrote the PLIST parser a little bit, which revealed that PLIST
  directives like @dirrm may be prefixed with ${FOR_...} or
  ${NOTFOR_...}.
2006-07-10 03:25:12 +00:00
rillig
c22343fdca Added more tracing. Adjusted pkglint to the latest change to the
buildlink3.mk files by jlam.
2006-07-09 22:39:56 +00:00
rillig
0fd6eb72c4 In all URLs, insist on the proper spelling of NetBSD.org. 2006-07-07 09:45:07 +00:00
rillig
9bb51b2c0e - Fixed a null pointer exception in check_varassign.
- Added a new check for -Wextra that requires a manual page for every
  command in bin/ and sbin/.
2006-07-06 22:06:15 +00:00
rillig
a560a0e865 Although EXTRACT_USING is mentioned in mk/defaults/mk.conf, its primary
purpose is to be overridden by packages, not by the user.
2006-07-06 22:03:39 +00:00
jlam
cf56f31e09 In URLs, the "NetBSD" should be capitalized as such, i.e. "NetBSD.org",
not "netbsd.org".
2006-07-06 21:14:19 +00:00
rillig
77f98effcf - Added OVERRIDE_DIRDEPTH to the list of known variables.
- Added the -Cglobal option for inter-package checks (disabled by
  default) that may consume a lot of memory.
- Adjusted pkglint to another change in the TOOLS framework which had
  not been detected automatically.
- MD5 checksums are no longer deprecated, they are now obsolete.
2006-07-06 17:40:17 +00:00
rillig
9c98b7790e * Invent an annotation scheme for files that intentionally define
variables for use in other files.
2006-07-04 10:01:06 +00:00
rillig
c344194858 PKG_SYSCONFDIR.* is also a Pathname. 2006-07-04 10:01:03 +00:00
rillig
6d30df6ae6 Some minor refinements. 2006-07-04 09:29:54 +00:00
rillig
c061367862 Added NONBINMODE. 2006-07-04 09:02:49 +00:00
rillig
3e4bf002ef Improved the SUBST check so that useful warnings are generated even when
a SUBST block does not start with SUBST_CLASSES, as well as when more
than one class is appended at a time to SUBST_CLASSES.
2006-07-04 09:02:16 +00:00
rillig
f8102338f3 Updated pkglint to 4.66.
This change includes all the things I thought of during the freeze of
2006Q2.

Some variables have disappeared from pkgsrc without notice. Marked them
deprecated to help the package authors at least a bit.

Renamed some ACL abbreviations in makevars.map and adjusted the variable
definitions.

Added the command line options -Dtrace, -Dunchecked and -Dunused.

Some variables may contain unexpected white-space and therefore should
not be used in .for loops.

The -Dmisc option replaces the --verbose option (and the log_info
subroutine), which does not exist any longer. This eliminates all
instances of "OK:" from the output, which I didn't like from the
beginning. The -Dmisc option also takes over many warnings that have
been issued by --debug before.

Improved the check for absolute pathnames. Especially, everything that
follows ${DESTDIR} or $(DESTDIR) in a Makefile is considered an absolute
pathname. This reveals many wrong uses of DESTDIR (as defined by the GNU
coding standards), for example $(DESTDIR)/$(prefix), which should be
$(DESTDIR)$(prefix) instead.

Almost every use of a make(1) variable is checked for spelling mistakes.
Before, only the definitions of variables have been checked.

Restricted the use of variables to specific files, which are defined in
makevars.map. This catches especially buildlink3.mk files with
unexpected side effects.

In shell commands, neither "echo" nor "echo -n" or "${ECHO} -n" should
be used. Since the INSTALL_*_DIR commands can only handle one directory
at a time, suggest to use INSTALLATION_DIRS instead.

Greatly improved the checks for dependency specifications, especially to
find foo-*, which should rather be foo-[0-9]*.

Fixed the incorrect handling of LICENSE_FILE (now using $line->text
instead of $line).

Improved the wording of the "plural names" warnings, so that for known
variables it is "The += operator should only be used with lists." now.

In buildlink3.mk files the uppercase and lowercase names of the package
should correspond with the package name. This catches many
copy-and-paste mistakes. Fixed many null pointer exceptions as well. In
addition, every buildlink3.mk file needs a definition of
BUILDLINK_API_DEPENDS.

In patch files, absolute pathnames and unportable macro names are
checked not only in added lines, but also in the context lines.

In the pkgsrc root directory and the category directories, the Makefiles
are checked like every other Makefile, too.

Fixed the place where the global variables for the package context are
defined and later undefined.

Variables that are mentioned in EVAL_PREFIX may be used in the current
file and are not flagged as "used but not defined".

When parsing shell words in Makefiles, recognize $<, $@, $^ and $/.
(The latter is used extensively by openoffice to represent a directory
separator.)

Fixed some minor bugs:
* $makevar had been defined unintentionally by using the -> operator.
2006-07-02 09:47:17 +00:00
rillig
12561ed62d SUBST_CLASSES and SUBST_FILES.* are very different. 2006-06-30 12:46:30 +00:00
rillig
0480457f70 In some cases variables of the same data type are interpreted
differently, which may lead to problems.
2006-06-30 12:34:44 +00:00
rillig
0cb3c0943f Added examples for the (future) parser in pkglint. 2006-06-29 17:02:32 +00:00
rillig
e84895743d Some ideas for further restricting the definition and use of variables. 2006-06-29 16:40:53 +00:00
rillig
a8deb9011f Updated pkglint to 4.65.
Changes since 4.64:
- Many refinements of quoting checks and variable type definitions.
- Improved the wording of diagnostics and added some explanations.
- Adjusted pkglint to the many recent changes in the infrastructure part.
- Improved detection of absolute pathnames.

Updated during the freeze because the version number has not changed for
two weeks, but many features were added. Therefore the old version
number was not reliable for determining the real functionality of
pkglint exactly.
2006-06-22 07:53:09 +00:00
rillig
410ca72280 When checking a Pathlist, split $value instead of $value_novar. This avoids
many false positive warnings for paths like ${PREFIX}/foo.
2006-06-18 08:43:35 +00:00
rillig
a2e036b02d HEADER_TEMPLATE is deprecated. Added permissions for several JAVA_*
variables.
2006-06-18 08:42:16 +00:00
rillig
097e1b8371 Pathnames should generally not start with a slash. 2006-06-18 08:20:19 +00:00
rillig
9f833e47e8 {DE,}INSTALL_TEMPLATE are deprecated in favor of {DE,}INSTALL_TEMPLATES. 2006-06-18 08:18:18 +00:00
rillig
8ef36cf71a Don't emit a note for missing SUBST_MESSAGE. It's too hard to find a
nice description text for most of the SUBST blocks.
2006-06-18 01:08:08 +00:00
rillig
26dacda906 Don't treat comments as paragraph separators for the SUBST check. See
graphics/xfig for an example where it makes a difference.
2006-06-18 01:01:40 +00:00
rillig
161e740029 Bugfix: Always count the SUBST_SED and SUBST_FILES lines. 2006-06-18 00:51:34 +00:00
rillig
82083b5f83 Added a new check for SUBST blocks. In contrast to all other checks,
this one is defined in PkgLint::SubstContext instead of the main
package. Time will show whether this was a good decision. Since the
checking subroutines heavily modify the fields of the SubstContext, it
seems to be Done Right.
2006-06-18 00:48:47 +00:00
rillig
c4ebc55087 Added OVERRIDE_GNU_CONFIG_SCRIPTS and PYPKGPREFIX. 2006-06-18 00:45:45 +00:00
rillig
88fdf60193 - autofix() may only be called from the checkfile_*() subroutines to avoid
duplicate calls.
2006-06-17 22:46:45 +00:00
rillig
6967adcd13 {DE,}INSTALL_SRC are deprecated because they interfere with the
pkginstall framework.
2006-06-17 19:24:49 +00:00
rillig
551317ca44 - Fixed variable definitions of BUILDLINK_RPATHDIRS.* and PKGPATH.
- The macro __sparc_v9__ is neither defined by gcc nor by SunPro. But
  __sparcv9 is.
- Added some more commands that may be hidden using the "@" character.
- Don't let pkglint get confused by additional magic in the use of
  MASTER_SITES. For example, devel/nspr uses ${MASTER_SITE:S/../../:=foo/}.
2006-06-17 17:09:48 +00:00
rillig
e99786db65 Fixed the adjustment of the directory depth. The last commit to it
(1.611) had broken the check of pkgsrc infrastructure files.
2006-06-17 16:17:12 +00:00
rillig
31c4f77541 Typo (FileMask instead of Filemask). 2006-06-17 16:16:26 +00:00
rillig
7332b1c2cc ${CP} should not be used to install files, since it cannot overwrite
read-only files.
2006-06-17 10:03:09 +00:00
rillig
ed8b654c6f The shell commands ${SED} and ${TR} should not be used in the install
phase.
2006-06-17 09:51:19 +00:00
rillig
43a6e0937f Added the shell commands DELAYED_{ERROR,WARNING}_MSG and SHCOMMENT. 2006-06-16 12:01:38 +00:00
rillig
23797bd2eb USE_TOOLS may be modified in buildlink3.mk. 2006-06-16 09:34:19 +00:00
rillig
25d6c134b4 "exec" is a known shell command. It is one way to suppress the pkglint
warning, but there will be better ones.
2006-06-15 22:50:31 +00:00
rillig
b99fb1367b Since I don't know yet what is the best way to fix the "Unknown shell
command" warnings, they are not enabled by default.
2006-06-15 22:22:13 +00:00
rillig
a1701c2271 In pax(1) command lines, -pe is deprecated in favor of -pp. 2006-06-14 07:44:30 +00:00
adrianp
8186b1b3a0 Minor typo. 2006-06-10 17:13:11 +00:00
rillig
37c752009e - Added "read" to the list of allowed shell commands.
- Added an explanation for the ${WRKSRC}/.. warning, since it is not
  documented anywhere else.
- Improved two diagnostics for buildlink3.mk files.
- Added a check to discover package name mismatches in
  BUILDLINK_{ABI,API}_DEPENDS, as well as the version numbers.
2006-06-09 16:21:26 +00:00
rillig
ec002f76a4 I prefer #none over #empty in USE_LANGUAGES. 2006-06-09 10:27:09 +00:00
rillig
0de71f46c0 In the SCST_COND state, a shell command is expected, so check here for
known and unknown commands, too.
2006-06-09 08:53:28 +00:00
rillig
57bc43dae5 Minor improvements. 2006-06-09 07:29:15 +00:00
rillig
250173f09c The old syntax for List+ and InternalList+ does not exist anymore. 2006-06-08 22:31:25 +00:00
rillig
80caf0f15b - Fixed a typo in a diagnostic message from the buildlink3.mk check.
- Added a warning for "Preformatted manual page without unformatted one".
2006-06-08 18:22:46 +00:00
rillig
d4ada473b5 Contrary to my (and maybe to others') expectations, INFO_FILES does
_not_ have the data type "List of Pathname", but "Yes".
2006-06-08 18:21:14 +00:00
rillig
e3fac959be Renamed $plist, $descr and $message to $lines, as it already is in the
other checkfile_* subroutines.
2006-06-08 17:59:23 +00:00
rillig
ac0b15a263 Packages that install info files should set INFO_FILES. 2006-06-08 17:38:56 +00:00
rillig
ef2af6d8a6 Added explanations for two issues Tron stumbled upon when fixing the
warnings in devel/glib. Also, made the diagnostics for buildlink3.mk
files clearer.
2006-06-08 17:21:28 +00:00
rillig
5a8c02e2ea The ">&" shell operator is recognized correctly. A warning is printed
for every shell command that is not known in the tools framework.
2006-06-08 15:56:00 +00:00
rillig
ce495ca3b0 Minor improvements. 2006-06-08 15:50:54 +00:00
rillig
9f330148b3 Some things from the TODO list have been done. 2006-06-08 15:14:22 +00:00
rillig
c75f288cbd Only adjust the directory depth if there are exactly two leading ".."
path components. The old behavior has led to error messages while
checking the files in mk/flavor/pkg.
2006-06-08 07:15:27 +00:00
rillig
61eb32c234 PKGREVISION does not need the :Q operator. The various *_MSG shell
commands may be hidden with "@".
2006-06-08 07:11:26 +00:00
rillig
9863ec1f94 Replaced the explicit permission [*:a] with [$list], which prevents
buildlink3.mk and builtin.mk files from  modifying these variables.
2006-06-08 07:10:19 +00:00
rillig
119924e6f3 The .include lines in mk/tools/bsd.tools.mk changed, hence pkglint
didn't know the tools from the TOOLS framework anymore. Fixed that and
added some code that will detect such a change in the future.
2006-06-06 16:00:49 +00:00
rillig
3ee159f988 Completed the recent change by Stoned, who overlooked a second instance
of bsd.sites.mk in a comment.
2006-06-06 11:41:40 +00:00
rillig
1e457582de A variable that appears as a whole shell word may either be used as a
list of shell words, or sometimes as a single shell word. Compare: ${LD}
${LDFLAGS} and ./configure -libs ${LDFLAGS:Q}. So in this case, the :Q
operator cannot be checked reliably.
2006-06-06 11:39:25 +00:00
rillig
281a32dde2 Some small refinements. 2006-06-06 11:37:31 +00:00
seb
56cafd791c The new avatar of pkgsrc/mk/bsd.sites.mk is named pkgsrc/mk/fetch/sites.mk 2006-06-06 09:56:22 +00:00
rillig
1064108d2a Added the proper types for many of the variables that have been
unchecked before (mainly because of limitations in earlier pkglint
versions). Added ACL constants for user-defined, system-defined and
command-line variables.
2006-06-06 08:22:41 +00:00
rillig
52f5108b7c Enumerations don't need the :Q operator. 2006-06-06 07:04:56 +00:00
rillig
cf96b37f18 Improved variable_needs_quoting. 2006-06-06 06:48:16 +00:00
rillig
fcf3444e98 Updated pkglint to 4.64.
Changes since 4.63:

- Many diagnostics for the :Q operator have been wrong. They are currently
  left out, but will be re-added later. In the mean time, no diagnostics
  are better than wrong ones.
- Made defining the permissions for variables easier by providing a way to
  define "permission constants".
2006-06-06 05:36:40 +00:00
rillig
7e1a20676b When it is not clear whether the :Q operator should be used or not,
return dont_know instead of true.
2006-06-06 05:18:56 +00:00
rillig
870c059e4b Added the command line argument -D{foo,bar,...} that enables or disables
certain categories of debugging output.
2006-06-05 22:34:40 +00:00
rillig
2e5ea781f2 Minor corrections. 2006-06-05 22:24:12 +00:00
rillig
36aeee7541 Added an explanation for the warning that "Each sed command should
appear in an assignment of its own", since it had been misunderstood at
least once. Also, since the explanation is usually several lines long,
it does not hurt to add two extra empty lines to separate the
explanation from the actual warning.
2006-06-03 07:27:25 +00:00
rillig
6ee13c522e In Makefile.common, the standard list variables may be set using "="
instead of only appending with "+=".
2006-06-03 07:10:25 +00:00
rillig
b0b523a601 Added the possibility of defining custom ACLs in the file makevars.map. 2006-06-03 07:06:23 +00:00
rillig
8ed8d63862 Updated pkglint to 4.63.
Changes since 4.62:
- Improved checking of variable permissions.
- Improved detection of unused variables, for spell checking.
- Added warnings for variables that are used at load time but should not.
- Much code cleanup.
2006-06-03 06:09:40 +00:00
rillig
9c30cd8476 Improved the variable specification in makevars.map. Code cleanup. 2006-06-03 06:04:37 +00:00
joerg
4726a63c51 Add a wish for PYTHON_VERSIONS_INCOMPATIBLE. 2006-06-03 00:25:34 +00:00
rillig
5138f12646 Updated the TODO list. 2006-06-03 00:12:38 +00:00
rillig
a8d637a060 Run-time variables should not be used in load-time variables. 2006-06-02 21:54:00 +00:00
rillig
4d8957470c MASTER_SITE* may be used at run-time. Various other small changes. 2006-06-02 21:33:22 +00:00
rillig
b9a61e6bc7 Removed the subroutine type_should_be_quoted. In extract_used_variables,
a "." is allowed in the variable name. Changed two instances of log_note
to log_debug. Unmatched directives like .endif or .endfor are an error.
2006-06-02 21:32:33 +00:00
rillig
f1e866ee17 Using the := operator has subtle effects on the number of '$' characters
in strings. So don't use them.
2006-05-31 08:59:13 +00:00
rillig
c821274d36 Added a check for variables that are evaluated at load time. Especially
for lists of something, this can lead to unexpected behavior. Currently,
only the variables BUILDLINK_DEPENDS, BUILDLINK_PACKAGES and PKG_OPTIONS
may be looked at during load time.

This warning reveals the bad practice to "patch" CONFIGURE_ARGS at load
time, for example:

> CONFIGURE_ARGS:=      ${CONFIGURE_ARGS:S/--disable-esd/--enable-esd/}
WARN: audio/bmp-esound/Makefile:14: CONFIGURE_ARGS should not be
      evaluated at load time.
2006-05-31 08:46:00 +00:00
rillig
ef3ee853a6 Fixed indentation level in checkline_mk_vartype. 2006-05-31 08:10:45 +00:00
rillig
556a2de50b The checks for variable use and correct quoting have been concentrated
into a single subroutine, checkline_mk_varuse, which replaces the
various ad-hoc checks. Added the class PkgLint::VarUseContext that tries
to model the context in which a make(1) variable can appear. The checks
are much better now than before, but there's still work to do. Added a
new type FileMode for file permissions.

Currently no warnings are printed for untyped variables (that is,
user-defined and not following the common naming schemes). This includes
the iteration variables of .for loops. Since many of the warnings have
been overly strict, this is not a big loss.
2006-05-31 06:35:52 +00:00
rillig
f29df8e46f Some minor fixes and additions. 2006-05-31 02:15:50 +00:00
rillig
4f4a2d9eba SHLIB_HANDLING and USE_RMAN are deprecated. 2006-05-31 02:15:11 +00:00
rillig
f4e8f5d9e5 Moved the code that guesses the type of a variable based on its name
into get_variable_type(). Added a new field PkgLint::Type::is_guessed
that can be checked later.
2006-05-23 11:12:25 +00:00
rillig
b8694492bf Prevented warnings when defining the new FETCH_MESSAGE. 2006-05-23 09:12:35 +00:00
rillig
ae90a923e0 - _FETCH_MESSAGE, BUILDLINK_RECOMMENDED.* and BUILDLINK_DEPENDS.* are
deprecated.
- CONFLICT is just a spelling mistake and therefore should not appear
  in the list of deprecated variables.
- Made handling of parameterized variables more uniform.
2006-05-23 08:59:47 +00:00
rillig
f8c029f6c9 The "future directions" chapter gives a vision of what pkglint may do if
I find too much time.
2006-05-23 08:10:37 +00:00
rillig
8f44969435 - When building the list of used variables, scan Makefile.* in addition
to *.mk.
2006-05-22 10:22:36 +00:00
rillig
732781c1b8 - Pkglint distinguishes between variables FOO and FOO.* now when checking
data types and permissions.
- Changed the way that permissions are determined a bit, so that
  unspecified permissions can be detected.
- Renamed -Wacl to -Wperm.
- When no applicable permissions are found, "?" is returned.
- When checking for unused variables, parameterized variables don't have to
  be matched exactly but only by basename.
- Added an explanation for the permissions warning.
2006-05-22 07:41:03 +00:00
rillig
f6bd1b991b Removed some drivel that was not appropriate for man pages. 2006-05-22 06:05:46 +00:00
rillig
0804d71fb0 - PLISTs should not contain perllocal.pod.
- Variables called *_HOME are assumed to contain a single pathname.
2006-05-21 15:46:43 +00:00
rillig
230833c180 Switching pkglint to OCaml looks feasible. 2006-05-20 14:26:00 +00:00
rillig
80e5ee2f45 Switching the programming language of pkglint to C++ is not an option. 2006-05-20 08:53:19 +00:00
rillig
c5c2956680 Reindented the whole program to fit my personal taste. 2006-05-19 23:38:12 +00:00
rillig
c5a6bf967c - Found three more instances where explain() had been called instead of
explain_warning(), which aborted the program.
- Added support for a wip-specific TODO file where suggested package
  updates are recorded.
2006-05-19 09:05:59 +00:00
rillig
79494065d4 Updated pkglint to 4.62.
Changes since 4.61:
- Bug fixes.
2006-05-16 22:18:59 +00:00
rillig
37a0972f57 bsd.options.mk may set PKG_OPTIONS. 2006-05-16 22:18:17 +00:00
rillig
1b764d1de7 Fixed a typo: $op cannot be "+", but sometimes is "+=". 2006-05-16 22:17:46 +00:00
rillig
b8cb56e04e Found two instances of explain() that had not been converted properly.
Fixed them. Added explain_note().
2006-05-15 21:37:04 +00:00
rillig
358636a86e Allow the compressed form of duplicate elimination for BUILDLINK_PACKAGES. 2006-05-15 07:20:45 +00:00
rillig
b9fd7c6af7 Updated pkglint to 4.61.
Changes since 4.60:
- Added ACL-based checks that restrict the files which may define
  variables.
- Many, many small improvements.
2006-05-13 11:58:25 +00:00
rillig
68c1a520ae - Added the constant NO_LINES as an alias for NO_LINE_NUMBER.
- Renamed explain() to explain_warning() and added explain_info().
- Added some code to distinguish FOO from FOO.* in the makevars.map file.
- Allow an alternative form of checking the inclusion depth in
  buildlink3.mk files.
2006-05-13 11:24:28 +00:00
rillig
4c49c57c7e In the make targets show-* and *-message, commands may be hidden using
"@".
2006-05-11 18:26:51 +00:00
rillig
3e9bba14fc Removed the "Comment expected" warning from patch files, as suggested by
many people on pkgsrcCon 2006.
2006-05-11 11:03:16 +00:00
rillig
6597ed71a9 BUILDLINK_A{B,P}I_DEPENDS should not be assigned using the ?= operator. 2006-05-11 10:10:12 +00:00
rillig
bcac3b22f7 - Allow the lines in makevars.map to be folded like in Makefiles.
- Removed some legacy definitions for ACL subjects.
2006-05-11 09:16:53 +00:00
rillig
752797eed3 Some ideas about the contexts in which variables may be used. 2006-05-11 09:05:33 +00:00
rillig
2c922e44cc - ACL subjects may contain * as a placeholder. 2006-05-10 17:14:08 +00:00
rillig
4c76990d32 The := or != operators can be used for unconditional assignment, too. 2006-05-10 17:01:44 +00:00
rillig
c9d4049caf clean up after doing a quick-install. 2006-05-10 15:42:03 +00:00
rillig
e5bfdfbb0a - Improved ACL definitions in makevars.map.
- Added checks for deprecated and nonexistent licenses. (suggested by gdt)
- Added detection for /foo/s/bar/baz/ sed command that appears without a
  leading "-e" in a SedCommands variable. (suggested by wiz)
2006-05-10 15:31:41 +00:00
rillig
1ecffb1d73 ACL entries are separated by a comma and optional white-space, since that
looks nicer.
2006-05-10 13:52:49 +00:00
rillig
8f57ebdf56 - Removed the types Readonly and Userdefined.
- Aligned the ACL permission letters with the documentation. The old "c"
  letter has been removed because from the definition's point of view,
  there is no difference between the "=" and the ":=" operator. All the
  differences lie on the right hand side, which will be covered later.
- Updated the variables in makevars.map with mk/defaults/mk.conf, 1.118.
2006-05-10 11:34:52 +00:00
rillig
e4b8bd8ff5 Rewrote the section on ACLs. Now I must adjust the implementation to
this specification.
2006-05-10 10:06:03 +00:00
rillig
c0f3775f92 * In the vartypes.map, distinguish FOO and FOO.*. 2006-05-10 09:01:15 +00:00
rillig
3bb1ece210 - Added the class PkgLint::Type.
- Added the -Wacl command line option, which is disabled by default.
- Extended the type definitions in makevars.map by ACLs, which specify
  in which files the variables may be defined.
- Trailing white-space in DESCR files can be fixed automatically.
- Use of the $$ shell variable is not flagged as "strange" anymore.
- Added ACL-based checks for variable definitions.
- PKGREVISION should not be set to 0.
- Improved the diagnostics text for RESTRICTED.
- Added the types Unchecked and Version.
- Dashes are allowed in library names in wrapper reordering commands.
- More than one DISTFILES definition is allowed in the variable ordering
  check.
2006-05-10 08:17:25 +00:00
rillig
edba88d675 In Makefiles, the level of indentation of directives should not be
affected by multiple-inclusion guards.
2006-05-02 10:12:10 +00:00
rillig
ae1b142935 Non-optimal white-space is not worth a warning. A note is enough. 2006-05-02 07:12:19 +00:00
rillig
9854211ccd It is an error if a RESTRICTED package does not have a LICENSE. 2006-05-01 22:01:21 +00:00
rillig
1b6d4ec0f2 The only valid value for NO_{SRC,BIN}_ON_{CDROM,FTP} is ${RESTRICTED},
as documented in the pkgsrc guide.
2006-05-01 20:19:04 +00:00
rillig
0d6b6cd6d9 Don't warn about unknown lines in paragrpah five of buildlink3.mk files
by default. Just skip them and only issue diagnostics when in --debug
mode.
2006-05-01 18:08:00 +00:00
rillig
f7786d5700 - Added specific checks for buildlink3.mk files.
- Found a bug in the SimpleMatch and StringMatch classes, which had worked
  up to now, although I knew that the code was wrong.
2006-05-01 13:47:54 +00:00
rillig
4a59ee2b78 - Added the shell command that is hidden to the diagnostics, so they
look more precise.
- Added checks for proper indentation of make(1) directives.
2006-05-01 00:15:04 +00:00
rillig
b5f475eed2 Marked all variables from mk/defaults/mk.conf as Readonly. 2006-05-01 00:13:47 +00:00
rillig
9edb975e6d List! has been replaced by InternalList. 2006-04-30 21:43:42 +00:00
rillig
dc39fd32e2 Added a warning that shell commands should not be hidden unconditionally
(by starting with the @ character).
2006-04-30 21:31:32 +00:00
rillig
60583f9991 Distinguish the variables pkgname and effective_pkgname. The latter can
also be derived from distname. Added more checks for PLIST files.
2006-04-29 10:12:36 +00:00
rillig
f6f2976090 Removed the word "possible" from the diagnostics, as the number of false
positives is near epsilon.
2006-04-23 09:48:53 +00:00
rillig
3c80b2e1e5 Determining the tool names automatically does not work without cheating,
as not all necessary files are included by bsd.tools.mk. Instead,
defaults.mk is included by bsd.prefs.mk.
2006-04-23 08:59:55 +00:00
rillig
6ad02eac06 The list of files that define the TOOLS is extracted from bsd.tools.mk
instead of specifying it explicitly.
2006-04-22 11:22:40 +00:00
rillig
fff7c773b6 Updated pkglint to 4.60.
Changes since 4.59:
- For many variables the :Q operator is not needed (by definition), for
  example some pathnames, user names, group names.
- Improved the diagnostics for planned package updates.
- Various catch-ups to recent changes in the infrastructure, among them
  BUILDLINK_ABI_DEPENDS and gettext.mk.
- When the PLIST contains a libtool archive, the *.a and *.so files don't
  have to be mentioned explicitly.
2006-04-21 10:37:51 +00:00
rillig
0b63ee04f7 - Added checks for wrapper transformation and reordering rules.
- Added checks for redundant library files in PLISTs.
2006-04-21 09:42:01 +00:00
joerg
7633711ecd Possible warnings if the PLIST contains libtool archives, but the
package doesn't say it uses libtool. Warn for redundant libraries,
when the libtool archive is also included in the PLIST.
2006-04-19 15:05:34 +00:00
rillig
20898fe52d Files called "manual-*" in the patches directory are not checked at all. 2006-04-18 00:35:18 +00:00
rillig
0f20f9fa28 In PLIST files, "share/locale" isn't deprecated anymore. 2006-04-18 00:01:48 +00:00
rillig
fbf3c9f5f0 Added gettext.mk to the list of files that define the tool names. 2006-04-14 12:27:00 +00:00
rillig
74e526d67d The variables *OWN, *GRP, *MODE don't need the :Q operator. The :Q operator
is also not needed for certain variables when adding to a list.
2006-04-14 10:26:41 +00:00