From: Paul Eggleton Date: Thu, 11 Aug 2016 04:45:05 +0000 (+1200) Subject: toolchain-shar-extract.sh: add option to list contents X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~24679 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1d3e874f191f011eb9d7b0e12e513433c126036e;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git toolchain-shar-extract.sh: add option to list contents Add a -l command-line option for SDK installers to get a list of files that will be extracted by the SDK - internally this just runs "tar tv" on the embedded tarball. This can be used to look at which files the SDK provides without actually installing it. The initial user of this is the extensible SDK build process which needs to know what binaries are going to be installed by the buildtools installer without installing it. Signed-off-by: Paul Eggleton Signed-off-by: Ross Burton --- diff --git a/meta/files/toolchain-shar-extract.sh b/meta/files/toolchain-shar-extract.sh index 92793103762..434510470bf 100644 --- a/meta/files/toolchain-shar-extract.sh +++ b/meta/files/toolchain-shar-extract.sh @@ -47,7 +47,8 @@ relocate=1 savescripts=0 verbose=0 publish=0 -while getopts ":yd:npDRS" OPT; do +listcontents=0 +while getopts ":yd:npDRSl" OPT; do case $OPT in y) answer="Y" @@ -72,6 +73,9 @@ while getopts ":yd:npDRS" OPT; do S) savescripts=1 ;; + l) + listcontents=1 + ;; *) echo "Usage: $(basename $0) [-y] [-d ]" echo " -y Automatic yes to all prompts" @@ -83,11 +87,18 @@ while getopts ":yd:npDRS" OPT; do echo " -S Save relocation scripts" echo " -R Do not relocate executables" echo " -D use set -x to see what is going on" + echo " -l list files that will be extracted" exit 1 ;; esac done +payload_offset=$(($(grep -na -m1 "^MARKER:$" $0|cut -d':' -f1) + 1)) +if [ "$listcontents" = "1" ] ; then + tail -n +$payload_offset $0| tar tvJ || exit 1 + exit +fi + titlestr="@SDK_TITLE@ installer version @SDK_VERSION@" printf "%s\n" "$titlestr" printf "%${#titlestr}s\n" | tr " " "=" @@ -187,8 +198,6 @@ if [ ! -x $target_sdk_dir -o ! -w $target_sdk_dir -o ! -r $target_sdk_dir ]; the $SUDO_EXEC mkdir -p $target_sdk_dir >/dev/null 2>&1 fi -payload_offset=$(($(grep -na -m1 "^MARKER:$" $0|cut -d':' -f1) + 1)) - printf "Extracting SDK..." tail -n +$payload_offset $0| $SUDO_EXEC tar xJ -C $target_sdk_dir --checkpoint=.2500 $EXTRA_TAR_OPTIONS || exit 1 echo "done"