]> git.sur5r.net Git - i3/i3/commitdiff
travis/cleanup-bintray: use dpkg --compare-versions (#2453)
authorMichael Stapelberg <stapelberg@users.noreply.github.com>
Sat, 24 Sep 2016 15:16:02 +0000 (08:16 -0700)
committerGitHub <noreply@github.com>
Sat, 24 Sep 2016 15:16:02 +0000 (08:16 -0700)
…instead of lexicographically sorting strings, which fails for the
following situation:

    4.12-96-g086276b
    4.12-97-g59c070b
    4.12-108-gb850cfb

This bug resulted in new packages being built and uploaded, then
immediately deleted.

Thanks to eeemsi for reporting the issue.

travis/cleanup-bintray.pl

index 296ae38818a4b560e875da9696a5c2a85e03e426..e89efb1bab0223b9393dffcb498556ec07f55036 100755 (executable)
@@ -25,7 +25,9 @@ my $client = HTTP::Tiny->new(
 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);