Commit Graph

245 Commits

Author SHA1 Message Date
Satoshi Asami
0f003de40d (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
7ed8349293 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
887070162e 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
e107b29a74 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
dad7105a9b 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
16f5775ab2 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
f31d4d080c 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
f813e3b8d2 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
7daf790957 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
6df8f78ac3 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
2b2b1ca931 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
deff0e9566 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
c69930e5e3 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
2189449696 Merge from RELENG_2_2 (duh). See rev 1.227.2.4 for details. 1996-11-30 10:31:50 +00:00
Satoshi Asami
c0e21d1ce9 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
e27532f3a3 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
a6fc2e2bd1 (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
7384599321 Set tabstops to 4 in vi like in emacs. 1996-11-03 07:51:59 +00:00
Satoshi Asami
7bf5b94f9e (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
251d6f360e 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
0a2bb16e68 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
2d7765f39d /bin/echo -> ${ECHO}
/usr/bin/sed -> ${SED}
1996-08-25 21:07:38 +00:00
Satoshi Asami
69ab93260f 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
8e67e42f63 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
4dbc40f9a5 (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
38c3b03d54 (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
bd01a3d4e1 (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
e3b68a1b89 Make explanation of BUILD_DEPENDS less confusing.
Requested by:	Narvi <narvi@haldjas.folklore.ee>
1996-08-07 08:25:08 +00:00
Andreas Klemm
467652583c 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
5f1a3c08d6 Remove now-unused SRC_ENCAPSULATION hack. 1996-07-05 06:12:12 +00:00
Gary Palmer
502d775872 Add a missing space in a comment 1996-06-26 21:12:28 +00:00
Jordan K. Hubbard
cd9a2f5c28 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:26:21 +00:00
Gary Palmer
bbf5261a72 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
485f5a7718 Handle the `distribute' target. 1996-06-20 23:52:45 +00:00
Jordan K. Hubbard
b5bc989d0c Whoops - I made `make clean' chatty by mistake. 1996-06-20 18:51:28 +00:00
Satoshi Asami
985a18a7c1 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
d79a958dcf 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
2c9ca1a977 Ok, now cleandir: is correct. 1996-06-19 01:26:18 +00:00
Jordan K. Hubbard
61d16cdb21 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
9fe358a4b3 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
43c915b1af 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
afcc796bf1 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
cce80494f9 Fix a minor grammatical error (reselled -> resold) I just noticed. 1996-04-27 18:36:02 +00:00
Satoshi Asami
1844587c79 Add CFLAGS=${CFLAGS} to MAKE_ENV, otherwise gmake won't pick it up. 1996-04-26 10:09:06 +00:00
Satoshi Asami
726722154d 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
Satoshi Asami
89f4624ddc 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
25f2b0066a 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
54b04ea300 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
bfe907886a 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
Satoshi Asami
7c1b69d881 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