-
Notifications
You must be signed in to change notification settings - Fork 37
/
cgi_install.pl
44 lines (36 loc) · 1009 Bytes
/
cgi_install.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/perl
use strict;
use File::Copy;
use Bio::Root::IO;
use File::Path 'mkpath';
use Cwd;
use FindBin '$Bin';
my $origdir = cwd;
my $homedir = "$Bin/..";
chdir $homedir or die "couldn't cd to $homedir: $!\n";
foreach (@ARGV) {
$_ =~ s/^\"(.*)\"$/$1/;
}
my %options = map {split /=/} @ARGV;
my $cgi_target = $options{CGIBIN};
print "Installing gbrowse CGI scripts...\n";
if (! (-e $cgi_target) ) {
mkpath($cgi_target,0,0777) or die "unable to create $cgi_target directory\n";
}
my $cgidir = "cgi-bin";
chdir $cgidir;
foreach (glob('*')) {
next if /README/;
next if /CVS/;
next if /^[.\#]/;
next if /~$/;
next if /\.PLS$/;
next unless (-f $_);
my $installfile = Bio::Root::IO->catfile($cgi_target, $_);
warn "copying $_ to $installfile\n";
copy($_, $installfile ) or die "unable to copy to $installfile\n";
my $mode = 0755;
chmod $mode, $installfile
or die "unable to make $installfile world executable\n";
}
chdir $origdir or die "couldn't cd to $origdir: $!\n";