Heya folks! It's Friday, and that means it's time for the weekly Solus roundup!

With this sync, we are upping the Usr-Merge chance by 15%. That brings the total to 25%, meaning a full quarter of all updated Solus systems will undergo the Usr-Merge process. If you are not familiar with Usr-Merge, check out our blog post on the subject.

Now that the Usr-Merge is well underway, the team will be spending the next couple of weeks focusing on getting a new release out the door. The issues surrounding the merge kept us from putting out ISOs, and we are excited to be able to safely build them again. New ISOs are already Usr-Merged, so when they go out, users will not have to worry about it. There are still some issues that have to be fixed before we can make a release, but we're hoping to get it out sooner rather than later.

Patches to both Firefox and Thunderbird have been added to fix envvar conflicts with each other. We have to set some environmental variables in the Firefox launch script in order to make Firefox work correctly on Solus. The problem is that these environmental variables are also used by Thunderbird, since they share much of the same code, and if they're set to the values FireFox needs, it breaks Thunderbird. When you click on a link in FireFox that opens something registered to be handled by ThunderBird, like mail links or calendar invites, it opens ThunderBird as a child process of FireFox and inherits the environmental variables, breaking Thunderbird. This will no longer be an issue.

Frog Protocols for Wayland have been included in the Solus repository this week. This is a set of Wayland protocols that aims to have much more rapid development than Wayland Protocols. The Wayland Protocols project has a problem where it takes months, even years, for new protocols to land, meaning that users are still missing basic functionality unless the Desktop Environment they're using implements them as private protocols. While nothing uses this project currently, it has been included to facilitate easier desktop development.

Our Solus Cleanup Crew™️ has been hard at work this week bringing the repository up to current standards:

Most of these tasks are beginner-friendly, and can be a great way to learn Solus packaging. We invite anyone that has the time and inclination to join us!

If you would like to join:

  1. Join the Solus Packaging Room on Matrix
  2. Read and practice our packaging documentation
  3. Submit your first Pull Request. We recommend doing the homepage task
  4. Follow along the review process until your PR gets merged
  5. Continue on contributing!

Security updates

We have a few important security updates this week. One is from the CUPS project, fixing a remote code execution vulnerability.

The other stems from our default PAM configuration, in which the root user was set as a passwordless account, enabling people with physical access to the machine to login as root from a TTY without a password. Not all installations of Solus were affected, and a fix has already been cherry-picked to the Stable repository.

General updates

The full list of updated packages can be found here.

That’s all for this week, folks! We'll be here same time, same place next week for another roundup of the news!

Known issues

  • When running eopkg check, linux-current and linux-lts show as broken. These are false positives, and can be disregarded.

How did this week's update go for you?

This poll has ended.

    I got an error in the VM install ...

    [✓] Applying udev rules success
    System error. Program terminated.
    (-30973, 'BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery -- BDB0061 PANIC: Invalid argument')
    Please use 'eopkg help' for general help.
    Use --debug to see a traceback.
    Error in atexit._run_exitfuncs:
    Traceback (most recent call last):
    File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
    func(targs, **kargs)
    File "/usr/lib/python2.7/site-packages/pisi/init.py", line 75, in _cleanup
    filesdb.close()
    File "/usr/lib/python2.7/site-packages/pisi/db/filesdb.py", line 94, in close
    self.filesdb.close()
    File "/usr/lib/python2.7/shelve.py", line 146, in close
    self.sync()
    File "/usr/lib/python2.7/shelve.py", line 173, in sync
    self.dict.sync()
    File "/usr/lib/python2.7/bsddb/init.py", line 347, in sync
    return DeadlockWrap(self.db.sync)
    File "/usr/lib/python2.7/bsddb/dbutils.py", line 68, in DeadlockWrap
    return function(
    args, **_kwargs)
    DBRunRecoveryError: (-30973, 'BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery -- BDB0060 PANIC: fatal region error detected; run recovery')
    Error in sys.exitfunc:
    No handlers could be found for logger "pisi"
    System error. Program terminated.
    (-30973, 'BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery -- BDB0060 PANIC: fatal region error detected; run recovery')
    Please use 'eopkg help' for general help.
    Use --debug to see a traceback.

      all went well. appreciate the updates and your write-ups. really digging them actually.

      Two observations:

      1) at the end of sync I noticed for the first time updating hwdb. db is probably database but never seen that one before.

      2) sudo reboot is back, don't know why. Its very rare you need the sudo so just a heads up.

        All good once I got back in after my Wayland treacle problems (reported to KDE).

        brent 1) at the end of sync I noticed for the first time updating hwdb. db is probably database but never seen that one before.

        It is systemd. Yes this is normal.

        brent 2) sudo reboot is back, don't know why. Its very rare you need the sudo so just a heads up.

        What? reboot does not require sudo I checked.

          Harvey
          1) thanks, never noticed

          2) mine did require sudo. after 'reboot' I got a bunch of red terminal output I don't remember (syncing, making dinner, pouring drink) but too distracted to read it. It forced me to sudo. I was just guessing it was a temporary state that would change on reboot. It always does. or maybe I have something broke? either way smooth update and running fine.

            brent ' I got a bunch of red terminal output I don't remember

            Without knowing what that was, I have no way of being sure what happened.

              Harvey Without knowing what that was, I have no way of being sure what happened.

              I think experience has taught me the rare rare rare times I have had to sudo reboot it always fixed itself within a day. That's why I glossed over/did not consider it important.
              In fact if I try right now I kinda feel I will get no error. Lemme see and edit when back.

              edit: my absence of concern was valid. It just rebooted fine.

              Some interesting new additions to the repository this week:

              • deckmaster An application to control your Elgato Stream Deck on Linux (Thanks to @ianmjones)
              • tetrs Play Tetris in a terminal. (Thanks to @androidnisse )
                • Note this requires a terminal like alacritty or kitty for a smooth experience.

                EbonJaeger The other stems from our default PAM configuration, in which the root user was set as a passwordless account, enabling people with physical access to the machine to login as root from a TTY without a password. Not all installations of Solus were affected, and a fix has already been cherry-picked to the Stable repository.

                nullok?

                "nullok" has been there for everyone, for the last 5 months, yep...

                  Harvey tetrs Play Tetris in a terminal. (Thanks to androidnisse)

                  Konsole seems to be quite smooth as well.

                  All went smooth on my KDE box
                  but it's only a tiny little update with 352 MB 😉

                  Thanks guys again for your work. I appreciate this very much

                  For clarity with tetrs, I gave the notice recommending alacritty or kitty due to their readme stating:

                  Use a terminal like kitty (or any terminal with support for progressive keyboard enhancement) for smoother gameplay experience. Note that otherwise DAS/ARR/Soft drop speed will be determined by Keyboard/OS/terminal emulator settings.

                  Explanation.
                  Terminals do not usually send "key released" signals, which is a problem for mechanics such as "press left to move left repeatedly until key is released". Crossterm automatically detects 'kitty-protocol'-compatible terminals where this issue is solved, allowing for smooth, configurable gameplay controls.

                  (This also affects holding Soft Drop locking pieces on ground instantly, as opposed to only upon press down -- for ergonomics this is explicitly mitigated by the 'No soft drop lock' configuration.)

                  The link states:

                  Note that, currently, only the following support this protocol:

                  kitty terminal
                  foot terminal
                  WezTerm terminal
                  alacritty terminal
                  notcurses library
                  neovim text editor
                  kakoune text editor
                  dte text editor

                  So if you notice issues using a different terminal this is why.

                    This update broke my system somewhat. It boots to a blinking line. I can go to tty and log in and do terminal stuff except rollback gives an error: system error. Program terminated. Repo item qt5-virtualkeyboard not found.

                    Graphical stuff won't start. Any pointers what to do?
                    Also it probably was a few months since I last updated in case that makes a difference...

                      Once again, I updated two laptops and four VMs, all without any issues at all. Another great job by the team!

                      EbonJaeger Patches to both Firefox and Thunderbird have been added to fix efivar conflicts with each other.

                      I think you meant to write "envvar" (or similar) there ^^