When installing the dynamic linker, save the previous version in
"ld-elf.so.1.old". The dynamic linker is a critical component of the system, and it is difficult to recover if it is damaged and there isn't a working backup available. For instance, parts of the toolchain such as the assembler are dynamically linked, making it impossible to build a new dynamic linker if the installed one doesn't work.
This commit is contained in:
parent
92dfcced5b
commit
aa26657bfb
@ -42,3 +42,15 @@ dyn_hack.so:
|
||||
.PATH: ${.CURDIR}/${MACHINE_ARCH}
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
||||
# Keep the previous version of the dynamic linker for recovery
|
||||
# purposes. This must come after the include of <bsd.prog.mk> so that
|
||||
# BINDIR is set for the exists(...) constructs.
|
||||
beforeinstall:
|
||||
.if exists(${DESTDIR}${BINDIR}/${PROG})
|
||||
-chflags noschg ${DESTDIR}${BINDIR}/${PROG}
|
||||
.if exists(${DESTDIR}${BINDIR}/${PROG}.old)
|
||||
-chflags noschg ${DESTDIR}${BINDIR}/${PROG}.old
|
||||
.endif
|
||||
cp -p ${DESTDIR}${BINDIR}/${PROG} ${DESTDIR}${BINDIR}/${PROG}.old
|
||||
.endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user