summaryrefslogtreecommitdiff
path: root/mk/check
AgeCommit message (Collapse)AuthorFilesLines
2006-08-22Avoid spurious false negatives when the directories are reorderedjoerg1-4/+7
during install phase by sorting explicitly.
2006-07-13Fixed default path wildcards for CHECK_INTERPRETER_SKIP. Now theyheinz1-4/+6
actually apply to the whole subtree.
2006-07-05Make the check-vulnerable target more self-sufficient, by moving somejlam1-1/+5
of the logic from fetch/fetch.mk into flavor/pkg/check.mk, so that check-vulnerable can be used as a source target. Make check-vulnerable a source target for every phase of the build workflow, which ensures that it is always run if the user starts a new phase from the command line. Fix the cookie-generation targets so that they don't append, only overwrite to the cookie file. This works around potential problems due to recursive makes. Move the cookie checks so that they surround the corresponding phase target. The presence of the cookie should now inform the make process to avoid doing any processing of phases that occur before the phase corresponding to the cookie.
2006-07-03Moved the command that generates the list of files to its own variable,rillig1-2/+4
so it can be overridden on the command line. This allows to check for example ${WRKSRC} instead of the installed files. Of course, since the variable starts with an underscore, this feature is not meant to be official.
2006-07-02I forgot to mention in the last commit that share/examples and share/docrillig1-1/+1
are automatically excluded from the checks, since those files are not intended to be executed directly.
2006-07-02Added a proper interface documentation. Instead of a .for loop, therillig1-9/+24
run-time for loop is used, which allows for white-space in CHECK_INTERPRETER_SKIP.
2006-06-23Fix typo that would cause check-shlibs to never find missing librariesjlam1-2/+2
needed by files in a package. Noted and fix suggested by <taca> in private email.
2006-06-16It is worth a warning if a freshly installed file is not readable.rillig1-1/+6
2006-06-14Create DELAYED_{ERROR,WARNING}_MSG macros that can be used to outputjlam1-8/+4
error and warning messages that are picked up by the error-check target. Use them instead of using a bare ${ECHO} for more code clarity. Implemented as suggested by Roland Illig.
2006-06-12Be more consistent about how we're emitting errors and warnings.jlam1-6/+8
2006-06-09make(1) will automatically delete partially made targets if the targetjlam1-33/+19
creation fails, so remove instances where temporary files were created then moved to the final target filename, and just directly create the target. This is just for brevity/clarity, and saves a few tool calls.
2006-06-09Add a new variable CHECK_FILES_SUPPORTED which is a package-settablejlam2-2/+8
variable to show whether the package supports running the check-files target. Set CHECK_FILES_SUPPORTED to "no" in pkgtools/pkg_install in the case where the PREFIX does not match ${LOCALBASE} it's likely the tools are being installed in some place that's completely outside pkgsrc control, and check-files fails horribly in that case.
2006-06-09Introduce the capability to gather all the warnings and errors thatjlam4-87/+86
are generated for a target and output them all at once at the conclusion of the target's invocation. The implementation is in bsd.pkg.error.mk, which defines a macro target "error-check" that will print out any non-empty warning and error files in ${WARNING_DIR} and ${ERROR_DIR} and exit appropriately if there were errors. Convert some targets that were just long sequences of ${ERROR_MSG} or ${WARNING_MSG} within a single shell statement to use the new delayed error output via error-check. Modify the compiler "fail" wrappers for C++ and Fortran to be less verbose during invocation. Instead collect the warnings and only print them at the end of the completed phase, e.g. after "configure" and/or "build" completes.
2006-06-07Fix problems with check-files where it fails with a confusing messagejlam1-109/+157
that "the files are in the PLIST but not in ${PREFIX}" if the files that are installed overwrite other files already on the disk. Overwriting files can legitimately happen when, e.g. doing a "make update" or "make replace" without removing the old files, or when re-running "make install" after fixing a broken Makefile during development. While here, make the errors print to standard error using ERROR_CAT.
2006-06-07Use WARNING_MSG and ERROR_MSG for consistency.jlam1-4/+4
2006-06-07Rewrite to avoid using "grep -H", which Solaris' grep does not support.jlam1-22/+33
2006-06-07Note the check-clean target, which removes files related to the check-*jlam1-1/+11
targets.
2006-06-06Check for [[:space:]] instead of [ ]. This fixes a misbehavior whenrillig1-2/+2
script files contain CRLF line-ends.
2006-06-06Fix problem with saving variables whose value contains "$$" by avoidingjlam1-11/+10
it altogether. In this case, saving _CHECK_WRKREF_SKIP_FILTER was problematic because the value was cached and in the process, one $ was stripped. This makes the check-wrkref target work again after the big refactoring commit from a couple of days ago.
2006-06-06Move some variable definitions out of bsd.prefs.mk and back intojlam1-4/+4
bsd.pkg.mk. They didn't actually need to be defined in bsd.prefs.mk, just somewhere before the "main" bsd.<phase>.mk files were included. This moves some conditional (?=) definitions back into bsd.pkg.mk so they won't conflict with any conditional definitions in package Makefiles. This should fix the "checksum" problems in lang/php-gd as noted here: http://mail-index.netbsd.org/pkgsrc-users/2006/06/05/0012.html where EXTRACT_SUFX had the wrong value due to the order in while *.mk files were included.
2006-06-05Use PHASE_MSG, STEP_MSG, WARNING_MSG, and ERROR_MSG in place of ECHO_MSGjlam1-4/+6
in various places.
2006-06-03First pass at implementing support for package system flavors otherjlam7-0/+510
than pkgsrc's current one. This is an important lead-up to any project that redesigns the pkg_* tools in that it doesn't tie us to past design (mis)choices. This commit mostly deals with rearranging code, although there was a considerable amount of rewriting done in cases where I thought the code was somewhat messy and was difficult to understand. The design I chose for supporting multiple package system flavors is that the various depends, install, package, etc. modules would define default targets and variables that may be overridden in files from pkgsrc/mk/flavor/${PKG_FLAVOR}. The default targets would do the sensible thing of doing nothing, and pkgsrc infrastructure would rely on the appropriate things to be defined in pkgsrc/mk/flavor to do the real work. The pkgsrc/mk/flavor directory contains subdirectories corresponding to each package system flavor that we support. Currently, I only have "pkg" which represents the current pkgsrc-native package flavor. I've separated out most of the code where we make assumptions about the package system flavor, mostly either because we directly use the pkg_* tools, or we make assumptions about the package meta-data directory, or we directly manipulate the package meta-data files, and placed it into pkgsrc/mk/flavor/pkg. There are several new modules that have been refactored out of bsd.pkg.mk as part of these changes: check, depends, install, package, and update. Each of these modules has been slimmed down by rewriting them to avoid some recursive make calls. I've also religiously documented which targets are "public" and which are "private" so that users won't rely on reaching into pkgsrc innards to call a private target. The "depends" module is a complete overhaul of the way that we handle dependencies. There is now a separate "depends" phase that occurs before the "extract" phase where dependencies are installed. This differs from the old way where dependencies were installed just before extraction occurred. The reduce-depends.mk file is now replaced by a script that is invoked only once during the depends phase and is used to generate a cookie file that holds the full set of reduced dependencies. It is now possible to type "make depends" in a package directory and all missing dependencies will be installed. Future work on this project include: * Resolve the workflow design in anticipation of future work on staged installations where "package" conceptually happens before "install". * Rewrite the buildlink3 framework to not assume the use of the pkgsrc pkg_* tools. * Rewrite the pkginstall framework to provide a standard pkg_* tool to perform the actions, and allowing a purely declarative file per package to describe what actions need to be taken at install or deinstall time. * Implement support for the SVR4 package flavor. This will be proof that the appropriate abstractions are in place to allow using a completely different set of package management tools.