Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 7ebd2d54a52edc3b3c7abff3f9c8c2a8 > files > 96

apt-0.5.15lorg3.95-0.git522.1.fc14.x86_64.rpm

-- This script will list all installed packages which are not
-- required by any other installed package. It must be plugged
-- in the slot Scripts::AptCache::Command
--
-- Author: Gustavo Niemeyer <niemeyer@conectiva.com>

if script_slot == "Scripts::AptCache::Help::Command" then
    print(_("   list-nodeps - Show installed pkgs not required by other installed pkgs"))
    return
end

if command_args[1] ~= "list-nodeps" then
	return
end
command_consume = 1

-- Collect dependencies from installed packages
deplist = {}
verlist = {}
for i, pkg in ipairs(pkglist()) do
    ver = pkgvercur(pkg)
    if ver then
        table.insert(verlist, ver)
        for i, dep in ipairs(verdeplist(ver)) do
            for i, depver in ipairs(dep.verlist) do
                deplist[verid(depver)] = true
            end
        end
    end
end

-- Now list all versions which are not dependencies
for i, ver in ipairs(verlist) do
    if not deplist[verid(ver)] then
        name = pkgname(verpkg(ver))
        if name ~= "gpg-pubkey" then
            -- Print package name and version without epoch
            -- (rpm -e friendly ;-).
            print(name.."-"..string.gsub(verstr(ver), "^%d+:", ""))
        end
    end
end

-- vim:ts=4:sw=4:et