These are mostly notes to myself, about what I encounter during attempts to upgrade FreeBSD.

Upgrading FreeBSD 12.x to a Patch Release of the Same Version

Summary

This section contains the sanitized summary of what I would do next time.

  1. for a non-GUI server, edit /etc/make.conf to specify OPTIONS_UNSET+=X11
  2. pkg audit -F to see if there are any current ports that now have known security vulnerabilities
  3. freebsd-update fetch
  4. freebsd-update install
  5. shutdown -r now
  6. pkg audit to check again (don't fetch new database this time)
  7. portsnap fetch update
  8. read /usr/ports/UPDATING for any special notices about non-standard upgrades - look back until date of previous upgrade
  9. portmaster -a -d - this may take a long time since there are often conflicts
  10. freebsd-update install
  11. check for unneeded packages that are no longer depended on by other packages

Extra Notes and To-dos

  1. To approve packages individually, use -i flag of portmaster
  2. To see the names of packages that depend on a particular package, run pkg info -r packagename
  3. To rebuild specified port and all ports depending on it, run portmaster -r portDirPath
  4. See if there is a portmaster command to clean out any old build products/archives, including those archives from older builds, so don't need to agree to that for each build that needs it to be confirmed - try:
    • --no-confirm (20201010 - didn't do what I had hoped)
    • -d (always clean distfiles) (20210228 - worked - portmaster -a -d updated everything out-of-date without asking me to delete old archives
    • [t][-n] --clean-distfiles
    • [-t] -y --clean-distfiles
    • [-n] --clean-packages
  5. Look for a command to check the installed ports to see if there are any mismatches.

Log

This section shows some of the stumbles I made/encountered in the process of upgrading.

It's good to record all upgrades since that lets me know how far back I need to read in /usr/ports/UPDATING.

Upgrade from 13.1-RELEASE-p2 to 13.1-RELEASE-p5 on 20221201 to 20221202

5 vulnerabilities: Python 3.9.14, ruby 3.0.4_3,1, go 1.19.1, git 2.37.3, pixman 0.40.0_1

Updating ports from Thu Sep 29 16:34:10 PDT 2022 to Thu Dec 1 18:55:00 PST 2022. Bash updated to 5.2 - see notes - may need to make config in shells/bash..

Ports to upgrade include:

  1. Upgrade e2fsprogs-libuuid-1.46.5 to e2fsprogs-libuuid-1.46.5_1
  2. Upgrade en-freebsd-doc-20220825,1 to en-freebsd-doc-20221029,1
  3. Upgrade docproj-4.1.2 to docproj-4.1.3
  4. Upgrade git-2.37.3 to git-2.38.1_4
  5. Upgrade gettext-runtime-0.21 to gettext-runtime-0.21.1
  6. Upgrade gettext-tools-0.21_1 to gettext-tools-0.21.1
  7. Upgrade libtextstyle-0.21 to libtextstyle-0.21.1
  8. Upgrade python39-3.9.14 to python39-3.9.15_1
  9. Upgrade libffi-3.4.2 to libffi-3.4.3
  10. Upgrade readline-8.1.2 to readline-8.2.0
  11. Upgrade p5-IO-Socket-SSL-2.075 to p5-IO-Socket-SSL-2.077
  12. Upgrade p5-Mozilla-CA-20211001 to p5-Mozilla-CA-20221114
  13. Upgrade expat-2.4.9 to expat-2.5.0
  14. Upgrade po4a-0.67_1 to po4a-0.68
  15. Upgrade rubygem-asciidoctor-pdf-2.3.0_1 to rubygem-asciidoctor-pdf-2.3.2
  16. Upgrade ruby30-gems-3.3.22 to ruby30-gems-3.3.23
  17. Install textproc/vale
  18. Upgrade go119-1.19.1 to go119-1.19.3
  19. Upgrade gohugo-0.97.3 to gohugo-0.107.0
  20. Upgrade ca_root_nss-3.83 to ca_root_nss-3.85
  21. Upgrade public_suffix_list-20220825 to public_suffix_list-20220927
  22. Upgrade vulkan-headers-1.3.229 to vulkan-headers-1.3.235
  23. Upgrade cmake-core-3.24.0 to cmake-core-3.24.3_2
  24. Upgrade wayland-protocols-1.26 to wayland-protocols-1.31
  25. Upgrade meson-0.63.2 to meson-0.64.1
  26. Upgrade cmake-man-3.24.0 to cmake-man-3.24.3
  27. Upgrade icu-71.1,1 to icu-72.1,1
  28. Upgrade libedit-3.1.20210910,1 to libedit-3.1.20221030,1
  29. Upgrade libglvnd-1.4.0_2 to libglvnd-1.6.0
  30. Upgrade libimagequant-2.17.0 to libimagequant-4.0.4_1
  31. Install devel/cargo-c
  32. Upgrade libgit2-1.3.2 to libgit2-1.5.0
  33. Upgrade libssh2-1.10.0,3 to libssh2-1.10.0_1,3
  34. Upgrade rust-1.63.0 to rust-1.65.0
  35. Upgrade pciids-20220807 to pciids-20220909
  36. Upgrade pcre-8.45_1 to pcre-8.45_3
  37. Upgrade pixman-0.40.0_1 to pixman-0.42.2
  38. Upgrade png-1.6.37_1 to png-1.6.38
  39. Upgrade tcl86-8.6.12 to tcl86-8.6.13
  40. Upgrade utf8proc-2.7.0 to utf8proc-2.8.0
  41. Upgrade bash-5.1.16 to bash-5.2.12
  42. Upgrade dbus-1.14.0,1 to dbus-1.14.4,1
  43. Upgrade gdk-pixbuf2-2.42.9 to gdk-pixbuf2-2.42.10
  44. Upgrade glib-2.74.0,2 to glib-2.74.3,2
  45. Install textproc/gtk-doc
  46. Install textproc/itstool
  47. Install textproc/py-libxml2@py39
  48. Upgrade libxml2-2.10.2 to libxml2-2.10.3_1
  49. Upgrade py39-pygments-2.9.0 to py39-pygments-2.13.0
  50. Upgrade tiff-4.4.0 to tiff-4.4.0_1
  51. Upgrade ghostscript9-agpl-base-9.56.1_4 to ghostscript9-agpl-base-9.56.1_6
  52. Upgrade gnutls-3.7.7 to gnutls-3.7.8_1
  53. Upgrade libunistring-1.0 to libunistring-1.1
  54. Upgrade libidn2-2.3.3 to libidn2-2.3.3_1
  55. Upgrade libtasn1-4.18.0 to libtasn1-4.19.0
  56. Upgrade harfbuzz-5.2.0 to harfbuzz-5.3.1
  57. Upgrade libgd-2.3.3_1,1 to libgd-2.3.3_4,1
  58. Upgrade libgpg-error-1.45 to libgpg-error-1.46
  59. Upgrade libksba-1.6.0 to libksba-1.6.2
  60. Upgrade openjdk8-8.342.07.1_1 to openjdk8-8.352.08.1_1
  61. Install x11-toolkits/libXt
  62. Install x11/libICE
  63. Install x11/libSM
  64. Install x11/libX11
  65. Install x11/libXext
  66. Install x11/libXrender
  67. Upgrade p5-HTTP-Message-6.37 to p5-HTTP-Message-6.39
  68. Upgrade p5-URI-5.12 to p5-URI-5.15
  69. Upgrade py39-Babel-2.10.3 to py39-Babel-2.11.0
  70. Upgrade py39-pytz-2022.2.1,1 to py39-pytz-2022.5,1
  71. Upgrade py39-Jinja2-3.0.1 to py39-Jinja2-3.1.2
  72. Upgrade py39-certifi-2022.6.15 to py39-certifi-2022.9.24
  73. Upgrade py39-cryptography-3.4.8 to py39-cryptography-3.4.8,1
  74. Upgrade py39-idna-3.3 to py39-idna-3.4
  75. Upgrade rubygem-css_parser-1.11.0 to rubygem-css_parser-1.12.0
  76. Upgrade rubygem-public_suffix-5.0.0_2 to rubygem-public_suffix-5.0.0_3
  77. Upgrade spidermonkey91-91.13.0 to spidermonkey91-91.13.0_3
  78. Upgrade rust-cbindgen-0.24.3_2 to rust-cbindgen-0.24.3_4
  79. Upgrade sqlite3-3.39.3,1 to sqlite3-3.40.0,1
  80. Upgrade bash-completion-2.11_1,2 to bash-completion-2.11_2,2
  81. Upgrade binutils-2.37_4,1 to binutils-2.39,1
  82. Upgrade mpfr-4.1.0_1 to mpfr-4.1.1
  83. Upgrade boost-libs-1.80.0 to boost-libs-1.80.0_1
  84. Upgrade cmake-3.24.0 to cmake-3.24.3
  85. Upgrade gnupg-2.3.3_3 to gnupg-2.3.8
  86. Upgrade highlight-4.2_1,3 to highlight-4.4,3
  87. Upgrade libdrm-2.4.113,1 to libdrm-2.4.114,1
  88. Upgrade libinput-1.19.4_1 to libinput-1.22.0
  89. Upgrade libpsl-0.21.1_4 to libpsl-0.21.1_6
  90. Upgrade librsvg2-rust-2.54.5 to librsvg2-rust-2.54.5_2
  91. Upgrade py39-gi-docgen-2022.1 to py39-gi-docgen-2022.2
  92. Upgrade spidermonkey78-78.15.0_4 to spidermonkey78-78.15.0_7
  93. Upgrade trousers-0.3.14_3 to trousers-0.3.14_4
  94. Upgrade vim-9.0.0379 to vim-9.0.0981

This looks wrong - why would X11 be required on a headless server?

Used -i on portmaster to be able to exclude those ports.

See if pixman is the problem.

Built most of this, still need to build pixman due to vulnerability.

Looking for unneeded X libraries. Nothing depends on libXt, so delete it. This allows deletion of libSM, libICE. Also deleted libXext, libXrender, libX11, librsvg2-rust, pango, libXau, libXdmcp, libxshmfence, pixman, libinput.

Retrying upgrade of gohugo from 0.97.3 to 0.107.0. Still a huge number of files that can't download because permission denied.

Upgrade from 13.1-RELEASE-p1 to 13.1-RELEASE-p2 on 20220929 to 20220930

4 vulnerabilities: Python 3.9.13, go 1.19.1, expat 2.4.8, Python 3.8.13_2

Updating ports from Sat Aug 20 11:47:39 PDT 2022 to Thu Sep 29 16:34:10 PDT 2022.

Read UPDATING; seems OK.

Ports to upgrade include:

  1. Upgrade en-freebsd-doc-20220702,1 to en-freebsd-doc-20220825,1
  2. Upgrade rubygem-asciidoctor-pdf-2.2.0 to rubygem-asciidoctor-pdf-2.3.0_1
  3. Upgrade ruby30-gems-3.3.19 to ruby30-gems-3.3.22
  4. Upgrade ruby-3.0.4_2,1 to ruby-3.0.4_3,1
  5. Upgrade ca_root_nss-3.81 to ca_root_nss-3.83
  6. Upgrade perl5-5.32.1_1 to perl5-5.32.1_3
  7. Upgrade rubygem-prawn-icon-3.0.0 to rubygem-prawn-icon-3.1.0
  8. Upgrade public_suffix_list-20220629 to public_suffix_list-20220825
  9. Upgrade boehm-gc-8.0.6 to boehm-gc-8.2.2
  10. Upgrade expat-2.4.8 to expat-2.4.9
  11. Upgrade go119-1.19_1 to go119-1.19.1
  12. Upgrade gohugo-0.97.3 to gohugo-0.104.0
  13. Upgrade webp-1.2.3 to webp-1.2.4
  14. Upgrade jpeg-turbo-2.1.3 to jpeg-turbo-2.1.4
  15. Install devel/cmake-core
  16. Upgrade curl-7.84.0 to curl-7.85.0
  17. Upgrade ninja-1.10.2,2 to ninja-1.11.1,2
  18. Upgrade python39-3.9.13 to python39-3.9.14
  19. Upgrade libdeflate-1.13 to libdeflate-1.14
  20. Upgrade liblz4-1.9.3,1 to liblz4-1.9.4,1
  21. Upgrade meson-0.62.2 to meson-0.63.2
  22. Upgrade nspr-4.34.1 to nspr-4.35
  23. Upgrade pciids-20220518 to pciids-20220807
  24. Upgrade at-spi2-core-2.36.0 to at-spi2-core-2.44.1
  25. Upgrade glib-2.72.3,2 to glib-2.74.0,2
  26. Upgrade libxml2-2.9.14 to libxml2-2.10.2
  27. Upgrade libxslt-1.1.35_3 to libxslt-1.1.37
  28. Upgrade gobject-introspection-1.72.0_1,1 to gobject-introspection-1.74.0,1
  29. Upgrade cairo-1.17.4_1,3 to cairo-1.17.4_2,3
  30. Upgrade fontconfig-2.13.94_2,1 to fontconfig-2.14.0,1
  31. Upgrade atk-2.36.0 to atk-2.38.0
  32. Upgrade avahi-app-0.8 to avahi-app-0.8_1
  33. Upgrade ghostscript9-agpl-base-9.56.1_3 to ghostscript9-agpl-base-9.56.1_4
  34. Upgrade git-2.37.2 to git-2.37.3
  35. Upgrade p5-IO-Socket-SSL-2.074 to p5-IO-Socket-SSL-2.075
  36. Upgrade harfbuzz-5.1.0 to harfbuzz-5.2.0
  37. Upgrade openjdk8-8.342.07.1 to openjdk8-8.342.07.1_1
  38. Upgrade pinentry-1.2.0_1 to pinentry-1.2.1
  39. Upgrade pinentry-curses-1.2.0 to pinentry-curses-1.2.1
  40. Upgrade py39-charset-normalizer-2.1.0 to py39-charset-normalizer-2.1.1
  41. Upgrade py39-urllib3-1.26.11,1 to py39-urllib3-1.26.12,1
  42. Upgrade python38-3.8.13_2 to python38-3.8.14
  43. Upgrade rubygem-addressable-2.8.0_1 to rubygem-addressable-2.8.1
  44. Upgrade rubygem-public_suffix-5.0.0 to rubygem-public_suffix-5.0.0_2
  45. Upgrade rust-1.62.1 to rust-1.63.0
  46. Upgrade spidermonkey91-91.12.0 to spidermonkey91-91.13.0
  47. Upgrade rust-cbindgen-0.24.3_1 to rust-cbindgen-0.24.3_2
  48. Upgrade sqlite3-3.39.0,1 to sqlite3-3.39.3,1
  49. Upgrade zstd-1.5.2 to zstd-1.5.2_1
  50. Upgrade at-spi2-atk-2.34.2 to at-spi2-atk-2.38.0
  51. Upgrade cmake-3.23.3 to cmake-3.24.0
  52. Install devel/cmake-doc
  53. Install devel/qt5-help
  54. Install databases/qt5-sql
  55. Install devel/qt5-buildtools
  56. Install devel/qt5-qmake
  57. Install devel/qt5-core
  58. Install devel/double-conversion
  59. Install databases/qt5-sqldrivers-sqlite3
  60. Install net/qt5-network
  61. Install x11-toolkits/qt5-gui
  62. Install devel/libevdev
  63. Install devel/libmtdev
  64. Install devel/qt5-dbus
  65. Install devel/xdg-utils
  66. Upgrade minixmlto-0.0.6 to minixmlto-0.0.7
  67. Install textproc/docbook2mdoc
  68. Upgrade libdrm-2.4.112_1,1 to libdrm-2.4.113,1
  69. Install graphics/mesa-dri
  70. Install devel/llvm13
  71. Install textproc/py-sphinx-markdown-tables@py39
  72. Install graphics/mesa-libs
  73. Install textproc/py-mako@py39
  74. Install www/py-beaker@py39
  75. Install x11/libXv
  76. Install x11/libXvMC
  77. Install graphics/vulkan-headers
  78. Install x11/libinput
  79. Install devel/libudev-devd
  80. Install devel/py-evdev@py39
  81. Install devel/py-pyudev@py39
  82. Install x11/libwacom
  83. Install devel/libgudev
  84. Install x11/xcb-util-image
  85. Install x11/xcb-util
  86. Install x11/xcb-util-keysyms
  87. Install x11/xcb-util-renderutil
  88. Install x11/xcb-util-wm
  89. Install x11-toolkits/qt5-widgets
  90. Install devel/cmake-man
  91. Upgrade libXft-2.3.4 to libXft-2.3.6
  92. Upgrade librsvg2-rust-2.54.1_3 to librsvg2-rust-2.54.5
  93. Upgrade vala-0.48.23_2,1 to vala-0.56.3,1
  94. Upgrade spidermonkey78-78.15.0_3 to spidermonkey78-78.15.0_4
  95. Upgrade vim-9.0.0129 to vim-9.0.0379

cmake-core conflicts with existing cmake package, so remove existing package and resume with the package list output by portmaster.

gohugo build failed - permission denied errors downloading files. Resuming build with portmaster list excluding gohugo.

graphics/libglvnd needed make deinstall then make reinstall; resuming build with portmaster list excluding gohugo.

Build of qt5-gui can't find libGL.so; why do I need qt5-gui? devel/cmake requires devel/cmake-doc requires qt5-help requires qt5-gui. Removing config for cmake to build docs, keeping man pages.

Deleting all qt5 packages. That didn't help, because they are getting pulled into the subsequent run of portmaster. Exploring to see what's requiring their installation.

Removed python 3.8 package because nothing depends on it.

Current package update list:

  1. devel/xdg-utils
  2. textproc/minixmlto
  3. textproc/docbook2mdoc
  4. graphics/mesa-dri
  5. devel/llvm13
  6. textproc/py-sphinx-markdown-tables@py39
  7. graphics/mesa-libs
  8. textproc/py-mako@py39
  9. www/py-beaker@py39
  10. x11/libXv
  11. x11/libXvMC
  12. x11-toolkits/qt5-widgets
  13. x11-fonts/libXft
  14. graphics/librsvg2-rust
  15. lang/vala
  16. lang/spidermonkey78
  17. editors/vim@console

Results in the following proposal for actions:

  1. Install devel/xdg-utils
  2. Upgrade minixmlto-0.0.6 to minixmlto-0.0.7
  3. Install textproc/docbook2mdoc
  4. Install graphics/mesa-dri
  5. Install devel/llvm13
  6. Install textproc/py-sphinx-markdown-tables@py39
  7. Install graphics/mesa-libs
  8. Install textproc/py-mako@py39
  9. Install www/py-beaker@py39
  10. Install x11/libXv
  11. Install x11/libXvMC
  12. Install x11-toolkits/qt5-widgets
  13. Install devel/qt5-buildtools
  14. Install devel/qt5-qmake
  15. Install devel/qt5-core
  16. Install x11-toolkits/qt5-gui
  17. Install devel/qt5-dbus
  18. Install net/qt5-network
  19. Upgrade libXft-2.3.4 to libXft-2.3.6
  20. Upgrade librsvg2-rust-2.54.1_3 to librsvg2-rust-2.54.5
  21. Upgrade vala-0.48.23_2,1 to vala-0.56.3,1
  22. Upgrade spidermonkey78-78.15.0_3 to spidermonkey78-78.15.0_4
  23. Upgrade vim-9.0.0129 to vim-9.0.0379

Try removing packages from the update list to see what's to learn.

Try upgrading packages in portmaster list to eliminate them from consideration.

Upgraded libXft, minixmlto (also installed docbook2mdoc), librsvg2-rust (which upgraded vala), spidermonkey78, vim.

Tried rerunning portmaster -a -d. Only port to be upgraded is www/gohugo from 0.97.3 to 0.104.0; still fails.

Removed not-depended-on packages colord-1.3.5_2, argyllcms-1,9.2_5, libXScrnSaver 1.2.3_2, at-spi2-atk-2.38.0, at-spi2-core-2.44.1, libxkbcommon-1.4.1, freeglut-3.2.1, libXxf96vm-1.1.4_3, xkbcomp-1.4.5, libxkbfile-1.1.0, xcb-util-wm-0.4.1_3, xcb-util-renderutil-0.3.9_1, xcb-util-keysyms-0.4.0_1, xcb-util-image-0.4.0_1, xcb-util-0.4.0_2,1, libXft-2.3.6, libXmu-1.1.3,1, libXtst-1.2.3_2, libXi-1.8,1, libXrandr-1.5.2, libXinerama-1.1.4_2,1, libXcomposite-0.4.5,1, libXpm-3.5.13, libXext-1.3.4,1, bdftopcf-1.1_2, libgsf-1.14.50, gtk-doc-1.33.2_2, hicolor-icon-theme-0.17i, libGLU-9.0.2_1, libXt-1.2.1_1, libSM-1.2.3,1, libXcursor-1.2.0, libXdamage-1.1.5, libepoxy-1.5.9, libXfixes-6.0.0, libXrender-0.9.10_2, libX11-1.7.2,1, libICE-1.0.10,1.

Upgrade from 13.1-RELEASE to 13.1-RELEASE-p1 on 20220820

3 vulnerabilities: curl, gnutils, git

Updating ports from Fri May 20 11:40:17 PDT 2022 to Sat Aug 20 11:47:39 PDT 2022.

Read UPDATING; check if problems with openssh-portable, python going to 3.9 from 3.8, x11-servers/xorg-server (shouldn't have), autoconf.

Ports to upgrade include:

  1. Upgrade boost-jam-1.72.0 to boost-jam-1.80.0
  2. Upgrade pkg-1.17.5_1 to pkg-1.18.4
  3. Upgrade en-freebsd-doc-20220326,1 to en-freebsd-doc-20220702,1
  4. Upgrade docproj-4.1.1 to docproj-4.1.2
  5. Upgrade git-2.36.1 to git-2.37.2
  6. Upgrade libiconv-1.16 to libiconv-1.17
  7. Upgrade autoconf-2.69_3 to autoconf-2.71
  8. Install devel/autoconf-switch
  9. Upgrade texinfo-6.8_2,1 to texinfo-6.8_3,1
  10. Upgrade curl-7.83.1 to curl-7.84.0
  11. Upgrade ca_root_nss-3.77 to ca_root_nss-3.81
  12. Install lang/python39
  13. Upgrade pkgconf-1.8.0,1 to pkgconf-1.8.0_1,1
  14. Upgrade po4a-0.66_1 to po4a-0.67_1
  15. Install devel/p5-Syntax-Keyword-Try
  16. Install devel/p5-XS-Parse-Keyword
  17. Install devel/p5-ExtUtils-CChecker
  18. Upgrade p5-Pod-Parser-1.63_1 to p5-Pod-Parser-1.65
  19. Upgrade rubygem-asciidoctor-pdf-1.6.2 to rubygem-asciidoctor-pdf-2.2.0
  20. Upgrade ruby30-gems-3.3.13 to ruby30-gems-3.3.19
  21. Install math/rubygem-matrix
  22. Upgrade rubygem-rouge-3.28.0 to rubygem-rouge-3.30.0
  23. Upgrade gohugo-0.97.3 to gohugo-0.101.0_3
  24. Upgrade webp-1.2.2 to webp-1.2.3
  25. Upgrade tiff-4.3.0 to tiff-4.4.0
  26. Install archivers/libdeflate
  27. Install lang/go119
  28. Install textproc/libsass
  29. Upgrade go-1.18.2,1 to go-1.19,2
  30. Upgrade libnghttp2-1.47.0 to libnghttp2-1.48.0
  31. Upgrade portmaster-3.21 to portmaster-3.22
  32. Upgrade public_suffix_list-20220430 to public_suffix_list-20220629
  33. Upgrade wayland-protocols-1.25 to wayland-protocols-1.26
  34. Upgrade meson-0.62.1 to meson-0.62.2
  35. Install devel/py-setuptools@py39
  36. Upgrade wayland-1.20.0_3 to wayland-1.21.0
  37. Upgrade libepoll-shim-0.0.20210418 to libepoll-shim-0.0.20220703
  38. Upgrade cmake-3.23.0 to cmake-3.23.3
  39. Upgrade libuv-1.42.0 to libuv-1.44.2
  40. Upgrade rhash-1.4.2 to rhash-1.4.3
  41. Install textproc/py-sphinx
  42. Install devel/py-Jinja2@py39
  43. Install devel/py-babel@py39
  44. Install devel/py-pytz@py39
  45. Install textproc/py-markupsafe@py39
  46. Install devel/py-importlib-metadata@py39
  47. Install devel/py-setuptools_scm@py39
  48. Install devel/py-packaging@py39
  49. Install devel/py-pyparsing@py39
  50. Install textproc/py-tomli@py39
  51. Install devel/py-zipp@py39
  52. Install textproc/py-toml@py39
  53. Install graphics/py-imagesize@py39
  54. Install textproc/py-alabaster@py39
  55. Install textproc/py-docutils@py39
  56. Install textproc/py-pygments@py39
  57. Install textproc/py-snowballstemmer@py39
  58. Install textproc/py-pystemmer@py39
  59. Install lang/cython@py39
  60. Install textproc/py-sphinxcontrib-applehelp@py39
  61. Install textproc/py-sphinxcontrib-devhelp@py39
  62. Install textproc/py-sphinxcontrib-htmlhelp@py39
  63. Install textproc/py-sphinxcontrib-jsmath@py39
  64. Install textproc/py-sphinxcontrib-qthelp@py39
  65. Install textproc/py-sphinxcontrib-serializinghtml@py39
  66. Install www/py-requests@py39
  67. Install dns/py-idna@py39
  68. Install net/py-pysocks@py39
  69. Install net/py-urllib3@py39
  70. Install security/py-certifi@py39
  71. Install security/py-cryptography@py39
  72. Install devel/py-cffi@py39
  73. Install devel/py-pycparser@py39
  74. Install security/py-openssl@py39
  75. Install devel/py-six@py39
  76. Install textproc/py-charset-normalizer@py39
  77. Upgrade libxml2-2.9.13_2 to libxml2-2.9.14
  78. Upgrade autoconf-wrapper-20131203 to autoconf-switch-20220527
  79. Upgrade freetype2-2.12.1 to freetype2-2.12.1_2
  80. Upgrade libglvnd-1.4.0_1 to libglvnd-1.4.0_2
  81. Upgrade nspr-4.33 to nspr-4.34.1
  82. Upgrade pciids-20220415 to pciids-20220518
  83. Upgrade xmlcatmgr-2.2_2 to xmlcatmgr-2.2_3
  84. Upgrade xorgproto-2021.5 to xorgproto-2022.1
  85. Upgrade cairo-1.17.4,3 to cairo-1.17.4_1,3
  86. Upgrade glib-2.70.4_6,2 to glib-2.72.3,2
  87. Upgrade libxcb-1.14_1 to libxcb-1.15
  88. Upgrade xcb-proto-1.14.1 to xcb-proto-1.15.2
  89. Upgrade cups-2.4.1 to cups-2.4.2
  90. Upgrade gnutls-3.7.5 to gnutls-3.7.7
  91. Upgrade libidn2-2.3.2 to libidn2-2.3.3
  92. Upgrade nettle-3.7.3 to nettle-3.8.1
  93. Upgrade gdk-pixbuf2-2.40.0_4 to gdk-pixbuf2-2.42.9
  94. Install textproc/py-docutils
  95. Upgrade ghostscript9-agpl-base-9.56.1 to ghostscript9-agpl-base-9.56.1_3
  96. Upgrade libidn-1.35 to libidn-1.38
  97. Upgrade openjpeg-2.4.0 to openjpeg-2.5.0
  98. Upgrade harfbuzz-4.2.1 to harfbuzz-5.1.0
  99. Upgrade jasper-3.0.3 to jasper-3.0.6
  100. Upgrade libxkbcommon-1.4.0_2 to libxkbcommon-1.4.1
  101. Upgrade openjdk8-8.332.09.1 to openjdk8-8.342.07.1
  102. Upgrade p5-HTTP-Message-6.36 to p5-HTTP-Message-6.37
  103. Upgrade p5-URI-5.10 to p5-URI-5.12
  104. Upgrade p5-XML-Parser-2.44 to p5-XML-Parser-2.46
  105. Upgrade pango-1.50.7 to pango-1.50.9
  106. Install textproc/py-gi-docgen
  107. Install textproc/py-markdown@py39
  108. Install textproc/py-smartypants@py39
  109. Install textproc/py-typogrify@py39
  110. Upgrade polkit-0.120_1 to polkit-0.120_2
  111. Install lang/spidermonkey91
  112. Install devel/autoconf2.13
  113. Upgrade rust-cbindgen-0.23.0_1 to rust-cbindgen-0.24.3_1
  114. Upgrade rust-1.60.0 to rust-1.62.1
  115. Upgrade py38-Babel-2.10.1 to py38-Babel-2.10.3
  116. Upgrade py38-pytz-2021.3,1 to py38-pytz-2022.2.1,1
  117. Upgrade py38-setuptools-57.0.0 to py38-setuptools-63.1.0
  118. Upgrade py38-certifi-2021.10.8 to py38-certifi-2022.6.15
  119. Upgrade py38-cffi-1.15.0_1 to py38-cffi-1.15.1
  120. Upgrade py38-charset-normalizer-2.0.12 to py38-charset-normalizer-2.1.0
  121. Upgrade py38-imagesize-1.3.0 to py38-imagesize-1.4.1
  122. Upgrade py38-libxml2-2.9.13_5 to py38-libxml2-2.9.14
  123. Upgrade py38-requests-2.27.1 to py38-requests-2.28.1
  124. Upgrade py38-urllib3-1.26.9,1 to py38-urllib3-1.26.11,1
  125. Upgrade py38-sphinx-4.3.1,1 to py38-sphinx-4.5.0,1
  126. Upgrade rubygem-addressable-2.8.0 to rubygem-addressable-2.8.0_1
  127. Upgrade rubygem-public_suffix-4.0.7_1 to rubygem-public_suffix-5.0.0
  128. Upgrade spidermonkey78-78.15.0_1 to spidermonkey78-78.15.0_3
  129. Upgrade sqlite3-3.38.2,1 to sqlite3-3.39.0,1
  130. Upgrade w3m-0.5.3.20220429 to w3m-0.5.3.20220429_1
  131. Downgrade autoconf213-2.13.000227_7 to autoconf2.13-2.13
  132. Upgrade binutils-2.37_2,1 to binutils-2.37_4,1
  133. Upgrade boost-libs-1.72.0_7 to boost-libs-1.80.0
  134. Upgrade colord-1.3.5_1 to colord-1.3.5_2
  135. Upgrade highlight-4.2,3 to highlight-4.2_1,3
  136. Upgrade libdrm-2.4.110,1 to libdrm-2.4.112_1,1
  137. Upgrade libgit2-1.3.0 to libgit2-1.3.2
  138. Upgrade libgsf-1.14.49 to libgsf-1.14.50
  139. Upgrade librsvg2-rust-2.54.1_1 to librsvg2-rust-2.54.1_3
  140. Upgrade llvm12-12.0.1_9 to llvm12-12.0.1_10
  141. Install textproc/py-recommonmark@py39
  142. Install textproc/py-CommonMark@py39
  143. Install devel/py-future@py39
  144. Upgrade py38-cython-0.29.28 to py38-cython-0.29.32
  145. Upgrade py38-lxml-4.8.0_2 to py38-lxml-4.9.1
  146. Upgrade subversion-1.14.2_1 to subversion-1.14.2_2
  147. Upgrade vim-8.2.4851 to vim-9.0.0129
  148. Upgrade yelp-tools-40.0_2 to yelp-tools-42.0
  149. Install devel/py-lxml@py39
  150. Upgrade yelp-xsl-40.2_2 to yelp-xsl-42.0

Encountered problem with autoconf, so deleted existing package.

Encountered bizarre "dial" problem building gohugo, so trying without three go packages. Ran portmaster using -i argument, then declined gohugo, which maybe got portmaster to automatically decline all upgrades depending on gohugo.

Encountering multiple Python 3.8/3.9 conflicts. Resolving by running pkg delete on conflicting 3.8 packages.

Completed upgrade of all packages but go, gohugo, and 6 py38 packages. Deleting py38 packages that portmaster wanted to upgrade.

Upgraded go; gohugo still has permission denied problems so not spending any more time on it.

Deleted all py38 packages; keeping python38 because 3 packages (gobject-introspection, meson, ninja) depend on it.

Upgrade from 13.0-RELEASE-p6 to 13.0-RELEASE-p8 on 20220318

3 vulnerabilities.

No relevant notes in UPDATING. 63 ports to upgrade, including:

  1. Upgrade e2fsprogs-libuuid-1.46.4 to e2fsprogs-libuuid-1.46.5
  2. Upgrade en-freebsd-doc-20211029,1 to en-freebsd-doc-20220311,1
  3. Upgrade docproj-4.1 to docproj-4.1.1
  4. Upgrade git-2.34.1 to git-2.35.1
  5. Upgrade curl-7.80.0 to curl-7.81.0
  6. Upgrade ca_root_nss-3.74 to ca_root_nss-3.76
  7. Upgrade python38-3.8.12_1 to python38-3.8.12_2
  8. Upgrade readline-8.1.1 to readline-8.1.2
  9. Upgrade expat-2.4.3 to expat-2.4.7
  10. Upgrade p5-CGI-4.53 to p5-CGI-4.54
  11. Upgrade po4a-0.66 to po4a-0.66_1
  12. Upgrade rubygem-asciidoctor-pdf-1.6.1 to rubygem-asciidoctor-pdf-1.6.2
  13. Upgrade ruby27-gems-3.0.8 to ruby27-gems-3.3.7_1
  14. Upgrade rubygem-rouge-3.27.0 to rubygem-rouge-3.28.0
  15. Upgrade gohugo-0.92.0 to gohugo-0.94.2
  16. Upgrade go-1.17.6,1 to go-1.17.7,1
  17. Upgrade public_suffix_list-20211231 to public_suffix_list-20220228
  18. Upgrade wayland-protocols-1.24 to wayland-protocols-1.25
  19. Upgrade meson-0.60.3 to meson-0.61.2
  20. Upgrade db5-5.3.28_7 to db5-5.3.28_8
  21. Upgrade jpeg-turbo-2.1.1_1 to jpeg-turbo-2.1.3
  22. Upgrade cmake-3.22.1 to cmake-3.22.2
  23. Upgrade libarchive-3.5.2,1 to libarchive-3.6.0,1
  24. Upgrade libedit-3.1.20210216,1 to libedit-3.1.20210910,1
  25. Upgrade libglvnd-1.4.0 to libglvnd-1.4.0_1
  26. Upgrade libinotify-20180201_2 to libinotify-20211018
  27. Upgrade libunwind-20201110 to libunwind-20211201
  28. Upgrade pciids-20211231 to pciids-20220225
  29. Upgrade apr-1.7.0.1.6.1_1 to apr-1.7.0.1.6.1_2
  30. Upgrade gdbm-1.22 to gdbm-1.23
  31. Upgrade ghostscript9-agpl-base-9.52_20 to ghostscript9-agpl-base-9.55.0
  32. Upgrade glib-2.70.2,2 to glib-2.70.4_1,2
  33. Upgrade harfbuzz-3.2.0 to harfbuzz-4.0.1
  34. Upgrade itstool-2.0.6 to itstool-2.0.7
  35. Upgrade libgd-2.3.1,1 to libgd-2.3.3,1
  36. Upgrade webp-1.2.1 to webp-1.2.2
  37. Upgrade libgpg-error-1.43 to libgpg-error-1.44
  38. Upgrade libxkbcommon-1.3.1 to libxkbcommon-1.4.0
  39. Upgrade bison-3.7.6,1 to bison-3.8.2,1
  40. Upgrade openjdk8-8.312.07.1 to openjdk8-8.322.06.1
  41. Upgrade p5-HTTP-Message-6.35 to p5-HTTP-Message-6.36
  42. Upgrade p5-Text-CharWidth-0.04_1 to p5-Text-CharWidth-0.04_2
  43. Upgrade pango-1.50.3 to pango-1.50.5
  44. Upgrade help2man-1.48.5 to help2man-1.49.1
  45. Upgrade pinentry-1.1.1 to pinentry-1.2.0
  46. Upgrade pinentry-curses-1.1.1 to pinentry-curses-1.2.0
  47. Upgrade polkit-0.120 to polkit-0.120_1
  48. Upgrade spidermonkey78-78.9.0_5 to spidermonkey78-78.9.0_7
  49. Upgrade rust-cbindgen-0.20.0_5 to rust-cbindgen-0.20.0_7
  50. Upgrade rust-1.58.0 to rust-1.59.0
  51. Upgrade py38-markupsafe-2.0.1 to py38-markupsafe-2.1.0
  52. Upgrade py38-pygments-2.7.2 to py38-pygments-2.9.0
  53. Upgrade py38-pyparsing-3.0.6 to py38-pyparsing-3.0.7
  54. Upgrade py38-urllib3-1.26.7,1 to py38-urllib3-1.26.8,1
  55. Upgrade rubygem-public_suffix-4.0.6_16 to rubygem-public_suffix-4.0.6_18
  56. Upgrade libdrm-2.4.109,1 to libdrm-2.4.110,1
  57. Upgrade librsvg2-rust-2.52.5_1 to librsvg2-rust-2.52.7_1
  58. Upgrade py38-cython-0.29.26 to py38-cython-0.29.28
  59. Upgrade py38-lxml-4.7.1 to py38-lxml-4.8.0
  60. Upgrade py38-setuptools_scm-6.3.2_1 to py38-setuptools_scm-6.4.2
  61. Upgrade scons-py38-4.2.0 to scons-py38-4.3.0
  62. Upgrade vim-8.2.3745 to vim-8.2.4485
  63. Upgrade zstd-1.5.1 to zstd-1.5.2

First portmaster run got through 35 ports:

  1. Upgrade of e2fsprogs-libuuid-1.46.4 to e2fsprogs-libuuid-1.46.5
  2. Upgrade of ca_root_nss-3.74 to ca_root_nss-3.76
  3. Upgrade of curl-7.80.0 to curl-7.81.0
  4. Upgrade of readline-8.1.1 to readline-8.1.2
  5. Upgrade of python38-3.8.12_1 to python38-3.8.12_2
  6. Upgrade of expat-2.4.3 to expat-2.4.7
  7. Upgrade of p5-CGI-4.53 to p5-CGI-4.54
  8. Upgrade of git-2.34.1 to git-2.35.1
  9. Upgrade of po4a-0.66 to po4a-0.66_1
  10. Upgrade of ruby27-gems-3.0.8 to ruby27-gems-3.3.7_1
  11. Upgrade of rubygem-asciidoctor-pdf-1.6.1 to rubygem-asciidoctor-pdf-1.6.2
  12. Upgrade of rubygem-rouge-3.27.0 to rubygem-rouge-3.28.0
  13. Upgrade of go-1.17.6,1 to go-1.17.7,1
  14. Upgrade of gohugo-0.92.0 to gohugo-0.94.2
  15. Upgrade of docproj-4.1 to docproj-4.1.1
  16. Upgrade of en-freebsd-doc-20211029,1 to en-freebsd-doc-20220311,1
  17. Upgrade of public_suffix_list-20211231 to public_suffix_list-20220228
  18. Upgrade of meson-0.60.3 to meson-0.61.2
  19. Upgrade of wayland-protocols-1.24 to wayland-protocols-1.25
  20. Upgrade of db5-5.3.28_7 to db5-5.3.28_8
  21. Upgrade of libarchive-3.5.2,1 to libarchive-3.6.0,1
  22. Upgrade of cmake-3.22.1 to cmake-3.22.2
  23. Upgrade of jpeg-turbo-2.1.1_1 to jpeg-turbo-2.1.3
  24. Upgrade of libedit-3.1.20210216,1 to libedit-3.1.20210910,1
  25. Upgrade of libglvnd-1.4.0 to libglvnd-1.4.0_1
  26. Upgrade of libinotify-20180201_2 to libinotify-20211018
  27. Upgrade of libunwind-20201110 to libunwind-20211201
  28. Upgrade of pciids-20211231 to pciids-20220225
  29. Upgrade of gdbm-1.22 to gdbm-1.23
  30. Upgrade of apr-1.7.0.1.6.1_1 to apr-1.7.0.1.6.1_2
  31. Upgrade of ghostscript9-agpl-base-9.52_20 to ghostscript9-agpl-base-9.55.0
  32. Upgrade of glib-2.70.2,2 to glib-2.70.4_1,2
  33. Upgrade of harfbuzz-3.2.0 to harfbuzz-4.0.1
  34. Upgrade of itstool-2.0.6 to itstool-2.0.7
  35. Upgrade of webp-1.2.1 to webp-1.2.2

After that, failure to download libgd archive.

Downloaded and loaded archive; 22 ports remaining.

Port upgrade completed; no vulnerabilities. Way easier than previous upgrades (only one archive to download).

Upgrade from 13.0-RELEASE-p5 to 13.0-RELEASE-p6 from 20220122 to 20220123

No vulnerabilities.

Don't see any relevant notes in UPDATING.

35 ports to upgrade, including:

  1. Upgrade go-1.17.5,1 to go-1.17.6,1
  2. Upgrade pkg-1.17.5 to pkg-1.17.5_1
  3. portmaster-3.19_31 to portmaster-3.20
  4. public_suffix_list-20211126 to public_suffix_list-20211231
  5. ca_root_nss-3.71 to ca_root_nss-3.74
  6. expat-2.4.1 to expat-2.4.3
  7. gohugo-0.90.1 to gohugo-0.92.0
  8. libglvnd-1.3.4 to libglvnd-1.4.0
  9. meson-0.60.2 to meson-0.60.3
  10. pciids-20211124 to pciids-20211231
  11. utf8proc-2.6.1_1 to utf8proc-2.7.0
  12. bash-5.1.12 to bash-5.1.16
  13. libthai-0.1.28_1 to libthai-0.1.29
  14. libunistring-0.9.10_1 to libunistring-1.0
  15. p11-kit-0.24.0 to p11-kit-0.24.1
  16. p5-GSSAPI-0.28_1 to p5-GSSAPI-0.28_2
  17. p5-IO-Socket-SSL-2.072 to p5-IO-Socket-SSL-2.074
  18. pango-1.48.7 to pango-1.50.3
  19. po4a-0.65 to po4a-0.66
  20. py38-sphinx-3.5.2_1,1 to py38-sphinx-4.3.1,1
  21. py38-tomli-1.2.2 to py38-tomli-1.2.3
  22. ruby-2.7.5,1 to ruby-2.7.5_1,1
  23. rubygem-css_parser-1.10.0 to rubygem-css_parser-1.11.0
  24. rubygem-pdf-reader-2.5.0 to rubygem-pdf-reader-2.8.0
  25. rubygem-public_suffix-4.0.6_15 to rubygem-public_suffix-4.0.6_16
  26. rubygem-rouge-3.26.1 to rubygem-rouge-3.27.0
  27. rust-1.57.0 to rust-1.58.0
  28. spidermonkey78-78.9.0_4 to spidermonkey78-78.9.0_5
  29. rust-cbindgen-0.20.0_4 to rust-cbindgen-0.20.0_5
  30. sqlite3-3.35.5_4,1 to sqlite3-3.37.2,1
  31. w3m-0.5.3.20211026 to w3m-0.5.3.20211026_1
  32. docproj-4.0 to docproj-4.1
  33. librsvg2-rust-2.52.4_1 to librsvg2-rust-2.52.5_1
  34. py38-cython-0.29.24 to py38-cython-0.29.26
  35. zstd-1.5.0 to zstd-1.5.1

Encountering the usual problems downloading; nothing helpful in the FreeBSD forums (somebody else having same problem, getting no useful responses from other forum members). Not all download files are in distcache.FreeBSD.org; none seem to be available from codeload.github.com by the ports downloader, even though I download them from there using a browser on a different computer.

Here's what I typically see:

=>kyokomi-emoji-v2.2.8_GH0.tar.gz doesn't seem to exist in /usr/ports/distfiles/gohugo.
=> Attempting to fetch https://codeload.github.com/kyokomi/emoji/tar.gz/v2.2.8?dummy=/kyokomi-emoji-v2.2.8_GH0.tar.gz
fetch: https://codeload.github.com/kyokomi/emoji/tar.gz/v2.2.8?dummy=/kyokomi-emoji-v2.2.8_GH0.tar.gz: Permission denied
=> Attempting to fetch http://distcache.FreeBSD.org/ports-distfiles/gohugo/kyokomi-emoji-v2.2.8_GH0.tar.gz
fetch: http://distcache.FreeBSD.org/ports-distfiles/gohugo/kyokomi-emoji-v2.2.8_GH0.tar.gz: Not Found
=> Couldn't fetch it - please try to retrieve this
=> port manually into /usr/ports/distfiles/gohugo and try again.
*** Error code 1

Upgrade from 13.0-RELEASE-p4 to 13.0-RELEASE-p5 from 20211222 to 20211225

Ran freebsd-update fetch and install, and uname -a and MOTD still says p4.

Rebuilding ports to pick up fixes for security vulnerabilities.

Upgrading 74 ports.

  1. Upgrade go-1.17.2,1 to go-1.17.5,1
  2. Upgrade pkg-1.17.3 to pkg-1.17.5
  3. Upgrade libnghttp2-1.45.1 to libnghttp2-1.46.0
  4. Upgrade pcre2-10.37 to pcre2-10.39
  5. Upgrade automake-1.16.4 to automake-1.16.5
  6. Upgrade public_suffix_list-20210929 to public_suffix_list-20211126
  7. Upgrade wayland-protocols-1.23 to wayland-protocols-1.24
  8. Upgrade meson-0.59.2 to meson-0.60.2
  9. Upgrade wayland-1.19.0_1 to wayland-1.20.0
  10. Upgrade freetype2-2.11.0 to freetype2-2.11.1
  11. Upgrade cmake-3.21.4 to cmake-3.22.1
  12. Upgrade libarchive-3.5.1,1 to libarchive-3.5.2,1
  13. Upgrade jsoncpp-1.9.4 to jsoncpp-1.9.5
  14. Upgrade curl-7.79.1 to curl-7.80.0
  15. Upgrade py38-sphinx-3.5.2,1 to py38-sphinx-3.5.2_1,1
  16. Upgrade py38-packaging-21.0 to py38-packaging-21.3
  17. Upgrade py38-pyparsing-2.4.7 to py38-pyparsing-3.0.6
  18. Upgrade py38-imagesize-1.2.0 to py38-imagesize-1.3.0
  19. Upgrade py38-docutils-0.17.1 to py38-docutils-0.17.1,1
  20. Upgrade py38-snowballstemmer-2.1.0 to py38-snowballstemmer-2.2.0
  21. Upgrade py38-sphinxcontrib-htmlhelp-1.0.3 to py38-sphinxcontrib-htmlhelp-2.0.0
  22. Upgrade py38-sphinxcontrib-serializinghtml-1.1.4 to py38-sphinxcontrib-serializinghtml-1.1.5
  23. Upgrade gohugo-0.88.1 to gohugo-0.90.1
  24. Upgrade icu-70.1,1 to icu-70.1_1,1
  25. Upgrade java-zoneinfo-2021.b to java-zoneinfo-2021.e
  26. Upgrade javavmwrapper-2.7.7 to javavmwrapper-2.7.8
  27. Upgrade jpeg-turbo-2.1.1 to jpeg-turbo-2.1.1_1
  28. Upgrade libpaper-1.1.24.4 to libpaper-1.1.28
  29. Upgrade libssh2-1.9.0_3,3 to libssh2-1.10.0,3
  30. Upgrade nspr-4.32 to nspr-4.33
  31. Upgrade pciids-20210930 to pciids-20211124
  32. Upgrade tcl86-8.6.11_2 to tcl86-8.6.12
  33. Upgrade xorgproto-2021.4 to xorgproto-2021.5
  34. Upgrade bash-5.1.8 to bash-5.1.12
  35. Upgrade git-2.33.1 to git-2.34.1
  36. Upgrade glib-2.70.1,2 to glib-2.70.2,2
  37. Upgrade harfbuzz-3.0.0 to harfbuzz-3.2.0
  38. Upgrade gobject-introspection-1.66.1,1 to gobject-introspection-1.70.0,1
  39. Upgrade libXfixes-5.0.3_2 to libXfixes-6.0.0
  40. Upgrade libXi-1.7.10,1 to libXi-1.8,1
  41. Upgrade libgpg-error-1.42 to libgpg-error-1.43
  42. Upgrade libtasn1-4.17.0 to libtasn1-4.18.0
  43. Upgrade openjdk8-8.302.08.1_2 to openjdk8-8.312.07.1
  44. Upgrade p5-HTTP-Message-6.33 to p5-HTTP-Message-6.35
  45. Upgrade po4a-0.64 to po4a-0.65
  46. Upgrade polkit-0.119 to polkit-0.120
  47. Upgrade spidermonkey78-78.9.0_3 to spidermonkey78-78.9.0_4
  48. Upgrade rust-cbindgen-0.20.0_3 to rust-cbindgen-0.20.0_4
  49. Upgrade rust-1.56.0 to rust-1.57.0
  50. Upgrade py38-importlib-metadata-4.7.1 to py38-importlib-metadata-4.8.1
  51. Upgrade py38-setuptools_scm-5.0.2 to py38-setuptools_scm-6.3.2_1
  52. Install textproc/py-tomli@py38
  53. Upgrade py38-pycparser-2.20 to py38-pycparser-2.21
  54. Upgrade ruby-2.7.4,1 to ruby-2.7.5,1
  55. Upgrade rubygem-public_suffix-4.0.6_13 to rubygem-public_suffix-4.0.6_15
  56. Upgrade shared-mime-info-2.0_1 to shared-mime-info-2.0_2
  57. Upgrade w3m-0.5.3.20210905 to w3m-0.5.3.20211026
  58. Upgrade xkeyboard-config-2.32 to xkeyboard-config-2.34
  59. Upgrade bash-completion-2.11,2 to bash-completion-2.11_1,2
  60. Upgrade binutils-2.37_1,1 to binutils-2.37_2,1
  61. Upgrade desktop-file-utils-0.26 to desktop-file-utils-0.26_1
  62. Upgrade gnupg-2.3.3 to gnupg-2.3.3_2
  63. Upgrade libXft-2.3.3 to libXft-2.3.4
  64. Upgrade libatomic_ops-7.6.10 to libatomic_ops-7.6.12
  65. Upgrade libdrm-2.4.107_1,1 to libdrm-2.4.109,1
  66. Upgrade libgit2-1.1.1 to libgit2-1.3.0
  67. Install www/http-parser
  68. Upgrade librsvg2-rust-2.52.3 to librsvg2-rust-2.52.4_1
  69. Upgrade llvm12-12.0.1_6 to llvm12-12.0.1_7
  70. Upgrade py38-lxml-4.6.3 to py38-lxml-4.7.1
  71. Upgrade vim-8.2.3458 to vim-8.2.3745
  72. Upgrade xkbcomp-1.4.4 to xkbcomp-1.4.5

Same thing as earlier: need to download at least one package file manually, then scp it to the FreeBSD box.

Copied freebsd-pkg-1.17.5_GH0.tar.gz to /usr/ports/distfiles, restarted.

So far, need to download 3 out of 3 archive files for 3 ports.

Not every port archive fails to download; just almost all.

gohugo port is taking forever because of the large number of archives that must be individually downloaded (not all of them, but most).

Upgrade from 13.0-RELEASE-p4 to 13.0-RELEASE-p4 on 20211030

Nothing to do with OS, just with ports. The less time between ports updates, the more likelihood of an easier update process.

On 20210902, editors/vim reworked. vim package now console-only, which is what I want. Also, only python3 bindings, no perl, ruby, python 2.

Ran pkg audit -F, portsnap fetch update, read /usr/ports/UPDATING, running portmaster -a -d.

78 ports to upgrade.

  1. Upgrade bootstrap-openjdk8-r450802_1 to bootstrap-openjdk8-r450802_2
  2. Upgrade pkg-1.17.1 to pkg-1.17.3
  3. Upgrade dialog4ports-0.1.6 to dialog4ports-0.1.6_1
  4. Upgrade en-freebsd-doc-20210125,1 to en-freebsd-doc-20211029,1
  5. Upgrade python38-3.8.11 to python38-3.8.12_1
  6. Upgrade pkgconf-1.7.4,1 to pkgconf-1.8.0,1
  7. Upgrade go-1.17,1 to go-1.17.2,1
  8. Upgrade libnghttp2-1.44.0 to libnghttp2-1.45.1
  9. Upgrade public_suffix_list-20210726 to public_suffix_list-20210929
  10. Upgrade tcl86-8.6.11_1 to tcl86-8.6.11_2
  11. Upgrade alsa-lib-1.2.2 to alsa-lib-1.2.2_1
  12. Upgrade automake-1.16.3 to automake-1.16.4
  13. Upgrade boehm-gc-8.0.4_1 to boehm-gc-8.0.6
  14. Upgrade ca_root_nss-3.69 to ca_root_nss-3.71
  15. Upgrade freetype2-2.10.4 to freetype2-2.11.0
  16. Upgrade cmake-3.21.0 to cmake-3.21.4
  17. Upgrade libuv-1.41.0 to libuv-1.42.0
  18. Upgrade curl-7.78.0 to curl-7.79.1
  19. Upgrade fribidi-1.0.10 to fribidi-1.0.11
  20. Upgrade meson-0.58.1 to meson-0.59.2
  21. Upgrade gohugo-0.87.0 to gohugo-0.88.1
  22. Upgrade icu-69.1,1 to icu-70.1,1
  23. Upgrade java-zoneinfo-2021.a to java-zoneinfo-2021.b
  24. Upgrade jpeg-turbo-2.0.6 to jpeg-turbo-2.1.1
  25. Upgrade libglvnd-1.3.3 to libglvnd-1.3.4
  26. Upgrade pciids-20210725 to pciids-20210930
  27. Upgrade pcre-8.44 to pcre-8.45
  28. Upgrade poppler-data-0.4.10 to poppler-data-0.4.11
  29. Upgrade wayland-protocols-1.21 to wayland-protocols-1.23
  30. Upgrade adwaita-icon-theme-3.38.0 to adwaita-icon-theme-40.1.1
  31. Upgrade glib-2.68.3,2 to glib-2.70.1,2
  32. Upgrade gtk-update-icon-cache-3.24.26 to gtk-update-icon-cache-3.24.26_1
  33. Upgrade fontconfig-2.13.94,1 to fontconfig-2.13.94_1,1
  34. Upgrade gdbm-1.20 to gdbm-1.22
  35. Upgrade ghostscript9-agpl-base-9.52_19 to ghostscript9-agpl-base-9.52_20
  36. Upgrade git-2.32.0_1 to git-2.33.1
  37. Upgrade groff-1.22.4_3 to groff-1.22.4_4
  38. Upgrade gsettings-desktop-schemas-3.38.0 to gsettings-desktop-schemas-41.0
  39. Upgrade gtk3-3.24.29_1 to gtk3-3.24.30
  40. Upgrade librsvg2-rust-2.50.3_4 to librsvg2-rust-2.52.3
  41. Upgrade rust-1.53.0 to rust-1.56.0
  42. Upgrade harfbuzz-2.9.0 to harfbuzz-3.0.0
  43. Upgrade libxkbcommon-1.3.0 to libxkbcommon-1.3.1
  44. Upgrade openjdk8-8.302.08.1 to openjdk8-8.302.08.1_2
  45. Upgrade p5-HTML-Parser-3.76 to p5-HTML-Parser-3.76_1
  46. Upgrade p5-URI-5.09 to p5-URI-5.10
  47. Upgrade p5-IO-HTML-1.001_1 to p5-IO-HTML-1.004
  48. Upgrade p5-Mozilla-CA-20200520 to p5-Mozilla-CA-20211001
  49. Upgrade po4a-0.63_2 to po4a-0.64
  50. Upgrade py38-Jinja2-2.11.2_1 to py38-Jinja2-3.0.1
  51. Upgrade py38-markupsafe-1.1.1_1 to py38-markupsafe-2.0.1
  52. Upgrade py38-certifi-2021.5.30 to py38-certifi-2021.10.8
  53. Upgrade py38-cffi-1.14.6 to py38-cffi-1.15.0
  54. Upgrade py38-importlib-metadata-3.3.0_1 to py38-importlib-metadata-4.7.1
  55. Upgrade py38-setuptools_scm-4.1.2_1 to py38-setuptools_scm-5.0.2
  56. Upgrade py38-pytz-2021.1,1 to py38-pytz-2021.3,1
  57. Upgrade py38-urllib3-1.26.6,1 to py38-urllib3-1.26.7,1
  58. Upgrade rubygem-asciidoctor-pdf-1.6.0 to rubygem-asciidoctor-pdf-1.6.1
  59. Upgrade rubygem-public_suffix-4.0.6_11 to rubygem-public_suffix-4.0.6_13
  60. Upgrade rubygem-rouge-3.26.0 to rubygem-rouge-3.26.1
  61. Upgrade shared-mime-info-2.0 to shared-mime-info-2.0_1
  62. Upgrade spidermonkey78-78.7.0_5 to spidermonkey78-78.9.0_3
  63. Upgrade rust-cbindgen-0.20.0 to rust-cbindgen-0.20.0_3
  64. Upgrade sqlite3-3.35.5_3,1 to sqlite3-3.35.5_4,1
  65. Upgrade utf8proc-2.6.1 to utf8proc-2.6.1_1
  66. Upgrade w3m-0.5.3.20210424 to w3m-0.5.3.20210905
  67. Upgrade webp-1.2.0 to webp-1.2.1
  68. Upgrade binutils-2.37,1 to binutils-2.37_1,1
  69. Upgrade boost-libs-1.72.0_5 to boost-libs-1.72.0_6
  70. Upgrade gnupg-2.3.2 to gnupg-2.3.3
  71. Upgrade help2man-1.48.3 to help2man-1.48.5
  72. Upgrade libdrm-2.4.106,1 to libdrm-2.4.107_1,1
  73. Upgrade libgit2-1.1.0 to libgit2-1.1.1
  74. Upgrade llvm12-12.0.1_2 to llvm12-12.0.1_6
  75. Upgrade p5-Encode-3.10 to p5-Encode-3.16
  76. Upgrade vim-8.2.3081 to vim-8.2.3458

Don't know why count doesn't match.

This is going really smoothly, got to about half way through the ports to rebuild. Failed building gtk3 at #41.

gtk3-3.24.30: Needs cairo with X11 support enabled.

I don't think I want to support X11.

Why do I need gtk? Why do I need cairo?

cairo required by librsvg-rust, pango, vim, gtk3. gtk3 required by vim. vim is not working: ld-elf.so.1: /usr/local/lib/libgtk-3.so.0: Undefined symbol "epoxy_glXGetClientString". In addition, vim looks as if it has had a major rework, so I may be able to remove some unnecessary X11 dependencies this way.

Try deleting vim, gtk3 packages. That worked - deleted without conflict.

Try running portmaster on leftover list of ports shown by previous portmaster run, except don't build gtk3.

Working so far; built lib4rsvg2-rust and now working on rust.

Completed; all remaining packages upgraded and vim installed and it now works.

Deleted following packages:

  1. p5-Encode
  2. gsettings-desktop-schemas
  3. adwaita-icon-theme
  4. gtk-update-icon-cache
  5. p5-subversion

Upgrade from 12.2p5 to 12.2-RELEASE-p7 from 20210818 to 20210822

101 ports to install or update.

The lang/perl5.28 port has been deleted: Has expired: Support ends three years after .0 release. Please upgrade to a more recent version of Perl.

Lots of dependencies on this perl. How to remove it without removing dependencies? pkg delete -f perl5-5.28.3_1

Now, the portmaster command seems to get through deciding what to build.

Having trouble downloading package archives again.

Downloaded

Build got some results:
The following actions were performed:
Upgrade of pkg-1.16.3 to pkg-1.17.1
Installation of lang/perl5.32 (perl5-5.32.1_1)

Next failure: Can't locate Locale/gettext.pm in @INC (you may need to install the Locale::gettext module) (@INC contains: /usr/local/lib/perl5/site_perl/mach/5.32 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.32/mach /usr/local/lib/perl5/5.32 .) at /usr/local/bin/help2man line 30.

Trying uninstall of devel/p5-Locale-gettext (1.07), then restart portmaster. That failed at the same place. Tried reinstalling it by running make install clean, then restart portmaster; that worked.

The following actions were performed:
Upgrade of texinfo-6.7_5,1 to texinfo-6.8,1
Upgrade of e2fsprogs-libuuid-1.46.2 to e2fsprogs-libuuid-1.46.3

Got to failure to build lang/go due to archive download failure.

Resolved and resumed: The following actions were performed:
Upgrade of go-1.16.5,1 to go-1.17,1
Upgrade of portmaster-3.19_28 to portmaster-3.19_31

publicsuffix-list build failed to download its archive.

Downloaded archive manually, reran; got: The following actions were performed:
Upgrade of public_suffix_list-20210430 to public_suffix_list-20210726

Failed to build security/ca_root_nss due to download.

Manual download fixed it; now: The following actions were performed:
Upgrade of ca_root_nss-3.63 to ca_root_nss-3.69

Failed to build python. Can't download Python-3.8.11.tar.xz, so manually downloaded it. Built OK. The following actions were performed:
Upgrade of python38-3.8.10 to python38-3.8.11

Failed to build icu-69.1,1 due to download failure of its archive. Manual download successful; The following actions were performed:
Upgrade of icu-68.2,1 to icu-69.1,1
Upgrade of libxml2-2.9.10_4 to libxml2-2.9.12

Failed to build nspr-4.32 due to download failure of archive. Manual download resulted in: The following actions were performed:
Upgrade of nspr-4.31 to nspr-4.32

Failed to build pciids-20210725 due to download failure of archive. Manual download resulted in: The following actions were performed:
Upgrade of pciids-20210426 to pciids-20210725

Failed to build curl-7.78.0 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of curl-7.76.1 to curl-7.78.0
Upgrade of dbus-1.12.20_4 to dbus-1.12.20_5

Failed to build meson-0.58.1 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of meson-0.57.1_1 to meson-0.58.1
Upgrade of libxslt-1.1.34_1 to libxslt-1.1.34_2

Failed to build glib-2.68.3,2 due to archive download failure. Manual download succeeded.

Failed to build dbus-glib-0.112 due to archive download failure. Manual download succeeded: The following actions were performed:
Upgrade of dbus-glib-0.110 to dbus-glib-0.112

Failed to build fontconfig-2.13.94,1 due to archive download failure. Manual download succeeded: The following actions were performed:
Upgrade of fontconfig-2.13.93,1 to fontconfig-2.13.94,1
Upgrade of gdbm-1.19 to gdbm-1.20
Upgrade of ghostscript9-agpl-base-9.52_18 to ghostscript9-agpl-base-9.52_19
Upgrade of libidn2-2.3.1 to libidn2-2.3.2
Upgrade of nettle-3.7.2_2 to nettle-3.7.3

Failed to build p11-kit-0.24.0 due to archive download failure. Manual download resulted in: The following actions were performed: Upgrade of p11-kit-0.23.22_1 to p11-kit-0.24.0

Failed to build gnutls-3.6.16 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of gnutls-3.6.15 to gnutls-3.6.1

Failed to build harfbuzz-2.8.2 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of harfbuzz-2.8.1 to harfbuzz-2.8.2
Upgrade of rhash-1.4.1 to rhash-1.4.2

Failed to build cmake-3.21.0 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of cmake-3.20.3 to cmake-3.21.0

Failed to build jasper-2.0.33 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of jasper-2.0.32 to jasper-2.0.33
Upgrade of libX11-1.7.1,1 to libX11-1.7.2,1

Failed to build libdrm-2.4.107,1 due to archive download failure. Manual download resulted in failure - downloaded archive not found (apparently deleted). Navigated to graphics/libdrm and ran make install; that seems OK, except another file to download. Downloading that patch file got make install to work, except refused to install because another version already installed. Ran make deinstall, then make reinstall.

Failed to build libdrm-2.4.107,1 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of m4-1.4.18_1,1 to m4-1.4.19,1

Failed to build mpfr-4.1.0_1 due to archive download failure. Moved on from there; forgot how it went.

Failed to build binutils-2.37,1 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of binutils-2.33.1_4,1 to binutils-2.37,1
Installation of lang/lua53 (lua53-5.3.6)

Failed to build py38-future-0.18.2 due to conflicting package.
Installing py38-future-0.18.2...
pkg-static: py38-future-0.18.2 conflicts with py37-future-0.18.2 (installs files into the same place). Problematic file: /usr/local/bin/futurize

Try 1) pkg delete py37-future-0.18.2 which also deleted py-CommonMark 2) make deinstall and 3) make reinstall. Worked - resuming.

The following actions were performed:
Installation of textproc/py-CommonMark@py38 (py38-CommonMark-0.9.1)
Installation of textproc/py-recommonmark@py38 (py38-recommonmark-0.5.0_2)

Failed to build llvm12-12.0.1_3 due to archive download failure. Manual download resulted in: The following actions were performed:
Installation of devel/llvm12 (llvm12-12.0.1_3)

Failed to build libglvnd-1.3.3 due to archive download failure. Manual download resulted in: Installing libglvnd-1.3.3...
pkg-static: libglvnd-1.3.3 conflicts with mesa-libs-20.2.3 (installs files into the same place). Problematic file: /usr/local/include/EGL/egl.h

Running pkg delete mesa-libs-20.2.3 to clear conflict. That removed: cairo: 1.17.4,3 libGLU: 9.0.1 mesa-libs: 20.2.3 pango: 1.48.4_1

Manual download resulted in: The following actions were performed:
Upgrade of openjdk8-8.292.10.1 to openjdk8-8.302.08.1
Upgrade of p5-CGI-4.52 to p5-CGI-4.53
Upgrade of p5-Encode-3.10 to p5-Encode-3.11
Upgrade of p5-HTTP-Message-6.32 to p5-HTTP-Message-6.33
Upgrade of p5-IO-Socket-SSL-2.071 to p5-IO-Socket-SSL-2.072

Failed to build python37-3.7.11 due to archive download failure. Shouldn't be building Python 3.7 since already built Python 3.8. pkg delete py37-alabaster-0.7.6 since shouldn't have 3.7 dependencies. There are multiple py37 packages, so delete them all. pkg delete py37-certifi-2020.12.5 python37-3.7.10_1 py37-cffi-1.14.5 py37-imagesize-1.1.0 py37-libxml2-2.9.10_3 py37-packaging-20.9 py37-pystemmer-2.0.0.1 py37-pytz-2020.5,1 py37-six-1.15.0 py37-snowballstemmer-1.2.1 py37-urllib3-1.25.11,1 python36-3.6.13 scons-py37-3.1.2

Failed to build py38-certifi-2021.5.30 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of py38-certifi-2020.12.5 to py38-certifi-2021.5.30

Failed to build py38-cffi-1.14.6 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of py38-cffi-1.14.5 to py38-cffi-1.14.6

Failed to build py38-packaging-21.0 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of py38-packaging-20.9 to py38-packaging-21.0

Failed to build py38-urllib3-1.26.6,1 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of py38-urllib3-1.25.11,1 to py38-urllib3-1.26.6,1

Failed to build ruby-2.7.4,1 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of ruby-2.7.3_1,1 to ruby-2.7.4,1

Failed to build rubygem-addressable-2.8.0 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of rubygem-public_suffix-4.0.6_8 to rubygem-public_suffix-4.0.6_11
Upgrade of rubygem-addressable-2.7.0 to rubygem-addressable-2.8.0

Failed to build rubygem-ascii85-1.1.0 due to archive download failure. Removed Ruby 2.6 package since already have 2.7 Manual download resulted in: The following actions were performed:
Upgrade of rubygem-ascii85-1.0.3 to rubygem-ascii85-1.1.0

Failed to build rubygem-asciidoctor-2.0.16 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of rubygem-asciidoctor-2.0.15 to rubygem-asciidoctor-2.0.16

Failed to build rubygem-concurrent-ruby-1.1.9 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of rubygem-concurrent-ruby-1.1.8 to rubygem-concurrent-ruby-1.1.9

Failed to build rubygem-css_parser-1.10.0 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of rubygem-css_parser-1.9.0 to rubygem-css_parser-1.10.0

Failed to build rubygem-pdf-reader-2.5.0 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of rubygem-pdf-reader-2.4.2 to rubygem-pdf-reader-2.5.0

Failed to build rubygem-treetop-1.6.11 due to archive download failure. Manual download resulted in: The following actions were performed: Upgrade of rubygem-treetop-1.6.10 to rubygem-treetop-1.6.11 Installation of devel/ninja (ninja-1.10.2,2)

Failed to build rust-1.53.0 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of rust-1.52.1 to rust-1.53.0
Upgrade of sqlite3-3.35.5_1,1 to sqlite3-3.35.5_3,1

Failed to build GentiumPlus-6.001 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of GentiumPlus-5.000_1 to GentiumPlus-6.001
Upgrade of boost-libs-1.72.0_3 to boost-libs-1.72.0_5
Upgrade of fop-2.5 to fop-2.6
Upgrade of git-2.31.1_1 to git-2.32.0_1
Upgrade of highlight-3.60,3 to highlight-4.1,3
Installation of textproc/p5-Pod-Parser (p5-Pod-Parser-1.63_1)
Upgrade of po4a-0.63_1 to po4a-0.63_2

Failed to build py38-cython-0.29.24 due to archive download failure. Manual download resulted in: The following actions were performed:
Upgrade of py38-cython-0.29.23 to py38-cython-0.29.24
Upgrade of py38-gi-docgen-2021.5 to py38-gi-docgen-2021.5_1
Re-installation of ruby-2.7.4,1

Failed to build rust-cbindgen-0.20.0 due to archive download failure. Manual download of a lot of crate files and make install/uninstall/reinstall succeeded.

Next run resulted in: The following actions were performed:
Re-installation of ruby-2.7.4,1
Failed to build spidermonkey78-78.7.0_5 due to archive download failure. portmaster keeps wanting me to reinstall ruby. Results: The following actions were performed:
Re-installation of ruby-2.7.4,1
Upgrade of spidermonkey78-78.4.0_1 to spidermonkey78-78.7.0_5
Re-installation of swig-4.0.2
Installation of devel/meson (meson-0.58.1)

Failed to build yelp-xsl-40.2 due to archive download failure. Still wants to reinstall ruby and swig. Manual download resulted in: The following actions were performed:
Re-installation of ruby-2.7.4,1
Re-installation of swig-4.0.2
Upgrade of yelp-xsl-3.38.3 to yelp-xsl-40.2

Failed to build yelp-tools-40.0 due to archive download failure. Manual download resulted in: The following actions were performed:
Re-installation of ruby-2.7.4,1
Re-installation of swig-4.0.2
Upgrade of yelp-tools-3.38.0 to yelp-tools-40.0

Upgrade completed.

Runs of portmaster -a -d still indicate that reinstallation of ruby and swig should be done. Why?

Look at swig versions and try deleting old one(s).

# pkg info | grep swig
swig-4.0.2 Generate wrappers for calling C/C++ code from other languages
swig30-3.0.12_1 Generate wrappers for calling C/C++ code from other languages
# pkg delete swig30-3.0.12_1
Updating database digests format: 100%
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
swig30: 3.0.12_1

Number of packages to be removed: 1

The operation will free 19 MiB.

Proceed with deinstalling packages? [y/N]: y
[1/1] Deinstalling swig30-3.0.12_1...
[1/1] Deleting files for swig30-3.0.12_1: 100%

Make same check for ruby.

# pkg info | grep ruby
ruby-2.7.4,1 Object-oriented interpreted scripting language
ruby25-2.5.8_2,1 Object-oriented interpreted scripting language
...
# pkg delete ruby25-2.5.8_2,1
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
ruby25: 2.5.8_2,1

Number of packages to be removed: 1

The operation will free 36 MiB.

Proceed with deinstalling packages? [y/N]: y
[1/1] Deinstalling ruby25-2.5.8_2,1...
[1/1] Deleting files for ruby25-2.5.8_2,1: 100%

Try portmaster -a -d again.

# portmaster -a -d
===>>> Gathering distinfo list for installed ports

===>>> Starting check of installed ports for available updates

===>>> All ports are up to date

#

Upgrade from 12.2p4 to 12.2p5 from 20210608 to 20210609

168 ports to install or update.

Can't download curl 7.76.1 xz archive (no path to host), so had to download it from web site and scp it to /usr/ports/distfiles.

Can't download expat-2.4.1.tar.xz from github.com (Permission denied). Able to download it from web browser, so scp'd it to /usr/ports/distfiles.

Can't download Python-3.8.10.tar.xz from www.python.org (No route to host). Downloaded from web browser, scp'd to /usr/ports/distfiles/python/.

Got another "no route to host" error downloading, for setuptools-57.0.0.tar.gz. Ran host for the machine; got IP from it. Ran ping to the machine; got response from it. How can there be no route to it?

Tried again after host/ping - same error. Downloaded, scp'd, moved to /usr/ports/distfiles/python.

Can't download Babel-2.9.1.tar.gz from files.pythonhosted.org; did same thing as above for python files, except doesn't need to go in python subdirectory. Some earlier step is deleting the archive file; try running without -d flag.

Worked around it by control-Z out of portmaster when waiting for y/n prompt, recopy archive file, resume portmaster process.

Needed pytz-2021.1.tar.gz, had to download and scp it.

Continued running, still need Babel-2.9.1.tar.gz for later step that depends on py-Babel.

Resumed after copying Babel archive as above, now need the pytz file again.

Now see:

===> Registering installation for py38-Babel-2.9.1 as automatic Installing py38-Babel-2.9.1... pkg-static: py38-Babel-2.9.1 conflicts with py37-Babel-2.9.0 (installs files into the same place). Problematic file: /usr/local/bin/pybabel *** Error code 1

Ran pkg delete py37-Babel-2.9.0 and reran portmaster to get past this.

Had to download/scp imagesize-1.2.0.tar.gz from files.pythonhosted.org.

Now need py38-alabaster-0.7.12.

Next need docutils-0.17.1.tar.gz.

Next see error message:

===> Registering installation for py38-docutils-0.17.1 as automatic Installing py38-docutils-0.17.1... pkg-static: py38-docutils-0.17.1 conflicts with py37-docutils-0.16 (installs files into the same place). Problematic file: /usr/local/bin/rst2html *** Error code 1

Ran pkg delete py37-docutils-0.16, then reran portmaster.

Had to run pkg delete py37-pygments-2.7.2, then rerun portmaster.

Now need py38-snowballstemmer-2.1.0.

Next need Cython-0.29.23.tar.gz from files.pythonhosted.org.

pkg delete py37-cython-0.29.21

Download py38-pystemmer-2.0.1 from files.pythonhosted.org.

Next need requests-2.25.1.tar.gz from files.pythonhosted.org.

Saw article on today's Internet outage. Fastly had a failure. Fastly is hosting at least some of these computers, such as files.pythonhosted.org.

Next need six-1.16.0.tar.gz from files.pythonhosted.org.

py38-chardet-4.0.0,1 conflicts with py37-chardet-3.0.4_3

Need cmake-3.20.3.tar.gz from github.

Need jiixyj-epoll-shim-v0.0.2.210418_GH0.tar.gz from github.

Need ed55438366e93d70867e3ba6b80978673e536fc0.patch from gitlab.freedesktop.org.

Need wayland-protocols-1.21.tar.xz from wayland.freedesktop.org.

Stuck on download of icu-69.1,1 from sourceforge.net.

Continuing to resolve numerous similar problems in similar fashions.

Got through this, except for following ports:

Upgrade from 12.1 to 12.2 from 20201221 to 20201222

First, did a patch upgrade of 12.1. freebsd-update fetch install, reboot, pkg audit went smoothly. portsnap fetch update went smoothly. portmaster -a failed due to conflict.


===> Installing for py37-markupsafe-1.1.1
===> Checking if py37-markupsafe is already installed
===> Registering installation for py37-markupsafe-1.1.1 as automatic
*** Error code 70

Stop.
make[1]: stopped in /usr/ports/textproc/py-markupsafe
*** Error code 1

Stop.
make: stopped in /usr/ports/textproc/py-mako

===>>> make build failed for textproc/py-mako@py37
===>>> Aborting update

===>>> Update for py37-mako-1.0.14 failed
===>>> Aborting update

===>>> Update for graphics/mesa-libs failed
===>>> Aborting update

Worked around this for awhile by running the generated update command while excluding mesa-libs and py-mako.

Performed web search for freebsd error code 70 registering installation. Answer found in FreeBSD forum topic py-markupsafe reinstallation error code 70.

If you are getting an error with code 70 while trying to update the py-markupsafe port, the reason could be a recent change in the portname (revision 557064). This has the effect that a make deinstall won't find the right port any more. To work around, you have to make sure to deinstall the py37-MarkupSafe (camel case) port first, before you install the py37-markupsafe (lower case) port. The standard make deinstall would try to deinstall the lower-case portname which isn't there (yet) and the following install fails because the new and old port versions collide.

and:

Use pkg-delete(8) to delete the package with the old name. Which is what a make deinstall ultimately does.

Did that, reran the remaining build command, and upgrade complete.

Next, upgraded to 12.2 by running # freebsd-update -r 12.2-RELEASE upgrade. The last output of each of the commands told me what command to execute next, which was reassuring. Ran pkg-static upgrade -f but it wanted to roll back some of my ports to earlier versions, so declined. Ran portsnap fetch update, then portmaster -a to update 4 ports.

Upgrade on 20190526

Developed set of instructions based on what I learned here:

  1. pkg audit -F to see if there are any current ports that now have known security vulnerabilities
  2. freebsd-update fetch
  3. freebsd-update install
  4. shutdown -r now
  5. pkg audit to check again (don't fetch new database this time)
  6. pkg-static upgrade
  7. portsnap fetch update
  8. portmaster -a

Running pkg audit -F, freebsd-update, and shutdown -r now

pkg audit -F showed 7 vulnerable packages.

On rebooting after the shutdown, got lots of Controller Timeout messages before finally booted:

Running pkg-static upgrade

pkg-static upgrade failed:

[1/57] Installing polkit-0.114_2...
===> Creating groups.
Using existing group 'polkitd'.
===> Creating users
Creating user 'polkitd' with uid '565'.
pw: user 'polkitd' disappeared during update
pkg-static: PRE-INSTALL script failed

pkg upgrade failed in same way.

Tried rerunning pkg audit - still have 4 vulnerable packages.

Running portsnap

Tried running portsnap fetch update - succeeded

Running portmaster

Tried running portmaster -a. Got some errors, my guess from me running pkg-static upgrade.

===> Installing for py36-Babel-2.6.0_1
===> Checking if py36-Babel is already installed
===> Registering installation for py36-Babel-2.6.0_1 as automatic
Installing py36-Babel-2.6.0_1...
pkg-static: py36-Babel-2.6.0_1 conflicts with py27-Babel-2.6.0 (installs files into the same place). Problematic file: /usr/local/bin/pybabel
*** Error code 70

Try running to recover: portmaster -f devel/py-babel@py36

Installing py36-Babel-2.6.0_1...
pkg-static: py36-Babel-2.6.0_1 conflicts with py27-Babel-2.6.0 (installs files into the same place). Problematic file: /usr/local/bin/pybabel

Lost the previous resume command, so rerunning portmaster -a.

Running pkg-static delete devel/py-babel - deleted 3 packages.

Rerun portmaster -a; now get

Installing py36-docutils-0.14_4...
pkg-static: py36-docutils-0.14_4 conflicts with py27-docutils-0.14_3 (installs files into the same place). Problematic file: /usr/local/bin/rst2html

Running pkg delete devel/py27-docutils - succeeded.

Rerun portmaster -a; now get

pkg-static: py36-pygments-2.4.1 conflicts with py27-pygments-2.3.0 (installs files into the same place). Problematic file: /usr/local/bin/pygmentize

Running pkg delete devel/py27-pygments - succeeded.

Rerun portmaster using the resume command generated by previous run of portmaster.

pkg-static: py36-cython-0.29_1 conflicts with py27-cython-0.29 (installs files into the same place). Problematic file: /usr/local/bin/cygdb

Running pkg delete devel/py27-cython - succeeded.

Rerun portmaster using the resume command generated by previous run of portmaster.

pkg-static: py36-chardet-3.0.4_1 conflicts with py27-chardet-3.0.4 (installs files into the same place). Problematic file: /usr/local/bin/chardetect

Running pkg delete devel/py27-chardet - succeeded.

Rerun portmaster using the resume command generated by previous run of portmaster.

Ran for a long time, but eventually failed with a bad-sounding set of messages:

docs/meson.build:71:11: ERROR: Unknown variable "xft_dep".

A full log can be found at /usr/ports/x11-toolkits/pango/work/pango-1.42.4/_build/meson-logs/meson-log.txt
===> Script "configure" failed unexpectedly.
Please report the problem to gnome@FreeBSD.org [maintainer] and attach the
"/usr/ports/x11-toolkits/pango/work/pango-1.42.4/_build/meson-logs/meson-log.txt"
including the output of the failure of your make command. Also, it might be
a good idea to provide an overview of all packages installed on your system
(e.g. a /usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/x11-toolkits/pango

Rerun portmaster using the resume command generated by previous run of portmaster, except skipping x11-toolkits/pango.

Completed without error.

Rerun portmaster -a; get same error for that port.

See this warning message:

WITHOUT_X11 is unsupported, use WITHOUT=X11 on the command line, or one of
these in /etc/make.conf, OPTIONS_UNSET+=X11 to set it globally, or
x11-toolkits_pango_UNSET+=X11 for only this port.

Edited /etc/make.conf to remove WITHOUT_X11 line, and add line with OPTIONS_UNSET+=X11.

Rerun portmaster -a; get same error for that port.

Ran pkg delete x11-toolkits/pango; succeeded, deleting 3 packages:

Rerun portmaster -a; reports all ports up to date.

Made notes to set OPTIONS_UNSET+=X11 in future when setting up non-GUI server.

Upgrading FreeBSD 11.0 to 12.0, or from 12.1 to 12.2, or any point release upgrade

Summary

This section contains the sanitized summary of what I would do next time.

  1. for a non-GUI server, edit /etc/make.conf to specify OPTIONS_UNSET+=X11
  2. pkg audit -F to see if there are any current ports that now have known security vulnerabilities
  3. freebsd-update -r RELEASENAME upgrade where RELEASENAME is a value such as 12.0-RELEASE
  4. freebsd-update install
  5. shutdown -r now
  6. freebsd-update install
  7. pkg-static upgrade -f
  8. pkg audit to see if there are any current ports that now have known security vulnerabilities (don't fetch new database this time)
  9. portsnap fetch update if need to collect any fixes to vulnerable ports
  10. read /usr/ports/UPDATING for any special notices about non-standard upgrades
  11. portmaster -af -d - this may take a long time since there are often conflicts
  12. freebsd-update install

Resolving conflicts/problems Updating Ports

Some stuff to try:

Log

This section shows all the stumbles I made/encountered in the process of upgrading.

Upgrade from 13.0-RELEASE-p8 to 13.1-RELEASE from 20220520 to 20220521

Reading /usr/ports/UPDATING, see that ruby updated from 2.7 to 3.0. Notes at entry 20190420 in that file state (paraphrased for this update):

If you use portmaster, install new ruby, then rebuild all ports that depend on ruby:

# portmaster -o lang/ruby30 lang/ruby27

# portmaster -R -r ruby-3.0

Ended up not needing to do this; portmaster upgraded to ruby 3.0 without special attention.

Starting portmaster run - here's the list of stuff to modify:

  1. Re-install bdftopcf-1.1_2
  2. Re-install pkgconf-1.8.0,1
  3. Re-install pkg-1.17.5_1
  4. Re-install xorg-macros-1.19.3
  5. Re-install xorgproto-2021.5
  6. Re-install boost-jam-1.72.0
  7. Re-install bootstrap-openjdk8-r450802_2
  8. Re-install cscope-15.9
  9. Re-install ctags-5.8
  10. Re-install cvsps-2.1_2
  11. Re-install dialog4ports-0.1.6_1
  12. Re-install e2fsprogs-libuuid-1.46.5
  13. Re-install gmake-4.3_2
  14. Re-install gettext-runtime-0.21
  15. Re-install libiconv-1.16
  16. Re-install indexinfo-0.3.1
  17. Upgrade texinfo-6.8_1,1 to texinfo-6.8_2,1
  18. Re-install p5-Text-Unidecode-1.30
  19. Re-install perl5-5.32.1_1
  20. Upgrade gettext-tools-0.21 to gettext-tools-0.21_1
  21. Re-install libtextstyle-0.21
  22. Re-install p5-Locale-libintl-1.32
  23. Upgrade help2man-1.49.1 to help2man-1.49.2
  24. Re-install p5-Locale-gettext-1.07
  25. Re-install p5-Unicode-EastAsianWidth-12.0
  26. Re-install en-freebsd-doc-20220326,1
  27. Re-install docproj-4.1.1
  28. Upgrade git-2.35.2 to git-2.36.1
  29. Re-install autoconf-2.69_3
  30. Re-install autoconf-wrapper-20131203
  31. Re-install m4-1.4.19,1
  32. Re-install automake-1.16.5
  33. Re-install curl-7.83.1
  34. Upgrade ca_root_nss-3.76 to ca_root_nss-3.77
  35. Re-install p5-Error-0.17029
  36. Upgrade python38-3.8.13 to python38-3.8.13_2
  37. Upgrade libffi-3.3_1 to libffi-3.4.2
  38. Re-install readline-8.1.2
  39. Re-install mpdecimal-2.5.1
  40. Re-install p5-Authen-SASL-2.16_1
  41. Re-install p5-Digest-HMAC-1.04
  42. Re-install p5-GSSAPI-0.28_2
  43. Re-install p5-IO-Socket-SSL-2.074
  44. Re-install p5-IO-Socket-INET6-2.72_1
  45. Re-install p5-Socket6-0.29
  46. Upgrade p5-Net-SSLeay-1.90 to p5-Net-SSLeay-1.92
  47. Re-install p5-Mozilla-CA-20211001
  48. Re-install expat-2.4.8
  49. Re-install rubygem-asciidoctor-2.0.17
  50. Upgrade ruby27-gems-3.3.10 to ruby30-gems-3.3.13
  51. Upgrade ruby-2.7.6,1 to ruby-3.0.4_2,1
  52. Re-install libedit-3.1.20210910,1
  53. Re-install libunwind-20211201_1
  54. Re-install libyaml-0.2.5
  55. Re-install xmlto-0.0.28
  56. Re-install getopt-1.1.6
  57. Re-install libpaper-1.1.28
  58. Upgrade libtool-2.4.6_1 to libtool-2.4.7
  59. Re-install bash-5.1.16
  60. Re-install bison-3.8.2,1
  61. Re-install docbook-xml-5.0_3
  62. Re-install xmlcatmgr-2.2_2
  63. Re-install xmlcharent-0.3_2
  64. Re-install docbook-xsl-1.79.1_1,1
  65. Re-install docbook-1.5
  66. Re-install docbook-sgml-4.5_1
  67. Re-install iso8879-1986_3
  68. Re-install sdocbook-xml-1.1_2,2
  69. Upgrade libxml2-2.9.13_1 to libxml2-2.9.13_2
  70. Upgrade libxslt-1.1.35_2 to libxslt-1.1.35_3
  71. Upgrade libgcrypt-1.9.4 to libgcrypt-1.9.4_1
  72. Upgrade libgpg-error-1.44 to libgpg-error-1.45
  73. Upgrade w3m-0.5.3.20211026_1 to w3m-0.5.3.20220429
  74. Re-install boehm-gc-8.0.6
  75. Re-install libatomic_ops-7.6.12
  76. Re-install p5-CGI-4.54
  77. Upgrade p5-HTML-Parser-3.77 to p5-HTML-Parser-3.78
  78. Re-install p5-URI-5.10
  79. Re-install p5-HTML-Tagset-3.20_1
  80. Re-install p5-HTTP-Message-6.36
  81. Re-install p5-Encode-Locale-1.05
  82. Re-install p5-Clone-0.45
  83. Re-install p5-IO-HTML-1.004
  84. Re-install p5-HTTP-Date-6.05
  85. Re-install p5-TimeDate-2.33,1
  86. Re-install p5-LWP-MediaTypes-6.04
  87. Re-install igor-1.595
  88. Re-install po4a-0.66_1
  89. Re-install p5-Module-Build-0.4231
  90. Re-install p5-Term-ReadKey-2.38_1
  91. Re-install jade-1.2.1_10
  92. Re-install OpenSP-1.5.2_3
  93. Re-install p5-Pod-Parser-1.63_1
  94. Re-install p5-SGMLSpm-1.03_2
  95. Re-install p5-Text-WrapI18N-0.06_1
  96. Re-install p5-Text-CharWidth-0.04_2
  97. Re-install p5-Unicode-LineBreak-2019.001
  98. Re-install libthai-0.1.29
  99. Re-install libdatrie-0.2.13
  100. Re-install p5-MIME-Charset-1.012.2
  101. Re-install p5-YAML-Tiny-1.73
  102. Re-install rubygem-asciidoctor-pdf-1.6.2
  103. Re-install rubygem-concurrent-ruby-1.1.10
  104. Re-install rubygem-safe_yaml-1.0.5
  105. Re-install rubygem-treetop-1.6.11
  106. Re-install rubygem-polyglot-0.3.5
  107. Re-install rubygem-prawn-2.4.0
  108. Re-install rubygem-pdf-core-0.9.0
  109. Re-install rubygem-ttfunk-1.7.0
  110. Re-install rubygem-prawn-icon-3.0.0
  111. Re-install rubygem-prawn-svg-0.32.0
  112. Re-install rubygem-css_parser-1.11.0
  113. Re-install rubygem-addressable-2.8.0
  114. Upgrade rubygem-public_suffix-4.0.6_18 to rubygem-public_suffix-4.0.7_1
  115. Upgrade public_suffix_list-20220228 to public_suffix_list-20220430
  116. Re-install rubygem-rexml-3.2.5
  117. Re-install rubygem-prawn-table-0.2.2
  118. Re-install rubygem-prawn-templates-0.1.2
  119. Upgrade rubygem-pdf-reader-2.9.2 to rubygem-pdf-reader-2.10.0
  120. Re-install rubygem-ascii85-1.1.0
  121. Re-install rubygem-hashery-2.1.2
  122. Re-install rubygem-afm-0.2.2
  123. Re-install rubygem-ruby-rc4-0.1.5
  124. Re-install rubygem-rouge-3.28.0
  125. Upgrade gohugo-0.96.0 to gohugo-0.97.3
  126. Re-install go-1.18.2,1
  127. Re-install evdev-proto-5.8
  128. Re-install ezjail-3.4.2_1
  129. Re-install font-util-1.3.2
  130. Re-install gsfonts-8.11_8
  131. Re-install hicolor-icon-theme-0.17
  132. Re-install jam-2.6
  133. Re-install libijs-0.35_5
  134. Upgrade libltdl-2.4.6 to libltdl-2.4.7
  135. Re-install libxshmfence-1.3_1
  136. Re-install lzo2-2.10_1
  137. Re-install nasm-2.15.05,1
  138. Upgrade portmaster-3.20 to portmaster-3.21
  139. Re-install tcl86-8.6.12
  140. Re-install unzip-6.0_8
  141. Re-install wayland-protocols-1.25
  142. Re-install meson-0.62.1
  143. Re-install ninja-1.10.2,2
  144. Re-install py38-setuptools-57.0.0
  145. Upgrade wayland-1.20.0_2 to wayland-1.20.0_3
  146. Re-install libepoll-shim-0.0.20210418
  147. Upgrade cmake-3.22.2 to cmake-3.23.0
  148. Upgrade libarchive-3.6.0,1 to libarchive-3.6.1,1
  149. Re-install liblz4-1.9.3,1
  150. Re-install jsoncpp-1.9.5
  151. Re-install libuv-1.42.0
  152. Re-install rhash-1.4.2
  153. Re-install py38-sphinx-4.3.1,1
  154. Re-install py38-Jinja2-3.0.1
  155. Upgrade py38-Babel-2.9.1 to py38-Babel-2.10.1
  156. Re-install py38-pytz-2021.3,1
  157. Re-install py38-markupsafe-2.1.1
  158. Re-install py38-packaging-21.3
  159. Upgrade py38-pyparsing-3.0.7 to py38-pyparsing-3.0.9
  160. Re-install py38-imagesize-1.3.0
  161. Re-install py38-alabaster-0.7.12
  162. Re-install py38-docutils-0.17.1,1
  163. Re-install py38-pygments-2.9.0
  164. Re-install py38-snowballstemmer-2.2.0
  165. Re-install py38-pystemmer-2.0.1
  166. Re-install py38-cython-0.29.28
  167. Re-install py38-sphinxcontrib-applehelp-1.0.2
  168. Re-install py38-sphinxcontrib-devhelp-1.0.2
  169. Re-install py38-sphinxcontrib-htmlhelp-2.0.0
  170. Re-install py38-sphinxcontrib-jsmath-1.0.1
  171. Re-install py38-sphinxcontrib-qthelp-1.0.3
  172. Re-install py38-sphinxcontrib-serializinghtml-1.1.5
  173. Re-install py38-requests-2.27.1
  174. Re-install py38-idna-3.3
  175. Re-install py38-pysocks-1.7.1
  176. Upgrade py38-urllib3-1.26.8,1 to py38-urllib3-1.26.9,1
  177. Re-install py38-certifi-2021.10.8
  178. Upgrade py38-cryptography-3.3.2 to py38-cryptography-3.4.8
  179. Upgrade py38-cffi-1.15.0 to py38-cffi-1.15.0_1
  180. Re-install py38-pycparser-2.21
  181. Re-install py38-openssl-20.0.1,1
  182. Re-install py38-six-1.16.0
  183. Re-install py38-charset-normalizer-2.0.12
  184. Re-install xtrans-1.4.0
  185. Re-install alsa-lib-1.2.2_1
  186. Re-install db5-5.3.28_8
  187. Re-install encodings-1.0.5,1
  188. Re-install mkfontscale-1.2.1
  189. Upgrade freetype2-2.11.1 to freetype2-2.12.1
  190. Re-install libfontenc-1.1.4
  191. Upgrade fribidi-1.0.11 to fribidi-1.0.12
  192. Re-install giflib-5.2.1
  193. Re-install gnome_subr-1.0
  194. Re-install graphite2-1.3.14
  195. Re-install html2text-1.3.2a,1
  196. Re-install http-parser-2.9.4
  197. Upgrade icu-70.1_1,1 to icu-71.1,1
  198. Re-install iso-schematron-xslt-20130313_1
  199. Re-install java-zoneinfo-2021.e
  200. Upgrade javavmwrapper-2.7.8 to javavmwrapper-2.7.9
  201. Re-install jbigkit-2.1_1
  202. Re-install jpeg-turbo-2.1.3
  203. Re-install libICE-1.0.10,1
  204. Re-install libXau-1.0.9
  205. Re-install libdaemon-0.14_1
  206. Re-install libevent-2.1.12
  207. Re-install libinotify-20211018
  208. Upgrade libnghttp2-1.46.0 to libnghttp2-1.47.0
  209. Re-install libpthread-stubs-0.4
  210. Re-install libssh2-1.10.0,3
  211. Re-install links1-1.04,1
  212. Re-install npth-1.6
  213. Re-install nspr-4.33
  214. Upgrade pciids-20220225 to pciids-20220415
  215. Re-install pcre-8.45_1
  216. Upgrade pcre2-10.39_1 to pcre2-10.40
  217. Re-install pixman-0.40.0_1
  218. Re-install png-1.6.37_1
  219. Re-install poppler-data-0.4.11
  220. Re-install scr2txt-1.2
  221. Re-install uchardet-0.0.7
  222. Re-install utf8proc-2.7.0
  223. Re-install zip-3.0_1
  224. Re-install apr-1.7.0.1.6.1_2
  225. Re-install gdbm-1.23
  226. Re-install argyllcms-1.9.2_5
  227. Re-install tiff-4.3.0
  228. Re-install libX11-1.7.2,1
  229. Re-install libxcb-1.14_1
  230. Re-install libXdmcp-1.1.3
  231. Re-install xcb-proto-1.14.1
  232. Re-install libXScrnSaver-1.2.3_2
  233. Re-install libXext-1.3.4,1
  234. Re-install libXinerama-1.1.4_2,1
  235. Re-install libXrandr-1.5.2
  236. Re-install libXrender-0.9.10_2
  237. Re-install libXxf86vm-1.1.4_3
  238. Re-install at-spi2-core-2.36.0
  239. Upgrade dbus-1.12.20_5 to dbus-1.14.0,1
  240. Upgrade minixmlto-0.0.3 to minixmlto-0.0.6
  241. Upgrade glib-2.70.4_3,2 to glib-2.70.4_6,2
  242. Re-install gtk-doc-1.33.2_2
  243. Re-install itstool-2.0.7
  244. Upgrade py38-libxml2-2.9.13_4 to py38-libxml2-2.9.13_5
  245. Re-install yelp-tools-40.0_2
  246. Re-install py38-lxml-4.8.0_2
  247. Re-install yelp-xsl-40.2_2
  248. Upgrade gobject-introspection-1.72.0,1 to gobject-introspection-1.72.0_1,1
  249. Re-install cairo-1.17.4,3
  250. Re-install libglvnd-1.4.0_1
  251. Re-install fontconfig-2.13.94_2,1
  252. Re-install gperf-3.1
  253. Re-install libSM-1.2.3,1
  254. Re-install libXi-1.8,1
  255. Re-install libXfixes-6.0.0
  256. Re-install libXtst-1.2.3_2
  257. Re-install libxkbcommon-1.4.0_2
  258. Re-install xkeyboard-config-2.34_2
  259. Re-install atk-2.36.0
  260. Re-install avahi-app-0.8
  261. Re-install dbus-glib-0.112
  262. Re-install intltool-0.51.0_1
  263. Re-install p5-XML-Parser-2.44
  264. Upgrade cups-2.3.3op2 to cups-2.4.1
  265. Upgrade gnutls-3.6.16 to gnutls-3.7.5
  266. Re-install libunistring-1.0
  267. Re-install libidn2-2.3.2
  268. Re-install gmp-6.2.1
  269. Re-install libtasn1-4.18.0
  270. Re-install nettle-3.7.3
  271. Upgrade p11-kit-0.24.1 to p11-kit-0.24.1_1
  272. Re-install bash-completion-2.11_1,2
  273. Re-install dejavu-2.37_1
  274. Re-install docbook-xsl-ns-1.79.1
  275. Re-install font-bh-ttf-1.0.3_4
  276. Re-install font-misc-ethiopic-1.0.4
  277. Re-install font-misc-meltho-1.0.3_4
  278. Re-install freeglut-3.2.1
  279. Re-install libGLU-9.0.2_1
  280. Upgrade gdk-pixbuf2-2.40.0_3 to gdk-pixbuf2-2.40.0_4
  281. Upgrade jasper-2.0.33 to jasper-3.0.3
  282. Re-install shared-mime-info-2.2_1
  283. Upgrade ghostscript9-agpl-base-9.55.0_1 to ghostscript9-agpl-base-9.56.1
  284. Re-install libidn-1.35
  285. Re-install jbig2dec-0.19
  286. Re-install openjpeg-2.4.0
  287. Upgrade lcms2-2.12 to lcms2-2.13.1
  288. Re-install gnupg-2.3.3_3
  289. Upgrade sqlite3-3.37.2,1 to sqlite3-3.38.2,1
  290. Re-install libassuan-2.5.5
  291. Re-install libksba-1.6.0
  292. Upgrade pinentry-1.2.0 to pinentry-1.2.0_1
  293. Re-install pinentry-curses-1.2.0
  294. Re-install groff-1.22.4_4
  295. Re-install psutils-1.17_5
  296. Re-install harfbuzz-4.2.1
  297. Re-install libXft-2.3.4
  298. Re-install libXmu-1.1.3,1
  299. Re-install libXt-1.2.1,1
  300. Upgrade libgd-2.3.3,1 to libgd-2.3.3_1,1
  301. Install graphics/libimagequant
  302. Re-install webp-1.2.2
  303. Re-install libpciaccess-0.16
  304. Upgrade libpsl-0.21.1_3 to libpsl-0.21.1_4
  305. Re-install libxkbfile-1.1.0
  306. Re-install lua52-5.2.4
  307. Re-install lua53-5.3.6
  308. Upgrade netpbm-10.91.01 to netpbm-10.91.01_1
  309. Upgrade openjdk8-8.322.06.1 to openjdk8-8.332.09.1
  310. Upgrade pango-1.50.6 to pango-1.50.7
  311. Upgrade py38-gi-docgen-2021.5_1 to py38-gi-docgen-2022.1
  312. Upgrade py38-markdown-3.3.6 to py38-markdown-3.3.7
  313. Re-install py38-importlib-metadata-4.8.1
  314. Re-install py38-setuptools_scm-6.4.2
  315. Re-install py38-tomli-2.0.1
  316. Re-install py38-zipp-3.4.0
  317. Re-install py38-toml-0.10.2
  318. Re-install py38-smartypants-2.0.1
  319. Re-install py38-typogrify-2.0.7
  320. Re-install xorg-fonts-truetype-7.7_1
  321. Re-install peps-2.0_7
  322. Re-install polkit-0.120_1
  323. Upgrade spidermonkey78-78.9.0_7 to spidermonkey78-78.15.0_1
  324. Re-install autoconf213-2.13.000227_7
  325. Upgrade rust-cbindgen-0.23.0 to rust-cbindgen-0.23.0_1
  326. Upgrade rust-1.59.0 to rust-1.60.0
  327. Re-install py38-CommonMark-0.9.1
  328. Re-install py38-future-0.18.2
  329. Re-install scr2png-1.2_8
  330. Re-install serf-1.3.9_6
  331. Re-install scons-py38-4.3.0
  332. Re-install tpm-emulator-0.7.4_2
  333. Re-install trousers-0.3.14_3
  334. Re-install xhtml-1.0.20020801_5
  335. Re-install zstd-1.5.2
  336. Re-install GentiumPlus-6.001
  337. Re-install apache-ant-1.10.8
  338. Re-install at-spi2-atk-2.34.2
  339. Re-install binutils-2.37_2,1
  340. Re-install mpfr-4.1.0_1
  341. Upgrade boost-libs-1.72.0_6 to boost-libs-1.72.0_7
  342. Re-install check-0.15.2
  343. Re-install colord-1.3.5_1
  344. Re-install vala-0.48.23_2,1
  345. Re-install desktop-file-utils-0.26_1
  346. Re-install docproj-legacy-3.1
  347. Re-install droid-fonts-ttf-20131024_5
  348. Re-install fop-2.6
  349. Re-install highlight-4.2,3
  350. Re-install libXcomposite-0.4.5,1
  351. Re-install libXcursor-1.2.0
  352. Re-install libXdamage-1.1.5
  353. Re-install libXpm-3.5.13
  354. Re-install libcroco-0.6.13_2
  355. Re-install libdrm-2.4.110,1
  356. Re-install libepoxy-1.5.9
  357. Re-install libgit2-1.3.0
  358. Upgrade libgsf-1.14.47_3 to libgsf-1.14.49
  359. Upgrade librsvg2-rust-2.54.0_2 to librsvg2-rust-2.54.1_1
  360. Re-install llvm12-12.0.1_9
  361. Re-install swig-4.0.2
  362. Re-install py38-recommonmark-0.5.0_2
  363. Re-install p5-Time-Local-1.30
  364. Re-install py38-chardet-4.0.0,1
  365. Upgrade subversion-1.14.2 to subversion-1.14.2_1
  366. Upgrade vim-8.2.4669 to vim-8.2.4851
  367. Re-install xkbcomp-1.4.5

Stopped building graphics/libglvnd because already installed. Deinstalled, then reinstalled. Resuming run without -a flag; chose to do -R even though maybe I should not have.

graphics/freeglut build failed because libGL.so not found. Skipping it for now; resuming without -R option.

Restarted twice due to undownloadable source archives.

Not going to specify the force argument on any future runs for this update.

Keeps failing to download a file I can easily download on main computer.

Can't connect to another computer via ssh, which I recall the hint to reboot computer before connecting (although I've got an existing SSH connection that stayed up).

Running freebsd-update install, but no additional work done. Rebooting.

After reboot, able to scp files between computers.

Rust build deletes the archive file I just copied, so had to go to lang/rust and run make install.

Building devel/rust-cbindgen via make install since can't download archives.

After rust-cbindgen, ran portmaster -a to build 6 ports; completed without error.

12.2 to 13.0p4, ended on 20210828

Using current recipe developed during previous upgrades.

No current ports with known security vulnerabilities, probably since I had updated 12.2 recently.

46,400+ patches, 13,501 files.

Ran freebsd-update -r 13.0-RELEASE upgrade, freebsd-update install, shutdown -r now, freebsd-update install with expected result.

Ran pkg-static upgrade -f, and saw following in beginning of output:

pkg-static: Warning: Major OS version upgrade detected. Running "pkg bootstrap -f" recommended

Not sure if should do this instead, or before, the pkg-static command.

Man page on pkg says:

bootstrap
This is for compatibility with the pkg(7) bootstrapper. If pkg
is already installed, nothing is done.

If invoked with the -f flag an attempt will be made to reinstall
pkg from remote repository.

pkg is already installed. I will do this before since this warning appears before committing to the pkg-static upgrade operation.

Output of pkg bootstrap -f:

The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/FreeBSD:13:amd64/quarterly, please wait...
Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done
Installing pkg-1.16.3...
package pkg is already installed, forced install
Extracting pkg-1.16.3: 100%

Running pkg-static upgrade -f

358 packages being downloaded.

Seemed to succeed with some notices about specific ports, mostly to say that there is no maintainer for some of the ports.

Ran pkg audit - pkg-static had downgraded the ruby package among others, so warned about ruby.

Ran portsnap fetch update command - seemed to run successfully without downloading much, maybe due to my recent point release update.

Updating from Wed Aug 18 07:16:20 PDT 2021 to Wed Aug 25 04:32:53 PDT 2021.
Fetching 5 metadata patches... done.
Applying metadata patches... done.
Fetching 0 metadata files... done.

Read /usr/ports/UPDATING - 3 new entries, all irrelevant to me.

For the portmaster command, the handbook says:
This command will display the configuration screens for each application that has configurable options and wait for the user to interact with those screens. To prevent this behavior, and use only the default options, include -G in the above command.

Running portmaster -af -d -G

Presented with at start of output:
===>>> There are 'install complete' flags from a previous
-[rf] run of portmaster, delete them? y/n [n]

Keeping default option. Then:
===>>> Enable the -R option? y/n [n]

Keeping default option.

374 packages to reinstall or upgrade.

portmaster stopped with failure to install graphics/cairo.
===> Installing for cairo-1.17.4,3
===> Checking if cairo is already installed
===> Registering installation for cairo-1.17.4,3 as automatic
pkg-static: Unable to access file /usr/ports/graphics/cairo/work/stage/usr/local/libdata/pkgconfig/cairo-glx.pc:No such file or directory
*** Error code 1

Stop.
make: stopped in /usr/ports/graphics/cairo

Searched web for pkg-static unable to access file cairo-glx.pc found 257091 - graphics/cairo: cairo-1.17.4 failed to build.

It said:
the pkg-plist entry check
%%OPENGL%%%%X11%%libdata/pkgconfig/cairo-glx.pc
fails because you have X11 on for graphics/cairo, but cairo-glx.pc
does not build. In most cases, this is caused by a GL provider
(libglvnd and/or mesa-*) built without X11. Ports framework doesn't
check the required provider OPTIONS for consumers.

What are you trying to achieve, a headless server or a desktop?

Since I'm trying to achieve a headless server, and am trying to not build anything with X11, I changed directory to /usr/ports/graphics/cairo, ran make config and deselected the X11 X11 (graphics) support choice, then ran make clean then make install, which completed successfully.

I lost the temp file that had the continuation command, and the make config command overwrote the continuation command in stdout, so I started from beginning with portmaster except without -G flag.

portmaster asked me the same two questions as before, as well as confirmation for the reinstalls etc. to be done; I answered them the same way. I also kept default configs for the remaining ports that asked.

portmaster run failed
===>>> All >> gtk3-3.24.29_1 (338/374)
...
===> Configuring for gtk3-3.24.29_1
gtk3-3.24.29_1: Needs cairo with X11 support enabled.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/x11-toolkits/gtk30

Should have set config for gtk to not require X11

Here's the remaining ports to build:
portmaster x11-toolkits/gtk30 graphics/librsvg2-rust graphics/libGLU x11-fonts/libXft x11/libXpm devel/libpciaccess x11/libxkbfile lang/lua52 lang/lua53 textproc/py-CommonMark@py38 devel/py-future@py38 www/serf devel/scons@py38 devel/subversion textproc/utf8proc devel/binutils@native math/mpfr devel/boost-libs devel/check graphics/freeglut textproc/highlight x11-toolkits/libXmu textproc/libcroco graphics/libdrm devel/libgit2 devel/llvm12 devel/swig textproc/py-recommonmark@py38 graphics/openjpeg converters/p5-Encode devel/p5-Time-Local devel/p5-subversion editors/vim x11/xkbcomp archivers/zstd

Ran make config on x11-toolkits/gtk30. Deselect the X11 GDK X11 backend option. Ran make clean install on it; still failed. Maybe don't need it. What depends on it?

pkg info -r package_name shows list of packages that require this package. pkg info -d package_name shows list of packages on which this package depends.

vim depends on it, and I want vim.

vim's config shows it isn't dependent on x11 - it uses console only.

Running the above portmaster command resulted in

===> Installing for libglvnd-1.3.3
===> Checking if libglvnd is already installed
===> libglvnd-1.3.3 is already installed
You may wish to ``make deinstall'' and install this port again
by ``make reinstall'' to upgrade it properly.
If you really wish to overwrite the old port of libglvnd
without deleting it first, set the variable "FORCE_PKG_REGISTER"
in your environment or the "make install" command line.
*** Error code 1

Remaining ports to build:

graphics/freeglut textproc/highlight x11-toolkits/libXmu textproc/libcroco graphics/libdrm devel/libgit2 security/libssh2 devel/llvm12 devel/libunwind devel/swig textproc/py-recommonmark@py38 graphics/openjpeg graphics/lcms2 converters/p5-Encode devel/p5-Time-Local devel/p5-subversion editors/vim devel/cscope devel/ctags lang/ruby27 textproc/libyaml x11/xkbcomp archivers/zstd

libglvnd at graphics/libglvnd

Check config for libglvnd - X11 graphics support is disabled already.

Deinstalled and reinstalled; resuming portmaster.

Over 100 ports to rebuild, including the libglvnd port. If this stops again, I may run separate builds for the remaining ports.

Stopped for same reason. Reconfig graphics/freeglut to not try to make examples, since those may pull in graphics I don't want. Running make install on graphics/freeglut gets to the same block, though.

Tried looking at dependencies on packages by pkg info -r packagename. Found freeglut isn't depended on by any other package, so deleted it.

Rerunning portmaster -f -d with the previous port list, except excluding graphics/freeglut, and now it wants to build a lot fewer ports:

Re-install libglvnd-1.3.3
Re-install meson-0.58.1
Re-install ninja-1.10.2,2
Re-install python38-3.8.11
Re-install gettext-runtime-0.21
Re-install libiconv-1.16
Re-install pkg-1.17.1
Re-install indexinfo-0.3.1
Re-install gettext-tools-0.21
Re-install libtextstyle-0.21
Re-install libffi-3.3_1
Re-install pkgconf-1.7.4,1
Re-install readline-8.1.1
Re-install mpdecimal-2.5.1
Re-install gmake-4.3_2
Re-install py38-setuptools-57.0.0

meson depends on libglvnd, so looks like I'm stuck, unless I analyze meson for dependencies. meson is a build system, so should be OK. make config shows no options to configure.

Running it anyway - it is working well. It completed without error.

Ran freebsd-update install and I am done.

11.0 to 12.0

Based on instructions in the FreeBSD Handbook, here's the steps I'm taking:

  1. freebsd-update -r 12.0-RELEASE upgrade
  2. freebsd-update install
  3. shutdown -r now
  4. freebsd-update install
  5. pkg-static upgrade -f
  6. portmaster -af
  7. freebsd-update install

I had to modify what I did based on what I found during the process. When I ran pkg-static upgrade -f, it generated a message recommending that I run pkg-static install -f pkg due to a major OS version upgrade detected, so I stopped the run and ran the program as suggested. When I then ran portmaster -af, the run failed because devel/cmake-modules had been deleted and merged into devel/cmake. I tried running portmaster -a, which resulted in devel/cmake-modules appearing in the list of ports to be deleted, and devel/cmake appearing in the list of ports to be upgraded, which seemed good. The command completed, and I ran the last freebsd-update command to complete the set of commands.

Reran portmaster -af to see if I could rebuild everything. One nice enhancement is that config options for all packages are presented at the start of the operation, so they can be all answered separately from the build process, so the build process doesn't get stopped in the middle by having to answer config questions.

Unfortunately, there are lots of blocking messages asking if I want to delete old archive files, which has a similar effect.

The run failed because openjpeg-2.3.0_2 has security vulnerabilities. /tmp/portmaster.fail has the command line command that will resume the rebuild.

Review vulnerabilities in ports by running pkg audit -F.

OpenJPEG got fixed on 20190105, so resuming. /tmp/portmaster.fail has <flags> instead of the needed flags. I only used -af for flags, so maybe doesn't need any (or just -f). Running - working so far. Asked to confirm the changes, then builds as specified. However, I needed to update the ports tree first.

Trying pkg-static upgrade -f which has new packages, but maybe isn't what I want. Next, try portsnap fetch update Next, rerun the command saved in /tmp/portmaster.fail, using the -f flag.

Failed due to:

Installing check-0.12.0_1...

pkg-static: check-0.12.0_1 conflicts with libcheck-0.10.0 (installs files into the same place). Problematic file: /usr/local/bin/checkmk

*** Error code 70

Run pkg delete libcheck-0.10.0.

Then, rerun the command saved in /tmp/portmaster.fail, using the -f flag. This completed.

Next, run freebsd-update install.

At the end of this, see if there is a portmaster command to clean out any old build products, including those archives from older builds. Also, look for a command to check the installed ports to see if there are any mismatches.

Need to read /usr/ports/UPDATING after updating the ports tree and before rebuilding ports.

References

FreeBSD Handbook on updating/upgrading

See document on upgrading ports.

Also, see man page for portmaster.

See how to install and manage ports on FreeBSD 10.1 (Digital Ocean).

Warning: Old Stuff Ahead

The following sections are pretty old (for 4.x to 7.x releases).

Dancing Kayak - FreeBSD - Full Release and Security Upgrade

Security Upgrade

Here's what to do to upgrade an existing FreeBSD installation to the latest security release of that same version.

Preparation

  1. Understand which value you will pass to the -j option in make. -j4 is good for a single CPU. -j6 to -j10 is good for multiple CPUs.
  2. Prepare /etc/make.conf as follows
    • Set CPUTYPE variable to specify the machine's CPU.
    • Set KERNCONF to the name of the kernel configuration file (this is often the same name as the machine). This step is optional since you can set this value on the command line during the upgrade.
  3. install the sysutils/fastest_cvsup port - this requires the devel/p5-Time-HiRes port.
  4. run fastest_cvsup with the appropriate arguments to find out which is the cvsup server with the shortest response time. For me, the command line is # fastest_cvsup -c us
  5. copy stable-supfile and ports-supfile from /usr/share/examples/cvsup to /usr/src
  6. mkdir /usr/sup
  7. copy /usr/share/examples/cvsup/refuse to /usr/sup
  8. edit refuse to remove sendmail file reference since haven't configured it yet
  9. cd /usr/src
  10. mv stable-supfile security-supfile
  11. edit security-supfile as follows
    • s/stable/security/
    • tag=RELENG_#_#, where #_# is the release number of your release (e.g., 4_9).
    • set host to cvsup#.us.freebsd.org, where # is a number from 1 to 18 (as of February 2004) that references the cvsup site you identified when running fastest_cvsup.
  12. Put the security-supfile under source code control, e.g., mkdir RCS; ci -u security-supfile - I have started a practice of storing OS and port upgrade supfiles within the root user's home directory (specifically, /root/supfiles) so that I keep personal configuration files in a directory I'm more likely to back up.

Upgrade Installation

  1. perform backups, especially of /etc
  2. cvsup security-supfile - if you are running X, the gui client will appear; click the green arrowhead at the lower left to start the process, and close the window once the process completes
  3. look at /usr/src/UPDATING
  4. check GENERIC, LINT for changes and integrate them into the configuration file for your machine as needed
  5. cd /usr/src; make buildworld - can use the -j6 flag on dual-processor machine - a build of 4.x takes about 2 hours on dual PPro200, about 90 minutes on dual P3/450 - builds of 5.x and 6.0 take (a rough guess) at least twice as long
  6. make buildkernel [KERNCONF=filename] to build the kernel; the KERNCONF setting is optional if you have already put a value for this in /etc/make.conf. This takes about 10-20 minutes (for 4.x) and (rough guess) an hour (5.x, 6.0) on the previously-mentioned machines.
  7. make installkernel [KERNCONF=filename] takes about a minute
  8. reboot
  9. check out the system for basic sanity. If the upgrade has changed sizes of kernel structures, you may get weird behavior doing stuff like ps.
  10. go to single-user mode by shutdown now
  11. run mergemaster -p to do a merge before running make installworld
  12. cd /usr/src; make installworld - takes about 4 minutes.
  13. Run mergemaster to review and choose changes to configuration files in /etc. Don't proceed without this step, even though you likely will want to decline some of the changes it points out. For example, I always decline the change to /etc/motd because the build entered the correct FreeBSD version information into that file, and the generic one does not have that information.
  14. reboot
  15. check SCSI devices - you may have to run MAKEDEV

Upgrading to the Latest Full Release

Upgrading to the latest full release (e.g., upgrading to 4.9 from 4.8) is similar to upgrading to a security release, but you will want to upgrade the ports tree by ensuring the appropriate lines exist in the upgrade supfile.

After upgrading the machine as instructed above, complete the update of the ports tree as stated in the section entitled After Upgrading the Ports Tree

If, instead, you updated your ports tree before updating source, building, and installing a major version upgrade to the operating system, (e.g., from 4.x to 5.x or from 5.x to 6.x) you will need to rebuild the ports indexes as specified below, since the name of the ports database file differs among major version numbers.

Notes on Upgrading 4.x to 5.x

This was a more complicated upgrade. Instead of performing a source code upgrade like for minor version number releases and security updates, I had to install 5.x from scratch (a clean install) and then restore my data from backups.

Notes on Upgrading 5.x to 6.x

6.x uses SHA256 as well as MD5 to validate the integrity of source code archives downloaded when building a port.

This was an easy upgrade, just like a minor version or security upgrade. There was no need to install from scratch and restore data from backups, like I had to do when upgrading 4.10 to 5.x.

Notes on Upgrading 6.3 to 7.0

Root Partition Size

I had made a 256 MB root partition - that size served me well for 4.x, 5.x, and 6.x. When I built 7.0 and tried to install it, it filled up the root partition. Here are various hints to reduce size:

Next time I build a FreeBSD box, it will have a 1 GB root partition now that disk is cheap.

Ports Upgrade

To do this right, run the following command:

FreeBSD 7.0 uses version 4 of the GNU compiler collection; FreeBSD 6.x uses version 3 of GCC. This means that every port must be rebuilt (actually, every port that uses that compiler to produce binaries or shared libraries, but not many of us want to spend the time to track that as opposed to having the ease-of-use of a single upgrade command. GCC version 4 uses different shared library numbers than does GCC version 3.

That said, I didn't do it that way! Since I had so many old ports to upgrade, I did portupgrade -aR. I regret it somewhat because I later had to:

  1. go through /usr/local/lib and look at the build dates of the shared libraries
  2. run pkg_info -W /usr/local/lib/sharedlibname to find out what port had installed that library
  3. run portupgrade -f thePortName to rebuild the port

However, I discovered aspects of my ports dependencies that might not have been upgraded even if I had done it the correct way. I had to rebuild the devel/gvfs port with CDDB support disabled so that libgnomeui would not depend on it, in order to get libgnomeui to build. I also had to hack into the tests for GraphicsMagick and disable the exceptions and attributes tests in order for the port to build and install. These tests in the GraphicsMagick port would fault and exit the program when an exception was thrown. I'll have to work on this later, now that I have my computer in a usable state again.

Updating the Ports Tree

Updating the ports tree is useful to keep up on the latest versions of third-party software.

Do not remove the following directories in /usr/ports, or any other directories there - I tried this to save space in /usr/ports, but this resulted in a broken make index result because other directories have dependencies within these directories

Here's how to update the ports tree

  1. portinstall -R portsnap
  2. portsnap fetch extract - read the man page - if you have any files within /usr/ports that you modified or created copy them elsewhere before running this command because this command will delete them (this doesn't apply to files within /usr/ports/distfiles)

Here's a much slower but still proper way to update the ports tree

  1. edit ports-supfile as follows
    • ensure the value for the tag parameter is . - find and heed the warning in the file about setting the value of tag
    • Modify the host parameter to reference the best cvsup server for you (just like you did for the security-supfile above) as the value for the host parameter (or you can use the -h argument for cvsup to override what's in the ports-supfile)
  2. Put the ports-supfile under source code control, e.g., mkdir RCS; ci -u ports-supfile
  3. cvsup [-h cvsup??.??.freebsd.org ] ports-supfile

After Updating the Ports Tree

Follow these instructions after updating the ports tree (either directly or as part of an operating system version upgrade) to complete the update of the ports tree.

  1. portsnap fetch update

If you used the much slower way above, do the following:

  1. cd /usr/ports
  2. portsdb -Uu - this rebuilds necessary indexes
  3. make readmes

You can also use the command make index && make readmes this takes a long time, but don't use the -j argument for make index - you can use the -j argument for make readmes since this part is amenable to parallel processing

Upgrading a Port

The big hint here is to use portupgrade to help you upgrade (and possibly portinstall to help you install something new). Otherwise, make install clean will often get you what you want, unless there are conflicts (which portupgrade will often resolve.

Run pkgdb -F after you run portupgrade or portinstall, (or if you can't run these programs because of inconsistencies in the index used by these programs).

Warnings

Read the following files in /usr/ports for special instructions and notes before building or upgrading a port. These files contain information you need in order to upgrade certain ports.

You can also read /usr/ports/LEGAL and /usr/ports/README(.html) if you are so inclined.

Apparently sometimes you will have to watch out for cases where a recent upgrade in a port is dependent on something that's in the STABLE or CURRENT branch.

Read the release notes for the FreeBSD ports of GNOME and KDE before upgrading either of these meta-ports

Upgrading KDE from 3.1.4 to 3.2

Here's what I did (the first steps enable portupgrade to work automatically - see FreeBSD KDE page for why:

  1. # pkg_delete kdebase-3.1.4
  2. # pkg_delete kdenetwork-3.1.4
  3. # pkgdb -F (answer yes to fixing up dependencies for the packages deleted in the previous two steps)
  4. # portupgrade -R kde (I had to restart this because one of the fetches failed - I had to manually download the archive being fetched before restarting)
  5. # pkgdb -F (detected nothing to fix)

Upgrading KDE from 3.2.1 to 3.2.3

This upgrade was lengthy (about 3 days), but had no problems. A simple portupgrade -R x11/kde3 did it.

Upgrading Gnome from 2.4 to 2.6

There is an FAQ and a shell script pointed at by the FreeBSD Gnome Project that you must follow when upgrading. Even with all that help, my upgrade broke. The problems related to step 4, which performs an upward-recursive portupgrade of glib2*; there were some dependent ports whose upgrade required a downward-recursive upgrade of other ports on which they depended.

Also, the upgrade of one port left a patch file in the files subdirectory, but the file had been obsoleted and was in the Attic subdirectory.

Here are the steps I took and what happened. All of the below is done as root

  1. copy the upgrade script from FreeBSD Gnome project (downloaded as a non-root user) to /root
  2. cd /usr/src
  3. cvsup ports-supfile
  4. cd /usr/ports
  5. make index && make -j4 readmes
  6. cd /root
  7. sh ./gnome_upgrade.sh - this failed after about a day and a half because of a single reason: what apparently is a bad patch in multimedia/gstreamer-plugins. There is a patch at files/patch-gst-libs_ext_ffmpeg_ffmpeg_libavcodec_alpha_simple_i that apparently doesn't correspond to any source file.
  8. cd /usr/ports/multimedia/gstreamer-plugins
  9. mv files/patch-gst-libs_ext_ffmpeg_ffmpeg_libavcodec_alpha_simple_i .
  10. portupgrade gstreamer-plugins - this failed because libmusicbrainz needed to be upgraded and I didn't use the -R flag to upgrade ports on which gstreamer-plugins depends
  11. portupgrade -wR gstreamer-plugins - this failed because the upgrade to libmusicbrainz wouldn't upgrade even with the correct flags, making me doubt that I entered the correct flags!
  12. portupgrade -wR libmusicbrainz - this succeeded
  13. portupgrade -wR gstreamer-plugins - this succeeded
  14. cd /root
  15. sh ./gnome_upgrade.sh - this is going through another day-and-a-half, because step 4 in the script is a huge portupgrade -r -f glib2* forced upward-recursive upgrade (forced rebuild of glib2* and everything that depends on it) which rebuilds just about everything on my machine including evolution, firefox, and KDE. This succeeded.

I also upgraded my work machine, and I had to manually update the port nas because an upgraded version was required by the port sdl12 as well as manually updating the libmusicbrainz port (although without having to do a downward-recursive update). I also had some problems with upgrading KDE to 3.2.1, but that is not relevant to the Gnome upgrade discussed here except that the KDE upgrade was a consequence of the upward-recursive Gnome upgrade.

Upgrading GNOME from 2.6 to 2.6.2

This upgrade was lengthy and also went smoothly, but broke some additional functionality. When launching GNOME after the upgrade, I got a number of error messages including for the clock display. This resulted in some missing items in the task bars, including the clock. When launching Evolution, I got four error messages involving CORBA of the following format:

Cannot active component DAFIID: GNOME_Evolution_Mail_Shellcomponent INV_OBJREF:1.0

The other three messages involved components with similar names, substituting Addressbook, Calendar, and Summary for Mail.

Rebuilding Evolution was no help. Killing the wombat server and the timer server did not help. What helped was killing the bonobo_activation_server, which apparently is a CORBA server, and restarting Evolution. Since the libbonobo package was apparently upgraded to 2.6.2 as part of the GNOME upgrade, it's likely I needed a new server instance.

Upgrading GNOME from 2.6.2 to 2.8 and KDE from 3.2.3 to 3.3.1

On November 18, 2004, I decided to upgrade the X desktops of my workstation. This includes upgrading GNOME, KDE, and windowmaker, as well as X. Here's what I had to do to complete the job.

  1. portupgrade -R x11/XFree86-4 - this went smoothly
  2. portupgrade -R x11-wm/windowmaker - this went smoothly
  3. download the GNOME 2.6 to 2.8 upgrade script - ok
  4. run the GNOME 2.6 to 2.8 upgrade script - failures as follows:
    • My system didn't have devel/desktop=file-utils 0.9 and I couldn't build it because I couldn't download the source because the freedesktop.org web site was being rebuilt after suffering a hack. The latest version of devel/desktop-file-utils/Makefile has an alternate download location (www.marcuscom.com), but I didn't have that Makefile in my ports tree because it had been checked in just a couple of days prior, and I had updated my ports tree earlier than that. That resulted in a number of ports building but not installing, including
      • games/gnomegames2
      • editors/gedit2
      • graphics/eog2
      • mail/evolution
      • graphics/gpdf
      • archivers/fileroller
      • print/ggv2
    • x11-fm/nautilus2 failed to build due to an error detected by the compiler in the source code: nautilus-image-properties-view.c:134: macro 'exif_content_get_value' used with too many (4) args
    • x11/screensaver-kde failed to install due to an installed package conflict (kdepim-3.2.3_1), for which the likely solution was to upgrade KDE.
    • www/mozilla failed to build due to "fetch: libart_lgpl.tar.bz2: local modification time does not match remote"
    • other downstream errors caused by the above errors
  5. I downloaded the devel/desktop-file-utils source code from www.marcuscom.com and saved it in /usr/ports/distfiles. I did this during the late portion of the above GNOME upgrade script run, so that my list of failed installs above may not be a complete list of all the installs that would fail.
  6. portupgrade --noclean games/gnomegames2 to resolve the missing devel/desktop-file-utils port source
  7. portupgrade --noclean editors/gedit2 to resolve the missing devel/desktop-file-utils port source
  8. portupgrade --noclean graphics/eog2 to resolve the missing devel/desktop-file-utils port source
  9. portupgrade --noclean mail/evolution to resolve the missing devel/desktop-file-utils port source
  10. portupgrade --noclean graphics/gpdf to resolve the missing devel/desktop-file-utils port source
  11. portupgrade --noclean archivers/fileroller to resolve the missing devel/desktop-file-utils port source
  12. portupgrade --noclean print/ggv2 to resolve the missing devel/desktop-file-utils port source
  13. portupgrade -R x11/kde to resolve the conflicts encountered updating KDE as part of the GNOME upgrade - this hung building graphics/sane-backends because the build presented the configuration screen, and I was redirecting stdout to a file, and I wasn't running the command with the batch-mode flag
  14. portupgrade graphics/sane-backends
  15. portupgrade -R x11/kde3 - upgrading x11-toolkits/open-motif from 2.2.2_2 to 2.3 failed because I have portaudit installed and 2.3 has a security problem (2.4 doesn't but it isn't in the ports tree that I have, and the FreeBSD ports system has 2.3 as of 7:30 AM PT November 21, 2004)
  16. Rerun the GNOME upgrade script, adding the -restart argument
  17. pkg_delete kdeutils-3.2.3_1 because kdebase-3.3.1 installs files into the same place
  18. portupgrade --noclean kdeutils to install the built kdebase
  19. Rerun the GNOME upgrade script, adding the -restart argument
  20. Rename /usr/ports/distfiles/libart_lgpl.tar.bz2 to libart_lgpl.tar.bz2.old to attempt to resolve a checksum mismatch and local modification time does not match remote error on this file
  21. Rerun the GNOME upgrade script, adding the -restart argument. This time it completed step 4 and partially completed step 5 (reinstalled gdesklets and gnomeapplets2, failing reinstallation of gnome2). The gnome2 build failed building ximian-connector-setup-2.0.2 for port mail/ximian-connector-setup. The error messages included
    • libexchange.a(e2k-kerberos.o): In function 'e2k_kerberos_change_password':
    • e2k-kerberos.o(.text+0x231): undefined reference to 'krb5_free_data_contents'
    • e2k-kerberos.o(.text+0x241): undefined reference to 'krb5_free_data_contents'
    • gmake[3]: *** [cptest] Error 1
    • gmake[3]: Leaving directory '/usr/ports/mail/ximian-connector/work/ximian-connector-2.0.2/lib'
  22. Give up on GNOME upgrade for awhile (maybe I have to update security/krb5, which isn't installed on my system) and focus on KDE.
  23. portupgrade -R -x x11-toolkits/open-motif x11/kde3 - excluding open-motif because a version without the security hole is not yet in the ports tree. This succeeded.
  24. Run pkgdb -F three times to remove old versions of autoconf and automake.
  25. portupgrade kdegraphics-kamera kdegraphics-kooka kdegraphics-kuickshow
  26. portupgrade x11-clocks/kdetoys
  27. pkg_delete -f kdeaddons-kontact-plugins-3.2.3
  28. pkgdb -F to remove obsolete links between the kontact plugin and other ports
  29. portupgrade -R -x x11-toolkits/open-motif misc/kdeaddons3 - excluding open-motif because a version without the security hole is not yet in the ports tree. This succeeded.
  30. pkgdb -F just to check
  31. portupgrade -R -x x11-toolkits/open-motif kdebase-konqueror-nsplugins-3.2.3 kdeutils-klaptopdaemon-3.2.3 kdemultimedia-mpeglib_artsplugin-3.2.3
  32. At this point, KDE works, so I'm taking a break after a few days of console-only operation
  33. Back to GNOME - install security/krb5 in hopes of resolving the missing function for the gnome2 portupgrade
  34. Run portupgrade -f -m "GNOME_UPGRADE_SH_VER=280" -O gnome2 to manually resume step 5 of the GNOME upgrade script. This succeeded, building the ximian-connector-setup port without error.
  35. Run portupgrade -f -m "GNOME_UPGRADE_SH_VER=280" -O gnomevfs2 to manually resume step 5 of the GNOME upgrade script.
  36. Run portupgrade -f -m "GNOME_UPGRADE_SH_VER=280" -O libgnome to manually resume step 5 of the GNOME upgrade script.
  37. Run portupgrade -f -m "GNOME_UPGRADE_SH_VER=280" -O gconf-editor to manually resume step 5 of the GNOME upgrade script.
  38. Try it out - seems to work

At the end, upgrading KDE adds fonts to the system, so


Upgrading GNOME applications from 2.10 to 2.12

Due to the changes in gnomehier, I followed the instructions in the entry dated 20071024 in /usr/ports/UPDATING, namely:

  1. forcing the package database to be consistent (pkgdb -Ff) - I had to force the deinstall of old automake and autoconf because of duplicate entries in the package database.
  2. portupgrade -f -o textproc/rarian textproc/scrollkeeper - this was easy and quick
  3. portupgrade -a - this took a day and a half. I did the fetch of all archives first, then did the build. The build of multimedia/kdemultimedia3 failed during installation due to a known problem with the path_dps.m4 file (the location is obvious from the build errors); I had to deinstall the x11/dgs (display ghostscript system) package; no package was depending on that package, so that made it easy. Then, I resumed the build of kdemultimedia with the -w option to skip the clean before build to save all the work.

Back to FreeBSD main page