Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Dec 2025 12:28:30 +0000
From:      Sad Clouds <cryintothebluesky@gmail.com>
To:        "freebsd-questions@freebsd.org" <freebsd-questions@freebsd.org>
Subject:   Trying to understand base system packages
Message-ID:  <20251205122830.cb88058f193987b47a95a77c@gmail.com>

index | next in thread | raw e-mail

Hi I'm trying to understand the new workflows associated with base
packages on FreeBSD-15. I'd like to ask some questions:

1. Does "pkg upgrade" now upgrade both base and ports packages? If yes
then what is the best way to override it and specify explicitly either
base or ports? Is this the correct approach:
# pkg upgrade -r FreeBSD-ports

2. Does "pkg upgrade" for base packages also merge etc files, or do I
need to manually execute etcupdate? Looks like various etc files are
split across different base packages. Is etcupdate even relevant
anymore for upgrades? How does pkg handle merges for locally modified
etc files?

3. In /etc/pkg/FreeBSD.conf FreeBSD-base is disabled by default. What
is the reason for that? Do I need to manually enable it if I want
"pkg upgrade" to upgrade base packages in the future?

4. Why am I not able to delete individual base packages:
# pkg info | grep sendmail
FreeBSD-libmilter-15.0         sendmail Mail Filter API library
FreeBSD-libmilter-dev-15.0     sendmail Mail Filter API library (development files)
FreeBSD-sendmail-15.0          sendmail mail transport agent

# pkg delete FreeBSD-sendmail
Cannot solve problem using SAT solver, trying another plan
Cannot solve problem using SAT solver, trying another plan
Cannot solve problem using SAT solver, trying another plan
Checking integrity... done (0 conflicting)
1 packages requested for removal: 0 locked, 1 missing

5. When building from source and executing "make release" this creates
the traditional *.txz files. In addition to these, how do I also
generate all of the base packages as part of the release? There is
release/pkgbase-repo directory that gets created but it is left empty.
Is running "make packages" a prerequisite before "make release" for
this to happen, or is there a different release target for base
packages?

6. If I need to modify src.conf and build my own set of base packages,
what is the recommended way to install/upgrade with these packages?
Can I tell pkg to fetch the packages from a local directory? The
pkg(8) command supports options like -c (chroot dir), -r (root dir),
etc, but I'm confused on how it should be used. For example:

I build a release for arm64/aarch64 on amd64, create a partition on
microSD card and mount it under /mnt. I then execute 
"tar -C /mnt -xpUf base.txz" to install the base system.

How do I replicate the above with pkg? Can anyone provide a quick
example?

Thanks.


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20251205122830.cb88058f193987b47a95a77c>