Files
chromebrew/packages/gcloud.rb
2025-07-29 20:28:27 +00:00

71 lines
2.7 KiB
Ruby

require 'package'
class Gcloud < Package
description 'Command-line interface for Google Cloud Platform products and services'
homepage 'https://cloud.google.com/sdk/gcloud/'
version '532.0.0'
license 'Apache-2.0'
compatibility 'all'
source_url({
aarch64: "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-#{version}-linux-arm.tar.gz",
armv7l: "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-#{version}-linux-arm.tar.gz",
i686: "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-#{version}-linux-x86.tar.gz",
x86_64: "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-#{version}-linux-x86_64.tar.gz"
})
source_sha256({
aarch64: '696a2971e5a79e4f1b08a71a0e4f8627e3d6b9c860282bc4b2b36f355145b06f',
armv7l: '696a2971e5a79e4f1b08a71a0e4f8627e3d6b9c860282bc4b2b36f355145b06f',
i686: 'fcba45665f644047a2aa1f0cb09a4e04e99a6e60062a84b4460e2ddaec4b73c0',
x86_64: '3228c25c32922f62b7c516c9ecc0f431ac7e7b8f72e7825540479cc6d2abc306'
})
depends_on 'python3'
depends_on 'xdg_base'
no_shrink
no_compile_needed
print_source_bashrc
def self.build
@gcloudenv = <<~EOF
# The next line updates PATH for the Google Cloud SDK.
if [ -f '#{CREW_PREFIX}/share/gcloud/path.bash.inc' ]; then . '#{CREW_PREFIX}/share/gcloud/path.bash.inc'; fi
# The next line enables shell command completion for gcloud.
if [ -f '#{CREW_PREFIX}/share/gcloud/completion.bash.inc' ]; then . '#{CREW_PREFIX}/share/gcloud/completion.bash.inc'; fi
EOF
end
def self.install
FileUtils.mkdir_p "#{CREW_DEST_HOME}/.config/gcloud"
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/gcloud"
FileUtils.cp_r Dir['.'], "#{CREW_DEST_PREFIX}/share/gcloud"
FileUtils.cd "#{CREW_DEST_PREFIX}/share/gcloud" do
system "./install.sh \
--usage-reporting false \
--rc-path #{HOME}/.bashrc \
--quiet"
end
Dir.mkdir "#{CREW_DEST_PREFIX}/bin"
Dir.chdir "#{CREW_DEST_PREFIX}/share/gcloud/bin" do
system "find -type f -maxdepth 1 -exec ln -s #{CREW_PREFIX}/share/gcloud/bin/{} #{CREW_DEST_PREFIX}/bin/{} \\;"
end
FileUtils.mv "#{HOME}/.bashrc.backup", "#{HOME}/.bashrc"
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/etc/env.d/"
File.write "#{CREW_DEST_PREFIX}/etc/env.d/gcloud", @gcloudenv
end
def self.postinstall
ExitMessage.add <<~EOM
To finish the installation, execute the following:
gcloud init
EOM
end
def self.postremove
Package.agree_to_remove("#{HOME}/.config/gcloud")
Package.agree_to_remove("#{CREW_PREFIX}/share/gcloud")
end
end