summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2017-01-16 17:18:54 -0500
committerRusty Wagner <rusty@vector35.com>2017-01-16 17:36:43 -0500
commit41acb3d72d6ec23620a744b7f84c8359e425b30b (patch)
treedf13cbfbd36f1e6f5e306080c0737e5c11be0f60 /scripts
parent7e154a952fe5856b7cf650e2646ebc410b1fb506 (diff)
parent8139c1413e6453f188b2ea7fed01cb3ea30d949e (diff)
Merge branch 'dev' into type_view
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/linux-setup.sh81
1 files changed, 81 insertions, 0 deletions
diff --git a/scripts/linux-setup.sh b/scripts/linux-setup.sh
new file mode 100755
index 00000000..2f5bd489
--- /dev/null
+++ b/scripts/linux-setup.sh
@@ -0,0 +1,81 @@
+#!/bin/bash
+
+# Note is setup script currently does three things:
+#
+# 1. It creates a binaryninja.desktop file in ~/.local/share/applications and
+# copies it to the desktop
+# 2. It creates a .xml file to add a mime type for .bndb files.
+# 3. It adds a binaryninja: url handler.
+
+
+APP="binaryninja"
+FILECOMMENT="Binary Ninja Analysis Database"
+APPCOMMENT="Binary Ninja: A Reverse Engineering Platform"
+BNPATH=$(dirname $(readlink -f "$0"))
+EXEC="${BNPATH}/binaryninja"
+PNG="${BNPATH}/docs/images/logo.png"
+EXT="bndb"
+SHARE=/usr/share #For system
+SUDO="sudo" #For system
+SHARE=~/.local/share #For user only
+SUDO="" #For user only
+DESKTOPFILE=$SHARE/applications/${APP}.desktop
+MIMEFILE=$SHARE/mime/packages/application-x-$APP.xml
+IMAGEPATH=$SHARE/pixmaps
+
+createdesktopfile()
+{
+ mkdir -p $SHARE/{mime/packages,applications,pixmaps}
+ echo Creating .desktop file
+
+ # Desktop File
+ echo "[Desktop Entry]
+Name=$APP
+Exec=$EXEC %u
+MimeType=application/x-$APP;x-scheme-handler/$APP;
+Icon=$PNG
+Terminal=false
+Type=Application
+Categories=Utility;
+Comment=$APPCOMMENT
+" | $SUDO tee $DESKTOPFILE >/dev/null
+ $SUDO chmod +x $DESKTOPFILE
+
+ $SUDO update-desktop-database $SHARE/applications
+}
+
+createmime()
+{
+ echo Creating MIME settings
+ if [ ! -f $DESKTOPFILE ]
+ then
+ createdesktopfile
+ fi
+
+ echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
+<mime-info xmlns=\"http://www.freedesktop.org/standards/shared-mime-info\">
+ <mime-type type=\"application/x-$APP\">
+ <comment>$FILECOMMENT</comment>
+ <icon name=\"application-x-$APP\"/>
+ <magic-deleteall/>
+ <glob pattern=\"*.$EXT\"/>
+ <sub-class-of type=\"application/x-sqlite3\" />
+ </mime-type>
+</mime-info>"| $SUDO tee $MIMEFILE >/dev/null
+
+ #echo Copying icon
+ #$SUDO cp $PNG $IMAGEPATH/$APP.png
+ $SUDO cp $PNG $IMAGEPATH/application-x-$APP.png
+
+ $SUDO update-mime-database $SHARE/mime
+}
+
+addtodesktop()
+{
+ cp $DESKTOPFILE ~/Desktop
+}
+
+#TODO: Make these optional...
+createdesktopfile
+createmime
+addtodesktop