Skip to content

pkg [pkgbase] thinks 15.0-RC2 --> 15.0-STABLE is downgrade #2561

@kgbsd

Description

@kgbsd

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions