diff options
Diffstat (limited to 'autoirpm.uninstall')
-rw-r--r-- | autoirpm.uninstall | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/autoirpm.uninstall b/autoirpm.uninstall new file mode 100644 index 00000000..d0483a03 --- /dev/null +++ b/autoirpm.uninstall @@ -0,0 +1,23 @@ +#!/usr/bin/perl + +$DIR = "/etc/urpmi"; +$BASE = "$DIR/autoirpm"; +$AUTO_INSTALL_BIN_LIST = "$BASE.binaries"; +$INSTALL_SCRIPT_REP = "$BASE.scripts"; + +open F, $AUTO_INSTALL_BIN_LIST or die; +map { chop; remove_links_and_scripts($_) } <F>; +close F; + +sub remove_links_and_scripts($) { + my ($rpm, @progs) = split; + + my $script = "$INSTALL_SCRIPT_REP/$rpm"; + + -e $script or return 0; # not installed for this package + foreach (<@progs>) { + readlink "/$_" ne $script and next; + unlink "/$_" or warn "removing $_ failed"; + } + unlink $script or warn "removing $script failed"; +} |