1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/security/nss/coreconf/cpdist.pl Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,167 @@ 1.4 +#! /usr/local/bin/perl 1.5 +# 1.6 +# This Source Code Form is subject to the terms of the Mozilla Public 1.7 +# License, v. 2.0. If a copy of the MPL was not distributed with this 1.8 +# file, You can obtain one at http://mozilla.org/MPL/2.0/. 1.9 +require('coreconf.pl'); 1.10 + 1.11 +#######-- read in variables on command line into %var 1.12 + 1.13 +&parse_argv; 1.14 + 1.15 +### do the copy 1.16 + 1.17 +print STDERR "RELEASE TREE / MODULE = $var{RELEASE_TREE} $var{MODULE}\n"; 1.18 + 1.19 + 1.20 + 1.21 +# 1 1.22 +if ($var{RELEASE} eq "") { exit; } # Can't do release here, so exit. 1.23 + 1.24 +# 2 1.25 +#if (! ($var{RELEASE} =~ /\//)) { # if no specific version is specified in RELEASE variable 1.26 +# $component = $var{RELEASE}; 1.27 +#} 1.28 +#else { # if a subcomponent/version is given in the RELEASE variable 1.29 +# $var{RELEASE} =~ m|^([^/]*)/|; 1.30 +# $component = $1; # everything before the first slash; 1.31 +# } 1.32 + 1.33 +# 3 1.34 +$path = $var{RELEASE}; 1.35 + 1.36 + 1.37 +# 4 1.38 +# find out what directory we would create for 'today' 1.39 + 1.40 +$year = (localtime)[5] + 1900; 1.41 +$month = (localtime)[4] + 1; 1.42 +$day = (localtime)[3]; 1.43 +$today = sprintf( "%d%02d%02d", $year, $month, $day ); 1.44 + 1.45 +# 5 1.46 +# if version is null, then set the version to today. 1.47 +if ($var{"RELEASE_VERSION"} eq "") { 1.48 + $var{"RELEASE_VERSION"} = $today; 1.49 +} 1.50 + 1.51 +#6 1.52 +$version = $var{"RELEASE_VERSION"}; # set RELEASE_VERSION to passed in variable 1.53 + 1.54 +#7 1.55 +# if version is today, then we will want to make a 'current' link. 1.56 + 1.57 +if ($version eq $today) { 1.58 + $create_current = 1; 1.59 +} 1.60 + 1.61 +#8 1.62 +# version can be a) passed in value from command line, b) value in manifest.mn 1.63 +# or c) computed value such as '19970909' 1.64 + 1.65 + 1.66 +$dir = "$var{'RELEASE_TREE'}/$path"; 1.67 + 1.68 +#9 1.69 +if (! (-e "$dir/$version" && -d "$dir/$version")) { 1.70 + print "making dir $dir \n"; 1.71 + &rec_mkdir("$dir/$version"); 1.72 +} 1.73 + 1.74 + 1.75 + 1.76 +print "version = $version\n"; 1.77 +print "path = $path\n"; 1.78 +print "var{release_tree} = $var{'RELEASE_TREE'}\n"; 1.79 +print "dir = $dir = RELEASE_TREE/path\n"; 1.80 + 1.81 + 1.82 +#10 1.83 +if ($create_current == 1) { 1.84 + 1.85 +# unlinking and linking always occurs, even if the link is correct 1.86 + print "unlinking $dir/current\n"; 1.87 + unlink("$dir/current"); 1.88 + 1.89 + print "putting version number $today into 'current' file.."; 1.90 + 1.91 + open(FILE,">$dir/current") || die " couldn't open current\n"; 1.92 + print FILE "$today\n"; 1.93 + close(FILE); 1.94 + print " ..done\n" 1.95 + 1.96 +} 1.97 + 1.98 +&rec_mkdir("$dir/$version/$var{'RELEASE_MD_DIR'}"); 1.99 +&rec_mkdir("$dir/$version/$var{'RELEASE_XP_DIR'}"); 1.100 + 1.101 + 1.102 + 1.103 + 1.104 +foreach $jarfile (split(/ /,$var{FILES}) ) { 1.105 + print STDERR "---------------------------------------------\n"; 1.106 + 1.107 + $jarinfo = $var{$jarfile}; 1.108 + 1.109 + ($jardir,$jaropts) = split(/\|/,$jarinfo); 1.110 + 1.111 + if ($jaropts =~ /f/) { 1.112 + print STDERR "Copying files $jardir....\n"; 1.113 + } 1.114 + else { 1.115 + print STDERR "Copying jar file $jarfile....\n"; 1.116 + } 1.117 + 1.118 + print "jaropts = $jaropts\n"; 1.119 + 1.120 + if ($jaropts =~ /m/) { 1.121 + $destdir = $var{"RELEASE_MD_DIR"}; 1.122 + print "found m, using MD dir $destdir\n"; 1.123 + } 1.124 + elsif ($jaropts =~ /x/) { 1.125 + $destdir = $var{"RELEASE_XP_DIR"}; 1.126 + print "found x, using XP dir $destdir\n"; 1.127 + } 1.128 + else { 1.129 + die "Error: must specify m or x in jar options in $jarinfo line\n"; 1.130 + } 1.131 + 1.132 + 1.133 + $distdir = "$dir/$version/$destdir"; 1.134 + 1.135 + 1.136 + 1.137 + if ($jaropts =~ /f/) { 1.138 + 1.139 + print "splitting: \"$jardir\"\n"; 1.140 + for $srcfile (split(/ /,$jardir)) { 1.141 + 1.142 +#if srcfile has a slash 1.143 + if ($srcfile =~ m|/|) { 1.144 +#pull out everything before the last slash into $1 1.145 + $srcfile =~ m|(.*)/|; 1.146 + $distsubdir = "/$1"; 1.147 + print "making dir $distdir$distsubdir\n"; 1.148 + &rec_mkdir("$distdir$distsubdir"); 1.149 + } 1.150 + print "copy: from $srcfile\n"; 1.151 + print " to $distdir$distsubdir\n"; 1.152 + $srcprefix = ""; 1.153 + if ($jaropts =~/m/) { 1.154 + $srcprefix = "$var{'PLATFORM'}/"; 1.155 + } 1.156 + system("cp $srcprefix$srcfile $distdir$distsubdir"); 1.157 + } 1.158 + } 1.159 + else { 1.160 + $srcfile = "$var{SOURCE_RELEASE_PREFIX}/$jardir/$jarfile"; 1.161 + 1.162 + print "copy: from $srcfile\n"; 1.163 + print " to $distdir\n"; 1.164 + 1.165 + system("cp $srcfile $distdir"); 1.166 + 1.167 + } 1.168 + 1.169 + } 1.170 +