Migrating to Python 3.8
Edit /etc/make.conf
and /usr/local/etc/synth/LiveSystem-make.conf
, changing DEFAULT_VERSIONS+=python=3.7
to DEFAULT_VERSIONS+=python=3.8
, and DEFAULT_VERSIONS+=python3=3.7
to DEFAULT_VERSIONS+=python3=python3.8
.
diff -u -r1.32 /etc/make.conf --- /etc/make.conf 16 Feb 2021 10:18:47 -0000 1.32 +++ /etc/make.conf 27 Apr 2021 06:06:04 -0000 @@ -67,9 +67,9 @@ DEFAULT_VERSIONS+=perl5=5.32 DEFAULT_VERSIONS+=pgsql=11 DEFAULT_VERSIONS+=php=7.4 -DEFAULT_VERSIONS+=python=3.7 +DEFAULT_VERSIONS+=python=3.8 DEFAULT_VERSIONS+=python2=2.7 -DEFAULT_VERSIONS+=python3=3.7 +DEFAULT_VERSIONS+=python3=3.8 DEFAULT_VERSIONS+=ruby=2.7 DEFAULT_VERSIONS+=rust=rust DEFAULT_VERSIONS+=samba=4.13
Ensure Synth’s flavour index is up to date. Or, remove it, typically /var/cache/synth/LiveSystem-index
, and run synth status
to recreate it. Otherwise, you’ll end up with some strange whining:
www/serf scan aborted because dependency could not be located. /usr/local/bin/scons-3.8:devel/scons@py38 (required dependency of www/serf) does not exist. Scan of local/[REDACTED]-localbase failed, it will not be considered. Scanning existing packages. Queue integrity lost! (Synth must exit)
Here are three handy vi
(1) commands when editing local metaports:
:g/@py37/s//@py38/ :g/-py37/s//-py38/ :g/py37-/s//py38-/
Maybe the above could be simplified to
:g/py37/s//py38/g
without any ill side effects.
In any case, it’s recommended to scrutinise the output of cvs diff
before committing.
When updating your packages it may be necessary to run this command sequence at least twice in a row.
pkg update -f && pkg upgrade && pkg autoremove