Release prep v9.1.0
[puppet-modules/puppetlabs-apt.git] / tasks / init.rb
index f8ca85e2f5d81126a49146e785622ba4551cb0b2..ee141cdb691dcc8dd5513b50f3cabb8f0dbffdd1 100755 (executable)
@@ -1,4 +1,6 @@
 #!/opt/puppetlabs/puppet/bin/ruby
+# frozen_string_literal: true
+
 require 'json'
 require 'open3'
 require 'puppet'
@@ -6,12 +8,20 @@ require 'puppet'
 def apt_get(action)
   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 # rubocop:disable GetText/DecorateFunctionMessage
+  raise Puppet::Error, stderr if status != 0
+
   { status: stdout.strip }
 end
 
-params = JSON.parse(STDIN.read)
+params = JSON.parse($stdin.read)
 action = params['action']
 
 begin