diff options
Diffstat (limited to 'libexec/poole')
| -rwxr-xr-x | libexec/poole | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/libexec/poole b/libexec/poole index ea66ccb..3735f90 100755 --- a/libexec/poole +++ b/libexec/poole | |||
| @@ -452,6 +452,15 @@ def build(project, opts): | |||
| 452 | print(exc) | 452 | print(exc) |
| 453 | sys.exit(1) | 453 | sys.exit(1) |
| 454 | 454 | ||
| 455 | def copy(src, dst): | ||
| 456 | if os.path.islink(src): | ||
| 457 | linkto = os.readlink(src) | ||
| 458 | if os.path.isdir(dst): | ||
| 459 | dst = opj(dst, os.path.basename(src)) | ||
| 460 | os.symlink(linkto, dst) | ||
| 461 | else: | ||
| 462 | shutil.copy2(src, opj(dir_out, cwd_site)) | ||
| 463 | |||
| 455 | # ------------------------------------------------------------------------- | 464 | # ------------------------------------------------------------------------- |
| 456 | # regex patterns and replacements | 465 | # regex patterns and replacements |
| 457 | # ------------------------------------------------------------------------- | 466 | # ------------------------------------------------------------------------- |
| @@ -579,7 +588,7 @@ def build(project, opts): | |||
| 579 | else: | 588 | else: |
| 580 | src = opj(cwd, f) | 589 | src = opj(cwd, f) |
| 581 | try: | 590 | try: |
| 582 | shutil.copy(src, opj(dir_out, cwd_site)) | 591 | copy(src, opj(dir_out, cwd_site)) |
| 583 | except OSError: | 592 | except OSError: |
| 584 | # some filesystems like FAT won't allow shutil.copy | 593 | # some filesystems like FAT won't allow shutil.copy |
| 585 | shutil.copyfile(src, opj(dir_out, cwd_site, f)) | 594 | shutil.copyfile(src, opj(dir_out, cwd_site, f)) |
