Commit graph

1951 commits

Author SHA1 Message Date
rillig
74ae2eeea9 Rewrote the _PATH_CMD command, which could not handle a PATH environment
variable before if it had multiple adjacent white-space characters in
it. Removed the dependency on awk(1), as a simple shell script can do
this job, too. Another change is that all kinds of weird pathnames can
be used for PREPEND_PATH, like /bin, "/bin/Program Files", "/     ",
/foo\ bar, and so on. This had not been possible before, too.

Related to PR 32079.

Ok'ed by jlam.
2005-11-15 21:21:01 +00:00
gavan
4cdf73d5ca make install doesn't work when updating pkg_install. Recommend make update
instead.
2005-11-15 18:03:40 +00:00
rillig
b50cd76352 Allow white-space in the PATH environment variable. Fixes PR 32079. The
shell quoting still isn't completely correct for some other variables.
This needs to be fixed, too.
2005-11-15 16:29:10 +00:00
rillig
b6a86c162f Removed trailing white-space. 2005-11-14 04:41:17 +00:00
tv
5a59befb3d Use lt_cv_sys_max_cmd_len in devel/libtool-base, too. 2005-11-09 18:42:32 +00:00
wiz
12f7a2cc85 Use new automatic flag; depend on appropriate pkg_install version. 2005-11-05 13:31:43 +00:00
rillig
8a3109674e Made the dependency directory check a little stricter. In the worst case
this could produce extra warnings. It does not affect the rest of the
build process at all.
2005-11-05 09:37:10 +00:00
rillig
c0a96d5c06 The last fix did not work. Completely reverted the unintended part of
the last changes.
2005-11-04 21:26:19 +00:00
rillig
b85f8bc360 Replaced "done" with "esac" to fix a syntax error. 2005-11-04 20:52:38 +00:00
jlam
290846b86d Relax rules a bit on INSTALLATION_DIRS -- we still enforce that
directories listed in INSTALLATION_DIRS are created in ${PREFIX}, but
it's now okay to include ${PREFIX} at the front of each, directory,
e.g. this is now okay:

	INSTALLATION_DIRS+=	${PREFIX}/bin

Makes using this variable a bit less unwieldy sometimes.
2005-11-04 20:36:42 +00:00
jlam
27daa6762a back out part of previous commit that was unintended. 2005-11-04 20:28:47 +00:00
jlam
8ab0dedc95 Use ${SLEEP} instead of sleep, and note that we use the sleep tool if
we're doing locking.
2005-11-04 20:06:14 +00:00
rillig
87cb035b9e Now that all packages using CONFIGURE_DIRS have been checked (and
modified) to not rely on this change, the default value of BUILD_DIRS
can be set to ${CONFIGURE_DIRS} instead of ${WRKSRC}. There are far more
packages setting CONFIGURE_DIRS and BUILD_DIRS to the same value than
there are packages needing different values, so this default seems more
reasonable. Now the default values are:

CONFIGURE_DIRS?=	${WRKSRC}		# (unchanged)
BUILD_DIRS?=		${CONFIGURE_DIRS}
INSTALL_DIRS?=		${BUILD_DIRS}		# (unchanged)
2005-11-04 11:27:41 +00:00
rillig
214f327f1b Removed the unused variable GNU_CONFIGURE_INFODIR, as suggested by
Stoned Elipod.
2005-11-02 18:32:19 +00:00
rillig
c6348f404b Changed back the default values for GNU_CONFIGURE_{INFO,MAN}DIR to what
they had been before my last change. I had thought it would be more
intuitive if they were based on GNU_CONFIGURE_PREFIX instead of PREFIX,
but this might break some packages.
2005-10-31 09:50:44 +00:00
rillig
1b6c14947f Added two new variables, GNU_CONFIGURE_INFODIR and GNU_CONFIGURE_MANDIR.
Up to now, a package that wanted to use a different location for
--mandir had to first define CONFIGURE_HAS_MANDIR=no and then
CONFIGURE_ARGS+=--mandir=${...}, which looks weird. Now it only has to
set GNU_CONFIGURE_MANDIR.
2005-10-31 09:42:19 +00:00
wiz
d31a568858 Use correct (internal) variable for pkg_add arguments. 2005-10-24 23:23:00 +00:00
rillig
a79249a753 Use $${foo} instead of $$foo to prevent ident(1) from reporting false
positives. No functional changes.
2005-10-24 18:28:42 +00:00
minskim
2ee4956c8b Pass PKG_REQD through shell environment, instead of arguments of make,
so that a dependent package can override it properly.  This makes
INSTALL_MAKE_FLAGS work when a package is installed as a dependency.
2005-10-23 16:58:42 +00:00
tv
38e53d7c11 Use show-vars-eval in show-needs-update. 2005-10-16 17:48:24 +00:00
tv
c46824e8da Add "show-vars-eval" target, which outputs eval-able shell expressions
to allow easy setting of multiple variables in one invocation.
2005-10-16 17:44:45 +00:00
reed
899ff50d6a For INSTALLATION_DIRS, use ${PKGMANDIR} instead of "man".
Also before it used a wildcard for *man and now get rid of that
wildcard in front.
2005-10-10 17:37:17 +00:00
rillig
7102a2e633 CONFIGURE_DIRS, BUILD_DIRS, TEST_DIRS and INSTALL_DIRS are interpreted
relative to ${WRKSRC}. This makes it possible to shorten definitions
like "BUILD_DIRS=${WRKSRC}/foo ${WRKSRC}/bar" in package Makefiles to
"BUILD_DIRS=foo bar". Almost all current uses of those directories are
given as absolute directories (mostly in the form ${WRKSRC}/foo), which
will work as they did before.
2005-10-08 13:16:28 +00:00
rillig
26cc823fb4 Renamed HTML_PKGNAME to _HTML_PKGLINK, which describes its contents more
precisely. Added _HTML_PKGNAME and _HTML_PKGPATH variables for better
readability. Fixed quoting style in print-summary-data.
2005-10-07 17:39:28 +00:00
rillig
1855c76620 Replaced some if's with case's to make the code simpler. Merged
multiple ${ECHO_N} into one ${ECHO}.
2005-10-07 16:57:14 +00:00
reed
f2979429c1 For print-PLIST generation, make sure that ${PKGMANDIR} becomes "man". 2005-10-06 15:25:47 +00:00
seb
a978535e92 whitespace police. 2005-10-04 20:50:49 +00:00
reed
77b8a236ae Add PKGMANDIR in the MAKE_ENV.
(Previously in my own pkgsrc I had done this in
various individual makefiles.)
2005-10-04 17:43:57 +00:00
reed
4d913ad2d9 Remove accidental extra space.
And also fix four places using spaces instead of a tab to be consistent.
(For some reason my cvs diff didn't show anything though.)
2005-10-04 17:33:44 +00:00
reed
15356d0dfb Add custom PKGMANDIR setting to mk/defaults/mk.conf. This is a
pathname relative to ${PREFIX} of directory holding the manual pages
and man directories. I have been using this for over two years.

This defaults to "man" so no change.

If using GNU_CONFIGURE then set --mandir.  (Unless CONFIGURE_HAS_MANDIR
is no because some old GNU configure scripts are too old. This is
similar to existing CONFIGURE_HAS_INFODIR.)

Add PKGMANDIR to PLIST_SUBST.  Add plist awk pattern-action statement
to convert man/ to ${PKGMANDIR}/. (This might need to be double checked
for some PLISTs that prefix some custom settings in front. qmail
used to do this, but now I see it does not.)

When "Decompressing manual pages" convert man/ also.

I have several other changes to commit for individual packages.

I chose not to modify the INSTALL_MAN or INSTALLATION_DIRS
to also convert man/ to PKGMANDIR/ because I thought this may
make it more confusing. So instead, I modify the individual
uses of these instead. (Todo: modify pkglint to check for this?)

(agc@ of the pkgsrc-pmc asked me to make these changes.)
2005-10-04 17:27:00 +00:00
reed
8f1da2c3e0 In man page routines, match the "cat" sub-directories
for cat pages having "[0-9]" suffixes instead of just "0".
Some systems install cat pages with suffix number same as the cat
section number.

(This has been in my pkgsrc tree for probably a couple years,
but looking today, I do see man/cat1/ftp.1 on one of my systems.)
2005-10-04 16:45:25 +00:00
rillig
5ebf566f7d Added a variable LICENSE_FILE that may be set to point to the license
file of the package. It does _not_ replace the LICENSE variable. The
variable is currently only used in the show-license target. It is
intended that LICENSE_FILE is used for licenses that only apply to a
single package or a package group, so that the number of licenses in the
licenses/ directory is kept small.
2005-09-28 08:24:52 +00:00
jlam
fe848c1105 Remove the CHECK_FILES bits during deinstall so that they are regenerated
from scratch during a reinstall.  This makes CHECK_FILES more useful when
debugging packages with broken PLISTs.
2005-09-16 06:09:02 +00:00
xtraeme
e07a2c7d8b _RESUME_TRANSFER: only try to get the value of the temp file when it's
available.
2005-08-26 14:47:30 +00:00
jlam
f1e3e67038 INSTALLATION_DIRS implies NO_MTREE: If a package sets INSTALLATION_DIRS,
then it's known to pre-create all of the directories that it needs at
install-time, so we don't need mtree to do it for us.
2005-08-18 19:24:15 +00:00
jlam
9dcc7aa6ed Fix an annoying whitespace issue for 80 character-width displays. 2005-08-15 17:35:45 +00:00
rillig
60e46baa8e In print-pkg-size-this, initialize s before summing up all file sizes. This
results in "0" being printed for empty packages, which had been "" before.
Fixes PR 30955.
2005-08-15 13:05:18 +00:00
rillig
fee89c334d Reverted the change from revision 1.1710, which sorted all DEPENDS and
BUILD_DEPENDS alphabetically. Some packages depend on the
first-come-first-serve order.
2005-08-14 19:52:26 +00:00
kristerw
493773dd73 The check-files-post need to be done before post-install-script,
to prevent errors from pacakes using e.g. CONF_FILES.
2005-08-14 17:26:13 +00:00
kristerw
7af58065d9 Move the check-files-post check so that it is done after the automatic
manual page handling.  This prevents the check from reporting errors
for manpages that are (un)compressed by the automatic manual page handling.
2005-08-10 18:21:07 +00:00
veego
51a055db51 Restore the @(..)s which were removed in rev 1.1706.
They are needed in the fetch-list case to prevent outputting anything if
the distfile is allready in $DISTDIR.
2005-08-08 15:38:19 +00:00
rillig
4b97388467 Sort the dependencies list alphabetically when checking if they are
installed. That makes it easier to check if a specific package is listed
or not.
2005-07-22 18:59:55 +00:00
jlam
4032855bac Override the INSTALL setting in sys.mk that messes up the rest of the
logic in the tools framework.
2005-07-17 04:17:09 +00:00
jlam
3e474a90d8 Get rid of USE_PERL5. The new way to express needing the Perl executable
around at either build-time or at run-time is:

	USE_TOOLS+=	perl		# build-time
	USE_TOOLS+=	perl:run	# run-time

Also remove some places where perl5/buildlink3.mk was being included
by a package Makefile, but all that the package wanted was the Perl
executable.
2005-07-16 01:19:06 +00:00
jlam
bf9129c41e Drop distinction between PKGSRC_USE_TOOLS and USE_TOOLS by making
PKGSRC_USE_TOOLS go away.  There is now only a single USE_TOOLS variable
that specifies all of the tools we need to build/run the package.
2005-07-15 18:27:48 +00:00
reed
c3c7946905 For the fetch-list target: Do not use mkdir if just creating a shell
script that will make the directory later. This fixes the problem
where it fails when doesn't have write access -- for example use
"make fetch-list" to create the shell script to use on another
system.

Thank you, Geert Hendrickx, for your feedback.

Also in a few places echo ${fetchfile:T} instead of ${fetchfile}.

(Todo: maybe should not say "not fetched" until has tried all sites.)
2005-07-06 05:52:34 +00:00
rillig
8506e905d6 pkglint does not output any "OK" lines by default, so there's no need to
filter them out.
2005-06-27 16:25:43 +00:00
wiz
2baa8b4a15 Improve English in warning. From Rhialto in PR 30610. (second occurrence) 2005-06-27 13:34:41 +00:00
wiz
6328437570 Improve English in warning. From Rhialto in PR 30610. 2005-06-27 13:33:55 +00:00
jlam
6efbd72779 Clean up some clutter in pkgsrc/mk: move the ${OPSYS}.*.dist mtree
files into mk/platform, where they now live with the ${OPSYS}.mk files.
2005-06-23 18:41:57 +00:00
wiz
085d1a2044 Back out previous -- committed by mistake. 2005-06-23 12:12:11 +00:00
wiz
e95f3821fb Add missing line continuation backslashes.
Noted by Jukka Salmi.
2005-06-23 12:11:07 +00:00
jlam
5d1e8de6bc Split out the check-wrkref implementation and related variables from
bsd.pkg.mk into bsd.pkg.check.mk file.
2005-06-23 09:02:46 +00:00
jlam
6ae4606464 Split out the check-files implementation and related variables into
a new bsd.pkg.check.mk file.  This new file will eventually collect
all of the various "check" targets that are run at install-time.
While here, change the implementation of check-files so that it is
not so monolithic.

Change the meaning of the CHECK_FILES variables so that if it's not
"no", then the file checks are run.  Also, allow these checks to be
run if the user explicitly sets CHECK_FILES in /etc/mk.conf, even if
PKG_DEVELOPER is not defined.
2005-06-23 08:31:20 +00:00
jlam
8d486b1ebd Reverse the checks for the value of CHECK_WRKREF so that if it's value
isn't "no", then we run the checks.  This allows for possibly making
CHECK_WRKREF a more multi-valued option or list in the future.
2005-06-23 04:15:47 +00:00
jlam
ccd8fe4d4c Allow the test for whether the file is a text file to be overridden via
CHECK_WRKREF_IS_TEXT_FILE.
2005-06-14 22:02:00 +00:00
jlam
1ffcef48db In the check-wrkref target, change the algorithm so that text files
are checked for ${WRKDIR}, but all files are checked for ${TOOLS_DIR}
(assuming that ${TOOLS_DIR} is in ${WRKDIR}).  Also, let CHECK_WRKREF_PKG
set the name of the package to check.
2005-06-13 02:25:50 +00:00
jlam
df53a167da Add a default fall-through for the shell case statement (portability
issue).
2005-06-11 04:26:17 +00:00
jlam
d8e783d924 check-wrkref is a make target that greps through the installed files
for a package and looks for references to the build directory.  If
any such references are found and PKG_DEVELOPER is defined, then exit
with an error.  This target is automatically run after a package is
installed if CHECK_WRKREF is "yes".  The default value for CHECK_WRKREF
is "no".

You can specify certain files to be skipped during the check by setting
CHECK_WRKREF_SKIP to a list of shell globs.  Installed files that
match these globs are skipped when running the check-wrkref target.

The original implementation was from Dan McMahill sent to me in private
email.  I've added a few more bells and whistles for this commit.  This
target will be helpful for catching any unwrapped files or mis-embedded
tool paths.
2005-06-10 23:38:00 +00:00
jlam
29ef35e288 General improvements to the changes-entry target:
* Improve the documentation.
* Avoid running commands during Makefile processing by using the :sh
  modifier instead of defining variables using !=
* Add a new variable PKGSRC_CHANGES that holds the path to the CHANGES
  file to be modified.
* Use ${ID} and ${DATE}, which are provided by the tools framework and
  avoid PATH issues.
2005-06-09 16:26:23 +00:00
jlam
94f3443509 Don't reinvent PKGPATH, which already contains just the "category/package"
portion of the path.
2005-06-09 16:09:58 +00:00
jlam
1ad3a3bdd6 Add a documentation block above the changes-entry target. 2005-06-09 16:08:27 +00:00
wiz
16b3e5b4cc Delay running of id until it is needed. Fixes PR 30477 by Neil Hoggarth. 2005-06-09 10:09:58 +00:00
wiz
c209ba29cb Add changes-entry target, which adds an entry for the current package
into pkgsrc/doc/CHANGES.
The type of the entry depends on what CTYPE is set to, which defaults
to "Updated".  Other possible values are "Added", "Renamed", "Moved",
and "Removed". An example usage would be:
	cd /usr/pkgsrc/category/package
	make changes-entry CTYPE=Added
after you added a new package, and similar for the others.
If NETBSD_LOGIN_NAME is not set in /etc/mk.conf, it defaults to
your local login name.
2005-06-08 22:44:08 +00:00
rillig
e3aa46eedc Added a leading underscore to the names of the *_COOKIE variables, as they
are not part of the public interface.
2005-06-04 20:56:47 +00:00
jlam
a741f4ed26 Back out revision 1.1684. MAKEFLAGS was being propagated incorrectly
through to dependencies, which caused dependencies to have improper
lists of tools required.

XXX This whole mess with MAKEFLAGS and which ones are passed along when
XXX running the install-depends target needs to be fixed for real.
2005-06-03 20:22:59 +00:00
jlam
95fd1f6ec9 Massive cleanup of buildlink3.mk and builtin.mk files in pkgsrc.
Several changes are involved since they are all interrelated.  These
changes affect about 1000 files.

The first major change is rewriting bsd.builtin.mk as well as all of
the builtin.mk files to follow the new example in bsd.builtin.mk.
The loop to include all of the builtin.mk files needed by the package
is moved from bsd.builtin.mk and into bsd.buildlink3.mk.  bsd.builtin.mk
is now included by each of the individual builtin.mk files and provides
some common logic for all of the builtin.mk files.  Currently, this
includes the computation for whether the native or pkgsrc version of
the package is preferred.  This causes USE_BUILTIN.* to be correctly
set when one builtin.mk file includes another.

The second major change is teach the builtin.mk files to consider
files under ${LOCALBASE} to be from pkgsrc-controlled packages.  Most
of the builtin.mk files test for the presence of built-in software by
checking for the existence of certain files, e.g. <pthread.h>, and we
now assume that if that file is under ${LOCALBASE}, then it must be
from pkgsrc.  This modification is a nod toward LOCALBASE=/usr.  The
exceptions to this new check are the X11 distribution packages, which
are handled specially as noted below.

The third major change is providing builtin.mk and version.mk files
for each of the X11 distribution packages in pkgsrc.  The builtin.mk
file can detect whether the native X11 distribution is the same as
the one provided by pkgsrc, and the version.mk file computes the
version of the X11 distribution package, whether it's built-in or not.

The fourth major change is that the buildlink3.mk files for X11 packages
that install parts which are part of X11 distribution packages, e.g.
Xpm, Xcursor, etc., now use imake to query the X11 distribution for
whether the software is already provided by the X11 distribution.
This is more accurate than grepping for a symbol name in the imake
config files.  Using imake required sprinkling various builtin-imake.mk
helper files into pkgsrc directories.  These files are used as input
to imake since imake can't use stdin for that purpose.

The fifth major change is in how packages note that they use X11.
Instead of setting USE_X11, package Makefiles should now include
x11.buildlink3.mk instead.  This causes the X11 package buildlink3
and builtin logic to be executed at the correct place for buildlink3.mk
and builtin.mk files that previously set USE_X11, and fixes packages
that relied on buildlink3.mk files to implicitly note that X11 is
needed.  Package buildlink3.mk should also include x11.buildlink3.mk
when linking against the package libraries requires also linking
against the X11 libraries.  Where it was obvious, redundant inclusions
of x11.buildlink3.mk have been removed.
2005-06-01 18:02:37 +00:00
jlam
d811860c7b *.makevars.mk doesn't exist until after ${WRKDIR} is created, which
doesn't happen until after the package is extracted.  Prior to
extraction, cache the variables named in MAKEVARS using MAKEFLAGS
instead.  This avoids invoking each expensive computation up to four
times before it gets cached.  For packages that include lots of
buildlink3.mk files, this saves a lot of CPU time.
2005-06-01 17:27:22 +00:00
jlam
a72cd1c453 Include bsd.makevars.mk in bsd.prefs.mk instead of bsd.pkg.mk. This
allows the saved make variables to be re-set whenever bsd.prefs.mk is
included, and is a shortcut for the common case where a Makefile
includes both.
2005-06-01 17:05:19 +00:00
jlam
4631a73a95 Separate out the logic to include the correct <phase>.makevars.mk file
into a new file bsd.makevars.mk that can be included by other Makefiles.
2005-06-01 03:04:16 +00:00
jlam
54de37e60e Convert USE_GNU_TOOLS into USE_TOOLS as the former is no longer supported
in pkgsrc.
2005-05-31 21:53:26 +00:00
dillo
8cda012601 Rename describe-options to show-options, replacing the old show-options
target.
2005-05-31 12:10:07 +00:00
jmmv
d5789c138e Simplify unprivileged builds by adding a new variable, UNPRIVILEGED, that,
when set to YES, changes multiple defaults to let this work properly.
2005-05-29 17:12:15 +00:00
rillig
c7b8094edd Fixed the output of show-tools. 2005-05-26 11:15:30 +00:00
jlam
6a44e12a0b Finish removing instances of _USE_NEW_TOOLS from pkgsrc. 2005-05-22 20:15:40 +00:00
jlam
9f94b112f0 Remove the old tools framework and references to _USE_NEW_TOOLS. 2005-05-22 19:11:12 +00:00
rillig
aeb4d04119 Fixed some quoting issues. 2005-05-22 15:31:03 +00:00
jlam
1cfa811f1b In computing _REPLACE_LOCALEDIR_PATTERNS_FIND_cmd, make sure the :sh
operator does not result in an empty string as make(1) doesn't like
them.  Also, rewrite the variable substitution for the find(1) command
to be more readable, and get rid of the extra grep(1) in favor of
using :N.
2005-05-21 01:55:53 +00:00
jlam
262ed77f43 Change instances where we stored shell command in a make variable into
variables that use the :sh modifier.  This still causes expansion to only
happen when referenced, and has the advantage of being :Q-safe.

Bring back the changes from revision 1.19 of mk/subst.mk now that the
problem noted above has been fixed.  This passes the buildlink-unwrap
regression test.
2005-05-20 21:36:05 +00:00
rillig
296e86963f Replaced the NO_WRKDIR_SYMLINK variable with CREATE_WRKDIR_SYMLINK, as
suggested by Alistair. If you don't want the symlinks, set the variable
to "no".
2005-05-18 23:59:44 +00:00
rillig
e6648d55fb If NO_WRKDIR_SYMLINK is defined, no symlink to ${WRKSRC} is created when
the WRKOBJDIR is set explicitly. This allows for having pkgsrc mounted
r/w without actually modifying it.
2005-05-18 19:42:01 +00:00
rillig
8a83e6b802 Added the show-tools target, which emits a shell code fragment defining all
tools known to the pkgsrc infrastructure.
2005-05-18 02:52:38 +00:00
jlam
876fcd9d31 Turn _MANCOMPRESSED into a strictly "yes" and "no" variable
(case-sensitive) to simplify writing the do-install target code that
automatically compresses or decompresses man pages after installation.
2005-05-17 22:07:56 +00:00
dmcmahill
832614bc4c Rework the README.html generation code. Major changes are:
- completely redo the code which decides on the machine architecture,
  operating system, and operating system version for the binary packages.
  The old way just used to directory names to take a guess.  The new
  way creates a cache file containing meta-data for all the binary packages
  in each "All" directory.  This cache file is consulted when generating
  the lists of available binary packages.  The meta-data is obtained with
  pkg_info so it should always be correct even if you do something silly
  like mix OS_VERSION or MACHINE_ARCH packages up in the same directory.

  Among the benefits are:  works when PACKAGES is not $PKGSRC/packages,
  works with a more or less arbitrary subdirectory structure, works
  when there are subdirectories for multiple operating systems.

  This portion of the fix should address PR25390.

  The cache files are only updated when the contents of an "All" directory
  changes or if the cache file format changes.  There is some room for
  improving the updating of the cache files, but its not too bad the way
  it is.

- fix up some of the awk code so that generadme.awk works with Solaris
  nawk as well as NetBSD's nawk and gawk (for pre-2.0 systems).

- remove some "if ! foo" shell constructs to increase portability.

- be more consistent with what variables get passed to mkreadme from
  make and which ones are determined automatically.  Mostly this meant
  moving stuff into mkreadme to make it easier to run it standalone.
2005-05-17 21:46:59 +00:00
jlam
62c3dfb798 Save the names of the patches applied during the patch phase into the
patch cookie file, one per line.  A package with no patches applied
will have a patch cookie file with no lines (zero bytes).
2005-05-17 06:31:00 +00:00
jlam
e87497f3c3 Don't have USE_TOOLS+=imake replace USE_IMAKE. Rather let the former
specify that imake is used by the package, while the latter triggers
the special do-configure process.
2005-05-16 18:01:12 +00:00
jlam
d48540d243 Fix mistake in previous commit -- expr is required by the wrapper
framework.  Problem & fix from tron@.
2005-05-16 15:20:15 +00:00
jlam
4a3b99d323 No package seems to be using ${NICE} so don't require it. 2005-05-16 05:11:51 +00:00
jlam
1b0d713866 Don't require m4 for all packages, only for packages that use it. 2005-05-16 05:09:21 +00:00
jlam
e3326eaf55 tee is only used by bsd.bulk-pkg.mk. 2005-05-16 04:54:11 +00:00
jlam
86c375af36 We only need "date" to write the date into the +PRESERVE file. 2005-05-16 04:48:05 +00:00
jlam
6d30b7cae1 expr is only used by bsd.bulk-pkg.mk. 2005-05-16 04:39:04 +00:00
jlam
242f38689e tsort is only used by bsd.bulk-pkg.mk. 2005-05-16 04:30:41 +00:00
jlam
2338cbae27 Change the EXTRACT_USING_PAX defined/undefined option into a EXTRACT_USING
which can take multiple values -- "pax" or "gtar".  The default value
of EXTRACT_USING is "pax", which more closely matches reality since
before, we were using bootstrap "tar" for ${GTAR} and it was actually
pax-as-tar.  Also, stop pretending pax-as-tar from the bootstrap kit
or on NetBSD is GNU tar.  Lastly, in bsd.pkg.extract.mk, note whether
we need "pax" or "gtar" depending on what we need to extract the
distfiles.
2005-05-16 03:04:44 +00:00
jlam
e61f25dea9 We only need mtree if NO_MTREE isn't defined. 2005-05-16 00:11:50 +00:00
jlam
71215ccade Consolidate the bits that add to PKGSRC_USE_TOOLS, and improve the
comment for shlock.
2005-05-16 00:00:35 +00:00
jlam
f1c74f3251 Fix the MANZ handling in bsd.pkg.mk. If MANZ is defined, then we want
the final man pages to be compressed.  If MANZ is not defined, then
we want the final man pages to be uncompressed.

We need to figure out if during installation, we need either gunzip
or gzip to decompress or compress the installed man pages.  If a
package sets MANCOMPRESSED to "yes" or "no", then it's an indication
to the install code that the package itself installed the man pages
either compressed or uncompressed.  If a package sets
MANCOMPRESSED_IF_MANZ, then the package uses BSD-style makefiles, so
we need to determine if the BSD-style makefile causes the man pages
to be compressed or not.  In this case, we need to check in PKGMAKECONF
whether MANZ is set or not.

XXX Perhaps we should also check for MKMANZ if a package uses BSD-style
XXX makefiles?
2005-05-15 21:32:42 +00:00
jlam
3ffba337c3 We only need gzcat when requested by the extract and patch phases, or
if the package itself requests it.
2005-05-15 05:05:47 +00:00
rillig
af901ae040 Rewrote the show-depends-dirs target: fixed shell quoting, omitted
duplicates in the output, output warnings if necessary. The $$dlist at
the end is unquoted intentionally to omit spaces in the output.
Approved by jlam.
2005-05-14 22:19:07 +00:00
jlam
8dba6226e7 Consider ${TAR} differently from ${GTAR}. Currently, mark pkgsrc down
as needing both (no impact since they're both satisfied by the tar
binary installed by the bootstrap kit).  There's some funniness in
the extraction code where we check for pax or GNU tar that needs to
be resolved.  Remove the TAR=${GTAR} hack since it's no longer needed
after these changes.

XXX Later, a sweep needs to be made to see where we actually need GTAR
XXX and where we only need TAR, probably triggered by whether we call it
XXX with the "z" option or not.  Packages that need GTAR should explicitly
XXX add USE_TOOLS+=gtar to the package Makefile.
2005-05-14 21:15:07 +00:00
jlam
45e08b1210 Separate out the variables and targets for the "patch" phase into a
separate file pkgsrc/mk/bsd.pkg.patch.mk.  Also, include this file
ahead of the inclusion of bsd.tools.mk so that tools required to
patch are created by the tools framework.
2005-05-14 19:37:53 +00:00
jlam
335f53d761 If we use the new tools framework, the _USE_GMAKE is unnecessary as we
simply check for whether "gmake" is in USE_TOOLS.
2005-05-14 07:15:29 +00:00
jlam
2cc6e59e11 compiler.mk uses the following tools to compute the values of variables
at the time that they're defined: ${AWK}, ${GREP}, ${SED}, ${TRUE}.
Move the inclusion of compiler.mk below the inclusion of bsd.tools.mk
so that these variables are properly defined by the time they are
used.  This should fix problems where pkgsrc gcc was not being properly
detected when using the new tools framework.

This change has the side effect of changing the relative order of the
compiler directories and the tool directory in the PATH, but this has
no impact on existing packages, and actually makes more sense anyway.
2005-05-14 06:04:44 +00:00
jlam
676abf4b91 Simplify the check for whether we need a patch tool or not -- we simply
check for whether ${PATCHDIR} exists or not, or whether PATCHFILES is
defined or not.  This avoids the use of != in a variable definition
just to find out if we need patch or not.
2005-05-14 04:26:15 +00:00
rillig
eef497fdb0 Found another two uses of .ifndef and .ifdef.
Converted them to .if [!]defined().
2005-05-14 02:03:00 +00:00
rillig
b82fa5067b Replaced .ifdef with .if defined() and .ifndef with .if !defined(). This
will allow better error checking in Makefiles.
2005-05-14 01:50:38 +00:00
rillig
ca548bf623 Moved checking if ${SHLOCK} exists into the shell code fragment that
acquires the lock. This had to be done for the new tools framework and
because of the weird order of things in bsd.pkg.mk. Approved by jlam.
2005-05-13 22:22:44 +00:00
jlam
1fdc85c394 Don't check for ${SHLOCK}, which isn't defined yet that early in
bsd.pkg.mk under the new tools framework.  Instead, just note that if
we set PKGSRC_LOCKTYPE, that pkgsrc will require shlock.  Remove
"shlock" from the large PKGSRC_USE_TOOLS list since we don't need it
all of the time.  This fixes PKGSRC_LOCKTYPE != none when using the
new tools framework.
2005-05-13 21:13:01 +00:00
jlam
cd4f3767d3 Change references to M4 & YACC into TOOLS_M4 & TOOLS_YACC to simplify
transition to new tools framework.
2005-05-13 16:54:12 +00:00
jlam
436d9bbbd5 Instead of structuring code so that variables defined by the EVAL_PREFIX
loop are only used afterwards, split out the EVAL_PREFIX code into a
separate file find-prefix.mk that can be included at any point to
generate a prefix-computation for the variables specified by FIND_PREFIX
at the inclusion point.
2005-05-12 20:41:10 +00:00
jlam
78bb5672f0 Only cache the variable if it's been defined. 2005-05-12 18:07:30 +00:00
jlam
714ab3325d There's no need to check for EXTRACT_SUFX when figuring out whether we
need to use bzcat for patches.  bsd.pkg.extract.mk can figure out
independently whether bzcat is needed for distfiles.  This fixes
PR pkg/30206.
2005-05-12 01:14:05 +00:00
jlam
f08ed08387 Under the new tools framework, we use TOOLS_AWK to represent the awk
program that the software itself uses.  Duplicate that using the old
framework to ease integration.
2005-05-11 22:19:00 +00:00
jlam
0dbd0c0762 Rename MAKE_VARS to MAKEVARS so that it more closely resembles
"MAKEFLAGS".  Both "MAKEVARS" and "MAKEFLAGS" affect the package-level
make process, not the software's own make process.
2005-05-11 22:08:18 +00:00
jlam
0e589ad8af Separate out the variables and targets for the "extract" phase into a
separate file pkgsrc/mk/bsd.pkg.extract.mk.  Also, include this file
ahead of the inclusion of bsd.tools.mk so that tools required to
extract are created by the tools framework.
2005-05-11 04:01:49 +00:00
jlam
962622ba7d Rename mk/bsd.pkg.install.mk to mk/install/bsd.pkginstall.mk to
consolidate the files for that framework in one directory.
2005-05-11 02:07:37 +00:00
jlam
fb1593ba8b Split out ldconfig handling from the USE_TOOLS processing in replace.mk.
This makes more sense since there is never going to be a pkgsrc
replacement for ldconfig.  We now always create an ldconfig tool in
${TOOLS_DIR} that either calls the system-supplied one if it exists,
or is a no-op.
2005-05-10 20:14:27 +00:00
jlam
137ec423f9 Split out "strip" from the USE_TOOLS processing in replace.mk. Instead,
we create a "strip" tool unconditionally, and make it either a no-op or
the real thing depending on the whether we want unstripped files or not.
2005-05-10 19:52:30 +00:00
jlam
dfb5ed0037 Make a distinction between the tools that pkgsrc needs and the tools
that a package needs.  Tools that pkgsrc needs are listed in
PKGSRC_USE_TOOLS, and tools that a package needs on top of that are
listed in USE_TOOLS.

Define "TOOL" variables, e.g. SED, AWK, MKDIR, etc.  for each of the
tools that pkgsrc needs, and "TOOLS_TOOL" variables, e.g.  TOOLS_SED,
TOOLS_AWK, TOOLS_MKDIR, etc. for each of the tools that a package
needs.  These variables contain the full command line to the real
command and arguments needed to invoke the tool.
2005-05-10 19:06:58 +00:00
jlam
06b6c2b595 In make variables, quotes protect embedded whitespace in words, so we
can replace :C/^ *//:C/ *$// with :M* to get the same effect -- removing
leading and trailing whitespace and extra spaces between words.
2005-05-10 01:34:04 +00:00
jlam
03e9337879 Teach bsd.pkg.mk to create a phase-specific "makevars.mk" file that
caches variable definitions that were computed by make.  These variables
are specified by listing them in MAKE_VARS, e.g.,

	.if !defined(FOO)
	FOO!=	very_time_consuming_command
	.endif
	MAKE_VARS+=	FOO

bsd.pkg.mk will include only the one generated during the most recent
phase.  A particular phase's makevars.mk file consists of variable
definitions that are a superset of all of the ones produced in previous
phases of the build.

The caching is useful because bsd.pkg.mk invokes make recursively,
which in the example above has the potential to run the very time-consuming
command each time unless we cause FOO to be defined for the sub-make
processes.  We don't cache via MAKE_FLAGS because MAKE_FLAGS isn't
consistently applied to every invocation of make, and also because
MAKE_FLAGS can overflow the maximum length of a make variable very
quickly if we add many values to it.

One important and desirable property of variables cached via MAKE_VARS
is that they only apply to the current package, and not to any
dependencies whose builds may have been triggered by the current
package.

The makevars.mk files are generated by new targets fetch-vars,
extract-vars, patch-vars, etc., and these targets are built during
the corresponding real-* target to ensure that they are being invoked
with PKG_PHASE set to the proper value.

Also, remove the variables cache file that bsd.wrapper.mk was generating
since the new makevars.mk files provide the same functionality at a
higher level.  Change all WRAPPER_VARS definitions that were used by
the old wrapper-phase cache file into MAKE_VARS definitions.
2005-05-09 05:06:55 +00:00
dillo
a05c767c7c Add a dummy describe-options target for package not using the
options framework.
2005-05-08 13:52:25 +00:00
wiz
af43f6cfdc Refer doc/pkgsrc.txt instead of Packages.txt. 2005-05-07 22:16:38 +00:00
reed
4c676c29a2 Add PKGBASE to MESSAGE_SUBST for substituting variables in MESSAGEs.
Noticed it was used in multimedia/xine-ui/MESSAGE.NetBSD.

Maybe this is redundant, and in that case, could have just hard-coded
"xine-ui" instead.
2005-05-07 19:32:56 +00:00
jlam
91092c5789 Teach the new tools framework about ${STRIP}, which is used in some
packages to strip installed executables.  If INSTALL_UNSTRIPPED ==
"yes", then we create a "strip" wrapper in ${TOOLS_DIR} that just
calls ${TRUE} by considering ${TRUE} the system-supplied strip command.
2005-05-04 06:42:43 +00:00
jlam
b8d377ce5f In make, && has a higher precedence than ||. Add parentheses to fix the
logic of the conditional.
2005-05-04 04:23:34 +00:00
kristerw
065f886910 Repair CHECK_FILES by adding \( \) around the -or expression in find. 2005-05-03 21:30:42 +00:00
jlam
3f770348b7 Teach the new tools framework about INSTALL and set the appropriate
default value for each platform.  Currently, the replacement tools
comes from sysutils/coreutils, but where there is no native BSD install
program, bootstrap-pkgsrc should probably be made to provide an install
shell script as an alternative, and mk/tools/bootstrap.mk should be
amended accordingly.

Also remove one use of ${TYPE} in pkgsrc (bsd.pkg.mk) under the new tools
framework.
2005-05-03 20:41:53 +00:00
jlam
8861b6ba02 Teach the new tools framework about MAIL_CMD. We use mail/nail as a
"mail" replacement in case TOOLS_PLATFORM.mail is empty.
2005-05-03 16:30:34 +00:00
jlam
b26519d8a4 * Push the imake- and xmkmf-handling into the new tools framework.
* Get rid of an explicit check for ${_IMAKE_MAKE} == ${GMAKE} in
  bsd.pkg.mk to check for whether we need to depend on gmake or not.
  Instead, we now note in Linux.mk that packages that need imake will
  also need to use gmake by setting _IMAKE_TOOLS+=gmake.

* Push the definition of MAKE_PROGRAM from bsd.pkg.mk into make.mk where
  it's closer to related code.
2005-05-02 21:10:02 +00:00
jlam
93657f4c61 We need ldconfig (this should probably be restricted only to packages that
install shared libraries).
2005-05-02 05:45:15 +00:00
jlam
4ba6c74f93 Re-order nested .if statements for brevity. 2005-05-02 03:09:04 +00:00
jlam
96c5deea72 Teach the new tools framework about USE_TOOLS+=bzcat. 2005-05-02 02:50:33 +00:00
jlam
c368f44eea Split replace.mk into two parts, one of which is included by bsd.prefs.mk
to provide "TOOL" definitions for tools used by a top-level make process
(usually because it uses them in a != variable definition).  This allows
USE_TOOLS to be defined before bsd.prefs.mk is included by a package
Makefile, where USE_TOOLS lists the additional (non-default) tools that
are required to build the package.

Also, drop the fallback to existing "TOOL" definitions because we now
have TOOLS_PLATFORM.* for each platform in pkgsr/mk/tools/tools.*.mk.
2005-04-30 04:35:54 +00:00
drochner
8a1ed6d421 whitespace fix -- does nobody use emacs here? 2005-04-25 16:47:18 +00:00
jlam
e95a9612bd Prepend USE_NEW_TOOLS with an underscore to make it private. Developers
should set _USE_NEW_TOOLS=yes in /etc/mk.conf in order to test the new
tools framework.
2005-04-22 02:20:22 +00:00
tv
ccf0e6df92 Work around brain damaged autoconf by stripping leading and trailing
whitespace from *FLAGS and LIBS before doing :Q quoting.

Should fix PR pkg/29945.
2005-04-21 15:53:53 +00:00
agc
30ebfbe282 Add _DISTFILES and _PATCHFILES definitions to the list of definitions
which get recorded in the build information (accessible with pkg_info -B).
2005-04-18 10:06:47 +00:00
agc
82419dde61 Don't fail if there are multiple digest values for the same file with the
same algorithm in the distinfo file - pointed out by Robert Elz in PR 29973.

Additional testing by wiz - thanks!
2005-04-16 09:26:22 +00:00
agc
9318dc5a01 Occasionally we do not want the "--host=${MACHINE_GNU_PLATFORM}" argument
added if GNU_CONFIGURE is specified - the arla and forthcoming openafs
packages are ones that need to be able to let the GNU configure script
guess for itself, rather than hardcoding the value.

Add a switch called USE_GNU_CONFIGURE_HOST to determine whether the
--host argument is provided to the GNU configure script.  This is
switched on (it has a "yes" value) by default, so the previous
behaviour applies, but allows us to specify this value on a
package-by-package basis.

Documentation changes for this are also forthcoming.
2005-04-16 09:20:18 +00:00
jlam
91563cafa5 Add a new yes/no variable USE_NEW_TOOLS to ease testing the new tools
framework.  USE_NEW_TOOLS defaults to "no".
2005-04-15 02:04:57 +00:00
rillig
40631ad1b3 Print out the exitcode of pkg_create if nonzero, as it sometimes exists
without an error message. (Example: editors/abiword on NetBSD-1.6.2/i386.)
Approved by jlam.
2005-04-13 16:15:59 +00:00
jlam
4539e78461 Fix error introduced in rev. 1.1606: "$${PKGVULNDIR}" should be
"${PKGVULNDIR}" (one $, not two).  This was causing the vulnerabilities
file to be looked for in the wrong place.  This fix makes the
check-vulnerable target actually parse the vulnerabilities file and
look for vulnerable installed packages again.
2005-04-13 14:07:30 +00:00
tv
f8bc76558e Always include wrapper/bl3, period, even if NO_BUILD. 2005-04-05 14:00:33 +00:00
minskim
aa94bc412a Prevent MAKEFLAGS from being passed through shell environment. It was
redundant because we explicitly pass MAKEFLAGS to a sub-process
through command line arguments.

This fixes the problem reported in PR pkg/29874 that PKGNAME_REQD is
not overridden in recursive MAKE calls.
2005-04-05 03:18:00 +00:00
agc
974f1af6e8 Fix for PR 28230 (bsd.pkg.mk ignores /etc/audit-packages.conf) by
sourcing any config file, if it's defined.  With thanks to Julio M.
Merino Vidal for the first pass at a fix, and for keeping me honest
and up-to-date with variable checks in portable shell constructs.
2005-03-31 21:02:28 +00:00
garbled
9a6f8c33a1 Fixes for shlib handling on AIX 2005-03-29 08:17:42 +00:00
tv
fe3c1321bf USE_BUILDLINK3 is no longer optional (and cannot be turned off). Per mail
to tech-pkg:

=====

* USE_BUILDLINK3=YES will be unconditional.  (In fact, USE_BUILDLINK3 will
  be ignored altogether by mk/; but see below.)

* NO_BUILDLINK and NO_WRAPPER will be ignored by mk/.  If a build happens,
  these phases will happen.

* The existing NO_BUILD will imply the previous NO_BUILDLINK and NO_WRAPPER.
  If no build happens, those phases are not needed.

* NO_TOOLS will be ignored by mk/.  The tools phase, which provides much
  more than just the C compiler, will always happen regardless of package.
  This will make metapackage builds only slightly slower, in trade for far
  less user error.
2005-03-24 17:46:00 +00:00
xtraeme
896629329a In the distclean target, if PKG_RESUME_TRANSFERS is set, clean
the temp files too.
2005-03-22 22:49:15 +00:00
xtraeme
8ca224b2cb Some changes for PKG_RESUME_TRANSFERS:
o If origfile is already downloaded (size ok) and there's
  a temp file with incomplete size, don't try to resume the
  transfer on the temp file, remove it.
o Clean the code a bit.
2005-03-22 22:20:21 +00:00
jmmv
d5eb7630f4 Reset the current locale to a sane value (that is, 'C') during the build
of packages.  Several utilities behave differently or even incorrectly if
a locale different than 'C' is set.

One of these is perl, which spits a big warning and then breaks some
packages.  An example is irssi, as described in PR pkg/29613 by Hanno
Wagner.
2005-03-20 18:18:09 +00:00
tv
b46a7543a3 Fix a gleaming illustration of why using YES/NO variables everywhere
possible, just for the sake of doing so, is not a good thing to do:

The platform files define _STRIPFLAG_* to determine whether to strip things.
But since this is included in bsd.prefs.mk, ".if ..." checks cannot take
things set in the Makefile into account.  So convert INSTALL_UNSTRIPPED=YES
to a defined/undefined variable check in bsd.pkg.mk, and use the :D:U idiom
in the _STRIPFLAG_* variables.

This should fix PR pkg/28772 and PR pkg/29031.
2005-03-18 18:16:34 +00:00
dmcmahill
fd010f158d make sure we correctly set F77. Addresses PR29666 2005-03-16 02:09:54 +00:00
agc
113eb1558f Put back the speed-up in the vulnerability checking when building a package,
but disable this if the package name in the pkg-vulnerabilities file contains
a meta-character. This speeds up the check-vulnerable target from:

[9:28:06] agc@sys3 ...pkgsrc/misc/libutf 11 > time make check-vulnerable
1.821u 1.988s 0:02.57 147.8%    0+0k 0+0io 0pf+0w
[9:28:17] agc@sys3 ...pkgsrc/misc/libutf 12 >

to

[9:28:27] agc@sys3 ...pkgsrc/misc/libutf 13 > time make check-vulnerable
0.273u 0.233s 0:00.33 151.5%    0+0k 0+0io 0pf+0w
[9:28:30] agc@sys3 ...pkgsrc/misc/libutf 14 >

(with caches filled, on a fairly fast machine - P4 2.8 GHz, 2GB RAM).
2005-03-13 09:30:31 +00:00
agc
ddacec0cfe When FAILOVER_FETCH is set, only use the first digest algorithm found
for a dist file or patch, and let the "checksum" target do the full
digest integrity checks.  Should fix a problem reported by John Klos
on tech-pkg, which I was a bit dim in analysing.
2005-03-02 11:11:36 +00:00
veego
d53b01d221 Fix PLIST_SRC error introduced in rev 1.1593.
Before this fix it would include
  PLIST.common
then _only_ one of the following
  PLIST.${OPSYS}
  PLIST.${MACHINE_ARCH:C/i[3-6]86/i386/g}
  PLIST.${OPSYS}-${MACHINE_ARCH:C/i[3-6]86/i386/g}
  PLIST
and then PLIST.common_end.

Now, uses all of the following PLIST files, in that order:

PLIST.common
PLIST.${OPSYS}
PLIST.${MACHINE_ARCH:C/i[3-6]86/i386/g}
PLIST.${OPSYS}-${MACHINE_ARCH:C/i[3-6]86/i386/g}
PLIST
PLIST.common_end
2005-02-27 22:10:25 +00:00
agc
c323caee5b Fix a problem introduced in the previous commit, noticed by Matthiases
Scheler and Drochner.

Handle missing checksums in distinfo properly.

Tested by myself and tron.
2005-02-25 13:05:52 +00:00
agc
e96ce79e2e As seen on tech-pkg - allow multiple digest algorithms to be used to
ensure the integrity of distfiles and dist patches.  For now, the
default algorithms are SHA1 and RMD160, set as a whitespace-separated
list in the DIGEST_ALGORITHMS definition.  The DIGEST_ALGORITHM
definition is deprecated.

Patchfiles will still use simply SHA1, since we are trying to detect a
binary "has this file changed", rather than proect against tampering.
In short, if someone can modify the patch file, they can modify the
distinfo file holding its digest information. This value is set in the
new PATCH_DIGEST_ALGORITHM definition.

Triggered by the breaking of SHA1, as reported in

	http://www.schneier.com/blog/archives/2005/02/sha1_broken.html
2005-02-22 21:01:10 +00:00
veego
8b44024dc5 Change the files to be used for PLIST_SRC from
PLIST.common
 PLIST.${OPSYS}
 PLIST
 PLIST.common_end
to
 PLIST.common
 PLIST.${OPSYS}
 PLIST.${MACHINE_ARCH:C/i[3-6]86/i386/g}
 PLIST.${OPSYS}-${MACHINE_ARCH:C/i[3-6]86/i386/g}
 PLIST
 PLIST.common_end

Which makes it possible to remove duplicated code in some packages.
This doesn't change anything, because all affected packages define PLIST_SRC,
so this code would never be used for them.
And most of them will be fixed with the next commit.

ToDO: ${MACHINE_ARCH:C/i[3-6]86/i386/g} looks wrong and should be changed,
but thats what we allready use for MESSAGE_SRC.
2005-02-21 20:12:01 +00:00
grant
384e38172b fix bug introduced in 1.1569: use ${GREP} instead of 'grep' and not
all grep(1)s support grepping for empty string. `${GREP} .' instead.
2005-02-20 06:02:06 +00:00
grant
d84e86c700 update the PLIST handling for AIX, shared libraries have the .so
extension when the runtime linker is used. from garbled@.
2005-02-19 04:25:31 +00:00
agc
b10fb63e34 Fix an anomaly noted by Steve Bellovin in
<20050215182853.AC52D3C03B8@berkshire.machshav.com>

The check for a vulnerable package at package fetch time is producing
incorrect results when csh-style alternates are used in the
pkg-vulnerabilities specification of the vulnerable package - disable
the incorrect speed-up that was there previously, at the expense of
some machine cycles at build time.
2005-02-16 11:01:03 +00:00
tv
568d0bf7bd Some older ${FIND}s do not have an implicit "-print"; make sure to specify
it explicitly (as with other ${FIND} usage here).
2005-02-15 16:21:41 +00:00
rillig
b791494593 Corrected a misspelling of a variable. I used $rebooted in a shell code,
which had better been $$rebooted (Makefile quoting). Approved by jlam.
2005-02-13 03:49:12 +00:00
rillig
0fff1d5ac8 Don't use the -nt operator for ${TEST}. It is not defined in POSIX, and
not provided by the Solaris 9 /bin/sh. Use the find(1) -newer expression
instead, as it expresses exactly what we want, compared to the "ls -t"
hack.
2005-02-12 00:27:41 +00:00
tv
239f7cd34f Whitespace formatting nits. 2005-02-11 17:00:07 +00:00
tv
79ba5ea33a Consolidate PLIST_SRC default generation and the plethora of failsafe
error checks into labelled blocks toward the top of the file.

While here, remove the historic (now completely empty; it was replaced by
PKG_FAIL_REASON some time ago) uptodate-pkgtools target and the references
to it.
2005-02-11 16:57:45 +00:00
tv
614ff30790 Visual cleanup from tv-derecurse:
Consolidate many MAKE_ENVs and SCRIPTS_ENVs into a common block.
(CONFIGURE_ENVs to be done later.)

Introduce new variable ALL_ENV which is automatically included into all
of MAKE_ENV, SCRIPTS_ENV, and CONFIGURE_ENV; this allows much cleaner
addition of the common CC/CXX/CFLAGS/etc. variables needed by all of these.
2005-02-11 16:36:49 +00:00
tv
4c2cccef33 Migrate the big block of USE_PERL5 and PERL5_REQD logic to bsd.pkg.use.mk. 2005-02-11 16:15:53 +00:00
tv
4b3f94acc8 Migrate several USE_* logic blocks, previously sprinkled liberally
throughout bsd.pkg.mk, to labelled blocks in bsd.pkg.use.mk.
2005-02-11 16:11:36 +00:00
tv
5655fbe984 Merge down some more visual cleanup from tv-derecurse to reduce divergence.
Part of this, introduce bsd.pkg.use.mk, where the Special Logic invoked
by various pkgsrc-wide USE_* variables will be migrated/consolidated.
2005-02-11 15:55:13 +00:00
tv
7e17264955 "replace" should depend on ${_PKGSRC_BUILD_TARGETS}, just like "install". 2005-02-09 16:03:47 +00:00
jlam
2ab02f1ddd Bump PKGTOOLS_REQD to 20050204. This version of pkg_install passes
the correct information to the +INSTALL and +DEINSTALL scripts to fix
problems with binary packages incorrectly locating the reference counts
database, e.g. /var/db.refcount.
2005-02-04 09:19:41 +00:00
jlam
642fa3e0e6 Don't make pkgsrc depend on dc(1) to be present in the system. Since
we already use awk so pervasively in pkgsrc, simply use awk in place
of dc for simple computations.
2005-01-28 21:05:59 +00:00
jlam
ce33cd0c70 Move the creation of ${PKG_DB_TMPDIR} to when we create ${WRKDIR}.
This ensures that it's always created with the same user/group/mode
as ${WRKDIR}, so if a non-root user thinks he has permissions to remove
${WRKDIR}, then that expectation will remain true for ${PKG_DB_TMPDIR}.
2005-01-27 18:32:20 +00:00
tv
1d26911a04 Fix handling of PREPEND_PATH in dependency-recursed builds. 2005-01-27 11:21:46 +00:00
tv
bcce274c8b Move the PREPEND_PATH for LOCALBASE/bin (and optionally X11BASE/bin) to a
spot that will come before compiler.mk (in bsd.prefs.mk).  Previously,
LOCALBASE/bin was appearing earlier in the path than work/.<compiler>/bin,
which could cause the Wrong Thing to happen.
2005-01-27 04:05:08 +00:00
tv
e2d4e995a8 Relax need to put GNU_CONFIGURE before inclusion of bsd.prefs.mk:
Convert _OPSYS_MAX_CMDLEN to a plain _OPSYS_MAX_CMDLEN_CMD variable, which
is not evaluated by a shell until CONFIGURE_ENV is expanded (and only then
if USE_LIBTOOL+GNU_CONFIGURE are both set).
2005-01-25 18:15:58 +00:00
jmmv
f70b9a4716 Add alternatives.mk, a file used to manipulate the alternatives system.
A package can optionally provide an ALTERNATIVES file which contains pairs
of wrapper/alternative, one per line.  The file is then used by the install
and deinstall scripts to register the alternatives and to create the
appropriate wrappers.

Make bsd.pkg.mk include this new file.  This happens unconditionally to
keep all the alternatives logic in an independent file.  Otherwise, some
of the stuff could have to be moved to bsd.pkg.mk, breaking consistency.
2005-01-25 13:13:35 +00:00
tv
e1c33bd2a4 Merge a little visual-only cleanup from the tv-derecurse branch:
Collect many modifiable hard-to-find variables scattered throughout
bsd.pkg.mk into a common section near the top of the file.  (Not necessarily
"complete", but helps to reduce HEAD-branch divergence.)
2005-01-24 19:57:42 +00:00
tv
3c440a0121 Merge down deferred PREPEND_PATH handling from the tv-derecurse branch.
Also merge in deferred CLASSPATH handling, which can now be moved back
to java-vm.mk for cleanliness.
2005-01-24 19:32:33 +00:00
tv
6a1da4db28 Make CHECK_FILES_SKIP_CMD into a single grep, using a ${var:@foo@bar@} loop. 2005-01-24 18:44:38 +00:00
tv
4284bdc494 Merge down deferred EVAL_PREFIX handling from tv-derecurse branch.
Also move its definition later in bsd.pkg.mk, so that it actually works
for compiler/*.mk (which is why those files originally had to provide
"defaults" for their variables -- they never did get evaluated).
2005-01-24 18:20:57 +00:00
xtraeme
2494cf89ca Fix breakage in previous, installed pkg db files should be installed into
${PKG_DB_TMPDIR} not ${_PKG_DB_TMPDIR}, patch from Geoff Wing.
2005-01-24 09:31:06 +00:00
jlam
1e0e784ec4 Move the creation of ${PKG_DB_TMPDIR} earlier so that it's created as
the build user instead of the root user.  This should allow "make
clean" as a non-root user to work again.
2005-01-23 22:23:40 +00:00
jlam
af900af65a Rearrange the register-pkg and post-install-fake-pkg code. All of
the meta-data files are generated and stored in ${PKG_DB_TMPDIR} by
the *-install-fake-pkg targets, and then all of the contents of that
directory are simply copied into ${PKG_DBDIR}/${PKGNAME} by register-pkg.

This is intended to make (DE)INSTALL scripts be more powerful.
Currently, they have no way to keep state on their own.  Now, they
can keep state in the current working directory.  When invoked by
pkg_add(1), the current working directory is ${PKG_DBDIR}/${PKGNAME},
so the state files are already stored in the correct place.  When
invoked by bsd.pkg.mk, the current working directory is ${PKG_DB_TMPDIR},
and any state files generated by the (DE)INSTALL scripts are copied
into the correct place by the register-pkg target.
2005-01-23 21:57:38 +00:00
jlam
daf62c2000 Rework the way that packages are registered during a "make install". We
split the fake-pkg target into three smaller pieces:

pre-install-fake-pkg - Create files in ${WRKSRC}/.pkgdb meant to be
	installed into ${PKG_DBDIR}/${PKGNAME} that don't depend on
	the installed files.

post-install-fake-pkg - Create files in ${WRKSRC}/.pkgdb meant to be
	installed into ${PKG_DBDIR}/${PKGNAME} that may depend on the
	installed files.

register-pkg - Copy the files in ${WRKSRC}/.pkgdb and create a few
	additional meta-files in ${PKG_DBDIR}/${PKGNAME}.

The idea is that ${WRKSRC}/.pkgdb contains as much of the state as
possible that will be copied into ${PKG_DBDIR}/${PKGNAME}.

The INSTALL and DEINSTALL scripts generated by bsd.pkg.install.mk are
now invoked with ${WRKSRC}/.pkgdb as the working directory, so the
scripts may use the working directory to store temporary files,
regardless of whether they're invoked from bsd.pkg.mk or by pkg_add.
2005-01-23 20:45:22 +00:00
grant
13ed8b06aa message whitespace fix 2005-01-22 09:46:55 +00:00
jmmv
af92a2b644 - Move all CHECK_FILES_SKIP definitions to a central place in bsd.pkg.mk.
- Move the previous block of code down in the file so that all used variables
  are defined (specially PKG_SYSCONFDIR).  Fixes a problem noticed by
  kristerw@'s bulk build in comms/minicom.
- Ignore diff's return code, which aborts make in NetBSD 1.6.2.  Also noticed
  by kristerw@'s bulk build.
- Use full paths to do the checks, instead of relative to ${PREFIX}.  Less
  ambiguity.  Matches should be turned into regular expressions that anchor
  to a whole line (tried that, but found some problems).
- Turn CHECK_FILES to NO by default.  As said in the previous point, there
  are still some problems that have to be fixed and minor improvements to
  be done.  And I have no time to fix this ATM.  Yes, this definitely needs
  more testing.  I'm sorry for all the noise.  (But hey!  you should set and
  try this feature locally! ;-)
2005-01-15 10:50:17 +00:00
jmmv
99909219cc Automatically add any of the {CONF,SUPPORT}_FILES and {MAKE,OWN}_DIRS stuff
to CHECK_FILES_SKIP to avoid some false positives.  These directories are
created in the pre-install stage so are included in the generated file list.
The files are also added to silence some problems that may arise during
"make replace".  Found by wiz@ in the gtk2 package.
2005-01-14 18:02:38 +00:00
jmmv
8cf5329682 Add the check-files target: when enabled, this verifies that installed
packages do not install more files than expected (nor delete existing
files), aside other sanity checks in PKG_SYSCONFDIR and VARBASE.

This behavior is only enabled if PKG_DEVELOPER is set and CHECK_FILES
is YES (the default).  Should let us catch problems in other systems,
as some packages install different files depending on the OS they are
being built (which is different to see).

Furthermore, since the sanity checks done in PKG_SYSCONFDIR and VARBASE
are quite agressive, only enable them when CHECK_FILES_STRICT is YES
(defaults to NO).  Developers should enable this feature to detect errors,
but this can't be a default yet.  Otherwise, lots of packages could be
marked broken in bulk builds (they really are, according to "cleanliness"
rules, but most of them are non-trivial to fix).
2005-01-14 14:36:31 +00:00
tv
7983e9bf35 Only do the config.* overrides iff GNU_CONFIGURE. (defined() check needed
to make older bmakes happy.)
2005-01-14 14:08:06 +00:00
tv
f8b3f96fb6 Add override for uncommon "config.rpath" GNU config snippet. Use platform
file to indicate that override logic should be turned on.  (AFAICT, only
Interix is afflicted at the moment.)
2005-01-14 00:10:01 +00:00
tv
609eec1da7 Put back the proper variable construct for LIBTOOL_REQD that was borken in
previous.  (_OPSYS_LIBTOOL_REQD is only defined on some platforms, so the
:U clause provides the next best choice if that's not defined.)
2005-01-13 20:19:57 +00:00
jlam
b6b853727d Nuke USE_FORTRAN and bring the f2c handling within the mk/compiler
framework.  The list of changes include:

  * Modify compiler.mk so that "c" is always prepended to USE_LANGUAGES,
    so we no longer need to say it in package Makefiles.  Packages
    should now append to USE_LANGUAGES instead of setting it.

  * Create mk/compiler/f2c.mk which implements another pseudo-compiler
    "f2c" that may be used with any C compiler backend, e.g.

	PKGSRC_COMPILER= f2c ccache gcc

  * Teach the various "real" compiler files, e.g., sunpro.mk, mipspro.mk,
    etc., to use f2c if the native Fortran compiler isn't present.

Packages that use Fortran should now simply include the line:

	USE_LANGUAGES+=	fortran

in the package Makefile.
2005-01-12 15:31:58 +00:00
jmmv
012b4db0a7 Redo previous because it had a chance to cause serious problems, and was
already demonstrated by imake failing.

So, instead of fiddling with PATH's value in multiple places, rely on
PREPEND_PATH to get things right.  Hopefully this will DTRT.  At least
several local tests have worked without problems.
2005-01-11 20:09:14 +00:00
jmmv
c69a629c0c Reverse PATH order in many places: instead of appending ${LOCALBASE}/bin
and ${X11BASE}/bin to the current PATH, _prepend_ them.  This way we will
pick our own binaries in favour of the system ones, in the cases where
conflicts exist.  Also add a PREPEND_PATH for ${LOCALBASE}/bin.

This should fix several packages on non-NetBSD systems.  For example,
ispell-spanish under Linux comes to mind, as it was using the 'ispell'
binary from /usr/bin instead of the one in /usr/pkg/bin to get its
configuration information.

Ideally, buildlink could handle this as it does for libraries, hidding
unexpected binaries ;-)

No objections in tech-pkg@ (or packages@; I don't remember the exact
list where I asked).
2005-01-11 13:39:19 +00:00
jlam
d67a649768 Allow the creation of error handlers for shell commands in make targets.
PKG_ERROR_CLASSES is a list of error handlers, PKG_ERROR_HANDLER.<class>,
to create.  The default error handler will rethrow the exit code after
emitting an error message that may be specified per-class with
PKG_ERROR_MSG.<class>.

Create error messages for the configure and build phases that inform
the user of places to go looking for why the build didn't complete.
2005-01-10 18:34:48 +00:00
jlam
b73353dae2 Remove redundant CONFIGURE_ENV lines (they're already present in the
shell environment passed in the do-configure target.
2005-01-10 08:30:43 +00:00
minskim
472c0e0fe2 Add the perl path to CONFIGURE_ENV here, so that we don't have to fix
every package using perl.
2004-12-31 13:13:56 +00:00
minskim
dcc78c4962 Use GNU make on Linux when USE_IMAKE=yes, because Makefile generated
by imake on Linux requires GNU make.
2004-12-29 23:19:42 +00:00
jlam
25b81680be Remove USERADD and GROUPADD definitions from OSes where the useradd
and groupadd commands won't follow the calling conventions of the
NetBSD useradd/groupadd.  Modify the INSTALL scripts to *never* create
users or groups if there is no available ${USERADD} or ${GROUPADD}
command, but will warn the user of users and groups that need to be
created before the package can be installed.
2004-12-27 06:41:50 +00:00
agc
429fdd9cb8 Whitespace police - no functional change 2004-12-21 17:30:07 +00:00
jlam
651a4a40fd Ensure that libtool-base>=1.5.10nb7 is required for packages that set
USE_FORTRAN.
2004-12-18 00:14:04 +00:00
jlam
88648515a2 Rewrite func_infer_tag in the libtool script so that it's easier to
specify (hardcoded) compilers from which we can infer the correct tag
(CC, CXX, F77).  Use the following patterns to match compilers to
tags:

	CC:	*cc *xlc
	CXX:	*++ *CC
	F77:	*77 *fort

Bump the PKGREVISION to 1.5.10nb7 since we now infer the F77 tag from
likely Fortran compilers.  Also require at least this version of
libtool when building packages that set USE_FORTRAN.  This should fix
PR pkg/28661.
2004-12-17 16:24:22 +00:00
jlam
82d866954b Nuke bsd.perl.mk... we compute these values where they're needed in
perl5/buildlink3.mk already, so no need to include this file in
bsd.pkg.mk anymore.
2004-12-10 04:25:09 +00:00
wiz
6e02d7ee41 Rename ALL_TARGET to BUILD_TARGET for consistency with other *_TARGETs.
Suggested by Roland Illig, ok'd by various.
2004-12-03 15:14:50 +00:00
wiz
913b2647ad "the the" -> "the" 2004-12-01 09:52:59 +00:00
jlam
b47bc866c0 Move all dlopen-handling code into dlopen.{builtin,buildlink3}.mk. 2004-11-26 08:15:25 +00:00
jlam
b0427900c8 Perl is all about loadable perl modules, so include dlopen.buildlink3.mk.
If we include pthread.buildlink3.mk, then build with Perl ithreads
support.  Bump the PKGREVISION.

Nuke the perl58-thread package.  The perl package can now be forcibly
built with thread support by setting PERL5_USE_THREADS to "yes".
2004-11-25 22:02:49 +00:00
jlam
2e5e6fbf72 dlopen.buildlink3.mk should be added to packages that use dlopen() to
load shared objects.  Some platforms require pthreads to be linked
into the application if it uses dlopen() or else the applications will
core dump when they dlopen a shared module that _is_ linked with
pthread support.  Including dlopen.buildlink3.mk in a package Makefile
will cause pthread.buildlink3.mk to also be included.

It is up to the package to ensure that PTHREAD_{CFLAGS,LDFLAGS,LIBS}
(defined by pthread.buildlink3.mk) are passed to the compiler when
building/linking the applications, possibly by setting PTHREAD_AUTO_VARS
to "yes" in the package Makefile.
2004-11-25 21:33:36 +00:00
jlam
55ba984801 Move selection of the default perl58 (whether it is threaded or not) into
bsd.pkg.mk.  lang/perl58 now always builds perl58, while lang/perl58-thread
builds perl58-thread (POLS).  Fixes PR pkg/28343.
2004-11-17 22:55:14 +00:00
tv
4b5d899ef8 Revert previous (re-add common CPP_PRECOMP_FLAGS). For consistency, also
move usage of _USER_DEPENDS and _OPSYS_MAX_CMDLEN to bsd.pkg.mk.
2004-11-16 18:04:00 +00:00
tv
2e3f2421db CPP_PRECOMP_FLAGS is a Darwinism only. Move its frobbing of CPPFLAGS to
platform/Darwin.mk (simplification).
2004-11-16 16:21:40 +00:00
jlam
4c79895c31 Add a mini-framework to centralise the handling of "hacks" for getting
particular packages to compile correctly.  bsd.hacks.mk auto-includes
the hacks.mk file in the current directory.  An example hacks file:

-------------8<-------------8<-------------8<-------------8<-------------
.if !defined(FOO_HACKS_MK)
FOO_HACKS_MK=	defined

### [Sun Nov 14 02:08:31 EST 2004 : jlam]
### arm GCC 2.95.x optimisation bug tickled when compiling
### lib/funkyfile.c.  Require a more recent version of GCC as a
### workaround and patch lib/funkyfile.c (patch-ae).
###
.if !empty(MACHINE_ARCH:Marm*)
PKG_HACKS+=	optimisation
GCC_REQD+=	3.0
.endif

.endif  # FOO_HACKS_MK
-------------8<-------------8<-------------8<-------------8<-------------

The comment which heads each individual hack should timestamp when the
hack was added and describe the bug that requires the hack.  By
separating out hacks to a separate file, we should be able to simplify
package Makefiles so that they are more readable.
2004-11-14 07:23:07 +00:00
sketch
cc78d56bb6 Introduce LIBABISUFFIX for platforms which require ABI-dependant library paths. 2004-11-12 20:25:41 +00:00
jlam
153b3f00b7 (1) Split out the native (built-in) pthread detection in
pthread.buildlink3.mk into a separate file, pthread.builtin.mk,
    that is handled using the usual builtin.mk logic.

(2) If pthread.buildlink3.mk is included by a package Makefile, then
    automatically add the necessary compiler and linker flags to
    compile and link pthread-enabled/reentrant code.  For native
    pthreads, this means passing -pthread to the compiler and linker.
    For the userland pthread replacement, we pass -D_REENTRANT and
    -lpthread instead.

(3) Add PTHREAD_{CFLAGS,LDFLAGS,LIBS} in both CONFIGURE_ENV and MAKE_ENV
    when pthread.buildlink3.mk is included so that the configure and
    build processes can use these values.  Remove these definitions
    from bsd.pkg.mk since PTHREAD_* variables are all declared within
    pthread.buildlink3.mk.

XXX For now, PTHREAD_LDFLAGS is a superset of PTHREAD_LIBS until
XXX packages that use use PTHREAD_LDFLAGS can be fixed.
2004-11-12 05:20:01 +00:00
tv
6d01962e98 Well, the double libtool BUILD_DEPENDS is already annoying people and I'd
rather not force BUILD_DEPENDS through the (slow) reduce-depends dance, so
resurrect LIBTOOL_REQD (though in a bit more succinct manner).
2004-11-12 02:05:20 +00:00
tv
e8e85c8003 Bump that libtool version number back down to nb1 where it was in previous. 2004-11-11 22:34:12 +00:00
tv
d8c17c9d39 Change the way _OPSYS_LIBTOOL_REQD works slightly.
Rather than replacing the LIBTOOL_REQD value, add two BUILD_DEPENDS lines.
That way, the higher numbered BUILD_DEPENDS wins -- allowing the version
in bsd.pkg.mk to be bumped beyond the value in the platform .mk and still
be enforced properly.
2004-11-11 22:32:45 +00:00
agc
ec3956e4aa Correct whitespace after UPDATE_RUNNING changes 2004-11-02 08:31:45 +00:00
erh
00d045e33b Set UPDATE_RUNNING=YES when deinstalling due to a update or replace target.
Use this to trigger appropriate args to pkg_delete so PKG_PRESERVE packages
can be upgraded.
2004-11-02 00:03:09 +00:00
tv
2c8efb738f Fix shlib execute perm pattern (was broken after 1.1537).
Also, to address concerns raised on tech-pkg, only issue the warning about
execute permission if PKG_DEVELOPER is set.
2004-10-28 14:05:56 +00:00
recht
b83ac5ddfa - Allow CXXFLAGS to be set on a per-OS basis (read added to OPSYSVARS).
- Set CXXFLAGS in the MAKE_ENV (if defined).
2004-10-27 21:45:53 +00:00
tv
28cb3985eb Don't chmod shlibs that are symlinks; fixes issue noted by <grant@netbsd.org>.
Also don't do the ldd-REQUIRES dance unless SHLIB_HANDLING=YES (because you
don't want to run a native ldd on a foreign binary).
2004-10-27 13:47:41 +00:00
grant
91c3a1ad95 whitespace police and tidyup of PLIST_SUBST. no functional change. 2004-10-27 10:41:43 +00:00
xtraeme
45b3b684a4 2nd round for PKG_RESUME_TRANSFERS:
* Add FETCH_OUTPUT_ARGS (new option, defaults to "-o" with NetBSD's ftp(1))
* Use FETCH_OUTPUT_ARGS to move the file transfer to a temporary name
 on ${DISTDIR}/${DIST_SUBDIR} with extension ".temp"
* If temporary file matches the checksum recorded in distinfo, move it
 to the original name (removing temp file)

For example, if you want to use PKG_RESUME_TRANSFERS with wget
(pkgsrc/net/wget), the following vars should be defined in mk.conf:

FETCH_CMD=wget
FETCH_RESUME_ARGS=-c
FETCH_OUTPUT_ARGS=-O

No need to set these vars when using defaults (NetBSD's ftp(1))
2004-10-26 21:14:59 +00:00
lukem
474141b293 add hostname to Subject: of PKGSRC_MESSAGE_RECIPIENTS email 2004-10-26 02:23:37 +00:00
jmmv
f604984f30 Introduce the PKGCONFIG_OVERRIDE_STAGE variable to let a package
specify when the pkgconfig substitutions have to be applied; defaults
to pre-configure.  This is useful because some packages modify the .pc
files during the build process (adding -L flags), so they have to wait
until the build finishes to add the correct rpaths.

Also modify the regular expression in PKGCONFIG_OVERRIDE_SED to match
and fix multiple -L flags, instead of just one.
2004-10-25 18:02:20 +00:00
tv
d581ad2ae3 Only allow LIBTOOLIZE_PLIST=no if USE_LIBTOOL is *not* used, setting BROKEN
if both are specified.
2004-10-21 17:18:44 +00:00
tv
10bbfcf5b1 Put back LIBTOOLIZE_PLIST, which I meant to do but didn't commit. This is
needed by some packages currently which install broken .la files or
otherwise don't work with the transform logic yet.
2004-10-21 17:00:10 +00:00
tv
b271937c8b Propagate $ECHO, $GREP, $SORT to print-la-libnames; fixes this on IRIX.
Noted by Georg Schwarz <geos@epost.de>.
2004-10-16 22:37:29 +00:00
tv
888be43a6a Bump LIBTOOL_REQD back to 1.5.10nb1. This ensures that folks who built
1.5.10 during the "broken" period (before the workaround and wrapper fix)
have to upgrade to make it work correctly.
2004-10-13 18:42:19 +00:00
tv
7f3683f1ed For the ELF form, make sure shlibs are installed +x. If not, issue a
warning, fix it, and move along.
2004-10-13 17:52:46 +00:00
tv
53860a0446 Make strip/no-strip choice more consistent:
Move check for INSTALL_UNSTRIPPED to the platform/*.mk files, alongside
existing check for DEBUG_FLAGS.
2004-10-13 15:31:31 +00:00
tv
78745eb4bf Bump gzip-base to 1.2.4b for security fix. 2004-10-12 18:29:25 +00:00
tv
b0f7b8b308 Automatic inclusion of gzip-base needs a version number in the BUILD_DEPENDS. 2004-10-12 17:32:46 +00:00
tv
728ff6632f Fix _PLIST_AWK_LIBTOOL not to pass @comment lines to print-la-libnames. 2004-10-12 14:34:57 +00:00
tv
b546e8c0c5 Upon further digging, it appears that Interix just needed a
_TOOLS_REPLACE_OPSYS setting to pick up nbsed in tools.mk; no need to
throw more into autoconf's environment.
2004-10-11 23:38:53 +00:00
tv
d769d069b3 A couple packages overflow Interix's sed in an autoconfitized configure
script.  Since all platforms define a "reasonable" sed(1), it seems
reasonable to pass this info to ./configure as well.

While here, convert LIBS="${LIBS}" to the proper LIBS=${LIBS:Q}.
2004-10-11 23:27:18 +00:00
tv
af06ad46bd Add EXTRACT_ENV.bin, allowing things to be passed into the environment of
a ".bin" extraction (to be used shortly by lang/sun-jre15).

This isn't a generic EXTRACT_ENV, as the rest of the extraction tools don't
currently need such a knob.  The most common use would be to set things in
the env of a binary-only distribution to make for silent or otherwise
twiddled package extraction.
2004-10-09 03:47:13 +00:00
jlam
17c3aafac1 * Make PKGSRC_TOPDIR a private variable by renaming it to _PKGSRC_TOPDIR,
as it's only used internally by bsd.prefs.mk.

* Make _PKGSRCDIR a public variable by renaming it to PKGSRCDIR.
  Also, generate its value from ${_PKGSRC_TOPDIR} so it's less fragile
  than the old method of stripping off the last two components of
  ${.CURDIR}.  PKGSRCDIR may now be used after bsd.prefs.mk is defined.

* Change all references to _PKGSRCDIR to PKGSRCDIR.
2004-10-07 02:01:37 +00:00
jlam
087adf00de Move the "dependency reduction" code from buildlink3 to bsd.pkg.mk so
that all of pkgsrc can benefit from removing redundant dependencies.
The code is encapsulated in a new file reduce-depends.mk which is
included by bsd.pkg.mk after all dependencies have been specified.
2004-10-05 15:28:50 +00:00
jlam
f2cb35cf1e Add a scan script that checks for "-v" on the command-line, and prevents
the wrappers from adding extra flags to the command-line if "-v"
exists.  This makes "g++ -v" return the same error code for both the
wrapper and the real executable and fixes the problem with the
libtool-base build not correctly detecting the C++ compiler and thus
not adding the CXX configuration tag to the final libtool script.

Downgrade LIBTOOL_REQD to 1.5.10 since the newest version isn't needed
with this change.
2004-10-04 20:28:29 +00:00
tv
4bee2600f9 Fix completely hosed test for g++ when CXX=g++. The old test worked fine.
Revert until the hosage is tracked down and eliminated at the source.

(Bump to libtool-1.5.10nb1, and make this the required version.)
2004-10-04 19:48:09 +00:00
hira
da072355cf Don't echo the debug message for the targets whose output is used
by other targets.

OK'd by jlam.  This should close pkg/24377.
2004-10-03 04:24:20 +00:00
tv
c487cb967a Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10
in the process.  (More information on tech-pkg.)

Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.

Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
2004-10-03 00:12:51 +00:00
hubertf
ec50bc5bf8 Update the wording a bit when a license is not accepted, to better
indicate the proper process: first read the license, then accept,
and indicate so in /etc/mk.conf:

	yui% make
	===> graphviz-1.12 has an unacceptable license: graphviz-license.
	===>     To view the license, enter "/usr/bin/make show-license".
	===>     To indicate acceptance, add this line to your /etc/mk.conf:
	===>     ACCEPTABLE_LICENSES+=graphviz-license
	*** Error code 1
2004-10-01 00:23:18 +00:00
tv
2639310040 Per jlam's suggestion, remove the libtoolize conditional altogether. Some
packages install libtool archives without using USE_LIBTOOL.
2004-09-27 19:37:36 +00:00
tv
243c9deac1 LIBTOOLIZE_PLIST doesn't even need to be conditional. If USE_LIBTOOL is
set in the package Makefile, then a libtool transform will be done, period.
2004-09-27 14:44:31 +00:00