leave default value unset to preserve existing behavior.
you can now set NBPAX_PROGRAM_PREFIX=nb (for example) in your mk.conf
to have the bootstrap install and use nbpax/nbtar/nbcpio which don't conflict
with system provided tools.
about a year now. In celebration of this, remove the check and error message
when ensuring a case- sensitive filesystem on Mac OS X.
Keep the check for Interix.
from archivers/pax and net/tnftp, respectively. In the past, the
pkgtools version of these packages installed into ${PKG_TOOLS_BIN},
but this was changed in:
pkgtools/pax/Makefile:1.15
pkgtools/tnftp/Makefile:1.3
+ Get rid of archivers/pax/Makefile.common and net/tnftp/Makefile.common
by merging them into their respective Makefiles. The Makefile.common
files existed solely for inclusion by the pkgtools versions of these
packages, but with the removal of those packages, these files are
now unnecessary.
+ Add full DESTDIR support to archivers/pax and net/tnftp.
+ Modify the bootstrap to build archivers/pax and net/tnftp instead of
the pkgtools versions of these packages.
- /var as varbase is only used for privileged builds without prefix
or when prefix is explicitly set to /usr/pkg
- if prefix is set to a non-standard value, derive varbase from it
- derive pkgdbdir from varbase
Based on the discussion in PR 37796 and with jlam@.
and nothing else. This prevents bootstrap from exiting just because
there is a subdirectory named "awk" (or another tool) in one of the PATH
directories.
Fixes PR 37806.
code should have been here since the very beginning of bootstrap.
Additionally, the paths are checked that they only contain characters
from the "Portable Filename Character Set" (IEEE 2003.1, definition 3.276).
Motivated by http://mail-index.netbsd.org/pkgsrc-users/2007/10/17/0000.html
expect full path names. Use the default locations in /bin unless
overriden explicitly. Bump revision of bmake.
On Solaris, use /usr/xpg4/bin/sh if it exists.
bootstrap time these variables are already set as shell variables. As a
result, they were doubled for bootstrap compiling.
An alternative solution to that issue would be to explicitly empty those
shell variables once they have been added to BOOTSTRAP_MKCONF, but that
approach would use more lines of shell code :-)
- phase one builds the essential tools in the bare minimal version
needed by the infrastructure to run "make install".
- phase two runs "make install" for all the bootstrap packages.
Set WRKOBJDIR for the second phase, we never want to leave garbage
around.
This increases the time for running bootstrap, but gives more
deterministic results. It also means that e.g. configuration files
in pkg_install can be handled normally. It is a prerequirement to
sanely allow pkg_install some more extended work like building
its own libarchive without having to worry too much about limitations
on some platforms.
This fixes the expansion of @gzcat@ in the download-vulnerability-list
script.
Tested by tnn@ on Interix and myself on DragonFly.
even if standard input is the empty string. Install a wrapper script
bundled with pkgtools/bootstrap-extras to deal with this. This is an
attempt at a permanent workaround for the problem described in PR pkg/25777
which has regressed since it was initially fixed.
We can now bootstrap again on Interix 3.5.
search order means that the system libedit gets found first. This
hasn't been much of a problem until now, but the system libedit
lacks support for Apple's 64-bit architectures, which breaks the
Universal build. Therefore, force linking with tnftp's internal
libedit by replacing "-ledit" in ${LIBS} with "../libedit/libedit.a".
Workaround suggested by tls.
with /Developer/Applications/Utilities/PackageMaker.app, then
converted from blob to the equivalent XML with:
$ plutil -convert xml1 macpkg.pmproj
mkbinarykit will run this file through a bit of sed, then use the
result to generate a double-clickable Mac package.
use inplace libnbcompat like the direct build from bootstrap
does. Fix a long-standing bug in mkbinarykit. The default work
directory was "work" (relative) and therefore MAKECONF=work/...
was passed down, effectively making it a nop. That resulted in
digest being incorrectly installed during the bootstrap.
Tested on DragonFly by myself and on OSF by tnn@, discussed with jlam@
various packages, pass down PKG_PRESERVE. Remove the default setting of
PKG_PRESERVE, it makes perfect sense to install e.g. pkgtools/mtree
and be able to remove it again, if it is not an essientiel tool.
OK jlam@
the example mk.conf.
The explanation for setting DBG to the empty value is written to the
mk.conf file to inform the uninitiated pkgsrc user about its purpose.
* support environment variables CP, GREP, ID, MKDIR, TEST, TOUCH, XARGS to
allow specification on non-standard tools (needed on IRIX 5)
* preserve compiler/linker flags if set
compiler detection. This is needed for Solaris with SunPro at least,
since bootstrap tried to install gcc>=2.95.3 during the registration of
the bootstrap packages.
script. It was lost in revision 1.55. This fixes the path to the
various pax, mtree, ftp commands used by pkg_install. Bump the version
number of the bootstrap script.
explicitly setting CC=cc, so override it on the bmake command line.
We use the CC taken from the environment first, and default to "gcc"
if CC is not set.
into a separate package pkgtools/bootstrap-extras. Teach the bootstrap
script to look for those scripts from the bootstrap-extras package.
* When registering the installed software, set WRKOBJDIR to the bootstrap
work directory to protect against a read-only pkgsrc tree.
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.
avoid conflicts with FreeBSD ports. Later versions use pkgsrc by default,
so use the more natural /var/db/pkg location and match the install CD
thereby.
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).
problem with building on systems that don't have the
/usr/lib/libc.a (LIBC).
This is the log entry from mk-files 20051104:
* prog.mk: remove all the LIBC?= junk, use
.-include libnames.mk instead (none by default).
Note this is not an exact copy of the mk-files 20051104 prog.mk.
(Todo: compare and test all the mk files with sjg's version.)
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>