aboutsummaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/path.py
diff options
context:
space:
mode:
authorJoshua Lock <josh@linux.intel.com>2010-08-03 18:18:03 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-04 11:43:12 +0100
commit1fbcd2ca178db28747046b5bd943c81176db9f65 (patch)
tree18b476a4260e5970da74cc4d60ee51a010ee870c /meta/lib/oe/path.py
parent7b743641209492476329b88dcb213fbbd1780a9f (diff)
downloadopenembedded-core-1fbcd2ca178db28747046b5bd943c81176db9f65.tar.gz
lib/oe: sync with OE.dev
Most notable change is the move to creating symlinks to patches in the metadata tree rather than copying them. Signed-off-by: Joshua Lock <josh@linux.intel.com>
Diffstat (limited to 'meta/lib/oe/path.py')
-rw-r--r--meta/lib/oe/path.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/meta/lib/oe/path.py b/meta/lib/oe/path.py
index 8902951581..f58c0138bb 100644
--- a/meta/lib/oe/path.py
+++ b/meta/lib/oe/path.py
@@ -42,3 +42,25 @@ def format_display(path, metadata):
return path
else:
return rel
+
+def remove(path):
+ """Equivalent to rm -f or rm -rf"""
+ import os, errno, shutil
+ try:
+ os.unlink(path)
+ except OSError, exc:
+ if exc.errno == errno.EISDIR:
+ shutil.rmtree(path)
+ elif exc.errno != errno.ENOENT:
+ raise
+
+def symlink(source, destination, force=False):
+ """Create a symbolic link"""
+ import os, errno
+ try:
+ if force:
+ remove(destination)
+ os.symlink(source, destination)
+ except OSError, e:
+ if e.errno != errno.EEXIST or os.readlink(destination) != source:
+ raise