summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Reinert2016-05-15 23:02:14 +0200
committerJoakim Reinert2016-05-15 23:02:14 +0200
commit0c367d156fa11138e05510c434ea1267a9c620e1 (patch)
treec5eaec80075bb8580aeeb37b703fffbadfed4797
parent0fc8e0c7b109bbd7ce113bae271de7e8fe0dc845 (diff)
downloadaur-0c367d156fa11138e05510c434ea1267a9c620e1.tar.gz
update to gem version 0.1.1
-rw-r--r--.SRCINFO10
-rw-r--r--.gitignore1
-rw-r--r--PKGBUILD11
-rwxr-xr-xupdate.rb84
4 files changed, 98 insertions, 8 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 77ec899b1b1c..27d2fc17e377 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 5d8accebea4d..153637c77ae3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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