File: //proc/self/root/proc/self/root/scripts.20110531.215904.25158/ensurerpm2
#!/usr/bin/perl
# cpanel - ensurerpm2 Copyright(c) 2010 cPanel, Inc.
# All rights Reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
BEGIN {
unshift @INC, '/usr/local/cpanel';
if ( -e "/var/cpanel/brokenfutex" ) {
$ENV{'LD_ASSUME_KERNEL'} = '2.4.1';
}
}
use IPC::Open3;
use Cpanel::RpmUtils;
use Cpanel::Sys::OS ();
use Cpanel::OSSys ();
use Cpanel::SysPkgs;
use Cpanel::CleanupStub ();
$| = 1;
Cpanel::CleanupStub::closefds(); # Prevent potential zombie under upcp
my ( $system, $release, $machine ) = ( Cpanel::OSSys::uname() )[ 0, 2, 4 ];
if ( $system =~ m/freebsd/i ) {
exec '/scripts/ensurepkg', @ARGV;
}
if ( $ENV{'RPMINSTALL'} eq "1" ) {
exit();
}
my $safe = 0;
my $stdin = 0;
my $quiet = 0;
my $usecache = 0;
my $usefile = 0;
while ( $#ARGV != -1 ) {
$_ = $ARGV[0];
if (/^\-\-/) {
my $arg = shift(@ARGV);
$arg =~ s/^\-\-//g;
$arg =~ tr/[A-Z]/[a-z]/;
if ( $arg eq "safe" ) { $safe = 1; } # not used
if ( $arg eq "quiet" ) { $quiet = 1; } # not used
if ( $arg eq "usecache" ) { $usecache = 1; } # not used
if ( $arg eq "file" ) { $usefile = 1; }
if ( $arg eq "stdin" ) { $usestdin = 1; }
}
else {
last;
}
}
if ($usestdin) {
while (<STDIN>) {
chomp();
my @PKGS = split( /[\s]+/, $_ );
foreach (@PKGS) { next if ( $_ eq '' ); push( @ARGV, $_ ); }
}
}
if ($usefile) {
open( ER, "<", "ensurerpm.list" );
while (<ER>) {
chomp();
my @PKGS = split( /[\s]+/, $_ );
foreach (@PKGS) { next if ( $_ eq '' ); push( @ARGV, $_ ); }
}
close(ER);
}
my $os = Cpanel::Sys::OS::getos();
my $syspkgobj = Cpanel::SysPkgs->new();
if ($syspkgobj) {
$syspkgobj->ensure( 'pkglist' => \@ARGV );
} else {
print "Could not create SysPkgs object\n";
}
if ( grep m/bind/i, @ARGV ) {
system '/scripts/fixrndc';
}
exit(0);