1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-24 04:33:24 +00:00
Commit Graph

546 Commits

Author SHA1 Message Date
Satoshi Asami
f682f47599 (1) Add new USE_BISON directive, which will expand to BUILD_DEPENDS on
4-current post bison-removal and to a no-op otherwise.  Note this
    should only be used when the software in question uses a feature
    in bison that is not in byacc -- otherwise it should be patched to
    use byacc (or detect the absense of bison correctly).  [bsd.port.mk]

(2) Do not assume all category names are lowercase.  In particular,
    remove package links by removing them one by one, instead of doing
    a "rm [a-z]*/${PKGNAME}.tgz". [bsd.port.mk]

(3) Do not assume the category name doesn't include a path separator
    (/).  Make links accordingly. [bsd.port.mk,README.category,README.port]

(4) Do not assume all category makefiles are directly under
    ${PORTSDIR}.  [bsd.port.mk,README.category]

(5) Add new "package-name" target which prints out the directory name
    to be used in the parent README.html.  [bsd.port.subdir.mk]

(2) through (5) are in preparation for going to multi-level
categories.  They shouldn't make any difference yet, but are committed
first so people can start testing.
2000-01-21 11:08:23 +00:00
Satoshi Asami
3b3f6a3a1f (1) Add check for including bsd.port{,.pre,.post}.mk twice. You can't do that.
(2) Add ipv6 and tcl/tk83 to list of valid categories.
Requested by:	sumikawa, jseger

(2) Change OSVERSION for NEWGCC check to a more appropriate time for the
    actual cutover.

(3) Change XFree86 version in PKG_IGNORE_DEPENDS from 3.3.5 to 3.3.6.

(4) Change some ${ECHO_MSG}'s in fatal errors to ${ECHO}, no need to be quiet
    if there's something terribly wrong.
2000-01-17 12:43:10 +00:00
Satoshi Asami
cd372a0c66 (1) Fix the distfile deletion for cases where distfiles are specified
with directory names.
Submitted by:	jdp

(2) Preserve +REQUIRED_BY file when FORCE_PKG_REGISTER is defined.
Reviewed by:	steve

(3) Add new variable EXTRA_PATCHES, which can be set to some files
    outside of ${PATCHDIR} (which usually means ${WRKDIR}).  These
    will be applied after distribution patches but before the normal
    ${PATCHDIR} patches.

    Useful when you have dynamic patches.

(4) Move USE_QT2 earlier, the USE_NEWGCC dependency wasn't working
    because it came after the USE_NEWGCC check.  Move USE_QT alongside
    new location of USE_QT2.
Submitted by:	imura

(5) Substitute ftp.cdrom.com for ftp.funet.fi in MASTER_SITE_SUNSITE,
    which no longer seems to be a full mirror anymore.
Submitted by:	Ade Lovett <ade@lovett.com>
PR:		14221

(6) Fix typo in MASTER_SITE_FREEBSD case -- it used ${MASTER_SITES}
    (instead of ${PATCH_SITES}) to fetch distribution patches.  That
    obviously would fail if the user attempted to build a port before
    the distribution patches showed up at ftp.FreeBSD.org.

(7) Remove tcl75, tk41 and tk81 from the list of valid categories.
    (tcl81 is still used.)
Submitted by:	jseger

(8) Make delete-package-list a little more verbose by making it check
    the existence of a package file and print out what it's doing.
    Silence bogus warnings from delete-distfiles-list by redirecting
    stderr from rmdir to /dev/null.

(9) Remove OpenBSD_MAINTAINER=imp, he hasn't been doing any work with
    this file on the OpenBSD repository for a long time.
Submitted by:	imp
1999-11-11 02:36:15 +00:00
SADA Kenji
7ef513a621 Removed ftp://ftp.t-cnet.or.jp from MASTER_SITE_PORTS_JP.
Submitted by:	Issei Suzuki <issei@jp.freebsd.org>
1999-10-10 17:19:49 +00:00
Satoshi Asami
4b4bdf5221 Change qt2 directory according to 2.0.1 -> 2.0.2 upgrade. 1999-10-02 04:12:33 +00:00
Satoshi Asami
86e007742a Handle distfiles with directory names in it. Helps when the master site
has things in different directories.

PR:		13926
Submitted by:	jdp
Reviewed by:	steve
1999-10-01 09:28:32 +00:00
Satoshi Asami
fec28e384a (1) x11-toolkits/qt2 -> x11-toolkits/qt201
Submitted by:	many people

(2) Surround the perl describe target with an echo ``.  We'll see if
    it will help with the index corruption problems.

(3) Manpage handling fix to avoid command line too long errors for
    ports with a lot of manpages.
Submitted by:	hoek
1999-09-22 01:04:30 +00:00
Satoshi Asami
de095461c0 (1) Adjust to new libtools.
Submitted by:	libtools maintainer

(2) Typo/updates in master sites.
Submitted by:	jkoshy, chris, cpiazza

(3) "automagically" -> "automatically".  I prefer words in dictionaries.
Submitted by:	Kazu TAKAMUNE <takamune@avrl.mei.co.jp>
PR:		13638

(4) Quote ${DEPENDS_TARGET} in command line so make reinstall won't fail.
Submitted by:	Kazu TAKAMUNE <takamune@avrl.mei.co.jp>
PR:		13638
1999-09-11 01:11:21 +00:00
Satoshi Asami
a768b7da1b (1) New variable USE_QT2 to say that the port uses QT version 2.
Submitted by:	cpiazza
Approved by:	imura (qt2 maintainer)

(2) Add CC and CXX to MAKE_ENV if USE_NEWGCC is defined.
Suggested by:	cpiazza

(3) Update XFree version PKG_IGNORE_DEPENDS.

(4) Add ${WHICH}=/usr/bin/which and use it.
Submitted by:	Yoshiaki Sakae <sakae@is.titech.ac.jp>

(5) Update afterstep and windowmaker master sites.
Submitted by:	KATO Tsuguru <tkato@prontomail.ne.jp>

(6) Add tcl82 and tk82 to list of valid categories.
Submitted by:	A whole bunch of people

(7) Use .MAKEFLAGS, not DEPENDS_ARGS to pass FORCE_PKG_REGISTER to
    submake when DEPENDS is defined -- the latter is too late.
1999-09-08 06:04:43 +00:00
David E. O'Brien
544e6f5400 Id->FreeBSD rename bis
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1999-08-25 04:40:22 +00:00
Satoshi Asami
8515b1add6 (1) Add new variable USE_NEWGCC. Set this if your port requires the
latest gcc.  This is currently the system compiler in 4-current and
    ports/lang/egcs in 3-stable.

    Setting USE_NEWGCC is a no-op if the compiler required is in the
    system.  If it is to be provided by a port, it will cause the
    variables "CC" and "CXX" to be set to the names of executables for
    the C and C++ compiler, and adds a BUILD_DEPENDS on the
    appropriate port.
Reviewed by: Chris Piazza <cpiazza@home.net> and Ade Lovett <ade@lovett.com>

(2) Add new variables CHMOD and CHOWN, set to full pathnames of those
    commands.  (Used in 3)

(3) When run as root, change owner:group of all files under ${WRKDIR}
    to 0:0 after extraction.  Set EXTRACT_PRESERVE_OWNERSHIP to turn
    off this feature.
Problem reported by: Slawek Zak <zaks@prioris.im.pw.edu.pl>
Reviewed by:	 the ports list

(4) Update MASTER_SITE_XCONTRIB.
PR:		12879
Submitted by:	Will Andrews <andrews@technologist.com>

(5) Update MASTER_SITE_GNU.
Submitted by:	Ralf "pth update of the day" Engelschall <rse@engelschall.com>

(6) Add check for valid categories.  If the port is not in a
    pre-approved list of categories, install will fail.  If you need a
    local addition, put it in variable VALID_CATEGORIES.
Reviewed by:	 the ports list

(7) Experimental feature: DEPENDS_CLEAN.  Define this variable and
    bsd.port.mk will attempt to run "make install clean" instead of
    "make install" when building dependencies.  Might be useful if you
    are building a port with a large number of dependencies without
    the benefit of a large disk.
1999-08-22 11:20:25 +00:00
Satoshi Asami
50fbbf4c4d Oops, forgot to commit this. Typo.
Submitted by:	hoek
1999-07-23 09:38:57 +00:00
Satoshi Asami
a163079f0d Makefile:
(1) Sort INDEX lines since with the new parallel patch, the lines can
    come in out of order.  (see 2)

Mk/bsd.port.subdir.mk:
(2) Make the targets parallelizable.
Submitted by:	hoek
Reviewed by:	steve, among others

Mk/bsd.port.mk:
(3) Serious speedup of bsd.port.mk startup.  In particular, this helps
    cut down "make index" time from an hour and a half to 8 minutes on
    our system with a parallel make describe (see 2).  Try to pass
    unchanged variables down from parent makes instead of rerunning
    commands to define them, etc.
Submitted by:	hoek
Reviewed by:	steve, among others

(4) Change a bunch of "FreeBSD.ORG"s and "freebsd.org"s to "FreeBSD.org".

(5) XFree86 is now at version 3.3.4.

(6) Update for gnome master sites.
Submitted by:	mharo

(7) Remove old system tcl check, I don't think people with systems
    from way back are still submitting ports.

(8) Fix comment on "make describe" line description (www site was missing).
1999-07-23 09:36:55 +00:00
Satoshi Asami
8eb1ac2cec (1) Print out ${CONFIGURE_LOG} (default: "config.log") when
${CONFIGURE_SCRIPT} fails, in an attempt to help debugging.  It
    could be a little verbose, but as my grandmother always used to
    say, "you gotta be verbose in error logs".

(2) Roll back PERL_VERSION to 5.00502 in the 2.2 branch to give users
    of that side a fighting chance.

(3) Don't check for ${_DISTDIR} in delete-distfiles-list; it's only
    printing out commands anyway.

(4) Bump BSDPORTMKVERSION to accomodate perl version change (I know
    it's late, but better late than never!)
1999-06-11 11:59:10 +00:00
Satoshi Asami
6cc6a66743 Spell out LIBTOOL with full path, otherwise it won't work since it's
called as an argument to /bin/sh.

Submitted by:	reg@shale.csir.co.za
1999-05-10 23:11:07 +00:00
Satoshi Asami
fe917ae658 (1) New variable USE_LIBTOOL that will patch the port to use the devel/libtool
port.
Submitted by:	Jeremy Lea <reg@shale.csir.co.za>

(2) Automatically create ${PREFIX}/info/dir if it doesn't exist.  Attempt to
    do the same in PLIST.
Submitted by:	Jeremy Lea <reg@shale.csir.co.za>

(3) Update perl version to 5.00503 to match system.

(4) Typo fix in MASTER_SITE_WINDOWMAKER.
Submitted by:	Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org>

(5) Reword the REQUIRES_MOTIF message to suggest the user to look at lesstif.
Submitted by:	Steve Kargl <sgk@troutmask.apl.washington.edu>
1999-05-06 12:07:57 +00:00
Satoshi Asami
8dddbbe6dd (1) Make it clear that only I am allowed to commit to bsd.port.mk.
(2) New variable USE_ZIP -- will change EXTRACT_SUFX to ".zip" and
    extract commands/arguments accordingly.
Submitted by:	jseger

(3) Use ${GREP} in some places where grep was used.

(4) A little update to the MASTER_SITES_GNU list.
Submitted by:	cpiazza@home.net

(5) New target clean-for-cdrom-list and clean-restricted-list -- will
    print out commands to delete un-cdromable or unredistributable
    files.  Save them into a shell script for later use.

(6) Add CXXFLAGS="${CXXFLAGS}" to configure's environment.
Submitted by:	reg@shale.csir.co.za
PR:		11353 (part 3/3)

(7) Print out a warning if you try to install without being root.
    Abort if ${PREFIX} is not writable.

(8) Add web site to INDEX as tenth field.
Reviewed by:	wosch, steve, scrappy
1999-04-28 06:20:23 +00:00
Stefan Bethke
f1d4a2d7ad Clarify use of IS_INTERACTIVE.
Suggested by: asami@freebsd.org (well, at least implicitly :-)
1999-04-23 02:20:45 +00:00
Satoshi Asami
baa1e73982 Check for missing directories (listed in SUBDIR but non-existent) in
"checksubdirs" too.
1999-04-12 09:03:41 +00:00
Satoshi Asami
e74535bf0b (1) Pick up version file from /var/db if it exists there. I will
commit a change to actually move the file in a couple of days.
    (Right now this file looks at both /var/db and /var/db/pkg.)
Requested by:	jkh

(2) Skip version test for 2.2.x, I don't intend to rebuild update kits
    anymore.

(3) sunsite.unc.edu -> metalab.unc.edu
Submitted by:	steve

(4) New variable ALWAYS_BUILD_DEPENDS, it will make your build go and
    rebuild all dependencies (except XFree86) regardless of
    executable/file/shlib test results.  It could be useful if you
    suspect that some of the dependencies are out of date but won't be
    flagged by the normal checks.
Reviewed by:	the ports list
1999-04-08 07:13:38 +00:00
Satoshi Asami
6ce93e77d0 (1) Move _sedsubplist generation later, just before it is used. The
old location caused some variables (most notably CONFIGURE_TARGET)
    to be undefined.
PR:	10724

(2) Fix comment about CONFIGURE_TARGET.
Submitted by:	OKAZAKI Tetsurou <okazaki@be.to>

(3) Add comment to FETCH_CMD test indicating that it *is* intentional
    that all 3.x versions use "fetch -A" -- people using the upgrade
    kit won't have their ${OSVERSION} updated.

(4) Add MASTER_SITE_TCLTK which is, well, Tcl/Tk master sites.
Submitted by:	Bill "the typo picker" Fumerola <billf@jade.chc-chimes.com>

(5) Add new variable FORBIDDEN indicating that the port shouldn't be
    built -- this is different from BROKEN, which now means we think
    it's broken but the user should be more than happy if it actually
    works.

(6) Add support for system/upgrade kit version check.  The file
    /var/db/pkg/.mkversion is compared to the BSDPORTMKVERSION
    variable (basically the date a bsd.port.mk with an incompatible
    change is committed).  If the system is too old, bsd.port.mk will
    urge the user to install an upgrade kit.
Submitted by:	billf (some parts)
Reviewed by:	the ports list

(7) Remove "ac_cv_path_CC=${CC}" from configure's envirenment, it's
    supposed to find this stuff by itself (and if it doesn't then it's
    an individual port's responsibility to add it).
Reported by:	Archie Cobbs <archie@whistle.com>

BSDPORTMKVERSION is bumped (actually initialized) to 19990327, by the way.
1999-03-29 07:07:59 +00:00
Satoshi Asami
44a8825c91 (1) (Forgot to mention in previous commit log) Add
MASTER_SITES_PORTS_JP for storing stuff that people on the
    ports-jp mailing list created.
Suggested by:	KIRIYAMA Kazuhiko <kiri@pis.toba-cmt.ac.jp>

(2) Conditionalize use of "-A" flag to fetch so the entire ports tree
    won't break on 2.2.X machines.
Suggested by:	Brian Tiemann <btman@ugcs.caltech.edu>
1999-03-09 11:27:34 +00:00
Satoshi Asami
5426e8d986 (1) Change FETCH_CMD to add the -A flag, so it won't be confused by the
"not_found.html" stuff.

(2) Add "MACHINE_ARCH?=i386" so those with a 2.x system have a
    fighting chance of getting ports-current to work.

(3) Add new variable CONFIGURE_TARGET, defaulting to
    ${MACHINE_ARCH}--freebsd${OSREL}, which is tucked to the end of
    CONFIGURE_ARGS if GNU_CONFIGURE is defined.
Reviewed by:	various

(4) Change MASTER_SITE_GNOME to match reality.
Submitted by:	Jeremy Lea <reg@shale.csir.co.za> and nectar

(5) Change MASTER_SITE_SUBDIR handling so we won't be generating
    double slashes.
Submitted by:	The lord of distfiles himself

(6) Add new variable FETCH_ENV which is the environment passed to
    FETCH, so people can define HTTP_PROXY or whatever the want
    without screwing up the case when FETCH_CMD is not fetch.
PR:		2949
Submitted by:	same
1999-03-08 07:23:10 +00:00
Satoshi Asami
6a32207319 (1) Add MASTER_SITE_AFTERSTEP and MASTER_SITE_WINDOWMAKER for the master
and mirror sites of two popular window manager suites.
Submitted by:	Brian Handy <handy@lambic.physics.montana.edu>

(2) Upgrade for Motif-2.1.10.  It requires libXpm and libXp now.

(3) PARALLEL_PACKAGE_BUILD will now ignore BROKEN.

(4) Add new variable PKG_IGNORE_DEPENDS to not register some ports as
    dependencies.  Useful for stuff like XFree86 and Motif.
Reviewed by:	jkh
1999-02-14 06:49:55 +00:00
Satoshi Asami
fd5131ad95 (1) ${MASTER_SITE_SUBDIR} is now a list, and ${MASTER_SITE_*} macros
will be expanded multiple times if ${MASTER_SITE_SUBDIR} contains
    more than one item.
Reviewed by:	Bill "Mr. distfiles" Fenner

(2) Replace stale site with a good one in MASTER_SITE_GNU.
Submitted by:	Bill "Mr. mastersites" Fenner

(3) Add new variable USE_BZIP2, which, like USE_GMAKE, will change the
    default decompression method of distfiles from gzip to bzip2.
    Since tar doesn't have a simple flag to turn on bzip2
    decompression, I changed the way EXTRACT_CMD and
    EXTRACT_{BEFORE,AFTER}_ARGS work.  These are the new defaults:

    EXTRACT_CMD:		gzip or bzip2
    EXTRACT_BEFORE_ARGS:	-dc
    EXTRACT_AFTER_ARGS:		| tar -xf -

    (They used to be "tar", "-xzf", and "", respectively, before.)
    Also, EXTRACT_SUFX will default to ".tar.bz2" if USE_BZIP2 is set.

    There are a few things porters should be careful about:

 (a) If you are using bsd.port.{pre,post}.mk, USE_BZIP2 should be set
     before the .include of pre.mk.

 (b) Do not use ${EXTRACT_SUFX} as an alias of tar.  There is a new
     variable ${TAR} for that purpose.

 (c) If you are calling ${EXTRACT_CMD} directly, you need both
     ${EXTRACT_BEFORE_ARGS} and ${EXTRACT_AFTER_ARGS} in the command
     line.  (The latter was previously empty so could be omitted --
     that is no longer the case.)

 (d) If you need to set any of EXTRACT_CMD, EXTRACT_BEFORE_ARGS or
     EXTRACT_AFTER_ARGS, define all three, even if they are the
     default.  The values of these variables may very well change in
     the future (but the calling syntax probably will not) so it will
     save the port from breakage when that happens.

Tested by:	recompiling the entire ports tree
1999-02-03 11:06:19 +00:00
Satoshi Asami
7cc90a07a0 Forgot to change "templates" to "Templates" in this file.
PR:		9761
1999-01-29 12:51:43 +00:00
Satoshi Asami
047e500528 (1) Rename "templates" to "Templates". The toplevel is getting
crowded and I don't want to confuse cvsup about what's in
    ports-base and what is not.  (I.e., all uppercase
    files/directories are, all lowercase ones are not.)  While I'm
    here, move the make_index script from templates to Tools.

(2) Adjust the MASTER_SITE_OVERRIDE logic a bit.  Formerly, it was not
    possible to specify both MASTER_SITE_OVERRIDE while still using
    MASTER_SITE_BACKUP as a backup, as they were tied in the
    implementation of MASTER_SITE_FREEBSD.  You can now specify them
    independently if MASTER_SITE_FREEBSD is not set (in which case
    MASTER_SITE_BACKUP will be moved to the beginning of the list,
    like before).
1999-01-26 03:58:58 +00:00
Satoshi Asami
25b174d4e1 Use "" instead of <> to specify bsd.port.mk, since we want it to look in
this directory first.
1999-01-26 03:53:15 +00:00
Satoshi Asami
61dd9d3914 (1) Add gnome master sites.
Submitted by:	Jeremy Lea <reg@shale.csir.co.za>

(2) Change backup distfiles dir to reflect change in ftp.freebsd.org's
    reorganization.
1999-01-20 01:55:05 +00:00
Satoshi Asami
00266a060f (1) Add ONLY_FOR_ARCHS and NOT_FOR_ARCHS. They are list of architecture names
(as given by "uname -m") by which you can specify which
    architectures the port is appropriate for.
Idea borrowed from:	NetBSD, OpenBSD
Reviewed by:		simokawa

(2) New variable PERL_ARCH (value: ${ARCH}-freebsd) that is also
    passed to ${PLIST_SUB}.  Use it to simplify PLISTs.
Submitted by:	simokawa

(3) Check OSVERSION as well as existence of /usr/bin/perl5 before
    assuming USE_PERL5 is to be a no-op.  Basically to allow building
    of 2.2-INDEX on a 3.0 machine.

(4) Change USE_QT definition to use new shlib version (2) and
    directory (qt142).

(5) Uncomment temporary Motif dependency for parallel package
    building.  We still need to figure out a way to install the pkg
    database files, but it's a start.

(6) Move EXTRACT_SUFX up into the pre.mk area so it can be used in
    exists() tests.

(7) Add MASTER_SITE_COMP_SOURCES.  Note that this is defined like
    "/pub/usenet/comp.sources.%SUBDIR%/" so you can specify something
    like "SUBDIR=x/volume18" to select the newsgroup as well as
    subdirectory name.
Submitted by:	"distfiles" fenner

(8) Other misc. master site cleanup.
Submitted by:	"distfiles" fenner

(9) New target "maintainer".  I intend to use it to auto-mail failure
    build failure notices to the maintainer.
1999-01-11 13:04:18 +00:00
Satoshi Asami
3d0b444f0d (0) Fast INDEX generation. Only print out the directory name and
don't recurse in "make describe".  The new INDEX target in
    ports/Makefile invokes a perl script to recurse and convert them
    into package names.

    While I'm here, change the name of targets and move them around a
    little bit for the sake of consistency.

    It is also probably worth noting here that the meaning of the
    "build dependency" list in INDEX has been changed slightly
    changed.  The old list was "build depends and its build depends"
    -- not particularly useful if you had things like autoconf, which
    run-depend on gm4 (you install all the things listed here and
    you'll get an autoconf that won't run).

    It is now "build depends and its run depends" -- you install
    everything listed here, and you'll be able to build the port.
Submitted by:	steve

(0') Fast README.html generation.  It uses ports/INDEX to find
    dependencies instead of embarking on to a recursive loop.
Submitted by:	steve

(1) Remove NO_WRKDIR and NO_EXTRACT.  Their functionality are easily
    replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right
    side), and they get in the way of read-only port trees.

(2) Surround first few variable definitions with ".if !defined()".
    This will make cross-compilation easier and also speed up make
    processes.

(3) Call sysctl with absolute path.  Prefer the one in /sbin over the
    one in /usr/sbin.

(4) Add four new variables

    PKGINSTALL?=	${PKGDIR}/INSTALL
    PKGDEINSTALL?=	${PKGDIR}/DEINSTALL
    PKGREQ?=		${PKGDIR}/REQ
    PKGMESSAGE?=	${PKGDIR}/MESSAGE

    and use them in PKG_ARGS.  Frobbing with PKG_ARGS directly is
    strongly discouraged.

(5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is
    defined.  This is intended only for our own use.

(6) Add more sites to MASTER_SITE_GNU.
Submitted by:	billf

(7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is
    defined.  This is intended only for our own use.

(8) Add new target "ignorelist" which will print out the package name
    if the port is not going to be built on this machine.  This is
    intended only for our own use.

(9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
Satoshi Asami
260134bf60 Change USE_QT to use version 1.41. I know this is a little premature,
but I'd like as many people to test this before the release.
1998-11-25 00:12:27 +00:00
Satoshi Asami
1007d89b1e (1) Remove LOOP_VAR and LOOP_OPTIONS. It's a hack and just too many things
break one way or another.  With it goes the package-loop and the
    describe loop.

(2) Add new variable MASTERDIR to make it easier to share files between ports.
    bsd.port.mk will find things like ${PKGDIR} underneath
    ${MASTERDIR} (which defaults to ${.CURDIR}).

(3) Do not allow MD5_FILE to be renamed.  Funny things can happen if
    you do that.

(4) Use a few more absolute paths in the bsd.port.pre.mk part.  I
    can't use absolute paths for sysctl because it moved recently.
1998-11-20 04:00:38 +00:00
Satoshi Asami
b63234040b Add EXTRA_PKG_FLAGS to PKG_FLAGS. You can now add arguments to pkg_create
without redefining PKG_FLAGS after bsd.port.mk.
1998-11-14 09:45:09 +00:00
Satoshi Asami
c2e32ac36f Make bsd.port.mk includable in two phases. bsd.port.pre.mk defines only
a few variables that could be used in the port Makefile for ".if exists()"
tests.  bsd.port.post.mk defines the rest.

Note: if you define USE_X_PREFIX or USE_IMAKE, put it before including
bsd.port.pre.mk.  These are the only two variables used in the first part.

In reality, bsd.port.pre.mk and bsd.port.post.mk just include bsd.port.mk
with special variables to turn part of it off.
1998-11-11 05:21:29 +00:00
Satoshi Asami
4574e6e174 (1) New variable MAKE_ARGS: will be appended to build/install make argument
list.  The old MAKE_FLAGS was a little hard to use since it had a weird
    default ("-f").
Suggested by:	Shigeyuki FUKUSHIMA <shige@kuis.kyoto-u.ac.jp>

(2) Add new targets clean-restricted and clean-for-cdrom, which will
    delete RESTRICTED and NO_CDROM packages and distfiles from the top.
Reviewed by:	jkh

(3) Add depends to list of things to recurse on.  It will help people
    who are trying to fetch some ports plus their dependencies.

Requested by:	Chris Dillon <cdillon@wolves.k12.mo.us>
1998-11-08 10:29:53 +00:00
Satoshi Asami
584030d604 (1) Add new variables LOOP_VAR and LOOP_OPTIONS to implement building several
packages from a single port.  LOOP_VAR is the name of the variable
    and LOOP_OPTIONS is a space-separated list of values it should
    take.  When these are set, the target "package-loop" will go
    through a clean and package loop for all the options.  The
    "package-loop" target is defined as "package" when LOOP_VAR is not
    defined, so if you are in the business for building packages, you
    should use "package-loop" all the time.  (This target is added to
    bsd.port.subdir.mk too.)

    Also, the "describe" target prints out multiple lines so that all
    options will go into the INDEX.  (In other words, if you define
    these variables, INDEX is going to look real silly if you don't
    put ${${LOOP_VAR}} in PKGNAME.)

Seconded by:	obrien ("ANYTHING")

(2) Turn off regexp support for LIB_DEPENDS.  It is a fixed string of
    the form <NAME>.<VER> now.
Tested by:	several rounds of complete package builds

(3) Check checksum even if NO_EXTRACT is defined.

(4) Cosmetic fix for message in MANUAL_PACKAGE_BUILD case.
1998-10-30 08:28:02 +00:00
Satoshi Asami
3932b94eb7 Add new variable NO_FILTER_SHLIBS -- it will disable ELF <-> a.out shlib
name conversion.  Use it for binary ports that come with its own private
shlib dirs, ports that install linux compatibility libraries (thus following
their naming conventions and not ours), etc.

Reviewed by:	Martin Cracauer <cracauer@FreeBSD.ORG>
1998-10-09 01:27:21 +00:00
Satoshi Asami
d2f7fd9ccb (1) Add new variable ${PERL} which is equal to ${PERL5} but without the
version number part (i.e., "<directory>/perl").  Use this to
    substitute #! lines in your perl5 scripts.

Requested and reviewed by:	ache

(2) Add new variable WRKDIRPREFIX (defaults to "").  The "work"
    directories are now in ${WRKDIRPREFIX}${.CURDIR}/work by default.
    You can have a read-only ports tree (modulo any broken ports that
    write something to places other than ${WRKDIR}) by setting this to
    a writable location.

    Ports that set WRKDIR explicitly should append this to front so
    they will work when the user has WRKDIRPREFIX set.

Reviewed by:	Toshihiko Kodama <kodama@ayame.mfd.cs.fujitsu.co.jp>
1998-10-06 21:12:14 +00:00
Satoshi Asami
2bd263cd9d (1) Add BROKEN_ELF variable, similar to BROKEN. (There is no BROKEN_AOUT,
since ports are not supposed to be broken during the process of
    conversion to ELF -- please proceed with caution.)

(2) Support for checking file size before fetching.  The essential
    parts are commented out for now, so I won't lose the submission
    while we discuss how to do it.
Submitted by:	se (mostly)

(3) Don't run "fetch" twice.  It was due to the change in checksum
    target chaining.  It used to be fetch -> checksum -> extract,
    after 1.285 it was fetch -> checksum and checksum was also
    explicitly called from extract.  Fix it by not calling fetch from
    checksum when it's invoked by extract.
Noticed by:	pre-fetch target of lesstif being run twice

(4) Don't try to remove non-existent distfiles and patchfiles in
    distclean.
Submitted by:	anto@netscape.net
PR:		7988
1998-09-22 23:58:49 +00:00
Satoshi Asami
f197c7fc26 Yikes, put .endif in wrong place. 1998-09-17 01:22:05 +00:00
Satoshi Asami
4580e44d10 Remove shlib minor if PORTOBJFORMAT=elf. 1998-09-17 01:00:23 +00:00
Satoshi Asami
a691ddb05c (1) Pass PORTOBJFORMAT in SCRIPTS_ENV too.
Submitted by:	"Eugene M. Kim" <gene@nttlabs.com>

(2) Check for exact version of perl5 in /usr/bin and exit with error
    message if USE_PERL5 is defined and version does not match
    ${PERL_VERSION}.

(3) Note LIB_DEPENDS should not have any regular expressions.  Remove
    those in USE_XLIB and USE_QT.
1998-09-16 12:04:38 +00:00
Satoshi Asami
5514a8e431 (1) Add MLINKS support.
Submitted by:	hoek

(2) ELF support.
 2a. Variable PORTOBJFORMAT specifies the object format of the system.
     It is passed down to configure/make via CONFIGURE_ENV/MAKE_ENV,
     and is given to generate-plist via PLIST_SUB.
 2b. In PLIST, substitute lines that end with "/libFOO.so.X" with
     "/libFOO.so.X.0".  (This means PLISTs should only list ELF
     libraries.)
Reviewed by:	jb, jdp, hoek, jseger, steve

(3) Perl5-in-system support.  Basically turns USE_PERL5 into a no-op
    if there exists a "/usr/bin/perl5".  Also fix prior breakage by
    dima (${PREFIX} => ${LOCALBASE} in perl5 path).
Reviewed by:	markm (sort of)

(4) Install requirement file as "+REQUIRE" so it will be executed
    correctly by pkg_delete.
Reported by:	Shigeyuki FUKUSHIMA <shige@kuis.kyoto-u.ac.jp>

(5) Do not disable checksum and makesum when NO_EXTRACT is set.
Pointed out by:	hoek and kiri, among other people
1998-09-10 06:38:02 +00:00
Dima Ruban
cef01fef92 Introduce PERL5 variable.
It's gonna be used in all p5- ports.

Reviewed by:	asami
1998-08-28 18:41:04 +00:00
Satoshi Asami
00c30376f7 Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)

The changes are (roughly in order of appearance):

(1) Revamp comments at beginning of file.  Major rewrites.  Reorder
    them into more relevant sections.  Make clear which ones are user
    variables and not to be set in ports' Makefiles.
Reviewed by:	hoek (well, he's the only one who sent any comments)

(2) Include ${.CURDIR}/Makefile.local if it exists.  This is a local
    configuration file (ala rc.conf.local and make.conf.local) so
    please do not commit a file with this name to the repository.
Suggested by:	dillon

(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
    "maybe".  (It used to be a binary variable -- the old behavior is
    now accomplished by "MANCOMPRESSED=yes".  Ports that defined this
    variable to other values have been corrected.)

    "yes" means the manpages are installed compressed, "no" means they
    are not, and "maybe" means the port already respects the value of
    NOMANCOMPRESS.  The default is "yes" for USE_IMAKE ports without
    NO_INSTALL_MANPAGES, and "no" otherwise.

    Add "compress-man" target and move manpage {,de}compression there.

Reviewed by:	hoek etc. and a full build of the ports tree

(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV.  Makes easier to "fix" ports
    for /usr/lib/aout mess.
Submitted by:	ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)

(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
    ${WRKDIR}/.PLIST.mktmp.
Suggested by:		hoek
Strongly seconded by:	steve

(6) Change a couple more relative pathnames to absolute ones.
Submitted by:	hoek

(7) Move checksum into real-extract.

(8) Change way rules are chained.  Instead of:

build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
	@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build

    we now have

build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
	@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
	@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build

    Other than being more PC (pmake clean), this really speeds up
    skipping ports already built.  For instance, "make package" on a
    fully packaged games subtree used to take 269 seconds on average,
    now it's 45 seconds on average.

    The flip side of this is that it will create more processes when
    the targets actually chain, but when you're actually compiling
    things, your make is creating half a bazzilion processes anyway so
    I don't think it matters.

(9) ${TMPPLIST} is now a real dependency.  Create "generate-plist"
    target to generate ${TMPPLIST}.  Make sure it's called when needed
    (usually between do-install and post-install), and that the
    required files exist.

(10) Change some messages so we can tell where "make index" failed.

(11) Check if LIB_DEPENDS really generated the required shared lib or
     not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
Satoshi Asami
7f5b0c1e57 Add "deinstall" to list of targets. This is only fair since "install" and
"reinstall" are already here. :)
1998-08-26 23:46:13 +00:00
Mark Murray
a0ae05a1d7 Bump version number for latest perl 1998-08-15 17:34:00 +00:00
Satoshi Asami
ca335ee595 Merge 1.227.2.45 (perl version substitution in PLIST). 1998-08-12 09:47:47 +00:00
Satoshi Asami
1dcba767c8 Merge 1.227.2.44. 1998-08-12 01:47:47 +00:00
David E. O'Brien
da8737369a I presume Satoshi wanted `uname -r'' for OSREL not `uname -s''
Found by:	gcc28 port
1998-08-10 04:02:50 +00:00
Mark Murray
07b2e14f1b Update for Perl 5.005_01 1998-08-06 11:43:11 +00:00
Satoshi Asami
4f43ab018a (1) Rename variable "USE_X11" to "USE_X_PREFIX" to make clearer what it
means (change PREFIX to ${X11BASE}) and add a new variable USE_X11
    which means "this port requires the X window system (actually the
    library)".  USE_X_PREFIX implies USE_X11.  USE_X11 adds a
    LIB_DEPENDS to libX11 with the x11/XFree86 port.
Reviewed by:	the ports list, hoek in particular

(2) Remove NO_CONFIGURE and NO_PATCH, which never meant anything.
    Yell if they are defined.
Reviewed by:	the ports list

(3) Add new variable OSREL, which is automatically set to the
    numeric OS version (e.g., 2.2.1, 3.0).  It can be used to refer to
    files in gcc installations, for instance.

(4) Finally remove EXEC_DEPENDS hack after all these years.
Submitted by:	hoek

(5) Put quotes around some echo ${*_DEPENDS} statements so they won't
    blow up when the variables include regular expressions like
    "qt\\.1\\.\\\(33\\\|40\\\):${PORTSDIR}/x11/qt140".
1998-08-05 09:29:13 +00:00
David E. O'Brien
8b9ac99a98 Add var "CD_MOUNTPT" set to /cdrom by default.
Ok'ed by:  discussed with Satoshi at USENIX
1998-07-28 22:27:16 +00:00
Stefan Eßer
b444cce2d2 Add US Mirror site to MASTER_SITE_KDE. 1998-07-13 23:39:02 +00:00
Jordan K. Hubbard
4ca759b291 Complete back-out of the bsd.locale.mk change.
OK'd by:	asami
1998-05-20 22:27:18 +00:00
Peter Hawkins
e92d6037f2 PR: misc/6031
Patch applied as per PR - enables preferential fetch from local mirrors
1998-05-19 13:02:04 +00:00
Steve Price
cc0a9e396b Change a couple 'make' to '${MAKE}'.
PR:		6341
Submitted by:	Niall Smart <rotel@indigo.ie>
1998-05-04 04:01:26 +00:00
Satoshi Asami
71da41bc32 Don't delete "Latest" link if NO_LATEST_LINK is set. 1998-03-24 03:34:51 +00:00
Satoshi Asami
2f4fd1b197 Add ${CXX} to list of variables passed in the environment when
invoking configure.

Submitted by:	obrien
1998-03-07 04:40:19 +00:00
Satoshi Asami
743d67edb9 (1) Don't disable "deinstall" if IGNORE is set.
I don't know what the hell I was thinking in:	rev. 1.268

(2) Create ${PREFIX} before calling mtree if it doesn't exist.  This
    may not be the best solution, but pre-install is called after
    mtree so there really isn't any way to fix this from the port
    Makefiles and thus has to be done here.
1998-02-19 06:49:27 +00:00
Satoshi Asami
fba64837e6 (1) Improve the obsolete tcl/tk detection and dignosis.
Reviewed by:	the lists

(2) Change MASTER_SITE_CTAN to reflect current reality.
Submitted by:	fenner

(3) Add new port variable NO_LATEST_LINK.  When this is set, the
    "Latest" package symlink is not created.  Use this for ports that
    are betas when there is also a port for an older, more stable,
    version.

(4) Don't be too stupid about "make deinstall".
Submitted by:	fenner
1998-02-04 10:36:56 +00:00
David E. O'Brien
2633fbf5a1 Allow package building in current directory again. 1998-01-31 20:59:30 +00:00
Satoshi Asami
c55074117f About one month worth of bsd.port.mk improvements.
(1) Allow multiple checksums of same file.
Submitted by:	hoek

(2) Add "deinstall" target as an alias to "pkg_delete $(make package-name)"
    (well, something like that, see diff for details).

(3) Add new port variable USE_AUTOCONF.   It appends BUILD_DEPENDS to
    devel/autoconf and runs autoconf before configure.
Submitted by:	ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)

(4) Clarify USE_X11 and USE_IMAKE usage.

(5) Add new user-overridable variable MASTER_SITE_KDE.
Submitted by:	vanilla

(6) Add support for "Latest" package links.
Idea by:	Terry Lambert

(7) Try to catch obsolete tcl/tk installations that could cause problems.
Annoyed by various bogus commits by:	you-know-who
1998-01-02 10:37:14 +00:00
Satoshi Asami
7dc47d3d6c Define MASTER_SITE_SUBDIR and PATCH_SITE_SUBDIR to default to "." so
we won't have double-slashes.

Add support for new port variable MANUAL_PACKAGE_BUILD.  If this is
defined as well as the user variable PACKAGE_BUILDING, the port will
be ignored.  This is used to mark ports that can be built normally
except on a machine that has a lot of conflicting ports (i.e., our
package building machine).
1997-11-20 05:33:56 +00:00
Satoshi Asami
cabb48a010 Add new target "checksubdirs". It will warn about any subdirectories that
are not in the SUBDIR list.  It also knows about the "standard" directories
that are to be ignored ("CVS", "distfiles", etc.).
1997-11-20 05:31:44 +00:00
Mark Murray
0fd8a37f67 Upgrade perl to perl5.004_04 1997-11-12 10:25:17 +00:00
Wolfram Schneider
a211a832f8 target(__target) -> target(${__target})
PR: bin/4736
Submitted by: Martin Kammerhofer <dada@sbox.tu-graz.ac.at>
1997-11-10 00:35:25 +00:00
Bill Fenner
0ca0d9ae7b Convert <, > and & into &lt;, &gt; and &amp; in port names, COMMENT and
DESCR files when building README.html .
Don't use control characters in sed statement.

Problems reported by "Chris G. Demetriou" <cgd@pa.dec.com> in NetBSD PR
pkg/4341.
1997-11-06 02:20:27 +00:00
Satoshi Asami
8422d7702e Install ${PKGDIR}/MESSAGE as /var/db/pkg/${PKGNAME}/+DISPLAY if it exists.
Reviewed by:	kiri
1997-10-08 05:04:48 +00:00
Satoshi Asami
2525a758e6 Add "distclean" to list of targets to descend into subdirs for. 1997-08-22 11:16:15 +00:00
Satoshi Asami
b393ca04e0 (1) Be nicer about mtree file missing. (Actually, just suggest where
you can get one from.)

(2) Use "reinstall" as DEPENDS_TARGET if target is "reinstall".  In
    particular, this will make it possible to do a "make reinstall" on
    several NFS clients and have them install all dependencies
    correctly.
Tested by:	davidn
1997-08-20 03:44:14 +00:00
Mark Murray
a42ece1922 Changes for perl-5.004_01 1997-07-17 17:47:36 +00:00
Satoshi Asami
9d5ba8fdfc (1) Add preliminary support for architecture/operating system-dependent
patches and files.  Note this is just for testing -- I don't
    expect "patches.OpenBSD" or "Makefile.alpha" start cropping up on
    our ports tree just yet!
Pretty much ignored by: the ports/committers list

(2) Add "SH?=/bin/sh" to the list of command-name macros.  Use it.
Checked by: recompiling all packages
1997-07-10 02:29:51 +00:00
David E. O'Brien
07115ee0be ``-C ${WRKDIR} -xzf'' are no longer the default args for EXTRACT_BEFORE_ARGS 1997-06-29 10:51:55 +00:00
Satoshi Asami
aef30ddc44 Add new variable USE_PERL5. It is similar to USE_GMAKE, except that
it also sets RUN_DEPENDS (USE_GMAKE is BUILD_DEPENDS only).

The (immediate) purpose of this is to avoid having to change 70
zillion ports when the version of perl changes.  Also, when perl5 is
pulled into -current, this will become a no-op in -current's
bsd.port.mk.

Reviewed by:	jfitz
1997-06-24 07:16:21 +00:00
Satoshi Asami
a53293467b Move the "umask ?= 0022" check (a warning only) from the default
"do-install" target to the beginning of the "install" meta-target, so
that ports that define their own do-install will also run it without
having to duplicate it themselves.

Tested by:	rebuilding all packages
1997-06-18 03:20:22 +00:00
Satoshi Asami
235c6cd5cf (1) Use the new BSD.x11.dist mtree file to create directories under
/usr/X11R6 if USE_IMAKE or USE_X11 is set.  It is mostly designed
    after the XFree86 distribution, but also includes some of our own
    goodies (libexec, share/doc, etc/rc.d).

(2) Full support for per-port dependency target.  An optional
    ":<target>" can be added to any of the *_DEPENDS variables.  Do
    not attempt to print out anything about dependencies if NO_DEPENDS
    is set (there was already too much code duplication, and this
    extra colon has really pushed it over the limit).
Requested by: jfitz

(3) Make "reinstal" pmake-safe.
Reminded in an e-mail from: jkh
1997-06-04 00:12:19 +00:00
Satoshi Asami
a3bcf12a10 (1) Change logic for dependency: instead of defining "is_depended"
(default: IS_DEPENDED?=install) target on the depended port, call
    DEPENDS_TARGET (default: install) from the depending port.

    Other than being more flexible (some ports don't require the
    dependency to be fully installed: see ghostscript4), this seems
    like a more natural thing to do.  (I never understood the
    convoluted logic that was used before.)

    By building packages with "DEPENDS_TARGET=package", I can avoid
    file-sharing problems (like gs3 binary going into the gs4
    package).

(2) Add new variable PATCH_SITE_SUBDIR and separate it from
    MASTER_SITE_SUBDIR.  Fixes linuxls port and is a correct thing to
    do anyway.
Initially suggested and reviewed by: fenner

(3) Add new variable MASTER_SITE_LOCAL for local ports.  Defaults to
    LOCAL_PORTS subdir on ftp.freebsd.org's distfiles dir.
Submitted by: jkh
1997-04-30 03:12:05 +00:00
Satoshi Asami
9c52e2270b Merge from 2.2. 1997-04-21 00:24:51 +00:00
Satoshi Asami
a6df390f90 (1) Change comment for USE_X11 to be more explicit about what it
means.

(2) Change MASTER_SITE_GNU etc. to use += instead of ?=, so users can
    specify a local mirror in /etc/make.conf and still get the full
    fallback in case something is missing.
Submitted by:	Narvi <narvi@haldjas.folklore.ee>

(3) Skip port if USE_X11 or USE_IMAKE is defined and /usr/X11R6
    doesn't exist.
Submitted by:	imp

(4) Add "-" in front of rmdir of ${DISTDIR}/${DIST_SUBDIR} in
    distclean target; the directory might not be empty because the
    subdir is shared with some other ports' distfiles.
1997-04-15 08:36:41 +00:00
Wolfram Schneider
8750949f57 Add comments. 1997-03-09 23:10:56 +00:00
Satoshi Asami
8d8b8f04f2 Make COMMENT and DESCR variables (just like PLIST). Will be useful
when you want to share all of PKGDIR except for one file.  (See upcoming
multilingual nvi ports.)
1997-03-06 08:28:15 +00:00
Satoshi Asami
4e83f91643 (1) Define ${LDCONFIG} and ${MV} to be full pathnames to ldconfig and
mv, respectively.  This will make Warner's life easier.

(2) Add new variable ${PLIST}, which defaults to ${PKGDIR}/PLIST.
    If you need to have different PLISTs for different configurations,
    you can either

    @ pre-fabricate all of them and switch ${PLIST} to point to the
      appropriate one, or

    @ use sed/awk/perl/whatever to create the correct one from
      pkg/PLIST and set ${PLIST} to it.

    It is still recommended to have a file called "pkg/PLIST" so
    people can do "grep badprog /usr/ports/*/*/pkg/PLIST" and such.

(3) Move /var/db/pkg/${PKGNAME} clash detection to before the
    installation (instead of after) and make it fatal, with an error
    message suggesting a workaround.

(4) Don't make distclean fail if DIST_SUBDIR is set and the
    subdirectory does not exist.

(5) Don't put "@pkgdep Error code 2.  Stop." kind of garbage into
    packing list if depended port's directory doesn't exist.  Instead,
    print out a message to stderr.
1997-02-23 13:24:45 +00:00
Peter Wemm
9cf5bdb131 Revert $FreeBSD$ to $Id$ 1997-02-22 13:56:13 +00:00
David E. O'Brien
a37867fe08 Submitted by: Dave Cornejo <dave@dogwood.com>
ftp.shsu.edu is no longer maintained - they refer you to the mirror I
maintain at ftp.cdrom.com
1997-02-17 08:20:36 +00:00
David E. O'Brien
3e285348a0 Fixed URL for ftp.tex.ac.uk in MASTER_SITE_TEX_CTAN.
Added ftp.shsu.edu and ftp.dante.de used by jmz in the latex port.
1997-02-16 02:51:17 +00:00
Satoshi Asami
0ebe0838b1 Change $FreeBSD$ back to $Id$. I'm sorry, but it's been too long and
it's getting too hard to diagnose people's problems with this.
1997-02-12 11:04:58 +00:00
Satoshi Asami
bd3f2af640 (1) Add ${DESTDIR} to ${LOCALBASE} and ${X11BASE}, and remove it from
${PORTSDIR}.  This undoes the changes done in rev. 1.38 and 1.59
    (part of the bsd.port.mk pre-dawn ages I've never understood).
Requested by: jkh

(2) Add new variable NO_IGNORE that will override any IGNORE causes.
    This is just a little hack to allow building of REQUIRES_MOTIF
    ports and its dependencies only etc., so don't document it.

(3) Update +REQUIRED_BY files as necessary.  Now you should be able to
    delete ports that have runtime dependencies without pkg_delete
    complaining about this file missing.
1997-01-25 02:45:09 +00:00
Satoshi Asami
6c5c6833f1 Move $FreeBSD$ up right next to $NetBSD$ (oh, the solidarity! :). 1997-01-14 07:55:46 +00:00
Jordan K. Hubbard
578e5bbaee Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 06:33:29 +00:00
Satoshi Asami
c0d85faef8 Skip non-existent subdirectories. The diff is rather large because
the original logic went into a section of code assuming some
incarnation is there, but it's basically a "test -d" fix.  Closes PR
ports/2082.

Reviewed by:	max ("although I didn't test it, it looks fine")
1997-01-13 02:13:19 +00:00
Satoshi Asami
8078abcbdf Add OpenBSD support. Change some comments to reflect the fact. Also:
(1) Change commented out MAINTAINER to FreeBSD_MAINTAINER and
    OpenBSD_MAINTAINER.  These are not comments anymore, so we may
    even use it in the future.

(2) Instead of the ".if ${OPSYS} = "NetBSD" hack, use ".if exists()"
    to find the location of md5 an tar.  Play similar trick for fetch
    (OpenBSD uses /usr/bin/ftp which groks http: addresses).

This commit includes most of the changes made in 1.242 (although many
of them are done differently after more discussion).  One thing that
is conspicuously missing is NOMANCOMPRESS, which has been postponed
until Warner figures out what exactly the situation is on the OpenBSD
ports paradigm.  (In a nutshell, we can't just define NOMANCOMPRESS in
this file even if uncompressed manpages is the default for OpenBSD,
because that will take away the ability of individual users to select
manpage compression.)

Reviewed by:	imp@openbsd.org
1997-01-12 12:37:48 +00:00
Satoshi Asami
74945d467b (1) New variable, SCRIPTS_ENV, which is passed to scripts/configure
and scripts/{pre,post}-* as environment vars.  Also, if BATCH is
    set, "BATCH=yes" is automatically added to SCRIPTS_ENV.
    (Requested by: max)

(2) The INSTALL_* macros are added to SCRIPTS_ENV and MAKE_ENV as
    BSD_INSTALL_*.  (Requested by: obrien)

(3) New variable MOTIF_ONLY, which will only build ports with
    REQUIRES_MOTIF defined.  This doesn't do dependencies right (what
    if the depended port doesn't need Motif) yet.

(4) Try not to clean the same port twice in clean-depends when (for
    instance) it's defined in both BUILD_DEPENDS and INSTALL_DEPENDS.
    Note that it won't check chained dependencies so you may still see
    the same port cleaned multiple times, but checking that far will
    surely make this run slower than the un-"optimized" case so I left
    it as is.  (Requested by: jkh)

(5) Ignore *.rej files in patches/ directory in addition to *~ and
    *.orig.
1997-01-12 11:48:26 +00:00
Wolfram Schneider
18fdf5d572 if !(command) -> if ! (command)
the ksh and I guess some other shells want a space
between '!' and the next command. This problem exist since rev 1.207
1997-01-10 21:02:27 +00:00
Satoshi Asami
3870313982 I'm sorry, this kind of commits need to be reviewed by me, espicially
in a time like this (i.e., right before the release).

Back out rev 1.242, also add a stronger note above the MAINTAINER.
1996-12-26 01:02:29 +00:00
Warner Losh
caf441c407 Integrate changes from OpenBSD's efforts to use the FreeBSD ports system.
Generalize the selection of programs to run based on the existance of files
rather than the OS names that we find.  Add comments about me being the
keeper of the OpenBSD mods of this file.  Use ftp on OpenBSD rather than
fetch since OpenBSD's FTP supports urls and there is no fetch.

Reviewed by:	Joerge Wunch, Jordan Hubbard, and others in ports I've forgotten
Obtained from:	OpenBSD with changes from me.
1996-12-25 18:19:22 +00:00
Satoshi Asami
751417b7a9 Suggested by: msmith
Add a little more sophistication to the md5 grep command.

Change the md5 checksum logic a bit.  Now, the message is printed
out for every successfully/unsuccessfully matched checksum, and it
aborts at the end if there was a mismatch.  Also, make missing checksum
and IGNORE file inconsistency fatal, as there is now no reason to have
a missing checksum.
1996-12-23 02:49:35 +00:00
Satoshi Asami
bb84702d99 Add missing targets (extract, patch) in the IGNORE (INTERACTIVE &
PATCH, etc.) section.  Also sort them in order of execution like other
parts of this file.
1996-12-18 02:27:44 +00:00
Satoshi Asami
40ebcbaa4c Add new variable IGNOREFILES, to be set to list of files that you don't
want md5 checksum calculated.  (It will create an entry in files/md5
with rhs "IGNORE".)  Now it's safe to do a "make makesum" on all ports.
1996-12-17 12:20:53 +00:00
Satoshi Asami
90ce082cc8 Change delimiter of substitution that uses MANLANG from .' to %', so
things like `ja_JP.EUC' will work.

Suggested by:	max
1996-12-12 04:32:25 +00:00
Satoshi Asami
39a45e2db1 Extend the manpage compression handling a bit.
(1) MANLANG is now a list (defaulting to ""), so if you have English
    and Japanese-EUC versions of the manpages, you can say something
    like `MANLANG= "" ja_JP.EUC' and manpage compression will DTRT.

(2) Add new variables MAN%cPREFIX (where %c=[1-9LN]) which default to
    MANPREFIX (which defaults to PREFIX), to specify per-section
    prefixes.  In particular, this handles the cases in many perl
    ports, which install man1pages into man/man1 and man3pages into
    lib/perl5/man/man3.

Note these modifications won't change the behavior of existing
variables used in previously-approved ways, so any Makefile that
worked before will still continue to work.
1996-12-11 10:17:44 +00:00
Satoshi Asami
46afb636fd Add support for uncompressing manpages that are already installed
compressed.

Requested by: obrien
Change name of -D option (to pkg_create) file to MESSAGES.  (More
friendly to filename completion.)
1996-12-11 04:51:31 +00:00
Satoshi Asami
1cb413b38e Submitted by: fenner
(1) Print out reason when port is ignored because of NO_CDROM,
    RESTRICTED, IS_INTERACTIVE, (not) IS_INTERACTIVE, BROKEN,
    REQUIRES_MOTIF or NO_PACKAGE.

Submitted by: obrien
(2) Add new special file in pkg/: DISPLAY.  (Cf. man pkg_create)

(3) Minor bugfix in clean-depends target, which sometimes executed
    "make clean" in the current directory.  (Which is probably ok, but
    is wrong nonetheless.)
1996-12-09 07:08:16 +00:00
David E. O'Brien
bebc2ea454 Was using new URL (ftp://ftp://) before the RFC has been voted on. :-)
Obtained from:	make fetch
1996-12-08 05:40:38 +00:00
Satoshi Asami
cd62d9fed4 Optimize by changing "sort | uniq" -> "sort -u". "make index" is now
412 secs instead of 498 secs on my machine!

Submitted by:	fenner
1996-12-04 05:53:17 +00:00
Satoshi Asami
cc055e5928 Merge from RELENG_2_2 (duh). See rev 1.227.2.4 for details. 1996-11-30 10:31:50 +00:00
Satoshi Asami
9f7831de76 Just realized that the spacing after "==>" is not consistent. I'm
terribly sorry, please merge this into 2.2 as well.
1996-11-14 11:45:42 +00:00
Satoshi Asami
8945138fb9 Oops, forgot to silencethe gzip command to compress manpages.
It will be nice if this went into 2.2, I guess.

Reminded by:	max
1996-11-14 11:35:19 +00:00
Satoshi Asami
e6a02faa0f (1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.

(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
    is also defined.  (Submitted by: max)

(3) Add several popular master sites as variables.  For instance,
    MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
    which you can set MASTER_SITES to in your Makefile if you just
    want ftp.x.org or any of the mirror sites.

    There is also a new variable, MASTER_SITE_SUBDIR, to specify which
    subdirectory of the master site your tarball is located.

    One nice thing this enables the user to do is to define the
    nearest mirror site in /etc/make.conf.  This is especially useful
    for continents without a full FreeBSD master site.

    Eventually, we will probably split this into a separate file
    (bsd.port.sites.mk?), and add some more sites from all corners of
    the world.

    Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
    supported.

(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
    You just say "MAN1=foo.1 bar.1" and the make rules will
    automatically compress it for you if necessary.  (Idea by: obrien)

(5) New "distclean" target to delete distfile too.  (Submitted by:
    obrien)

(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.

Reviewed by:	the ports list
1996-11-13 11:37:40 +00:00
David E. O'Brien
ae2ad0d91a Set tabstops to 4 in vi like in emacs. 1996-11-03 07:51:59 +00:00
Satoshi Asami
eea350272c (1) Add NetBSD support. Closes PR bin/1643.
Submitted by:	Jason Thorpe <thorpej@nas.nasa.gov>

(2) Remove the bogus "CAT+=" definition.  Closes PR ports/1703.
Submitted by:	Peter Childs <pjchilds@imforei.apana.org.au>

(3) Change MKDIR to "/bin/mkdir -p", remove "-p" from ${MKDIR}
    invocations.  Closes PR ports/1901.
Submitted by:	obrien

(4) Add a new macro variable COMPRESS_MAN, which will evaluate to gzip
    if NOMANCOMPRESS isn't set (default), or true if it is.

(5) Add a new variable NO_CHECKSUM, which will disable the md5 checksum.
Submitted by:	jkh

(6) Also, move NO_PATCH and NO_PACKAGE checks to right place in
    invocation order.

(7) Check for LIB_DEPENDS before installation too.  (It used to check
    only before extraction.)
Forgotten a long time ago by:	asami
1996-11-01 07:22:37 +00:00
Satoshi Asami
ce6953a5a1 Back out changes in rev. 1.217 -- ${CONFIGURE_SCRIPT} is not
meant to rename the name of script in ${SCRIPTDIR}.
1996-09-24 06:48:22 +00:00
Satoshi Asami
36986cebad Look on the CDROM for patch files too.
Submitted by:	max

While I'm here, add "${DIST_SUBDIR}/" at end of CDROM pathnames.  Also
add an empty declaration of PATCH_SITES next to MASTER_SITES to avoid
"variable recursive" error.
1996-09-23 09:27:59 +00:00
Wolfram Schneider
18c444948a /bin/echo -> ${ECHO}
/usr/bin/sed -> ${SED}
1996-08-25 21:07:38 +00:00
Satoshi Asami
2e6d3bf230 Use the new "file:" URL specification to fetch to check the CDROM
first if /cdrom/ports/distfiles exists.  If FETCH_SYMLINK_DISTFILES
is set, symlink the file instead of copying.

Reviewed by:	jhk
1996-08-24 09:28:48 +00:00
Satoshi Asami
7071f43502 Update explanation of *_DEPENDS, in particular note that bsd.port.mk
can now check existence of files specified by full pathnames, not only
executables.
1996-08-20 10:00:33 +00:00
Satoshi Asami
699509770b (1) Use INSTALL_PROGRAM where we attempt to pass this command line
to configure.

(2) Gently warn user for non-0022 umasks.

Submitted by:	"David E. O'Brien" <obrien@Nuxi.cs.ucdavis.edu> (1)
1996-08-18 10:53:16 +00:00
Satoshi Asami
beb2142a15 (1) Ignore patches directory without a patch with a message instead of
bombing mercilessly.

(2) If that directory has a directory called CVS, remind the user of
    the existence of the "-P" option to cvs co and update.

(3) While I'm here, clean up the PATCH_DEBUG code a bit.  In
    particular, don't duplicate a whole bunch of code just for adding
    a single "echo" statement. ;)

Reviewed by:	the ports list
1996-08-17 10:16:02 +00:00
Satoshi Asami
29c5a9d322 (1) Add myself as MAINTAINER (of this file) -- commented out so it
won't be pulled into individual ports that include this file. ;)

(2) Document MOTIFLIB, it's not set in the ports Makefiles but is
    important for Motif ports (already documented in the handbook).

(3) Add INSTALL_PROGRAM, INSTALL_SCRIPT, INSTALL_DATA, INSTALL_MAN as
    "aliases" of the appropriate install command line, for use in *-install
    targets.

Reviewed by:	the ports list (item 3 only)
1996-08-15 05:55:33 +00:00
Satoshi Asami
ffec012f18 Make explanation of BUILD_DEPENDS less confusing.
Requested by:	Narvi <narvi@haldjas.folklore.ee>
1996-08-07 08:25:08 +00:00
Andreas Klemm
56a6c25041 Fixed bug, that CONFIGURE_SCRIPT in a port's Makefile doesn't have
any effect. The target do-configure used ${SCRIPTDIR}/configure
instead of ${SCRIPTDIR}/${CONFIGURE_SCRIPT}.
	-andreas
1996-07-27 11:54:30 +00:00
Jordan K. Hubbard
ca438c7adb Remove now-unused SRC_ENCAPSULATION hack. 1996-07-05 06:12:12 +00:00
Gary Palmer
c00cfeaaac Add a missing space in a comment 1996-06-26 21:12:28 +00:00
Jordan K. Hubbard
fa47ac35fa Bring in my changes for removing the pestilent obj links (unless you
really want them) from /usr/src.  This is the final version of the
patches, incorporating the feedback I've received from -current.
1996-06-24 04:24:10 +00:00
Gary Palmer
619ea603cd Correct spelling errors (i before e except after c :-) )
Submitted by:	James Raynard <jraynard>
1996-06-22 21:20:56 +00:00
Jordan K. Hubbard
e0a7830821 Handle the `distribute' target. 1996-06-20 23:52:45 +00:00
Jordan K. Hubbard
9a91b43377 Whoops - I made `make clean' chatty by mistake. 1996-06-20 18:51:28 +00:00
Satoshi Asami
cfc91cc623 The changes to go with ncftp -> fetch. Besides changing the names,
standardize the variables a little, and simplify some parts because
we can now trust the fetcher's return value.

Reviewed by:	the list
1996-06-19 09:33:31 +00:00
Jordan K. Hubbard
cf155a8564 Spit out the a proper port path for the describe target.
Submitted-By: Chuck Robey <chuckr@Glue.umd.edu>
1996-06-19 07:07:16 +00:00
Jordan K. Hubbard
5d9eb583bf Ok, now cleandir: is correct. 1996-06-19 01:26:18 +00:00
Jordan K. Hubbard
73a22ec732 Add some unobtrusive changes to handle sources which aren't ports
(SRC_ENCAPSUATION).  Stick in some cd ${.CURDIR} directives which have
been (benignly) missing all this time.  Allow more types of targets to be
selectively disabled.
1996-06-19 01:04:23 +00:00
Satoshi Asami
b54b74aed1 Add "MASTER_SITES?=" (no this is not a typo) right before the
"MASTER_SITES:= ..." of defined(MASTER_SITE_OVERRIDE) case, otherwise
it would cause a recursive variable definition error when
MASTER_SITE_OVERRIDE is set and MASTER_SITES is not set.
1996-06-13 06:03:39 +00:00
Satoshi Asami
3e49a1c21b Add some comments to sections to disable targets using NO_* variables.
Remove disabling of "repackage", that thing calls package anyway.

Submitted by:	(mostly) jkh
1996-06-01 05:47:42 +00:00
Satoshi Asami
b960b6e238 Set MAKE_ENV and CONFIGURE_ARGS with += instead of ?=, it is easier to
add things this way.

Reviewed by:	ache
1996-05-30 08:53:26 +00:00
Jordan K. Hubbard
3ef5827159 Fix a minor grammatical error (reselled -> resold) I just noticed. 1996-04-27 18:36:02 +00:00
Satoshi Asami
69f38e826c Add CFLAGS=${CFLAGS} to MAKE_ENV, otherwise gmake won't pick it up. 1996-04-26 10:09:06 +00:00
Satoshi Asami
c7c331625d Add NO_CDROM, RESTRICTED, BROKEN and Motif support.
(1) The new NO_CDROM Boolean variable means "don't put the distfile/
    package on the CDROM you're going to sell".  It will basically
    turn off everything if FOR_CDROM is set.

    Many of the NO_PACKAGE ports are actually "don't sell for profit"
    types, which we shouldn't have any problem distributing via ftp.

(2) The new RESTRICTED Boolean variable means don't build this unless
    you know what you are doing.  It doesn't have any effect unless
    NO_RESTRICTED is also set.

(3) BROKEN means this port is broken.  At least it will now show up in
    INDEX and README.html, and give people more incentive to fix (I
    hope).

    RESTRICTED and BROKEN are expected to replace the pseudo-targets
    in parent Makefiles.  (The RESTRICTED and BROKEN list didn't do
    anything before, they were solely for grepping purposes.)

(4) The Motif support brings in four new variables: REQUIRES_MOTIF,
    which the porter sets for ports that require Motif to build;
    HAVE_MOTIF, which the user sets to indicate the system has Motif;
    MOTIF_STATIC, which the user sets to indicate that the static
    libXm, instead af the default dynamic library, is to be used; and
    MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or
    "-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set.

    The porter is expected to replace all occurrences of libXm in the
    {Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic
    linkage (for users with Motif) and static linkage (for those who
    build packages to be used by those withot Motif, i.e., me ;)
    automatically.

Original Motif support idea by:	graichen
1996-04-12 08:08:36 +00:00
Wolfram Schneider
a59e4cf2bf use .for loop for common targets 1996-04-09 22:54:13 +00:00
Satoshi Asami
943451521d Change ${ENV} -> ${SETENV}. The former coincides with startup file
names of bash et al.

Submitted by:	Thomas Gellekum <thomas@ghpc8.ihf.rwth-aachen.de>
1996-04-07 08:34:21 +00:00
Satoshi Asami
bb0cc86280 Thanks for the overwhelming response (which can be only summarized by the
word: "zilch").  I guess the only way to get people try and comment on
these kind of things is to shove it down their throat.... ;)

Anyway, here's a set of changes required for auto-generation of READMEs
in ports directories.  Necessary changes and additions of templates
to the ports tree will follow shortly.

Eventually I'll commit all the generated READMEs to the tree, but that
will be in the rather distant future.  For now, I encourage anyone
with a -current systam and a matching ports tree to do a "make readmes"
at the top level and see what they get.

Next step will be to add pkg/{COMMENT,DESCR} to all the categories.
1996-04-01 11:13:00 +00:00
Satoshi Asami
ff0c859fe9 Change name of variable to LOCALBASE, to keep it symmetric with X11BASE,
which has been in the tree for a much longer time.

Sorry for the multiple commits and I know I shouldn't be doing this but
my hamster tells me to be orthogonal...("hey Phoenix, do you think
I should call it LOCALBASE?" "squeak" "ok, if you say so").
1996-03-31 10:35:26 +00:00
Satoshi Asami
99b93fc460 Add a variable LOCAL_PREFIX that defaults to "/usr/local", as a
counterpart to X11BASE (default "/usr/X11R6").

Now PREFIX is set to ${X11BASE} or ${LOCAL_PREFIX} depending on
whether USE_IMAKE or USE_X11 is set or not.

This enables us to refer to non-X ports from X ports using
${LOCAL_PREFIX}, thus removing most of the remaining "/usr/local"s
from the ports tree.

This will also allow the system administrator to move the whole
"local" tree to somewhere else, without affecting X ports.  (Of course
not all ports are necessarily happy with that, but we're working on
it.)

Based on: an idea that came up while I was watching a football game
          several months ago ("hey, maybe I can move that sideline
          without disturbing the other!")
1996-03-31 10:02:09 +00:00
Wolfram Schneider
cc6279bb77 remove BINGRP?= BINOWN?= BINMODE?= 1996-03-24 00:41:10 +00:00
Satoshi Asami
090a21e38d Replace PATCH_PRFX with a more generic DIST_SUBDIR. If it is set to
"foo", what this does is:

(1) Put all distfiles and patchfiles in /usr/ports/distfiles/foo

(2) Go to ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/foo when the
    master site is down

When your port has a lot of dist/patchfiles, or has a file that does
not have a very port-specific name (e.g., "Makefile"), set this
variable instead of redefining DISTDIR.  (If you redefine DISTDIR, (1)
will work but (2) will not.)

Agreed that it's a good idea by:	adam
1996-03-10 08:26:21 +00:00
Satoshi Asami
799f2736a6 Delete all references to the variable ${KEYWORD} that never quite flew.
(Sorry Jordan, but your other idea (${CATEGORIES}) was a major hit.)

Also remove the keyword field in the INDEX line and replace it with
two columns: build-time dependencies and run-time dependencies.  They
are both list of package names (minus the ".tgz").
1996-03-06 08:14:26 +00:00
Satoshi Asami
cafad50ae2 Replace absolute pathnames with variables, so that
(1) people can have weird paths and it will still work, and

(2) if you really need to use /usr/local/bin/cp instead of /bin/cp,
    you can do that by changing only one line.

Submitted by:	wosch
1996-03-06 08:08:16 +00:00
Jordan K. Hubbard
5319904a39 Add a check for when the user tries to FTP over a symlink in ${DISTDIR}. 1996-02-16 11:19:00 +00:00
Adam David
b806961da4 correct semantic error in the English usage:
distributed patches --> distribution patches
1996-02-08 00:44:33 +00:00
Satoshi Asami
90dc44709f Mention "make reinstall" in the message that gets printed out when
/var/db/pkg/${PKGNAME} exists.  ("make install" will do nothing
because this is not a critical error and the installation is
treated as successful.)

Closes PR 870.
1996-02-07 09:54:23 +00:00
Andrey A. Chernov
b6f3edc28c Add NCFTP tailer arguments: ${NCFTPTAIL} variable
Since it is empty in normal case, it not affect anything
It is useful for ncftp -c ugly_name > nice_name
				    ^^^^^^^^^^^ ${NCFTPTAIL}
1996-02-06 21:25:23 +00:00
Jordan K. Hubbard
ae07fde778 Add support for ALL_HOOK feature. Lets you replace the `all' target
with something of your own devising.
1995-12-07 14:11:29 +00:00
Satoshi Asami
ba036ace54 Make the {FETCH,BUILD,RUN}_DEPEND targets work with non-executable files
too.  Basically, if the name starts with a "/", it's tested with "test -e";
otherwise, it's tested with "witch -s".

Reviewed by:	the ports list (well at least nobody complained)
1995-11-26 12:35:49 +00:00
Satoshi Asami
6e76ce33be Use NO_MTREE, not !USE_X11 && !USE_IMAKE, to determine package args.
NO_MTREE should work as advertised (for both direct installation and
pkg_add) now.
1995-11-17 16:49:40 +00:00
Satoshi Asami
caa0bb7b90 Back out the two latest changes. The -current branch is now equal to
the -stable branch except the change between 1.182 -> 1.183.
1995-10-17 20:58:08 +00:00
Andrey A. Chernov
77a9ab5566 Add NO_FETCH handling in the similar way as other NO_* targets does 1995-10-16 14:27:20 +00:00
Andrey A. Chernov
acd56316e7 Fix NO_EXTRACT case: build missing WRKDIR
Previous variant always fails on touch work/.extract_cookie
(or next following touches) because work directory not exists.
1995-10-16 14:18:22 +00:00
Satoshi Asami
ae997f9df5 Add "--batch" to PATCH_ARGS and PATCH_DIST_ARGS when ${BATCH} is set
to avoid an infinite loop in patch when the patch target is not found and
stdin is redirected from /dev/null (the "skip this patch? [n]" question).
1995-10-11 09:25:58 +00:00
Andrey A. Chernov
ec35dd27b9 Add CONFIGURE_ENV: pass this environment to configure script.
Allows pre-set some variables to eliminate wrong tests
1995-10-04 23:22:21 +00:00
Satoshi Asami
1dfe6a045a Attempt to sound more civilized by adding a missing period to
"Attempting to fetch from $${site}."

Why it was in PATCHFILES and not in DISTFILES, I have no idea.
1995-10-04 11:13:52 +00:00
Satoshi Asami
0826c7d7bf Use full pathname for ldconfig (/sbin/ldconfig).
Hinted by:	joerg
1995-10-02 22:12:47 +00:00
Satoshi Asami
4d3e351475 Split EXEC_DEPENDS into FETCH_DEPENDS, BUILD_DEPENDS and RUN_DEPENDS.
They are called from the fetch, extract and install targets,
respectively.

Also, only RUN_DEPENDS is put into the @pkgdep list of the package.

EXEC_DEPENDS is still supported (for now), it is copied into
BUILD_DEPENDS and RUN_DEPENDS.  This will go away after we finish
fixing all the ports Makefiles.

This change fixes the following bug/features:

(1) "make fetch" building and installing all the dependencies

(2) Programs needed for building only (e.g., gmake) put into the
    packages' dependency lists ("why does the emacs package depend on
    gmake?")

Reviewed by:	the ports list
1995-09-18 08:01:20 +00:00
Satoshi Asami
6a79b95bf8 Ignore patchfiles that end with ".orig" or "~".
Suggested by:	paul, joerg among others
1995-09-13 10:14:31 +00:00
Satoshi Asami
bfd86d4a37 Don't trust ncftp's exit status, they are not indicative of whether
the file is fetched or not.  Apparently Jordan fixed it a long time
ago but it was broken again at import of the new version of ncftp.
Which means even if we fix it, it may break again and we may need to
fix it again, and (imagination here, please)....

Instead, move the file existence check into the for loop for
MASTER_SITES/PATCH_SITES and break out with "continue 2" when the file
is found.  This is actually a cleaner logic than before if you ask me,
because instead of assuming the file is fetched on a 0 exit status
from ncftp AND checking for the existence of the file after the loop,
the check is done exactly once for each iteration and nowhere else.
1995-08-29 11:57:40 +00:00
Satoshi Asami
de955f45ab Clean up EXTRACT_ONLY logic a bit. Instead of branching in the
do-extract target depending on defined(EXTRACT_ONLY) or not, simply
set EXTRACT_ONLY ?= ${DISTFILES} and always use ${EXTRACT_ONLY} as
the extraction list.
1995-08-29 11:24:50 +00:00
Satoshi Asami
26d6314c93 Merge all the "skeleton" target into one macro. This is an enormous
change, but I've been testing this on thud and silvia for quite a
while, also I haven't gotten any bug reports from the ports list, so
I'm going to let it loose!

It cleans up this file quite a bit, now I can go in and start adding
some more "interesting" things.... ;)
1995-08-18 10:06:28 +00:00
Satoshi Asami
8b6998ea0b Let MASTER_SITE_OVERRIDE be prepended to the MASTER_SITES list instead
of replacing it.  This way you can point it to a site close to you
that carries many distfiles, and still let it go fetch from the
original site if the distfile is not there.

Original idea by: mmead@Glock.COM
1995-07-24 08:02:07 +00:00
Jordan K. Hubbard
ce475c711c Simplify the USE_IMAKE stuff considerably.
Suggested by:	asami
1995-07-17 16:20:58 +00:00
Jordan K. Hubbard
273aafabd1 A regrettable hack to allow a port to say that it doesn't want its Makefiles
made after the xmkmf run.
1995-07-15 14:07:02 +00:00
Satoshi Asami
b29290baff Add IS_DEPENDED_TARGET to change the behavior of a port when you want
to do something else than "install".  For example,

make IS_DEPENDED_TARGET=fetch fetch

will fetch the required distfiles including those of the dependencies
without actually building and installing dependencies.

Also document ECHO_MSG.

Requested by:	paul
Reviewed by:	paul, jhs and others
1995-07-11 02:15:35 +00:00
Satoshi Asami
a097993016 Use
ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/

as our distribution point for distfiles and patches.  Other than
cosmetic changes (freebsd.cdrom.com -> ftp.freebsd.org), the
omission of "ports" is important.  I would like to move this
directory completely out of the ports tree (on the ftp site),
so that people who do "get ports.tar.gz" won't get a bogus distfiles
-> ../distfiles symlink (which will make "make fetch" fail).

Sometime around the 2.1 release, the distfiles link will be deleted.
1995-06-26 07:06:59 +00:00
Satoshi Asami
63d9968543 Use full pathnames for the commands. Everything except gmake and
xmkmf (i.e., everything in the base distribution) should be referred
to by full pathnames.

Suggested by:	rgrimes, originally from one of his customers
1995-06-26 07:01:20 +00:00
Satoshi Asami
35f8d33b12 Check if uid is 0 before running mtree. If you aren't root, you just
get a message (instead of a bunch of crap from mtree).
1995-06-26 00:30:48 +00:00
Satoshi Asami
2e1b72a11c Add new option NO_MTREE. If set, bsd.port.mk won't run mtree to
set permissions and ownerships of PREFIX (usually /usr/local).  This
is the default if USE_IMAKE or USE_X11 is set.

This should be useful for machines like thud, where we want to keep
the /usr/local subtree writable to a group ("ports" in our case).  Anybody
who installs stuff in /usr/local should have this set in the environment.

Note this won't affect anything the pkg_* suite does.
1995-06-25 06:30:51 +00:00
Satoshi Asami
9688e7d314 Add a "checkpatch" target that does a "patch -C" instead of a "patch".
Note that the two "touch"s I took out from do-patch shouldn't have
been there in the first place.

This target may give incorrent results if two separate patches deal
with the same file, and their hunks overlap.  (But having those kinds
of patches are bad, and they should be merged anyway.)

Reviewed by:	hsu
1995-06-24 10:27:23 +00:00
Satoshi Asami
5727f324eb Renamed the default package repository ".../packages/.packages" to
".../packages/All".  The "all" category that was automatically added
for every package is gone.

Note that bsd.port.mk requires category names to start with lowercase
names, otherwise it may get confused.

Reviewed by:	jkh

By the way, here is a small script to convert your local package
hierarchy.  Run it in bash, as /bin/sh not only will bark at the
$(.) command substitution but will also botch the [a-z]*/*.tgz
expansion (long-standing and annoying bug, reported before).

cd /usr/ports/packages
mv .packages All
for i in [a-z]*/*.tgz; do
  j=$(basename $i)
  /bin/rm $i
  ln -s ../All/$j $i
done
1995-06-06 10:56:34 +00:00
Satoshi Asami
56cb039977 Remove comment about not being able to undefine a variable, as we *can*
do that.
1995-05-29 13:46:38 +00:00
Satoshi Asami
79faaf1d61 Fix the indent level. I know we're in code freeze, and this is
one of the key components of the system, but I'm sure that this:
===
-               ${ECHO_MSG} "===> Registering installation for ${PKGNAME}"; \
+               ${ECHO_MSG} "===>  Registering installation for ${PKGNAME}"; \
===
change has absolutely no chance to screw us up, right? :)
1995-05-16 10:31:25 +00:00
Satoshi Asami
203fba2d95 Don't conditionalize fake-pkg on NO_PACKAGE. 1995-05-13 23:37:16 +00:00
Satoshi Asami
5af895a1dd Add FORCE_PACKAGE, if this is defined, NO_PACKAGE will be turned off.
Ports for which we can't build packages should define NO_PACKAGE but
still prepare pkg/* files.  The user who really wants a package and
clear of the legal problems can say FORCE_PACKAGE from the command line
to build a package anyway.
1995-05-13 05:37:45 +00:00
Satoshi Asami
8ea273f0e9 When NO_PACKAGE is set, "package" and "repackage" don't depend on
"install".  In other words, they won't do anything at all.
1995-05-12 08:44:12 +00:00
Satoshi Asami
b5e33d67f3 Not only deleting the package and package links, also exit with status
1 if pkg_create returns error!
1995-05-12 07:43:48 +00:00
Satoshi Asami
6d572c7f78 Delete package and links when pkg_create fails. 1995-05-12 07:32:59 +00:00
Satoshi Asami
6440765b48 Add new variable to override the "hey foobar-1.2.3 is already installed"
warning from fake-pkg.
# FORCE_PKG_REGISTER - If set, it will overwrite any existing package
#                      registration information in ${PKG_DBDIR}/${PKGNAME}.
1995-05-10 09:30:09 +00:00
Satoshi Asami
81a5b37f0f Make the "reinstall" target delete the package cookie as well as
the install cookie.
1995-05-09 00:31:54 +00:00
Adam David
16160ede45 added support for distribution patches in a subdir of ${DISTFILES} 1995-05-04 18:53:26 +00:00
Jordan K. Hubbard
c72a17926e Put an `@' in front of the mtree command. I don't want to see it. 1995-05-04 13:14:16 +00:00
Jordan K. Hubbard
4bf8cbcdc9 Add an mtree line to the install target. 1995-05-02 13:49:01 +00:00
Satoshi Asami
afed0bc70e A bunch of new targets in the package area. Relevent targets are:
package:           check installation, build package, create links,
                   touch cookie
repackage:         ditto but don't check cookie
package-noinstall: just build package from installed stuff, no cookies
                   involved at all
package-links      create the symbolic links only
delete-package:    delete package and symbolic links
delete-package-links: delete links only

These should make the management of the spaghetti of package links
a little friendlier. :)
1995-04-30 12:28:43 +00:00
Jordan K. Hubbard
ff0c48c1ad Pass X11BASE to all sub-makes. I need it for a port, and I daresay that
there are a lot of hardwired "/usr/X11R6" paths out there that could stand
to use it as well.
1995-04-28 15:40:37 +00:00
Satoshi Asami
1cd7cf497c (1) Add the chain of dependencies to the targets in the NO_* section
too (otherwise the chain won't work).
(2) If NO_WRKDIR is set, "make clean" removes "./.*_done" (assuming
    these are cookies...or should I list all the cookies?)
1995-04-24 10:41:51 +00:00
Satoshi Asami
b93566a100 Move call of fake-pkg from do-install to end of install. 1995-04-24 09:05:34 +00:00
Jordan K. Hubbard
91f14a89e4 Ok, this should get the last of the stragglers installed into a new fake-pkg. 1995-04-22 01:22:49 +00:00
Jordan K. Hubbard
ab2eb29ef5 Don't try to run the fake-pkg target if NO_PACKAGE is set. 1995-04-22 00:08:06 +00:00
Jordan K. Hubbard
b1230d88bd Typo: patch -> package 1995-04-22 00:05:46 +00:00
Jordan K. Hubbard
faf04fc9d9 Instead of copying PLIST over, run pkg_create in a special mode that dumps
the fully-formed PLIST to stdout and uses that.
1995-04-22 00:01:26 +00:00
Satoshi Asami
ccecf5fc35 Major overhaul. The major targets (fetch, extract, patch, configure,
build, install) are now all skeletons and do nothing but

(1) Call pre-* target (if exists)
(2) Call scripts/pre-* script (if exists)
(3) Call do-* target
(4) Call post-* target (if exists)
(5) Call scripts/post-* script (if exists)

The do-* targets do all the work.  The pre-* and post-* targets/scripts
don't exist by default.  The main targets check for the cookies too, so
porters shouldn't have to worry about them at all.

NOTE: THE MAIN TARGETS IN THE PORTS MAKEFILES SHOULD GO AWAY.  We need
to fix this before wcarchive comes back up.  Change the names to do-*,
rip out the cookies, rip out the calls to pre-* etc. and most of them
should work.

Also, reorganize the whole thing so that similar targets are together
and add more comments.  Surround section header with 64 #'s (C-u C-u
C-u # in emacs :).

Hopefully this will be the last major change to bsd.port.mk.  Now let
the Makefile-hacking begin.
1995-04-20 18:03:02 +00:00
Jordan K. Hubbard
0d515239c7 1. Add Satoshi's much-requested "fake pkg_add" option to the installation
rule.

2. Have all non-X11 prefix using packages include the BSD.local.dist mtree
   file for initialization of /usr/local.  I'm still not sure if this is
   A Good Thing(tm) but I'll see what the users say.  It's easily overridden.

3. Standardise on ${PKG_DBDIR} as pointer to /var/db/pkg or local preference.
1995-04-19 15:02:26 +00:00
Satoshi Asami
d43e6015ad Use PKGNAME in the "describe" target (used to generate INDEX) too.
Didn't make sense to have two ports with the same name.
1995-04-18 08:24:18 +00:00
Satoshi Asami
847b627e7c Use PKGNAME instead of DISTNAME in messages. To avoid things like
"Building for WWW" (pops up in two different ports) "Installing for
web2c-6.1" (ditto), which aren even't reminiscent of the port's real
name.

Sorry jmz, please don't go fix the print Makefiles' own messages.
We are going to take them out after we do the great bsd.port.mk
update anyway.
1995-04-18 08:18:27 +00:00
Satoshi Asami
6f126de6ed "package" now depends on "install", so we can do "make -k package" from
the top level and have the build-package sequence of each port work
together.

For the old behavior (i.e, just go ahead and blindly pack everything up,
regardless of the contents of work/), there is a new target "repackage".
1995-04-17 06:39:05 +00:00
Satoshi Asami
cc70b7d651 "all" now depends on "build", not "extract configure build".
Since "build" depends on "configure", which depends on "patch", etc.,
this shouldn't disrupt any Makefile that doesn't break the dependency
chain.

The old behavior was very annoying because when I did a "make -k",
it would still try to go configure and build even if the extraction
failed.
1995-04-17 06:28:15 +00:00
Satoshi Asami
09b9e772fb Yikes...typo (.package/ should have been .packages/). 1995-04-15 23:56:29 +00:00
Jordan K. Hubbard
c1a1cb1959 Don't pass duplicate pkgdeps to pkg_create 1995-04-10 08:09:21 +00:00
Jordan K. Hubbard
43ee187093 Add new -P argument to pkg_create. 1995-04-09 15:00:56 +00:00
Jordan K. Hubbard
9b46e88ed1 Add 2 new targets to facilitate some things I'm thinking about.
1.  package-name
	Simply echos the associated package name for a port (if any).
2.  package-depends
	Shows all package names on which this port depends.
1995-04-09 12:27:58 +00:00
Jordan K. Hubbard
cf08055c47 1. Fix the first line (should be a proper comment - silly emacs).
2. KEYWORDS+= CATEGORIES
3. CATEGORIES+= all (always want to be in "all"!)
1995-04-09 10:24:09 +00:00
Satoshi Asami
75fbcbe580 Add support for categorized subdirectories for packages. By default,
all .tgz files go to /usr/ports/packages/.packages, and a relative
symlink is created for every item in CATEGORIES...i.e., if "CATEGORIES
= foo bar", then /usr/ports/packages/{foo,bar}/pkgname.tgz both point
to /usr/ports/packages/.packages/pkgname.tgz.

Suggested by:	jkh
1995-04-09 09:59:42 +00:00
Jordan K. Hubbard
44e31ae72d Add USE_X11 for ports which are X11 users but don't use IMAKE. 1995-04-04 05:57:19 +00:00
Gary Palmer
5cb4427d5f Remove a `.' from the end of the echo line
`>> Attempting to fetch from $${site}' as it is misleading
1995-04-04 04:23:37 +00:00
Jordan K. Hubbard
8938ad51ee By default, KEYWORDS is a copy of CATEGORIES. 1995-04-01 10:01:49 +00:00
Jordan K. Hubbard
a0c727a41d Add default values and document them for CATEGORIES and KEYWORDS. 1995-04-01 09:35:29 +00:00
Jordan K. Hubbard
f54fd25b84 Add support for new CATEGORIES and KEYWORDS fields. 1995-04-01 09:34:11 +00:00
Satoshi Asami
3b6a1fc296 Add support for "distributed" patches and a little extra cleanup.
New variables:

PATCH_SITES:	patch equivalent of MASTER_SITES, overridable with
.		MASTER_SITE_OVERRIDE.
PATCHFILES:	Additional files to fetch and give to patch before
.		applying the ones in patches/patch-*.  If name ends
.		with ".gz" or ".Z", it will be piped through zcat first.

Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.

In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.

"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this.  I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
Satoshi Asami
5c9660773a Added more standard package suport file names. INSTALL for the
installation script, DEINSTALL for the deinstallation script, and
REQ for the requirement script, will be added with appropriate
flags to PKG_ARGS if they exist under pkg/.
1995-03-27 13:11:18 +00:00
Gary Palmer
9c2478af89 Add a misssing `@' from before echo -n "|${MAINTAINER}" 1995-03-23 20:42:42 +00:00
Jordan K. Hubbard
84d07a94d5 Add maintainer to the index line. 1995-03-22 21:46:04 +00:00
Jordan K. Hubbard
d7b7c8c402 Add new EXTRACT_BEFORE_FLAGS and EXTRACT_AFTER_FLAGS variables to make
complex extraction rules easier.
1995-03-22 21:28:31 +00:00
Jordan K. Hubbard
ca5c9c29a9 Make the fetch message a little more interesting and informative. 1995-03-21 22:43:36 +00:00
Jordan K. Hubbard
74890c4243 Add fetch-list command for Rod
Use ECHO_MSG macro for printing "===>" line things so that I can now turn
those OFF when I don't want them.
1995-03-21 03:59:13 +00:00
Jordan K. Hubbard
86f8fd330d Make the describe rule generate more thorough information that's actually
of use to a front-end program.  Back out my bogus description of the `index'
target! :-)
1995-03-21 01:51:12 +00:00
Jordan K. Hubbard
02b004e7ed Document the index target. 1995-03-21 01:31:43 +00:00
Andreas Schulz
f40015d00d Don't do anything if BATCH is specified and the port is interactive for
the package target.The port may is not build and the package fails
otherwise.
1995-03-20 00:41:36 +00:00
Andreas Schulz
85667802e9 Change the xmkmf call to a xmkmf -a call. This should be more correct for
all X11R5 and X11R6 ports. This is the way how it should be normally
used according the manuals. Only pre-X1R5 ( X11R4, X11R3) ports can't
handle it.
1995-03-19 12:49:06 +00:00
Gary Palmer
8e520bccaf Add support to miss out ``DUDS'' subdirectories. See thread in freebsd-ports
for more.
1995-03-03 23:30:32 +00:00
Jordan K. Hubbard
db22b94c00 Back out my previous change. I need to really think about this. 1995-03-03 07:42:10 +00:00
Jordan K. Hubbard
104965676e A small feature just for my own use. 1995-03-03 06:53:27 +00:00
Jordan K. Hubbard
5ac3f1e5ce Always go to ${WRKDIR} before extraction. Modify the tar extract command
args to take advantage of this.
Pointed-out-by: asami
1995-02-17 08:52:55 +00:00
Gary Palmer
5a4a97181d Make the checksum target not bomb out if there is a mismatch, just
print a warning. A better fix will come along just as soon as I
work out what it is.
1995-02-14 21:29:28 +00:00
Jeffrey Hsu
9de2b11e75 Allow arbitrarily named configure script for use w/ HAS_CONFIGURE. 1995-02-06 08:52:19 +00:00
Poul-Henning Kamp
9ffda99611 Use absolute path to md5 program. It lives in /sbin and people are unlikely
to have $PATH to it.
1995-02-04 22:56:28 +00:00
Satoshi Asami
07f73a764f Add long-awaited (:) support for sophisticated dependency checking. We now
have three variables:

EXEC_DEPENDS	- A list of "prog:dir" pairs of other ports this
		  package depends on.  "prog" is the name of an
		  executable.  make will search your $PATH for it and go
		  into "dir" to do a "make all install" if it's not found.
LIB_DEPENDS	- A list of "lib:dir" pairs of other ports this package
		  depends on.  "lib" is the name of a shared library.
		  make will use "ldconfig -r" to search for the
		  library.  Note that lib can be any regular expression,
		  and you need two backslashes in front of dots (.) to
		  supress its special meaning (e.g., use
		  "foo\\.2\\.:${PORTSDIR}/utils/foo" to match "libfoo.2.*").
DEPENDS		- A list of other ports this package depends on being
		  made first.  Use this for things that don't fall into
		  the above two categories.

DEPENDS behaves exactly like before, so old Makefiles will still work
the same.  The two variables are lists of pairs as described above.

For instance, if your program depends on unzip and libjpeg.5.*, use
the following definitions:

EXEC_DEPENDS=	unzip:${PORTSDIR}/archivers/unzip
LIB_DEPENDS=	jpeg\\.5\\.:${PORTSDIR}/graphics/jpeg

gmake:${PORTSDIR}/utils/gmake is automatically added to EXEC_DEPENDS
if USE_GMAKE is defined.

If NO_DEPENDS is defined, the list will just be printed out one by one.
1995-02-04 05:49:26 +00:00
Gary Palmer
e0a8df41c7 Start the ball rolling by sticking a
MAINTAINER?= line in here.

Idea by: jkh@FreeBSD.ORG
1995-02-01 21:47:57 +00:00
Jordan K. Hubbard
e63223cf35 Make fetch a bit more forgiving of subdirs. 1995-01-30 10:06:56 +00:00
Jordan K. Hubbard
a80a9f7bd6 Fix bogus tab in makesum target. 1995-01-24 02:41:52 +00:00
Jordan K. Hubbard
872e63e127 Set PREFIX in the build target. Suggested by John Fieber. 1995-01-23 18:22:36 +00:00
Gary Palmer
4d10a7b445 Oops. Fix up the checksum routine - my last commit broke it slightly. 1995-01-22 20:40:48 +00:00
Andrey A. Chernov
817a927448 Put brackets around EXTRACT_CMD, can be several commands here 1995-01-17 23:55:53 +00:00
Gary Palmer
0783af702d Correct a small problem in that when there isn't a checksum for that
particular file, but there is a files/md5, it reports that it failed
the checksum
1995-01-16 23:33:08 +00:00
Andrey A. Chernov
2bfaafe2fb Use absolute path for install passed to configure
to disallow prepending ../ in second level Makefiles
1995-01-12 02:29:42 +00:00
Satoshi Asami
cf028abab7 Typo! 1995-01-11 08:53:28 +00:00
Satoshi Asami
f0b0206d63 Add missing ! in front of pipeline for extract commands---otherwise
it would exit on *successful* extraction.
1995-01-11 08:50:48 +00:00
Jordan K. Hubbard
db0107b3e0 Catch case where extraction fails. Thanks! 1995-01-10 12:23:44 +00:00
Andrey A. Chernov
75142c9ea8 Move pre-extract target inside COOKIE
Add checksum check for extract, if checksum file present
1995-01-06 22:14:12 +00:00
Satoshi Asami
5acd95fc83 Sort out dependencies. Now they look like:
patch: extract
configure: depends patch
build: configure
install: build

Does this look ok?
1995-01-05 08:15:53 +00:00
Jordan K. Hubbard
fce1909501 Typo fix from Ollivier Robert.
Submitted by:	ollivier
1995-01-05 02:15:05 +00:00
Jordan K. Hubbard
0678fac1ce Rename check-md5 target to checksum.
Submitted by:	gpalmer
1995-01-05 01:46:05 +00:00
Jordan K. Hubbard
118424e9c1 Gary Palmer's patches for checksumming and description.
Submitted by:	gpalmer
1995-01-04 23:06:38 +00:00
Jordan K. Hubbard
339b62ad34 Put depends before configure. No reason that I can see for putting it after,
and it breaks mule the way it is now.
1995-01-04 09:58:39 +00:00
Jordan K. Hubbard
5d35154782 Some of the doc here was less than adequately fleshed-out. Make some
feeble attempt to do so.
1995-01-04 08:30:33 +00:00