From 6e312867c79da67ac7fc353f2d1067319bc59226 Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Wed, 8 Apr 2015 14:04:06 +0200 Subject: [PATCH] New option to add an icon to the application bundle --- appify.sh | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/appify.sh b/appify.sh index a7db786..c7ffa8e 100755 --- a/appify.sh +++ b/appify.sh @@ -21,7 +21,7 @@ args=$(getopt h $*) function usage { - echo "Usage: $0 [-h] " + echo "Usage: $0 [-h] []" exit 2 } @@ -38,12 +38,13 @@ for i ; do esac done -if [ $# != 2 ]; then +if [ $# -lt 2 -o $# -gt 3 ]; then usage fi SCRIPT=$1 TARGET=$2 +ICON=$3 BASENAME=`basename "$SCRIPT"` @@ -57,6 +58,11 @@ if [ -e "$TARGET" ]; then exit 3 fi +if [ -n "$ICON" -a ! -r "$ICON" ]; then + echo "$ICON isn't readable!" 1>&2 + exit 3 +fi + SCRIPTSIZE=$(ls -l "$SCRIPT" | awk '{print $5}') if [ $SCRIPTSIZE -lt 28 ]; then @@ -90,6 +96,17 @@ cat <"$TARGET/Contents/Info.plist" ???? CFBundleVersion 1.0 +EOF + +if [ -n "$ICON" ]; then + cat <>"$TARGET/Contents/Info.plist" + CFBundleIconFile + app.icns +EOF + cp "$ICON" "$TARGET/Contents/Resources/app.icns" || exit 1 +fi + +cat <>"$TARGET/Contents/Info.plist" EOF -- 2.39.2