瀏覽代碼

python/python3: use --no-run-if-empty xargs option

As suggested by Samuel Martin, this commit adds the option
--no-run-if-empty xargs option to the "find ... | xargs ..." logic used
in the python and python3 target-finalize hooks to remove py/pyc/pyo
files. This ensures that the command doesn't fail if there are no files
matching the pattern.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Petazzoni 9 年之前
父節點
當前提交
f06f58f8fd
共有 2 個文件被更改,包括 12 次插入6 次删除
  1. 6 3
      package/python/python.mk
  2. 6 3
      package/python3/python3.mk

+ 6 - 3
package/python/python.mk

@@ -219,14 +219,16 @@ $(eval $(host-autotools-package))
 
 
 ifeq ($(BR2_PACKAGE_PYTHON_PYC_ONLY),y)
 ifeq ($(BR2_PACKAGE_PYTHON_PYC_ONLY),y)
 define PYTHON_REMOVE_PY_FILES
 define PYTHON_REMOVE_PY_FILES
-	find $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR) -name '*.py' -print0 | xargs -0 rm -f
+	find $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR) -name '*.py' -print0 | \
+		xargs -0 --no-run-if-empty rm -f
 endef
 endef
 TARGET_FINALIZE_HOOKS += PYTHON_REMOVE_PY_FILES
 TARGET_FINALIZE_HOOKS += PYTHON_REMOVE_PY_FILES
 endif
 endif
 
 
 ifeq ($(BR2_PACKAGE_PYTHON_PY_ONLY),y)
 ifeq ($(BR2_PACKAGE_PYTHON_PY_ONLY),y)
 define PYTHON_REMOVE_PYC_FILES
 define PYTHON_REMOVE_PYC_FILES
-	find $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR) -name '*.pyc' -print0 | xargs -0 rm -f
+	find $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR) -name '*.pyc' -print0 | \
+		xargs -0 --no-run-if-empty rm -f
 endef
 endef
 TARGET_FINALIZE_HOOKS += PYTHON_REMOVE_PYC_FILES
 TARGET_FINALIZE_HOOKS += PYTHON_REMOVE_PYC_FILES
 endif
 endif
@@ -234,7 +236,8 @@ endif
 # In all cases, we don't want to keep the optimized .pyo files
 # In all cases, we don't want to keep the optimized .pyo files
 ifeq ($(BR2_PACKAGE_PYTHON),y)
 ifeq ($(BR2_PACKAGE_PYTHON),y)
 define PYTHON_REMOVE_PYO_FILES
 define PYTHON_REMOVE_PYO_FILES
-	find $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR) -name '*.pyo' -print0 | xargs -0 --no-run-if-empty rm -f
+	find $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR) -name '*.pyo' -print0 | \
+		xargs -0 --no-run-if-empty rm -f
 endef
 endef
 TARGET_FINALIZE_HOOKS += PYTHON_REMOVE_PYO_FILES
 TARGET_FINALIZE_HOOKS += PYTHON_REMOVE_PYO_FILES
 endif
 endif

+ 6 - 3
package/python3/python3.mk

@@ -214,14 +214,16 @@ $(eval $(host-autotools-package))
 
 
 ifeq ($(BR2_PACKAGE_PYTHON3_PYC_ONLY),y)
 ifeq ($(BR2_PACKAGE_PYTHON3_PYC_ONLY),y)
 define PYTHON3_REMOVE_PY_FILES
 define PYTHON3_REMOVE_PY_FILES
-	find $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR) -name '*.py' -print0 | xargs -0 rm -f
+	find $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR) -name '*.py' -print0 | \
+		xargs -0 --no-run-if-empty rm -f
 endef
 endef
 TARGET_FINALIZE_HOOKS += PYTHON3_REMOVE_PY_FILES
 TARGET_FINALIZE_HOOKS += PYTHON3_REMOVE_PY_FILES
 endif
 endif
 
 
 ifeq ($(BR2_PACKAGE_PYTHON3_PY_ONLY),y)
 ifeq ($(BR2_PACKAGE_PYTHON3_PY_ONLY),y)
 define PYTHON3_REMOVE_PYC_FILES
 define PYTHON3_REMOVE_PYC_FILES
-	find $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR) -name '*.pyc' -print0 | xargs -0 rm -f
+	find $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR) -name '*.pyc' -print0 | \
+		xargs -0 --no-run-if-empty rm -f
 endef
 endef
 TARGET_FINALIZE_HOOKS += PYTHON3_REMOVE_PYC_FILES
 TARGET_FINALIZE_HOOKS += PYTHON3_REMOVE_PYC_FILES
 endif
 endif
@@ -231,7 +233,8 @@ endif
 # variant.
 # variant.
 ifeq ($(BR2_PACKAGE_PYTHON3),y)
 ifeq ($(BR2_PACKAGE_PYTHON3),y)
 define PYTHON3_REMOVE_OPTIMIZED_PYC_FILES
 define PYTHON3_REMOVE_OPTIMIZED_PYC_FILES
-	find $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR) -name '*.opt-1.pyc' -print0 -o -name '*.opt-2.pyc' -print0 | xargs -0 rm -f
+	find $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR) -name '*.opt-1.pyc' -print0 -o -name '*.opt-2.pyc' -print0 | \
+		xargs -0 --no-run-if-empty rm -f
 endef
 endef
 TARGET_FINALIZE_HOOKS += PYTHON3_REMOVE_OPTIMIZED_PYC_FILES
 TARGET_FINALIZE_HOOKS += PYTHON3_REMOVE_OPTIMIZED_PYC_FILES
 endif
 endif