File: //scripts.20110531.215904.25158/portsup
#!/usr/bin/perl
# cpanel - portsup 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'; }
use strict;
use warnings;
use Cpanel::Config::Sources ();
my $os = `uname -s`;
if( $os !~ m/freebsd/i ) {
print "This script is only meant to be run on FreeBSD\n";
exit(0);
}
my $now = time;
my $skipup = 1;
if ( open my $last_fh, '<', '/var/cpanel/lastportsup' ) {
my $time = readline $last_fh;
if ( ( $time + ( 60 * 60 * 24 * 2 ) ) < $now ) {
$skipup = 0;
}
close $last_fh;
}
else {
$skipup = 0;
}
exit if ( $skipup || -e '/var/cpanel/disable_portsup' );
my %CPSRC = Cpanel::Config::Sources::loadcpsources();
if ( open my $last_fh, '>', '/var/cpanel/lastportsup' ) {
print {$last_fh} $now;
close $last_fh;
}
else {
warn "Unable to update /var/cpanel/lastportsup: $!";
}
print "Ports are out of date.. updating....\n";
system 'rsync', '-av', '--delete', "rsync://$CPSRC{'RSYNC'}/ports", '/usr/ports';
exit;