summaryrefslogtreecommitdiff
path: root/mk
AgeCommit message (Collapse)AuthorFilesLines
2006-06-11Split out the "work" symlink creation into a separate step and add itjlam1-9/+15
as a source for the "makedirs" target. This ensures the symlink is created regardless of whether ${WRKDIR} already exists or not.
2006-06-10Restore missing ${SETENV} ${BUILD_ENV} that was dropped during the initialjlam2-4/+4
package system flavors commit.
2006-06-09make(1) will automatically delete partially made targets if the targetjlam4-122/+70
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 thatjlam14-123/+185
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-09No need to synthesis the package directory from components when ${.CURDIR}jlam1-2/+2
already has the right value.
2006-06-09pkglint says, the :Q operator should not be used in double quotes.rillig1-20/+20
The code here only worked due to many conincidences: Let's assume a variable has the value "a b" and is used with the :Q operator, which results in "a\ b" (a, backslash, space, b). When used in double quotes, the shell command looks like: echo "a\ b" which, depending on the shell, may output the backslash literally or not. In the case of this file, the ":Q" string was not passed to echo(1), but to sed(1). sed(1) in turn interprets (backslash, space) in the replacement text as equivalent to (space), and that's where the backslash finally disappears. So it's only to this coincident that the code worked although it was not correct.
2006-06-08Introduce "makedirs" as a helper target to create directories withjlam2-3/+6
unprivileged ownership.
2006-06-08If the package cookie file exists, then we don't need to do anything.jlam1-2/+11
Also, make use of a _REAL_PACKAGE_TARGETS variable just to make all of the code between the different stages more uniform.
2006-06-08If the install cookie file exists, then we don't need to do anything.jlam1-8/+23
Also, move the interactive check into a separate target as a prelude to removing the recursive make for invoking "real-install".
2006-06-08Fix the comment.jlam1-2/+2
2006-06-08Make use of a "real-depends" helper target to hook all of the otherjlam1-7/+20
targets onto, and move the depends-message further down so that if the depends cookie file already exists, then no message is outputted.
2006-06-08undo most of the last commit which was a mistake.dmcmahill1-12/+3
2006-06-08Since "depends" is a real pkgsrc phase now, it also needs its ownrillig1-1/+6
depends-message target.
2006-06-08Replaced PHASE_MSG with STEP_MSG in many (but not all) places where itrillig7-19/+19
wasn't used to identify a ``phase'', as defined in the pkgsrc guide.
2006-06-08Use STEP_MSG for pkgsrc-patch-message instead of PHASE_MSG.rillig1-2/+2
2006-06-08Added a missing :Q operator for DEPENDS_TARGET, since like the otherrillig1-2/+2
*_TARGET variables, it is actually a _list_ of targets, not a single target.
2006-06-08The gcc equivalent of SunPro's -mt option is -threads.rillig1-1/+6
2006-06-08Avoid using ::= construct which apparently is somewhat buggy in bmake.jlam1-2/+2
This hopefully fixes user/group creation problems on platforms using bootstrap bmake, e.g. Solaris. Problem noted by adrianp in private email.
2006-06-08Fix an inverted test that caused all catman pages to be stripped fromjlam1-3/+3
the PLIST on platforms where IMAKE_MANINSTALL != MANINSTALL, e.g. Solaris. Solution noted by adrianp in private email. This should fix the problem noted in PR pkg/33629.
2006-06-08Create /var/spool/lock in the sandbox. The directory is needed tominskim1-2/+2
build comm/minicom.
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-07If there is _ZERO_FILESIZE_P, then it's natural to have _NONZERO_FILESIZE_Pjlam1-4/+7
to test for the opposite condition.
2006-06-07Move _ZERO_FILESIZE_P ftom bsd.pkginstall.mk to bsd.pkg.mk so it can morejlam2-7/+7
clearly be used in other modules.
2006-06-07Use WARNING_MSG and ERROR_MSG for consistency.jlam1-4/+4
2006-06-07Use ERROR_MSG for an error message.jlam1-3/+3
2006-06-07Replace use of ${ECHO} with *_MSG to get more consistent-looking messages.jlam1-11/+11
2006-06-07Make use of ERROR_CAT to print the list of conflicting packages.jlam1-3/+2
2006-06-07Fix typo, reported by walt on users@crater.dragonflybsd.org.ghen1-2/+2
2006-06-07Rewrite to avoid using "grep -H", which Solaris' grep does not support.jlam2-24/+39
2006-06-07Note the check-clean target, which removes files related to the check-*jlam1-1/+11
targets.
2006-06-07Add WARNING_CAT and ERROR_CAT which are filters for outputting filejlam1-1/+4
contents to standard error. They prefix the output with "WARNING: " and "ERROR: " respectively.
2006-06-071.) Remove all instances of '@${WARNING_MSG} "Warning: ...' which resultedtron3-18/+18
in error message like 'WARNING: Warning: ...'. 2.) Replace "WARN_MSG" with "WARNING_MSG" which makes the "make package" target work again for restricted packages like "acroread7".
2006-06-06Check for [[:space:]] instead of [ ]. This fixes a misbehavior whenrillig1-2/+2
script files contain CRLF line-ends.
2006-06-06Add missing "break" that was causing reduce-depends.awk to not do anyjlam1-1/+2
reduction except by accident if the "winning" pattern is the last one.
2006-06-06Avoid using PKGNAME in target names since they are "immediately"jlam3-6/+7
resolved in much the same manner as variables set using :=. PKGNAME could be set after including bsd.pkg.mk (which is poor form), and it's too close to the pkgsrc-2006Q2 branch to fix that all over pkgsrc at this time). This fixes building shells/static-bash2.
2006-06-06One more reminder of PostgreSQL 7.3 to remove...joerg1-5/+2
2006-06-06Stop supporting user-specified definition for IMAKE in /etc/mk.conf --jlam2-13/+2
it's now all handled exclusively by the tools framework.
2006-06-06real-su-bin-install is no more... it's just su-bin-install.jlam1-2/+2
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-06EXTRACT_CMD_DEFAULT should not be set by the package; it may only be used.rillig1-5/+5
2006-06-06Move some variable definitions out of bsd.prefs.mk and back intojlam8-36/+45
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-06We diverged too much from reduce-depends.mk -- reduce-depends.mkjlam1-5/+10
outputted dependencies if they conflicted and it didn't know how to handle them, whereas reduce-depends.awk was removing them completely. Restore the old behavior. This fixes problems that manifest when multiple dependencies can be built from the same pkgsrc package directory and which don't conflict with each other, e.g. py23-gtk2 and py23-gtk2 can both be built from pkgsrc/x11/py-gtk2.
2006-06-06When using find to search for the "All" directories containing binarydmcmahill1-4/+13
packages, use -follow. Hopefully this will pick up all of the binary packages again after the ftp.netbsd.org reorganization.
2006-06-06Remove PKG_PHASEs that no longer exist from the various *_PHASE_* lists.jlam1-4/+3
2006-06-06Separate out the part of bsd.tools.mk that actually created the toolsjlam6-194/+246
into a new file pkgsrc/mk/tools/create.mk. This leaves bsd.tools.mk as a file that pulls in all of the other ones. Also move the tools-related targets from bsd.pkg.mk into bsd.tools.mk. The tools cookie file has been removed, as well as hooks for {pre,do,post}-tools. Instead, there is now only a single public target "tools" which may be invoked. Invoking "tools" will always cause all of the tools in ${TOOLS_DIR} to be created. The "tools" step has been moved and is now just after the "depends" step and before sources are extracted. This is the earliest place where the "tools" step can be taken, and it allows the created tools to be used in all steps/phases after it, starting with "extract". As a consequence, we should just invoke tools by their bare names in targets, e.g. awk, sed, patch, etc., instead of with the ${VARIABLE} names, e.g. ${AWK}, ${SED}, ${PATCH}, etc.
2006-06-06Refactor "patch" code into correspondingly named subdirectory ofjlam5-153/+197
pkgsrc/mk. Also get rid of the recursive make for the "patch" target. This basically merges the "patch" phase into the "tools" phase. There should eventually be a standalone script that can be used to verify checksums listed in distinfo that should be used instead of the roll-your-own code in the do-pkgsrc-patch target.
2006-06-06Improve the warning message if the vulnerabilities file is not found.jlam1-5/+5
2006-06-06Add documentation about which are the public targets for the fetch module.jlam1-1/+9
2006-06-06Refactor "fetch" and "extract" code into correspondingly namedjlam11-610/+694
subdirectories of pkgsrc/mk. Move the following files around for locality: pkgsrc/mk/scripts/extract -> pkgsrc/mk/extract/extract pkgsrc/mk/bsd.sites.mk -> pkgsrc/mk/fetch/sites.mk Also get rid of the recursive make for the "fetch" and "extract" targets. This basically merges the "fetch" and "extract" phases into the "patch" phase. There is still much more work to do to simplify the fetch code, but this is a good start.