Python updated to 3.11

Might have found my Rust 1.78/1.79 is not building, as checking the dependencies, it wants Python 3.11, but my make.conf file holds python at 3.9. Not sure why Postmaster was not complaining at build time with a more helpful error message, but this seems a good place to start, so now off to rebuild Python.

20240529:

  AFFECTS: users of python

  AUTHOR: rm@FreeBSD.org

  The default version of python3 and python was switched to 3.11.

  For ports users wanting to keep version 3.9 as default,

  add DEFAULT_VERSIONS+= python=3.9 python3=3.9 to make.conf

  Following procedures may ease the upgrade:

  For users of pre-build packages:

  # sh

  # for i in $(pkg query -g %n ‘py39-*’); do pkg set -yn ${i}:py311-${i#py39-}; done

  # pkg upgrade

  For portmaster users:

  # sh

  # portmaster -o lang/python311 python39

  # REINSTALL=”$(pkg info -oq ‘*py39*’)”

  # pkg delete -f “*py39*”

  # portmaster $REINSTALL

  # REBUILD=$(pkg query -g “%n:%dn” ‘*’ | grep py3 | grep -v py311 | cut -d : -f 1 | sort -u)

  # portmaster $REBUILD

  # REBUILD2=$(pkg list | grep python-39 | xargs pkg which | awk ‘{print $6}’ | sort -u)

  # portmaster $REBUILD2

  Final steps (for pre-built packages & portmaster):

  If no longer required, Python 3.9 can be removed via

  “pkg remove python39” and the directory /usr/local/lib/python3.9 can

  then be deleted afterwards, if not empty.

Rust 1.78 will not build

Free disk space continues to be an issue, I’ve deleted 50Gb of backups but df -h has yet to recognise the new free space. This would not be an issue apart from Rust and Cargo-c appear to want to use up all available free disk space.

I also noted a discrepancy between the Pkg Info command to re-port out of date packages/ports and those that postmaster -da then tried to build as being out of date.

If I manage to resolve these issues I will update this post.

Disk space usage troubles

Whilst trying to update some common ports I keep running out of disk space, causing the Database to halt and then the website to fail. Struggling to find out which package is consuming excessive disk space and fear I need to drop down to single user mode to run fsck (but meaning I need to find a VGA cable and suitable monitor to hook up to ) so seeing which packages consume the most and may be able to go, so run.

pkg info -sa | sort -hk2

Windows 10 – the final curtain

It might seem odd that at work we are still in the final throes of migrating users to the latest version of Windows 10 and killing off the handful of Windows 7 devices that invariably turn up as you shutdown legacy domains and SCCM servers, but attention has now rapidly turned to Windows 11 now that the final support date for all versions of Windows 10 has been confirmed as 14th October 2025.

With over 30,000 devices to migrate in 18 months I dare say my project managers will be having a few sleepless nights as they calculate how many devices per week they need to cycle thru Win10 onto Win11 so we are ready.

Bulk Emailers and Spoofing email

Recent industry changes by Apple, Google and Yahoo have meant many queries at work as we have ramped up our SPF, DMARC and DKIM settings to prevent spammers spoofing our domains.

In short, 3rd party suppliers that provide web services for us are no longer able to just spoof our domains and need to register their email servers on our DNS SPDF record as an authorised sender. Many question why they need to do this, when its worked for years and trying to point out that was was ok in 2014 is not okay now in 2024 if we want to stop the spoofers and spammers trying to snare our users that rely on our services.

NCSC provide a service to report phishing emails to them as report@phishing.gov.uk and tools to check how secure a domain is when you want to see how likely it is to be spoofed, ie sent pretending to be someone else, available here.

FreeBSD – Updating Ruby

The default version of Ruby has been bumped to 3.2, which is fine, but /UPDATING no longer includes the steps needed to bump your installed version.

No problem, just scroll down to see what the instructions were for the last revision bump. And then you hit a problem. All the Ruby port bumps refer you to the 2019 entry, which is fab , stepping thru instructions of how to move from 2.4 to 2.5. , however, UPDATING no longer goes all the way back to 2019. It’s been trimmed. A bit of googling and a found the unedited version of UPGRADING which helpfully had the instructions, which for ease I have pasted below and for even easier usage, have amended the instructions for moving between 3.1 and 3.2

20190420:
  AFFECTS: users of lang/ruby24
  AUTHOR: mfechner@FreeBSD.org

The default ruby version has been updated from 2.4 to 2.5.

If you compile your own ports you may keep 2.4 as the default version by adding the following lines to your /etc/make.conf file:

#
  # Keep ruby 2.4 as default version
  #
  DEFAULT_VERSIONS+=ruby=2.4

If you wish to update to the new default version, you need to first stop any software that uses ruby. Then, you will need to follow these steps, depending upon how you manage your system.

If you use pkgng, simply upgrade:
  # pkg upgrade

If you use portmaster, install new ruby, then rebuild all ports that depend on ruby:
  # portmaster -o lang/ruby25 lang/ruby24
  # portmaster -R -r ruby-2.5

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

# pkg delete -f ruby portupgrade
  # make -C /usr/ports/ports-mgmt/portupgrade install clean
  # pkg set -o lang/ruby24:lang/ruby25
  # portupgrade -x ruby-2.5.\* -fr lang/ruby25

and upgraded version is

20240306:
  AFFECTS: users of lang/ruby31
  AUTHOR: me!

The default ruby version has been updated from 3.1 to 3.2.

If you compile your own ports you may keep 3.1 as the default version by  adding the following lines to your /etc/make.conf file:


  DEFAULT_VERSIONS+=ruby=3.1

If you wish to update to the new default version, you need to first stop any software that uses ruby. Then, you will need to follow these steps, depending upon how you manage your system.

If you use pkgng, simply upgrade:
  # pkg upgrade

If you use portmaster, install new ruby, then rebuild all ports that depend on ruby:
  # portmaster -o lang/ruby32 lang/ruby31
  # portmaster -R -r ruby-3.2

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

# pkg delete -f ruby portupgrade
  # make -C /usr/ports/ports-mgmt/portupgrade install clean
  # pkg set -o lang/ruby31:lang/ruby32
  # portupgrade -x ruby-3.2.\* -fr lang/ruby32

USB leads – What version

Stumbled on this and maybe useful in the run up to Christmas to make sure you have the rights leads or plugs in order to use what ever presents Santa leaves under the tree. Almost all new phones are USB-C these days, and smaller devices and gadgets , but there will be some stuff lingering on with Micro-USB until they refresh the designs.

The one exception will be slightly older Apple phones (iPhone 14 or below) that use the Lighting Port (not shown)

OpenSSL Hell

So FreeBSD decided to deprecate OpenSSL 1.1 and amend the base version in ports to OpenSSL 3.0 Its quite a major jump and although MySQL Server 8 is supposed to support various rebuilds from ports kept throwing up unsupported SSL versions when trying to update the various ports that rely on OpenSSL to get a fully working system.

Suffice to say after rolling back to 1.11 I have managed to get everything functioning again, but when it comes to FreeBSD 14 its probably time to do a fresh install with v3.0 as the default and install everything afresh than try and upgrade in place on what is an essential component for a networked device.