commit:     15f9b645b39b2cbac2a7659a3a6a006c8befadfc
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 30 20:14:34 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Fri Aug 30 21:04:25 2019 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=15f9b645

Record disk usage for each package/component

Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 gen_determineargs.sh      |  2 ++
 gen_funcs.sh              | 11 +++++++++++
 gen_initramfs.sh          |  8 +++++++-
 worker_modules/gkbuild.sh |  7 +++++++
 4 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index 79d0638..db6ccf9 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -764,6 +764,8 @@ determine_real_args() {
                        unset FEATURE_REQUIRING_BUSYBOX 
FEATURES_REQUIRING_BUSYBOX
                fi
 
+               DU_COMMAND="$(which du 2>/dev/null)"
+
                LDDTREE_COMMAND="$(which lddtree 2>/dev/null)"
                if [ -z "${LDDTREE_COMMAND}" ]
                then

diff --git a/gen_funcs.sh b/gen_funcs.sh
index c3bcee6..f835220 100755
--- a/gen_funcs.sh
+++ b/gen_funcs.sh
@@ -813,6 +813,16 @@ get_chost_libdir() {
        echo "${libdir}"
 }
 
+get_du() {
+       [[ ${#} -ne 1 ]] \
+               && gen_die "$(get_useful_function_stack "${FUNCNAME}")Invalid 
usage of ${FUNCNAME}(): Function takes exactly one argument (${#} given)!"
+
+       [ -z "${DU_COMMAND}" ] && return
+
+       local sz=( $("${DU_COMMAND}" -hs "${1}" 2>/dev/null) )
+       echo "${sz[0]}"
+}
+
 _get_gkpkg_var_value() {
        [[ ${#} -ne 2 ]] \
                && gen_die "$(get_useful_function_stack "${FUNCNAME}")Invalid 
usage of ${FUNCNAME}(): Function takes exactly two arguments (${#} given)!"
@@ -1264,6 +1274,7 @@ gkbuild() {
                "GKPKG_SRCTAR='${SRCTAR}'"
                "GKPKG_BINPKG='${BINPKG}'"
                "GKPKG_DEPS='${DEPS}'"
+               "DU_COMMAND='${DU_COMMAND}'"
                "TAR_COMMAND='${TAR_COMMAND}'"
        )
 

diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index 067f630..a27e2ca 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -171,8 +171,14 @@ copy_system_binaries() {
 }
 
 log_future_cpio_content() {
+       local dir_size=$(get_du "${PWD}")
+       if [ -n "${dir_size}" ]
+       then
+               dir_size=" (${dir_size})"
+       fi
+
        print_info 3 
"=================================================================" 1 0 1
-       print_info 3 "About to add these files from '${PWD}' to cpio archive:" 
1 0 1
+       print_info 3 "About to add these files${dir_size} from '${PWD}' to cpio 
archive:" 1 0 1
        print_info 3 "$(find . -print0 | xargs --null ls -ald)" 1 0 1
        print_info 3 
"=================================================================" 1 0 1
 }

diff --git a/worker_modules/gkbuild.sh b/worker_modules/gkbuild.sh
index ea64a17..213597a 100644
--- a/worker_modules/gkbuild.sh
+++ b/worker_modules/gkbuild.sh
@@ -184,6 +184,13 @@ _gkbuild_main() {
        "${TAR_COMMAND}" -caf "${GKPKG_BINPKG}" . \
                || die "Failed to create binpkg of ${P} in '${GKPKG_BINPKG}'!"
 
+       if [ -n "${DU_COMMAND}" ]
+       then
+               print_info 5 "Final size of build root:      $(get_du 
"${BROOT}")"
+               print_info 5 "Final size of build directory: $(get_du "${S}")"
+               print_info 5 "Final size of installed tree:  $(get_du "${D}")"
+       fi
+
        cd "${TEMP}" || die "Failed to chdir to '${TEMP}'!"
        if [ ! -f "${TEMP}/.no_cleanup" ]
        then

Reply via email to