(MAINT) Remove stalebot workflow
[puppet-modules/puppetlabs-apt.git] / tasks / init.rb
index 5db86ebb0c00b0fca3ca3883e6156129287306cc..86367d939629d02686d88297012026f491ff86fa 100755 (executable)
@@ -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