--- pkg/usr/bin/makepkg 2009-11-23 10:07:22.916038300 +0000 +++ makepkg 2009-11-23 10:08:05.812028355 +0000 @@ -44,7 +44,7 @@ startdir="$PWD" srcdir="$startdir/src" pkgdir="$startdir/pkg" -packaging_options=('strip' 'docs' 'libtool' 'emptydirs' 'zipman' 'purge') +packaging_options=('strip' 'docs' 'libtool' 'emptydirs' 'zipman' 'purge' 'upx') other_options=('ccache' 'distcc' 'makeflags' 'force') splitpkg_overrides=('pkgver' 'pkgrel' 'pkgdesc' 'arch' 'license' 'groups' \ 'depends' 'optdepends' 'provides' 'conflicts' 'replaces' \ @@ -864,6 +864,19 @@ tidy_install() { msg2 "$(gettext "Removing empty directories...")" find . -depth -type d -empty -delete fi + + if [ "$(check_option upx)" = "y" -a -x /usr/bin/upx ]; then + msg2 "$(gettext "UPXing :)")" + local binary + find . -type f 2>/dev/null | while read binary ; do + case "$(file -biz "$binary")" in + *compressed-encoding*) # Skip compressed binaries + ;; + *application/x-executable*) # Binaries + /usr/bin/upx "$binary" >/dev/null 2>&1 || echo "Could not compress $binary";; + esac + done + fi } write_pkginfo() {