Workarounds for applications which are broken in 20.04LTS

20.04 is a big release and comes after the deprecation of python2. Whilst there’s still some support for python2 in Focal, occasional applications will break. I thought it would be nice to pull together to get some of these old applications working again. There’s several ways we can do this: rewriting in python3 (or other supported language), bundling as snaps/flatpaks/appimages or providing like-for-like alternatives.

What applications have given you trouble in 20.04? Have you found a workaround.

To get the ball rolling, here’s my work-in-progress to get a snap of sc-controller; a utility I used almost every day prior to 20.04. I’d be happy to collaborate on similar projects to make the transition to 20.04 as frictionless as possible. Is anyone up for the challenge?

3 Likes

Is “install python2” not also a valid option?

1 Like

python2 exists but not all of the old python libraries have been carried forward.

1 Like

Thanks Neil. I appreciate your efforts.

1 Like

Vagrant is currently throwing tons of ruby warnings back into the console:

~ vagrant provision                                                                                                                                                 Fri 24 Apr 2020 11:57:14 BST
NOTE: Gem::Specification.default_specifications_dir is deprecated; use Gem.default_specifications_dir instead. It will be removed on or after 2020-02-01.
Gem::Specification.default_specifications_dir called from /usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/bundler.rb:428.
NOTE: Gem::Specification.default_specifications_dir is deprecated; use Gem.default_specifications_dir instead. It will be removed on or after 2020-02-01.
Gem::Specification.default_specifications_dir called from /usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/bundler.rb:428.
/usr/share/rubygems-integration/all/gems/vagrant-2.2.6/plugins/kernel_v2/config/vm.rb:354: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/usr/share/rubygems-integration/all/gems/vagrant-2.2.6/plugins/kernel_v2/config/vm_provisioner.rb:92: warning: The called method `add_config' is defined here
/usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/errors.rb:103: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/usr/share/rubygems-integration/all/gems/i18n-1.8.2/lib/i18n.rb:195: warning: The called method `t' is defined here
(eval):3: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/ui.rb:223: warning: The called method `say' is defined here
==> default: Running provisioner: shell...
(eval):3: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/ui.rb:223: warning: The called method `say' is defined here
    default: Running: inline script
/usr/share/rubygems-integration/all/gems/vagrant-2.2.6/plugins/provisioners/shell/provisioner.rb:56: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
(eval):1: warning: The called method `detail' is defined here
    default: Updating system and installing docker
    default: Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease
    [ ... ]
2 Likes

Just confirmed what you mentioned above. It is working (not broken) but throwing some Ruby 2.7 related warnings which I agree it is annoying. I’ll try to clean those warnings via a stable release update.

2 Likes

Thank you. Do you need me to create a launchpad bug report to reference?

1 Like

Feel free to file a bug report, I can use that for the SRU (Stable Release Update).

Actually, it was already reported here: https://bugs.launchpad.net/ubuntu/+source/vagrant/+bug/1871685

1 Like

I think snaps are great for easily installing older applications on newer distro’s.

I created a snap for S4A. This is a 32-bit application which required a lot of fiddling to get working on 18.04, I didn’t even test it on 20.04 anymore. The application is more or less unmaintained, so I think it’s unlikely it will be rewritten/rebuilt for amd64.

1 Like

Note that, even though your application was not released to stable, it’s already available in Ubuntu Software, and it’s not clear to users that it’s a bleeding edge build. It might be useful to either unlist the application until it works, or to put the disclaimer about the snap not working on top. It seems you already have a negative review in the software store:

I think that reflects a bigger problem with the Software store, where “reviews” become support requests but the maintainer does not have an avenue to reply. I’d rather the application was out there than locked away just now as at least I can show there’s demand for it.

Excellent! I’m going to try this out :slight_smile:

Since I didn’t say it explicitly; I’m happy to help out if anyone wants to take a shot at snapping an older application.

2 Likes

I tried it yesterday and noticed it can’t connect to arduino board while arduino ide can do it.
Can I pass some settings via terminal to make the snap access the usb ?