make delete-old
Yuri Pankov
ypankov at fastmail.com
Tue Mar 3 15:16:45 UTC 2020
On 03.03.2020 18:07, Polytropon wrote:
> On Tue, 3 Mar 2020 17:13:50 +0300, Yuri Pankov wrote:
>> On 03.03.2020 16:07, Robert Huff wrote:
>>> tech-lists writes:
>>>
>>>> Is a reboot required after make delete-old ?
>>>
>>> I don't think so.
>>> But you might want to re-run ldconfig.
>>
>> I don't think delete-old deletes shared libraries (and that's the answer
>> for original question, you don't need to reboot), there's
>> delete-old-libs for that, more so, running ldconfig (the binary) can be
>> harmful, if needed there's a ldconfig service; not sure which one you meant.
>
> According to /usr/src/Makefile's comment header, the
> step "make delete-old" is followed by a reboot (in
> combination with the 2nd mergemaster run, after
> "make installworld"), while "make delete-old-libs"
> is performed after the reboot, without a further one.
>
> In /usr/src/Makefile, you can find the following order:
>
> # For individuals wanting to upgrade their sources (even if only a
> # delta of a few days):
> #
> # 1. `cd /usr/src' (or to the directory containing your source tree).
> # 2. `make buildworld'
> # 3. `make buildkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC).
> # 4. `make installkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC).
> # [steps 3. & 4. can be combined by using the "kernel" target]
> # 5. `reboot' (in single user mode: boot -s from the loader prompt).
> # 6. `mergemaster -p'
> # 7. `make installworld'
> # 8. `mergemaster' (you may wish to use -i, along with -U or -F).
> # 9. `make delete-old'
> # 10. `reboot'
> # 11. `make delete-old-libs' (in case no 3rd party program uses them anymore)
>
> Additional information from "man 7 build":
>
> delete-old Delete obsolete base system files and directories inter-
> actively. When -DBATCH_DELETE_OLD_FILES is specified at
> the command line, the delete operation will be non-in-
> teractive. The variables DESTDIR, TARGET_ARCH and
> TARGET should be set as with "make installworld".
>
> delete-old-libs Delete obsolete base system libraries interactively.
> This target should only be used if no third party soft-
> ware uses these libraries. When
> -DBATCH_DELETE_OLD_FILES is specified at the command
> line, the delete operation will be non-interactive. The
> variables DESTDIR, TARGET_ARCH and TARGET should be set
> as with "make installworld".
>
> To conclude this into an answer that matches existing
> documentation:
>
> Yes, "make delete-old" requires a reboot. :-)
It's the 'installworld' (7) and 'mergemaster' (8) steps that require a
reboot, and 'delete-old' (9) being immediately followed by 'reboot' (10)
step does NOT mean 'delete-old' requires 'reboot'. You can actually
skip the step 9, as steps 7 and 8 are what already made the files
obsolete, and the only problem (that I can think of) from skipping is
obsolete header files picked up when compiling, and removing those
doesn't require a reboot.
More information about the freebsd-questions
mailing list