the bootstrap process and which may be needed by pkg_install. This
is distinct from the net/tnftp package that is now a "normal" package.
Modify the bootstrap script to use pkgtools/tnftp instead, and clean up
some of the registration code.
package database.
XXX There are still some files not registered, e.g. share/mk and any
XXX mkdir/install/strip/ldd replacements needed by some platforms.
XXX These will probably get moved into pkgsrc proper.
in the example mk.conf file.
* Don't install digest anymore. It's not needed by binary package users
and it's handled within pkgsrc/mk now via BOOTSTRAP_DEPENDS.
for both bootstrap and mkbinarykit. When this is done or the
platform fragment of bootstrap specifies an explicit fetch_cmd,
tnftp is not built.
Use /usr/bin/ftp by default on DragonFly 1.4 and later.
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).