summaryrefslogtreecommitdiffstats
path: root/meta/classes/src_distribute_local.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/src_distribute_local.bbclass')
-rw-r--r--meta/classes/src_distribute_local.bbclass31
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 @@
1inherit 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
7SRC_DIST_LOCAL ?= "move+symlink"
8SRC_DISTRIBUTEDIR ?= "${DEPLOY_DIR}/sources"
9SRC_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}