make delete-old

Polytropon freebsd at edvax.de
Tue Mar 3 15:07:31 UTC 2020


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. :-)




-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...


More information about the freebsd-questions mailing list