Commit graph

5873 commits

Author SHA1 Message Date
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
jlam
7cc69019ce Create a new variable IGNORE_LIBTOOLIZE containing files which should
not be expanded by the plist module.
2006-04-05 05:54:01 +00:00
schmonz
426964eb67 Add and describe "ucspi-ssl-perl". 2006-04-02 17:45:18 +00:00
schmonz
a3289c2c8e Add DJB_BUILD_ARGS for DJB_SLASHPACKAGE packages that can make use
of them, such as net/ucspi-ssl.
2006-04-02 17:40:19 +00:00
jmmv
3cc1a46965 Add the ca_ES@valencian directory, initially used by gaim 2.0.0beta3. 2006-04-02 09:51:29 +00:00
grant
412c157a03 require libtool >=1.5.22nb3 for /bin/sh fix. 2006-04-01 23:27:49 +00:00
abs
527fb2c315 Add exim-lookup-pgsql and exim-lookup-sqlite - as provided by Geert
Hendrickx.
2006-04-01 22:02:19 +00:00
adrianp
eaf9b26786 Add sieve and imap options 2006-03-31 22:04:32 +00:00
salo
851fdf5b93 Describe hping-suid option. 2006-03-30 13:55:28 +00:00
jlam
9709330118 Drop support for INFO_DIR, which should now be replaced with PKGINFODIR. 2006-03-30 04:57:45 +00:00
jlam
833aaa4f40 Whitespace changes. 2006-03-30 03:03:52 +00:00
jlam
df10fbdf66 Skip symlinks without emitting warnings during PLIST creation as these
are harmless.
2006-03-30 03:02:40 +00:00
chris
00cec3783b Add and describe gpgme option, mail/sylpheed now passes pkglint. 2006-03-29 22:59:11 +00:00
joerg
88a346cbc7 Add an option (MKSUMMARY) to create pkg_chk index for binary-only updates
during mk/bulk/upload. Disabled by default.
2006-03-28 10:56:52 +00:00
jlam
ffdd852782 Remove an unsed script -- print-la-libnames was replaced with
plist/libtool-expand after the plist module was committed.
2006-03-22 22:51:53 +00:00
jmmv
6bbe74362d Add the pa_IN locale directory, initially used by the iso-codes 0.50
package (coming after the freeze).
2006-03-21 19:35:44 +00:00
jlam
6957d70e23 Strip trailing whitespace. 2006-03-20 23:20:37 +00:00
uebayasi
b79cc5ce5a postgresql81 has moved from wip to pkgsrc. 2006-03-20 14:48:45 +00:00
jlam
78c3fbd8fe Create a new variable EMACS_MODULES that is a list of "standard" elisp
modules that is required by the package.  The allowed modules are
"base" and "leim".  EMACS_USE_LEIM is deprecated and should be replaced
with EMACS_MODULES+=leim.
2006-03-20 05:24:33 +00:00
jlam
29fefe52e3 * Creates a new variable PKGINFODIR (named similarly to PKGMANDIR)
that is a purely user-settable variable to represent the relative
  path under ${PREFIX} where info files are stored and "dir" files
  are managed.  PKGINFODIR defaults to "info".  INFO_DIR still works,
  but will be obsoleted after the 2006Q1 branch.

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

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

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

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

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

* The check-files code is updated to skip all "dir" Info database files.
2006-03-20 01:48:57 +00:00
jlam
44b11e928c Modify the INSTALL script to allow for selective unpacking of a scriptlet. 2006-03-19 23:58:14 +00:00
jlam
766f664aef Teach the tools framework about "texi2html". 2006-03-19 23:40:07 +00:00
jdolecek
846e1b7945 ftp.fi.muni.cz mirrors GNU, CPAN and CTAN, add it to the appropriate
MASTER_SITE_* lists as a courtesy for Czech users
2006-03-19 13:12:53 +00:00
jlam
058ac2968b Remove leftover code sections guarded by _USE_PLIST_MODULE which was
mainlined long ago.
2006-03-18 21:40:44 +00:00
jlam
8679fd0ed3 Ensure that we invoke a brand new make when creating the INSTALL/DEINSTALL
and rc.d scripts so that we source the latest makevars.mk file and
get the latest set of cached variables.  This fixes problems where
BUILDLINK_PREFIX.* wasn't being expanded correctly when substituting
into an INSTALL script.
2006-03-17 18:22:30 +00:00
jlam
3a47f58511 Allow INSTALLATION_DIRS to contain absolute paths so long as they being
with ${PREFIX}.  This simplifies re-using variables that contain full
paths.
2006-03-17 08:02:41 +00:00
jlam
ac1b7b84dd Teach the tools framework about "makedepend", supplied by the imake
packages.
2006-03-16 22:31:59 +00:00
jlam
47283bca00 Always run the pkginstall framework targets to generate the
INSTALL/DEINSTALL and rc.d scripts, regardless of whether NO_BUILD is
defined or not.

We do this by renaming the main "build" target to "_build", and creating
a new "build" target that has "_build" and "pkginstall" as dependencies.
This allows the "build" and "install" targets to be consecutive, so
no changes in behavior are visible to the user.

Because the pkginstall targets are no longer run within the protection
of the locks during the build phase, we need to manage locking within
a new "pkginstall" target.
2006-03-15 16:20:11 +00:00
jlam
ce8c6b5c7a Back out previous... it was part of some larger changes that were never
committed and I got ahead of myself.
2006-03-15 14:06:09 +00:00
jlam
d4ca1fbd6b Rototill of how the various template parts of the INSTALL and DEINSTALL
scripts are generated.  The various scriptlets in pkgsrc/mk/install
are now full templates that can be combined to form the INSTALL and
DEINSTALL scripts.  All of the templates have either leading or trailing
blank lines so that when they are concatentated, the full INSTALL and
DEINSTALL scripts will still be easy to read.

All of the generated template sources for the INSTALL and DEINSTALL
scripts are now stored in ${WRKDIR}/.pkginstall for local consistency
and have been renamed so that they are not dot-files.

The "data" for the +* scriptlets are now generated in a separate step
and instead of being appended to the unpacked scriptlet are now appended
to the INSTALL script itself.  When the scriptlets are unpacked, the
corresponding data lines for each scriptlet are pulled out of the
INSTALL script and put into the unpacked scriptlets.  This makes it
easy to append more data lines during the install phase without needing
to regenerate the INSTALL script.
2006-03-15 04:52:57 +00:00
jlam
56082f039b Properly rename "info" to ${INFO_DIR} in any @dirrm statements. Also
add a guard so that we don't re-expand any "info" in ${INFO_DIR} again.
2006-03-14 23:16:01 +00:00
jlam
934c43ebc6 We can always pass --infodir to configure scripts, regardless of whether
or not there are info files to be installed.
2006-03-14 17:24:34 +00:00
jlam
e9045e1673 Teach the plist framework a new variable IGNORE_INFO_DIRS that is a
list of ${PREFIX}-relative paths of directories that do *not* contain
info files.  This allows avoiding the auto info-file-entry munging
that occurs for all PLIST entries that are in directories named "info".
2006-03-14 17:14:47 +00:00
jlam
e7f393b63b Sort _PLIST_AWK_ENV. 2006-03-14 16:54:28 +00:00
jlam
495bdf8ee8 Restructure pattern-actions a bit so that we're not lumping everything
into the last action.  This makes it easier to understand the flow.
2006-03-14 15:32:18 +00:00
tron
da6eed48b7 Sync variable names in comments with recent changes to install framework. 2006-03-14 11:19:57 +00:00
jlam
daad0f3d6c Modify the pkginstall framework so that it manages all aspects of
INSTALL/DEINSTALL script creation within pkgsrc.

If an INSTALL or DEINSTALL script is found in the package directory,
it is automatically used as a template for the pkginstall-generated
scripts.  If instead, they should be used simply as the full scripts,
then the package Makefile should set INSTALL_SRC or DEINSTALL_SRC
explicitly, e.g.:

	INSTALL_SRC=	${PKGDIR}/INSTALL
	DEINSTALL_SRC=	# emtpy

As part of the restructuring of the pkginstall framework internals,
we now *always* generate temporary INSTALL or DEINSTALL scripts.  By
comparing these temporary scripts with minimal INSTALL/DEINSTALL
scripts formed from only the base templates, we determine whether or
not the INSTALL/DEINSTALL scripts are actually needed by the package
(see the generate-install-scripts target in bsd.pkginstall.mk).

In addition, more variables in the framework have been made private.
The *_EXTRA_TMPL variables have been renamed to *_TEMPLATE, which are
more sensible names given the very few exported variables in this
framework.  The only public variables relating to the templates are:

	INSTALL_SRC		INSTALL_TEMPLATE
	DEINSTALL_SRC		DEINSTALL_TEMPLATE
				HEADER_TEMPLATE

The packages in pkgsrc have been modified to reflect the changes in
the pkginstall framework.
2006-03-14 01:14:26 +00:00
heinz
b267575b0d Replaced option "spamassassin-test-net" by generic option "online-tests".
Adapted the single quotation marks in option spamassassin-test-prefork to the
commonly used double quotation marks.
2006-03-13 21:22:33 +00:00
jlam
07b5aff6cb Makefiles that include oss.buildlink3.mk can now check the value of
OSS_TYPE to determine whether or not a native OSS implementation is
present or not.  OSS_TYPE just exports the value of IS_BUILIN.oss, but
exports it early enough where it can be used within a package Makefile,
e.g.:

	.include "../../mk/oss.buildlink3.mk"
	.if ${OSS_TYPE} == "none"
	CONFIGURE_ARGS+=	--without-oss
	.endif

This should fix builds of some packages that include "oss.buildlink3.mk"
on platforms where there is no OSS in the base system, e.g. Mac OS X
and Solaris.
2006-03-13 16:10:15 +00:00
rillig
3ef535342c Added the variable PHASE_MSG, STEP_MSG, WARNING_MSG and ERROR_MSG to
facilitate the generation of consistent-looking progress messages.
2006-03-12 14:55:18 +00:00
uebayasi
303a92842d +zsh-multibyte 2006-03-11 13:22:08 +00:00
uebayasi
9062d05971 Export EMACS_VERSION_MAJOR and EMACS_VERSION_MINOR to packages using emacs.mk. 2006-03-11 06:23:20 +00:00
reed
57f2744103 BUILD_DEPENDS on gettext-tools not gettext for BUILD_USES_MSGFMT. 2006-03-11 04:01:27 +00:00
jlam
5ce2fd1e99 Cosmetic change: reorder some lines locally to make it easier for me
to understand.
2006-03-10 23:36:08 +00:00
jlam
509cd276cf Expose fewer knobs for a user to tweak by making more variables private. 2006-03-10 23:33:57 +00:00
jlam
94bbce9371 Correct the path to the bsd.prefs.mk file and move it to the proper
location in a buildlink3.mk file.
2006-03-10 22:33:24 +00:00
jlam
6f31a709ac Don't define DEINSTALL_FILE or INSTALL_FILE if the corresponding *_SRC
variables are empty.
2006-03-10 22:23:02 +00:00
tonio
5371ea65c7 replace-interpreter should use REPLACE_FILES.${lang} instead of
_REPLACE_FILES.${lang}
2006-03-10 11:02:00 +00:00
wiz
0bba29e2ac Include bsd.prefs.mk before testing ${OPSYS}. 2006-03-10 07:31:32 +00:00
jlam
11d32442f2 Make it safe to include bsd.pkginstall.mk directly in bsd.pkg.mk, and
drop pkginstall.mk, which did the same thing.  Also, rework some of
the targets so that we avoid needing to inspect *_MEMBERS variables
within make -- we defer the check to the shell code invoked by the
targets.

All changes are internal and don't affect existing packages in a
visible way.
2006-03-09 23:31:51 +00:00
jlam
6ad6aef9d4 Replace references to ossaudio.buildlink3.mk with oss.buildlink3.mk.
Remove deprecated ossaudio.buildlink3.mk.
2006-03-09 21:04:39 +00:00
tonio
89bf1216c8 mention SUSE_PREFER=10.0 in coments (but keep 9.1 as default) 2006-03-09 20:44:45 +00:00
jlam
dc0ed7d769 Reimplement OSS audio handling in pkgsrc. Add two new files:
oss.buildlink3.mk
	oss.builtin.mk

that work like modern buildlink3.mk and builtin.mk files do.  We no
longer support audio/oss (which will be removed shortly).  Mark
ossaudio.buildlink3.mk for deprecation after all references to it
have been replaced with "oss.buildlink3.mk" in package Makefiles.
2006-03-09 20:23:13 +00:00
jlam
ddf2e29cda Check that INFO_FILES is defined before using its value. Fixes PR pkg/33043. 2006-03-09 16:39:39 +00:00
rillig
1b68c0a8f7 Since the REPLACE_INTERPRETER is used in more and more packages, it is
not good style to make the package author define variables from the
pkgsrc-internal namespace. The variables REPLACE.* and REPLACE_FILES.*
can now be used as replacements for _REPLACE.* and _REPLACE_FILES.*.
Support for the old variable names will be removed after 2006Q2.
2006-03-09 15:58:10 +00:00
jlam
51cac88fb9 Reimplement the info-file handling so that we use an +INFO_FILES
scriptlet to manage the info-file registration.  The new scriptlet's
template is install/info-files.  Remove obsolete texinfo.mk and
install/install-info.

No changes to package Makefiles are necessary -- the re-implementation
is internal to pkgsrc infrastructure.
2006-03-09 00:20:27 +00:00
minskim
732edfe9b5 Teach the tools framework about Darwin's tclsh and wish. 2006-03-08 21:18:43 +00:00
minskim
5f391d7eae Set LOWER_OPSYS_VERSUFFIX on Darwin. 2006-03-08 01:56:46 +00:00
reed
242b073d74 For the user or group removal message, don't set they can be removed
if no other packages are using them, but if no other "software" is using
them. Just in case, they are using a user and/or group without a package
using it.
2006-03-07 20:31:17 +00:00
jlam
2d8270de7f Teach the tools framework how to supply a pkgsrc version of install-info
if a native one isn't available.  We ensure that the "install-info"
tool in the tools directory is a no-op since the real info file
registration is handled by the INSTALL/DEINSTALL script in
pkgsrc/mk/pkginstall/install-info.
2006-03-06 05:25:45 +00:00
jlam
ee70645e5a It's probably "/bin/makeinfo", not "/usr/bin/makeinfo". 2006-03-05 18:12:52 +00:00
jlam
6e0c050321 * Teach the tools framework how to supply the pkgsrc version of
makeinfo if no native makeinfo executable exists.  Honor TEXINFO_REQD
  when determining whether the native makeinfo can be used.

* Remove USE_MAKEINFO and replace it with USE_TOOLS+=makeinfo.

* Get rid of all the "split" argument deduction for makeinfo since
  the PLIST module already handles varying numbers of split info files
  correctly.

NOTE: Platforms that have "makeinfo" in the base system should check
      that the makeinfo entries of pkgsrc/mk/tools.${OPSYS}.mk are
      correct.
2006-03-05 16:27:22 +00:00
jlam
b441b074cb Handle info directory trees that aren't rooted directly in ${PREFIX}, e.g.
${PREFIX}/<pkg>/info, etc.
2006-03-04 22:06:03 +00:00
jlam
9c8b5ede43 Point MAINTAINER to pkgsrc-users@NetBSD.org in the case where no
developer is officially maintaining the package.

The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list).  Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
2006-03-04 21:28:51 +00:00
rh
a3aaea7dfe Remove planetmirror as a gnustep mirroring site. 2006-03-04 00:04:38 +00:00
joerg
530f1cacf5 Make GNU_CONFIGURE_PREFIX the default prefix for GNU_CONFIGURE_MANDIR
and GNU_CONFIGURE_INFODIR. Add the latter for symmetry.
2006-03-02 19:15:37 +00:00
rxg
f02cc5338d tweak. 2006-02-27 12:14:50 +00:00
ghen
0e74f8adf3 Remove description and default for the obsolete PURE_* variables. 2006-02-24 10:14:36 +00:00
tron
7aab4e005f Only add "fonts.(alias|dir|scale)" to "CHECK_FILES_SKIP" if a package
is using "pkginstall.mk" to handle font installation.

This fixes one of the many false positives created by "CHECK_FILES",
in this case affecting the "xservers" package.
2006-02-23 14:38:07 +00:00
wiz
e643466c5d Add man/ru/*. 2006-02-22 21:42:05 +00:00
wiz
5daaa98485 Drop trailing whitespace. 2006-02-22 21:38:55 +00:00
rillig
c68eda5945 Instead of passing only the path to the tools to CONFIGURE_ARGS, pass
the complete command. This fixes problems when EGREP is defined as "grep
-E" instead of "egrep".
2006-02-21 17:39:32 +00:00
adrianp
28554c4f65 Add .tar.bz support 2006-02-19 15:38:23 +00:00
rillig
7db088da96 Added SITES.${foo} as an alias for SITES_${foo}. The latter will be
deprecated after the 2006Q1 branch.
2006-02-18 15:37:22 +00:00
wiz
aad076d3ad Remove deprecated and now unused file. 2006-02-18 10:02:36 +00:00
wiz
84df0e4aa1 Remove type1inst log file; improve empty dir detection;
needed by fonts/intlfonts, ok@ jlam.
2006-02-17 19:32:48 +00:00
wiz
177382d089 Fix typo in type1inst depends line. 2006-02-17 19:31:33 +00:00
wiz
5db18ae16b Add nl_BE and sv_SE locale dirs for gourmet. 2006-02-16 18:14:45 +00:00
abs
76428b00f5 mirrors.cloud9.net seems unreliable - drop down the list of MASTER_SITE_PERL_CPAN 2006-02-16 11:19:17 +00:00
reed
b7ba80cac2 DragonFly has native /usr/bin/gtar so add TOOLS_PLATFORM.gtar. 2006-02-15 20:02:30 +00:00
rillig
bca88fe217 Only write the terminating HTML code to the ${_BROKENFILE} if the
package is really broken.
2006-02-13 14:55:26 +00:00
rillig
efd0e15ce9 The security/kth-krb4 package does not install bin/ftp anymore (since
February 2004), so it doesn't conflict with bootstrap-pkgsrc.
2006-02-12 05:00:33 +00:00
rillig
d9f528e7fb Added "pre-build>" identifier to two echo commands. 2006-02-11 23:54:25 +00:00
rillig
5258ae8fb8 Renamed the `restart'' variable to `resume'', as that is what the
variable does.
2006-02-11 21:44:16 +00:00
rillig
c04d1cf1cf Fixed double quoting of _BROKENWRKLOG. 2006-02-11 11:46:41 +00:00
ross
239c3f6d14 When returning "..is not an acceptable TeX version.." also identify
which version(s) _are_ acceptable.
2006-02-11 03:00:11 +00:00
jlam
aba46732d5 Teach the tools framework about various gettext-tools: gettext, msgfmt,
and xgettext.  These are supplied by devel/gettext-tools if not present
in the base system.
2006-02-11 00:23:24 +00:00
wiz
dbe9cfb6a4 Add es_NI locale, for gnucash-devel. 2006-02-10 17:43:31 +00:00
rillig
cf9992988e A small step in the direction of valid HTML for the build log files. 2006-02-10 12:21:16 +00:00
shannonjr
b9b7e90faa Bump '_GCC_DIST_VERSION' to '3.4.5' to match lang/gcc34 2006-02-10 11:26:41 +00:00
rillig
91f9cc1a62 Indented the variable definitions more consistently. 2006-02-10 10:41:58 +00:00
wiz
5ded6b1c5a Describe libofx option. 2006-02-09 21:45:39 +00:00
rillig
d846e3c2b5 When in "set -e" mode, the Solaris /bin/sh exits when "cd" fails, even
if it occurs as the condition of a "while" or "if", or in combination
with && or ||. This, of course, introduces a race condition if someone
removes the directory between the two "cd"s. The result would be that
the bulk build terminates, but that's not a big issue, as in this case
there must be something much more severely broken.
2006-02-07 21:34:48 +00:00
jlam
15d65cd972 Info pages don't always end in ".info" as noted in PR pkg/32699. Fix the
PLIST handling based on the suggestion in the PR by Johan Danielsson.
This restores the behavior from the old PLIST code.
2006-02-07 19:18:42 +00:00
jlam
8651991fd4 Fix typo in comment. 2006-02-07 18:43:02 +00:00
jlam
4ed0831994 Provide default values for various variables if they're not present in
the shell environment array ENVIRON.
2006-02-07 18:42:38 +00:00
tv
239bd12708 Set required libtool version to 1.5.22nb1, to skip regression issue in the
original 1.5.22 package.
2006-02-06 18:58:33 +00:00
rillig
cd3132099e warning: escape sequence \.' treated as plain .' 2006-02-05 16:21:07 +00:00
rillig
b723cdb4c4 plist-info.awk:80: warning: escape sequence \.' treated as plain .' 2006-02-05 16:12:56 +00:00
rillig
3297636963 - Added "set -e" at the top of the file to prevent uncontrolled execution.
- Added "set -u" at the top of the file to prevent spelling errors.
- Renamed UNZIP to UNZIP_CMD, since that is used by the rest of pkgsrc.
- Found a singleton use of $extract_options and replaced it with
  ${EXTRACT_OPTS_LHA}.
- Took the default assignment for TMPDIR out of the block. All other
  entries are tools.
- Removed unnecessary variables.
- Make sure that distfile can always be resolved, even if the current
  working directory is changed.
- Provide default values for all EXTRACT_OPTS_* variables, as close as
  possible to the point where they are used.
- Replaced all "$@" with ${1+"$@"} to avoid errors when no parameters are
  given.
- Made the removal of the temporary file for .tar extraction more robust.
2006-02-04 18:06:47 +00:00
rillig
09e7dbca5e Added the KEEP_BUILDLOGS variable. If it is set to "yes", the build logs
of successful builds are not removed, only renamed. This variable will
be useful for examining the warnings that appear during the bulk builds
but are thrown away because the package builds fine. This feature is
experimental and thus not enabled by default.
2006-02-04 01:08:25 +00:00