diff --git a/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml b/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml
index 4b94216317..3e7dcc8a34 100644
--- a/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml
@@ -3037,31 +3037,33 @@ Building everything..
As a part of the &os; development lifecycle, it happens from time
to time that files and their contents become obsolete. This may be
- because their functionality is implemented elsewhere or is removed from
- the system entirely. This includes old files, libraries and
- directories, which should be removed when updating the system. The
- benefit for the user is that the system is not cluttered with old files
- which take up unnecessary space on the storage (and backup) medium. The
- files, directories, and libraries that are considered obsolete are listed
- in /usr/src/ObsoleteFiles.inc. The following
+ because their functionality is implemented elsewhere, the version number
+ of the library has changed or it was removed from the system entirely.
+ This includes old files, libraries and directories, which should
+ be removed when updating the system. The benefit for the user is that
+ the system is not cluttered with old files which take up unnecessary
+ space on the storage (and backup) medium. Additionally, if the old
+ library had a security or stability issue, you should update to the
+ newer library to keep your system safe and prevent crashes caused by
+ the old library implementation. The files, directories, and libraries
+ that are considered obsolete are listed in
+ /usr/src/ObsoleteFiles.inc. The following
instructions will help you removing these obsolete files during the
system upgrade process.
We assume you are following the steps outlined in . After the make
- installworld command completed
- successfully, you should check for obsolete files and libraries as
- follows:
+ installworld and the subsequent
+ mergemaster commands have finished successfully, you
+ should check for obsolete files and libraries as follows:
&prompt.root; cd /usr/src
-&prompt.root; make check-old
-&prompt.root; make check-old-libs
+&prompt.root; make check-old
If any obsolete files are found, they can be deleted using the
following commands:
- &prompt.root; make delete-old
-&prompt.root; make delete-old-libs
+ &prompt.root; make delete-old
See /usr/src/Makefile
@@ -3070,23 +3072,29 @@ Building everything..
A prompt is displayed before deleting each obsolete file. You can
skip the prompt and let the system remove these files automatically by
- setting the BATCH_DELETE_OLD_FILES environment
- variable to yes. You can also achieve the same goal
- by piping these commands through yes like this:
+ using the BATCH_DELETE_OLD_FILES make-variable as
+ follows:
- &prompt.root; yes|make delete-old
-&prompt.root; yes|make delete-old-libs
+ &prompt.root; make -DBATCH_DELETE_OLD_FILES delete-old
+
+ You can also achieve the same goal by piping these commands through
+ yes like this:
+
+ &prompt.root; yes|make delete-old
Warning
Deleting obsolete files will break applications that still
- depend on those obsolete files.
+ depend on those obsolete files. This is especially true for old
+ libraries. In most cases, you need to recompile the programs, ports,
+ or libraries that used the old library before make
+ delete-old-libs is executed.
Utilities for checking shared library dependencies are available from
- the Ports Collection
- in sysutils/libchk
- or sysutils/bsdadminscripts.
+ the Ports Collection in sysutils/libchk or sysutils/bsdadminscripts.
Obsolete shared libraries can conflict with newer libraries,
causing messages like these:
@@ -3103,8 +3111,13 @@ Building everything..
/usr/local/lib/libXext.so was installed by package libXext-1.1.1,1
Then deinstall, rebuild and reinstall the port. The ports-mgmt/portmaster utility can be used to
- automate this process.
+ role="package">ports-mgmt/portmaster and ports-mgmt/portupgrade utilities can be used to
+ automate this process. After you've made sure that all ports are rebuilt
+ and do not use the old libraries anymore, you can delete them using the
+ following command:
+
+ &prompt.root; make delete-old-libs