Including e.g. /usr/share/mk results in sys.mk read from there
as well. On DragonFly this adds X11BASE and results in obscure
breakages. Since the mk files are supposed to be self-contained,
it doesn't make much sense to look in other directories anyway.
Bump revision to annotate this.
Discussed-with: reed@.
Reported-by: Aggelos Economopoulos <aoiko AT cc DOT ece DOT ntua DOT gr>
for "bmake".
Remove all of bmake source from this bootstrap.
Keep bootstrap/bmake/mk -- copy to files-mk (so the
bmake "boot-strap" doesn't notice the mk*).
This was tested on DragonFly, NetBSD and some on Linux.
Hopefully all the fixes to boostrap's bmake are included in
devel/bmake/files.
Note that the "mk" files is still not using devel/mk-files.
default installation paths to be inside ~/pkg and define UNPRIVILEGED=yes
in the generated mk.conf. This lets regular users to simply bootstrap by
doing './bootstrap --ignore-user-check'.
parsing code. For maximum portability it uses the expr(1) command
instead of sed(1), the same way as it is done in the core of the latest
GNU configure scripts.
(1) rework how command-line arguments are parsed:
instead of --command=<arg>, use --command <arg>
This allows us to not rely on certain commands for which we first need
to figure out where they are to parse the arguments, which in turn
allows us to
(2) add the command-line option
--preserve-path
to prevent bootstrap from munging the PATH (as it does on some platforms)
and look in places that are not currently in the PATH
Finally,
(3) add a check to see if we're using gcc, and set and add the
PKGSRC_COMPILER=<compiler>
flag to the sample mk.conf. This is particularly useful (and actually
necessary) under IRIX.
Bump BOOTSTRAP_VERSION.
Fix the override logic for $opsys.bsd.{lib,man}.mk to install the files
in the correct place -- this was previously all kinds of b0rken. Now it's
possible to build shlibs properly on Interix using <bsd.lib.mk>, and may
be possible on Darwin as well.
There's one place where you absolutely *must* use bmake: when building
pkg_install. Otherwise its Makefiles will attempt to get $(MACHINE_ARCH)
from the system make, which is not likely to be correct on several
platforms.
exists.
* nbsed-20040821 requires libnbcompat, so make the appropriate
adjustments to the build to use it.
* If nbsed is built during bootstrap, then use it as the sed for
pkg_install so that the correct program is embedded into the pkg_view
and linkfarm scripts.
* We don't need bmake to build any of the bootstrap packages, so just
call out to the system make.
so that Interix can set the default mode to 0775. Then add "install_sh"
to CONFIGURE_ENV so it uses ${INSTALL}, not the package-supplied
install script (as is done for autoconf $INSTALL).
configuration files.
From now on, mk.conf is first searched under the value passed to the
sysconfdir argument (which defaults to ${prefix}/etc, to match pkgsrc's
PKG_SYSCONFDIR default value). If not found, /etc/mk.conf is tried, to
not break existing installations which have the file in that location.
This is done to help with non-root installations of pkgsrc.
Also change pkgsrc's PKG_SYSCONFBASE value to match what is given to
sysconfdir, for consistency.
While doing this, rename $opsys.own.mk files to $opsys.own.mk.in for clarity,
as they now need sed replacements to work (i.e., the SYSCONFDIR stuff).