-
Notifications
You must be signed in to change notification settings - Fork 300
Description
I usually installed RELEASES, then prefer to follow -STABLE. This is less nowadays, but it was usually due to new drivers, updated vendor code imports, and is nice to get the latest ZFS updates instead of waiting for RELEASE, etc.
So I installed RC2, and after while tried upgrading to -STABLE
Summary:
freeburg:# pkg upgrade -fr FreeBSD-base-stable FreeBSD-kernel-generic
Updating FreeBSD-base-stable repository catalogue...
FreeBSD-base-stable repository is up to date.
FreeBSD-base-stable is up to date.
The following 1 package(s) will be affected (of 0 checked):
Installed packages to be DOWNGRADED:
FreeBSD-kernel-generic: 15.0.rc2.20251118061818 ->
15.snap20251121142734 [FreeBSD-base-stable]
Number of packages to be downgraded: 1
verbose info at: https://lists.freebsd.org/archives/freebsd-stable/2025-November/003599.html, which redirected me to here.
As far as I can tell I shouldn't need to use the '-f' option on pkgbase to upgrade to -STABLE. ports [pkgports] has EPOCH number, so I don' t have to use '-f'. Since afaict each pkgbase has a datestamp, I assumed that can be used as the "EPOCH" variant for pkgbase. N
There is already sorting done via url, so the '-f' seems like bad practice to do an upgrade.
https://pkg.freebsd.org/FreeBSD:15:amd64/base_latest/
https://pkg.freebsd.org/FreeBSD:15:amd64/base_release_0/
etc.
If i'm pointing at _latest, it should grab the latest if there is something later.
I can see myself in getting used to using '-f' option in pkg to do pkg{base,ports} upgrades, and learning to ignore pkg warnings that its a downgrade - only good things can come from that. This just builds bad habits and exceptions for '-f'. It should be not a normal usage. [I just did realize that all this time I could [should] have been using snapshot builds to install fresh systems, lesson learned.]
Since pkg is already pointed at _latest or _release or _weekly or _monthy, maybe pkgbase should sort by datestamp, not by snap/rc/release label?