MOON
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
System: Linux csr818.wilogic.com 2.6.18-419.el5xen #1 SMP Fri Feb 24 22:50:37 UTC 2017 x86_64
User: digitals (531)
PHP: 5.4.45
Disabled: NONE
Upload Files
File: //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);