Commit graph

5873 commits

Author SHA1 Message Date
reed
47ccc64eca Make sure requires and libs (PROVIDES) are set for
packages that use a sub-directory for prefix, like
/usr/pkg/qt3/.

(I have been using this for a couple years but recently
merged my patch over to new flavor mk file.)

Okayed by jlam on tech-pkg.
2006-08-04 14:11:29 +00:00
rillig
365f9b5258 Added bsd.options.mk to the help files. As an alternative to TOPIC,
topic may be used to avoid forcing people to use the shift key.
2006-08-04 07:34:25 +00:00
rillig
edafa3ed56 Rewrote the header comment so that "bin-install" can be found by "bmake
help".
2006-08-04 07:17:58 +00:00
rillig
2b12ad4712 Moved the bin-install target from bsd.pkg.mk to install/bin-install.mk.
Added documentation. Added locking around the real installation.
2006-08-04 07:04:38 +00:00
rillig
634ea54e44 In the "makedirs" target, it is clear that the lock file is always the
_WRKDIR_LOCKFILE and never _PREFIX_LOCKFILE, so use that to keep things
simple.

Replaced ECHO with ECHO_MSG in the message for creating the WRKDIR
symlink.
2006-08-04 06:27:27 +00:00
rillig
dbef31038e Moved the locking code from bsd.pkg.mk into its own file. Where here,
added a more detailed header comment and fixed a bug concerning lockdir.
2006-08-04 05:55:18 +00:00
rillig
7487a78a0c When installing or deinstalling a package, it is not enough to lock the
WRKDIR against foreign processes. Instead, the PKG_DBDIR is locked,
preventing other (pkgsrc) processes from modifying the set of installed
packages while another one is doing that.

This allows to use "bmake update" efficiently on multi-processor
machines by just running it in four different package directories.

Note that the pkg_add and pkg_delete tools may still interfere with this
locking when they are directly run.
2006-08-03 19:12:42 +00:00
salo
4d7889fa96 Add "itlocaledir" to the list of directory patterns to replace.
From Gilles Dauphin via PR pkg/34103
2006-08-03 16:49:48 +00:00
jlam
f3381a1115 Typo in comment. 2006-08-03 14:02:58 +00:00
rillig
dac043b875 Suppress the warning from make(1) that the error code is ignored when
files cannot be deleted.
2006-08-02 16:53:00 +00:00
tron
03fcef2986 Removed dead mirror "ftp.uk.kde.org" from list of KDE master sites. 2006-08-02 15:31:02 +00:00
rillig
0d658e0cae If the first word after the "#" is a variable name, the line above must
have been empty to qualify as a comment. Otherwise "make help
TOPIC=configure" shows a lot of misleading contents.

Removed the duplicate appearance of RCS Ids in the help texts, which
often occured when the help text was the header comment of a file.
2006-08-02 10:50:00 +00:00
rillig
b0c3ffe91b A common documentation format is to have the variable name as the first
word after the leading "#" for the comment. This format is also
recognized. The RCS Id of the current file is printed together with the
help text, so that the user can see which file defines the variable.

Removed the :M* operator for _HELP_AWK, since bmake has a bug when "" is
passed to the :M* operator. I've sent a bug report for this.
2006-08-02 10:29:47 +00:00
rillig
a532efd3df Added bsd.pkg.help.mk, which provides the "help" target.
Since more and more files follow the convention of documenting variables
in a common format, it makes sense to be able to get the documentation
of a single variable by simple means, instead of searching through the
whole mk/ directory.

Try "make help TOPIC=CONFIGURE_DIRS" for an example.
2006-08-02 09:46:22 +00:00
uebayasi
7e4fbabf50 http://prdownloads.sourceforge.jp/ doesn't work for me. Remove it. 2006-08-02 07:09:52 +00:00
schmonz
51cec25da6 Pass CPPFLAGS in conf-cc and LDFLAGS in conf-ld. 2006-08-02 02:25:46 +00:00
rillig
5b2a5cfec6 Rewrote upload to use the newly introduced sort-packages program.
While here, ...
- Added stricter checking by using "set -eu".
- The bulk build configuration file is properly included, and the
  MAKECONF definition that it may contain is properly exported.
- All progress messages and error messages are prefixed by "upload>",
  so that it is obvious where the messages come from.
- Since extracting the make(1) variables takes quite a long time, print
  an informational message before doing that.
- Removed the use of the error-prone lintpkgsrc to detect whether a
  package is restricted or vulnerable.
- If an error occurs, the upload program returns an exitcode of 1,
  which is common among Unix utilities.
- Removed almost all pipe operators, since they tend to hide program
  failures.
- All error messages are redirected to stderr instead of stdout.
2006-08-01 13:16:41 +00:00
rillig
aeeeee3d46 Always create the files for the lists, even if they would end up empty. 2006-08-01 07:50:04 +00:00
rillig
9aefe26fce Oops, fixed a typo and tested it again. Now it works. 2006-08-01 06:10:44 +00:00
rillig
e888cd24c2 Added a program that sorts binary packages into categories, depending on
whether they may be uploaded, are vulnerable, or good.
2006-08-01 06:05:15 +00:00
dmcmahill
f1ac5f909e - add a -h|--help flag
- add a -n|--no-upload flag which does everything but actually executing
  the upload to help see what would happen

- add a -d|--debug flag to preserve the temporary files to help with
  debugging

- add a -V|--version flag
2006-08-01 00:53:24 +00:00
jlam
5aa00032dc From the second point in Krister's mail to tech-pkg:
http://mail-index.netbsd.org/tech-pkg/2006/07/30/0005.html

   2. Too much is logged in the .wrapper.log

       The wrappers log quite a lot of detailed information by
       default, with the result that my .work.log file is 176236028
       bytes {for ghc}.

       The wrapper functionality is mature, so this detailed
       information is seldom needed, and you can in general determine
       what happened by looking at the input/output-lines (i.e.
       those lines marked as "[*]" and "<.>" in the .work.log).
       I would therefore like to change the default behavior to
       only log the input/output-lines.

Flip the switch for WRAPPER_DEBUG from "yes" to "no" by default so
that the detailed and rather verbose "push", "pop", "transform", etc.
messages are not printed.  While here, also make WRAPPER_DEBUG a
pkgsrc-private variable by prepending with an underscore.
2006-07-31 14:53:45 +00:00
jlam
50086541bd Use 'debug_log' instead of 'msg_log' so that these wrapper internals aren't
exposed unless WRAPPER_DEBUG is set to "yes".
2006-07-31 14:43:48 +00:00
jschauma
a380b42fa0 - use ${BMAKE} instead of 'make' in one instance
- if we can't build one of the required packages, bail out
2006-07-30 14:31:10 +00:00
dmcmahill
c667b853e3 Update the usage output to reflect current reality. Noted by Stoned
Elipot.
2006-07-28 20:52:35 +00:00
dmcmahill
99b57ce645 remove spurious empty line at the top of the summary files 2006-07-28 18:41:53 +00:00
dmcmahill
63bfc354d4 Allow the binpkg-cache script to also generate pkg_summary.gz files
if requested.  Suggested by Joerg Sonnenberger.
2006-07-28 02:41:07 +00:00
lukem
0c96f9fca5 Remove ftp.au.netbsd.org. 2006-07-27 23:07:18 +00:00
jlam
d5fdba9ab3 Add back CONFLICTS handling that was accidentally left out when revision
1.1 of this file was committed and the same code was removed from
bsd.pkg.mk.
2006-07-27 22:16:06 +00:00
jlam
b5e83f7d36 Remove all uses of the following targets from pkgsrc:
show-all-depends-dirs
	show-all-depends-dirs-excl

Replace them with calls to pkgsrc/mk/scripts/depends-depth-first.awk
which does the same thing but without the extra overhead of invoking
a recursive make.
2006-07-27 22:01:28 +00:00
jlam
c489860d62 Whenever we invoke a recursive make, we need to ensure that the proper
environment ${PKGSRC_MAKE_ENV} is also passed along.  Create a
convenience variable RECURSIVE_MAKE that does exactly this and that
can be used in place of MAKE when invoking make recursively.

Use RECURSIVE_MAKE everywhere in pkgsrc/mk that we invoke make
recursively.
2006-07-27 21:46:45 +00:00
joerg
03cba20b8e Make the language warning a bit less forceful, since it is often a false
warning.
2006-07-27 20:07:06 +00:00
jlam
ccdf6dbe01 Rename "SITES_* to "SITES.*" for file-specific lists of sites from which
to fetch the file.  This completes the renaming described in revision
1.1799 of bsd.pkg.mk.
2006-07-27 18:48:02 +00:00
jlam
182dc839b5 Document the targets in fetch-list.mk. 2006-07-27 17:29:57 +00:00
jlam
1796f4ff8a Note that "fetch-list" is a public target. 2006-07-27 17:28:38 +00:00
jlam
bac7fb376d Remove an unnecessary recursive make invocation. 2006-07-27 17:23:16 +00:00
jlam
cb7b7bfbd8 Replace this:
for i in `cmd`; do ...; done

with this:

	cmd | while read i; do ...; done
2006-07-27 17:14:56 +00:00
jlam
817fd9ec0d All of the other *SITES* variables are plural, so rename DYNAMIC_SITE_*
to DYNAMIC_SITES_* for consistency.
2006-07-27 16:06:27 +00:00
jlam
e7af7b2e05 Apply the "convention over configuration" principle:
If ${FILESDIR}/getsite.sh exists, then use it to determine the fetch
URL for each of the distfiles for the package.  Otherwise, use
SITE_<file> and MASTER_SITES, in order, to determine the URL for each
distfile.

If the script path differs from ${FILESDIR}/getsite.sh, then set
DYNAMIC_SITE_SCRIPT to the full path to that script.

Remove the need to set DYNAMIC_MASTER_SITES explicitly in the package
Makefile for:

	graphics/ns-cult3d
	wm/sawfish-themes
	www/apache-tomcat55
	www/jakarta-tomcat4
	www/jakarta-tomcat5
2006-07-27 15:16:44 +00:00
rillig
be75f6ee56 The intention behind REPLACE_BASH was to make replacing /bin/sh with
${BASH} easy, so the pattern that is replaced is now .*sh instead .*bash.
2006-07-27 14:51:54 +00:00
jlam
d5f750aa08 The ORDERED_SITES variable defined in fetch.mk was made private in
revision 1.14, so reflect that in the usage in fetch-list.mk.  This
fixes PR pkg/34075.
2006-07-27 13:51:21 +00:00
jlam
6a569e5eb8 After auditing all the packages the ensure that they never invoke the
compiler toolchain until the configure stage, move the "wrapper" stage
back to between "patch" and "configure".

This makes "make extract NO_DEPENDS=" work again for all packages.
2006-07-27 13:47:29 +00:00
rillig
ac35deefb7 Documented DIST_PATH and fixed two typos (${TARGET} is not ${.TARGET}). 2006-07-27 07:41:40 +00:00
jlam
f06c908670 Pass MAKECONF down to recursive make processes to ensure they all use
the same ${MAKECONF} file.
2006-07-26 21:23:40 +00:00
jlam
0da14467e5 Ensure that the just-in-time su command invoked has the same environment
as other recursive make processes (PKGSRC_MAKE_ENV).
2006-07-26 19:29:14 +00:00
drochner
e3a30663ee add a missing PHONY 2006-07-26 18:29:46 +00:00
wiz
7400a7cf16 When the bulk build code encounters a directory in *SPECIFIC_PKGS
that does not exist, it stopped.

Now it instead adds an entry to the main broken file and marks
it as not package with maintainer "directory_does_not_exist"
in the HTML output. (Not packaged directories are not mentioned
in the text version.)
2006-07-26 17:00:03 +00:00
jlam
f065d908d0 Move barrier to just after the depends phase. This allows both the
"tools" and "wrapper" phases to be able to expect all the dependencies
to be installed already.
2006-07-25 18:04:25 +00:00
jlam
af66f920c9 BUILD_ENV was renamed to PKGSRC_MAKE_ENV. 2006-07-25 16:04:44 +00:00
rillig
5092ccdc95 Whenever f2c is mentioned in USE_LANGUAGES, a C compiler is also needed,
so automatically add it to USE_LANGUAGES. Fixes PR 34079.
2006-07-25 10:20:03 +00:00
wiz
8af4c67976 Remove comment for non-existing USETBL. 2006-07-24 16:50:27 +00:00
wiz
84159cda4e Describe groff-docs. 2006-07-24 16:49:55 +00:00
jlam
7e75e0ad89 The proper phase to run just before "configure" is "patch", not
"wrapper", after "wrapper" was moved to be between "tools" and "extract".
This should fix PR pkg/34061.
2006-07-23 15:33:16 +00:00
wiz
078ec42655 Remove mirrors.sunsite.dk because it causes hangs in the
weekly distfiles fetch.
2006-07-23 14:11:52 +00:00
wiz
0b9a3594c5 Remove cran.dk -- causes hangs for weekly distfiles mirror job. 2006-07-23 13:28:14 +00:00
jlam
77b719dae8 Modify the barrier so that we always invoke the recursive make process
when passing through the barrier.  This ensures the PATH (passed via
PKGSRC_MAKE_ENV) is correctly set for all phases after the barrier.

This fixes a bug in "interactive" pkgsrc use, where if you have no
work directory and type "make build && make install", then the "install"
step does not have a PATH set to include all the wrapper and tools
directories.
2006-07-22 16:31:35 +00:00
rillig
15c11119af The C compiler is also used for Objective C, so the c-fail-wrapper is
only created if none of these languages is mentioned in USE_LANGUAGE.
2006-07-22 05:01:17 +00:00
jlam
7d1f4cca8e "BUILD_ENV" was misnamed. It's actually the environment that is passed
to all internal recursive make processes.  As such, rename it to
"PKGSRC_MAKE_ENV".

XXX Note, some of the usage of this variable in package Makefiles seems
XXX incorrect.  They probably want "MAKE_ENV", which is the environment
XXX passed to the make process when running "make" within ${WRKSRC}.
2006-07-21 14:27:56 +00:00
jlam
4011c5cff2 Rearrange sequence so that "wrapper" occurs between "tools" and
"extract".  This allows all user-definable targets (pre-*, do-*,
post-*) to have access to the wrapper scripts.
2006-07-21 14:21:28 +00:00
jlam
80369fb5c8 Modify the shlib-type script so that it doesn't need to compile anything
-- instead, we just check "pkg_info", which should exist on all pkgsrc
platforms.

XXX Note that this may need to change when we later support other package
XXX system flavors.

Back out revision 1.79 of pkgtools/x11-links/Makefile which was only to
work around needing a C compiler for shlib-type to work.
2006-07-21 13:40:27 +00:00
jlam
8f3802b3d9 Remove USE_GNU_GETTEXT from pkgsrc. Packages generally only needed
it for plurals support, but that is already handled correctly (FSVO
"correctly") by the pkgsrc/mk/tools/msgfmt.sh script.

Also remove _USE_GNU_GETTEXT definitions from pkgsrc/mk/platform/*.mk
files as that value has been unused by pkgsrc for quite some time
(going back several branches).
2006-07-20 20:02:23 +00:00
jlam
574f8fe190 Make _show-dbginfo-configure work for packages that don't set
CONFIGURE_ARGS.  We guard against an empty CONFIGURE_ARGS to prevent
the ODE variable loop from expanding to an empty value.
2006-07-20 19:00:50 +00:00
rillig
8774cc5fc5 CONFIGURE_ARGS are processed by an ODE "for" loop, since that prevents
an empty line from being printed when the variable is empty. It also
removes the need for special handling of "<".
2006-07-20 17:56:27 +00:00
jlam
6bd385f1bb Use an ODE variable loop instead of a make .for loop to output the list
of "TOOL" variables defined by the tools framework.
2006-07-20 17:40:45 +00:00
rillig
63572ebd6f Added the build-env target. 2006-07-20 17:31:20 +00:00
rillig
98a199bc4d Include the file bsd.pkg.debug.mk if requested by invoking the "debug"
target.
2006-07-20 17:16:43 +00:00
rillig
5902b29ca6 Oops, there had been an RCS tag that should not have been expanded. 2006-07-20 17:14:26 +00:00
rillig
680b655fe9 Added the "debug" target, which outputs a lot of information helping in
debugging packages that have build problems.
2006-07-20 17:10:45 +00:00
rillig
1e90e68755 Up to now, the language "c" has always been enabled, no matter if the
package said USE_LANGUAGES=#none or USE_LANGUAGES=fortran. Added a
c-fail-wrapper that works like the other fail-wrappers. The default
value for USE_LANGUAGES is still "c". Some problems are expected with
packages that say USE_LANGUAGES+=c++ or with packages containing GNU
configure scripts and setting USE_LANGUAGES=c++, as those scripts always
need a working C compiler.
2006-07-20 16:44:01 +00:00
jlam
5ffee8aef3 Don't bother with error messages when attempting to remove the "work"
symlink in the pkgsrc tree in case it's actually a stale work directory.
This gets rid of this error:

===> Cleaning for pkg_install-20060701
rm: work: is a directory
*** Error code 1 (ignored)
2006-07-20 15:42:04 +00:00
jlam
33879949fb The package directory path is "PKGPATH", not "PKG_PATH", which is used
by pkg_add(1).
2006-07-20 14:17:48 +00:00
jlam
7c21fc1820 Change last instance of _REPLACE.* to REPLACE.*. Remove special
_REPLACE.* handling from replace-interpreter.mk.
2006-07-20 13:54:44 +00:00
joerg
eeaca99630 verify_file() returns a non-zero result whenever the distfile does not
currently exist. This triggers a bug in the Bourne shell of at least
DragonFly and Irix, when set -e is also active. Remove set -e to avoid
this. Discussed with jlam@, shown by DragonFly bulk builds, complains on
DragonFly's user list and PR 34036.

A test case for this shell bug is, which should return 0:

set -e

testf () {
	test -f /nonexistent || return 1
	return 0
}

if testf; then
	exit 1
fi
exit 0
2006-07-20 13:31:08 +00:00
jlam
159d2f8131 Remove ${SED} check that no longer works. 2006-07-20 13:19:29 +00:00
jlam
fa2d895a21 Be more conservative and avoid possible shell implementation differences
by not using `...` inside ${...#...}.
2006-07-19 22:26:26 +00:00
jlam
f1759fb181 Handle case where {SH,}LIBTOOL_OVERRIDE is empty for shells that don't
understand empty lists in for loops.  Addresses PR pkg/34042.
2006-07-19 22:07:13 +00:00
jlam
7af716330d Drop support for LTCONFIG_OVERRIDE. For quite a long time, pkgsrc
had actually been ignoring LTCONFIG_OVERRIDE anyway and just using
the default LIBTOOL_OVERRIDE to replace libtool scripts in packages.
This just formalizes the fact that LTCONFIG_OVERRIDE is not used
meaningfully by pkgsrc.
2006-07-19 19:14:37 +00:00
jlam
034c5b9566 Add messages noting when the PRE-INSTALL and POST-INSTALL actions are run. 2006-07-19 18:05:35 +00:00
jlam
c88a32be7d Make "mirror-distfiles" less verbose by not printing out anything if no
bootstrap dependencies need to be built and installed.
2006-07-19 16:01:40 +00:00
jlam
ec6f4ba413 Comment the code a bit more. 2006-07-19 15:13:40 +00:00
jlam
cc5761ea0f The "makedistinfo" target should actually be named "distinfo" to match
the old bsd.pkg.mk behavior (noted by adrianp in private email).  Keep
"makedistinfo" as an alias for "distinfo".

While here, sprinkle some .PHONY declarations for correctness.
2006-07-19 14:54:56 +00:00
jlam
ae7cf87ca5 Only pass -v to the fetch script if PKG_VERBOSE is set. 2006-07-19 14:25:59 +00:00
jlam
cbcfa6d0b5 Restore original quoting from old fetch.mk for _ORDERED_SITES to resolve
the problem with MASTER_SORT*.

XXX The whole MASTER_SORT* thing should just be a standalone script.
2006-07-19 14:22:47 +00:00
jlam
2936f01adf Add a verbose flag to the fetch script to output the actual fetch command. 2006-07-19 14:16:29 +00:00
jlam
d2df49806c Make some variables "private":
MASTER_SORT_AWK
	SORT_SITES_CMD
	ORDERED_SITES

These variables are purely internal to pkgsrc.
2006-07-19 14:03:59 +00:00
jlam
16335bb8a4 Work around incomprehensible quoting mess surrounding MASTER_SORT* by
in do-fetch-file (formerly they were inserted by the old _FETCH_FILE
inserting some quotes that are no longer added by the fetch command list
macro).  This makes fetching with MASTER_SORT* set work again.
2006-07-19 14:01:29 +00:00
jlam
1302d118e8 PASSIVE_FETCH only affects "ftp", so move it to the ftp-related FETCH_*
variables.
2006-07-19 13:33:42 +00:00
jlam
4c09a7046a Convert _FETCH_MESSAGE to plain old FETCH_MESSAGE. Remove _FETCH_MESSAGE
processing from mk/fetch/*.mk.
2006-07-18 23:27:14 +00:00
jlam
833691e2fe Overhaul fetch module:
* All the smarts is now encapsulated in the "fetch" script.  The fetch
  script understands how to use the distinfo file (if specified) to
  look up the size and checksums of the file to fetch and will use
  that information to verify checksums of the fetched files or resume
  transfers of interrupted fetches.

* Move the default settings for FETCH_RESUME_ARGS and FETCH_OUTPUT_ARGS
  for "ftp" from mk/defaults/mk.conf into mk/fetch/fetch.mk.  We rewrite
  it to avoid needing conditional statements.

* Avoid spawning a new make(1) process just to mirror a distfile.

* Split out fetch-list targets into a separate file fetch-list.mk.
  These targets should probably be moved into a standalone script.

* Fix distclean target to properly remove partial downloads.
2006-07-18 22:41:06 +00:00
jlam
3c73469517 Add a flag "-s suffix" for allowing the specified files to have a suffix
that will be removed before looking up the checksum in the distinfo file.
2006-07-18 21:39:39 +00:00
gdt
cd807f496b During 'make replace', use pkg_admin to set the unsafe_depends
variable to YES for each pacakge that depends on the replaced package.

Discussed on tech-pkg with generally positive comments.
2006-07-17 18:18:42 +00:00
wiz
ad211bc06f Remove stale comment, noted by bad@ in PR 33871. 2006-07-17 18:07:06 +00:00
jlam
e65b7c1371 First cut at a fetch script to replace the humungous fetch "macros" in
fetch.mk.  This script currently completely replaces the functionality
in _FETCH_FILE.  I will eventually add the ability to resume a file
transfer to this script.
2006-07-17 15:34:22 +00:00
jlam
ecea1ccbaa Don't say "ERROR:" or "WARNING:"... be a more typical shell script by
just noting the error or warning to standard error.
2006-07-17 14:32:26 +00:00
rillig
ebb2a82ae6 Added LOCALBASE, PKGINFODIR and PKGMANDIR to _BUILD_DEFS, since they
influence the way the package is installed. Also, they are so commonly
used that it would be a nuisance to add it to every package Makefile.
2006-07-17 13:35:11 +00:00
schmonz
0a53ed9007 Remove duplicate files from ${ALLFILES}. This doesn't affect the
"fetch" target, but it does affect the "checksum" target's shell
script, which errors out on the second occurrence of a file. The
shell script should perhaps also be fixed, but it seems sensible
regardless for ${ALLFILES} not to contain duplicate filenames. As
a side effect, the file list is sorted.

Regression found by building mail/qmail with the "qmail-netqmail"
option, which adds to PATCHFILES a file that's already in ${DISTFILES}.
Arguably this is gross, but it worked before, and now works again.

Tested on my usual pkg_comp(8) build of 200+ packages, with an
initially empty ${DISTDIR} and ${PACKAGES}. Thanks seb@ for the
more idiomatic make(1) construction.
2006-07-17 02:13:11 +00:00
rillig
2221827892 Split the variable BUILD_DEFS into those that are defined by packages
and those that are defined by the infrastructure (_BUILD_DEFS). This
allows the build-defs-message target to be moved to the end of
bsd.pkg.mk. Now it prints the correct result even in unprivileged
builds, which had been wrong due to the order in which the files have
been included. For example, ${UNPRIVILEGED_USER} was displayed as (not
defined) although its value was defined, which could be checked with
"bmake show-var".

Tested with one package that _does_ define BUILD_DEFS and with one that
doesn't. The behavior stays the same.
2006-07-15 23:58:52 +00:00
rillig
8db27f7fe7 Converted the header comment to the canonical form. Changed the
definitions of CHOWN and CHGRP so that they still include the command
that is skipped, which is useful when viewing the build logs.
2006-07-15 20:47:43 +00:00
rillig
5c048c44f3 Fixed dead links in the automatically generated README.html files. From
OKANO Takayoshi in PR 34006.
2006-07-15 20:08:33 +00:00
rillig
69811464e9 Added some common script interpreters (awk, bash, sh) that can be
replaced automatically by defining REPLACE_AWK, REPLACE_BASH or
REPLACE_SH and an appropriate addition to USE_TOOLS.

The replace-interpreter.mk file is included unconditionally because the
number of variables that would trigger the inclusion of this file is
quite large.
2006-07-15 09:52:00 +00:00
adrianp
b6cc1e2e00 +freeradius-simul-use 2006-07-14 22:02:32 +00:00
jlam
01df22aa06 Add a "bootstrap-register" target used specially by the bootstrap script
to register packages that were installed by the bootstrap script.
2006-07-14 17:37:03 +00:00
jlam
6fd7abf147 Avoid using # and % to strip prefix/suffix from variable values -- not
enough agreement on how that should work amongst Bourne shell variants.
2006-07-14 16:17:08 +00:00
heinz
37b9df590f Fixed default path wildcards for CHECK_INTERPRETER_SKIP. Now they
actually apply to the whole subtree.
2006-07-13 19:07:54 +00:00
jlam
a29e44f51b Check whether the "checksum" target is defined beforehand to prevent
"duplicate script" collisions with the one defined by bsd.pkg.mk if
PKG_*_REASON is set.
2006-07-13 18:42:45 +00:00
jlam
a76b31a4d6 Check whether the checksum target is defined before defining one.
This fixes problems where a package sets PKG_*_REASON, which causes
bsd.pkg.mk to define its own "checksum" replacement, which causes a
"duplicate script" make error to occur.
2006-07-13 18:40:33 +00:00
jlam
8d03d36b6a * Fix bug when more than one file needed to be checksummed.
* Avoid shell differences between /bin/sh and Korn shell by using:

	while read line; do list; done < FILE

  instead of

	cat FILE | while read line; do list; done
2006-07-13 16:44:14 +00:00
jlam
7ef83e7139 Try to avoid possible differences in processing "$@". 2006-07-13 16:23:14 +00:00
jlam
34b72a488d Backslash escape the parentheses so the shell doesn't think it should
do shell expansion.  Fixes a bug picked up by /bin/ksh and by /bin/sh
in -current.
2006-07-13 16:11:39 +00:00
jlam
0aa9d5c11c Fix some quoting errors and a harmless copy-and-paste error. 2006-07-13 16:02:09 +00:00
jlam
fdd93c3336 Add a few more double-quotes around eval'ed variables. 2006-07-13 15:48:07 +00:00
jlam
022676204b Add DIGEST to the variables defined by default. 2006-07-13 15:27:57 +00:00
jlam
b532d92d10 DIGEST is no longer defined, so use TOOLS_DIGEST instead. 2006-07-13 15:23:18 +00:00
jlam
80b97861bf Remove line noting that "this file was derived from bsd.ports.mk".
The contents of this file are no longer remotedly related to bsd.ports.mk,
and pkgsrc's heritage from ports is documented elsewhere.
2006-07-13 14:04:41 +00:00
jlam
7a2c97d53f * Add a new stage "bootstrap-depends" that happens before all other
stages, and that installs dependencies listed in BOOTSTRAP_DEPENDS.
  The bootstrap-depends step works just like the normal depends step
  and honors the value of DEPENDS_TARGET.  It's now possible to add
  dependencies solely to facilitate fetching the distfiles, e.g.

	BOOTSTRAP_DEPENDS+=	curl-[0-9]*:../../www/curl

* Teach the tools framework about ":bootstrap" as a tools modifier
  which indicates the tool should be added as a dependency via
  BOOTSTRAP_DEPENDS.

* Add "digest" to the tools framework.

* Use USE_TOOLS+=digest:bootstrap to force pkgsrc to install digest
  before anything else.  Get rid of unused "uptodate-digest" target
  and related digest version-checking code.

* Finish the refactoring work: split checksum-related code out of
  bsd.pkg.mk and into pkgsrc/mk/checksum and replace the "checksum"
  target command list with a script that does all the real work.

* Make DIGEST_ALGORITHMS and PATCH_DIGEST_ALGORITHM into private
  variables by prepending them with an underscore.  Also, rename
  _PATCH_DIGEST_ALGORITHM to _PATCH_DIGEST_ALGORITHMS and adjust the
  makepatchsum target to allow that variable to contain a list of
  algorithms, all of which are used when creating the patch checksums
  for ${DISTINFO_FILE}.
2006-07-13 14:02:34 +00:00
adrianp
f76cdb5a1d Add cgi which is used by the PHP package 2006-07-13 09:45:15 +00:00
wiz
675ffa69c0 Add bn_IN locale for atk-1.12.1. 2006-07-12 13:46:34 +00:00
rillig
1dd9c5c90e Removed the leading "-" of a shell command. The unexpected error message
that it had produced had confused me.
2006-07-12 12:34:13 +00:00
wiz
7288c31942 Fix grammar in messages. From David A. Holland in PR 33975. 2006-07-11 13:28:32 +00:00
jlam
06be53fba4 Completely nuke the concept of PKG_PHASE from pkgsrc except for the
purposes of caching MAKEVARS within bsd.pkg.mk and bsd.makevars.mk.
2006-07-10 22:59:26 +00:00
jlam
eb27d05acd Back out revision 1.172 of mk/tools/replace.mk -- we never want to
allow IMAKE to be set by anything other than the tools framework.
Modify the IRIX files so that the native imake is listed as a built-in
tool in the case where X11_TYPE is "native".  Also, move the include
of tools/default.mk a bit lower in bsd.prefs.mk so that tools.${OPSYS}.mk
files can use the value of X11_TYPE.  This should properly set and
point IMAKE to the right binary on IRIX without destroying the
configuration for platforms where IMAKE was not explicitly set, i.e.
every non-IRIX platform.
2006-07-10 22:17:58 +00:00
wiz
83035f3393 Remove reference to buildlink2. 2006-07-10 17:11:32 +00:00
wiz
41f2051ba0 Fix typo in comment. 2006-07-10 17:10:18 +00:00
jlam
d25e37d084 Always add dependencies for packages pulled in indirectly buildlink3 that
are build dependencies.  This should fix PR pkg/33940.  Thanks to Joerg
for the debugging hint.
2006-07-10 17:06:26 +00:00
jlam
4c4ffd71da Fix reversed test... noted by deiter roelants on tech-pkg. 2006-07-10 16:12:20 +00:00
rillig
b78b306826 The wrapper for perl silently failed, giving no hint that
USE_TOOLS+=perl was necessary. Therefore, added a new class of tools,
TOOLS_FAIL, which records the call in a .warnings file, which is later
printed to the user. At least when the tool is first called in the
"configure" phase; I didn't test other phases.
2006-07-10 08:13:37 +00:00
jlam
c16221a4db Change the format of BUILDLINK_ORDER to contain depth information as well,
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.

For example, "make show-buildlink3" in fonts/Xft2 displays:

	zlib
	fontconfig
	    iconv
	    zlib
	    freetype2
	    expat
	freetype2
	Xrender
	    renderproto
2006-07-08 23:10:35 +00:00
schwarz
c25fbde9c9 make sure the IMAKE definition, if set, is used in case X11_TYPE is native 2006-07-08 23:08:59 +00:00
jlam
9430e49307 Track information in a new variable BUILDLINK_ORDER that informs us
of the order in which buildlink3.mk files are (recursively) included
by a package Makefile.
2006-07-08 22:38:58 +00:00
dsainty
e75ebdbfa2 Document dar-int32 and dar-int64 options.
Dar is built by default with an arbitrary-size-integer library for managing
all file length/timestamp details.  If 32-bit or 64-bit integers (with
overflow protection) are sufficient for requirements, the dar-int32 and
dar-int64 options can significantly reduce the run-time memory and CPU
overheads of Dar.
2006-07-08 07:14:15 +00:00
jlam
15d3920cf7 Update the comments to reflect the current default workflow. 2006-07-08 02:16:33 +00:00
jlam
356f5e8af5 Rename <phase>_COOKIE variables to _COOKIE.<phase>. These are private
variables so there are no user-visible changes.  This change just makes
it a little easier to write for loops.
2006-07-07 21:24:27 +00:00
jlam
32e6a1fcf8 Remove the commands that tried to make the ${X11BASE} directory if it
didn't exist.  Those commands were never run anyway, but moving the
.MAIN target exposed these commands as unassociated.
2006-07-07 15:59:06 +00:00
jlam
fb353ac0e3 LIBTOOL_OVERRIDE and SHLIBTOOL_OVERRIDE have slightly different
semantics in pkgsrc.  Because libtool-override is run by default
whenever USE_LIBTOOL is specified, LIBTOOL_OVERRIDE never needs to be
defined, and some packages set it to nothing to avoid running
libtool-override.  However, shlibtool-override is only run if
SHLIBTOOL_OVERRIDE is defined and non-empty.

Split the code for libtool-override and shlibtool-override to reflect
these differing semantics.  This should make the PHP packages build
again by not overriding libtool.
2006-07-07 15:25:05 +00:00
jlam
355e1f1020 No need to define LIBTOOL_OVERRIDE explicitly since libtool-override.mk
will search for libtool scripts up to ${OVERRIDE_DIRDEPTH} below
${WRKSRC} already.
2006-07-07 14:29:41 +00:00
jlam
96e7846323 Move the STEP_MSG outside of the .if.endif block so it's always printed. 2006-07-07 14:25:54 +00:00
jlam
1cd6b0743c Add missing "rm" statement that was causing the libtool wrapper to be
overwritten in the case where LTCONFIG_OVERRIDE was defined.

As a side note, after analyzing the way that the original code in
bsd.pkg.mk worked, I think we can nuke LTCONFIG_OVERRIDE completely,
but we'll need a bulk build to verify this.  The original code always
replaced the libtool scripts because LIBTOOL_OVERRIDE is always defined
in bsd.pkg.use.mk, so LTCONFIG_OVERRIDE essentially had no effect.
2006-07-07 14:06:57 +00:00
jlam
bf9607f39e Make configure, install, and package barrier-aware even if NO_CONFIGURE,
NO_INSTALL, or NO_PACKAGE are defined.
2006-07-07 13:39:52 +00:00
seb
ed4813268e The build target needs to be barrier aware even in the NO_BUILD case.
Without this a straight make fails in pkgsrc/pkgtools/pkg_comp.
2006-07-07 13:06:45 +00:00
jlam
a8fcae3925 The cookie files are indirectly made using *-cookie targets, so verify
that they are never being created more than once by inserting a check
into the *-cookie targets.
2006-07-06 22:29:52 +00:00
jlam
6853947675 Remove an unnecessary target... ${_BARRIER_COOKIE} has no source targets
so it might as well be the target name.
2006-07-06 22:17:57 +00:00
jlam
e6fa682ce0 The "replace" target does conceptually the same thing as the "install"
target in that it installs the currently-built software into the
filesystem.  In that case where "replace" is specified as a target on
the command line, make "replace" and not "install" be the source target
for "package".

Also, place the "replace" target between the "install" and "package"
targets in _BARRIER_POST_TARGETS as it should be legal to do those
steps in that order (but not in another order).

These changes make the following work:

	make replace package

In this example, the currently installed package will be replaced and
the newly-installed software will be packaged, all within the same
make process.
2006-07-06 22:08:32 +00:00
jlam
0fde1ce52f Make it a little easier to read the lock/unlock output by inserting some
quotes.
2006-07-06 21:59:38 +00:00
jlam
1d395074e5 Refactor the README.html generation code from bsd.pkg.mk into a separate
bsd.pkg.readme.mk and document the public targets and variables for this
new file.
2006-07-06 21:07:33 +00:00
jlam
7dd0cd6b98 Never skip the wrapper step, even if NO_BUILD is set. There are packages
that invoke the compiler in either the configure or install steps that
we still need to guard against.
2006-07-06 18:19:45 +00:00
jlam
5809708d82 Make "test" barrier-aware. 2006-07-06 17:39:36 +00:00
jlam
6abd522580 Always run the "pkginstall" step even if NO_BUILD is specified. 2006-07-06 17:22:13 +00:00
jlam
36690002fb Fix previous... instead of moving bsd.pkg.barrier.mk down below .MAIN,
move .MAIN all the way to the top of the file.  bsd.pkg.barrier.mk
(currently) needs to be included before bsd.wrapper.mk since it defines
_BARRIER_COOKIE, which is expanded and used in place within bsd.wrapper.mk.
This makes the "wrapper" phase run again.
2006-07-06 16:58:17 +00:00
jlam
50170b85af Move inclusion of bsd.pkg.barrier.mk under the .MAIN target because
bsd.pkg.barrier.mk uses the "make()" test expression.  Also, include
"all" as a post-barrier target since it is implicitly the ".MAIN" target
when a user just types "make" in a package directory.
2006-07-06 15:43:10 +00:00
jlam
016df6008c Order the _BARRIER_POST_TARGETS so that if more than one is specified on
the command-line, then we don't invoke make once for each target, and
pass them to the sub-make in a sensible order.
2006-07-06 15:33:19 +00:00
jlam
4e65f8cd0f Fix cut-and-paste goof. 2006-07-06 13:25:57 +00:00
markd
5c5f253ff0 On Solaris set _COMPILER_ABI_FLAG.64 to be consistent with the sunpro
settings.
2006-07-06 11:48:03 +00:00
markd
42e8e95800 Set _COMPILER_ABI_FLAG.64 correctly for non sparc (ie amd64). 2006-07-06 11:46:33 +00:00
rillig
a820e0b7bb Fixed the test on PKG_{FAIL,SKIP}_REASON. Added a prefix line to the
output of PKG_SKIP_REASON, since the plain message does not say where it
comes from.
2006-07-05 23:27:34 +00:00
jlam
b8d23232b8 Flatten out recursive makes into a single re-invocation of make by
introducing the concept of a "barrier".  We separate the user-invokable
targets into ones that must happen before the barrier, and ones that
must happen after the barrier.  The ones that happen after the barrier
are run in a sub-make process.  In this case, the targets that must
be run after the barrier are from the "wrapper" step and beyond.  We
rewrite the various "flow" targets, e.g. wrapper, configure, build,
etc., so that they of the right form to use the barrier target.

This now completely removes the concept of PKG_PHASE from pkgsrc.  It
is replaced with the concept of "before" and "after" the barrier, and
this state can be checked by testing for the existence of the barrier
cookie file.  Because we've removed most of the recursive makes, there
is now nowhere to hook the PKG_ERROR_HANDLER.* commands, so remove
them for now.

As part of this commit, put back the logic that conditionalized the
sources for the various cookie files.  Because the sources are all
"phony" targets, they were always run, regardless of whether or not
the cookie file already existed.  Now, if a cookie file exists, then
that entire phase associated with that cookie file is skipped.

Lastly, fix a thinko in configure/bsd.configure.mk where setting
NO_CONFIGURE in a package Makefile would manage to skip the "wrapper"
step altogether.  Fix this by correctly noting "wrapper" and not
"patch" as the preceding step to "configure".
2006-07-05 22:21:02 +00:00
jlam
b1e66899c1 Fix two bugs which prevent undo-replace from working. 2006-07-05 19:13:46 +00:00
jlam
18efdfdfd4 Only override intltool if the intltool tool was requested. 2006-07-05 10:23:58 +00:00
jlam
990d0b5377 Make the check-vulnerable target more self-sufficient, by moving some
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-05 09:08:35 +00:00
jlam
e31200b87c Refactor configure, build, test and wrapper phases out of bsd.pkg.mk
and into their own directories.  Also do some cleanups with build/_build
and pkginstall -- we get rid of _build and simply run pkginstall as
part of the "build" target.

Introduce a new mechanism to handle varying directory depths under
${WRKSRC} in which we find files to override, e.g. configure, config.*,
libtool, etc.  OVERRIDE_DIRDEPTH is a package-settable variable that
specifies how far under ${WRKSRC} the various targets should look,
and it defaults to "2".  We preserve the
meaning of the various *_OVERRIDE variables, so if they are defined,
then their values supersede the OVERRIDE_DIRDEPTH mechanism.

devel/tla will need to specially set OVERRIDE_DIRDEPTH to 3 (see log
for revision 1.1857 for bsd.pkg.mk -- to be done in a separate commit.
2006-07-05 06:09:15 +00:00
jlam
9102c97edf Since intltool is now a tool, we might as well require the latest pkgsrc
version by default.
2006-07-05 05:21:59 +00:00
jlam
bb74d3bb13 Teach the tools framework about the following new tools:
itools, intltool, diff3, sdiff, msgmerge

* Adding USE_TOOLS+=itools to a package Makefile will cause the
  tool-directory versions of imake, makedepend, mkdirhier and xmkmf
  to point to the ones from the devel/nbitools package.

  This change will remove the need for nbitools/buildlink3.mk, which
  currently does a bit of hackery to force the "right" imake tools to
  be used by packages that need it.

* Adding USE_TOOLS+=intltool to a package Makefile will cause the
  local versions of intltool-* inside ${WRKSRC} to be replaced by
  copies from the textproc/intltool package.  If "intltool" is not
  specified as a tool, then we create "broken" intltool-* tools in
  the tools directory to help highlight hidden dependencies on the
  intltool package.

  In addition, modify the tools framework so that if "perl" is not
  specified as a tool, then we create a "broken" perl tool in the
  tools directory for the same reason as for "intltool".

  These two changes together will remove the need for
  intltools/buildlink3.mk and should also catch all cases where the
  sources' intltools may have been silently used because perl was
  found on the system.

* Adding USE_TOOLS+=diff3, USE_TOOLS+=sdiff, or USE_TOOLS+=msgmerge
  to a package Makefile will cause the corresponding tool to be pulled
  into the tools directory.

  These are convenience tools to help simplify dependencies for some
  packages.
2006-07-05 04:32:10 +00:00
rillig
a5906ce386 Moved the command that generates the list of files to its own variable,
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-03 06:57:20 +00:00
rillig
9ead885465 After converting it to HTML format, the build log file is not needed
anymore.
2006-07-03 00:00:56 +00:00
rillig
94d9cf1b3a Reordered the variables in the interface comment so that all
user-settable variables come first.
2006-07-02 23:09:19 +00:00
rillig
66e0bd88f8 Fixed an obvious typo: .if !target$(${_WRAP_EMPTY_FILE}) contains a
dollar character before the opening parenthesis. This should really have
been detected by bmake, but somehow the parser seems to be tolerant with
respect to syntax errors.
2006-07-02 09:45:23 +00:00
rillig
52285a9477 I forgot to mention in the last commit that share/examples and share/doc
are automatically excluded from the checks, since those files are not
intended to be executed directly.
2006-07-02 09:40:37 +00:00
rillig
0ed5996894 Added a proper interface documentation. Instead of a .for loop, the
run-time for loop is used, which allows for white-space in
CHECK_INTERPRETER_SKIP.
2006-07-02 09:38:42 +00:00
rillig
465c404b46 Fixed the documentation for SUBST_SED.*, which is not _one_ sed
expression, but a list of sed expressions.
2006-07-02 09:35:05 +00:00
dmcmahill
4d7c638162 Add a script that can be used to scan for NO_BIN_ON_FTP packages using
the cache files left by the README.html generation.  This is indended
to be used to monitor a ftp server, not for generating a file list for
uploading to a ftp server.
2006-07-01 11:11:21 +00:00
joerg
74796d3a6c m4 might not exist e.g. on Slackware, conditionalize it. 2006-06-26 18:14:51 +00:00
salo
0eed3abda2 Remove SuSE 7.3 version from SUSE_PREFER, set 10.0 as default and mark
9.1 as legacy option.

SUSE 10.0 supports more architectures (i386, powerpc, x86_64) and is
already required for some packages (e.g., acroread7).  It will help to
get more testing so we can phase out 9.1 before the next stable branch.
2006-06-26 18:00:02 +00:00
jdolecek
d35e963055 add .cz KDE mirror 2006-06-25 18:02:38 +00:00
jlam
3a15b8b8b2 Change the way that "\c" is processed within the msg strings: if we
see \c, where c is anything but a legal character as defined by
msgfmt-0.10.35, then replace the backslash with a '?'.  Yes, this is
a hack, but it works around a bug in the way that older msgfmt
mis-identifies some "control" sequences.  This fixes building of
zh_TW.po in x11/matchbox-panel as noted in the bulk build results:

    http://mail-index.netbsd.org/pkgsrc-bulk/2006/06/20/0000.html

While here, note in a header comment which packages' *.po files to
use for regression tests whenever changes to this file are made.
2006-06-23 21:05:43 +00:00
jlam
bbea7f72c2 Fix typo that would cause check-shlibs to never find missing libraries
needed by files in a package.  Noted and fix suggested by <taca> in
private email.
2006-06-23 12:55:15 +00:00
tron
be3eaae91c Remove "apache.towardex.com" (down) and "sunsite.tus.ac.jp" (redirects
to new version) from the list of Apache master sites.
2006-06-23 07:45:49 +00:00
rillig
ba68c129fe SUBST_STAGE.* is currently not defined by all SUBST blocks, so disable
PKG_FAIL_REASON in that case. It didn't have an effect anyway for normal
builds, since subst.mk is included after checking PKG_FAIL_REASON.

Discussed with jlam.
2006-06-22 20:45:48 +00:00
joerg
abd93e2085 Restore ls -t | grep idiom, the whole package list is too big for the
argument list on at least on OS.
2006-06-22 11:09:18 +00:00
dmcmahill
c0b92b7ce2 When producing the list of directories containing binary packages, do
some extra processing to ensure that we have a list of unique directories.
Otherwise we end up with two problems:

  - cache files get rebuilt all the time because they get built once for each
    path to the directory in question and since the path ends up in the cache,
    it is always declared out of date.

  - we end up with multiple links to the same binary package in the README.html
    files.

Committed during the freeze becuase this is a real bug which is encountered
daily.
2006-06-21 14:13:27 +00:00
jlam
1fb77f9a70 Executiing "msgfmt ru" should look for "ru" and then "ru.po" for
processing.  Allow for this possiblity by falling through both names
when given input files.  This fixes the builds of sysutils/dfuibe_installer
and sysutils/dfuife_curses noted in the bulk build results:

	http://mail-index.netbsd.org/pkgsrc-bulk/2006/06/20/0000.html
2006-06-20 23:11:36 +00:00
jlam
1c971f32bc Allow for arbitrary whitespace on the line before seeing any of the
msg* keywords.  This fixes parsing es.po in multimedia/gmencoder noted
in the bulk build results:

	http://mail-index.netbsd.org/pkgsrc-bulk/2006/06/20/0000.html
2006-06-20 22:35:25 +00:00
minskim
5c57cd656e Use /bin/tcsh only when it exists. A minimal installtion of Linux may
not have it.
2006-06-20 22:32:28 +00:00
jlam
8f71bbc4ec If FAILOVER_FETCH is defined, then we need the digest binary to already
be installed, so let uptodate-digest do that crazy thing it does.
2006-06-20 14:54:03 +00:00
jlam
fce460b04b Fix FAILOVER_FETCH usage to actually match documentation -- it's
supposed to be just defined/undefined, but was previously being used
as non-empty/emtpy.
2006-06-20 14:50:27 +00:00
rillig
947e6826c3 devel/tla has the GNU config scripts in a */*/* directory. 2006-06-18 09:40:25 +00:00
rillig
c253911751 Define CONFIG_{GUESS,SUB,RPATH}_OVERRIDE also when
OVERRIDE_GNU_CONFIG_SCRIPTS is defined.
2006-06-18 09:37:55 +00:00
rillig
84f1fd3ebf Fixed wrong indentation of .if/.else/.endif. 2006-06-18 09:34:07 +00:00
rillig
074d65d7e8 Removed duplicate definition of _PACKAGE_COOKIE. 2006-06-18 07:46:03 +00:00
rillig
56d01034de Simplified the code by reducing the number of different targets that are
evaluated. Now the SUBST_MESSAGE is only printed once when the
substitution is actually done. Before this change it had been printed
also when the subst-<class> target had been invoked a second time, but
the substitution didn't take place again, which had confused me. Also,
converted the code to use ${WARNING_MSG} and ${STEP_MSG}.
2006-06-17 22:42:00 +00:00
rillig
4d918f29a2 Added a variable OVERRIDE_GNU_CONFIG_SCRIPTS that allows a package to
override the config.guess, config.sub and config.rpath scripts even if
GNU_CONFIGURE is not defined. This is needed for devel/tla.
2006-06-17 21:27:30 +00:00
jlam
191a9b0688 Allow packages to set a post-tools target again (which fixes recent
lossage when building security/openpam).  Utilize a tools cookie file
to ensure that the post-tools target is only ever run once to avoid
tricky coding requirements for the post-tools target.  Also document
some more of the targets.
2006-06-16 19:15:19 +00:00
rillig
226335ff5b It is worth a warning if a freshly installed file is not readable. 2006-06-16 12:03:38 +00:00
jlam
e811379bc2 Pluralize INSTALL_TEMPLATE and DEINSTALL_TEMPLATE variable names as per
the pkglint warning:

    As {INSTALL,DEINSTALL}_TEMPLATE is modified using "+=", its name
    should indicate plural.

This does make the variables a bit more suggestive of the fact that they
hold lists of values.
2006-06-15 22:13:58 +00:00
jlam
982acd0360 Output PKG_{FAIL,SKIP}_REASON messages to standard error instead of
standard output.  These are error or warning messages, so they shouldn't
be "seen" by anything expecting the output of a "make" command to make
sense.  This addresses PR pkg/32239 by following the suggestions by
Roland Illig.
2006-06-15 02:39:19 +00:00
jlam
d518b52c8e Allow the standard build target to be overridden by the one generated
if PKG_{FAIL,SKIP}_REASON is set.  This fixes the behavior when one
invokes "make build" in a package that sets a fail or skip reason to
stop as soon as the reason is printed.
2006-06-15 02:24:41 +00:00
jlam
29133ee234 Teach the tools framework about "openssl". 2006-06-14 16:57:07 +00:00
jlam
877745fd8f Create DELAYED_{ERROR,WARNING}_MSG macros that can be used to output
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-14 15:09:34 +00:00
jlam
773389471a Insert cookie checks into the "real-install" and "real-package" targets,
which are invoked in recursive make calls for the "install" and
"package" targets respectvely.  These recursive make calls prevent
the top-level make from seeing all of the targets and computing a full
dependency graph, so it becomes possible for some targets to be invoked
more than once.  This change passes enough information along to the
recursive make calls and ensures that the source targets for the real-*
targets are only invoked once.
2006-06-14 07:51:47 +00:00
jlam
ad827ed0e1 Fix error with just-in-time su when installing dependencies. The code
to install dependencies looked roughly like this:

        ${CAT} ${_DEPENDS_FILE} |
        while read type pattern dir; do
                cd $$dir && ${MAKE} install
        done

In the code above, tghe recursive make invoked to install each dependency
does a just-in-time su to acquire root privileges for the installation,
but the su tries to get terminal settings for standard input (from
the pipe) using tcgetattr(), which fails and subsequently causes su
to exit with a puzzling "conversation failure" error.  Rewrite the
loop to look (roughly) like this:

	set -- `${CAT} ${_DEPENDS_FILE}`
	while test $# -gt 0; do
		type=$1; pattern=$2; dir=$3; shift 3
                cd $$dir && ${MAKE} install
	done

Note that this is potentially bad for shells with very low limits on
the maximum command line length, but at least this preserves file
descriptor 1 to reference the controlling tty unless the user does
something weird with input redirection when invoking make.
2006-06-14 03:00:03 +00:00
dsainty
45b91b84ac Document mitshm option. Used in emulators/xbeeb package, where enabling it disables conventional network X support (the code doesn't support both). 2006-06-13 13:53:21 +00:00
jlam
50131e16fc At the point where we invoke msgfmt during the build phase, the software
author has presumably given us valid *.po files, so skip performing
validity checks on the *.po file.  This fixes building software where
the author has actually *not* produced proper *.po files, e.g.
net/gtk-gnutella, where the de.po files have msgid/msgstr pairs that
do not have matching numbers of format specifiers (%[a-z]).
2006-06-13 13:30:40 +00:00