diff options
| author | Alexandru Ardelean <ardeleanalex@gmail.com> | 2017-03-02 15:10:23 +0200 |
|---|---|---|
| committer | Alexandru Ardelean <ardeleanalex@gmail.com> | 2017-03-09 09:23:10 +0200 |
| commit | 5d502e85303462ad9c8e437d910172884685e6b7 (patch) | |
| tree | 4b9e16cf72291e1f69b2888da152b520ca42cb62 /lang/python3/files/python3-package-install.sh | |
| parent | 06c91a7ed84b2467420adbd208132e1ef63f4d47 (diff) | |
python3: move filespec shell code into file
Same as for python.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Diffstat (limited to 'lang/python3/files/python3-package-install.sh')
| -rw-r--r-- | lang/python3/files/python3-package-install.sh | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/lang/python3/files/python3-package-install.sh b/lang/python3/files/python3-package-install.sh new file mode 100644 index 000000000..c3de0cc95 --- /dev/null +++ b/lang/python3/files/python3-package-install.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +process_filespec() { + local src_dir="$1" + local dst_dir="$2" + local filespec="$3" + echo "$filespec" | ( + IFS='|' + while read fop fspec fperm; do + local fop=`echo "$fop" | tr -d ' \t\n'` + if [ "$fop" = "+" ]; then + if [ ! -e "${src_dir}${fspec}" ]; then + echo "File not found '${src_dir}${fspec}'" + exit 1 + fi + dpath=`dirname "$fspec"` + if [ -z "$fperm" ]; then + dperm=`stat -c "%a" ${src_dir}${dpath}` + fi + mkdir -p -m$dperm ${dst_dir}${dpath} + echo "copying: '$fspec'" + cp -fpR ${src_dir}${fspec} ${dst_dir}${dpath}/ + if [ -n "$fperm" ]; then + chmod -R $fperm ${dst_dir}${fspec} + fi + elif [ "$fop" = "-" ]; then + echo "removing: '$fspec'" + rm -fR ${dst_dir}${fspec} + elif [ "$fop" = "=" ]; then + echo "setting permissions: '$fperm' on '$fspec'" + chmod -R $fperm ${dst_dir}${fspec} + fi + done + ) +} + +process_filespec "$1" "$2" "$3" + |
