From b0f4ff28791ba865b689a4e2077d70bfa26bf6f6 Mon Sep 17 00:00:00 2001 From: ridiculousfish Date: Thu, 10 May 2012 02:11:28 -0700 Subject: [PATCH] Added build_tools folder so we can automate release builds --- build_tools/make_pkg.sh | 17 ++++++++ build_tools/make_tarball.sh | 9 ++++ build_tools/osx_package_scripts/add-shell | 48 +++++++++++++++++++++ build_tools/osx_package_scripts/postinstall | 3 ++ 4 files changed, 77 insertions(+) create mode 100755 build_tools/make_pkg.sh create mode 100755 build_tools/make_tarball.sh create mode 100755 build_tools/osx_package_scripts/add-shell create mode 100755 build_tools/osx_package_scripts/postinstall diff --git a/build_tools/make_pkg.sh b/build_tools/make_pkg.sh new file mode 100755 index 000000000..fd34c5ae8 --- /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 000000000..2e710174e --- /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 000000000..3544ebfc6 --- /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 <> $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 000000000..544fd1de1 --- /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