diff options
author | Joshua Lock <josh@linux.intel.com> | 2010-08-03 18:18:03 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-08-04 11:43:12 +0100 |
commit | 1fbcd2ca178db28747046b5bd943c81176db9f65 (patch) | |
tree | 18b476a4260e5970da74cc4d60ee51a010ee870c /meta/lib/oe/path.py | |
parent | 7b743641209492476329b88dcb213fbbd1780a9f (diff) | |
download | openembedded-core-1fbcd2ca178db28747046b5bd943c81176db9f65.tar.gz openembedded-core-1fbcd2ca178db28747046b5bd943c81176db9f65.tar.bz2 openembedded-core-1fbcd2ca178db28747046b5bd943c81176db9f65.zip |
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.py | 22 |
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 |