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
|
// source and dest, absolute or reachable from g_cwd, should exist.
// files and links in source matching dest (if empty: all) are copied to dest
// and are logged in g_log
// Before they are logged, dest is created
void logInstall(string src, string pattern, string dest)
{
list entries;
int idx;
chdir(g_cwd);
md(dest);
src += "/";
dest += "/";
if (listlen(makelist(O_DIR, src)) == 0)
{
printf("Warning: ", src, " not found: can't install ", src, pattern,
" at ", dest, "\n");
return;
}
entries = findAll("f", src, pattern);
for (idx = listlen(entries); idx--; )
run("cp " + src + entries[idx] + " " + dest);
chdir(g_cwd);
entries = findAll("l", src, pattern);
for (idx = listlen(entries); idx--; )
run("cp " CPOPTS " " + src + entries[idx] + " " + dest);
}
|