16982: OS packages build as ~devN, Python and Ruby use .devN
[arvados.git] / services / login-sync / arvados-login-sync.gemspec
index 2f95a55c55f45c65b3fe767961e562f9006f554c..8e338d2f2b697f47b45f1d3003d7c5c6f4607873 100644 (file)
@@ -1,24 +1,49 @@
-if not File.exists?('/usr/bin/git') then
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
+if not File.exist?('/usr/bin/git') then
   STDERR.puts "\nGit binary not found, aborting. Please install git and run gem build from a checked out copy of the git repository.\n\n"
   exit
 end
 
-git_timestamp, git_hash = `git log -n1 --first-parent --format=%ct:%H .`.chomp.split(":")
-git_timestamp = Time.at(git_timestamp.to_i).utc
+git_dir = ENV["GIT_DIR"]
+git_work = ENV["GIT_WORK_TREE"]
+begin
+  ENV["GIT_DIR"] = File.expand_path "#{__dir__}/../../.git"
+  ENV["GIT_WORK_TREE"] = File.expand_path "#{__dir__}/../.."
+  git_timestamp, git_hash = `git log -n1 --first-parent --format=%ct:%H #{__dir__}`.chomp.split(":")
+  if ENV["ARVADOS_BUILDING_VERSION"]
+    version = ENV["ARVADOS_BUILDING_VERSION"]
+  else
+    version = `#{__dir__}/../../build/version-at-commit.sh #{git_hash}`.encode('utf-8').strip
+  end
+  version = version.sub("~dev", ".dev").sub("~rc", ".rc")
+  git_timestamp = Time.at(git_timestamp.to_i).utc
+ensure
+  ENV["GIT_DIR"] = git_dir
+  ENV["GIT_WORK_TREE"] = git_work
+end
 
 Gem::Specification.new do |s|
   s.name        = 'arvados-login-sync'
-  s.version     = "0.1.#{git_timestamp.strftime('%Y%m%d%H%M%S')}"
+  s.version     = version
   s.date        = git_timestamp.strftime("%Y-%m-%d")
   s.summary     = "Set up local login accounts for Arvados users"
   s.description = "Creates and updates local login accounts for Arvados users. Built from git commit #{git_hash}"
   s.authors     = ["Arvados Authors"]
   s.email       = 'gem-dev@curoverse.com'
-  s.licenses    = ['GNU Affero General Public License, version 3.0']
-  s.files       = ["bin/arvados-login-sync"]
+  s.licenses    = ['AGPL-3.0']
+  s.files       = ["bin/arvados-login-sync", "agpl-3.0.txt"]
   s.executables << "arvados-login-sync"
   s.required_ruby_version = '>= 2.1.0'
-  s.add_runtime_dependency 'arvados', '~> 0.1', '>= 0.1.20150615153458'
+  s.add_runtime_dependency 'arvados', '~> 1.3.0', '>= 1.3.0'
+  s.add_runtime_dependency 'launchy', '< 2.5'
+  # arvados-google-api-client 0.8.7.2 is incompatible with faraday 0.16.2
+  s.add_dependency('faraday', '< 0.16')
+  # arvados-google-api-client (and thus arvados) gems
+  # depend on signet, but signet 0.12 is incompatible with ruby 2.3.
+  s.add_dependency('signet', '< 0.12')
   s.homepage    =
     'https://arvados.org'
 end