Bug 195484 - freebsd-update(8) fails to update 9.2-RELEASE to 10.1-RELEASE
Summary: freebsd-update(8) fails to update 9.2-RELEASE to 10.1-RELEASE
Status: Closed Not A Bug
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: 9.2-RELEASE
Hardware: amd64 Any
: --- Affects Many People
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-11-28 21:00 UTC by Frank Wall
Modified: 2015-03-03 20:17 UTC (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Frank Wall 2014-11-28 21:00:37 UTC
I did the usual steps to upgrade a 9.2-RELEASE host to 10.1-RELEASE:

- freebsd-update upgrade -r 10.1-RELEASE
- freebsd-update install
- reboot
- freebsd-update install

Unfortunately it fails while trying to install the userland components:

    # freebsd-update install
    Installing updates…ln: ///usr/lib/private/libheimipcc.so: No such file or directory
    install: ///usr/lib/private/libheimipcc.so.11: No such file or directory
    ln: ///usr/lib/private/libheimipcs.so: No such file or directory
    install: ///usr/lib/private/libheimipcs.so.11: No such file or directory
    ln: ///usr/lib/private/libldns.so: No such file or directory
    install: ///usr/lib/private/libldns.so.5: No such file or directory
    ln: ///usr/lib/private/libssh.so: No such file or directory
    install: ///usr/lib/private/libssh.so.5: No such file or directory
    ln: ///usr/lib/private/libucl.so: No such file or directory
    install: ///usr/lib/private/libucl.so.1: No such file or directory
    ln: ///usr/lib/private/libunbound.so: No such file or directory
    install: ///usr/lib/private/libunbound.so.5: No such file or directory
    ln: ///usr/lib/private/libyaml.so: No such file or directory
    install: ///usr/lib/private/libyaml.so.1: No such file or directory

freebsd-update(8) fails because it assumes that /usr/lib/private exists, while it wasn't introduced until 9.3-RELEASE. As a result sshd(8) and pkg(8) will stop working due to missing libraries.

This should be fixed to allow users to upgrade from 9.2-RELEASE to 10.x. The EOL for 9.2 is set to 2014-12-31, so it's likely that an increasing number of users will experience this issue.

As a sidenote freebsd-update(8) actually did exit with code 0, thus not reporting an error. I would expect freebsd-update(8) to exit with non-zero exit code if it fails to install a system library.
Comment 1 Matt Simerson 2015-02-04 18:08:56 UTC
This bug also affects systems upgrading from 9.3-RELEASE -> 10.1-RELEASE. I experienced this at great inconvenience (servers are a continent away) on three systems that I upgraded.

Upgrade history: 9.2 -> 9.3 on Aug 13, 2014. 9.1 -> 9.2 on Jan 19, 2014. 9.0 -> 9.1 on Feb 15, 2013. 8.2 -> 9.0 on Aug 7, 2012.
Comment 2 Allan Jude freebsd_committer freebsd_triage 2015-03-03 18:02:22 UTC
Is it possible one of your previous upgrades was not completed properly?

such as in https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196760
Comment 3 Frank Wall 2015-03-03 18:13:41 UTC
@Allan: In my case there was no previous major upgrade. These servers were initially installed with 9.2-RELEASE and the step to 10.1-RELEASE was the first major upgrade.
Comment 4 Glen Barber freebsd_committer freebsd_triage 2015-03-03 18:20:39 UTC
Was your system patched for EN-13:04 and EN-13:05?

Based on the symptoms, I suspect the answer is "no."

https://www.freebsd.org/security/advisories/FreeBSD-EN-13:04.freebsd-update.asc
https://www.freebsd.org/security/advisories/FreeBSD-EN-13:05.freebsd-update.asc
Comment 5 Frank Wall 2015-03-03 20:17:04 UTC
I did retest this issue on a new VM:

- installed FreeBSD 9.2-RELEASE
- ran freebsd-update(8) to update to latest patchlevel
- ran freebsd-update(8) to upgrade to 10.1-RELEASE

This time the upgrade succeeded. Apparently @gjb is right about the missing system patches. I cannot verify this on my old machines anymore, but this new test proves he's right with his assumption.

I'm closing this report now, because my issue is solved.