Turns out this can be done based on target, directly, instead of
relying on /nonexistent.
One step closer to turning TRUST_PACKAGES=Yes on by default...
This is work-in-progress. Supplemental hooks will be added when they
become necessary.
The goal is to permit separate subsystems to tweak the package building
process slightly. This should help e.g., python or qt2, for instance.
Documentation will come when it's tested more thoroughly...
work-* is too long, because we want to include the PKGNAME in the dir name
(so that PKGNAME changes are less likely to work with old work directories)
Change the way clean works, so that you can say
make clean='dist depends packages' and have it do what you think it should
do.
Common fragment to _create_wrkobjdir.
Put some info into PACKAGING (name of subpackage being built)
Since those are mostly infrastructure-side, making SUBPACKAGE transparent
only adds to the confusion, so don't interpolate SUBPACKAGE into
FULLPKGNAME, hiding it into _FULLPKGNAME, but rather let FULLPKGNAME
tag the main package, and use FULLPKGNAME-foo for subpackage -foo.
This will simplify some other stuff...
- define _FULLPKGNAME* and _PKGFILE*. Use _PKGFILE* as package cookie
instead of package_done.
- use ${PKG_DBDIR}/${_FULLPKGNAME${SUBPACKAGE}/+CONTENTS as install cookie.
- BIN_PACKAGES variable. If set to yes, remove coupling between
PACKAGE_COOKIE and dependencies, so that binary packages exist
independently of working directories.
- mark packages as precious.
- change all refs to PKGFILE to _PKGFILE${SUBPACKAGE}.
- add bulk-packages target.
Note that BIN_PACKAGES and TRUST_PACKAGES are off by default.
This interface is likely to change. The name bulk-packages will probably
change as well.
We will probably get rid of the old PKGFILE/FULLPKGNAME (taking SUBPACKAGE
into account) and use the new PKGFILE/FULLPKGNAME
PKGFILE-foo/FULLPKGNAME-foo instead (with explicit subpackage information).
This is less confusing and simpler.
- back substitute VAR_SUBST (hence swap ARCH/MACHINE_ARCH)
- pass PKGDIR to make-plist.
- don't create PLIST-auto/PFRAG.shared-auto. Move originals around, and
create new ones directly (guard against accidentally deleting old ones).
Todo: add regexp to dispatch stuff to fragments automatically, based on
MULTI_PACKAGES.
Allow for MACHINE_ARCH specific files or patches, if no such files
for ARCH found.
Put compiled packages in MACHINE_ARCH directory, instead of ARCH.
All of this to improve support for compound architectures, mainly
m68k-based architectures at this time.
While there, mention mvme88k does not have shared libraries, to be
sure this isn't forgotten when mvme88k gets back in shape.
ok'ed by espie@
- allow Makefile to distinguish packaging steps, since SUBPACKAGE can now
be set for various reasons.
- EXTRA_LIBDIRS for architectures without shared libraries.