Octopkg updated 316 packages and broke the desktop

Hi Gulliver. This is the content of my file autostart.sh:

#!/bin/sh
tint2&
plank&
picom&
dsbmc -i&
dsbbatmon&
sudo -E networkmgr&
redshift -l$(getlalo)&
chkmultihead&
/usr/bin/refreshbg&
daemon -f update_obmenu -a -p 5&
dsbmixer -i&
brightness_listener&
xbindkeys&
dunst&
gxkb&
xdg-user-dirs-update&
/usr/local/bin/VBoxClient-all&
start-pulseaudio-x11&
/usr/local/libexec/at-spi-bus-launcher --launch-inmediately&#!/bin/sh

I had this same problem. Creating the autostart file in ~ /.config/openbox/ with the content you posted was the solution, thank you so much :grinning:

DSBAutostart creates desktop files for autostarting programs. The desktop files are read and executed by a script which is part of Openbox. This script uses the Python module py37-xdg (now py38-xdg). Due to the Python upgrade you have to install py38-xdg:

# pkg install py38-xdg

Using ~/.config/DSB/autostart.sh is deprecated, and DSBAutostart will ignore that file when editing the autostart list.

1 Like

The 130R-20210508 Errata was updated.

1 Like

pkg install py38-xdg ↓

Thank you for the explanation and subsequent solution. :ok_hand:

Everything went back to normal.

Hi. Following the instructions of the errata file has revived my GUI. Thank you all for your support.

1 Like

In my case, installing py38-xdg has not been the solution, it has made it worse, and I have had to uninstall it, since it prevented the ~ / .config / openbox / autostart.sh commands from being executed and the GUI did not it worked correctly.

As I already wrote, using ~/.config/openbox/autostart.sh is deprecated. Remove it or comment out the call to it in ~/.xinitrc or ~/.xprofile (whichever applies).

EDIT: Sorry for the confusion, I meant ~/.config/DSB/autostart.sh. Use either the XDG autostart mechanism or Openbox’ autostart.sh, but not both.

1 Like

If I had read this thread here in the forum first before updating, it would have saved a lot of time and I would have been spared a lot of frustration as well.
I do not with Oktopkg, but with commands in the terminal performed the update.
Same trouble as everyone else.

pkg install py38-xdg fixed it for me very well.

1 Like

One piece of information is absent in almost all of the posts in this thread:
Which version of NomadBSD is used!?

Is every post in this thread related to the newest version R130?
-or could it be, that the different experiences and solutions are explained by the fact that different versions are used???

Please state your version of NomadBSD (130R, 1.4, 1.3 or older) and let us shed some light on this possibility…

On NomadBSD 130R-20210508 and NomadBSD-1.4 I succeeded with this big package upgrade :+1:
Here are my steps:

% su
# bectl create 2021-07-21_bf-pkg-upgrade (gives you a fallback boot environment if anything goes wrong)
# sh
# for i in $(pkg query -g %n ‘py37-*’); do echo ${i}:py38-${i#py37-}; done

NB.
please notice the change in quotes (') compared to posts above mentioning this command!
With the wrong quotes the command fails silently without doing anything…
Now executing pkg query -g %n 'py37-*' should return nothing and
executing pkg query -g %n 'py38-*' should return a whole list of packages.
Continuing with:

# exit (return from sh - not strictly necessary)
# pkg upgrade (read the upgrade message and press [y] - probably necessary 2 times)
# sed -i ‘’ ‘s/python3.7/python3.8/’ /usr/local/bin/dsbxinput
# sed -i ‘’ ‘s/python3.7/python3.8/’ /usr/local/bin/lbi-gui
# sed -i ‘’ ‘s/python3.7/python3.8/’ /usr/bin/nomadbsd-chusr
# pkg remove python37
# pkg autoremove
reboot with crossed fingers :crossed_fingers: (reboot meant to test if everything starts up normally, in general not needed after upgrade)

This way py38-qt5-* is updated/installed during the pkg upgrade, so no need to do it separately,
and the only python-3.7 package left is python37 itself - it can safely be removed.
If you ignore the for i in $(pkg query...-command, you will end up with a mess of duplicate packages for py37 and py38,
and a few py37 not upgraded to py38 (probably somewhat cleaned up by autoremove).

After a reboot everything is coming up successfully (plank, tint2, BSD)

PS.
If you later need to boot into the boot environment created before the upgrade please read my other thread:

If you recieve the following error (maybe multiple times):

pkg: sqlite error while executing UPDATE packages SET name=?1 WHERE id=?2 in file pkgdb.c:2643: UNIQUE constraint failed: packages.name

It could indicate, you already have installed some of the py38-* packages and your system is in a "messy’ state (unless you’re a developer) where some packages are installed for both versions of python. Everything could still function normally and without a problem, though

The 130R-20210508 Errata 17 was updated.

Can you please specify if in case one hasn’t performed such updade yet, are the errata steps due to be applied in any case before, or else the latest update already includes such fix?
Thank you

They are applied after pkg upgrade. The latter provides FreeBSD software package upgrades only.

Had to change python3.7 to python3.8 for ipfwGUI.
But you are probably already aware of this and maybe other cases…

The published errata at https://nomadbsd.org performed before running the big update headed off any issues with the desktop starting normally.

1 Like

Errata was updated, thanks :slight_smile:

3 Likes

(Edit:) OK, I don’t know why, but even as root I was denied changing ipfwGUI without changing permissions. But I now see, the other files changed with sed have exactly the same permissions. So I may have overlooked something when changing this file…

Not relevant:
Before running sed on ipfwGUI it is necessary to manipulate the permissions and add write permission (and withdraw it afterwards).

> ls -l /usr/local/bin/ipfwGUI
.r-xr-xr-x 10k root 29 Jul 15:55 /usr/local/bin/ipfwGUI

The information from the Errata helped me a lot after doing a pkg upgrade and being lost with a blank deskop. Thank you all!

confirm it has worked for me applying the errata instructions before the pkg upgrade