#!/usr/bin/ruby -I/usr/share/apt-listbugs

require 'debian/apt_preferences'

p = Debian::AptPreferences.new
buf = ""
p.pins.each do |pin|
  buf << " " + pin["Package"] if pin.listbugs?
end
pinnedpkgs = buf.split(' ')
$stderr.puts "Pinned: #{pinnedpkgs.sort.join(' ')}" if $DEBUG
bugpkgs = []
open("|/usr/sbin/apt-listbugs -q list #{buf} | tail -n 1 ") { |io|
  buf = io.read.delete(' ').gsub(/\([^\)]+\)/,'').chomp
  bugpkgs = buf.split(',')
}
$stderr.puts "Bogs: #{bugpkgs.sort.join(' ')}" if $DEBUG
if (pinnedpkgs - bugpkgs).size > 0
  $stderr.puts "#{(pinnedpkgs - bugpkgs).join(', ')} has been fixed"
end
p.filter( bugpkgs )

