Commit Graph

582 Commits

Author SHA1 Message Date
espie
a6396841cb Handle parsing the flavor/multi-package part internally.
Use eval to simplify passing those to submakes.

Note that the preferred separator is ',', not ':'.
(Because ':' can't be used unambiguously in *_DEPENDS, whereas ',' can)
2001-03-28 11:19:33 +00:00
espie
cd2b7ae81b Move DUDS handling to makefile level 2001-03-28 10:55:52 +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
6438a9450e ... and don't forget to include FULLPKGNAME here either. 2001-03-22 00:23:15 +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
4dbdfa7f73 We want to test if the variable is defined,
not the value it may have.
2001-02-15 21:51:32 +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
espie
0757d4020d Base _SEP on PKGPATH being empty, more robust 2000-07-26 12:47:16 +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
e0673fa6b0 Pass FLAVOR in the environment, to allow for some manipulations... 2000-06-24 14:12:33 +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
espie
301a61292d Display `cleaning for' at the right point.
Somehow, this got swapped.
2000-06-07 15:46:15 +00:00
brad
dbff997122 ports-admin@ -> ports-maintainers@ 2000-06-02 14:37:17 +00:00
espie
ac5cf880c7 Add standard method for perl MakeMaker configuration 2000-06-02 11:42:53 +00:00
espie
7b9d1b5044 - tighten regexps for PLIST_SED, to avoid accidental matching for fragments.
- repair clean-depends... it was broken quite a few months ago. I suspect
I'm the only one who uses this.
2000-06-01 17:33:53 +00:00
marc
bc45a59758 use with uninstall 2000-05-31 22:37:42 +00:00
espie
8dd54038fb Let package cookie depend on package components (plist, descr, etc) 2000-05-30 16:39:04 +00:00
espie
8dc2e5c332 Turn
FAKE=Yes
on by default
2000-05-30 14:51:59 +00:00
espie
43485e7a39 Define WRKINST always.
Exchange WRKINST tests for FAKE tests, more logical.
2000-05-30 14:44:23 +00:00
espie
20e71af37d Add duplicates check to packing list 2000-05-29 16:43:35 +00:00
espie
eb03402014 Add PLIST.sed substitution
!%%fragment%% -> PFRAG.no-fragment
Useful for no_X11-like flavors.
2000-05-22 13:43:55 +00:00
espie
2fcec6e645 Don't show `make plist' internals under fake, it works good enough that
we don't need to debug it.
2000-05-18 19:59:21 +00:00
espie
9b1a639bff Add REFETCH mechanism, effective once ftp.openbsd.org is populated with
checksum links.
2000-05-17 12:41:28 +00:00
espie
0bc51803ca Use exec to strip a large number of intermediate shells that don't serve
any useful purpose except for eating up PCB.

Not sure whether this is a ksh bug or not, but this is at least a fine
work-around.
2000-05-17 12:14:53 +00:00
espie
6c54029712 pre-fake needs SUDO 2000-05-17 00:22:39 +00:00
espie
361e5cd773 Use setenv -i, for predictability. 2000-05-16 18:14:29 +00:00
espie
e0eb5fc9ba Support ${SUDO} 2000-05-16 17:06:46 +00:00
espie
ada699dfa0 Switch back to ${MAKE}. Pointed out by Todd Miller.
${MAKE} is special, it's set by make itself, and should be relied upon
to be sure we reinvoke the same make we started out with.
2000-05-16 15:54:17 +00:00
espie
b7252d84ea Missed phony target 2000-05-16 15:13:28 +00:00
espie
77af5027a8 Remove lots of extra shells in the mirror-maker Makefile. 2000-05-16 14:40:28 +00:00
espie
b2d1296094 Passing flavors along while computing dependencies is a bad idea,
use _DEPEND_THRU uniformously.

Note that this actually needs something very similar to what is used
in bsd.port.subdir.mk to work.

In particular `default' FLAVORs not being empty is probably a bad idea,
and won't work uniformously.

The right way to set a default flavor is probably to:
- not have empty as a valid flavor.
- do things in two steps:
FLAVOR?=default
.if empty(FLAVOR)
FLAVOR:=default
.endif

so that flavor always gets set correctly.
2000-04-22 19:20:12 +00:00
espie
af038eb990 Dependency bugfix:
subpackage cookies ought to depend on {fake,install}_cookie as well.
2000-04-22 18:57:00 +00:00
espie
7e961a38e0 hook to call update-patches, and call your fave editor on the changed
patches.
2000-04-19 14:37:19 +00:00
espie
b8fc9fef8e MULTI_PACKAGES needs to be propagated to all-package, ftp-packages,
cdrom-packages as well.

Use _sub for loop variable name, to work around an obscure make bug.
2000-04-18 23:20:49 +00:00
espie
60cd07e54e Missed SUBPACKAGE in PFRAG.shared 2000-04-18 20:13:48 +00:00
espie
1f9278cd57 Handle NO_DESCRIBE like NO_PACKAGE for MULTI_PACKAGES. 2000-04-18 17:35:09 +00:00
espie
3639222585 Always define a FAKE_COOKIE, so that FAKE="No" will display an error message. 2000-04-17 21:53:38 +00:00
espie
999cccb78e buglet fix: let the port+flavor directory show up in a form suitable
for direct SUBDIR reuse.
2000-04-17 20:14:33 +00:00
espie
6c6c933ec0 MULTI_PACKAGES framework.
This is somewhat orthogonal to FLAVORS.

Principle: one port may build several packages in one go.
For instance, egcs will build all compilers, and package stuff as
base, C++, Fortran, etc.

This simplifies some japanese ports greatly, e.g., one Canna port that
builds libs/server/app packages.

How to use:
just set
MULTI_PACKAGES=-ext1 -ext2...
in the Makefile.

Then make package will invoke itself recursively with SUBPACKAGE set to
-ext1, -ext2.

The SUBPACKAGE will fetch package info as PLIST-ext1, COMMENT-ext1,
DESCR-ext1, etc.

The port Makefile itself can test the value of SUBPACKAGE if things differ.

Some problems:
- there still is a main package (with PLIST, DESCR, etc), and it's built
last, so you can't add RUN_DEPENDS=main_package to subpackages, you have
to encode them explicitly in the PLIST for now.
- other ports can't depend on subpackages yet. This is usually not a
problem, it's just a question of choosing the `right' main package (e.g.,
for Canna, it will be canna-lib).
- PLIST.sed recognize @FLAVOR@, which is extended to the current flavor,
so that a subpackage may depend on the corresponding main package in
explicit ways.


describe is also invoked recursively, so that all subpackages appear in
the INDEX.
2000-04-17 20:12:03 +00:00
espie
46f238e655 Common definitions into _FAKE_SETUP to shorten and simplify fake target. 2000-04-16 21:41:07 +00:00
espie
8bc36bb0e8 Add @ 2000-04-16 20:59:22 +00:00
espie
25cc866faf Don't add FLAVOR='' to ports without flavor, let default be picked up
instead.

Allow for ',' as a FLAVOR separator instead of ':'
2000-04-16 20:10:21 +00:00
espie
7007246e58 Bug-fix: take ${_FEXT} into account for WRKOBJDIR. 2000-04-15 18:46:08 +00:00
espie
2cb07b50e6 Flexibility in recursively entering subdirs. 2000-04-10 17:51:26 +00:00
espie
bee18ac785 Somewhat simpler {ftp/cdrom/all}-packages, depending on real files. 2000-04-10 01:11:36 +00:00
espie
aebf80dccd ALWAYS_PACKAGE: if defined, let install depend on _PACKAGE_COOKIE as well.
Use this for the {all,cdrom,ftp}-packages targets instead of unreliable
DEPENDS_TARGET.
2000-04-10 00:42:02 +00:00
espie
86ec251992 Typos 2000-04-09 23:57:58 +00:00
espie
fd5775bd31 Need to include Makefile.inc sooner. 2000-04-09 15:24:13 +00:00
espie
6a4876d0a3 Let fetch-all use the same magic invocation as mirror-distfiles 2000-04-09 15:05:52 +00:00
turan
2c979f178d ftp-packages, cdrom-packages targets. These are the targets I use
to build packages and log them.
2000-04-09 12:04:13 +00:00
espie
4abb7edb2e Fix MANPREFIX for FAKE, reported by Chris Turan. 2000-04-09 11:51:39 +00:00
espie
976871dda9 Fix bug in IGNORE logic. 2000-04-09 11:34:01 +00:00
marc
be9e927863 Change PACKAGES so the arch part of the name. Allows nfs mounted
ports tree to be shared by hosts of different types.   Note: you
may want to do something like this to move any existing packages:
cd /usr/ports/packages
mkdir .tmp
mv * .tmp
mv .tmp sparc
patch approved by espie@
2000-04-08 23:11:15 +00:00
espie
4c57808e2a Use flavor in WRKINST/WRKBUILD name.
Optimize space: if SEPARATE_BUILD contains `flavored',
one WRKSRC for all flavors is enough.
2000-04-03 17:32:42 +00:00
espie
85588b0976 Fix SED_PLIST behavior for flavors.
- test for NO_SHARED before reading PFRAG.shared
- pipe several sed together, otherwise keyword recognition won't work
in fragments.
- put PFRAG.shared replacement at front, so that further flavor will
use it.
- various typos...
2000-04-03 17:09:12 +00:00
espie
67e926898f Typo 2000-04-02 18:35:41 +00:00
espie
3d1fe0aec8 Force packages to always go the PKGREPOSITORY, creating it if needed.
Add PKGREPOSITORY to PKG_PATH before pkg_add.

Thanks to aaron, fries, and mickey.
2000-04-02 18:08:31 +00:00
espie
fc07fe0209 Typo 2000-04-02 17:55:45 +00:00
espie
f40fde3df2 Don't propagate DEPENDS_TARGET more than one level deep. 2000-04-02 16:42:27 +00:00
espie
80ebdbdd46 Try to detect people who are not running X-current and tell them about it. 2000-04-02 10:47:54 +00:00
espie
ace22d7082 Oops, make sure FLAVOR is always defined... 2000-04-01 15:49:06 +00:00
espie
46c0b103d1 Add :${FLAVOR} to directory if exists. 2000-04-01 14:57:24 +00:00
espie
bd6d540929 Pass `show VARNAME=' to subdirs. 2000-04-01 14:54:49 +00:00
espie
92252853ec More uniform way to find PLIST, handles more flavors. 2000-03-31 18:51:09 +00:00
espie
0a6b34278e Include guard to avoid getting bsd.own.mk twice. 2000-03-31 18:05:28 +00:00
espie
b4e3992524 Typo 2000-03-30 02:09:31 +00:00
espie
14b5082c96 Depend on the `package' target of subpackages for installing fake packages.
This means that sub packages *won't* be installed, except as an effect of
pkg_add...

Helps finding problems with pkg_add.
2000-03-29 16:34:45 +00:00
espie
cec50f3a08 Flavored ports 2000-03-29 15:59:50 +00:00
espie
07d9ab40f2 Don't record ${PREFIX} in index if it's equal to ${LOCALBASE} 2000-03-28 09:27:03 +00:00
espie
c8a414183a Remove PORTSDIR from describe:, in portsubdir, and in descr.
(noticed by turan, quick and dirty implementation until I clean the
DIRPRFX mess)
2000-03-27 01:52:17 +00:00
espie
45720d825b USE_X11 should mark ports that need X11, but don't say anything about
where they install.

E.g., DON'T TOUCH USE_X11 in existing ports for now, we'll see how we
go about them.
2000-03-26 21:23:20 +00:00
espie
1cbff6e6d1 Trim sed, using same techniques I already did for bsd.port.mk. 2000-03-26 16:57:42 +00:00
espie
a2df2dc131 Missed PORTSDIR in fetch-list. 2000-03-26 16:01:08 +00:00
espie
5503443dd9 Propagate RECURSIVE_FETCH_LIST in a less hackish way. 2000-03-26 15:59:41 +00:00
turan
f77ccdb0f2 MTREE_FILE fix. Some ports did not pass MTREE_FILE into make-plist. 2000-03-24 20:44:01 +00:00
espie
eac4754f84 Crude check for broken links in fake install. 2000-03-21 21:23:54 +00:00
espie
3616337cda No need to display MESSAGE at the end of fake install, for obvious
reasons...
2000-03-21 21:06:58 +00:00
espie
b9822f231d Remove references to ancient versions of LIB_DEPENDS. 2000-03-19 16:46:18 +00:00
espie
17c6fd0f42 Strip :: -> : in dependencies.
(to provide for a seamless way to insert MORE in dependencies)
2000-03-19 16:11:41 +00:00
espie
672066dedb A few PORTSDIR I didn't remove... 2000-03-19 16:04:19 +00:00
espie
5e5e9ef727 app-defaults kludge needs to have a test around thanks to ln semantics. 2000-03-19 01:52:46 +00:00
espie
a609419a73 Let X11 ports install under /usr/local 2000-03-18 17:01:34 +00:00
espie
dbb77da3c4 pre-fake target:
finish setting up WRKINST tree after mtree, but before making the
INSTALL_PRECOOKIE.

See /usr/ports/print/teTeX/base for sample use.
2000-03-10 18:09:23 +00:00
espie
47d1583a64 Fix build-depends/recurse-build-depends to work with PORTSDIR removed.
(no, I'm not going back and adding NEED_VERSION everywhere...)
2000-03-08 00:07:37 +00:00
espie
0754f5f4fb Pass TRUEPREFIX, PREFIX, DESTDIR to pre-install, do-install, install targets
in FAKE mode, to simplify conversion.
2000-03-07 16:14:20 +00:00
espie
d9952f7414 Switch to ${PORTSDIR} before evaluating any dependency.
Makes ${PORTSDIR} in dependencies redundant.
2000-03-05 16:40:52 +00:00
espie
b183552d26 If DISTFILES + PATCHFILES = ALLFILES is empty, no fetch is needed... 2000-03-05 16:33:38 +00:00
espie
2d41326fbf streamline SUBDIRUSE 2000-03-05 16:20:02 +00:00
espie
fffd628669 Document NO_PATCH. Indent stuff correctly. 2000-03-05 16:00:30 +00:00
espie
8285a069ca Add fetch-makefile to bsd.port.subdir.mk, mirror-maker to main Makefile.
Tweak fetch-makefile to take PERMIT_* into account, giving us the level
of control needed.
2000-03-04 18:16:02 +00:00
turan
d749ad403d remove trailing -n in make describe
pretty INDEX
2000-03-04 14:40:21 +00:00
turan
5fd5ee65d8 remove trailing | in make describe 2000-03-04 14:36:46 +00:00
turan
881504ae70 Move the test for the existance of license info up into the beginning
of fetch instead of the end of extract.  It only makes sense to do the
check in extract if we are checking the file that contains the license.
2000-03-04 08:35:47 +00:00
espie
2a525277b7 `Fake' infrastructure:
if a port sets FAKE=Yes, this means it can be `pre'-installed elsewhere,
with DESTDIR set to WRKINST (=work/fake-${ARCH} by default).

the infrastructure takes care of pre-install/do-install/post-install targets,
assuming those install stuff under PREFIX.

To help ports to cope with DESTDIR, you can set FAKE_FLAGS and FAKE_TARGET
(used for the fake installation).

Ports with FAKE=Yes are the way to go: they can be packaged directly without
a real installation, and the installation proceeds from the package, thus
forcing porters to check the package.
2000-03-03 21:24:50 +00:00
espie
3ebe7cbccf Mtree changes:
- don't record mtree in packages by default,
- don't run mtree on /usr/local or /usr/X11R6 by default,
- only use MTREE_FILE for plist.
- choose mtree based on PREFIX, since this is what matters.
2000-03-03 20:59:16 +00:00
espie
d51b0446da .bak.orig looks nicer than bak.orig 2000-03-03 20:41:11 +00:00
espie
41d7667013 Basic framework for fetching distfiles for mirrors. 2000-03-03 17:51:37 +00:00
turan
8eaddcf1e3 nix LICENSE_TYPE. This is much prettier now. 2000-03-03 14:23:10 +00:00
espie
11378f3d2b Simplify README.html, reuse last pattern instead of re-specifying it. 2000-02-28 18:13:18 +00:00
espie
edba5cfedf MAKEFILE-> MAKE_FILE 2000-02-22 17:08:31 +00:00
espie
fc190877e5 Compute CKSUMFILES in two steps, use that to remove duplicates from
ALLFILES as well...
2000-02-22 14:07:09 +00:00
turan
425c843fcd minor tweaks 2000-02-22 09:27:51 +00:00
turan
1c26980582 make describe, blanks -> ?. typo as well 2000-02-22 09:18:36 +00:00
espie
4c723581ce Compute more of INDEX within make, without external test calls.
Re-indent rules correctly. Only the make tests are indented, the rule itself
still starts after one tab.
2000-02-21 23:53:52 +00:00
turan
73e1d63f8d licensing info in make describe.
make print-licenses target
2000-02-21 22:09:57 +00:00
espie
bbaf95cb8c The MAINTAINER variable is here to be used... 2000-02-20 17:05:40 +00:00
turan
d5bb6b6149 pretty license warning. louis@ 2000-02-19 04:16:23 +00:00
espie
625dd36ea1 Add show target, to be able to enquire about ports variable values. 2000-02-18 22:54:27 +00:00
espie
1eb5506332 Add HOMEPAGE to README.html 2000-02-15 18:19:12 +00:00
espie
c90ec7c699 Be more thorough in cd ${.CURDIR} && make...
Otherwise, this causes obscure bugs some of the time...
2000-02-15 17:58:32 +00:00
turan
eb9439da63 DISTF -> DISTFILES, PKG -> PACKAGE 2000-02-15 07:28:20 +00:00
espie
6aea87cf34 Warning message to stderr, to not interfere with other stuff. 2000-02-12 13:52:04 +00:00
turan
c92e1e4f21 license framework minus checksums 2000-02-12 06:02:04 +00:00
espie
c6da62630a Oops, left `build' line visible. 2000-02-12 00:49:17 +00:00
espie
b3ed337056 Change MAKE_FLAGS to remove the -f.
Actually reading the Makefiles proved that about one third of them was
confused about this already...
2000-02-12 00:43:57 +00:00
espie
91dd43bca4 Remove deprecated variables. 2000-02-11 01:11:00 +00:00
espie
2b44b9412b Remove WRKSRC work-around 2000-02-11 00:40:09 +00:00
espie
78bdb819c7 Bye, bye NO_WRKSUBDIR 2000-02-10 23:46:42 +00:00
espie
018d14a85f Repair package building.
Thanks to martin@ for reminding me...
2000-02-09 20:09:05 +00:00
espie
8b20f37bef and of course, nobody spotted the obvious typo in the patch I gave on
ports...
2000-02-09 00:54:33 +00:00
espie
7c8bf5098c Temporary work-around for ports that define WRKSRC manually... 2000-02-09 00:42:39 +00:00
espie
26704f504e Use DIRMODE to install dirs, avoid collisions with mtree
(keep a duplicate of DIRMODE until 2.7)
2000-02-09 00:26:32 +00:00
espie
9ecf27ba4f Introduce WRKDIST: place where stuff unpacks.
May be different from where source lives.
And from where build happens.

NO_WRKSUBDIR=Yes is equivalent to WRKDIST=${WRKDIR}, and not
particularly smaller, deprecated it.

Remove CLEANDISTORIG, use patch -b instead.
Note that DISTORIG ends in .orig to let rm *.orig still work...
2000-02-09 00:23:26 +00:00
espie
aa931bcd50 Kill ALL_HOOK, it's deprecated and unused. 2000-02-06 18:35:24 +00:00
espie
e971455139 Compute CKSUMFILES in a better way, to avoid duplicates.
Simplifies SUPDISTFILES choice: put everything that might ever be fetched
there, don't worry about duplicates.
2000-02-04 20:33:42 +00:00
espie
c24ad602d8 Defining ALLFILES in every case is much better... 2000-02-04 12:55:33 +00:00
espie
8538981335 Finish cleansing PATCH_SITES out. 2000-02-04 11:15:16 +00:00
espie
956abc1070 Remove the real-* targets, do things directly at the cookie level.
More submakes die.

Remove NO_WRKDIR `feature'

Fix `make clean' to do the right thing even if WRKOBJDIR is not defined
at that point.

It's doubtful package-noinstall is useful, but I left it in for now, with
slightly altered semantics.
2000-02-04 11:09:33 +00:00
espie
4df22da508 Don't let real target depend on phony, unless we want the real target to
be rebuilt each and every time...
2000-02-04 00:51:53 +00:00
espie
d7feb40951 Buglet fix: there's absolutely no reason not to run checksum, or
dependencies, if NO_EXTRACT or NO_PACKAGE has been defined ?

Might break some ports that don't explicitly ask not to run those steps.
Good thing.
2000-02-03 22:03:00 +00:00
espie
e150702129 ...twice 2000-02-02 18:33:42 +00:00
espie
158908fdce I am a moron 2000-02-02 18:20:28 +00:00
espie
e5ce6f9944 Cosmetic patch: don't append DIST_SUBDIR if it's not defined.
Set vim filetype, as vi doesn't care.
2000-02-02 15:28:17 +00:00
espie
f0d10863c0 Dependency tweaks.
- put .if defined(XXX) && !defined(YYY) on the same line: less indentation,
more readability.
- set found to true/false directly (builtin).

ALWAYS check that a dependency directory does exist and is a directory.
Catch up typos more quickly, since they will be evident *even if the
dependency is already satisfied*.

Make this only a warning, not a hard error, as we still want to cater
to users with a partially checked out tree...
2000-02-02 00:15:07 +00:00
espie
9fbdb62b2b Undefined PATCH_SITES equivalent to MASTER_SITES,
PATCH_SITESn equivalent to MASTER_SITESn.

Start phasing out PATCH_SITES.
2000-02-01 14:39:20 +00:00
espie
01ffa0afd0 Add intermediate `distpatch' target.
This is done in a tricky way, so as not to disturb the usual sequence
of targets. Namely, you still have
fetch, extract, patch, configure, build, install, package,
but patch does invoke a subtarget distpatch when needed,
and you can
fetch, extract, distpatch, patch, configure, build, install, package
for the same results.

Mostly useful for porters: provide an intermediate point to work on
patches, and make it easy to override distpatch/OpenBSD patches separately.
2000-01-30 15:19:40 +00:00
espie
e7e66ce2ba oops 2000-01-27 20:45:44 +00:00
espie
c7c4af8749 Missed a few phony targets. 2000-01-27 20:16:14 +00:00
espie
1526900c51 Use db/network.conf only if it exists, defaults to the template otherwise. 2000-01-27 15:32:15 +00:00
brad
a177e38fec update comment to match reality after recent removal of support for using
pre-*/post-* scripts
2000-01-27 00:09:44 +00:00
espie
4ca9faf7c8 Kill _PORT_USE macro.
This trims down the number of sub-makes the port system runs quite a bit,
and makes some other fun stuff possible.

THIS KILLS THE pre-*/post-* SCRIPT STUFF
The functionality is unneeded, as it can be done with normal
pre-*/post-* targets, but it must be kept in mind when porting
Free/NetBSD ports.
2000-01-26 23:11:08 +00:00
espie
0c4dc05e18 Work-around for a whole set of bugs in 2.6...
some ftp servers give weird dates, like Dec 14 1909...
and then make gets confused, as make 2.6 is broken with respect to negative
dates.

So we touch the file whenever make gets confused and it already exists.
This avoids fetching & re-fetching files with negative dates, while keeping
timestamps for correct files...
2000-01-26 21:15:05 +00:00
espie
1415b158f2 make handles indented tests nicely.
So, we indent each test/loop level two spaces to let the structure
of bsd.port.mk be more visible.

Large indentations show that something blatantly unobvious/obfuscated is
going on.

Design decision made after consulting with brad@.
We agree it's much clearer that way.
2000-01-13 17:40:20 +00:00
espie
7b052eb98b MANNPREFIX and CATNPREFIX are no special cases.
.for lang in ${MANLANG} cannot be folded yet, as make still uses a very
primitive .for parser (should use an efficient variant of brk_string...)
2000-01-06 21:53:27 +00:00
brad
efcb8ae111 automagically -> automatically 2000-01-01 15:43:34 +00:00
espie
821242006f Clean do-fetch target: it can depend on the files it's trying to fetch.
Plays some make trickery to get all details correct.
Numerous benefits:
- make automatically handles badly fetched files,
- possible extension to special-case *each* file fetch,
- can be easily parallelized.

Similar rules for fetch-list soon coming.

Also simplify CDROM handling while we're at it, no need for 10 knobs
when one suffices.
1999-12-24 00:27:58 +00:00
espie
ffdd2ed285 Wrap MASTER_SITESn/PATCH_SITESn into a .for loop.
Don't bother computing MASTER_SITESn/PATCH_SITESn if they're not
set in the first place...
1999-12-21 21:43:37 +00:00
espie
0d89aad7ef Deprecate DO_NADA 1999-12-20 19:02:37 +00:00
espie
089030e769 Clean up _PORT_USE, so that it does not depend on what's being made.
fetch can depend on real-fetch directly, since it does not involve
cookies.
1999-12-20 00:07:17 +00:00
espie
469acd4ed9 Changes tests of IGNORE/NO_IGNORE so that
`main' targets (checksum, fetch, extract...) are always defined.

This removes the possibility of erroneously overriding them.

Dependency fix:
- move the NO_xxx test to the _xxx_COOKIE target, so that each cookie
is built at exactly one point in the Makefile.
- separate phony targets from the real thing:
`top' dummy targets (e.g., build)  depend on the corresponding cookie,
cookies depend on each others and each cookie does trigger the real targett
(unless NO_xxx) before creating the cookie.

This does repair parallel makes, which were completely broken.

Might induce problems into odd-balls ports, but I couldn't get anyone to
comment on this patch after a week on ports@ and tech@.

Maybe, if something breaks, I'll finally get some comments...
1999-12-19 23:48:36 +00:00
espie
f0ac2fb53b Use IFS to parse PATH instead of ludicrous echo $PATH|tr 1999-12-11 16:14:20 +00:00
espie
88c2b83d49 Make cookie names internal to bsd.port.mk
Don't allow the user to override these. It's a major can of worms anyway.
1999-12-08 17:11:09 +00:00
espie
c4a330bf2b Pass YACC to configure script.
Ensure reproducability of builds for autoconf ports: those would tend
to use bison by default otherwise.
1999-12-08 17:00:15 +00:00
espie
09dcbf4eb0 Kill a few extraneous for loops. 1999-12-03 17:37:33 +00:00
espie
7e4de2c7c4 Streamline checksum verification, remove awk use. 1999-12-03 17:30:47 +00:00
espie
1770d2d1b6 Simplify cipher usage slightly 1999-12-03 17:20:02 +00:00
brad
79b5f71811 fix typo with recent ${AWK} -> awk change, needed a space added in 1999-12-03 16:54:42 +00:00
espie
5e4ddb8ec0 Introduce _MAKE_COOKIE, rename CIPHERS to _CIPHERS (and change it).
Deprecate a whole slew of unneeded variables.
1999-12-03 14:57:12 +00:00
espie
88d4502064 Kill USE_EGCC/USE_EGXX, since 2.6 includes both as standard compilers. 1999-12-03 14:24:38 +00:00
ian
6ad4086728 Less verbose. 1999-12-01 22:39:44 +00:00
ian
32d5d70d09 Have delete-package-link function correctly even if ${PACKAGES} is itself
a symlink (ok espie).
1999-12-01 22:35:54 +00:00
espie
12d7c97fc6 Use _ALWAYS_DEP & friends pervasively.
Rename SORT_DEPENDS to _SORT_DEPENDS, nothing but us does need it anyway.
1999-12-01 13:36:50 +00:00
espie
3374f661ba Prefer sh builtins to a dubious `optimization' 1999-11-29 23:14:03 +00:00
espie
ba2e23f4fb Vi commodity fix: default sw=4 to the same as ts while we're at it. 1999-11-28 14:14:58 +00:00
espie
409c763512 Kill opsys cruft. 1999-11-28 14:12:24 +00:00
espie
a4e97990a9 Uniformize: everything else uses :L. 1999-11-27 13:17:13 +00:00
espie
3431057fa4 Oops. 1999-11-24 01:18:57 +00:00
espie
5643e9ca49 Typo
Surprising nobody saw it before...
1999-11-24 00:56:52 +00:00
espie
498376f7a5 Kill some extra shells that are not needed.
Note that

if ! (cmd1 && cmd2) then
cmd
fi

can be replaced with

if cmd1 && cmd2 then :
else
cmd
fi
1999-11-23 15:06:14 +00:00
espie
5642444dae Use echo directly, except where ECHO_MSG makes sense.
Clean up error conditions somewhat.
1999-11-22 23:44:01 +00:00
espie
e0f299c92c Robust subdir substitution.
dugsong@ agrees that @ is a better choice.
1999-11-22 20:40:53 +00:00
espie
aaa04faba2 Simplify make fetch-list by using _ALWAYS_DEP and friends.
Remove some extraneous subshells.
Remove unwanted variables.
1999-11-22 20:37:04 +00:00
espie
5e1ecf9a5e Simplify CATPAGES 1999-11-22 20:34:14 +00:00
espie
dc7126a53b Typo 1999-11-21 16:18:30 +00:00
espie
5f45a616e7 Revert unwanted commit... 1999-11-20 17:56:57 +00:00
espie
211653ece7 Blast DEPENDS_TMP .USE macro out of existence.
The problem with .USE macros is that they should be constant...
If they do depend on the target being made, they will invariably use
.if make(TARGET) tests.   But this is a bad idea, as then `TARGET' can't
be used as a true dependency, since it's not being made then...
So instead, one would have to remember to fork another make TARGET to
ensure the .USE macro is executed correctly... This is slow, and
error-prone.
1999-11-20 17:54:09 +00:00
espie
dd10aadc45 Fix recursive dependency computation. 1999-11-15 18:37:58 +00:00
espie
f8011ef237 - introduce some internal variables to help recursive dependencies targets
be readable.
- kill some usage of ${ECHO} and ${TR} that is nonsense... there's no
reason to tweak those.

rohee@ agrees...
1999-11-10 13:46:40 +00:00
espie
987b69ae61 _VARIABLES are off-limit to individual ports.
Say so, explicitly.
1999-11-05 22:44:34 +00:00
espie
3b0d6e7b65 - OPSYS is OpenBSD, no need to fire uname.
- Write .PHONY targets explicitly.
1999-10-29 20:28:33 +00:00
espie
719753df9a Slight speed-up, trim external unames. 1999-10-27 12:48:40 +00:00
espie
c20b543b86 Fix typo.
No port subdir overrides those targets yet, but this wouldn't have worked
anyway.
1999-10-26 14:50:05 +00:00