summaryrefslogtreecommitdiff
path: root/mach
diff options
context:
space:
mode:
Diffstat (limited to 'mach')
-rw-r--r--mach64
1 files changed, 64 insertions, 0 deletions
diff --git a/mach b/mach
new file mode 100644
index 000000000..efc366a4f
--- /dev/null
+++ b/mach
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+MCP_MACH=./platform/mach
+MCP_GIT=`which git 2>/dev/null`
+
+if [ ! -f "$MCP_MACH" ]; then
+ printf "Error: There is no platform codebase.\n"
+ exit 1
+fi
+
+MCP_APP=browser
+MCP_APP_NAME=palemoon
+MCP_VERSION=`cat ./$MCP_APP/config/version.txt`
+
+MCP_XZ=`which xz 2>/dev/null`
+MCP_TAR_BASEDIR="s/^./$MCP_APP_NAME-source/"
+MCP_TAR_FILENAME="$MCP_APP_NAME-$MCP_VERSION.source.tar.xz"
+MCP_TAR_COMMAND="tar cfJv ../$MCP_TAR_FILENAME . --transform $MCP_TAR_BASEDIR --exclude-vcs --warning=no-file-changed"
+MCP_TAR_EXCLUDES=(
+ "$MCP_APP/branding/beta"
+ "$MCP_APP/branding/unstable"
+ "platform/db/mork"
+ "platform/docs"
+ "platform/ldap"
+ "platform/libs/gmp-clearkey"
+ "platform/mailnews"
+ "platform/python/psutil/*.so"
+ "platform/python/psutil/*.pyd"
+ "platform/python/psutil/build"
+ "platform/xulrunner"
+ ".mozconfig"
+ ".gitattributes"
+ ".gitignore"
+ ".gitmodules"
+ "*.pyc"
+ "*.pyo"
+ "*.rej"
+ "*.orig"
+ "*.source.tar.xz"
+)
+
+if [ "$1" == "source" ]; then
+ if [ -z "$MCP_XZ" ]; then
+ printf "Error: XZ was not found on the system. NOTE: This won't work on Windows.\n"
+ exit 1
+ fi
+
+ for _value in "${MCP_TAR_EXCLUDES[@]}"; do
+ MCP_TAR_COMMAND+=" --exclude=${_value}"
+ done
+
+ if [[ -n "$MCP_GIT" && -d "./.git" && -d "./platform/.git" ]]; then
+ printf "COMM SHA1: `"${MCP_GIT}" rev-parse --short HEAD 2>/dev/null`\n"
+ printf "GRE SHA1: `cd ./platform && "${MCP_GIT}" rev-parse --short HEAD 2>/dev/null`\n"
+ fi
+
+ printf "Source Filename: $MCP_TAR_FILENAME\n\n"
+ read -r -s -p $'Press enter to continue...\n'
+ env XZ_OPTS=-9e ${MCP_TAR_COMMAND}
+else
+ # We don't know what the command is but real-mach might so just pass
+ # all the args to it
+ $MCP_MACH $@
+fi