Brave New PKGBASE World

PR 290344. You have documented the total circle. Yes it will evolve to the requirement in future and take lowest time of all. We the users are not interested about 'base' system, but only package/ports. What about to minor and major upgrade without manual interaction , something like freebsd-update -r repo .
 
So now, how do we clean up the system so that only the base system remains? We only clean up third-party packages. The base FreeBSD system remains.

I guess they'll add a 'not match' flag to the command. Or maybe I just don't know the proper regex to use...

Code:
# pkg info -q | grep -v '^FreeBSD-' | xargs pkg delete -y

The following also work if you don't have any third-party packages that start with 'F'
Code:
# pkg delete -Cfx '^[^F]'
 
Is it a good idea to move to pkgbase for 15-Release? Or should we wait and stick with the permanent solution until more people have tested pkgbase thoroughly? What do you think?
 
Is it a good idea to move to pkgbase for 15-Release? Or should we wait and stick with the permanent solution until more people have tested pkgbase thoroughly? What do you think?
I have a test VM with the 14.3 release in pkgbase.
This is the VM that will be upgraded to 15.0.
My workstation will possibly switch to pkgbase with FreeBSD 16.0.
It will be necessary to debug, adopt new habits, and wait for solid documentation on this new pkgbase world.
 
vermaden, Thank you for your efforts!
 

Attachments

  • Untitled.jpg
    Untitled.jpg
    92.8 KB · Views: 35
Something is unclear here. As vermaden stated, for a RELEASE you need to have:
FreeBSD-base: {
# url: "pkg+https://pkg.freebsd.org/${ABI}/base_latest",
url: "pkg+https://pkg.freebsd.org/${ABI}/base_release_${VERSION_MINOR}",
mirror_type: "srv",
signature_type: "fingerprints",
fingerprints: "/usr/share/keys/pkg",
enabled: yes
}

It's very simple to update the system (security patches): pkg upgrade -r FreeBSD-base

It's a little inelegant to perform a major upgrade* : env ABI=FreeBSD:15:amd64 pkg-static upgrade -r FreeBSD-base

But how to do a minor upgrade? I did 14.2 to 14.3 by changing a pkg conf file to:
url: "pkg+https://pkg.freebsd.org/${ABI}/base_release_3",
So, I broke the ${VERSION_MINOR} thing.
And, of course, this doesn't work: env VERSION_MINOR=3 pkg ...
VERSION_MINOR seems to be unaffected by env.

(*) I doubt it will work with VERSION_MINOR. I need to test it.
 
(*) I doubt it will work with VERSION_MINOR. I need to test it.
With or without VERSION_MINOR it doesn't work from a 14.3-RELEASE. In fact, it doesn't even want to upgrade if there is no VERSION_MINOR in the pkg conf file (?). And when you put it, pkg finally segfault as in my first tries.

pkgbase is far to be ready in real use. I will retry when the 15.0-RELEASE will be available. Could be the problem.
 
I find pkgbase to be ok so far, on some meaningless VMs. I've done pkgbasify on two less important boxes I have here, and it seems to be OK there too, but I have nothing of real interest on either machine save for some bhyve VMs on one. Although the pkgbase upgrades I've done were just the security updates that have taken place since 14.3 came ou. My plan at present is to upgrade my main machine with freebsd-update, after 15.0-RELEASE comes out. (That one has an Nvidia card too, to add complexity.) If there are official (that is, as we had for upgrading to 14.2 at https://www.freebsd.org/releases/14.2R/installation/#upgrade) --then I might try pkgbase upgrade on the two less important machines, but only after creating a bectl or beadm backup.
 
https://www.freebsd.org/releases/15.0R/schedule/ gives the schedule. When it comes out, FreeBSD will have an upgrade process documented. My guess is that it will be to use freebsd-update as usual, but that's just my guess.

So it looks like it's coming out in late November, early December. There are release notes already. https://www.freebsd.org/releases/15.0R/relnotes/ There is also https://www.freebsd.org/releases/15.0R/installation/#upgrade-binary though at this point I think that would only upgrade to STABLE, not RELEASE, and also you can see the notes about freebsd-upgrade eventually being replaced.
 
Without a simple tool implemented to update the pkgbase system to the RELEASE, STABLE, CURRENT version, introducing pkgbase is pointless.

because in such a case, the only method of updating to the chosen release remains compiling the base system. And then the whole charm of pkgbase and simple updating disappears. It's a useless idea for the sake of it. Art for art's sake
 
I upgraded from 15.0-ALPHA to 15.0-STABLE when it appeared and haven't had any problems with it, unlike 15.0-BETA and even once or twice with 14.3-RELEASE.

Upgrading with pkgbase now is a very simple procedure.
 
Without a simple tool implemented to update the pkgbase system to the RELEASE, STABLE, CURRENT version, introducing pkgbase is pointless.

because in such a case, the only method of updating to the chosen release remains compiling the base system. And then the whole charm of pkgbase and simple updating disappears. It's a useless idea for the sake of it. Art for art's sake
Tl;dr stop spreading FUD.

I have three different pkgbase BEs on a single machine, 14.3-S 15-S and 15-R:
  • started from 14.3-R;
  • converted to pkgbase;
  • created a new BE and upgraded to 15-R;
  • created a new BE and upgraded to 15-S;
  • went back to 14.3-R (because 15 doesn't resume from suspend reliably on my machine);
  • upgraded to 14.3-S.
All this using pkgbase without compiling the base system a single time. Not only that, I move from one BE to another every few days to check it the development progress on 15 is going on for my problem and with pkgbase I can choose which BE to update.

You clearly don't know what you're talking about, and BTW is not the first time that this happens. Just stop, thank you.
 
Tl;dr stop spreading FUD.

I have three different pkgbase BEs on a single machine, 14.3-S 15-S and 15-R:
  • started from 14.3-R;
  • converted to pkgbase;
  • created a new BE and upgraded to 15-R;
  • created a new BE and upgraded to 15-S;
  • went back to 14.3-R (because 15 doesn't resume from suspend reliably on my machine);
  • upgraded to 14.3-S.
All this using pkgbase without compiling the base system a single time. Not only that, I move from one BE to another every few days to check it the development progress on 15 is going on for my problem and with pkgbase I can choose which BE to update.

You clearly don't know what you're talking about, and BTW is not the first time that this happens. Just stop, thank you.
A 15.0-RELEASE that isn't available... Am I wrong?
All my attempts to upgrade from a pkgbasified 14.3-RELEASE to 15-something failed.
So, I hope you explain how you did that.
 
https://lists.freebsd.org/archives/freebsd-stable/2025-October/003523.html

I don't think 15.0-BETA4 is out as binary update yet.

=== Upgrading ===

The freebsd-update(8) utility supports binary upgrades of amd64, i386,
and aarch64 systems running earlier FreeBSD releases. Systems running
earlier FreeBSD releases can upgrade by first installing any updates for
the currently running release:

# freebsd-update fetch
# freebsd-update install

and then downloading the new release:

# freebsd-update upgrade -r 15.0-BETA3

NOTE: THE STEP OF UPDATING YOUR EXISTING SYSTEM FIRST IS NECESSARY. An
errata notice was recently issued (FreeBSD-EN-25:18.freebsd-update) which
corrects a problem which otherwise results in systems becoming inoperative
when attempting to upgrade to 15.0.

During this process, freebsd-update(8) may ask the user to help by
merging some configuration files or by confirming that the automatically
performed merging was done correctly.

# freebsd-update install

The system must be rebooted with the newly installed kernel before
continuing.

# shutdown -r now

After rebooting, freebsd-update needs to be run again to install the new
userland components:

# freebsd-update install

It is recommended to rebuild and install all applications if possible,
especially if upgrading from an earlier FreeBSD release, for example,
FreeBSD 12.x. Alternatively, the user can install misc/compat12x and
other compatibility libraries, afterwards the system must be rebooted
into the new userland:

# shutdown -r now

Finally, after rebooting, freebsd-update needs to be run again to remove
stale files:

# freebsd-update install
 
Tl;dr stop spreading FUD.

I have three different pkgbase BEs on a single machine, 14.3-S 15-S and 15-R:
  • started from 14.3-R;
  • converted to pkgbase;
  • created a new BE and upgraded to 15-R;
  • created a new BE and upgraded to 15-S;
  • went back to 14.3-R (because 15 doesn't resume from suspend reliably on my machine);
  • upgraded to 14.3-S.
All this using pkgbase without compiling the base system a single time. Not only that, I move from one BE to another every few days to check it the development progress on 15 is going on for my problem and with pkgbase I can choose which BE to update.

You clearly don't know what you're talking about, and BTW is not the first time that this happens. Just stop, thank you.

While I agree with what You wrote - please keep in mind that Yampress is more at the beginning of his FreeBSD mastery - not at the end. He was asking - not judging. He just seeks answer that FreeBSD project did not directly defined.

I even tried more then once to ask them to include the PKGBASE upgrade/update instructions into the 'announcement' - no success from my side thou ...

- https://lists.freebsd.org/archives/freebsd-stable/2025-November/003550.html
 
A 15.0-RELEASE that isn't available... Am I wrong?
All my attempts to upgrade from a pkgbasified 14.3-RELEASE to 15-something failed.
So, I hope you explain how you did that.
It was a semplification, my 15.0-R is actually BETA3 and will be BETA4 when released and so on.

To upgrade I just followed the pkgbase wiki page (I'm unfortunately in a hospital bed for the second time in as many months, so I don't have any instructions with me). It's really nothing special.

Just be sure to disable libraries backup in pkg.conf and remove the compat-libs package, I believe that's how it's called.
 
Back
Top