[Bug 247519] Success status on error in Makefile.xtra may cause loss of valuable data

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Jun 24 10:17:58 UTC 2020


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=247519

            Bug ID: 247519
           Summary: Success status on error in Makefile.xtra may cause
                    loss of valuable data
           Product: Base System
           Version: Unspecified
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: misc
          Assignee: bugs at FreeBSD.org
          Reporter: se at FreeBSD.org

Created attachment 215904
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=215904&action=edit
Make error case return error exit status

When the condition for e.g. "ERROR: 'buildworld' is not a valid target for ..."
is hit, make exits with a status of 0 indicating success.

This is a problem if "etcupdate" is used in such a situation, leading to an
empty current directory and deletion of all rc files from /etc.

To repeat:

# cd /usr/src
# env WITH_DIRDEPS_BUILD=yes make buildworld
ERROR: 'buildworld' is not a valid target for amd64.

You can see the targets which are valid for a given machine
by running 'env MACHINE=<machine> make show-valid-targets'
For other information, read: 

# echo $?
0

(Besides WITH_DIRDEPS_BUILD=yes being suggested in the context of
WITH_META_MODE=yes and leading to no targets being accepted except for the
destroy targets, the above error text stops after "read:" without giving any
indication what to read ...)

# env MACHINE=amd64 make show-valid-targets
Other targets:
  destroy
  destroy-arch
  destroy-host
  destroy-stage

The attached diff might not be the best solution, but it does at least prevent
the removal of the rc files if etcupdate is invoked in such a situation.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list