Select Git revision
chacha-poly1305.c
Forked from
Nettle / nettle
Source project has a limited visibility.
-
Niels Möller authoredNiels Möller authored
install.pike 12.61 KiB
#!/usr/local/bin/pike
int last_len;
int redump_all;
string pike;
array(string) to_dump=({});
array(string) to_export=({});
int export;
#define MASTER_COOKIE "(#*&)@(*&$Master Cookie:"
void fail(string fmt, mixed ... args)
{
if(last_len) write("\n");
Stdio.perror(sprintf(fmt,@args));
werror("**Installation failed.\n");
exit(1);
}
string status(string doing, string file, string|void msg)
{
if(strlen(file)>50)
file="..."+file[strlen(file)-48..];
if(msg) file+=" "+msg;
if(doing) file=doing+" "+file;
string s="\r"+file;
int t=strlen(s);
if(t<last_len) s+=" "*(last_len-t);
last_len=t;
write(s);
}
int mkdirhier(string dir)
{
int tomove;
if(export) return 1;
if(dir=="") return 1;
status("creating",dir);
mixed s=file_stat(dir);
if(s)
{
if(s[1]<0)
return 1;
if(glob("*.pmod",dir))
{
if(!mv(dir,dir+".tmp"))
fail("mv(%s,%s)",dir,dir+".tmp");
tomove=1;
}else{
werror("Warning: Directory '%s' already exists as a file.\n",dir);
if(!mv(dir,dir+".old"))
fail("mv(%s,%s)",dir,dir+".old");
}
}
mkdirhier(dirname(dir));
if(!mkdir(dir))
fail("mkdir(%s)",dir);
chmod(dir,0755);
if(tomove)
if(!mv(dir+".tmp",dir+"/module.pmod"))
fail("mv(%s,%s)",dir+".tmp",dir+"/module.pmod");
return 1;