Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

automatic-AutoBundle.pl

by hsinclai (Deacon)
on Jan 31, 2005 at 00:03 UTC ( [id://426461]=sourcecode: print w/replies, xml ) Need Help??
Category: Utility Scripts
Author/Contact Info hsinclai <devel@hastek.com>
Description: Run CPAN autobundle and send the Bundle to your archive directory, I always forget so now it's in cron..
#!/usr/bin/perl -w

#   Do a CPAN autobundle and archive it somewhere
#   Run from cron as the same user you run CPAN as (probably root)

use strict;
require 5.8.0;
use Sys::Hostname;
use CPAN;
use CPAN::Config;
use File::Copy;



#------------Edit These
#  Where your Bundle gets copied to (use trailing slash)
my $bundle_archive_dir = '/tmp/';

#   user/group final Archive ownership
my $change_ownership = 1;
my $userid           = 1000;
my $groupid          = 100;





#------------Work
my $sysname            = hostname;
my $local_bundle_home  = "$CPAN::Config->{cpan_home}" . '/Bundle/';
my $holder;

die &locked if -e "$CPAN::Config->{cpan_home}/.lock";
&bundlearchive;

my $recent_bundle      = $1 if $holder =~ /(?:Bundle\/)(Snapshot.*)/;
my $finaldestination   = $bundle_archive_dir . $sysname . '-' . $recen
+t_bundle;

copy("$local_bundle_home$recent_bundle","$finaldestination")
          or die "AutoBundle copy failed: $!";
chown $userid, $groupid, $finaldestination if $change_ownership > 0;




#------------Subs

sub bundlearchive {
   open local(*STDOUT), '>', \$holder;
   autobundle;
}

sub locked {
  qx!logger Oops - $0 found a CPAN lockfile - the script is quitting!;
}


exit $?;

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: sourcecode [id://426461]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (6)
As of 2024-04-19 09:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found