diff options
Diffstat (limited to 'meta/classes/src_distribute_local.bbclass')
| -rw-r--r-- | meta/classes/src_distribute_local.bbclass | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/meta/classes/src_distribute_local.bbclass b/meta/classes/src_distribute_local.bbclass new file mode 100644 index 0000000000..5f0cef5bec --- /dev/null +++ b/meta/classes/src_distribute_local.bbclass | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | inherit src_distribute | ||
| 2 | |||
| 3 | # SRC_DIST_LOCAL possible values: | ||
| 4 | # copy copies the files from ${A} to the distributedir | ||
| 5 | # symlink symlinks the files from ${A} to the distributedir | ||
| 6 | # move+symlink moves the files into distributedir, and symlinks them back | ||
| 7 | SRC_DIST_LOCAL ?= "move+symlink" | ||
| 8 | SRC_DISTRIBUTEDIR ?= "${DEPLOY_DIR}/sources" | ||
| 9 | SRC_DISTRIBUTECOMMAND () { | ||
| 10 | s="${SRC}" | ||
| 11 | if [ ! -L "$s" ] && (echo "$s"|grep "^${DL_DIR}"); then | ||
| 12 | : | ||
| 13 | else | ||
| 14 | exit 0; | ||
| 15 | fi | ||
| 16 | mkdir -p ${SRC_DISTRIBUTEDIR} | ||
| 17 | case "${SRC_DIST_LOCAL}" in | ||
| 18 | copy) | ||
| 19 | test -e $s.md5 && cp -f $s.md5 ${SRC_DISTRIBUTEDIR}/ | ||
| 20 | cp -f $s ${SRC_DISTRIBUTEDIR}/ | ||
| 21 | ;; | ||
| 22 | symlink) | ||
| 23 | test -e $s.md5 && ln -sf $s.md5 ${SRC_DISTRIBUTEDIR}/ | ||
| 24 | ln -sf $s ${SRC_DISTRIBUTEDIR}/ | ||
| 25 | ;; | ||
| 26 | move+symlink) | ||
| 27 | mv $s ${SRC_DISTRIBUTEDIR}/ | ||
| 28 | ln -sf ${SRC_DISTRIBUTEDIR}/`basename $s` $s | ||
| 29 | ;; | ||
| 30 | esac | ||
| 31 | } | ||
