1 # Copyright (C) The Arvados Authors. All rights reserved.
3 # SPDX-License-Identifier: AGPL-3.0
5 if not File.exist?('/usr/bin/git') then
6 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"
10 git_dir = ENV["GIT_DIR"]
11 git_work = ENV["GIT_WORK_TREE"]
13 ENV["GIT_DIR"] = File.expand_path "#{__dir__}/../../.git"
14 ENV["GIT_WORK_TREE"] = File.expand_path "#{__dir__}/../.."
15 git_timestamp, git_hash = `git log -n1 --first-parent --format=%ct:%H #{__dir__}`.chomp.split(":")
16 if ENV["ARVADOS_BUILDING_VERSION"]
17 version = ENV["ARVADOS_BUILDING_VERSION"]
19 version = `#{__dir__}/../../build/version-at-commit.sh #{git_hash}`.encode('utf-8').strip
21 version = version.sub("~dev", ".dev").sub("~rc", ".rc")
22 git_timestamp = Time.at(git_timestamp.to_i).utc
24 ENV["GIT_DIR"] = git_dir
25 ENV["GIT_WORK_TREE"] = git_work
28 Gem::Specification.new do |s|
29 s.name = 'arvados-login-sync'
31 s.date = git_timestamp.strftime("%Y-%m-%d")
32 s.summary = "Set up local login accounts for Arvados users"
33 s.description = "Creates and updates local login accounts for Arvados users. Built from git commit #{git_hash}"
34 s.authors = ["Arvados Authors"]
35 s.email = 'packaging@arvados.org'
36 s.licenses = ['AGPL-3.0']
37 s.files = ["bin/arvados-login-sync", "agpl-3.0.txt"]
38 s.executables << "arvados-login-sync"
39 s.required_ruby_version = '>= 2.5.0'
40 # The minimum version's 'a' suffix is necessary to enable bundler
41 # to consider 'pre-release' versions. See:
42 # https://github.com/rubygems/bundler/issues/4340
43 s.add_runtime_dependency 'arvados', '~> 2.8.a'
44 s.add_runtime_dependency 'launchy', '< 2.5'
45 # arvados fork of google-api-client gem with old API and new
46 # compatibility fixes, built from ../../sdk/ruby-google-api-client/
47 s.add_runtime_dependency('arvados-google-api-client', '>= 0.8.7.5', '< 0.8.9')