Updating Snap Bases

This is a bit of a dayjob post, but as I maintain a bunch of snaps in my own time, I figured it’s not out of place here. Typically when I (or indeed any developer) uses snapcraft to build a snap, a snapcraft.yaml drives the process. I’ll integrate some kind of CI or build system, and start publishing to the Snap Store. Usually, once created, the yaml doesn’t need much in the way of changes. [Read More]

Snapcraft Clinic Successes

On Thursday I mentioned we were restarting the Snapcraft Clinic. Basically we stand up a regular video call with engineers from the snap and snapcraft team & us from Snap Advocacy. Developers of applications and publishers of snaps are invited to join to troubleshoot. There was nothing especially secret or private discussed, but as we don’t record or stream the calls, and I don’t have direct permission to mention the applications or people involved, so I’ll keep this a little vague. [Read More]

Snapcraft Clinic

At work we have a forum where developers can discuss packaging Linux applications, specifically as snaps. Sometimes developers just want to pair through a problem to get it either resolved for themselves, or for whatever is blocking to be handed off to the right people. One strategy for supporting developers we found effective was via regular live video conference. So last year we started the Snapcraft Clinic. On a semi-regular basis we dedicate time to join with anyone who has technical issues with snapping, to help them. [Read More]

A Tale of Two Updates

Helping your users stay up to date on their workstation is something I believe OS vendors should endeavour to do, to the best of their ability. Some users aren’t able to find time to install updates, or are irritated by update dialogs. Others are skeptical of their contents, some even block updates completely. No OS vendor wants to be “That Guy” featuring in the news as millions of their customers are found to be vulnerable on their watch. [Read More]

Jamming with Sonobus

Before last week, I’d never heard of SonoBus. While on holiday I’d packaged up Spot - a Gtk Spotify client, which I wrote about recently. The next day I made a snap of SonoBus too! I did this because while there were binary builds for Windows and Mac, there was no binary release for Linux, other than in the Arch User Repository. For those that, like me, didn’t know about SonoBus, it’s an “easy to use application for streaming high-quality, low-latency peer-to-peer audio between devices over the internet or a local network”. [Read More]

Scanning Frustration

“Printers are devices for causing pain and frustration. They also sometimes print stuff out.” - Me, many times over the years. I have an HP LaserJet 100 MFP M175nw networked laser printer / scanner / copier. I’ve had it since 2013 where it’s generally worked okay most of the time. We don’t print a ton of things in this house, but when we do, it’s typically urgently required for work or school. [Read More]

Spotty Connection

I had a few days off work this week. It was very enjoyable to spend a bit more time with the family, doing some jobs around the house, going for walks, and generally nothing else, thanks to The Event. However, in the quiet moments I still find myself browsing around, stumbling on new software I know will be enjoyed by my friends on Linux, and feel compelled to package it up, as a snap. [Read More]

Migrating Two Factor Auth

I use a ton of services which either require or recommend 2fa as part of the authentication process. I used to use “Google Authenticator” then more recently “Authenticator Plus”. However Authenticator Plus seems to be no longer maintained. So while I have no problems with it, I think it is time to migrate to something else. Step up, Aegis Authenticator, a free, open source authenticator app, available on the play store, and F-Droid. [Read More]

All Ahead Stop

Well, things have escalated in Ubuntu-land since the posts I made on Monday and Tuesday! The Ubuntu archive for Hirsute (the in-development version which will become 21.04) has been temporarily frozen. It seems there’s a rather knarly bug in the tools used to build packages, which is causing them to be “mis-built” - i.e. broken. I (and others) noticed this over the weekend, via a breakage in snapd - the daemon which mediates the installation and running of snaps. [Read More]

Going Backwards

Yesterday I wrote about how I made a mistake by updating my primary Ubuntu computer to include the proposed pocket. I shouldn’t have done this. So today I quickly hacked together a script to take any packages which came from proposed and “downgrade” them back to the release pocket. It’s not pretty, but it worked, for me. #!/bin/bash TMPDIR=$(mktemp -d) PACKAGES=$TMPDIR/packages DOWNGRADE=$TMPDIR/downgrade # Get list of all installed packages dpkg -l | grep ^ii | awk -F ' ' '{ print $2}' > $PACKAGES # Start the downgrade script echo "sudo apt install \\" > $DOWNGRADE # For each package in the list of installed packages while read p; do # Get the summary of where the package came from apt-cache policy $p > $TMPDIR/$p # Get the line after (grep -A 1 and tail -n 1) the highlighted one with 3 stars SOURCE=$(grep -A 1 "^\ *\*\*" $TMPDIR/$p | tail -n 1 | awk -F ' ' '{ print $3}' ) # If that line suggests we got the package from proposed, add it to the script if [[ "$SOURCE" == *"hirsute-proposed"* ]]; then echo "$p/hirsute \\" >> $DOWNGRADE fi done <$PACKAGES # Tell the user what to run to actually do the downgrade echo "Run sh $DOWNGRADE" Don’t use this. [Read More]