class RubyInstaller::Build::Components::PacmanUpdate

Public Class Methods

depends() click to toggle source
# File lib/ruby_installer/build/components/02_pacman_update.rb, line 5
def self.depends
  %w[msys2]
end

Public Instance Methods

description() click to toggle source
# File lib/ruby_installer/build/components/02_pacman_update.rb, line 9
def description
  "MSYS2 system update (optional)"
end
execute(args) click to toggle source
# File lib/ruby_installer/build/components/02_pacman_update.rb, line 13
def execute(args)
  msys.with_msys_apps_enabled do
    puts "Remove catgets to avoid conflicts while update  ..."
    # See https://github.com/Alexpux/MSYS2-packages/issues/1141
    run_verbose("pacman", "-Rdd", "catgets", "libcatgets", "--noconfirm")

    puts "#{description} part 1  ..."
    # Update the package database and core system packages
    res = run_verbose("pacman", "-Syu", *pacman_args)
    puts "#{description} #{res ? green("succeeded") : red("failed")}"
    raise "pacman failed" unless res

    # Update the rest
    puts "#{description} part 2 ..."
    res = run_verbose("pacman", "-Su", *pacman_args)
    puts "#{description} #{res ? green("succeeded") : red("failed")}"
    raise "pacman failed" unless res
  end
end