Commit graph

5873 commits

Author SHA1 Message Date
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
jlam
dab443fe1e Move the common make command executed in su-target into a separate make
variable to try to get rid of potential quoting problems.
2006-06-12 16:30:03 +00:00
jlam
6b4b7743d0 Be more consistent about how we're emitting errors and warnings. 2006-06-12 03:42:02 +00:00
jlam
aa3aec191d _DEPENDS_COOKIE is already defined in bsd.depends-vars.mk. 2006-06-12 01:20:37 +00:00
jlam
89a7595587 Split out the "work" symlink creation into a separate step and add it
as a source for the "makedirs" target.  This ensures the symlink is
created regardless of whether ${WRKDIR} already exists or not.
2006-06-11 02:14:45 +00:00
jlam
85c5451053 Restore missing ${SETENV} ${BUILD_ENV} that was dropped during the initial
package system flavors commit.
2006-06-10 03:23:46 +00:00
jlam
fa494e1722 make(1) will automatically delete partially made targets if the target
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-09 16:41:09 +00:00
jlam
2cc3f64abb Add a new variable CHECK_FILES_SUPPORTED which is a package-settable
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-09 16:12:08 +00:00
jlam
8c10d39139 Introduce the capability to gather all the warnings and errors that
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-09 13:59:06 +00:00
jlam
2b9c2495b3 No need to synthesis the package directory from components when ${.CURDIR}
already has the right value.
2006-06-09 08:20:30 +00:00
rillig
98b01c2c50 pkglint says, the :Q operator should not be used in double quotes.
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-09 06:02:33 +00:00
jlam
b55dfcc740 Introduce "makedirs" as a helper target to create directories with
unprivileged ownership.
2006-06-08 16:21:51 +00:00
jlam
1b7fdcc434 If the package cookie file exists, then we don't need to do anything.
Also, make use of a _REAL_PACKAGE_TARGETS variable just to make all
of the code between the different stages more uniform.
2006-06-08 15:48:42 +00:00
jlam
e95152039c If the install cookie file exists, then we don't need to do anything.
Also, move the interactive check into a separate target as a prelude
to removing the recursive make for invoking "real-install".
2006-06-08 15:47:10 +00:00
jlam
63ceb4b6f6 Fix the comment. 2006-06-08 15:45:52 +00:00
jlam
6d0a3eea15 Make use of a "real-depends" helper target to hook all of the other
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-08 15:45:06 +00:00
dmcmahill
a7548e9708 undo most of the last commit which was a mistake. 2006-06-08 11:18:04 +00:00
rillig
5fc064978a Since "depends" is a real pkgsrc phase now, it also needs its own
depends-message target.
2006-06-08 08:55:10 +00:00
rillig
cb4b57b6b0 Replaced PHASE_MSG with STEP_MSG in many (but not all) places where it
wasn't used to identify a ``phase'', as defined in the pkgsrc guide.
2006-06-08 08:01:53 +00:00
rillig
80d94acdf9 Use STEP_MSG for pkgsrc-patch-message instead of PHASE_MSG. 2006-06-08 07:30:40 +00:00
rillig
b2685966d1 Added a missing :Q operator for DEPENDS_TARGET, since like the other
*_TARGET variables, it is actually a _list_ of targets, not a single
target.
2006-06-08 07:04:49 +00:00
rillig
87276c331b The gcc equivalent of SunPro's -mt option is -threads. 2006-06-08 06:29:44 +00:00
jlam
0c1e91164b Avoid using ::= construct which apparently is somewhat buggy in bmake.
This hopefully fixes user/group creation problems on platforms using
bootstrap bmake, e.g. Solaris.  Problem noted by adrianp in private
email.
2006-06-08 03:30:37 +00:00
jlam
92a54f35b8 Fix an inverted test that caused all catman pages to be stripped from
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-08 03:11:17 +00:00
minskim
cbf5ec4bec Create /var/spool/lock in the sandbox. The directory is needed to
build comm/minicom.
2006-06-08 01:11:43 +00:00
jlam
6a64f49846 Fix problems with check-files where it fails with a confusing message
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-07 20:28:59 +00:00
jlam
68229b135c If there is _ZERO_FILESIZE_P, then it's natural to have _NONZERO_FILESIZE_P
to test for the opposite condition.
2006-06-07 18:37:06 +00:00
jlam
377d2c27f2 Move _ZERO_FILESIZE_P ftom bsd.pkginstall.mk to bsd.pkg.mk so it can more
clearly be used in other modules.
2006-06-07 17:44:29 +00:00
jlam
aa012e72aa Use WARNING_MSG and ERROR_MSG for consistency. 2006-06-07 17:41:14 +00:00
jlam
c82571cd2d Use ERROR_MSG for an error message. 2006-06-07 17:35:49 +00:00
jlam
d54c1a001b Replace use of ${ECHO} with *_MSG to get more consistent-looking messages. 2006-06-07 17:28:33 +00:00
jlam
732bc3967d Make use of ERROR_CAT to print the list of conflicting packages. 2006-06-07 17:21:23 +00:00
ghen
8001e36796 Fix typo, reported by walt on users@crater.dragonflybsd.org. 2006-06-07 17:09:52 +00:00
jlam
0f5fc1ca58 Rewrite to avoid using "grep -H", which Solaris' grep does not support. 2006-06-07 17:05:25 +00:00
jlam
56b17a4580 Note the check-clean target, which removes files related to the check-*
targets.
2006-06-07 17:04:01 +00:00
jlam
44fed2736c Add WARNING_CAT and ERROR_CAT which are filters for outputting file
contents to standard error.  They prefix the output with "WARNING: "
and "ERROR: " respectively.
2006-06-07 17:00:03 +00:00
tron
6e1ed39e5d 1.) Remove all instances of '@${WARNING_MSG} "Warning: ...' which resulted
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-07 10:04:03 +00:00
rillig
58873dc4d8 Check for [[:space:]] instead of [ ]. This fixes a misbehavior when
script files contain CRLF line-ends.
2006-06-06 23:43:10 +00:00
jlam
c61ebf253e Add missing "break" that was causing reduce-depends.awk to not do any
reduction except by accident if the "winning" pattern is the last one.
2006-06-06 20:05:44 +00:00
jlam
8efe9d7045 Avoid using PKGNAME in target names since they are "immediately"
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-06 19:49:52 +00:00
joerg
ebe30855cf One more reminder of PostgreSQL 7.3 to remove... 2006-06-06 19:43:43 +00:00
jlam
1b717c210d Stop supporting user-specified definition for IMAKE in /etc/mk.conf --
it's now all handled exclusively by the tools framework.
2006-06-06 19:25:59 +00:00
jlam
dfed7426cb real-su-bin-install is no more... it's just su-bin-install. 2006-06-06 18:24:44 +00:00
jlam
08763d7226 Fix problem with saving variables whose value contains "$$" by avoiding
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-06 18:07:50 +00:00
rillig
a4dea7213f EXTRACT_CMD_DEFAULT should not be set by the package; it may only be used. 2006-06-06 16:33:48 +00:00
jlam
3058ace76f Move some variable definitions out of bsd.prefs.mk and back into
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-06 15:28:51 +00:00
jlam
586ee78fb4 We diverged too much from reduce-depends.mk -- reduce-depends.mk
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-06 14:19:10 +00:00
dmcmahill
21bdb7a787 When using find to search for the "All" directories containing binary
packages, use -follow.  Hopefully this will pick up all of the binary
packages again after the ftp.netbsd.org reorganization.
2006-06-06 11:10:31 +00:00
jlam
fd7633a630 Remove PKG_PHASEs that no longer exist from the various *_PHASE_* lists. 2006-06-06 06:44:01 +00:00
jlam
cd1230e8e3 Separate out the part of bsd.tools.mk that actually created the tools
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-06 06:30:29 +00:00
jlam
627dc60046 Refactor "patch" code into correspondingly named subdirectory of
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-06 04:48:19 +00:00
jlam
4a1c92e775 Improve the warning message if the vulnerabilities file is not found. 2006-06-06 03:36:00 +00:00
jlam
eee5c6a41f Add documentation about which are the public targets for the fetch module. 2006-06-06 03:35:42 +00:00
jlam
c78510391e Refactor "fetch" and "extract" code into correspondingly named
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.
2006-06-06 03:05:48 +00:00
jlam
7136ee2fac Remove trailing blank line. 2006-06-06 00:25:26 +00:00
seb
e9dd4864d7 Make show-options target output shorter as requested by dillo@ 2006-06-06 00:15:45 +00:00
jlam
3fbe129b69 Use PHASE_MSG, STEP_MSG, WARNING_MSG, and ERROR_MSG in place of ECHO_MSG
in various places.
2006-06-05 22:49:44 +00:00
jlam
daa9eec1ee Remove spurious comment. 2006-06-05 17:56:10 +00:00
jlam
e3f0f1869f Allow overrides of the public targets, e.g. "install", "package", etc.
if PKG_SKIP_REASON or PKG_FAIL_REASON is defined.  This commit adds
!target(...) guards around those target definitions to avoid "duplicate
target definition" warnings.
2006-06-05 17:41:11 +00:00
jlam
aa5856070f Move definitions for UPDATE_TARGET and DEPENDS_TARGET closer to where
they are used.  Also, move UPDATE_RUNNING into the install module where
it is used, and make it "private" by prepending with an underscore.
2006-06-05 17:21:54 +00:00
joerg
ed8841d0fd Move the default value of X11_TYPE from x11.version.mk into
bsd.prefs.mk. Add a coment to defaults/mk.conf, why the entry should
be left commented out there.
2006-06-05 17:11:37 +00:00
jlam
3b91a4e076 Revert previous, as the bug seems to have been fixed elsewhere. We will
revisit this if the problem crops up again.
2006-06-05 14:11:39 +00:00
jlam
53a538f33a Minor fix for last commit... in the case where msgstr is just the
empty string (because no translation has yet been made), it's okay to
have mismatching "\n" in the msgid and msgstr texts.  This should fix
PR pkg/33645 by Carl Brewer.
2006-06-05 13:36:14 +00:00
jlam
711838a579 Ensure the directory containing the lockfile is created prior to the
lockfile's creation.  Fixes the "depends" step when PKGSRC_LOCKTYPE
is not "none".
2006-06-05 02:22:49 +00:00
jlam
a6459db5e0 Backout previous and fix in another way -- use "set -e" to force the
shell to exit if any untested command fails.  This is based on Roland
Illig's recommendation from his pkglint talk at pkgsrcCon/Paris.
2006-06-05 01:42:58 +00:00
jlam
8699ebde7b Extend msgfmt.sh script to handle the following cases:
(1) "msgstr" not followed by any string (GNU extension), e.g.

	msgid "foo"
	msgstr
	"bar"

(2) "\n" mismatch between msgid and msgstr, e.g.

	msgid "foo\n"
	msgstr "bar"

This fixes .po compilation problems in www/epiphany and
multimedia/gnome2-media.
2006-06-04 23:18:38 +00:00
joerg
ef19a5e7db Band-aid for dependency handling due to the stricter rules from the
dependency cookie. We now want all dependencies in the default phase,
since depends is run before/outside real-extract. This can be seen
e.g. by textproc/troffcvt, which has a build dependency in a build
dependency. Discussed and tested with seb@.
2006-06-04 21:04:45 +00:00
tv
a540af7b7d Fix problem in su-target: the exitcode of the make command is discarded,
so it would exit successfully even if the sub-make failed.  This caused
rather interesting behavior with SU_CMD=sudo, and sudo timed out.  Ensure
that the result code is preserved by using a && chain rather than ;.
2006-06-04 20:10:12 +00:00
seb
99640dd6b7 We really want to have the ${_DEPENDS_COOKIE} target to do something if it
has not been already defined not if the ${_DEPENDS_COOKIE} file does not exist.

This fix ${_DEPENDS_COOKIE} creation for me when doing 'make depends'.
2006-06-04 19:04:57 +00:00
joerg
d1f92fbbf3 Remove OPENSSH_GID and OPENSSH_UID, it happened to work before,
since those are the values in NetBSD. In reality, they haven't been
used for ages though.
2006-06-04 14:56:37 +00:00
jlam
e3cf8cde23 Add environment settings for the tools that reduce-depends.awk uses.
From Georg Schwarz in private email.
2006-06-04 13:48:51 +00:00
jlam
ff4b082f6f Move some "update"-only variables from bsd.pkg.mk to bsd.pkg.update.mk. 2006-06-04 08:25:52 +00:00
jlam
fd91f5268e Make LOCKFILE into a "private" variable by prepending with an underscore. 2006-06-04 06:09:36 +00:00
jlam
5f555f193c Add missing definitions for CP and RM. Fix from taca@ in private email. 2006-06-04 05:43:56 +00:00
jlam
3ec9044454 Include bsd.pkg.update.mk to get the "update" targets and variables. 2006-06-04 05:26:45 +00:00
jlam
cf1cfc8ed5 Move test for the lockfile within the target's shell code instead of
testing for it at the Makefile level.
2006-06-04 05:25:08 +00:00
jlam
e914dab1ef Drop the use of _ACQUIRE_LOCK and _RELEASE_LOCK and replace with
acquire-lock and release-lock macro targets.  Take advantage of using
a make target by breaking up the _ACQUIRE_LOCK script into smaller
pieces, and make better use of the *_MSG definitions for printing
messages within the acquire-lock and release-lock targets.
2006-06-04 04:31:47 +00:00
jlam
46822f43e8 Convert just-in-time su targets to use su-target instead of ${_SU_TARGET}.
Garbage-collect the (now) unused _SU_TARGET.
2006-06-04 00:39:05 +00:00
jlam
e5eb2c56af First pass at implementing support for package system flavors other
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.
2006-06-03 23:11:42 +00:00
seb
faa9aeac73 I usually have the following stuffed in a mk.conf target or a script
and that is 3 make process to run...
make show-options; v=$(make show-var VARNAME=PKG_OPTIONS_VAR); echo $v=$(make sh
ow-var VARNAME=$v)

Hence add trailing part about PKG_OPTIONS_VAR and its value to
show-options target like the one found in supported-options-message target.
2006-06-03 08:44:46 +00:00
dillo
f2d9a1c52f Adapt to create pkg_summary file via pkg_info -X. Prompted and
reviewd by joerg.
2006-06-02 22:01:46 +00:00
joerg
337c6b1297 Rename all PHP 4 packages to php4-*, all PHP 5 packages to php5-*,
all PEAR packages to php?-pear-* and all Apache packages to ap13-* or
ap2-* respectively. Add new variables to simplify the Makefile
handling. Add CONFLICTS on the old names. Reset revisions of bumped
packages. ap-php will now depend on the default Apache and PHP version.
All programs using it have an implicit option of the Apache version
as well.

OK from jlam@ and adrianp@.
2006-06-02 18:27:54 +00:00
rillig
9425b46021 Removed superfluous backslashes. 2006-06-01 07:11:09 +00:00
rillig
68ade070e9 In AWK string literals, backslashes must be doubled. Otherwise they are
simply discarded.
2006-06-01 06:12:48 +00:00
ghen
a4b367e139 Adapt pkgsrc documentation examples to the new databases/openldap-client
package.
2006-05-31 18:54:32 +00:00
tonio
ac2144ca7c add an mpeg4ip option (to be used by daapd) 2006-05-31 07:53:23 +00:00
wiz
a818e03080 Recognize -tar.gz as tar.gz files. PR 33571 by Dieter Roelants. 2006-05-30 23:51:38 +00:00
jlam
5ff73b27ca When filtering out unrelated info files, only check the last bit of
the name instead of the whole name.  This avoids some problems where
the file name contains awk-special characters, e.g. +.
2006-05-29 20:01:39 +00:00
ghen
0ad527e2a3 Document iodbc and unixodbc options (for databases/openldap). 2006-05-29 17:21:33 +00:00
joerg
c73fd6744e Don't test existence of a file, touch it and compare the content,
but compare the content only if the file existed in first place.
2006-05-29 14:26:33 +00:00
dmcmahill
c72147afb6 when generating the list of pkgsrc packages, use
${BMAKE} show-subdir-var VARNAME=SUBDIR
instead of just grepping through the makefiles.  This seems
to be a litle more robust.  Suggested by Joerg Sonnenberger.
2006-05-29 02:41:26 +00:00
dmcmahill
9f0c8c2d39 strip trailing comments when searching for SUBDIR+= lines in the Makefiles 2006-05-28 16:34:09 +00:00
adrianp
ebec39f916 Add drupal-xmlservices 2006-05-28 13:49:39 +00:00
wiz
8c9283756c No package is using USE_RMAN any longer, remove it. 2006-05-25 11:00:39 +00:00
joerg
535f2eb485 Resolve misunderstanding with jlam, show-subdir-var works like
show-var, but doesn't recurse.
2006-05-23 15:20:17 +00:00
rillig
f0c209086a Packages may set the variable FETCH_MESSAGE to a list of lines that are
printed when some distfile must be fetched manually. After printing
them, the build is aborted.

This deprecates the old _FETCH_MESSAGE, as packages should never need to
define variables with leading underscores.
2006-05-23 07:39:22 +00:00
jlam
60f791e1e6 Move the check-shlibs target from bsd.pkg.mk to bsd.pkg.check.mk where
it will live with other "check" targets run after package installation.

Get rid of SHLIB_HANDLING, whose meaning had mutated over the years
from one thing to another.  Currently, it is used to basically note
whether the system's "ldd" command can be usefully run on the package's
binaries and libraries.  Rename this variable to CHECK_SHLIBS_SUPPORTED
for more clarity.

CHECK_SHLIBS is now a variable set exclusively by the user in /etc/mk.conf
to note whether the check for missing run-time search paths is performed
after a package is installed.  It defaults to "no" unless PKG_DEVELOPER
is set.
2006-05-22 22:22:02 +00:00
joerg
4c14c4b817 Add show-subdir-var to get the value of SUBDIR of the top-level and
category Makefiles.
2006-05-22 17:10:41 +00:00
joerg
a098804703 POSIX doesn't specify -or as operand for find, only -o.
Fix from PR 33531 by Gilles Dauphin.
2006-05-22 16:54:54 +00:00
jlam
143b5f7d14 Move mk/install to mk/pkginstall to better reflect the contents (the
pkginstall framework).
2006-05-21 23:50:15 +00:00
jlam
5f0d92603f Add back "gsoelim" as a NetBSD tool since it supports "-I directory".
Mark this as merely "GNUish" in the comment so that we know it's not
really GNU soelim.
2006-05-21 17:25:27 +00:00
jlam
884ac81839 NetBSD actually doesn't have GNU soelim, but rather BSD soelim. 2006-05-21 16:57:07 +00:00
jlam
872507ebf5 Teach the tools framework about "groff" as a tool. 2006-05-21 16:55:21 +00:00
jlam
f89090ec85 Pass PKG_PHASE=install when recursively calling make from within the
real-su-install target so that the {pre,do,post}-install target command
lists will see the correct, fully-expanded definitions of certain
phase-specific variables.
2006-05-21 14:41:29 +00:00
rillig
df86d70987 Replaced ECHO_MSG with STEP_MSG. 2006-05-21 13:24:44 +00:00
jlam
408b9158bd Avoid a difference in shell implementation between IRIX 5.3 and newer
UNIX systems which caused recursive script invocations to not work.
Patch from Georg Schwarz in private email.
2006-05-21 00:14:51 +00:00
jlam
5b63911cc1 Modify msgfmt.sh to make the following changes when filtering *.po files:
msgid		-> msgid ""
	msgid"..."	-> msgid "..."
	msgstr		-> msgstr ""
	msgstr"..."	-> msgstr "..."

The filtered *.po files can then be processed by msgfmt<=0.10.35.

These changes workaround bugs in *.po files in software of the "all
the world runs Linux" variety where the software author either willfully
or stupidly can't follow the format for *.po files described in section
2.2 of the gettext info manual and, in addition, makes lame excuses
when confronted with the evidence.

This closes PR pkg/33506 by Ben Collver.
2006-05-20 23:29:42 +00:00
jlam
65ded3b2ac We can simplify MSGSTRN_RE because we already catch the msgstr[0] and
msgstr[1] cases earlier.
2006-05-20 22:13:23 +00:00
jlam
55b0077b28 Rename ORE to OBSOLETE_RE for more clarity in the variable name. 2006-05-20 22:10:18 +00:00
jlam
58a3fca292 Restore "unnecessary" variable... sometimes we use named constants for
documentation/readability purposes...
2006-05-20 22:06:34 +00:00
perry
a637ec3589 Now that ftp.netbsd.org has an http server, include it in the list for
MASTER_SITE_BACKUP for the benefit of people behind broken firewalls
that screw up ftp.
2006-05-19 02:21:24 +00:00
adrianp
e881d3d0d0 Rename spoof to syslogng-spoof. Suggested by wiz@. 2006-05-16 22:51:37 +00:00
rillig
78092c458c This file needs bsd.prefs.mk, since the variable WRKDIR is used in a
dependency line, which gets resolved during load time.
2006-05-16 21:25:38 +00:00
tv
db1ad83be6 Add scsl-jdk15 and scsl-jre15, SCSL licensed versions of sun-jdk15 and
sun-jre15, but running natively on NetBSD (so far).
2006-05-15 19:44:06 +00:00
wiz
d36ad06f95 Describe xscreensaver-webcollage option. 2006-05-14 18:56:43 +00:00
seb
ad25735eb4 Re-add ${PREFIX} to the list of directories print-PLIST target
should ignore or it is broken for packages that installing files right
under ${PREFIX}.  Example in lang/sun-jre15:
$ make print-PLIST
...
@dirrm java/sun-1.5
ls: /usr/pkg//usr/pkg/.: No such file or directory
@dirrm /usr/pkg/.
$

It looks to me that was removed by mistake in revision 1.5
of this file.
2006-05-14 14:27:41 +00:00
minskim
fa5157ed20 Remove references to teTeX1. 2006-05-13 03:44:23 +00:00
adrianp
324503bec9 Add a description for svn 2006-05-12 23:20:48 +00:00
jlam
bc093b5ba2 Fix a problem that occurs if compiler.mk is included in a package's
Makefile, which means it occurs before bsd.tools.mk is included and
thus misses the definition of TOOLS_DIR.  We now create a new subdirectory
of ${WRKDIR} to house the wrappers instead of re-using ${TOOLS_DIR}.
Problem noted by Roland Illig on tech-pkg:

	http://mail-index.netbsd.org/tech-pkg/2006/05/12/0011.html
2006-05-12 21:37:08 +00:00
jlam
48b11c8c11 Make build failures due to the previous commit less mysterious by using
a wrapper script that emits a hint of what went wrong.
2006-05-11 22:13:19 +00:00
rillig
dc1846b76d Don't let this program get confused just because there is no white-space
between msgstr and the following string. The bug showed off at
icewm-1.2.25, file po/tr.po, line 774. While at it, removed an
unnecessary variable.
2006-05-10 22:03:07 +00:00
rillig
8a223461b1 Fixed some pkglint warnings in the do-configure, do-build, do-test and
do-install targets. This fixes an endless loop occuring when running "make"
in regress/make-quoting.
2006-05-10 17:53:34 +00:00
rillig
37a9f202fd Made the "check-files" target work even when PREFIX is a symlink by
searching in "${PREFIX}/." instead of ${PREFIX} alone. To get the same
output as before, each "/./" is replaced with "/" in the output.
2006-05-10 16:09:08 +00:00
minskim
a1e71190d2 Allow to use sun-jdk15 on Darwin-8, and sun-jdk14 on Darwin-[678].
Also make sun-jdk15 the default java on Darwin-8.  This addresses PR pkg/32013.
2006-05-10 07:25:03 +00:00
jlam
74ffb73d57 Fix missing quotes that were causing the group and user existence checks
to break.
2006-05-10 05:41:40 +00:00
minskim
c43654731a Apply PRINT_PLIST_AWK and _PLIST_PLIST_AWK_SUBST in the same order
for both files and directories.
2006-05-09 21:37:33 +00:00
tron
846cfc32cc Make the "apache2" package the default. Apache 1.3.x is very outdated. 2006-05-09 10:05:04 +00:00
joerg
5f53c5b6ea CHECK_FILES is now active by default for PKG_DEVELOPER.
"Just commit it whenever you want" -- jlam
2006-05-08 21:29:07 +00:00
tv
cc385037b1 Force unrequested languages to be unavailable by setting them to ${FALSE}.
This way, missing language dependencies will be caught at build time.

(Tested without problems on several C++ packages by unsetting LANGUAGES in
them.  I don't have a machine fast enough to bulk build, but I shall be
watching the next round on pkgsrc-bulk to fix what I may not know about
right now.)
2006-05-06 15:20:05 +00:00
reed
a36ea4e941 If USE_ABI_DEPENDS=no, do not add the BUILDLINK_ABI_DEPENDS.$pkg
to BUILD_DEPENDS. (I posted about this to pkgsrc-users on April 14.)
2006-05-06 03:28:44 +00:00
jlam
1c8d9b58f1 Use brackets "[]" to quote characters instead of backslash "\". This
is more bulletproof across different versions of awk.  From PR pkg/33410
by Aleksey Cheusov.
2006-05-02 14:32:35 +00:00
jlam
2ab9b7d728 Use the meta-data directory as the location for all temporary files
used by the various scriptlets.  Also, consistently use the idiom of
creating a temporary directory with mode 700 and creating temporary
files underneath that directory to avoid race conditions.
2006-05-01 14:56:23 +00:00
cube
ce08d9057a Add 'oracle', to be used by upcoming RT update. 2006-05-01 09:07:15 +00:00
gdt
8a1c18c795 If DJB_RESTRICTED=YES, set LICENSE=djb-nonlicense. 2006-04-29 14:25:37 +00:00
jlam
ebe8e867eb Ensure that @VAR@ placeholders in usergroupfuncs are properly substituted
for by running it through a separate FILES_SUBST_SED filter.  This fixes
the case where the user wasn't being created if USERGROUP_PHASE was
defined.
2006-04-29 04:36:13 +00:00
jlam
1685213908 Always remove the intermediate files, even if the +USERGROUP script
determines the users and/or groups don't exist.  This makes "make clean"
work properly for non-root users.
2006-04-29 03:54:10 +00:00
jlam
ffdf92793e Remove the test file in all exit conditions. 2006-04-29 03:49:12 +00:00
jlam
0022419f9d Allow for just-in-time su when creating users and groups if
USERGROUP_PHASE is defined.
2006-04-29 03:09:40 +00:00
jlam
24ad3a7f29 Use a better default user comment if none is specified -- if the username
matches ${PKGBASE}, then use "${PKGBASE} user", otherwise we use
"${PKGBASE} $user user".
2006-04-27 22:44:09 +00:00
jlam
b01f35bb33 Allow a package to specify the ownership and permission on
${PKG_SYSCONFDIR} if PKG_SYSCONFSUBDIR is defined and non-empty.  A
package may now set PKG_SYSCONFDIR_PERMS to an "owner group mode"
triplet, which defaults to "${ROOT_USER} ${ROOT_GROUP} 755".
2006-04-26 05:58:44 +00:00
jlam
70c1c5f45f Rename the test directory to a more suggestive name. 2006-04-25 22:35:46 +00:00
jlam
98afa666a4 Modify the DIRS line format to match the FILES one, where the mode
precedes the user and group.
2006-04-25 22:32:44 +00:00
jlam
057ec88ef7 Use colons as separators instead of slashes on the off-chance that "/"
is used in either the user or group name due to some bizarro set of
circumstances.
2006-04-25 20:12:35 +00:00
jlam
ede4976eb9 First try at fixing a deficiency in the package +INSTALL scripts,
where they don't verify that any pre-existing config files and
directories have the correct permissions.  For example, if you are
upgrading a package to a newer version and the config files and
directories used by the package need to have different permissions
than in previous versions of the package, then the new package may
fail to work because it can't access pre-existing files and directories.

This commit improves on this by doing the following:

(1) Teach the +FILES and +DIRS scriptlets two new actions "PERMS" and
    "CHECK-PERMS".  "PERMS" fixes permissions on existing files and
    directories.  "CHECK-PERMS" will verify those same bits and warn
    the user when they are wrong.  The "CHECK-PERMS" actions for the
    two scriptlets are run immediately after the "ADD" actions.

(2) Add a new variable PKG_CONFIG_PERMS that controls whether the
    "PERMS" action will automatically fix permissions.  PKG_CONFIG_PERMS
    is only consulted if PKG_CONFIG is "yes".  PKG_CONFIG_PERMS can
    be set in the shell environment when running pkg_add, e.g.:

        export PKG_CONFIG=yes
        export PKG_CONFIG_PERMS=yes
        pkg_add /path/to/binary/package.tgz

    The default value of PKG_CONFIG_PERMS embedded into the +INSTALL
    script may also be set in /etc/mk.conf.  This value defaults to
    "no", so that by default, the +INSTALL script will not modify or
    destroy any existing configuration files or directories.

The +INSTALL script will now always warn you if there are files or
directories whose permissions differ from what the package is expecting
to use, and if PKG_CONFIG_PERMS is set to "yes", then it will go ahead
and fix those permissions for you automatically.
2006-04-25 19:54:39 +00:00
jlam
31e0ac81c5 Fix typos in comments, noted by Yoshito Komatsu in private email. 2006-04-24 23:44:18 +00:00
dillo
5a24717f5c Rename recently added BUILD_INFO variable DATE to BUILD_DATE, and
the make variable holding its value to _BUILD_DATE.

Discussed on tech-pkg.
2006-04-24 20:19:03 +00:00
jlam
ec33004d29 Fix {group,user}_exists functions when the numeric ID is not set. Fix
provided in PR pkg/33346 by Yoshito Komatsu.
2006-04-24 15:44:32 +00:00
rillig
4dcf0c7e97 Added the shebang line. 2006-04-24 01:31:04 +00:00
dmcmahill
0b88a6acba add pcb-motif 2006-04-23 03:03:23 +00:00
jlam
2797f2c4fb Add two new capabilities to the pkginstall framework:
(1) Allow specifying the numeric UID and GID for users and groups in
    /etc/mk.conf by setting PKG_UID.<user> and PKG_GID.<group> to
    those values.  If these values are specified, then the +USERGROUP
    script will verify that existing users and groups match the
    requested UIDs and GIDs for the package, and otherwise create them
    with these UIDs and GIDs.  For example:

	PKG_UID.courier=	10001
	PKG_GID.mail=		6

    In this example, the courier-authlib binary package will be created
    to use uid 10001 for the "courier" user and gid 6 for the "mail"
    group.

(2) Allow a package to request that users and groups be created prior
    to configuring or building a package by setting USERGROUP_PHASE
    to "configure" or "build".  Because the reason for this is typically
    to hardcode the UIDs and GIDs of requested users and groups directly
    into the package's executables, these hardcoded values will be
    automatically determined and put into the +USERGROUP script.  For
    example:

	USERGROUP_PHASE=	configure

	PKG_GROUPS=	qmail nofiles
	PKG_USERS+=	qmaill:nofiles
	PKG_USERS+=	qmailq:qmail

    In this example, the users and groups are created before the
    configure phase when building qmail, and the qmail binary package's
    +INSTALL script will try to create (or verify) users and groups
    with the same UIDs and GIDs that were used during the build.

As part of these changes, the format for PKG_USERS and PKG_GROUPS has
changed -- the optional parts of the corresponding entries are no
longer used and cannot be specified.  Instead, the following variables
should be set:

        PKG_GID.<group> is the group's numeric GID.
        PKG_UID.<user> is the user's numeric UID.
        PKG_GECOS.<user> is the user's description.
        PKG_HOME.<user> is the user's home directory.
        PKG_SHELL.<user> is the user's login shell.

A separate commit will follow which will fix all packages that set
PKG_USERS and PKG_GROUPS to use the new syntax and variables.
2006-04-23 00:00:43 +00:00
rillig
1ffbacec96 Adjusted the code to the pkglint warning that NO_PACKAGE should not be
quoted.
2006-04-22 08:36:07 +00:00
tonio
3fa128cd0c remove teTeX1 from the TEX_ACCEPTED list, since it was removed 2006-04-19 13:14:57 +00:00
reed
b2cb858b9e Update PREFER_PKGSRC for the two package renames (renderproto and randrproto). 2006-04-19 12:23:29 +00:00
jlam
2f39e321ba Rename the CHANGES file to CHANGES-2006. From now on, the changes for
each year will accumulate in CHANGES-YYYY.
2006-04-18 00:25:04 +00:00
jlam
138140738b Only do the locale transformation if USE_PKGLOCALEDIR is defined. This
avoids any problems with current packages that install locale files but
don't honor PKGLOCALEDIR yet.
2006-04-17 06:30:48 +00:00
jlam
d19161d212 Modify the plist module to automatically transform "^share/locale" in
PLISTs to "${PKGLOCALEDIR}/locale" for the installed PLIST.  This is
similar to the work that's already done to automatically handle
PKGINFODIR and PKGMANDIR.  PLISTs in pkgsrc will be modified so that
they would just list the message files to be under "share/locale".
USE_PKGLOCALEDIR must continue to be set in package Makefiles so that
localedir substitutions happen at post-configure time.
2006-04-17 06:12:46 +00:00
jlam
f85023f9da Now that all info file entries have been pushed from INFO_FILES into
the PLISTs, drop support for listing info files in INFO_FILES.  The
INFO_FILES variable is now strictly defined/undefined.
2006-04-16 04:27:17 +00:00
jlam
d35c266b0a There are two things that we need to keep track of:
(1) whether or not the built-in msgfmt supports msgid_plural, and
       thus whether we need to use the msgfmt.sh script
       (_TOOLS_USE_MSGFMT_SH), and

   (2) whether or not we need to use the pkgsrc version of msgfmt
       (_TOOLS_USE_PKGSRC.msgfmt)

If we truly don't need to use msgfmt.sh, then never invoke it.  This is
the case on NetBSD>=3.x.  This should fix the problem with building the
*.po files in fonts/fontforge on NetBSD-current.
2006-04-15 16:48:12 +00:00
salo
27e4f856bf Back to pkg-vulnerabilities format 1.0.0. 2006-04-15 15:00:24 +00:00
jlam
4d60064932 Reorder the loop so that we can never get into an infinite loop. We
now pass every line we don't need to process directly through to
msgfmt.  This fixes building pt_BR.po in libgnomedb where all of the
lines end with "^M" and this script wasn't properly detecting a blank
line as a result.
2006-04-15 04:41:08 +00:00
jlam
c5dba803cb Modify the loop so that the statements and comment lines can be
interspersed.
2006-04-15 04:32:02 +00:00
minskim
45ddb3557a Apply jlam's awk fix done in plist-info.awk 1.12.
- Avoid () as a regular expression as the interpretation seems to be
    implementation-defined by various awks.
2006-04-15 04:25:17 +00:00
jlam
32cd3f09b7 Replace a re-used regular expression with a constant. 2006-04-15 01:36:40 +00:00
jlam
1c39903d14 Drop all msgstr[N] translations besides msgstr[0] and msgstr[1] because
those translations can have no corresponding msgid anchor in the old
PO file format.  This allows all of the *.po files in gnome-vfs2 to
build correctly into *.mo files.
2006-04-14 22:37:38 +00:00
jlam
b770e349e6 Whitespace changes for proper indentation. 2006-04-14 22:23:25 +00:00
jlam
fb96576317 Remove debugging code so that we actually invoke msgfmt. 2006-04-14 22:21:04 +00:00
jlam
65abd7dc11 Avoid using the awk input loop and use our own while loop in a BEGIN
statement.  While here fix processing of *.po files containing obsolete
statements by preserving them for msgfmt to handle.  Also use a few
more constants to make the code more maintainable and readable.
2006-04-14 22:16:33 +00:00
jlam
1e2d98e634 Make the display of show-options more readable when there are lots of
options, e.g. x11/xorg-server, by wordwrapping the output.
2006-04-14 17:15:03 +00:00
jlam
28856457ab If we can't find the package with pkg_info when computing BUILDLINK_PREFIX,
make the resulting error message more useful for debugging purposes
by including the name of the variable in a null statement that is part
of the command executed.
2006-04-14 16:59:04 +00:00
jlam
46ac1a79cc Support a --debug flag that dumps the output of the awk script to a
*.debug file.
2006-04-14 14:40:34 +00:00
jlam
0be006d1fe Now that I understand why we strip "#~" from the head of lines, strip
it consistently whenever we read a new line of input throughout the
script.  Note that this was actually broken in the original msgfmt.pl
script as well.
2006-04-14 14:06:54 +00:00
jlam
4fd6588dbf Use the correct cat command. 2006-04-14 13:49:17 +00:00
jlam
018313ec9e Document the puzzling line that strips "#~" from the start of lines.
Explanation provided by jmmv in private email.
2006-04-14 13:43:23 +00:00
jlam
0107cd1802 Add TNF copyright to file as suggested by jmmv in private email. 2006-04-14 13:40:07 +00:00
jlam
c3dcd17e53 Avoid () as a regular expression as the interpretation seems to be
implementation-defined by various awks.
2006-04-14 13:23:42 +00:00
wiz
0719006c41 Update path from cyrus-sasl2 to cyrus-sasl. 2006-04-13 21:45:12 +00:00
jlam
35c719b4c3 Do a bit more error-checking -- if no input file is specified, just run
the msgfmt command to get the right error message and return code.
2006-04-13 19:41:22 +00:00
jlam
d0f812f4cb Move the gettext tools handling to mk/tools/gettext.mk. We ensure
that we use the pkgsrc versions of xgettext and gettext if we're also
using the pkgsrc version of msgfmt.
2006-04-13 19:24:29 +00:00
jlam
fe289f4c72 Rename msgfmt.mk to gettext.mk. The rest of the gettext tool handling
will be moved here from replace.mk shortly.
2006-04-13 18:45:01 +00:00
jlam
1cf9796f3c BUILD_USE_MSGFMT and USE_MSGFMT_PLURALS are obsolete. Replace with
USE_TOOLS+=msgfmt.
2006-04-13 18:23:29 +00:00
jlam
0f4967eb59 Overhaul the way packages can ask for "msgfmt". If a package needs
msgfmt, then it should set the following in the package Makefile:

	USE_TOOLS+=	msgfmt

To deal with message files that use the "msgid_plural" statement,
which isn't supported in NetBSD<=3.x and also in gettext<=0.10.35, we
determine if the built-in "msgfmt" is sufficiently new enough to
understand "msgid_plural".  If it isn't, then we use the msgfmt.sh
script to transform the msgid_plural statements to an equivalent
construct that's understood by older msgfmt tools.

The msgfmt.sh script is a straightforward translation of the original
perl script msgfmt.pl script by Julio M. Merino Vidal into shell and
awk, which are more lightweight dependencies than perl.

We remove the USE_MSGFMT_PLURALS bits in gettext-lib/builtin.mk as they
are made obsolete by the new code in mk/tools/msgfmt.mk.

BUILD_USE_MSGFMT is still supported but will be removed in a separate
commit.
2006-04-13 16:35:57 +00:00
jlam
530fe2b25a Better error-checking in the +INFO_FILES scriptlet:
(1) Don't claim to be adding and removing the info file if it does
    exist at all.

(2) Always try to create and remove the directory containing the "dir"
    index file to avoid failures.
2006-04-12 21:13:56 +00:00
joerg
4476e7eb89 Add INSTALL_GAME_DIR to complement INSTALL_GAME_DATA. The directories
are group-writeable by the games user on those platforms, where
GAMEMODE includes setgid. It defaults to PKGDIRMODE otherwise.
2006-04-12 21:01:15 +00:00
jlam
694478afb8 If the info file doesn't exist on the disk, we should still output an
entry for it in the final PLIST.  This allows us to locate info files
in the PLIST that aren't on the system during the CHECK_FILES stage.
2006-04-12 20:49:12 +00:00
reed
af62eac2f9 Rename the _PKGTOOLS_VER variable in the +BUILD_INFO to
PKGTOOLS_VERSION (since that is what it is).

Also add to the +BUILD_INFO the:
HOMEPAGE (also is in DESC)
CATEGORIES
MAINTAINER
DATE (using "+%Y-%m-%d %H:%M:%S %z")

This information will be included in the upcoming
pkg_info -X "summary" output.

(In my own pkgsrc, I have been recording the date and maintainer
for over two years.)
2006-04-12 19:28:47 +00:00
markd
b4a8455f21 Move MASTER_SITE_KDE to mk/bsd.sites.mk 2006-04-12 11:37:18 +00:00
tron
8e9056b23c Teach Kerberos 5 to detect the MIT Kerberos 5 bundled with Mac OS X.
This stops the "gnome-vfs2" package from pulling in the "heimdal" package.
This fixes PR pkg/29946 by Juha-Matti Liukkonen.
2006-04-10 15:04:44 +00:00
schwarz
6a99fbad5b Modified xmkmf support for Darwin and IRIX:
- on Darwin, pkgsrc no longer tries to set user or group when installing
  as unprivileged user, i.e. with UNPRIVILEGED set to yes.
- on IRIX (5 and 6) the system's xmkmf config files are no longer modified.
  Instead copies (that take priority with pkgsrc's xmkmf) are used for that
  purpose.
2006-04-10 13:38:36 +00:00
tron
346770d72d Correct typo in example Makefile snippet. 2006-04-10 12:25:43 +00:00
jlam
58140d4125 Correct comment on run-depends-list target (PR pkg/29741). 2006-04-10 04:47:30 +00:00
wiz
98d5a4af89 Remove ua locale dir again, it was a typo. 2006-04-09 12:37:01 +00:00
wiz
aa979a138f Add ua (Ukraine) locale dir for xchm-1.6. 2006-04-08 22:34:03 +00:00
wiz
42d56e7606 Add dz locale, used by glib2-2.10.2. 2006-04-08 21:12:04 +00:00
jdolecek
7a249b223a fix URL of first CZ postgresql mirror (directory structure changed) 2006-04-08 18:48:58 +00:00
jdolecek
2e457b55aa add MASTER_SITE_PGSQL, copy of list from databases/postgresql80/Makefile.mirrors 2006-04-08 18:47:31 +00:00
jlam
75228d481d If the package doesn't ask makeinfo, create a broken makeinfo tool
that will return non-zero if invoked as "makeinfo --version", but will
touch the output file if invoked blindly.  This should workaround some
stupidity in the way that automake-generated Makefiles try to determine
when and how to rebuild info files.
2006-04-07 14:52:55 +00:00
reed
52fddcdae5 For backwards compatibility ...
IGNORE_RECOMMENDED is deprecated and will be removed after 2006Q2 branch.
If YES then it sets USE_ABI_DEPENDS=no

(Forgot to commit earlier today.)
2006-04-07 00:29:52 +00:00
minskim
26e9732057 Support texmf-dirs. 2006-04-06 23:09:06 +00:00
jlam
1d415956a8 Resurrect INFO_DIR for another purpose -- if defined, it sets the
directory containing the "dir" file that is updated.  This allows
packages to install info files in one place but update the dir file
in a separate location.
2006-04-06 17:57:34 +00:00
reed
5abef9be14 Over 1200 files touched but no revisions bumped :)
RECOMMENDED is removed. It becomes ABI_DEPENDS.

BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.

BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.

BUILDLINK_DEPENDS does not change.

IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".

Added to obsolete.mk checking for IGNORE_RECOMMENDED.

I did not manually go through and fix any aesthetic tab/spacing issues.

I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.

I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.

As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.

As discussed on tech-pkg.

I will commit to revbump, pkglint, pkg_install, createbuildlink separately.

Note that if you use wip, it will fail!  I will commit to pkgsrc-wip
later (within day).
2006-04-06 06:21:32 +00:00
shannonjr
0faa421404 Change _GCC_DIST_VERSION from 3.4.5 to 3.4.6 to reflect update to
lang/gcc34.
2006-04-05 12:31:24 +00:00