diff options
author | Joakim Reinert | 2016-05-15 23:02:14 +0200 |
---|---|---|
committer | Joakim Reinert | 2016-05-15 23:02:14 +0200 |
commit | 0c367d156fa11138e05510c434ea1267a9c620e1 (patch) | |
tree | c5eaec80075bb8580aeeb37b703fffbadfed4797 | |
parent | 0fc8e0c7b109bbd7ce113bae271de7e8fe0dc845 (diff) | |
download | aur-0c367d156fa11138e05510c434ea1267a9c620e1.tar.gz |
update to gem version 0.1.1
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | PKGBUILD | 11 | ||||
-rwxr-xr-x | update.rb | 84 |
4 files changed, 98 insertions, 8 deletions
@@ -1,8 +1,8 @@ # Generated by mksrcinfo v8 -# Sun May 15 12:43:41 UTC 2016 +# Sun May 15 21:00:23 UTC 2016 pkgbase = ruby-xapian-findex pkgdesc = A simple file indexer and full text search using Xapian - pkgver = 0.1.0 + pkgver = 0.1.1 pkgrel = 1 url = https://github.com/jreinert/findex arch = any @@ -10,10 +10,10 @@ pkgbase = ruby-xapian-findex depends = ruby depends = ruby-xapian depends = ruby-filemagic - noextract = xapian-findex-0.1.0.gem + noextract = xapian-findex-0.1.1.gem options = !emptydirs - source = https://rubygems.org/downloads/xapian-findex-0.1.0.gem - sha1sums = 2afc4c91b0962f7e26250fc8bacb718cc4216dec + source = https://rubygems.org/downloads/xapian-findex-0.1.1.gem + sha256sums = 3fd1d16a64cbc0ad078ec3ef942ca8dc25c63ae82311f4140ada56bf3e44dd92 pkgname = ruby-xapian-findex diff --git a/.gitignore b/.gitignore index 8966b040e5fc..2e25cb402ca1 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /*.gem +/*.pkg.tar.xz @@ -1,9 +1,8 @@ -# Generated by gem2arch (https://github.com/anatol/gem2arch) # Maintainer: Joakim Reinert <mail@jreinert.com> _gemname=xapian-findex pkgname=ruby-$_gemname -pkgver=0.1.0 +pkgver=0.1.1 pkgrel=1 pkgdesc='A simple file indexer and full text search using Xapian' arch=(any) @@ -13,7 +12,13 @@ depends=(ruby ruby-xapian ruby-filemagic) options=(!emptydirs) source=(https://rubygems.org/downloads/$_gemname-$pkgver.gem) noextract=($_gemname-$pkgver.gem) -sha1sums=('2afc4c91b0962f7e26250fc8bacb718cc4216dec') +sha256sums=('3fd1d16a64cbc0ad078ec3ef942ca8dc25c63ae82311f4140ada56bf3e44dd92') + +package() { + local _gemdir="$(ruby -e'puts Gem.default_dir')" + gem install --ignore-dependencies --no-user-install -i "$pkgdir/$_gemdir" -n "$pkgdir/usr/bin" $_gemname-$pkgver.gem + rm "$pkgdir/$_gemdir/cache/$_gemname-$pkgver.gem" +} package() { local _gemdir="$(ruby -e'puts Gem.default_dir')" diff --git a/update.rb b/update.rb new file mode 100755 index 000000000000..fbbd2279b1d3 --- /dev/null +++ b/update.rb @@ -0,0 +1,84 @@ +#!/usr/bin/env ruby + +require 'json' +require 'net/http' +require 'uri' + +class Hash + def symbolize_keys! + keys.each do |key| + self[key.to_sym] = delete(key) + end + end +end + +PKGBUILD_TEMPLATE = <<END +# Maintainer: Joakim Reinert <mail@jreinert.com> + +_gemname=xapian-findex +pkgname=ruby-$_gemname +pkgver=%{number} +pkgrel=1 +pkgdesc='%{summary}' +arch=(any) +url='https://github.com/jreinert/findex' +license=(MIT) +depends=(ruby ruby-xapian ruby-filemagic) +options=(!emptydirs) +source=(https://rubygems.org/downloads/$_gemname-$pkgver.gem) +noextract=($_gemname-$pkgver.gem) +sha256sums=('%{sha}') + +package() { + local _gemdir="$(ruby -e'puts Gem.default_dir')" + gem install --ignore-dependencies --no-user-install -i "$pkgdir/$_gemdir" -n "$pkgdir/usr/bin" $_gemname-$pkgver.gem + rm "$pkgdir/$_gemdir/cache/$_gemname-$pkgver.gem" +} + +package() { + local _gemdir="$(ruby -e'puts Gem.default_dir')" + gem install --ignore-dependencies --no-user-install -i "$pkgdir/$_gemdir" -n "$pkgdir/usr/bin" $_gemname-$pkgver.gem + rm "$pkgdir/$_gemdir/cache/$_gemname-$pkgver.gem" +} +END + +gem_name = nil +gem_version = nil + +File.open('PKGBUILD') do |f| + f.each do |line| + match = line.match(/^(_gemname=(?<gem_name>\S+)|pkgver=(?<gem_version>\S+))/) + next unless match + gem_name ||= match[:gem_name] + gem_version ||= match[:gem_version] + break if gem_name && gem_version + end +end + +unless gem_name && gem_version + abort("Couldn't parse gem name and/or version from PKGBUILD") +end + +uri = URI('https://rubygems.org') + +Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == 'https') do |http| + response = http.get("/api/v1/versions/#{gem_name}/latest.json") + json_response = JSON.parse(response.body) + latest_version = json_response['version'] + + if gem_version == latest_version + puts "Already up to date" + exit + end + + response = http.get("/api/v1/versions/#{gem_name}.json") + json_response = JSON.parse(response.body) + version_object = json_response.find { |version| version['number'] == latest_version } + version_object.symbolize_keys! + File.write('PKGBUILD', format(PKGBUILD_TEMPLATE, version_object)) + + system('mksrcinfo') + system('git add PKGBUILD .SRCINFO') + system("git commit -m 'update to gem version #{latest_version}") + system("git push") +end |