#!/usr/bin/perl use lib "../rpmtools"; local $_ = join '', @ARGV; /-h/ and die "usage: rpm-find-leaves [--show-unknown]\n"; $show_unknown = /-show-unknown/; use rpmtools; $f = "/var/lib/urpmi/depslist.ordered"; open F, $f or die "read_depslist: can't open file $f\n"; $o = new rpmtools; $o->read_depslist(\*F); chop, $l{$_} = 1 foreach `rpm -qa --queryformat "%{name}\n"`; %m = %l; foreach (@{$o->{depslist}}) { delete $m{$_->{name}} or next; delete $l{$o->{depslist}[$_]{name}} foreach split ' ', $_->{deps}; } !$m{$_} and print "$_\n" foreach sort keys %l; if ($show_unknown) { print "\n"; print "$_\n" foreach sort keys %m; }