aboutsummaryrefslogtreecommitdiffstats
path: root/util/ssldir.pl
blob: 1d977c927a76095b20e24989d7022d17053b8d94 (plain)
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
45
46
47
48
49
50
51
52
#!/usr/local/bin/perl

$#ARGV == 0 || die "usage: ssldir.pl /new/path\n";
@files=('crypto/cryptlib.h',
	'Makefile.ssl',
	'tools/c_rehash',
	'util/mk1mf.pl',
	);

%cryptlib=(
	'\sX509_CERT_AREA\s',"#define X509_CERT_AREA\t\t".'"%s"',
	'\sX509_CERT_DIR\s', "#define X509_CERT_DIR\t\t".'"%s/certs"',
	'\sX509_CERT_FILE\s', "#define X509_CERT_FILE\t\t".'"%s/cert.pem"',
	'\sX509_PRIVATE_DIR\s',"#define X509_PRIVATE_DIR\t".'"%s/private"',
	);

%Makefile_ssl=(
	'^INSTALLTOP=','INSTALLTOP=%s',
	);

%c_rehash=(
	'^DIR=',	'DIR=%s',
	);

%mk1mf=(
	'^\$INSTALLTOP=','$INSTALLTOP="%s";',
	);

&dofile("crypto/cryptlib.h",$ARGV[0],%cryptlib);
&dofile("Makefile.ssl",$ARGV[0],%Makefile_ssl);
&dofile("tools/c_rehash",$ARGV[0],%c_rehash);
&dofile("util/mk1mf.pl",$ARGV[0],%mk1mf);

sub dofile
	{
	($f,$p,%m)=@_;

	open(IN,"<$f") || die "unable to open $f:$!\n";
	@a=<IN>;
	close(IN);
	foreach $k (keys %m)
		{
		grep(/$k/ && ($_=sprintf($m{$k}."\n",$p)),@a);
		}
	($ff=$f) =~ s/\..*$//;
	open(OUT,">$ff.new") || die "unable to open $f:$!\n";
	print OUT @a;
	close(OUT);
	rename($f,"$ff.bak") || die "unable to rename $f\n";
	rename("$ff.new",$f) || die "unable to rename $ff.new\n";
	}