Bug 296579 - pkg decided to install `python312`but did not upgrade `py311-subversion` (or warn)
Summary: pkg decided to install `python312`but did not upgrade `py311-subversion` (or ...
Status: Closed Works As Intended
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-07-07 16:43 UTC by Sean McBride
Modified: 2026-07-10 04:10 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sean McBride 2026-07-07 16:43:25 UTC
I just updated my subversion (aka svn) server from FreeBSD 15.0-RELEASE-p9 to 15.1-RELEASE-p1.  One of the steps is to run `pkg update` and it output:

```
 New packages to be INSTALLED:
    py312-packaging: 26.2 [amd64-15-1-default]
    python312: 3.12.13_3 [amd64-15-1-default]
 Installed packages to be REINSTALLED:
    glib-2.86.4,2 [amd64-15-1-default] (direct dependency changed: python312)
    python3-3_4 [amd64-15-1-default] (direct dependency changed: python312)
```

I believe we had python 3.11 before.

I proceeded with everything it suggested.  Most things worked after, except we were unable to commit to svn.  After some debugging, we found the cause was that we needed the `py312-subversion` package, whereas we had the `py311-subversion` package.  Installing manually with `pkg install py312-subversion` added the new one and removed the old one:

```
The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
    py312-subversion: 1.14.5 [amd64-15-1-default]

Installed packages to be REMOVED:
    py311-subversion: 1.14.5

Number of packages to be removed: 1
Number of packages to be installed: 1
```

This solved the svn commit issue.

What I consider to be a bug is that no conflict was detected and nothing was warned about here.  Once pkg decided to install `python312` should it not have raised some flag about the fact that we had `py311-subversion`?
Comment 1 Charlie Li freebsd_committer freebsd_triage 2026-07-07 19:21:21 UTC
The default Python was switched to 3.12. Please see UPDATING for details, including a way to help switch everything over. No conflict or warning is correct.
Comment 2 Sean McBride 2026-07-07 19:30:26 UTC
>The default Python was switched to 3.12.

I figured as much.  But the release notes don't even contain the word "python", see: https://www.freebsd.org/releases/15.1R/relnotes/

>No conflict or warning is correct.

Why?  It's not a pleasant upgrade experience.
Comment 3 Charlie Li freebsd_committer freebsd_triage 2026-07-10 04:10:54 UTC
Python is not, and has never been, a part of the base system. Ports has its own UPDATING file.

With how we package Python in ports, it is generally possible to have multiple Python distributions/versions present in the environment, unlike some other operating system packaging systems. Files specific to a Python package are generally contained within a particular Python distribution's site-packages. Some packages, like py-subversion, do install files outside of site-packages, so only then would a conflict happen.