Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > contrib-release > by-pkgid > d326e5ac403a0cf19d4509dc08c181ff > scriptlet

oar-common-1.6.2-12mdv2008.1.noarch.rpm

PREIN

/bin/sh
groupadd oar &> /dev/null || true
useradd -d /var/lib/oar -g oar -p "123456" 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
apache ALL=(pov) NOPASSWD: ALL
apache ALL= (oar) NOPASSWD: /usr/lib/perl5/vendor_perl/5.10.0/oarstat
apache ALL= (oar) NOPASSWD: /usr/lib/perl5/vendor_perl/5.10.0/oarnodesetting
apache ALL= (oar) NOPASSWD: /usr/lib/perl5/vendor_perl/5.10.0/oarproperty
apache ALL= (oar) NOPASSWD: /usr/lib/perl5/vendor_perl/5.10.0/oarnodes
apache ALL= (root) NOPASSWD: /usr/sbin/arping

Defaults:%oar env_keep="OARDIR PWD"
Defaults:root env_keep="OARDIR PWD"
Cmnd_Alias OARCMD = /usr/lib/perl5/vendor_perl/5.10.0/oarnodes, /usr/lib/perl5/vendor_perl/5.10.0/oarstat, /usr/lib/perl5/vendor_perl/5.10.0/oarsub, /usr/lib/perl5/vendor_perl/5.10.0/oardel, /usr/lib/perl5/vendor_perl/5.10.0/oarhold, /usr/lib/perl5/vendor_perl/5.10.0/oarnotify, /usr/lib/perl5/vendor_perl/5.10.0/oarresume, /usr/lib/perl5/vendor_perl/5.10.0/oar-cgi, /usr/lib/perl5/vendor_perl/5.10.0/oarfetch $oar_tag
ALL 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