aboutsummaryrefslogtreecommitdiffstats
path: root/Mk
Commit message (Collapse)AuthorAgeFilesLines
* Add support for ALL_HOOK feature. Lets you replace the `all' targetjkh1995-12-071-1/+13
| | | | with something of your own devising.
* Make the {FETCH,BUILD,RUN}_DEPEND targets work with non-executable filesasami1995-11-261-5/+23
| | | | | | | 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)
* Use NO_MTREE, not !USE_X11 && !USE_IMAKE, to determine package args.asami1995-11-181-2/+2
| | | | | NO_MTREE should work as advertised (for both direct installation and pkg_add) now.
* Back out the two latest changes. The -current branch is now equal toasami1995-10-181-7/+1
| | | | the -stable branch except the change between 1.182 -> 1.183.
* Add NO_FETCH handling in the similar way as other NO_* targets doesache1995-10-161-1/+5
|
* Fix NO_EXTRACT case: build missing WRKDIRache1995-10-161-1/+3
| | | | | Previous variant always fails on touch work/.extract_cookie (or next following touches) because work directory not exists.
* Add "--batch" to PATCH_ARGS and PATCH_DIST_ARGS when ${BATCH} is setasami1995-10-111-1/+5
| | | | | 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).
* Add CONFIGURE_ENV: pass this environment to configure script.ache1995-10-051-2/+3
| | | | Allows pre-set some variables to eliminate wrong tests
* Attempt to sound more civilized by adding a missing period toasami1995-10-041-2/+2
| | | | | | "Attempting to fetch from $${site}." Why it was in PATCHFILES and not in DISTFILES, I have no idea.
* Use full pathname for ldconfig (/sbin/ldconfig).asami1995-10-031-2/+2
| | | | Hinted by: joerg
* Split EXEC_DEPENDS into FETCH_DEPENDS, BUILD_DEPENDS and RUN_DEPENDS.asami1995-09-181-15/+61
| | | | | | | | | | | | | | | | | | | | | 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
* Ignore patchfiles that end with ".orig" or "~".asami1995-09-131-5/+19
| | | | Suggested by: paul, joerg among others
* Don't trust ncftp's exit status, they are not indicative of whetherasami1995-08-291-14/+12
| | | | | | | | | | | | | | 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.
* Clean up EXTRACT_ONLY logic a bit. Instead of branching in theasami1995-08-291-10/+5
| | | | | | do-extract target depending on defined(EXTRACT_ONLY) or not, simply set EXTRACT_ONLY ?= ${DISTFILES} and always use ${EXTRACT_ONLY} as the extraction list.
* Merge all the "skeleton" target into one macro. This is an enormousasami1995-08-181-237/+149
| | | | | | | | | 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.... ;)
* Let MASTER_SITE_OVERRIDE be prepended to the MASTER_SITES list insteadasami1995-07-241-3/+3
| | | | | | | | 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
* Simplify the USE_IMAKE stuff considerably.jkh1995-07-181-9/+1
| | | | Suggested by: asami
* A regrettable hack to allow a port to say that it doesn't want its Makefilesjkh1995-07-151-1/+5
| | | | made after the xmkmf run.
* Add IS_DEPENDED_TARGET to change the behavior of a port when you wantasami1995-07-111-2/+18
| | | | | | | | | | | | | | 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
* Useasami1995-06-261-6/+6
| | | | | | | | | | | | | 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.
* Use full pathnames for the commands. Everything except gmake andasami1995-06-261-93/+99
| | | | | | | xmkmf (i.e., everything in the base distribution) should be referred to by full pathnames. Suggested by: rgrimes, originally from one of his customers
* Check if uid is 0 before running mtree. If you aren't root, you justasami1995-06-261-2/+7
| | | | get a message (instead of a bunch of crap from mtree).
* Add new option NO_MTREE. If set, bsd.port.mk won't run mtree toasami1995-06-251-2/+8
| | | | | | | | | | | 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.
* Add a "checkpatch" target that does a "patch -C" instead of a "patch".asami1995-06-241-3/+20
| | | | | | | | | | | 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
* Renamed the default package repository ".../packages/.packages" toasami1995-06-061-4/+5
| | | | | | | | | | | | | | | | | | | | | | | ".../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
* Remove comment about not being able to undefine a variable, as we *can*asami1995-05-291-3/+2
| | | | do that.
* Fix the indent level. I know we're in code freeze, and this isasami1995-05-161-2/+2
| | | | | | | | | 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? :)
* Don't conditionalize fake-pkg on NO_PACKAGE.asami1995-05-141-5/+1
|
* Add FORCE_PACKAGE, if this is defined, NO_PACKAGE will be turned off.asami1995-05-131-1/+7
| | | | | | | 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.
* When NO_PACKAGE is set, "package" and "repackage" don't depend onasami1995-05-121-3/+3
| | | | "install". In other words, they won't do anything at all.
* Not only deleting the package and package links, also exit with statusasami1995-05-121-1/+2
| | | | 1 if pkg_create returns error!
* Delete package and links when pkg_create fails.asami1995-05-121-4/+7
|
* Add new variable to override the "hey foobar-1.2.3 is already installed"asami1995-05-101-1/+6
| | | | | | warning from fake-pkg. # FORCE_PKG_REGISTER - If set, it will overwrite any existing package # registration information in ${PKG_DBDIR}/${PKGNAME}.
* Make the "reinstall" target delete the package cookie as well asasami1995-05-091-1/+2
| | | | the install cookie.
* added support for distribution patches in a subdir of ${DISTFILES}adam1995-05-051-18/+28
|
* Put an `@' in front of the mtree command. I don't want to see it.jkh1995-05-041-2/+2
|
* Add an mtree line to the install target.jkh1995-05-021-1/+6
|
* A bunch of new targets in the package area. Relevent targets are:asami1995-04-301-14/+44
| | | | | | | | | | | | | | 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. :)
* Pass X11BASE to all sub-makes. I need it for a port, and I daresay thatjkh1995-04-281-18/+18
| | | | | there are a lot of hardwired "/usr/X11R6" paths out there that could stand to use it as well.
* (1) Add the chain of dependencies to the targets in the NO_* sectionasami1995-04-241-10/+12
| | | | | | 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?)
* Move call of fake-pkg from do-install to end of install.asami1995-04-241-4/+4
|
* Ok, this should get the last of the stragglers installed into a new fake-pkg.jkh1995-04-221-1/+4
|
* Don't try to run the fake-pkg target if NO_PACKAGE is set.jkh1995-04-221-1/+3
|
* Typo: patch -> packagejkh1995-04-221-2/+2
|
* Instead of copying PLIST over, run pkg_create in a special mode that dumpsjkh1995-04-221-2/+2
| | | | the fully-formed PLIST to stdout and uses that.
* Major overhaul. The major targets (fetch, extract, patch, configure,asami1995-04-211-357/+532
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* 1. Add Satoshi's much-requested "fake pkg_add" option to the installationjkh1995-04-191-1/+29
| | | | | | | | | | 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.
* Use PKGNAME in the "describe" target (used to generate INDEX) too.asami1995-04-181-2/+2
| | | | Didn't make sense to have two ports with the same name.
* Use PKGNAME instead of DISTNAME in messages. To avoid things likeasami1995-04-181-20/+20
| | | | | | | | | | "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.
* "package" now depends on "install", so we can do "make -k package" fromasami1995-04-171-2/+18
| | | | | | | | 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".
* "all" now depends on "build", not "extract configure build".asami1995-04-171-2/+2
| | | | | | | | | | 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.
* Yikes...typo (.package/ should have been .packages/).asami1995-04-161-2/+2
|
* Don't pass duplicate pkgdeps to pkg_createjkh1995-04-101-3/+3
|
* Add new -P argument to pkg_create.jkh1995-04-091-2/+2
|
* Add 2 new targets to facilitate some things I'm thinking about.jkh1995-04-091-1/+21
| | | | | | | 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.
* 1. Fix the first line (should be a proper comment - silly emacs).jkh1995-04-091-3/+4
| | | | | 2. KEYWORDS+= CATEGORIES 3. CATEGORIES+= all (always want to be in "all"!)
* Add support for categorized subdirectories for packages. By default,asami1995-04-091-6/+25
| | | | | | | | | 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
* Add USE_X11 for ports which are X11 users but don't use IMAKE.jkh1995-04-041-2/+3
|
* Remove a `.' from the end of the echo linegpalmer1995-04-041-2/+2
| | | | `>> Attempting to fetch from $${site}' as it is misleading
* By default, KEYWORDS is a copy of CATEGORIES.jkh1995-04-011-2/+2
|
* Add default values and document them for CATEGORIES and KEYWORDS.jkh1995-04-011-3/+3
|
* Add support for new CATEGORIES and KEYWORDS fields.jkh1995-04-011-2/+10
|
* Add support for "distributed" patches and a little extra cleanup.asami1995-03-281-13/+89
| | | | | | | | | | | | | | | | | | | | | | 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.
* Added more standard package suport file names. INSTALL for theasami1995-03-271-2/+13
| | | | | | 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/.
* Add a misssing `@' from before echo -n "|${MAINTAINER}"gpalmer1995-03-241-3/+3
|
* Add maintainer to the index line.jkh1995-03-231-5/+13
|
* Add new EXTRACT_BEFORE_FLAGS and EXTRACT_AFTER_FLAGS variables to makejkh1995-03-231-5/+15
| | | | complex extraction rules easier.
* Make the fetch message a little more interesting and informative.jkh1995-03-221-2/+2
|
* Add fetch-list command for Rodjkh1995-03-212-39/+63
| | | | | Use ECHO_MSG macro for printing "===>" line things so that I can now turn those OFF when I don't want them.
* Make the describe rule generate more thorough information that's actuallyjkh1995-03-211-8/+10
| | | | | of use to a front-end program. Back out my bogus description of the `index' target! :-)
* Document the index target.jkh1995-03-211-1/+2
|
* Don't do anything if BATCH is specified and the port is interactive forats1995-03-201-1/+3
| | | | | the package target.The port may is not build and the package fails otherwise.
* Change the xmkmf call to a xmkmf -a call. This should be more correct forats1995-03-191-3/+3
| | | | | | 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.
* Add support to miss out ``DUDS'' subdirectories. See thread in freebsd-portsgpalmer1995-03-041-10/+20
| | | | for more.
* Back out my previous change. I need to really think about this.jkh1995-03-031-2/+2
|
* A small feature just for my own use.jkh1995-03-031-2/+2
|
* Always go to ${WRKDIR} before extraction. Modify the tar extract commandjkh1995-02-171-3/+6
| | | | | args to take advantage of this. Pointed-out-by: asami
* Make the checksum target not bomb out if there is a mismatch, justgpalmer1995-02-151-2/+1
| | | | | print a warning. A better fix will come along just as soon as I work out what it is.
* Allow arbitrarily named configure script for use w/ HAS_CONFIGURE.hsu1995-02-061-2/+5
|
* Use absolute path to md5 program. It lives in /sbin and people are unlikelyphk1995-02-051-2/+2
| | | | to have $PATH to it.
* Add long-awaited (:) support for sophisticated dependency checking. We nowasami1995-02-041-5/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Start the ball rolling by sticking agpalmer1995-02-021-1/+2
| | | | | | MAINTAINER?= line in here. Idea by: jkh@FreeBSD.ORG
* Make fetch a bit more forgiving of subdirs.jkh1995-01-301-3/+3
|
* Fix bogus tab in makesum target.jkh1995-01-241-2/+1
|
* Set PREFIX in the build target. Suggested by John Fieber.jkh1995-01-241-5/+5
|
* Oops. Fix up the checksum routine - my last commit broke it slightly.gpalmer1995-01-231-20/+20
|
* Put brackets around EXTRACT_CMD, can be several commands hereache1995-01-181-3/+3
|
* Correct a small problem in that when there isn't a checksum for thatgpalmer1995-01-171-4/+11
| | | | | particular file, but there is a files/md5, it reports that it failed the checksum
* Use absolute path for install passed to configureache1995-01-121-3/+3
| | | | to disallow prepending ../ in second level Makefiles
* Typo!asami1995-01-111-3/+3
|
* Add missing ! in front of pipeline for extract commands---otherwiseasami1995-01-111-3/+3
| | | | it would exit on *successful* extraction.
* Catch case where extraction fails. Thanks!jkh1995-01-101-3/+7
|
* Move pre-extract target inside COOKIEache1995-01-071-7/+8
| | | | Add checksum check for extract, if checksum file present
* Sort out dependencies. Now they look like:asami1995-01-051-5/+5
| | | | | | | | | patch: extract configure: depends patch build: configure install: build Does this look ok?
* Typo fix from Ollivier Robert.jkh1995-01-051-3/+3
| | | | Submitted by: ollivier
* Rename check-md5 target to checksum.jkh1995-01-051-3/+3
| | | | Submitted by: gpalmer
* Gary Palmer's patches for checksumming and description.jkh1995-01-051-7/+13
| | | | Submitted by: gpalmer
* Put depends before configure. No reason that I can see for putting it after,jkh1995-01-041-2/+2
| | | | and it breaks mule the way it is now.
* Some of the doc here was less than adequately fleshed-out. Make somejkh1995-01-041-10/+20
| | | | feeble attempt to do so.
* Document describe target.jkh1995-01-041-1/+3
|
* Add describe target support.jkh1995-01-032-2/+15
|
* Preset ac_cv_path_CC="${CC}" before running ./configure,ache1995-01-021-2/+2
| | | | needed for Autoconf 2
* Oops, forget "" for ${CC} and ${CFLAGS}...ache1994-12-281-2/+2
|
* Set proper INSTALL* variables before running ./configureache1994-12-281-2/+5
|
* Use CFLAGS=${CFLAGS} ./configure to avoid picking dumb GNU -g defaultache1994-12-281-2/+2
|
* Use "CC=${CC} ./configure" to avoid usage of debugging 'gcc'ache1994-12-281-2/+2
|
* Put dummy targets for make-md5 & check-md5 inside agpalmer1994-12-181-1/+5
| | | | | NO_EXTRACT ifdef so that tcpblast doesn't muck things up
* bsd.port.mk: missing semicolon addedgpalmer1994-12-182-4/+8
| | | | bsd.port.subdir.mk: added check-md5 as target
* Automatically add gmake to DEPENDS, if USE_GMAKEache1994-12-171-1/+4
|
* Don't use build: ... pre-build, move pre-build insideache1994-12-171-2/+3
| | | | BUILD_COOKIE instead
* patch: pre-patch ... is wrong, move pre-patchache1994-12-141-2/+3
| | | | inside PATCH_COOKIE
* Added '${GMAKE} install.man' when installing with Imake and gmakejmz1994-12-131-1/+4
|
* Early md5-checksumming code. This seems to work fine on my machinegpalmer1994-12-121-1/+32
| | | | but needs more testing on more ports than I have on my box.
* Last gremlin-killer of the day. Typo fixed and missing .endif replaced.gpalmer1994-12-111-2/+3
|
* <Sigh> Got the placing of a .if wrong. Fix it.gpalmer1994-12-111-4/+6
|
* Erk. Damn. A hash perfixing a comment was lost somewhere.gpalmer1994-12-111-2/+2
| | | | Fixed.
* 1) Small tidyupgpalmer1994-12-111-8/+27
| | | | | | | | | | 2) Change INSTALL_MANPAGES to NO_INSTALL_MANPAGES and document it 3) Add a PKGNAME variable to allow the package name not to be dictated by stupid DISTNAMEs 4) Add a PATCH_DEBUG option and a slight change to the default patch system - add --forward to help ensure correct patching
* Change wrong comment: NCFTP_ARGS --> NCFTPFLAGSache1994-11-261-2/+2
|
* Don't use a rm -rf WORKDIR if NO_WRKDIR is defined. You have a good chanceats1994-11-211-1/+3
| | | | | to blow away your current dir, because WRKDIR == CURDIR. This should help tcpblast to not blow away itself in the clean target :-).
* Add reinstall.jkh1994-11-181-1/+5
|
* There seems to be some trouble with install.man working right everywhere.jkh1994-11-171-2/+2
| | | | | Conditionalize it off of INSTALL_MANPAGES until I can figure out just why some X ports seem to like it and others not.
* Whoops! Typo. Correct.jkh1994-11-171-2/+2
|
* I found today that making packages for X11 ports wasn't working.jkh1994-11-171-2/+7
| | | | | | | | | Further investigation showed that prefix was erroneously set to /usr/local for X11 based ports as well, when the assumption was that they'd really go into ${X11BASE} (an /etc/make.conf variable that the user's free to set). Set X11BASE to /usr/X11R6 if the user hasn't already, and assume that the user really wants prefix to point there when the port is XMKMF based.
* Add support for NO_WRKDIR.jkh1994-11-171-1/+7
|
* 2 new concepts that just occurred to me:jkh1994-11-171-1/+14
| | | | | | | | MASTER_SITE_OVERRIDE - If set in the environment, will override everyone's MASTER_SITES settings. Useful if you'd prefer to point to a distfiles repository somewhere closer. MASTER_SITE_FREEBSD - Sets OVERRIDE to be FreeBSD's own master repository.
* If USE_GMAKE is defined, use ${GMAKE} in ${XMKMF} && ${MAKE} Makefilesjmz1994-11-171-1/+5
|
* Make depends a separate target. Now you can select when the dependencyjkh1994-11-151-11/+15
| | | | list is traversed.
* Add patch cookies. This should prevent gratuitous patch re-applicationjkh1994-11-111-9/+24
| | | | attempts.
* For submakes, don't do a `${MAKE} ${MAKEFILE} all' orjkh1994-11-041-5/+8
| | | | | `${MAKE} ${MAKEFILE} install', indirect the target through ALL_TARGET and INSTALL_TARGET now, so they can be easily overridden.
* Add reinstall target for Poul-H. This lets you install again fromjkh1994-11-041-2/+12
| | | | the same build, ignoring the INSTALL_COOKIE.
* This is what I get for implementing suggestions without really thinkingjkh1994-11-021-2/+2
| | | | | | about them.. :-) The patches/* won't work, it needs to be patches/patch-* to avoid catching things like CVS files when working with a checked-out copy of ports! Whoops!
* 2 changes:jkh1994-11-021-9/+16
| | | | | | | | | | | 1. Make build rely on a BUILD_COOKIE now. I'm tired of builds being redone gratuitously while I'm trying to debug a tree build problem. 2. Remove all the literal `touch -f' commands and indirect them through variables. This lets you "leave tracks" in different ways, depending on the medium. Just part 1 of my planned changes to make builds directly off the CD work.
* Make patch rule pick up everything in patchdir alphabetically.jkh1994-11-011-2/+2
| | | | No need to call it `patch-aa' if you can simply call it `aa', etc.
* 1. PREFIX has nothing to do with DESTDIR. Remove it finally.jkh1994-10-231-4/+4
| | | | | 2. Make sure to pass PREFIX to sub-makes when installing. This allows you to install to places like ${PREFIX}/bin in your own install rule.
* Invoke install.man if USE_IMAKE is set.jkh1994-10-221-1/+4
|
* Add ${.MAKEFLAGS} to sub-makes, pointed by Rodache1994-10-151-4/+4
|
* Add new IS_INTERACTIVE flag. This lets you specify that the portjkh1994-10-141-3/+37
| | | | | | | | | | | is an interactive port, and requires user input somewhere along the way (either fetching, configuring, building or installing). If the user then sets BATCH in their environment, this port will be skipped. If the user sets INTERACTIVE, then ONLY those ports marked interactive are run (allowing one to do all ports in two passes). If the user sets both BATCH and INTERACTIVE, then a metal claw extends from the CRT and brutally yanks their nose off.
* Silence the sub-makes.jkh1994-10-131-3/+3
|
* Change the way pre-install was done after a suggestion from Andrew.jkh1994-10-131-7/+5
| | | | Now both pre-install and install inherit the INSTALL_COOKIE.
* Re-work the way pre-install was being depended. I couldn't make thejkh1994-10-131-3/+3
| | | | | | | | install cookie work any other way (perhaps I'm just being stupid). In any case, INSTALL_COOKIE now works as advertised, and prevents duplicate installations. pre-install users will have to keep their own cookies if they wish to avoid duplicate installations, or tell me how to make the rules run properly.
* Oops, change ${MAKE_FLAGS} to ${MAKEFLAGS} in pre-configure lineache1994-10-121-2/+2
|
* Move 'make pre-configure' inside .configure.done: target, orache1994-10-121-2/+3
| | | | it issued again and again instead.
* configure: pre-configure extract ... must beache1994-10-121-2/+2
| | | | configure: extract pre-configure ...
* Following changes from Robert Withrow (+ a few mods):jkh1994-10-061-4/+11
| | | | | | | | | | | | 1. Make DEPENDS fully qualified, and not implictly assume relative to ${PORTSDIR}. This allows more arbitrary dependencies to be specified. This also means that DEPENDS= x11/foo needs to be changed to DEPENDS= ${PORTSDIR}/x11/foo in any Makefiles. I'll try to do these changes myself. 2. Add an option NO_DEPENDS to disable the automagic building of depended ports. Submitted by: rww
* Add an install prefix for packages, so that they're built by defaultjkh1994-10-041-2/+2
| | | | to track ${PREFIX} (this will override the PLIST prefix).
* Also make GNU_CONFIGURE a synonym for HAS_CONFIGURE so you don't havejkh1994-10-041-1/+2
| | | | to specify both (looks silly).
* If GNU_CONFIGURE is set, pass `--prefix=${PREFIX}'; this should helpjkh1994-10-041-1/+6
| | | | at least the GNU ports play nice with PREFIX.
* Whoops! Forgot to pass PREFIX to the configure subshells. Done.jkh1994-10-041-5/+5
|
* Add PREFIX pointing to ${DESTDIR}/usr/local - let's see if we can'tjkh1994-10-041-1/+3
| | | | | make an entire system work nicely with DESTDIR (to say nothing of being able to move from /usr/local to somewhere else).
* Prevent duplicate installs with an install cookie.jkh1994-10-031-4/+12
| | | | | | Make DEPENDS now does a `make is_depended' in the target port. This defaults to `all install' globally, but can be overriden locally by a port if it wants to do different things when other ports depend on it.
* May the saints praise Robert Withrow <witr@rwwa.com> for showing mejkh1994-10-031-9/+17
| | | | | | | | | | the light. `env' can be used to pass environment variables to shell scripts this way, which means that all *configure/post-build scripts _no longer take any arguments_; everything they should need (and more) is now available in the environment. I'm working now to adapt the older shell scripts over, but if you want beat me to it on some of your own ports, don't let me stop you! :) Submitted by: witr
* Don't hardcode patch and its arguments. Not quite the same patch as submittedjkh1994-09-281-2/+6
| | | | by Robert Withrow, but he prodded me into thinking about it again. Thanks, Rob.
* change COOKIE directory from .CURDIR to WRKDIR since a user may not haveswallace1994-09-221-3/+3
| | | | | write permission to .CURDIR but write permission to WRKDIR. Also, WRKDIR may be deleted and cookie still exist in CURDIR.
* Modified DEPENDS rule so that anything you depend on gets bothjkh1994-09-191-2/+2
| | | | | | made AND installed. Folks, check out DEPENDS if you have one port that depends on another! With this change, it should be really convenient to use.
* DESTDIR added to PORTSDIR definitionache1994-09-191-2/+2
|
* Add support for DEBUG_FLAGS. If you say something like:jkh1994-09-161-1/+3
| | | | | | | make DEBUG_FLAGS=-g2 You can compile something for debugging at debugging level 2. It will also take care not to strip the resulting executable(s).
* Remove obsolete bundle target, add new fetch target.jkh1994-09-151-5/+5
|
* Don't assume / seperator between site name and dist file in fetch.jkh1994-09-141-3/+3
|
* Missing semi-colon after a done statement. Fixed.jkh1994-09-131-2/+2
|
* Adjust comments to document MASTER_SITES and remove mention ofjkh1994-09-131-5/+2
| | | | HOME_LOCATION.
* Ok, I think I have this whole HOME_LOCATION / MASTER_SITE stuff resolvedjkh1994-09-131-10/+14
| | | | | | | | | | | | | | | | | to a reasonable compromise: MASTER_SITES now contains a space seperated list of sites for which each DISTFILE may be retrieved. This should be a directory spec, which will be concatenated with each file in DISTFILES. HOME_LOCATION is *gone* now and isn't used for anything, so you can delete it from your Makefiles. If you want to force a fetch from a given location, simply do something like: MASTER_SITES= ftp://fnord.foo.bar/pub/dist DISTFILES= a.tar.gz b.tar.gz Your entry in MASTER_SITES will be tried first to fetch a.tar.gz and b.tar.gz, followed by any master sites we have set up (right now, only freebsd.cdrom.com).
* More fixes and general cleanup. Add more fine-grained control over whatjkh1994-09-111-15/+25
| | | | is fetched and what is actually unpacked.
* Whoops, forgot to stop this lurking typo, too.jkh1994-09-111-2/+1
|
* Eliminate a few lurking bogons - this is almost close to being right!jkh1994-09-111-4/+13
|
* Annual simplification drive:jkh1994-09-111-110/+95
| | | | | | | | | | | | | | | 1. DISTFILE is gone and replaced by DISTFILES, which can contain one or more file specifications. 2. MASTER_SITE created, which points to the distfiles directory on freebsd.cdrom.com (which I'll set up in a moment). 3. HOME_LOCATION is now simply a hint, and is never directly used except to inform the user when ncftp unable to transfer a file from MASTER_SITE. 4. ncftp is now assumed to live somewhere in the path, in preparation for Andrew bringing it in on a more permanant basis. 5. XMKMF defined - it was not before. Thanks to Andrew (ache) for many helpful suggestions.
* Rearrange this a bit while I think about the whole problem of fetchingjkh1994-09-091-50/+55
| | | | | | | | | | | multiple targets when dealing with creating a set of distribution files from scratch. Another problem is *verifying* that a given file fetched from its HOME_LOCATION is the one we wanted (what if the stupid ftp site maintainer updated it in place?). Rich Morin pointed this out and suggested some solutions. I need to think about it some more (suggestions?). For now, we have a seperate `fetch' and `extract' target. Submitted by: jkh
* As per suggestion by Michael Reifenberger, make ncftp use the -N flag.jkh1994-09-091-2/+3
| | | | | Reviewed by: jkh Submitted by: mr
* Fixed a couple of typos. Ok, this works now. Only one significant hurdlejkh1994-09-021-5/+5
| | | | | | | | | | remains, and that's that this does not work with multiple targets, which sort of throws the tk and fvwm distributions into a mess. tk needs both a tarball and a patch file from the same site, fvwm needs up to 3 different files if you want all the options. If anyone wants to take this the last few steps of the way towards somehow handling cases like this, I'd be very happy. Submitted by: jkh
* Ok, I've reviewed this and made it work now. ncftp fetching seems to bejkh1994-09-021-17/+16
| | | | | working/closer to working now. Submitted by: jkh
* Add a few missing >> lines to error echo's.. This is basically myjkh1994-09-021-4/+4
| | | | | convention to make searching for error messages easy. Submitted by: jkh
* Here's my first cut at doing auto-fetch with ncftp. The extract rulejkh1994-09-021-7/+31
| | | | | is turning into the original make rule from hell! Submitted by: jkh
* Geeze, what was I thinking again? Replace all references to:jkh1994-09-021-7/+15
| | | | | | | | | | | | | | | | | | | | | ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} With simply `${DISTFILE}' which defaults to the above. This lets you easily name distribution files that don't cooperate with any rational naming syntax. Similarly, make a variable called ${PKGFILE} which fills the same purpose for packages. Just trying to make this thing really really general to suit every need. Now I need somebody to figure out how to make the extract target auto-fetch things from ${HOME_LOCATION} with ncftp *if* ncftp is installed and it looks possible to reach the foreign site. That will take some fancy footwork, but would be slick. I've changed this too so that HOME_LOCATION is no longer set by default, allowing you to do an .if defined(..) check for it. The extract rule now does this too. Submitted by: jkh
* added hook for post-build scriptadam1994-08-311-1/+4
| | | | | Reviewed by: Submitted by:
* Lots of changes - get the NO_XXX things over, add @'s to the touches forjkh1994-08-281-20/+74
| | | | | | default extract and configure targets, add a pre-clean since I need it for pkg_install port. Submitted by: jkh
* Add a pre-configure rule after all, since it's helpful to be ablejkh1994-08-261-6/+7
| | | | | | to also run a rule before you apply patches and then go into the 3 stage script configuration. This bit Adam David in his dgd port. Submitted by: jkh
* Also `make Makefiles' in USE_IMAKE case to catch subdirs.jkh1994-08-261-2/+2
| | | | Submitted by: jkh
* Sigh. I am a hosebrain. I've been using gmake for so long, I'vejkh1994-08-251-21/+6
| | | | | started using some of its features reflexively. Submitted by: jkh
* Add a new flag: USE_IMAKEjkh1994-08-251-1/+4
| | | | | This will cause the configure pass to do an `xmkmf' if set. Submitted by: jkh
* Some cosmetic changes.jkh1994-08-241-7/+56
| | | | | | | | | Add pre-{build,extract,install,...} targets for Torsten, who apparently needs them. Can't do effective post-* targets without major work, sorry. Jordan Reviewed by: Submitted by:
* Ok, this should work with a centralized package directory now (so youjkh1994-08-221-6/+5
| | | | | can elect to dump all finished packages in one directory). Submitted by: jkh
* Make package target a lot more general.jkh1994-08-221-6/+14
| | | | Submitted by: jkh
* Whoops - left out the package rule!jkh1994-08-221-1/+5
| | | | Submitted by: jkh
* Use proper proper package suffix.jkh1994-08-221-2/+2
| | | | Submitted by: jkh
* Whoops, left out a backslash in my package rule.jkh1994-08-221-4/+4
| | | | Submitted by: jkh
* Ok, now we warn if we're about to recreate the distfile from configuredjkh1994-08-221-7/+12
| | | | | | sources. Configuring doesn't always _do_ anything, which is why it's a warning and not an error. Submitted by: jkh
* New bsd.port.subdir.mk file for use by ports. This groks all thejkh1994-08-222-42/+60
| | | | | | | | | | | | | | | | | | | special ports building targets and will recurse properly. Sorry, Julian E - no fancy prompts, just recursion! :-) Added a `bundle' target. Purpose is as follows: You want to give someone a complete tree sans distfiles (for sticking on CDROM perhaps?) but the difficulty there is that the first time the user types `make clean', all the unpacked sources are gone again. Typing `make bundle' recreates the original distfile if it can, so someone can "back up" their unpacked tree easily with one command. Whoops, just thought of something - it should warn if you configured the working source. Ok, next commit! :) Submitted by: jkh
* I had to bite the bullet: There's now a port.subdir.mk that does the rightjkh1994-08-222-3/+91
| | | | | | thing with recursive build, configure, bundle or extract targets. Reviewed by: Submitted by:
* Sigh.. Some of these configs are a little hairy. I need to know thejkh1994-08-221-5/+5
| | | | | ${PORTSDIR} too now - pass it to any and all config scripts. Submitted by: jkh
* Make things a little more user-friendlyjkh1994-08-221-3/+5
| | | | Submitted by: jkh
* Get the .configure_done stuff working - it wasn't in the right place.jkh1994-08-221-3/+3
| | | | Submitted by: jkh
* Start really adding some features here. Let's see:jkh1994-08-221-8/+33
| | | | | | | | | | | | | | | | 1. New variable DEPENDS lets you list packages that this depends on, relative to the top (lang/tcl, x11/tk, etc). These packages will always get made first. 2. Don't configure again if you've already done so successfully. 3. Add pre-configure and post-configure hooks. You can now do a pre-configure, a local configure, a port-provided configure and finally a post-configure if you really really want to. I can't imagine anything this will leave us not being able to do! :) [ Yes, I have actually found a use for at least two of these in one port - see x11/tk!]. Submitted by: jkh
* Simplify the whole configuration script business quite a bit. Whatjkh1994-08-211-9/+5
| | | | | was I thinking before.. Submitted by: jkh
* Whoops, the check for a missing distfile was slightly bogus. Now it works.jkh1994-08-211-10/+11
| | | | Submitted by: jkh
* Make any local configuration file unconditional. That is, if one existsjkh1994-08-211-8/+8
| | | | | then run it even if GNU configure is to be run later. Submitted by: jkh
* Commit my new ports make macros. Still not 100% complete yet by any meansjkh1994-08-211-0/+152
but fairly usable at this stage. Submitted by: jkh