# Hooks to collect statistics about installed files
define _step_pkg_size_get_file_list
- (cd $(TARGET_DIR) ; \
+ (cd $(2) ; \
( \
find . -xtype f -print0 | xargs -0 md5sum ; \
find . -xtype d -print0 | xargs -0 -I{} printf 'directory {}\n'; \
) | sort > $1
endef
-# This hook will be called before the target installation of a
-# package. We store in a file named .br_filelist_before the list of
-# files currently installed in the target. Note that the MD5 is also
-# stored, in order to identify if the files are overwritten.
+# This hook will be called before the installation of a package. We store in
+# a file named .br_filelist_before the list of files currently installed.
+# Note that the MD5 is also stored, in order to identify if the files are
+# overwritten.
+# $(1): package name (ignored)
+# $(2): base directory to search in
define step_pkg_size_start
- $(call _step_pkg_size_get_file_list,$($(PKG)_DIR)/.br_filelist_before)
+ $(call _step_pkg_size_get_file_list,$($(PKG)_DIR)/.br_filelist_before,$(2))
endef
-# This hook will be called after the target installation of a
-# package. We store in a file named .br_filelist_after the list of
-# files (and their MD5) currently installed in the target. We then do
-# a diff with the .br_filelist_before to compute the list of files
-# installed by this package.
+# This hook will be called after the installation of a package. We store in
+# a file named .br_filelist_after the list of files (and their MD5) currently
+# installed. We then do a diff with the .br_filelist_before to compute the
+# list of files installed by this package.
+# The suffix is typically empty for the target variant, for legacy backward
+# compatibility.
+# $(1): package name (ignored)
+# $(2): base directory to search in
+# $(3): suffix of file (optional)
define step_pkg_size_end
- $(call _step_pkg_size_get_file_list,$($(PKG)_DIR)/.br_filelist_after)
+ $(call _step_pkg_size_get_file_list,$($(PKG)_DIR)/.br_filelist_after,$(2))
comm -13 $($(PKG)_DIR)/.br_filelist_before $($(PKG)_DIR)/.br_filelist_after | \
while read hash file ; do \
echo "$(1),$${file}" ; \
- done >> $(BUILD_DIR)/packages-file-list.txt
+ done >> $(BUILD_DIR)/packages-file-list$(3).txt
rm -f $($(PKG)_DIR)/.br_filelist_before $($(PKG)_DIR)/.br_filelist_after
endef
define step_pkg_size
$(if $(filter install-target,$(2)),\
- $(if $(filter start,$(1)),$(call step_pkg_size_start,$(3))) \
- $(if $(filter end,$(1)),$(call step_pkg_size_end,$(3))))
+ $(if $(filter start,$(1)),$(call step_pkg_size_start,$(3),$(TARGET_DIR))) \
+ $(if $(filter end,$(1)),$(call step_pkg_size_end,$(3),$(TARGET_DIR))))
+ $(if $(filter install-staging,$(2)),\
+ $(if $(filter start,$(1)),$(call step_pkg_size_start,$(3),$(STAGING_DIR),-staging)) \
+ $(if $(filter end,$(1)),$(call step_pkg_size_end,$(3),$(STAGING_DIR),-staging)))
+ $(if $(filter install-host,$(2)),\
+ $(if $(filter start,$(1)),$(call step_pkg_size_start,$(3),$(HOST_DIR),-host)) \
+ $(if $(filter end,$(1)),$(call step_pkg_size_end,$(3),$(HOST_DIR),-host)))
endef
GLOBAL_INSTRUMENTATION_HOOKS += step_pkg_size