Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions ecbundle/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ def symlink_force(target, link_name):

# prefer relative symlink rather than absolute
# check first if target is absolute or relative
target_orig = target
if os.path.isabs(target):
target = os.path.relpath(target, os.path.dirname(link_name))

Expand All @@ -117,6 +118,20 @@ def symlink_force(target, link_name):
else:
raise exc

# If a relative link is invalid, retry with absolute path if available
if not os.path.exists(link_name):
if target != target_orig:
os.remove(link_name)
os.symlink(target_orig, link_name)

if not os.path.exists(link_name):
error(
"ERROR: Failed to create valid link from {0} to {1}".format(
link_name, target_orig
)
)
raise RuntimeError()


def copydir(src_dir, target_dir):
import os
Expand Down
2 changes: 2 additions & 0 deletions tests/bundle_create/arch/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
2 changes: 2 additions & 0 deletions tests/bundle_install/arch/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore