X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=tasks%2Finit.rb;h=86367d939629d02686d88297012026f491ff86fa;hb=25640feadd7213eef1dbc17eca3bec7501fb11bd;hp=5db86ebb0c00b0fca3ca3883e6156129287306cc;hpb=90f5fdbce44d5fe61a70fb2129e01785e95c3218;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/tasks/init.rb b/tasks/init.rb index 5db86eb..86367d9 100755 --- a/tasks/init.rb +++ b/tasks/init.rb @@ -1,12 +1,21 @@ #!/opt/puppetlabs/puppet/bin/ruby +# frozen_string_literal: true + require 'json' require 'open3' require 'puppet' def apt_get(action) - cmd_string = "apt-get #{action}" - cmd_string << ' -y' if action == 'upgrade' - stdout, stderr, status = Open3.capture3(cmd_string) + cmd = ['apt-get', action] + cmd << '-y' if ['upgrade', 'dist-upgrade', 'autoremove'].include?(action) + if ['upgrade', 'dist-upgrade'].include?(action) + ENV['DEBIAN_FRONTEND'] = 'noninteractive' + cmd << '-o' + cmd << 'Dpkg::Options="--force-confdef"' + cmd << '-o' + cmd << 'Dpkg::Options="--force-confold"' + end + stdout, stderr, status = Open3.capture3(*cmd) raise Puppet::Error, stderr if status != 0 { status: stdout.strip } end