aboutsummaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorAlexandru Ardelean <ardeleanalex@gmail.com>2017-03-02 15:10:23 +0200
committerAlexandru Ardelean <ardeleanalex@gmail.com>2017-03-09 09:23:10 +0200
commit5d502e85303462ad9c8e437d910172884685e6b7 (patch)
tree4b9e16cf72291e1f69b2888da152b520ca42cb62 /lang
parent06c91a7ed84b2467420adbd208132e1ef63f4d47 (diff)
python3: move filespec shell code into file
Same as for python. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Diffstat (limited to 'lang')
-rw-r--r--lang/python3/Makefile1
-rw-r--r--lang/python3/files/python3-package-install.sh38
-rw-r--r--lang/python3/files/python3-package.mk42
3 files changed, 51 insertions, 30 deletions
diff --git a/lang/python3/Makefile b/lang/python3/Makefile
index 67a594de6..1276ae546 100644
--- a/lang/python3/Makefile
+++ b/lang/python3/Makefile
@@ -187,6 +187,7 @@ define Build/InstallDev
./files/python3-package.mk \
./files/python3-host.mk \
./files/python3-version.mk \
+ ./files/python3-package-install.sh \
$(STAGING_DIR)/mk/
$(CP) \
$(PKG_INSTALL_DIR)/usr/include/python$(PYTHON_VERSION) \
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"
+
diff --git a/lang/python3/files/python3-package.mk b/lang/python3/files/python3-package.mk
index 31a5d0684..7881c1f04 100644
--- a/lang/python3/files/python3-package.mk
+++ b/lang/python3/files/python3-package.mk
@@ -54,36 +54,18 @@ define Py3Package
define Package/$(1)/install
find $(PKG_INSTALL_DIR) -name "*\.pyc" -o -name "*\.pyo" -o -name "*\.exe" | xargs rm -f
- @echo "$$$$$$$$$$(call shvar,Py3Package/$(1)/filespec)" | ( \
- IFS='|'; \
- while read fop fspec fperm; do \
- fop=`echo "$$$$$$$$fop" | tr -d ' \t\n'`; \
- if [ "$$$$$$$$fop" = "+" ]; then \
- if [ ! -e "$(PKG_INSTALL_DIR)$$$$$$$$fspec" ]; then \
- echo "File not found '$(PKG_INSTALL_DIR)$$$$$$$$fspec'"; \
- exit 1; \
- fi; \
- dpath=`dirname "$$$$$$$$fspec"`; \
- if [ -n "$$$$$$$$fperm" ]; then \
- dperm="-m$$$$$$$$fperm"; \
- else \
- dperm=`stat -c "%a" $(PKG_INSTALL_DIR)$$$$$$$$dpath`; \
- fi; \
- mkdir -p $$$$$$$$$dperm $$(1)$$$$$$$$dpath; \
- echo "copying: '$$$$$$$$fspec'"; \
- cp -fpR $(PKG_INSTALL_DIR)$$$$$$$$fspec $$(1)$$$$$$$$dpath/; \
- if [ -n "$$$$$$$$fperm" ]; then \
- chmod -R $$$$$$$$fperm $$(1)$$$$$$$$fspec; \
- fi; \
- elif [ "$$$$$$$$fop" = "-" ]; then \
- echo "removing: '$$$$$$$$fspec'"; \
- rm -fR $$(1)$$$$$$$$fspec; \
- elif [ "$$$$$$$$fop" = "=" ]; then \
- echo "setting permissions: '$$$$$$$$fperm' on '$$$$$$$$fspec'"; \
- chmod -R $$$$$$$$fperm $$(1)$$$$$$$$fspec; \
- fi; \
- done; \
- )
+ if [ -e files/python3-package-install.sh ] ; then \
+ $(SHELL) files/python3-package-install.sh \
+ "$(PKG_INSTALL_DIR)" "$$(1)" \
+ "$$$$$$$$$$(call shvar,Py3Package/$(1)/filespec)" ; \
+ elif [ -e $(STAGING_DIR)/mk/python3-package-install.sh ] ; then \
+ $(SHELL) $(STAGING_DIR)/mk/python3-package-install.sh \
+ "$(PKG_INSTALL_DIR)" "$$(1)" \
+ "$$$$$$$$$$(call shvar,Py3Package/$(1)/filespec)" ; \
+ else \
+ echo "No 'python3-package-install.sh' script found" ; \
+ exit 1 ; \
+ fi
$(call Py3Package/$(1)/install,$$(1))
endef
endef