Add support for installing gerrit on macOS

Change-Id: I89fdea0d02e2dc5a66237638442a965e86d32e3b
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5ca0973
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.DS_Store
+
diff --git a/macOS/Makefile b/macOS/Makefile
new file mode 100644
index 0000000..25d61d0
--- /dev/null
+++ b/macOS/Makefile
@@ -0,0 +1,16 @@
+VERSION := 2.13.5
+
+all: server
+
+clean:
+	-rm -Rf gerrit-installer.pkg
+	-rm -Rf gerrit/gerrit/gerrit.war
+	cd uninstaller; make clean
+
+server:
+	curl -o gerrit-$(VERSION).war https://gerrit-releases.storage.googleapis.com/gerrit-$(VERSION).war
+	mv gerrit-$(VERSION).war gerrit/gerrit/gerrit.war
+	pkgbuild --root ./gerrit --scripts scripts --identifier com.gerrit.gerrit --version 1 --install-location /private/var gerrit-installer.pkg
+	cd uninstaller; make
+
+.PHONY: clean server
diff --git a/macOS/README.md b/macOS/README.md
new file mode 100644
index 0000000..b019e99
--- /dev/null
+++ b/macOS/README.md
@@ -0,0 +1,12 @@
+# Gerrit Installer For macOS
+
+This installation does the following, it creates a user called gerrit,
+it installs in /var/gerrit/.
+
+* To build it your self do the following first, this will also create the uninstaller too under uninstaller/
+
+```
+  $ chmod a+x scripts/*
+  $ chmod a+x uninstaller/scripts/*
+  $ make VERSION=2.13.5
+```
diff --git a/macOS/gerrit/gerrit/README b/macOS/gerrit/gerrit/README
new file mode 100644
index 0000000..e4252e4
--- /dev/null
+++ b/macOS/gerrit/gerrit/README
@@ -0,0 +1 @@
+* This file is meant to be blank, please see README.md file at ../../README.md
diff --git a/macOS/scripts/gerritcodereview b/macOS/scripts/gerritcodereview
new file mode 100755
index 0000000..084be41
--- /dev/null
+++ b/macOS/scripts/gerritcodereview
@@ -0,0 +1,2 @@
+GERRIT_SITE="/var/lib/gerrit/review_site"
+GERRIT_WAR="/var/lib/gerrit/review_site/bin/gerrit.war"
diff --git a/macOS/scripts/postinstall b/macOS/scripts/postinstall
new file mode 100755
index 0000000..4bf0940
--- /dev/null
+++ b/macOS/scripts/postinstall
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+sudo dscl . create /Users/gerrit
+
+sudo dscl . create /Users/gerrit UserShell /bin/bash
+
+sudo dscl . create /Users/gerrit RealName "gerrit"
+
+sudo dscl . create /Users/gerrit UniqueID 503
+
+sudo dscl . create /Users/gerrit PrimaryGroupID 1000
+
+sudo dscl . create /Users/gerrit NFSHomeDirectory /Users/gerrit
+
+sudo dseditgroup -o create -r "Gerrit" gerrit
+
+sudo dscl . -append /Groups/gerrit GroupMembership gerrit
+
+sudo cp ./gerritcodereview /etc/default/gerritcodereview
+
+sudo createhomedir -c 2>&1 | grep -v "shell-init"
+
+sudo chown -R gerrit:gerrit /Users/gerrit
+
+sudo chown -R gerrit:gerrit /etc/default/gerritcodereview
+
+if [ -d /var/gerrit ]
+then
+  sudo chown -R gerrit:gerrit /var/gerrit
+  sudo chmod 755 /var/gerrit
+fi
diff --git a/macOS/uninstaller/Makefile b/macOS/uninstaller/Makefile
new file mode 100644
index 0000000..75f5547
--- /dev/null
+++ b/macOS/uninstaller/Makefile
@@ -0,0 +1,9 @@
+all: uninstall
+
+clean:
+	-rm -Rf gerrit-uninstaller.pkg
+
+uninstall:
+	pkgbuild --root ./gerr-temp --scripts scripts --identifier com.gerrit.gerrit --version 1 --install-location /private/var/gerr-temp gerrit-uninstaller.pkg
+
+.PHONY: clean uninstall
diff --git a/macOS/uninstaller/gerr-temp/gerr-temp/README.md b/macOS/uninstaller/gerr-temp/gerr-temp/README.md
new file mode 100644
index 0000000..be70ae8
--- /dev/null
+++ b/macOS/uninstaller/gerr-temp/gerr-temp/README.md
@@ -0,0 +1 @@
+* This file is blank
diff --git a/macOS/uninstaller/scripts/postinstall b/macOS/uninstaller/scripts/postinstall
new file mode 100755
index 0000000..e8a31b5
--- /dev/null
+++ b/macOS/uninstaller/scripts/postinstall
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+sudo rm -rf /var/gerrit
+
+sudo rm -rf /var/gerr-temp
+
+sudo rm -rf /Users/gerrit
+
+sudo rm /etc/default/gerritcodereview
+
+sudo dscl . -delete /Users/gerrit
+
+sudo dscl . -delete /Groups/gerrit