From 2b6d115da4ba39a0b30eb6e014684d82101f3265 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Fri, 17 Dec 1999 00:21:09 +0000 Subject: no_comment --- autoirpm.update | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 autoirpm.update (limited to 'autoirpm.update') diff --git a/autoirpm.update b/autoirpm.update new file mode 100644 index 00000000..3dfff948 --- /dev/null +++ b/autoirpm.update @@ -0,0 +1,36 @@ +#!/usr/bin/perl + +$DIR = "/etc/urpmi"; +$BASE = "$DIR/autoirpm"; +$AUTO_INSTALL_BIN_LIST = "$BASE.binaries"; +$INSTALL_SCRIPT_REP = "$BASE.scripts"; + +system("autoirpm.update-all $BASE.allow $BASE.deny $DIR/hdlist.* > $AUTO_INSTALL_BIN_LIST"); +$? == 0 or die "autoirpm.upgrade-all failed\n"; + +open F, $AUTO_INSTALL_BIN_LIST or die; +map { chop; create_links_and_install_scripts($_) } ; +close F; + +sub create_links_and_install_scripts($) { + my ($rpm, @progs) = split ' ', $_[0]; + my $script = "$INSTALL_SCRIPT_REP/$rpm"; + + foreach (@progs) { lstat "/$_" and return } # verify that it's not installed + + foreach (@progs) { + make_dirname("/$_"); + symlink $script, "/$_"; # or die "$rpm: /$_"; + } + + open G, ">$script" or die; + print G "_irpm $rpm \$0 \$*\n"; + close G; + chmod 0755, "$script"; +} + +sub make_dirname($) { + my $file = $_[0]; + my $dir = `dirname $file`; + `mkdir -p $dir 2>/dev/null`; +} -- cgit v1.2.1