# build-installer.sh
#
-#
-# Created by pete on 02/01/2012.
-# Copyright (c) 2011, JANET(UK)
+# Copyright (c) 2012, JANET(UK)
+cd ~/moonshot/mac-client-installer
+pwd
+echo " * Put the jhbuild config file in the correct place"
cp ./.jhbuildrc-custom ~/
+echo " * Remove old files and directories"
+rm *.dmg
+rm *.pkg
+rm -Rf moonshot
+rm -Rf moonshot-ui
+rm -Rf sasl
+echo "Done"
-# build moonshot in jhbuild shell
-cd ../moonshot && jhbuild run ./configure --enable-acceptor=no --with-krb5=$HOME/gtk/inst && make && make install DESTDIR=$HOME/moonshot/mac-client-installer/moonshot
+echo " * Bootstrap jhbuild"
+jhbuild bootstrap --ignore-system
+pwd
+echo "Done preparing"
+
+echo " * build moonshot in jhbuild shell"
+cd ../moonshot
+pwd
+jhbuild run ./autogen.sh
+jhbuild run ./configure --enable-acceptor=no --with-krb5=$HOME//moonshot/mac-client-installer/krb/usr/local
+jhbuild run make && make install DESTDIR=$HOME/moonshot/mac-client-installer/moonshot
+cd ~/moonshot/mac-client-installer
+pwd
+echo "Done"
-# build cyrus-sasl using jhbuild
+echo " * The first time this script is run the following errors may be generated: "
+echo " * ** Error during phase build of cyrus-sasl: ########## Error running make *** [39/41]"
+echo " * choose [4] Start shell"
+echo " $ ./configure --prefix=/usr/local --with-gss_impl=mit"
+echo " $ exit "
+echo " * choose [1] Rerun phase build"
+echo
+echo " * build cyrus-sasl using jhbuild"
jhbuild build cyrus-sasl
+echo "Done"
-# build moonshot-ui using jhbuild
+echo " * Fix up the cyrus-sasl links"
+mkdir -p sasl/usr/lib
+cd sasl/usr/lib && ln -fs ../local/lib/sasl2
+cd ~/moonshot/mac-client-installer
+pwd
+echo "Done"
+
+echo " * The first time this script is run the following errors may be generated: "
+echo " * *** Error during phase configure of gtk-mac-bundler: ########## Error running ./configure --prefix /Users/pete/gtk/inst --libdir '/Users/pete/gtk/inst/lib' *** "
+echo " * choose [2] Ignore error and continue"
+echo " *"
+echo " * *** Error during phase build of perl-xml-parser: ########## Error running make LD_RUN_PATH= *** [6/37]"
+echo " * choose [4] Start shell"
+echo " * $ git apply ~/moonshot/mac-client-installer/0001-Remove-arch-ppc-flags.patch "
+echo " * $ make"
+echo " * $ exit "
+echo " * choose [2] Ignore error and continue"
+echo " *"
+echo " * *** Error during phase configure of gtk-mac-bundler: ########## Error running ./configure --prefix /Users/pete/gtk/inst --libdir '/Users/pete/gtk/inst/lib' *** [37/38]"
+echo " * choose [2] Ignore error and continue"
+echo " *"
+echo " * Now we can build moonshot-ui"
jhbuild build moonshot-ui
+echo "Done"
+echo
-# make moonshot-ui app bundle in jhbuild shell
+echo " * Make moonshot-ui app bundle in jhbuild shell"
cd ~/gtk/source/moonshot-ui/ && jhbuild run make app-bundle
-pwd
+echo "Done"
+echo " * Make the libmoonshot files in the correct directory for the installer"
+jhbuild run ./configure && make && make install DESTDIR=$HOME/moonshot/mac-client-installer/moonshot-ui
cd ~/moonshot/mac-client-installer
pwd
-# fix up the cyrus-sasl links
-mkdir -p sasl/usr/lib
-cd sasl/usr/lib && ln -fs ../local/lib/sasl2
-cd ~/moonshot/mac-client-installer
-pwd
+echo "Done"
-# Ensure the permissions are correct for the files to be installed
+echo " * Ensure the permissions are correct for the files to be installed"
sudo chown -R root:admin sasl krb moonshot moonshot-ui
sudo chmod -R g+w sasl krb moonshot moonshot-ui
+echo "Done"
-# create the installer package
+echo " * Put the DBus Property list in the moonshot-ui tree for the installer with the correct permissions"
+cp org.freedesktop.dbus-session.plist moonshot-ui/
+sudo chown -R root:admin moonshot-ui/org.freedesktop.dbus-session.plist
+
+echo " * Create the installer package"
/Developer/usr/bin/packagemaker --doc Moonshot\ Client\ Software.pmdoc \
--version 0.1 --filter "/.DS_Store" --root-volume-only \
--domain system --verbose --no-relocate -l "/" --target 10.5 \
--id ja.net.moonshotClientSoftware --out Moonshot\ Client\ Software.pkg
-# create and mount a disk image
+echo " * Create and mount a disk image"
hdiutil create -size 20m -fs HFS+ -volname "Moonshot Client Software" temp.dmg
hdiutil attach temp.dmg
-# Copy the package and the READMEs
+echo " * Copy the package and the READMEs"
cp -R Moonshot\ Client\ Software.pkg /Volumes/Moonshot\ Client\ Software/
# TODO we need some readmes for the Mac instalatiom
#cp -R resources/* /Volumes/Moonshot\ Client\ Software/
-# Get rid of hidden files and folders that we don't need
+echo " * Get rid of hidden files and folders that we don't need"
sudo rm -rf /Volumes/Moonshot\ Client\ Software/.fseventsd/
sudo rm -rf /Volumes/Moonshot\ Client\ Software/.Trashes/
sudo find /Volumes/Moonshot\ Client\ Software -name '.*' -type f -delete
-# Unmount the image
+echo " * Unmount the image"
hdiutil detach /Volumes/Moonshot\ Client\ Software
-# Convert the disk image to read-only
+echo " * Convert the disk image to read-only"
hdiutil convert temp.dmg -format UDZO -o moonshotclientsoftware.dmg
-rm temp.dmg
-
+#rm temp.dmg
+echo "All Done"