my $resp = $client->get($apiurl);
die "Getting versions failed: HTTP status $resp->{status} (content: $resp->{content})" unless $resp->{success};
my $decoded = decode_json($resp->{content});
-my @versions = reverse sort @{$decoded->{versions}};
+my @versions = reverse sort {
+ (system("/usr/bin/dpkg", "--compare-versions", "$a", "gt", "$b") == 0) ? 1 : -1
+} @{$decoded->{versions}};
# Keep the most recent 5 versions.
splice(@versions, 0, 5);