aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2012-05-10 02:11:28 -0700
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2012-05-10 02:11:28 -0700
commitb0f4ff28791ba865b689a4e2077d70bfa26bf6f6 (patch)
treea378f0df1ceb5b6bca5b06a815d641ce06fe1b4c
parent070b10689c0ccd2ab2525a10b6fafee517013b12 (diff)
Added build_tools folder so we can automate release builds
-rwxr-xr-xbuild_tools/make_pkg.sh17
-rwxr-xr-xbuild_tools/make_tarball.sh9
-rwxr-xr-xbuild_tools/osx_package_scripts/add-shell48
-rwxr-xr-xbuild_tools/osx_package_scripts/postinstall3
4 files changed, 77 insertions, 0 deletions
diff --git a/build_tools/make_pkg.sh b/build_tools/make_pkg.sh
new file mode 100755
index 00000000..fd34c5ae
--- /dev/null
+++ b/build_tools/make_pkg.sh
@@ -0,0 +1,17 @@
+#!/bin/sh -x
+
+rm -rf /tmp/fish_pkg
+mkdir -p /tmp/fish_pkg/
+if make install prefix=/tmp/fish_pkg/usr/local/
+then
+ echo "Root written to /tmp/fish_pkg/"
+ if pkgbuild --identifier com.ridiculousfish.fish-shell --scripts build_tools/osx_package_scripts/ --root /tmp/fish_pkg/ ~/fish_installer.pkg
+ then
+ echo "Package written to ~/fish_installer.pkg"
+ else
+ echo "Package could not be written"
+ fi
+
+else
+ echo "Root could not be written"
+fi
diff --git a/build_tools/make_tarball.sh b/build_tools/make_tarball.sh
new file mode 100755
index 00000000..2e710174
--- /dev/null
+++ b/build_tools/make_tarball.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+rm -f /tmp/fish_fish.tar /tmp/fish_fish.tar.gz
+if git archive --format=tar fish_fish | gzip - > /tmp/fish_fish.tar
+then
+ echo "Tarball written to /tmp/fish_fish.tar.gz"
+else
+ echo "Tarball could not be written"
+fi
diff --git a/build_tools/osx_package_scripts/add-shell b/build_tools/osx_package_scripts/add-shell
new file mode 100755
index 00000000..3544ebfc
--- /dev/null
+++ b/build_tools/osx_package_scripts/add-shell
@@ -0,0 +1,48 @@
+#!/bin/sh -e
+
+# Modified from Debian's add-shell to work on OS X
+
+if test $# -eq 0
+then
+ echo usage: $0 shellname [shellname ...]
+ exit 1
+fi
+
+scriptname=`basename "$0"`
+if [[ $UID -ne 0 ]]; then
+ echo "${scriptname} must be run as root"
+ exit 1
+fi
+
+file=/etc/shells
+# I want this to be GUARANTEED to be on the same filesystem as $file
+tmpfile=${file}.tmp
+
+set -o noclobber
+
+trap "rm -f $tmpfile" EXIT
+
+if ! cat $file > $tmpfile
+then
+ cat 1>&2 <<EOF
+Either another instance of $0 is running, or it was previously interrupted.
+Please examine ${tmpfile} to see if it should be moved onto ${file}.
+EOF
+ exit 1
+fi
+
+for i
+do
+ if ! grep -q "^${i}$" $tmpfile
+ then
+ echo $i >> $tmpfile
+ fi
+done
+
+chmod 0644 $tmpfile
+chown root:wheel $tmpfile
+
+mv $tmpfile $file
+
+trap "" EXIT
+exit 0
diff --git a/build_tools/osx_package_scripts/postinstall b/build_tools/osx_package_scripts/postinstall
new file mode 100755
index 00000000..544fd1de
--- /dev/null
+++ b/build_tools/osx_package_scripts/postinstall
@@ -0,0 +1,3 @@
+#!/bin/sh -x
+
+./add-shell /usr/local/bin/fish > /tmp/fish_postinstall_output.log