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