157 lines
6.3 KiB
Text
157 lines
6.3 KiB
Text
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA512
|
|
|
|
=============================================================================
|
|
FreeBSD-EN-13:04.freebsd-update Errata Notice
|
|
The FreeBSD Project
|
|
|
|
Topic: Multiple freebsd-update bugs break upgrading to FreeBSD 10.0
|
|
|
|
Category: base
|
|
Module: freebsd-update
|
|
Announced: 2013-10-24
|
|
Credits: Colin Percival
|
|
Affects: All supported FreeBSD releases
|
|
Corrected: 2013-10-26 08:34:35 UTC (stable/10, 10.0-STABLE)
|
|
2013-10-26 08:34:35 UTC (stable/10, 10.0-BETA1-p1)
|
|
2013-10-26 19:54:28 UTC (stable/9, 9.2-STABLE)
|
|
2013-10-26 20:01:00 UTC (releng/9.2, 9.2-RELEASE-p1)
|
|
2013-10-26 20:01:00 UTC (releng/9.2, 9.2-RC4-p1)
|
|
2013-10-26 20:01:00 UTC (releng/9.2, 9.2-RC3-p2)
|
|
2013-10-26 20:01:00 UTC (releng/9.1, 9.1-RELEASE-p8)
|
|
2013-10-26 19:54:28 UTC (stable/8, 8.4-STABLE)
|
|
2013-10-26 20:01:00 UTC (releng/8.4, 8.4-RELEASE-p5)
|
|
2013-10-26 20:01:00 UTC (releng/8.3, 8.3-RELEASE-p12)
|
|
|
|
For general information regarding FreeBSD Errata Notices and Security
|
|
Advisories, including descriptions of the fields above, security
|
|
branches, and the following sections, please visit
|
|
<URL:http://security.freebsd.org/>.
|
|
|
|
I. Background
|
|
|
|
The freebsd-update(8) utility is used to download and apply binary diffs
|
|
for security and errata patches on systems installed from official FreeBSD
|
|
release CDs and DVDs. It can also be used to upgrade such systems to new
|
|
FreeBSD releases.
|
|
|
|
II. Problem Description
|
|
|
|
The freebsd-update(8) utility always updates shared libraries first, so
|
|
new or updated libraries will be available when binaries that use them are
|
|
installed or updated. If shared libraries appear in a directory which
|
|
does not already exist on the target system, freebsd-update(8) will
|
|
attempt to install them before creating the directory.
|
|
|
|
At the end of the updating process, freebsd-update(8) removes old shared
|
|
libraries which should no longer exist. An error in filtering the list
|
|
of filesystem objects results in symlinks to shared libraries being
|
|
incorrectly included in the lists of shared libraries.
|
|
|
|
Additionally, freebsd-update(8) rejects updates which include files with
|
|
the tilde character ('~') in their names. Such files sometimes occur in
|
|
third-party software and may be included in the src distribution.
|
|
|
|
III. Impact
|
|
|
|
It is not possible to use freebsd-update(8) to upgrade an existing
|
|
installation to FreeBSD 10.0-BETA1, because 10.0 introduces two new shared
|
|
library directories, the /usr/lib/libc.so symlink is replaced by a regular
|
|
file, and the source distribution includes a file with a tilde in its name.
|
|
|
|
It is not possible to use freebsd-update(8) to update 10.0-BETA1, as its
|
|
source distribution includes a file with a tilde in its name.
|
|
|
|
IV. Workaround
|
|
|
|
No workaround is available.
|
|
|
|
V. Solution
|
|
|
|
Perform one of the following:
|
|
|
|
1) Upgrade your system to a supported FreeBSD stable or release / security
|
|
branch (releng) dated after the correction date.
|
|
|
|
2) To update your present system via a source code patch:
|
|
|
|
The following patches have been verified to apply to the applicable
|
|
FreeBSD release branches.
|
|
|
|
a) Download the relevant patch from the location below, and verify the
|
|
detached PGP signature using your PGP utility.
|
|
|
|
# fetch http://security.FreeBSD.org/patches/EN-13:04/freebsd-update.patch
|
|
# fetch http://security.FreeBSD.org/patches/EN-13:04/freebsd-update.patch.asc
|
|
# gpg --verify freebsd-update.patch.asc
|
|
|
|
b) Apply the patch.
|
|
|
|
# cd /usr/src
|
|
# patch < /path/to/patch
|
|
|
|
c) Reinstall freebsd-update.
|
|
|
|
# cd /usr/src/usr.sbin/freebsd-update
|
|
# make install -DWITHOUT_MAN
|
|
|
|
3) To update your system via a binary patch:
|
|
|
|
Systems running a RELEASE version of FreeBSD on the i386 or amd64
|
|
platforms can be updated via the freebsd-update(8) utility:
|
|
|
|
# freebsd-update fetch
|
|
# freebsd-update install
|
|
|
|
On systems running 10.0-BETA1 (and ONLY systems running 10.0-BETA1), run
|
|
the following command before using freebsd-update in order to fix it
|
|
enough that it can update itself:
|
|
|
|
# sed -i '' -e 's/%@/%~@/' /usr/sbin/freebsd-update
|
|
|
|
VI. Correction details
|
|
|
|
The following list contains the revision numbers of each file that was
|
|
corrected in FreeBSD.
|
|
|
|
Branch/path Revision
|
|
- -------------------------------------------------------------------------
|
|
stable/8/ r257192
|
|
releng/8.3/ r257194
|
|
releng/8.4/ r257194
|
|
stable/9/ r257192
|
|
releng/9.1/ r257194
|
|
releng/9.2/ r257194
|
|
stable/10/ r257153
|
|
- -------------------------------------------------------------------------
|
|
|
|
To see which files were modified by a particular revision, run the
|
|
following command, replacing NNNNNN with the revision number, on a
|
|
machine with Subversion installed:
|
|
|
|
# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base
|
|
|
|
Or visit the following URL, replacing NNNNNN with the revision number:
|
|
|
|
<URL:http://svnweb.freebsd.org/base?view=revision&revision=NNNNNN>
|
|
|
|
VII. References
|
|
|
|
The latest revision of this Errata Notice is available at
|
|
http://security.FreeBSD.org/advisories/FreeBSD-EN-13:04.freebsd-update.asc
|
|
-----BEGIN PGP SIGNATURE-----
|
|
|
|
iQIcBAEBCgAGBQJSbCdaAAoJEO1n7NZdz2rnRvAQAOsb3lZIaiLEsQgynVaIgH/I
|
|
ZzvkR1ZwKbfRBzb5QQnQ/3ZHL30m9MCV+Z/dh/g2CKsf5D1K5uAv8a0SIqy0yW8g
|
|
E8Oi4+136VPCTcs5uGC8PuBVEMq87hBhWycKasVL+ukdYA3AHM10JRuVLhV81M87
|
|
Xe/vJqH7qPzvEtNIZdDqvDWhuHhPjlCI6SqMHI5ufxl3M7q+ylNgi5+yTwRbLqtH
|
|
0E109rMlVpnVzRELl28wmgIx9u/lmsa3LHCO6HBRlUjWQlV7CBlRfgGjrlcGhcq+
|
|
wFfmtT1jgbCOtJjakGOzEZhDuD5SlQTbIf4NCMfwgEIZE8PIUkWJcX8dPW4XiIo/
|
|
72IoF8eyvgR8VoGhA+l2gtFwlGWI2AZEpyi0zbk4pZJBmU5O1qVzMLlFRGufD8kx
|
|
1UZDT6yIsdWNCFF/R4YdrgyoySQoUlvpCV38cuKR6asOpyBFY/U9O3Ndu9VlTOBi
|
|
GI2eX1XyFsTAzcp6PuXBIIUFlsRzrHFXxGyagF0NaLIAlB1amwcPHx5yxiRYcquM
|
|
7VFaHUyMqWwRTTq+gtZlPcGI1t16tWmH9O9N+Cip9nUqL37s2Zb0zr+LttnYYod4
|
|
kxMi2jTQLdGkxZvIR+iTGJD3SqKD321n6iWrHuGmyrRKmf3e6P2BTxjerBvI2Jkf
|
|
nPk49938gAirwh9ucDbF
|
|
=VqIo
|
|
-----END PGP SIGNATURE-----
|