Sophie

Sophie

distrib > Mandriva > 2007.0 > i586 > media > contrib-release > by-pkgid > f8ad9d32381119aeaf8b67a135d2b404 > scriptlet

oar-common-1.6.1-1mdk.noarch.rpm

PREIN

/bin/sh
groupadd oar &> /dev/null || true
useradd -d /var/lib/oar -g oar oar &> /dev/null || true
chown oar.oar /var/lib/oar -R &> /dev/null
touch /var/log/oar.log && chown oar /var/log/oar.log && chmod 644 /var/log/oar.log || true
if [ ! -e /etc/sudoers ]; then
	echo "Error: No /etc/sudoers file. Is sudo installed ?" 
	exit 1
fi
perl -e '
use Fcntl;
my $sudoers = "/etc/sudoers";
my $sudoerstmp = "/etc/sudoers.tmp";
my $oar_tag="# DO NOT REMOVE, needed by OAR packages";
my $struct=pack("ssll", F_WRLCK, SEEK_CUR, 0, 0);
sysopen (SUDOERS, $sudoers, O_RDWR|O_CREAT, 0440) or die "sysopen $sudoers: $!";
fcntl(SUDOERS, F_SETLK, $struct) or die "fcntl: $!";
sysopen (SUDOERSTMP, "$sudoerstmp", O_RDWR|O_CREAT, 0440) or die "sysopen $sudoerstmp: $!";
print SUDOERSTMP grep (!/$oar_tag/, <SUDOERS>);
print SUDOERSTMP <<EOF;
##BEGIN$oar_tag
Cmnd_Alias OARCMD = /usr/lib/perl5/vendor_perl/5.8.8/oarnodes, /usr/lib/perl5/vendor_perl/5.8.8/oarstat, /usr/lib/perl5/vendor_perl/5.8.8/oarsub, /usr/lib/perl5/vendor_perl/5.8.8/oardel, /usr/lib/perl5/vendor_perl/5.8.8/oarhold, /usr/lib/perl5/vendor_perl/5.8.8/oarnotify, /usr/lib/perl5/vendor_perl/5.8.8/oarresume, /usr/lib/perl5/vendor_perl/5.8.8/oar-cgi, /usr/lib/perl5/vendor_perl/5.8.8/oarfetch $oar_tag
%oar ALL=(oar) NOPASSWD: OARCMD $oar_tag
oar ALL=(ALL)   NOPASSWD: ALL $oar_tag
##END$oar_tag
EOF
close SUDOERSTMP or die "close $sudoerstmp: $!";
rename "/etc/sudoers.tmp", "/etc/sudoers" or die "rename: $!";
close SUDOERS or die "close $sudoers: $!";
'

PREUN

/bin/sh
if [ ! -e /etc/sudoers ]; then
	echo "Error: No /etc/sudoers file. Is sudo installed ?" 
	exit 1
fi
perl -e '
use Fcntl;
my $sudoers = "/etc/sudoers";
my $sudoerstmp = "/etc/sudoers.tmp";
my $oar_tag="# DO NOT REMOVE, needed by OAR package";
my $struct=pack("ssll", F_WRLCK, SEEK_CUR, 0, 0);
sysopen (SUDOERS, $sudoers, O_RDWR|O_CREAT, 0440) or die "sysopen $sudoers: $!";
fcntl(SUDOERS, F_SETLK, $struct) or die "fcntl: $!";
sysopen (SUDOERSTMP, "$sudoerstmp", O_RDWR|O_CREAT, 0440) or die "sysopen $sudoerstmp: $!";
print SUDOERSTMP grep (!/$oar_tag/, <SUDOERS>);
close SUDOERSTMP or die "close $sudoerstmp: $!";
rename "/etc/sudoers.tmp", "/etc/sudoers" or die "rename: $!";
close SUDOERS or die "close $sudoers: $!";
'
userdel oar &> /dev/null || true
groupdel oar &> /dev/null || true
rm -rf /var/log/oar.log || true