summaryrefslogtreecommitdiffstats
path: root/autoirpm.uninstall
diff options
context:
space:
mode:
Diffstat (limited to 'autoirpm.uninstall')
-rw-r--r--autoirpm.uninstall23
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";
+}