Commit Graph

442 Commits

Author SHA1 Message Date
espie
71f290aa08 protect dependencies from shell expansion.
Noticed by avsm@
2001-04-09 23:16:50 +00:00
espie
6bac4e3df0 Turn NEW_DEPENDS on 2001-04-08 16:56:22 +00:00
espie
a930aa16bf FULLPKGPATH is PKGPATH plus flavor/multipackage modifiers.
Use it where we can, including WRKOBJDIR `real' names.

NOTE: if you are using WRKOBJDIR, *all* flavored builds directories
will change  names, from work-no_x11 to work,no_x11
2001-04-08 16:55:17 +00:00
espie
907db990a1 ...without breaking things 2001-04-08 16:50:13 +00:00
espie
ea034965e1 Store PERMIT_PACKAGE_* in PLIST. 2001-04-08 16:49:26 +00:00
espie
4d85ac4a33 reset IFS so that dir-depends will work correctly. 2001-04-04 09:55:34 +00:00
espie
3b0481a403 New Features for NEW_DEPENDS:
dir-depends: list of SUBDIRS this port depends on (with flavors, subpackages),
to use with tsort.
build-depends-list, run-depends-list: list of pkgspec:dir needed for this
port, no recursion. To use for INDEX.
2001-04-04 08:17:31 +00:00
espie
b1aa09605d I missed one package cookie 2001-04-04 08:03:59 +00:00
espie
a54dee276a derive _ALWAYS_DEP from _ALWAYS_DEP2 (and friends) so that pkgspec don't
interfere.
2001-04-02 21:08:49 +00:00
espie
5c979b3753 Compute `new dependencies' if NEW_DEPENDS is defined. 2001-04-02 11:50:25 +00:00
espie
6d478c82a8 Some comments 2001-04-02 11:45:11 +00:00
espie
8edb444009 Remove stuff that is often duplicate, and causes only bogus warnings. 2001-04-02 11:32:32 +00:00
espie
15f663ed60 revise the way package multi-builds are handled.
- move FLAVOR_EXT up so that WRK* are correct when they're needed for
dependencies.
- build a list of _PACKAGE_COOKIES, one for each subpackage.
- let package go through an indirection:
package: ${_PACKAGE_COOKIES}

_PACKAGE_COOKIE_${SUB}:
	SUBPACKAGE=${SUB} ${MAKE} _package

so that all packages are `flat', and subpackages can depend on each other
freely.
2001-04-02 10:35:51 +00:00
espie
c8d7665254 Add FLAVOR_EXT to the list of substituted variables (deprecate ${FLAVOR}
in packing lists).
2001-04-02 10:16:59 +00:00
espie
5ce94b79e1 Repair IGNORE. I forgot to move this around when the rest needed
rearranging. Found by naddy@.
2001-03-29 19:01:05 +00:00
espie
673de31adf typo 2001-03-28 15:07:05 +00:00
espie
acf0fc7a70 Distinguish between no flavor seen (default flavor) and empty flavor seen
(empty flavor).
2001-03-28 15:04:34 +00:00
espie
01e30c116d Due to the way make is working, flavors passed as `make FLAVOR=a'
don't work, as they propagate down subdirs.

Use `FLAVOR=a make' (sh) or `env FLAVOR=a make' (csh) instead.

Error out with a useful error message if old usage is encountered.
2001-03-28 15:01:01 +00:00
espie
062a4a9eb7 Missed one in back-porting my diff 2001-03-28 14:50:17 +00:00
espie
656c37a943 dir -> dir[,-multi][,-flavor...] notation for dependencies. Finally ! 2001-03-28 14:33:24 +00:00
espie
b793933200 Slight optimisation:
always define _ALWAYS_DEP, _BUILD_DEP, _RUN_DEP and test for emptiness
instead of definedness, so that the code is still optimized away when
dependency lists are defined, but empty.
2001-03-28 12:15:26 +00:00
espie
0d35a51ad3 Use error=true/false instead of error=0/1 (consistency) 2001-03-28 11:52:20 +00:00
espie
e941296cc0 Move dependency checking above targets, so that it can be changed to
generate cookies for each dependency.
2001-03-28 11:48:12 +00:00
espie
3ca1304f6a Trim documented parts. Give default values to NO_DEPENDS, NO_BUILD 2001-03-28 11:43:16 +00:00
espie
85dc6dca9c More regularity, use $@ to regenerate target cookies 2001-03-28 11:32:29 +00:00
espie
59c853bcdf ... and to the list of targets too, oops. 2001-03-28 11:28:31 +00:00
espie
87006647c2 Add rebuild target 2001-03-28 11:27:18 +00:00
espie
87d90f5e43 Add NOT_FOR_ARCHS 2001-03-28 10:25:38 +00:00
espie
1ee9c9c4ea Repair setting of PKGNAME/FULLPKGNAME dependning on Flavor.
These should override a default setting of PKGNAME, since in that case,
PKGNAME only holds the name for the main package.
2001-03-25 20:35:35 +00:00
espie
59abb51a42 _FEXT -> FLAVOR_EXT, make this visible
FULLPKGNAME as a knob for ex ${PKGNAME}-${_FEXT}, so that python
and others can tweak it directly, without needing post bsd.port.mk
tweaks.
2001-03-22 00:22:36 +00:00
espie
e568d53c54 Consistency (Peter Fritchman) 2001-03-17 11:16:38 +00:00
espie
e82e5409a7 Allow for COMMENT-foo= inside the Makefile.
NetBSD did this a while ago, this is a natural idea. It just took me
some time to figure out how to do that in a MULTI_PACKAGE context,
while maintaining compatibility with existing stuff.
2001-03-16 14:56:41 +00:00
espie
5130db70d1 Simplify MULTI_PACKAGES, allow for PKGNAME-foo=value 2001-03-16 14:54:40 +00:00
espie
a199bcb59a Create an intermediate mtree.spec that is used for fake installations.
Use of VAR_SUBSTS will solve a few nasty problems.
2001-03-06 18:59:38 +00:00
espie
8c07bce4dc Add `===> Checking files for pkgname' line to simplify automatic
recognition of various package builds.
2001-03-01 00:01:40 +00:00
espie
6bc4c47f7f Rework the dependency framework.
* pull every dependency under the same rule, using specialized fragments.
* re-check after the dependency is expanded, unless earlyexit is true.
* explicitly recognize /nonexistent as a specific way to have always
triggered dependencies, use it to handle DEPENDS in a uniform way.
* parse dependencies fully. Note that we know have a pkg variable that will
be used.

Thanks to naddy@ for useful tweaks.

This is probably not quite perfect yet, stuff may break. Other stuff that
remain to be done:

- handle library dependencies better, so that lib.10 will match only
lib.10.x and not lib.100.
- handle default FLAVORS correctly. This involves not
passing FLAVOR='', but rearranging ${MAKE} ${_DEPEND_THRU} to remove
FLAVOR from the environment and from MAKEFLAGS (yucky).
2001-02-24 22:02:08 +00:00
wilfried
f13fccbaf2 set variable before we use it, ok espie@ 2001-02-13 12:09:07 +00:00
espie
07876a6c8e Run pkg_create under ${SUDO} and fix the owner afterwards when needed.
The cleaner fix would be to create the package to stdout under SUDO
and redirect it, but that junk (pkg_create) is actively fighting that.

God, I've got to rewrite it and retire that crap.
2001-02-10 13:50:13 +00:00
espie
74d58c4e80 Fix DEF_UMASK check, should take ${SUDO} into account.
This ought to please naddy and avsm...
2001-02-10 13:47:54 +00:00
miod
18f01cdf24 Don't mention LICENCE_TYPE anymore 2001-02-03 01:14:52 +00:00
espie
02d5954552 move variables that only belong in old-install.mk to old-install.mk
Kill old work-arounds that are no longer needed since 2.8 came out.
2001-01-18 14:58:16 +00:00
brad
386156aa3c eliminate NO_CDROM and make the use of :U/:L consistent. Ok'd by espie@ 2001-01-08 22:34:51 +00:00
espie
cd8425b805 Always make TRUEPREFIX/DESTDIR available 2001-01-08 22:10:36 +00:00
espie
fc2ad74c6f Less comments, see bsd.port.mk(5) 2001-01-08 22:09:24 +00:00
espie
45af2405c8 indentation 2000-12-23 12:27:17 +00:00
espie
c754691700 take the old non-fake code out of line, for greater clarity (and since
it's so seldom used now).

Remove a few targets that are not really needed (mirror-distfiles, use
mirror-maker instead).

More changes to fake to come, once they've been properly tested.
2000-12-23 12:25:57 +00:00
espie
78564b0e02 link-categories/unlink-categories target:
populate ports tree with symlinks.
2000-12-16 15:49:12 +00:00
espie
12dc728de6 Enforce directory check in dependencies, so that link-category can come
alive (since ports can now be symlinked, porters need some strong check
so that they don't create bogus dependencies).
2000-12-16 15:47:35 +00:00
espie
7a7b37f54b Remove compatibility scaffolding for EXTRACT_CMD, EXTRACT_BEFORE_ARGS,
EXTRACT_AFTER_ARGS
2000-12-16 15:44:35 +00:00
espie
ec30af29cd Fix build of README.html (use PKGPATH) 2000-12-14 13:13:53 +00:00
espie
bf4b1ad7bb Add extraction support for shell archives (.sh, .shar, .shar.gz...) 2000-12-14 13:08:59 +00:00
espie
046b0ff608 Remove documentation that is now in bsd.port.mk(5) 2000-12-01 16:31:11 +00:00
espie
3b7559aaec With the new MAINTAINER format, this looked weird 2000-10-22 16:31:38 +00:00
espie
02eb4f9304 Kill USE_AUTOCONF, USE_IMAKE, NO_INSTALL_MANPAGES, HAS_CONFIGURE,
GNU_CONFIGURE.
2000-10-22 16:06:25 +00:00
espie
6c4a978b24 Fed up with *idiots* that never read the documentation. 2000-10-02 07:53:24 +00:00
espie
b2cefd992a Typo. 2000-09-23 22:03:21 +00:00
espie
20a00a6871 Use CONFIGURE_ENV/CONFIGURE_ARGS for perl-style configure 2000-09-23 12:40:27 +00:00
espie
a160ede9d2 Don't change the semantics of the patch target if BATCH is defined,
this is stupid (BATCH is only there to skip IS_INTERACTIVE ports).

Make PATCH_CHECK_ONLY a Yes/No switch.
Let it be a slightly better no-op, e.g., skip creating the cookies
in checkpatch operation.
2000-09-23 12:36:39 +00:00
espie
d5248f008e thinko 2000-09-22 02:20:30 +00:00
mickey
90a44e010d @ the echo so we only the message 2000-09-19 14:14:52 +00:00
espie
d218af1299 INSTALL_MACROS does not need to be visible. 2000-09-17 16:26:57 +00:00
espie
09ff1c0242 Clean PATCH_DEBUG handling 2000-09-16 13:54:56 +00:00
espie
fae88b0133 Documentation clean-up: group deprecated variables, clarify
MAINTAINER comment. List bsd.port.mk(5) as the future source of
documentation.
2000-09-13 14:06:55 +00:00
espie
6b10c1319a Fix dependency problem linked to make's POSIX rules.
Reported by Camiel, thanks.
2000-09-13 13:49:51 +00:00
marc
6ddcd6e2f2 distclean: don't puke when _DISTFILES and _PATCHFILES are empty
prob found by Jeremie Kass <jeremie@umich.edu>
2000-09-12 02:52:01 +00:00
espie
e35f4db285 Deprecate old EXTRACT_* variables.
Use some weird code to allow backward compatibility.
Rely on distfiles suffixes and a case statement (with matching variable
EXTRACT_CASES) to allow distinct extraction rules for multiple distfiles.
2000-09-11 18:06:24 +00:00
brad
b44aa7212b oops, fix cut and past-o. vax -> hppa 2000-09-07 04:20:54 +00:00
brad
ec463c63b8 enable shared libraries on powerpc 2000-09-07 04:14:44 +00:00
espie
996e841d00 Add SYSCONFDIR to SUBST_VARS. 2000-09-05 17:27:45 +00:00
espie
df7514664f Kill CDROM_COPY/CDROM_OPT. Nothing really needs them. 2000-09-03 16:00:49 +00:00
espie
5f92cc296f current make passes flags through to submakes, no need to subvert
AM_MAKEFLAGS for this.
2000-08-28 22:42:00 +00:00
espie
c242d633e5 make from current handles recursive variables just fine. 2000-08-28 22:38:37 +00:00
brad
1aa3076045 now that the ports tree is tracking -CURRENT, make use of ldconfig -U for
NEWDYNLIBDIR
2000-08-22 23:10:38 +00:00
miod
45ffc7a496 Make _CDROM_OVERRIDE work again 2000-07-21 02:38:33 +00:00
naddy
4d89af4f75 fix "show" target to correctly display variables that contain
shell metacharacters; ok espie@
2000-07-19 22:36:32 +00:00
espie
f02479f386 Buglet: ensure PKGPATH is without a /.
This complicates bsd.port.subdir.mk slightly (needs to set _SEP),
but at least it's consistent.
2000-07-17 07:11:50 +00:00
espie
4bf4de0012 DEPENDS lib:path -> lib::path here as well.
(getting ready to drop back support for lib:path, so that we may do
lib📦path support and similar fun things)
2000-07-14 23:07:25 +00:00
espie
837cf24d7c Change PORTSUBDIR/DIRPRFX to PKGPATH (avoid gratuitous naming
incompatibility with NetBSD).

This patch rearranges code so that PKGPATH is maintained
- when recursing into subdirs,
- when computing dependencies.

So that this reduces the number of `pwd` calls overall.
Should be especially noticeable for mirror-maker.
2000-07-14 23:01:11 +00:00
espie
0d0e665869 Make mtree invocation path explicit (rohee@) 2000-07-11 10:32:22 +00:00
espie
5ef9c5c473 Remove work-around for pre 2.7 ftp/make bug with dates. 2000-07-07 15:49:32 +00:00
espie
5e279084af Put shared libraries into a separate fragment. 2000-07-03 13:01:47 +00:00
espie
5077fbe88a Fix up comment. 2000-06-30 21:48:50 +00:00
espie
87e3a78b63 Remove ldconfig mess from packing-lists, let a sed script generate the
right instructions from DYNLIBDIR(dir) or NEWDYNLIBDIR(dir)
2000-06-30 21:42:36 +00:00
espie
4db20c876c Remove kludge for PLIST.sed
All PLIST are substituted, and all PLIST.sed have been removed from
the tree.
2000-06-28 15:06:26 +00:00
espie
14b844e500 Since we are generating the PLIST, add the full package name as a comment,
may be useful later.
2000-06-20 16:51:23 +00:00
turan
8d0dc5836d spelling errors in all-packages target. 2000-06-18 23:35:02 +00:00
espie
08aacef06e Fix DESCR/INSTALL/DEINSTALL names for old-style ports.
Based on something that looked remotely like a bug-report by
Michael H. Price II (no details at all, except `lsof is broken')
2000-06-18 23:27:03 +00:00
espie
81a53c2590 Create all packing information under a subdir of WRKDIR (WRKPKG).
WRKPKG should seldom be changed, unless it conflicts with the port's
actual naming conventions (default is ${WRKBUILD}/pkg).

Substitute stuff in INSTALL/DEINSTALL script as well.
The only drawback is that those LOOK like shell variables, but are actually
simple sed substitution.
Preconise a style such as
prefix=${PREFIX}
(then use ${prefix}) to avoid confusion.
2000-06-16 23:53:40 +00:00
espie
1dbe92f1ae Remove NO_EXTRACT/NO_PATCH/NO_CONFIGURE 2000-06-16 23:10:41 +00:00
espie
e04a85bdd5 NO_INSTALL_MANPAGES -> CONFIGURE_STYLE=imake noman 2000-06-13 01:48:17 +00:00
espie
d3f7169889 Set ac_given_INSTALL to the same value as INSTALL for gnu-configure
invocations. This works around a bug in autoconf-generated scripts that
is present up to autoconf 2.13.

In recursive configure, INSTALL is re-set from ac_given_INSTALL, to handle
relative paths correctly. However, sometimes ac_given_INSTALL hasn't been
set yet, and we end up with a `BSD compatible INSTALL' of ../
2000-06-12 02:09:22 +00:00
espie
2a2b19e211 Handle CONFIGURE_STYLE=autoconf correctly 2000-06-10 17:21:33 +00:00
espie
b1a5029c53 Forgot to handle legacy HAS_CONFIGURE
(+typo spotted by brad@)
2000-06-10 17:15:06 +00:00
espie
84e942de0b Extend CONFIGURE_STYLE to deal with GNU_CONFIGURE, HAS_CONFIGURE,
DESTDIR tweaks for fake, old-style gnu-configure (no sysconf), imake,
and autoconf...
2000-06-10 15:27:54 +00:00
espie
8ec35a8628 Missing SUDO in reinstall target for fake ports. 2000-06-09 20:59:46 +00:00
espie
571b2d1140 Add EXEC=exec indirection to mirror-maker,
so that broken OSes (slowlaris) can say 'make EXEC=/bin/ksh' and
use the target.
Thanks, Bob (beck@)
2000-06-09 19:34:31 +00:00
espie
db23a7cde1 Document deprecated variables. 2000-06-09 18:37:31 +00:00
espie
f954b21f3a Tweak generated PLIST name, to avoid collisions with ports that brew
their own (compatibility hack, to remove once ports have been cleaned up).
2000-06-09 16:31:54 +00:00
espie
0ea371c386 Generate PLIST, MESSAGE, DESCR from templates systematically.
- the PLIST, MESSAGE, DESCR variables refer to the sources.
- files are generated under ${WRKBUILD}, always.
- SUBST_VARS refer to the variables being substituted. ARCH,
  HOMEPAGE, PREFIX are always substituted.
  Use $\{VAR} to escape substitution.
Plus ${FLAVORS} -> -flavor1-flavor2  for PLIST.
- the %%FRAG%% and %%!FRAG%% notations are always used for PLIST.
- SED_PLIST can be augmented if needed.

Plus some compatibility kludges with the current situation.
2000-06-09 16:26:54 +00:00
espie
be6611a11f Support COMMENT=-string
(specifically, to allow all-in-one-Makefile stubs for all ports)
2000-06-09 16:18:42 +00:00