“...I've been working since 2008 with Ruby / Ruby on Rails, love a bit of Elixir / Phoenix and learning Rust. I also poke through other people's code and make PRs for OpenSource Ruby projects that sometimes make it. Currently working for InPay...”

Rob Lacey (contact@robl.me)
Senior Software Engineer, Brighton, UK

RVM and GPG 2.1.17 bug

Oh how annoying, just trying to deploy a quick fix for a client.

DEBUG[f3c03d7b] 	Found old RVM 1.29.4 - updating.
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	Downloading https://get.rvm.io
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	[32mDownloading https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer.asc[0m
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	[0m
DEBUG[f3c03d7b] 	[32mVerifying /home/rails/.rvm/archives/rvm-installer.asc[0m
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	[0m
DEBUG[f3c03d7b] 	gpg: 
DEBUG[f3c03d7b] 	Signature made Sun 30 Dec 2018 10:44:46 UTC using RSA key ID 39499BDB
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	gpg: 
DEBUG[f3c03d7b] 	Can't check signature: public key not found
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	[31mWarning, RVM 1.26.0 introduces signed releases and automated check of signatures when GPG software found. Assuming you trust Michal Papis import the mpapis public key (downloading the signatures).
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	GPG signature verification failed for '/home/rails/.rvm/archives/rvm-installer' - 'https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer.asc'! Try to install GPG v2 and then fetch the public key:
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	    gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	or if it fails:
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	    command curl -sSL https://rvm.io/mpapis.asc | gpg --import -
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	the key can be compared with:
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	    https://rvm.io/mpapis.asc
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	    https://keybase.io/mpapis
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	NOTE: GPG version 2.1.17 have a bug which cause failures during fetching keys from remote server. Please downgrade or upgrade to newer version (if available) or use the second method described above.
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	[0m
DEBUG[f3c03d7b] 	
DEBUG[f3c03d7b] 	[0m
DEBUG[f3c03d7b] 	/home/rails/.rvm/scripts/functions/cli: line 238: return: _ret: numeric argument required
DEBUG[f3c03d7b]

Seems there is a bug in GPG when fetching remote keys. Solution for this Ubuntu server was to just install gnupg2 and install the key again.

rails@fashion1-002:~$ sudo apt-get install gnupg2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  gnupg-agent libassuan0 libksba8 libpth20 pinentry-gtk2
Suggested packages:
  gnupg-doc xloadimage pinentry-doc
The following NEW packages will be installed
  gnupg-agent gnupg2 libassuan0 libksba8 libpth20 pinentry-gtk2
0 to upgrade, 6 to newly install, 0 to remove and 177 not to upgrade.
Need to get 1,622 kB of archives.
After this operation, 4,115 kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://archive.ubuntu.com/ubuntu/ precise/main libassuan0 i386 2.0.2-1ubuntu1 [34.2 kB]
Get:2 http://archive.ubuntu.com/ubuntu/ precise-updates/main libksba8 i386 1.2.0-2ubuntu0.2 [107 kB]
Get:3 http://archive.ubuntu.com/ubuntu/ precise/main libpth20 i386 2.0.7-16ubuntu3 [50.1 kB]
Get:4 http://archive.ubuntu.com/ubuntu/ precise/main pinentry-gtk2 i386 0.8.1-1ubuntu1 [51.4 kB]
Get:5 http://archive.ubuntu.com/ubuntu/ precise-updates/main gnupg-agent i386 2.0.17-2ubuntu2.12.04.6 [298 kB]
Get:6 http://archive.ubuntu.com/ubuntu/ precise-updates/main gnupg2 i386 2.0.17-2ubuntu2.12.04.6 [1,082 kB]
Fetched 1,622 kB in 0s (9,323 kB/s)
Selecting previously unselected package libassuan0.
(Reading database ... 101031 files and directories currently installed.)
Unpacking libassuan0 (from .../libassuan0_2.0.2-1ubuntu1_i386.deb) ...
Selecting previously unselected package libksba8.
Unpacking libksba8 (from .../libksba8_1.2.0-2ubuntu0.2_i386.deb) ...
Selecting previously unselected package libpth20.
Unpacking libpth20 (from .../libpth20_2.0.7-16ubuntu3_i386.deb) ...
Selecting previously unselected package pinentry-gtk2.
Unpacking pinentry-gtk2 (from .../pinentry-gtk2_0.8.1-1ubuntu1_i386.deb) ...
Selecting previously unselected package gnupg-agent.
Unpacking gnupg-agent (from .../gnupg-agent_2.0.17-2ubuntu2.12.04.6_i386.deb) ...
Selecting previously unselected package gnupg2.
Unpacking gnupg2 (from .../gnupg2_2.0.17-2ubuntu2.12.04.6_i386.deb) ...
Processing triggers for man-db ...
Setting up libassuan0 (2.0.2-1ubuntu1) ...
Setting up libksba8 (1.2.0-2ubuntu0.2) ...
Setting up libpth20 (2.0.7-16ubuntu3) ...
Setting up pinentry-gtk2 (0.8.1-1ubuntu1) ...
Setting up gnupg-agent (2.0.17-2ubuntu2.12.04.6) ...
Setting up gnupg2 (2.0.17-2ubuntu2.12.04.6) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
rails@fashion1-002:~$ gpg2 --recv-keys 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
gpg: requesting key 39499BDB from hkp server keys.gnupg.net
gpg: key 39499BDB: public key "Piotr Kuczynski <piotr.kuczynski@gmail.com>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)