Commit graph

156 commits

Author SHA1 Message Date
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
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