###
### The script compares locally compiled package with the package indexes
### available upstream. This way the storage impact of optimizations or
-### feature modifiactions is easy to see.
+### feature modifications is easy to see.
###
-### If no environmental variables are set the scritp reads the current
+### If no environmental variables are set the script reads the current
### .config file. The evaluated env variables are the following:
###
### TARGET SUBTARGET ARCH PACKAGES BIN_DIR BASE_URL CHECK_INSTALLED
### -p --package-size Check IPK package size and not installed size
### -h --help This message
-CONFIG_TARGET=$(sed -n 's/^CONFIG_TARGET_BOARD="\(.*\)"$/\1/p' .config)
-CONFIG_SUBTARGET=$(sed -n 's/^CONFIG_TARGET_SUBTARGET="\(.*\)"$/\1/p' .config)
-CONFIG_ARCH=$(sed -n 's/^CONFIG_TARGET_ARCH_PACKAGES="\(.*\)"$/\1/p' .config)
+eval "$(grep \
+ -e ^CONFIG_TARGET_BOARD= \
+ -e ^CONFIG_TARGET_SUBTARGET= \
+ -e ^CONFIG_TARGET_ARCH_PACKAGES= \
+ -e ^CONFIG_BINARY_FOLDER= \
+ .config 2>/dev/null \
+)"
CONFIG_PACKAGES=$(sed -n 's/^CONFIG_PACKAGE_\(.*\)=y$/\1/p' .config | tr '\n' ' ')
-CONFIG_BIN_DIR=$(sed -n 's/^CONFIG_BINARY_DIR="\(.*\)"$/\1/p' .config)
-TARGET=${TARGET:-$CONFIG_TARGET}
-SUBTARGET=${SUBTARGET:-$CONFIG_SUBTARGET}
-ARCH=${ARCH:-$CONFIG_ARCH}
+TARGET=${TARGET:-$CONFIG_TARGET_BOARD}
+SUBTARGET=${SUBTARGET:-$CONFIG_TARGET_SUBTARGET}
+ARCH=${ARCH:-$CONFIG_TARGET_ARCH_PACKAGES}
PACKAGES=${PACKAGES:-$CONFIG_PACKAGES}
-BIN_DIR=${CONFIG_BIN_DIR:-./bin}
+BIN_DIR=${CONFIG_BINARY_FOLDER:-./bin}
BASE_URL="${BASE_URL:-https://downloads.openwrt.org/snapshots}"
CHECK_INSTALLED="${CHECK_INSTALLED:-y}"
}
compare_sizes () {
+ TOTAL_DIFF="0"
for PACKAGE in $PACKAGES; do
if [ "$PACKAGE" = "libc" ]; then
continue
SIZE_LOCAL=$(tar tzvf "$PACKAGE_FILE" ./data.tar.gz | awk '{ print $3 }')
fi
SIZE_UPSTREAM=$(package_size "$TMP_INDEX" "$PACKAGE")
- SIZE_DIFF="$((SIZE_LOCAL-SIZE_UPSTREAM))"
+ SIZE_DIFF="$((SIZE_LOCAL - SIZE_UPSTREAM))"
+ TOTAL_DIFF="$((TOTAL_DIFF + SIZE_DIFF))"
if [ "$SIZE_DIFF" -gt 0 ]; then
SIZE_DIFF="+$SIZE_DIFF"
fi
echo "$PACKAGE is missing upstream"
fi
done
+ echo "~~~~~~~ total change ${TOTAL_DIFF}"
}
if [ "$1" = "-h" ]; then