Home | History | Annotate | Download | only in rescue
History log of /src/rescue/Makefile
RevisionDateAuthorComments
 1.42  04-Apr-2020  christos smb is no more.
 1.41  01-Mar-2020  christos Redo the sshsk_sign() stuff properly, but putting the helper in libssh.so
 1.40  27-Feb-2020  christos Unfortunately libssh has an undefined symbol sshsk_sign(), which is provided
by different implementations depending if we are a server or a client. While
the clients we compile in, provide that symbol, it is getting hidden by
crunchhide, so we provide it again. It would have been a lot simpler to
use a function pointer instead in the library...
 1.39  29-Dec-2019  christos 1. Remove all the special handling of variables (-d -p -P -s -S) that
were dealing with DBG (-d) LDSTATIC/NOPIE (-p), and the rest with
disabling/enabling sanitizers.
2. Use emalloc/estrdup for all the allocators instead of only some cases.
3. Add -V varspec which passes variables on the command line (as DBG
and LDSTATIC used to be passed before) instead of appending them
to the on-the-fly Makefile using -v varspec.
4. Change the distrib and rescue Makefiles to use -V instead of the removed
flags.

The motivation of this is to make variable handling consistent, less magical,
and remove the need for changing crunchgen each time we want to add disabling
an option by default.

(as proposed in tech-toolchain)
 1.38  02-Oct-2019  maya Remove ldconfig from /rescue, and mark it MI obsolete.

- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry
 1.37  27-Jan-2019  dholland branches: 1.37.2;
fix duplicated chunk from merge
 1.36  27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.35  25-Jul-2018  kamil Specify NOLIBCSANITIZER for rescue

The rescue image could be sanitized with a sanitizer in libc, but it's left
for future as a possible research.
 1.34  21-Jun-2018  kamil branches: 1.34.2;
Set NOSANITIZER in rescue/Makefile

This is required to stop sanitizing rcmd.o and liboverride.o. These object
files will be linked into statically linked rescue.
 1.33  08-Oct-2017  christos branches: 1.33.2;
Extra flags for static PIE
 1.32  21-May-2017  riastradh Remove MKCRYPTO option.

Originally, MKCRYPTO was introduced because the United States
classified cryptography as a munition and restricted its export. The
export controls were substantially relaxed fifteen years ago, and are
essentially irrelevant for software with published source code.

In the intervening time, nobody bothered to remove the option after
its motivation -- the US export restriction -- was eliminated. I'm
not aware of any other operating system that has a similar option; I
expect it is mainly out of apathy for churn that we still have it.
Today, cryptography is an essential part of modern computing -- you
can't use the internet responsibly without cryptography.

The position of the TNF board of directors is that TNF makes no
representation that MKCRYPTO=no satisfies any country's cryptography
regulations.

My personal position is that the availability of cryptography is a
basic human right; that any local laws restricting it to a privileged
few are fundamentally immoral; and that it is wrong for developers to
spend effort crippling cryptography to work around such laws.

As proposed on tech-crypto, tech-security, and tech-userlevel to no
objections:

https://mail-index.netbsd.org/tech-crypto/2017/05/06/msg000719.html
https://mail-index.netbsd.org/tech-security/2017/05/06/msg000928.html
https://mail-index.netbsd.org/tech-userlevel/2017/05/06/msg010547.html

P.S. Reviewing all the uses of MKCRYPTO in src revealed a lot of
*bad* crypto that was conditional on it, e.g. DES in telnet... That
should probably be removed too, but on the grounds that it is bad,
not on the grounds that it is (nominally) crypto.
 1.31  30-Jan-2014  matt Append -Os to DBG, not overwrite in case DBG has more than just -Ox from
sys.mk
 1.30  26-Dec-2013  christos mount_smbfs has moved.
 1.29  24-Mar-2013  christos descend to bin for pdisk
 1.28  24-Mar-2013  martin pdisk has moved to external/bsd - try to deal.
 1.27  10-Mar-2010  abs branches: 1.27.6; 1.27.12; 1.27.18;
Relegate edlabel to use in extremely memory constrained install
ramdisks and prefer disklabel elsewhere.
Based on discussion on affected port lists (port-sparc port-sparc64
port-sun3 port-sun2 port-atari port-mvme68k).
All listed ports plus amd64 test built after change
 1.26  13-Feb-2010  roy Don't install terminfo.db in rescue.
 1.25  05-Feb-2010  roy Move the emergancy terminfo database from /root to /rescue.
 1.24  22-Aug-2009  mrg kill ldd_aout. it didn't work anyway...not since i don't know when.
 1.23  21-Aug-2009  he Add a new list.ldd.noaout, which is a copy of list.ldd but without
the a.out support.
Tweak Makefile so that the a.out support is not built for mips.
 1.22  07-Jan-2009  mrg - rework this a bunch to make it work inside /rescue/ldd.
- fix alpha build.
 1.21  09-Feb-2008  mrg branches: 1.21.10;
make all sun2 use -O0 and move most of the hacks out into just 3 files.
 1.20  09-Jan-2008  simonb Remove support for NetBSD/pc532.
 1.19  22-May-2005  lukem branches: 1.19.10;
Make fdisk(8) available on all platforms, since MS-DOS partitioning
is the de-facto standard for many removable media types.
 1.18  13-Jan-2005  lukem improve MAKEVERBOSE support
 1.17  13-Jan-2005  lukem Restore the "liboverride" functionality because it's needed to correctly
implement rmcd(3) in the rescue tools.
 1.16  10-Jan-2005  lukem Add to /rescue: scp ssh slogin
(all without Kerberos support at this time)
 1.15  10-Jan-2005  lukem MAKEVERBOSE support
 1.14  10-Jan-2005  lukem Provide /rescue/cgdconfig if ${MKCRYPTO} != "no"
 1.13  10-Jan-2005  lukem Repeat after me: "test both cases before commit"
 1.12  10-Jan-2005  lukem Only compile in IPv6 support if ${USE_INET6} != "no"

MKINET6 is for providing IPv6 infrastructure.
USE_INET6 is for compiling IPv6 support into the programs (needs MKINET6).
 1.11  20-Aug-2004  tron Complete removal of "liboverride" to fix build problems.
 1.10  19-Aug-2004  christos Remove special handling for rcmd.o; not needed.
 1.9  14-Jul-2003  tron Remove file "rescue.unstripped" in "cleandir" target.
 1.8  26-May-2003  lukem * Add ftp to /rescue.
* Implement liboverride.o to provide overrides of various libc functions.
For now, compile a special version of rcmd(3) (et al) which uses
/rescue/rcmd and /rescue/sh instead of the /bin variants.
Other overrides may appear in the future.

Should fix [bin/21670] from Geoff Wing.
 1.7  29-Jan-2003  simonb Enable MIPS now that crunchgen works again for this arch.
 1.6  17-Oct-2002  lukem set SMALLPROG=0 (it was implicit)
 1.5  06-Oct-2002  thorpej * Move the rescue bits into their own file.
* In makeflist, skip rescue bits in arch's that don't yet support it
(MIPS, currently, due to an objcopy-crunch bug).
 1.4  06-Oct-2002  thorpej Compare MACHINE_CPU and "mips" rather than MACHINE_ARCH and "mipseb" or
"mipsel".
 1.3  03-Oct-2002  lukem Don't build this on mipseb or mipsel, as crunchgen(1) doesn't work correctly
on those, no fix has been forthcoming, and users are getting antsy.

This allows "make build" to complete; "make release" will still fail in the
sets generation. Maybe *that* will inspire a MIPS/toolchain guru to fix
crunchgen(1)...
 1.2  23-Aug-2002  lukem set CRUNCHENV= RESCUE=/rescue (still don't want SMALLPROG)
 1.1  22-Aug-2002  lukem Migrate rescue tools from distrib/rescue -> rescue. Purpose of tools:

Infrastructure to build a set of "rescue" tools; a crunched-up
version of all the statically linked binaries in /bin, /sbin
and the few in /usr/bin.
 1.19.10.1  23-Mar-2008  matt sync with HEAD
 1.21.10.1  16-Jan-2009  bouyer branches: 1.21.10.1.4;
Pull up following revision(s) (requested by mrg in ticket #265):
libexec/ld.elf_so/headers.c: revision 1.27
rescue/list: revision 1.35
libexec/ld.elf_so/arch/sparc/Makefile.ld32: revision 1.1
usr.bin/ldd/Makefile.elf: revision 1.1
usr.bin/ldd/Makefile.elf: revision 1.2
usr.bin/ldd/ldd_aout/ldd.c: file removal
usr.bin/ldd/Makefile.elf: revision 1.3
libexec/ld.elf_so/arch/sparc/Makefile.inc: revision 1.12
usr.bin/ldd/dummy.c: revision 1.1
gnu/usr.bin/binutils/ld/Makefile: revision 1.28
usr.bin/ldd/elf32/Makefile: revision 1.1
usr.bin/ldd/elf32/Makefile: revision 1.2
usr.bin/ldd/ldd.c: revision 1.3
usr.bin/ldd/elf32/Makefile: revision 1.3
usr.bin/ldd/ldd_elf/Makefile: file removal
usr.bin/ldd/ldd.h: revision 1.1
usr.bin/ldd/ldd.c: revision 1.4
usr.bin/ldd/ldd_aout.c: revision 1.1
usr.bin/ldd/Makefile: revision 1.8
usr.bin/ldd/Makefile: revision 1.9
usr.bin/ldd/ldd_elfxx.c: revision 1.1
libexec/ld.elf_so/map_object.c: revision 1.37
usr.bin/ldd/ldd_aout/Makefile: file removal
usr.bin/ldd/elf64/Makefile: revision 1.1
rescue/Makefile: revision 1.22
libexec/ld.elf_so/arch/i386/Makefile.ld32: revision 1.1
usr.bin/ldd/ldd_elf/ldd.c: file removal
usr.bin/ldd/elf64/Makefile: revision 1.2
usr.bin/ldd/elf64/Makefile: revision 1.3
usr.bin/ldd/aout/Makefile: revision 1.1
libexec/ld.elf_so/arch/i386/Makefile.inc: revision 1.12
rescue/list.ldd: revision 1.1
usr.bin/ldd/ldd_elf/README: file removal
usr.bin/ldd/Makefile.common: revision 1.1
move the defines for RTLD_ARCH_SUBDIR into a sub-sub-makefile so we can
grab these values via reach-over more easily.
some fixes for PR#40170:
- set NATIVE=yes in the environment for genscripts.sh
- set LIB_PATH to /usr/lib/{sparc,i386} for those scripts
- set use_sysroot to "yes", to enable LIB_PATH to work in genscripts.sh
- get rid of building an a.out-happy ldd (but keep supporting a.out
binaries for the ELF version.)
- convert a.out, elf32 and elf64 support into convience libraries and
link them right ones in. if elf_ldd() fails on 64 bit platforms,
try elf32_ldd() before aout_ldd().
now ldd on 64 bit platforms works for 32 bit binaries, aka PR#40199,
and it seems that all the issues from README are gone too.
add some (uintptr_t) to some casts, so these compile with ELFSIZE=32
*and _LP64. necessary for 32/64 bit combo ldd support.
- rework this a bunch to make it work inside /rescue/ldd.
- fix alpha build.
make sure we set LIBISPRIVATE.
fixes build issues reported by moof.
make sure we set LIBISPRIVATE.
fixes build issues reported by moof.
 1.21.10.1.4.1  05-Sep-2009  matt Switch from ${LD} -r to ${CC} ${LDFLAGS} -nostdlib -Wl,-r so that ${CC} can
pass additional options to ld
 1.27.18.1  28-Mar-2013  agc Pull up fixes from HEAD after pdisk move to external
 1.27.12.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.27.12.1  23-Jun-2013  tls resync from head
 1.27.6.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.33.2.2  28-Jul-2018  pgoyette Sync with HEAD
 1.33.2.1  25-Jun-2018  pgoyette Sync with HEAD
 1.34.2.3  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.34.2.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.34.2.1  10-Jun-2019  christos Sync with HEAD
 1.37.2.1  17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.

RSS XML Feed