1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-19 10:53:58 +00:00
Commit Graph

208 Commits

Author SHA1 Message Date
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
Satoshi Asami
6c342b58d5 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
00ce5fe5f4 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
2178a48a11 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
08b0d4223c correct semantic error in the English usage:
distributed patches --> distribution patches
1996-02-08 00:44:33 +00:00
Satoshi Asami
a8344ffc23 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
42a43db4bb 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
320a586809 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
a72b1b79b2 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
df4f0253cd 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
030fc19811 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
d087a6170b Add NO_FETCH handling in the similar way as other NO_* targets does 1995-10-16 14:27:20 +00:00
Andrey A. Chernov
94e0871d90 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
d6db954117 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
378b2956dd 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
af95783f13 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
90594ed60e Use full pathname for ldconfig (/sbin/ldconfig).
Hinted by:	joerg
1995-10-02 22:12:47 +00:00
Satoshi Asami
6bb70bd415 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
46bce4ac74 Ignore patchfiles that end with ".orig" or "~".
Suggested by:	paul, joerg among others
1995-09-13 10:14:31 +00:00
Satoshi Asami
00f4a8c7f8 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
7daa3c4b5a 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
ade82b9b63 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
2da6c2f223 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
bf484e2f19 Simplify the USE_IMAKE stuff considerably.
Suggested by:	asami
1995-07-17 16:20:58 +00:00
Jordan K. Hubbard
90bec1c3cf 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
1feb36cd2d 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
77370fd9ed 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
b9e48987a7 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
e8d35b806f 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
14e07b2241 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
e26bc1e6cc 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
0fbb5009b2 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
7ee5520fc3 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
d5531570b4 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
563120df88 Don't conditionalize fake-pkg on NO_PACKAGE. 1995-05-13 23:37:16 +00:00
Satoshi Asami
2914e4f239 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
9f3f196b2c 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
a11b461203 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