Commit graph

30 commits

Author SHA1 Message Date
jlam
29fefe52e3 * Creates a new variable PKGINFODIR (named similarly to PKGMANDIR)
that is a purely user-settable variable to represent the relative
  path under ${PREFIX} where info files are stored and "dir" files
  are managed.  PKGINFODIR defaults to "info".  INFO_DIR still works,
  but will be obsoleted after the 2006Q1 branch.

* Modify GNU_CONFIGURE_INFODIR to only honor ${PKGINFODIR} if the
  package installs directly into ${PREFIX} and not some subdirectory
  under ${PREFIX}.  This fixes packages that don't really honor
  $(infodir) all that well, and also avoids PLIST problems relating
  to directory removal for those packages.

* Since the majority of Emacs Lisp packages use GNU_CONFIGURE, just
  set GNU_CONFIGURE_INFODIR directly to ${EMACS_INFOPREFIX}, which is
  the Emacs-distro-specific location for info files.  Also pass
  EMACS_INFOPREFIX through PLIST_SUBST for PLIST substitution.

* INFO_FILES should be defined if the package installs info files.
  If the info files are not listed in the PLIST, then INFO_FILES
  must list the filenames for the info files installed by the package,
  which are assumed to be located in ${PREFIX}/${PKGINFODIR}.

* The plist module can now better detect info files listed in PLISTs
  and exports a command to the pkginstall module to append info file
  names to the +INFO_FILES scriptlet at install-time.

* The print-PLIST target is updated to properly list info files in
  the auto-generated PLIST.

* The check-files code is updated to skip all "dir" Info database files.
2006-03-20 01:48:57 +00:00
tron
7aab4e005f Only add "fonts.(alias|dir|scale)" to "CHECK_FILES_SKIP" if a package
is using "pkginstall.mk" to handle font installation.

This fixes one of the many false positives created by "CHECK_FILES",
in this case affecting the "xservers" package.
2006-02-23 14:38:07 +00:00
rillig
0af03625f2 The CHECK_INTERPRETER_SKIP patterns may be either for absolute pathnames or
for pathnames relative to ${PREFIX}.
2006-01-24 22:17:12 +00:00
rillig
71cd38615d Whether a missing interpreter is a warning or an error depends on whether
the _file_ is executable, not the _interpreter_.
2006-01-21 10:13:25 +00:00
rillig
a47edae107 Depending on whether a file is executable or not, it is an error or a
warning if its first line starts with "#!", and the following word is
not an existing file. The package devel/apr installs some *.exp files
that start with "#!", but are not intended to be executed.
2006-01-21 10:04:44 +00:00
rillig
1eb828e8b4 Documented CHECK_INTERPRETER in the header comment. 2006-01-12 11:13:13 +00:00
rillig
d3b0a7ae64 Added the target check-interpreter to bsd.pkg.check.mk, which checks
that the interpreter of "#!"-style scripts exists. It is disabled by
default, and can be enabled by setting CHECK_INTERPRETER=yes. As for the
other check-* targets, CHECK_INTERPRETER_SKIP is a list of shell globs
that can be used to to skip certain files.

Ok'ed by jlam.
2006-01-12 00:40:19 +00:00
schmonz
4fc54b33cc Add a missing trailing backslash to continuatificate a shell snippet
to the following line.
2006-01-09 18:00:04 +00:00
markd
e4b8fa5966 Add R's index files, that are regenerated when a local module
is added, to CHECK_FILES_SKIP.
2006-01-07 19:51:42 +00:00
jlam
ffa70a6b31 Skip charset.alias as it's another generated index file that changes
over time.
2005-12-30 23:11:55 +00:00
jlam
e88d408616 Add some X11 font database files that are generated by mkfontdir,
mkfontscale, ttmkfdir, etc., to the list of skipped files.  We don't
care about these because they're constantly being regenerated, sometimes
during the package's install phase.
2005-12-29 22:39:09 +00:00
jlam
b98b9b5564 Add comments for the skipped files for CHECK_FILES. 2005-12-29 22:32:20 +00:00
kristerw
bf3f4f719f It is confusing to report the files mentioned in the PLIST but filtered
out due to CHECK_FILES_SKIP as "The following files are in the PLIST but
not in ${PREFIX}:".  Report those files separately.
2005-09-30 21:36:45 +00:00
kristerw
8d9627ea2e Some of the names listed in CHECK_FILES_SKIP are for directories, and
the last commit prevents them from matching the filenames within
the directories.  Add wildcards so that they work as before.
2005-09-25 00:34:12 +00:00
kristerw
2ed3db46eb Use ${GREP} -vx instead of ${GREP} -v when filtering the list
of files.  This prevents it from incorrectly report errors for
files with a name that is a prefix of a file in the CHECK_FILES_SKIP
list.
2005-09-25 00:02:27 +00:00
jlam
64edcd53d3 Skip checking files in the refcount directory in case it's under
${PREFIX}, which happens if ${PKG_DBDIR} is under ${PREFIX}, e.g.
/usr/pkg/.pkgdb.  This makes CHECK_FILES usable in my FreeBSD bootstrap
setup.
2005-09-03 23:28:30 +00:00
jlam
72cee106a2 Don't skip files that are under REQD_DIRS directories, as those are
typically under ${PREFIX}.
2005-08-20 02:45:05 +00:00
jlam
6fe2d57173 The various bsd.pkginstall.mk variables can be paths relative to
${PREFIX}, so prepend the words with ${PREFIX} in that case when
setting CHECK_FILES_SKIP.
2005-08-20 02:09:04 +00:00
jlam
66030afca0 Define new variables for package Makefile use:
REQD_FILES, REQD_FILES_PERMS, REQD_FILES_MODE
	REQD_DIRS, REQD_DIRS_PERMS

These are the same as the CONF_* variables, except the files and
directories listed in REQD_* are always copied over, created or removed
(taking into account if there are user modifications from the originals,
etc.) regardless of the value of PKG_CONFIG.

The implementation involved pushing the knowledge of PKG_CONFIG,
PKG_RCD_SCRIPTS, PKG_CREATE_USERGROUP, and PKG_REGISTER_SHELLS into
the individual helper scripts.  The helper scripts are now always
invoked by the +INSTALL and +DEINSTALL scripts.  The +DIRS and +FILES
script have been enhanced to understand a new "f" flag that means
"force" to ignore the value of PKG_CONFIG and PKG_RCD_SCRIPTS.

Lastly, the +FILES script has been taught a new "r" flag just for rc.d
scripts and the +RCD_SCRIPTS script is now unnecessary.
2005-08-19 22:24:09 +00:00
jlam
6b5e1a1b43 perllocal.pod is like info/dir... we don't care if it's created or
removed by any package.
2005-08-19 22:07:46 +00:00
jlam
33881f95e2 Alter the check-files target for ${PREFIX} to check for if files are
in ${PREFIX} but are not in the PLIST and also if files are in the
PLIST but not in ${PREFIX}.  We now flag both types of PLIST problems
as errors.
2005-08-15 17:33:31 +00:00
jlam
df250dd229 Minor nit... use ${.TARGET} instead of specifying the file name again
within a target.
2005-08-15 14:19:37 +00:00
wiz
5adb1051a7 Fix swapped words, found by Leonard Schmidt via tech-pkg. 2005-07-28 13:20:13 +00:00
jlam
bf9129c41e Drop distinction between PKGSRC_USE_TOOLS and USE_TOOLS by making
PKGSRC_USE_TOOLS go away.  There is now only a single USE_TOOLS variable
that specifies all of the tools we need to build/run the package.
2005-07-15 18:27:48 +00:00
kristerw
9768a1614a CHECK_FILES is not ready for prime time, so do not enable it by
default for PKG_DEVELOPER yet...
2005-06-23 21:34:01 +00:00
jlam
31379eace1 Put back behavior that was lost in the initial split of the check-files
implementation out of bsd.pkg.mk -- if NO_PKG_REGISTER is defined,
then don't bother with the file-checks because we don't care about
cleaning up afterwards if we can't uninstall the package.
2005-06-23 21:06:56 +00:00
jlam
1cae80d83e Add a PKGSRC_USE_TOOLS definition to bsd.pkg.check.mk that notes the
tools that are used in the targets.  Also, replace "diff" with ${DIFF}.
2005-06-23 20:51:00 +00:00
jlam
03f3fae54f Drop CHECK_WRKREF_IS_TEXT_FILE and modify the semantics of CHECK_WRKREF
so that it's a list of options, or "no".  The valid options are:

	work	check files for ${WRKDIR}
	tools	check files for ${TOOLS_DIR}

where "work" supersedes "tools".  The default CHECK_WRKREF is "no"
unless PKG_DEVELOPER is defined, in which case it's "tools".
2005-06-23 18:12:20 +00:00
jlam
5d1e8de6bc Split out the check-wrkref implementation and related variables from
bsd.pkg.mk into bsd.pkg.check.mk file.
2005-06-23 09:02:46 +00:00
jlam
6ae4606464 Split out the check-files implementation and related variables into
a new bsd.pkg.check.mk file.  This new file will eventually collect
all of the various "check" targets that are run at install-time.
While here, change the implementation of check-files so that it is
not so monolithic.

Change the meaning of the CHECK_FILES variables so that if it's not
"no", then the file checks are run.  Also, allow these checks to be
run if the user explicitly sets CHECK_FILES in /etc/mk.conf, even if
PKG_DEVELOPER is not defined.
2005-06-23 08:31:20 +00:00