# how to (or not) compile debug components



## noodlefling (Oct 5, 2019)

```
# freebsd-update upgrade -r 11.3-RELEASE
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 11.2-RELEASE from update1.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Inspecting system... done.

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

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

Does this look reasonable (y/n)? y
```

I did this recently and everything worked perfectly.  My question is, how does it know I don't want those debug components to be installed?

I only ask because I have another system where it automatically builds them and I'd like it to stop.  I sort of mindlessly said "y" when asked on that system, and it was already going, so I just let it flow.  It worked fine as well, but I have limited resources on that machine, so it makes sense to leave out the unnecessary bits. Presumably, I could have just said "n" and it would have let me change things, but where are the options stored? I checked the expected config files and couldn't find the trick.

What am I missing?


----------



## tingo (Oct 5, 2019)

There are no options - freebsd-update checks which components are installed on your system (exactly how it does this, I'm not sure). As you say, you selected those components when you installed the system. I don't know if there is an option to remove components of the base install in either the installer or in FreeBSD itself.
You can try to answer "n" to the "Does this look reasonable (y/n)?" question and see if freebsd-update lets you specify components, or if just gives up and ask you to fix it yourself.


----------



## noodlefling (Jul 9, 2020)

There's a new option, so now you can `freebsd-update showconfig` and one of the reported lines will show which components will be updated.

For example, this is an outputted line from one of my servers after issuing the above command:

```
COMPONENTS=src world kernel
```

So, it's another way to see what's going on.  But I still don't know how to change those options.


----------



## noodlefling (Jul 9, 2020)

Hmm.  There was a clue in the man pages.

In /etc/freebsd-update.conf, there's this:


```
# Components of the base system which should be kept updated.
Components src world kernel
```

Still don't know exactly how to switch debug off or on, though.  I think using a `debug` argument is probably a good guess!  At least if it exists on your system and you want to remove it, it should be obvious.


----------

