diff --git a/mpackage.sh b/mpackage.sh index 6a94f01..a73dd1e 100755 --- a/mpackage.sh +++ b/mpackage.sh @@ -24,6 +24,9 @@ USAGE: --zipfile ZIPFILE_NAME name of the zipfile to be created (optional) + --symbols do not strip PE binaries (distro) + --flysyms do not strip PE binaries (live environment) + EOF exit 1 } @@ -61,6 +64,10 @@ init_vars() mb_pkgroot=$PACKAGE_ROOT mb_sysroot=$SYSTEM_ROOT + # symbols + mb_symbols='no' + mb_flysyms='no' + # and voila mb_zipfile=$ZIPFILE_NAME } @@ -163,6 +170,12 @@ init_pkglist() fi } +strip_symbols() +{ + ( perk -y $f 2>/dev/null | grep -v '\-obj\-' >/dev/null ) \ + && ( strip $1 || exit 2 ) +} + gen_tarballs() { for pkg in $mb_pkglist; do @@ -171,6 +184,13 @@ gen_tarballs() cp -av "$objdir" "$pkgdir" || exit 2 cd "$pkgdir" || exit 2 + + for f in $(find -type f); do + if [ $mb_symbols = 'no' ]; then + strip_symbols $f + fi + done + tar -cvzf "$mb_pkgroot/$pkg.tar.gz" * || exit 2 done @@ -190,6 +210,13 @@ gen_sysroot() # minipix cd "$mb_minroot" || exit 2 cp -av * "$mb_sysroot" || exit 2 + cd "$mb_sysroot" || exit 2 + + for f in $(find -type f); do + if [ $mb_flysyms = 'no' ]; then + strip_symbols $f + fi + done # common cd "$mb_project_dir/common" || exit 2 @@ -261,6 +288,12 @@ for arg ; do --zipfile=*) mb_zipfile=${arg#*=} ;; + --symbols) + mb_symbols='yes' + ;; + --flysyms) + mb_flysyms='yes' + ;; --subset=*) mb_subset=${arg#*=} mb_subsets="$mb_subsets $mb_subset"