How do I install world/base and world/doc?

Jay F. Shachter

Member

Reaction score: 1
Messages: 60

Esteemed colleagues:

I am trying to upgrade to 12.1, because 12.0 does not support the RTL8188E wireless device and 12.1 claims that it does. I have obtained wired Ethernet connectivity for a few hours. When I invoke the freebsd-update command I see the following troubling output:

Code:
# freebsd-update -r 12.1-RELEASE upgrade
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 12.0-RELEASE from update1.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.

The following components of FreeBSD seem to be installed:
kernel/generic

The following components of FreeBSD do not seem to be installed:
kernel/generic-dbg src/src world/base world/base-dbg world/doc
world/lib32 world/lib32-dbg

Does this look reasonable (y/n)? n
#
How did I lose world/base and world/doc? More precisely, since I do not care how I lost them, how do I get them back? If I upgrade kernel/generic to 12.1 without upgrading world/base, the header files in /usr/include will be wrong, and I won't be able to compile programs properly, which means, among other things, that I won't be able reliably to rebuild any of my ports. Please don't tell me to create an installation CD or USB drive, because I don't have any here in the place where I have access to wired Ethernet. Thank you in advance for any and all replies. -- jay at m5 dot chicago dot il dot us
 

rigoletto@

Daemon
Developer

Reaction score: 1,109
Messages: 2,176

This is configured at freebsd-update.conf(5) and you probably disabled them at some point since that is not the default behavior.

Btw, I don't use freebsd-update(8) and don't ever have it installed but since you didn't upgrade yet I suppose just re-enabling them should work, otherwise you probably will need to build from source (preferentially not modifying anything default, including not touching /etc/src.conf) to later be able to use freebsd-update again without any major hassle.

This is also a good idea to left "src/src" ON (indeed the default values) in order to be able to run mergemaster(8) [-UiF] after the installation to upgrade the config files too.
 
OP
J

Jay F. Shachter

Member

Reaction score: 1
Messages: 60

This is configured at freebsd-update.conf(5) and you probably disabled them at some point since that is not the default behavior.
I did not disable them. This is the relevant line from /etc/freebsd-update.conf:
Code:
Components src world kernel
Nevertheless, freebsd-update thinks that only kernel/generic is installed, and, specifically, that world/base and world/doc -- which I want -- are not installed. This means, most likely, that I must reinstall them, before (or after) running freebsd-update. How do I do that? Thank you in advance for any and all replies.
 

Phishfry

Son of Beastie

Reaction score: 1,774
Messages: 4,836

Inspecting system... done. The following components of FreeBSD seem to be installed: kernel/generic The following components of FreeBSD do not seem to be installed: kernel/generic-dbg src/src world/base world/base-dbg world/doc world/lib32 world/lib32-dbg
How did I lose world/base and world/doc? More precisely, since I do not care how I lost them, how do I get them back?
most likely, that I must reinstall them, before (or after) running freebsd-update. How do I do that? Thank you in advance for any and all replies.
You do not need to install them (source aka world).
freebsd-update simply checks your computer for the FreeBSD source files(world). It will update them as well as your OS if they are installed.
FreeBSD source is not needed at all to update.
There is no problem here.
 

Phishfry

Son of Beastie

Reaction score: 1,774
Messages: 4,836

If you really want the source you can get the FreeBSD 12.1 source with this command:
svnlite checkout svn://svn.freebsd.org/base/releng/12.1/ /usr/src
 
OP
J

Jay F. Shachter

Member

Reaction score: 1
Messages: 60

You do not need to install them (source aka world).
freebsd-update simply checks you[r] computer for the FreeBSD source files(world). It will update them as well as your OS if they are installed.
FreeBSD source is not needed at all to update.
There is no problem here.
Please forgive me for contradicting you -- I know you are trying to be helpful -- but src is clearly not the same component as world. They are listed separately in /etc/freebsd-update.conf, and they are listed separately in the output of the freebsd-update command, which claims, after inspecting my system, that src/src is not installed, and also that (among other things) world/base and world/doc are not installed (see the output of freebsd-update, presented above in the initial posting). They are separate components. I do not want the src component, but I do want at least certain minimal parts of the world component, which freebsd-update thinks, after inspecting my system, that I have not got. How do I get them? Thank you in advance for any and all replies.
 

Phishfry

Son of Beastie

Reaction score: 1,774
Messages: 4,836

Source is something you download.
World is something you build from said source.

If you download the source like my above instructions and then build world and kernel you will acheive the same thing as f reebsd-update.
Instead of using pre-compiled binaries you will be building it from source.
freebsd-update is much quicker because it uses pre-built files.
 

rigoletto@

Daemon
Developer

Reaction score: 1,109
Messages: 2,176

The source code is also updated by freebsd-update, but now with the given information (I don't use it) I think it will just update if you have it in there already, either by selecting it during the installation or placing it using svn/git or just unpacking the tar file.
 

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 8,919
Messages: 33,312

If world/base was missing you won't have an OS to boot in the first place. What's known as "world" is the entire userland part of FreeBSD, everything in /bin/,/sbin/, /usr/bin, /usr/lib, etc.
 
OP
J

Jay F. Shachter

Member

Reaction score: 1
Messages: 60

Yes, certainly, if world/base was missing I wouldn't have even a minimally functional system. However freebsd-update thinks that world/base is not installed, or not fully installed, which means -- since freebsd-update only updates the components that are installed -- that if I updated the kernel to 12.1, the header files would not be correspondingly updated, and the system would be left in an inconsistent state. So perhaps my question should have been phrased more precisely -- instead of "How do I install world/base and world/doc?", perhaps I should have asked. "How do I complete the installation of world/base and world/doc. so that freebsd-update will think, upon inspecting my system, that those components are present, and therefore that they should be updated, when I update my system to 12.1?"

In the meantime I am downloading the source code, but I hope that I can update my system other than by rebuilding it, since such things always take between 20 and 80 times as long as one reasonably thinks they will, it would be an unending drain on my resources, sad experience has taught me that that's how such things always turn out.
 
Top