Fix broken reference on ui subproject
[moonshot.git] / mac-client-installer / README.MacOsBuildInstructions
index c710d1e..6bf18fb 100644 (file)
@@ -1,38 +1,30 @@
 ### Building Mac OS Installer using jhbuild
+This document contains instructions for building the Mac OS Installer for the Moonshot GSS EAP and SASL GS2 libraries, and the Moonshot Identity Selector software.
+The jhbuild build tool is used to build software, and must be installed as described at http://developer.gnome.org/jhbuild/unstable/getting-started.html.en.
+The Gtk+ tool gtk-mac-bundler is used to make the Identity Selector Mac OS application bundle https://live.gnome.org/GTK%2B/OSX/Bundling
+The Moonshot software requires Kerberos version 1.9.2, which is more recent than the version shipped with the target versions of Mac OS X, so must be downloaded from http://web.mit.edu/kerberos/dist/krb5/1.9/ and unpacked.
+The software to be installed, the installer package and the disk image are produced by running the script build-installer.sh in this directory. 
 
 ## Preparation
+++++++++++++++
+1: Install jhbuild, which Creates working folder ~/gtk
 
-# install jhbuild
-Install jhbuild, which Creates working folder ~/gtk
+2: MIT Kerberos 1.9.2 Kerberos 
+Install in ~/gtk/inst to build against  - in the Krb5 src directory 
+jhbuild run build-krb5.sh
+Inside jhbuild shell
 
-# install gtk-mac-bundler
-Either$ cd ~
-$ wget http://ftp.gnome.org/pub/gnome/sources/gtk-mac-bundler/0.6/gtk-mac-bundler-0.6.1.tar.bz2
-$ tar jxvf gtk-mac-bundler-0.6.1.tar.gz
-$ cd gtk-mac-bundler-0.6.1
-$ make install
+## Building the Software, Installer Package and Disk Image
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+In the folder ~/moonshot/mac-client-installer, run the script build-installer.sh
+$ ./build-installer.sh
 
-# bootstrap jhbuild
-copy file moonshot/mac-client-installer/.jhbuildrc-custom to $HOME
-then
-$ jhbuild bootstrap --ignore-system
+## Known issues
++++++++++++++++
+The first time the build-installer.sh script is run the following errors may be generated: 
 
-# Kerberos 
-Need MIT Kerberos 1.9.2 installed in ~/gtk/inst to build against - 
-in the Krb5 src directory 
-$ export CFLAGS="-arch i386"
-$ ./configure --prefix=$HOME/gtk/inst/
-$ make
-$ make install
-
-and installed in moonshot/mac-client-installer/ to package up
-$ ./configure
-$ make
-$ make install DESTDIR=$HOME/moonshot/mac-client-installer/krb
-
-## Building the moonshot SW
-$ jhbuild build  meta-moonshot-mac-client
-Will cause the following errors
+*** Error during phase configure of gtk-mac-bundler: ########## Error running ./configure --prefix /Users/pete/gtk/inst --libdir '/Users/pete/gtk/inst/lib'    *** 
+choose [2] Ignore error and continue
 
 *** Error during phase build of perl-xml-parser: ########## Error running make LD_RUN_PATH= *** [6/37]
 choose  [4] Start shell
@@ -42,195 +34,13 @@ $ exit
 choose [2] Ignore error and continue
 
 make: *** No targets specified and no makefile found.  Stop.
+
+
 *** Error during phase build of cyrus-sasl: ########## Error running make   *** [39/41]
 choose  [4] Start shell
-
 $ ./configure --prefix=/usr/local --with-gss_impl=mit
 $ exit 
 choose [1] Rerun phase build
 *** Error during phase build of cyrus-sasl: ########## Error running make   *** [1/1]
 choose [1] Rerun phase build
 
-*** Error during phase configure of moonshot: ########## Error running ./autogen.sh --prefix /Users/pete/gtk/inst --libdir '/Users/pete/gtk/inst/lib' --enable-acceptor=no --with-krb5=$PREFIX/usr/local --enable-acceptor=no  *** [40/41]
-choose [4] Start shell
-$ git apply ~/moonshot/mac-client-installer/0001-Move-moonshot-files-up.patch 
-$ cp -R moonshot/libeap .
-$ ./autogen.sh --prefix /Users/pete/gtk/inst --libdir '/Users/pete/gtk/inst/lib' --enable-acceptor=no 
-$ 4
-
-$ exit
-choose  [1] Rerun phase build
-
-
-*** Error during phase checkout of krb5: could not unpack tarball (expected krb5-1.9.2-signed.tar dir) *** [1/1]
-choose [4] Start shell
-unpack file ~/gtk/source/krb5-1.9.2.tar.gz to create directory krb5-1.9.2
-$ exit
-choose [2] Ignore error and continue to configure
-
-### Old instructions
-
-
-###Introduction
-
-This page contains notes on how to build and install the software necessary to run Moonshot clients on a computer running Max OS X 10.6 Snow Leopard and 10.7 Lion.
-
-It also contains instructions for creating an installer package allowing the Moonshot software to be installed on other machines running Mac OS X.
-
-These notes are also in the file mac-client-installer/README.MacOsBuildInstructions
-
-There are three components that need to be built and installed:
-
-1: the Cyrus SASL2 library, along with the SASL GS2 Library which implements the GS2 GSS-API->SASL bridge mechanism.
-
-2: the Moonshot GSS EAP library, implements the EAP mechanism for use by the GSS API. This library depends on having a recent version of Kerberos. Mac OS X ships with Kerberos 5 release 1.7-prerelease which is not recent enough. So. for the installer at least, we will get and build the latest stable release (1.9.2) from [MIT](from http://web.mit.edu/kerberos/dist/index.html).
-
-3: the Moonshot Identity Selector/Manager software which... 
-ToDo: Complete this section when the client software is ported to Mac OS
-
-
-###Getting the Moonshot source code 
-
-Follow the instructions at http://www.project-moonshot.org/developers/repository, cloning  the repo in $HOME
-
-Working in $HOME/moonshot/mac-client-installer
-
-###Building the Cyrus SASL2 library
-
-    $ cd $HOME/moonshot/cyrus_sasl
-    $ ./autogen.sh 
-
-You will see the following message
-
-    configure.in:14 error: possibly undefined macro: AC_DEFINE
-    If this token and others are legitimate, please use m4_pattern_allow.
-    See the Autoconf documentation
-
-    $ ./configure --with-gss_impl=mit
-    $ make
-
-To install to /usr/local in your build machine
-
-    $ sudo make install
-
-Create the link from /usr/lib/sasl2 (where the library looks for the plugins)->/usr/local/lib/sasl2 (where the plugins will be installed)
-
-    $ cd sasl/usr/lib
-    $ ln -fs   ../local/lib/sasl2 
-
-Or, if you are making the installer
-
-    $ make install DESTDIR=$HOME/moonshot/mac-client-installer/sasl
-
-Create the link from /usr/lib/sasl2 (where the library looks for the plugins)->/usr/local/lib/sasl2 (where the plugins will be installed)
-
-    $ mkdir sasl/usr/lib
-    $ cd sasl/usr/lib
-    $ ln -fs   ../local/lib/sasl2 
-    $ cd ../../..
-    $ cd ~/installerbuild
-
-The files and directories that are installed are as listed in README.saslInstalledFiles
-
-###Building the downloaded Kerberos
-
-Unpack the file to $HOME/krbbuild
-
-    $ cd $HOME/krbbuild/krb5-1.9.2-signed/krb5-1.9.2/src
-    $ ./configure
-    $ make
-
-To install to /usr/local in your build machine
-
-    $ sudo make install
-
-Or, if you are making the installer
-    $ make install DESTDIR=$HOME/moonshot/mac-client-installer/krb
-
-###Building the Moonshot GSS EAP library
-
-    $ cd $HOME/moonshot/moonshot
-    $ ./autogen.sh
-    $ ./configure --enable-acceptor=no 
-
-You will see the following warnings
-
-    configure: WARNING:
-    ----------------------------------------------------------------------
-    Cannot find OpenSAML libraries, building without OpenSAML support.
-    Please install OpenSAML or specify installation directory with
-    --with-opensaml=(dir).
-    ----------------------------------------------------------------------
-
-    configure: WARNING:
-    ----------------------------------------------------------------------
-    Cannot find Shibboleth resolver libraries, building without
-    Shibboleth support.
-    Please install Shibboleth or specify installation directory with
-      --with-shibresolver=(dir).
-    ----------------------------------------------------------------------
-
-    $ make
-    $ cd mech_eap
-    $ sudo make install
-    $ libtool --finish /usr/local/lib/gss
-
-Or, if you are making the installer
-
-    $ ./configure --enable-acceptor=no --with-krb5=$HOME/moonshot/mac-client-installer/krb/usr/local
-    $ make
-
-We only need to install the mech_eap library
-
-    $ cd mech_eap
-    $ make install DESTDIR=$HOME/moonshot/mac-client-installer/krb
-
-The files and directories that are installed are as listed in README.KrbInstalledFiles
-
-###Building the Moonshot Identity Selector/Manager software
-ToDo: Complete this section when the client software is ported to Mac OS
-
-###Make the install package
-Ideally we would divide the installer into sub-packages (sasl and krb) within a single meta package. However this seems to be possible only from the packagemaker GUI: there are a number of problems with doing this from the packagemaker command line. We are therefore building a single package, with sasl and krb as choice items within the package.
-
-Ensure the permissions are correct for the files to be installed
-
-    $ sudo chown -R root:admin krb sasl
-    $ sudo chmod -R g+w krb sasl
-
-Build the package
-
-    $ /Developer/usr/bin/packagemaker --doc Moonshot\ Client\ Software.pmdoc \
-      --version 0.1 --filter "/.DS_Store" --resources ./resources/ --root-volume-only\
-      --domain system --verbose --no-relocate -l "/" --target 10.5 \
-      --id ja.net.moonshotClientSoftware  --out Moonshot\ Client\ Software.pkg
-
-Instructions in DevWiki at http://www.project-moonshot.org/devwiki//building_client_software_for_mac_os
-
-###Making the Disk Image
-Create and mount the image - 2MB will be enough for now
-
-    $ hdiutil create -size 2m -fs HFS+ -volname "Moonshot Client Software" temp.dmg
-    $ hdiutil attach temp.dmg
-
-Copy the package and the READMEs
-    $ cp Moonshot\ Client\ Software.pkg /Volumes/Moonshot\ Client\ Software/
-    $ cp resources/*  /Volumes/Moonshot\ Client\ Software/
-
-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
-
-    $ hdiutil detach /Volumes/Moonshot\ Client\ Software
-
-Convert the disk image to read-only
-
-    $ hdiutil convert temp.dmg -format UDZO -o moonshotclientsoftware.dmg
-    $ rm temp.dmg
-
-The compressed disk image containing the installer package and the READMEs is now in file *moonshotclientsoftware.dmg*
-