Learned an important lesson about OpenBSD:

 When  I  first  set  up  my  new  server, I did so in a VM on my local
 machine (see previous entries). I didn't really think about it,  so  I
 gave  the VM two CPU cores. The system installed fine, it booted fine,
 I uploaded it to my hosting provider, and it worked fine there.

 Until I installed the first patch via "syspatch".

 In OpenBSD, there are two common kernels you can install: GENERIC  and
 GENERIC.MP.  Since  my local VM had two cores, the installer installed
 GENERIC.MP. My VPS only has one core, though. GENERIC.MP  works  on  a
 single-core machine as well, so that's not an issue.

 When  syspatch  installs  a  kernel update, it tries to find out which
 kernel you're running. Oh, no, that's exactly the problem. It does not
 do  that.  It  looks  at your CPU and deduces from the number of cores
 which kernel you SHOULD be running. Sure enough, a single-core machine
 should  not  be  running  the MP kernel, so syspatch happily installed
 patches for the SP kernel. In other words, it didn't install the patch
 at all.

 I don't know, this feels like a bug to me. Theo de Raadt doesn't think
 so:

 https://marc.info/?l=openbsd-misc&m=150043142926972&w=2

 The problem has been reported by another user some months ago. It  has
 been dismissed because it's considered a strange usage pattern.

 I  totally  get  Theo's  point.  People  do crazy stuff and then blame
 someone else for it.  Yes,  my  setup  is  a  strange  usage  pattern,
 absolutely. I'm still not convinced, though. WHY does syspatch look at
 the hardware instead of the running kernel? In what situation is  that
 the proper action?

 Looking  at  the  source code of syspatch doesn't help. The tool works
 this way since it was first written.

 The other user that reported this problem was doing some shuffling  of
 GENERIC  and  GENERIC.MP.  I  fear  that  the devs were a bit quick to
 dismiss the case.


                          ____________________


 After some more testing: You can't just swap  kernels  on  OpenBSD  by
 moving  around  the  /bsd, /bsd.mp, and /bsd.sp files. If you switch a
 kernel, you can boot from it -- but  you  can't  install  patches  the
 syspatch  way,  because  files  are missing from /usr/share/compile. I
 don't know where they come from,  probably  some  point  in  the  base
 install ...

 Point  is,  even  if  syspatch  was to look at which kernel is running
 instead of how many cores you have, it still wouldn't work.

 Only question remaining: Why are there two  kernels?  Is  keeping  the
 non-MP variant worth the trouble?


                          ____________________


 At  the  end  of  the  day,  it's  just that I'm still unfamiliar with
 OpenBSD.  Arch Linux might do similarly "weird" things, but I've  been
 using  Arch  for  almost  ten  years  now,  so  there  are very little
 surprises.

 I have to keep using OpenBSD to learn more about it. That's the way to
 go.