Commit graph

4328 commits

Author SHA1 Message Date
dmcmahill
afce691e43 make use of the new tools framework via the prereq-readme package to
extract tools needed for the README.html generation.  Suggested by
Johnny Lam and Rolland Illig.
2005-05-18 04:51:35 +00:00
rillig
eba78b2381 Removed the quoting for SUBST_MESSAGE.<class>. Most packages unnecessarily
define that inside double quotes.
2005-05-18 03:33:51 +00:00
jlam
d17d2e4a4f perl.mk was moved from being included by bsd.tools.mk to replace.mk.
Since replace.mk has its own loop to add dependencies, we can remove
the one from perl.mk.
2005-05-18 03:14: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
3823422ca7 If USE_TOOLS has "perl" then also define PERL5_PKGSRCDIR for use by
mk/tools/perl.mk.  This fixes broken dependencies on perl where the
path to the package wasn't defined.
2005-05-17 22:49:55 +00:00
jlam
39cbd126b0 Make USE_TOOLS+=imake imply USE_X11BASE=yes, along with the other
variable definitions that apply when USE_IMAKE is defined.
2005-05-17 22:22:52 +00:00
jlam
26e97aafd5 _tar.gz is a recognized suffix, so recognize that we need the right tool
to untar the archive.
2005-05-17 22:11:14 +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
0f437f77f6 Allow tweaking of options to pax/tar via EXTRACT_CMD_OPTS.*. 2005-05-17 21:34:29 +00:00
jlam
d3bca7af85 Missed (harmless) rename of "fuzz" to "fuzz_flags". 2005-05-17 19:11:02 +00:00
jlam
9513935c48 Simplify by using a for loop instead of "set -- ...; while ... done".
Also, rename "fuzz" to "fuzz_flags" to clarify that it's a set of flags
and should be used unquoted.  Output from rilligd :)
2005-05-17 19:08:30 +00:00
rillig
e251db98e2 The sunpro wrapper now creates aliases for gcc and g++, too. This is needed
because the <sys.mk> Makefile fragment sets CC?=gcc.
2005-05-17 19:06:21 +00:00
rillig
feabae83e2 Fixed shell quoting. Reviewed by jlam. 2005-05-17 19:01:36 +00:00
jlam
8c1f92916b Move perl handling into replace.mk. We now can specify USE_TOOLS+=perl
to note that we need the perl binary and the associated PERL5 and
TOOLS_PERL5 variable definitions.
2005-05-17 18:34:45 +00:00
schmonz
fa12e66df0 Excise DJB_CONFIG_DIR. 2005-05-17 08:42:24 +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
25dcb2dc7a We only need to run the apply-pkgsrc-patches target if the patches
directory or the local patches directory exist.  Also, emit the message
informing the user that pkgsrc patches are being applied that was lost
in the previous commit.
2005-05-17 05:00:06 +00:00
jlam
a546eb83fd Split up the do-patch target into two distinct targets --
apply-distribution-patches and apply-pkgsrc-patches.  Rewrite the
latter code to be more "whitespace-friendly" and to not need to invoke
${AWK} as many times.  Drop support for PKGSRC_SHOW_PATCH_ERRORMSG
and simply always show the error message.
2005-05-17 04:45:53 +00:00
jschauma
a3fb779cec When generating the report, add a list of top ten offenders at the top.
This makes it easy for people to track down which packages should receive
immediate attention.
2005-05-16 19:11:19 +00:00
jlam
f009001837 In the autoconf213 case, the AUTO* variables should point to the
TOOLS_CMD.* variables for the -2.13 variants.  Otherwise, they're
empty, which causes errors for packages that use ${AUTOCONF}.
2005-05-16 18:54:06 +00:00
jlam
482689cdaa NetBSD's (and bootstrap's) pax-as-tar is GNUish enough to extract most
GNU tar archives.  Create a new EXTRACT_USING value "nbtar" that causes
tar/ustar archives to be extracted using pax-as-tar, which understands
most GNU tar extensions.  Default to EXTRACT_USING=nbtar, as quite a
few packages are distributed in GNU tar archives.
2005-05-16 18:43:20 +00:00
jlam
a77257ee11 USE_GNU_TOOLS+=m4 should translate to USE_TOOLS+=gm4 to get the same
meaning.
2005-05-16 18:35:30 +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
06697c97a8 Add missing required argument to msg_log. 2005-05-16 17:54:51 +00:00
jlam
3966d98d38 Treat USE_GNU_TOOLS+=yacc the same as USE_TOOLS+=bison, since there is
the implication that the system yacc(1) is not good enough anyway.
2005-05-16 16:28:54 +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
rillig
7168c9aa72 Changed option processing to evaluate the options strictly from left to
right in each variable, starting with the most generic one. Later
definitions override earlier ones. This makes the ``order'' testcase in
regress/pkg-options succeed.
2005-05-16 09:08:29 +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
ed2ba77faa Document EXTRACT_USING in bsd.pkg.extract.mk where it is used. 2005-05-16 04:22:40 +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
bff1867aa9 Don't forcibly set XMKMF -- allow the package to override it if necessary. 2005-05-15 23:27:44 +00:00
jlam
0582157fdb Asking the tools framework for "bison" now provides two distinct tools:
"bison" and "bison-yacc".  bison is just a symlink to the real bison,
but "bison-yacc" provides a "yacc" in ${TOOLS_DIR} that does "bison
-y".  This allows the tools framework to provide everything that a
package might look for when asking for "bison" and avoids relying on
the bison being available in the PATH.
2005-05-15 23:20:38 +00:00
jlam
94ed41f339 In the tools framework, check that the directory doesn't exist before
creating it in case ${MKDIR} can't handle that situation.
2005-05-15 22:53:57 +00:00
jlam
f6bb82897e MAKE_PROGRAM:T isn't necessary... we can just call "make", and the PATH
is already properly constructed to call the one in ${TOOLS_DIR}, which
symlinks to the correct make tools.  From rillig@ in private mail.
2005-05-15 22:50:53 +00:00
jlam
2205e39726 Linux xargs is probably GNU xargs, so we need to invoke it with "-r".
From schwarz@ in private mail.
2005-05-15 22:37:46 +00:00
jlam
2e18822098 gzip-base installs "zcat" not "gzcat". 2005-05-15 22:34:43 +00:00
jlam
f680604f3c We want to check if we're in gzip-base to avoid circular dependencies on
gzip.
2005-05-15 22:33:08 +00:00
jlam
4298b295a5 gzip and gunzip don't exist on IRIX 5 so wrap then in existence checks.
Ditto for mailx.  Lastly, /usr/bsd/zcat isn't gzcat (doesn't understand
gzipped files), so don't use it as a gzcat replacement.  Changes from
Georg Schwarz in private email.
2005-05-15 22:31:50 +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
75b0b9c5cc If we're using xpkgwedge, we need to force using pkgxmkmf so that we
pick up the xpkgwedge imake config files.
2005-05-15 18:37:44 +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
jlam
e0fd563afe distfiles that end in .Z require gzcat as part of the extraction process. 2005-05-15 03:57:21 +00:00