From 5d502e85303462ad9c8e437d910172884685e6b7 Mon Sep 17 00:00:00 2001 From: Alexandru Ardelean Date: Thu, 2 Mar 2017 15:10:23 +0200 Subject: [PATCH] python3: move filespec shell code into file Same as for python. Signed-off-by: Alexandru Ardelean --- lang/python3/Makefile | 1 + lang/python3/files/python3-package-install.sh | 38 +++++++++++++++++ lang/python3/files/python3-package.mk | 42 ++++++------------- 3 files changed, 51 insertions(+), 30 deletions(-) create mode 100644 lang/python3/files/python3-package-install.sh diff --git a/lang/python3/Makefile b/lang/python3/Makefile index 67a594de6b..1276ae5460 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 0000000000..c3de0cc950 --- /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 31a5d06844..7881c1f046 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 -- 2.30.2