Bug 198279 - [bsd.lib.mk] Patch to stop world killing jails via failing install -fschg libc.so.7
Summary: [bsd.lib.mk] Patch to stop world killing jails via failing install -fschg lib...
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: misc (show other bugs)
Version: 10.1-STABLE
Hardware: Any Any
: --- Affects Many People
Assignee: freebsd-bugs (Nobody)
URL:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2015-03-04 15:59 UTC by jhs
Modified: 2015-03-07 13:26 UTC (History)
0 users

See Also:


Attachments
bsd.lib.mk.chflags.REL=ALL.diff to stop make world killing jails (2.59 KB, patch)
2015-03-04 15:59 UTC, jhs
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description jhs 2015-03-04 15:59:01 UTC
Created attachment 153787 [details]
bsd.lib.mk.chflags.REL=ALL.diff to stop make world killing jails

Jails are lethaly killed by make world, unless /etc/make.conf contains this:
        NO_FSCHG="yes"
        #       Avoid bsd.lib.mk 'INSTALLFLAGS+= -fschg' killing FreeBSD jails,
        #       deleting /lib/libc.so.7 via 'cd /usr/src/lib/csu/amd64 ; make install'

Killing:
        uname -a
        FreeBSD land.berklix.org 10.1-RELEASE-p6 FreeBSD 10.1-RELEASE-p6 #0: Tue Feb 24 19:00:21 UTC 2015
   root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64

        cd /usr/src; make install
        ===> lib/libc (install)
        install -s -o root -g wheel -m 444   -fschg -S  libc.so.7 /lib
        install: /lib/libc.so.7: chflags: Operation not permitted
        *** Error code 71

Recovery:
        /rescue/cp /usr/obj/usr/src/lib/libc/libc.so.7 /lib/

man install falsely claims: -S Safe copy, But is broken by -fschg !

Solutions:
- Disable chflags in bsd.lib.mk & bsd.lib.mk.  Patches appended.
- Or Extend bsd.lib.mk & bsd.lib.mk to be conditional on jail detection. (**)
- Or Fix install to not break with chflags (**)
(**) Last 2 should be done by those who want to keep Chflags in FreeBSD,
     not me, I've used Unix since 1978, but find chflags a Wart best removed.

I discovered this on 8.2-RELEASE 18 Jun 2013, & just got bitten again on
10.1-RELEASE-p6, (as my jail's make.conf lost its NO_FSCHG="yes").