python3: split source packages away from compiled packages
Same as for python. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
This commit is contained in:
parent
20685f5220
commit
ae350d9387
3 changed files with 54 additions and 1 deletions
|
@ -289,6 +289,7 @@ $(eval $(call HostBuild))
|
|||
$(foreach package, $(PYTHON3_PACKAGES), \
|
||||
$(eval $(call Py3Package,$(package))) \
|
||||
$(eval $(call BuildPackage,$(package))) \
|
||||
$(eval $(call BuildPackage,$(package)-src)) \
|
||||
)
|
||||
|
||||
$(eval $(call Py3Package,python3-base))
|
||||
|
@ -298,3 +299,7 @@ $(eval $(call Py3Package,python3))
|
|||
$(eval $(call BuildPackage,python3-base))
|
||||
$(eval $(call BuildPackage,python3-light))
|
||||
$(eval $(call BuildPackage,python3))
|
||||
|
||||
$(eval $(call BuildPackage,python3-base-src))
|
||||
$(eval $(call BuildPackage,python3-light-src))
|
||||
$(eval $(call BuildPackage,python3-src))
|
||||
|
|
|
@ -34,5 +34,36 @@ process_filespec() {
|
|||
)
|
||||
}
|
||||
|
||||
process_filespec "$1" "$2" "$3"
|
||||
src_dir="$1"
|
||||
dst_dir="$2"
|
||||
python="$3"
|
||||
mode="$4"
|
||||
filespec="$5"
|
||||
|
||||
process_filespec "$src_dir" "$dst_dir" "$filespec" || {
|
||||
echo "process filespec error-ed"
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [ "$mode" == "sources" ] ; then
|
||||
# Copy only python source files
|
||||
find $dst_dir -not -name "*\.py" | xargs rm -f
|
||||
# Delete empty folders (if the case)
|
||||
find $dst_dir/usr -type d | xargs rmdir &> /dev/null
|
||||
rmdir $dst_dir/usr &> /dev/null
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# XXX [So that you won't goof as I did]
|
||||
# Note: Yes, I tried to use the -O & -OO flags here.
|
||||
# However the generated byte-codes were not portable.
|
||||
# So, we just stuck to un-optimized byte-codes,
|
||||
# which is still way better/faster than running
|
||||
# Python sources all the time.
|
||||
$python -m compileall -b -d '/' $dst_dir || {
|
||||
echo "python -m compileall err-ed"
|
||||
exit 1
|
||||
}
|
||||
# Delete source files and pyc [ un-optimized bytecode files ]
|
||||
# We may want to make this optimization thing configurable later, but not sure atm
|
||||
find $dst_dir -name "*\.py" | xargs rm -f
|
||||
|
|
|
@ -34,6 +34,17 @@ endif
|
|||
|
||||
define Py3Package
|
||||
|
||||
define Package/$(1)-src
|
||||
$(call Package/$(1))
|
||||
TITLE+= (sources)
|
||||
DEPENDS:=$$$$(foreach dep,$$$$(filter +python3-%,$$$$(DEPENDS)),$$$$(dep)-src)
|
||||
endef
|
||||
|
||||
define Package/$(1)-src/description
|
||||
$(call Package/$(1)/description).
|
||||
(Contains the Python3 sources for this package).
|
||||
endef
|
||||
|
||||
# Add default PyPackage filespec none defined
|
||||
ifndef Py3Package/$(1)/filespec
|
||||
define Py3Package/$(1)/filespec
|
||||
|
@ -58,16 +69,22 @@ define Py3Package
|
|||
if [ -e files/python3-package-install.sh ] ; then \
|
||||
$(SHELL) files/python3-package-install.sh \
|
||||
"$(PKG_INSTALL_DIR)" "$$(1)" \
|
||||
"$(HOST_PYTHON3_BIN)" "$$(2)" \
|
||||
"$$$$$$$$$$(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)" \
|
||||
"$(HOST_PYTHON3_BIN)" "$$(2)" \
|
||||
"$$$$$$$$$$(call shvar,Py3Package/$(1)/filespec)" ; \
|
||||
else \
|
||||
echo "No 'python3-package-install.sh' script found" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
endef
|
||||
|
||||
define Package/$(1)-src/install
|
||||
$$(call Package/$(1)/install,$$(1),sources)
|
||||
endef
|
||||
endef
|
||||
|
||||
$(call include_mk, python3-host.mk)
|
||||
|
|
Loading…
Reference in a new issue