Fix broken reference on ui subproject
[moonshot.git] / mac-client-installer / README.MacOsBuildInstructions
index 599eec7..6bf18fb 100644 (file)
 ### 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
-Install jhbuild, which Creates working folder ~/gtk
+++++++++++++++
+1: Install jhbuild, which Creates working folder ~/gtk
 
-Need Kerberos installed in ~/gtk/inst - in the Krb5 src directory 
-$ export CFLAGS="-arch i386"
-$ ./configure --prefix=/Users/pete/gtk/inst/
-$ make
-$ make install
-
-## Building the moonshot SW
-copy file moonshot/mac-client-installer/.jhbuildrc-custom to $HOME
-then
-$ jhbuild bootstrap
-
-
-
-
-
-###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)
+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
 
-    $ mkdir sasl/usr/lib
-    $ cd sasl/usr/lib
-    $ ln -fs   ../local/lib/sasl2 
-    $ cd ../../..
-    $ cd ~/installerbuild
+## Building the Software, Installer Package and Disk Image
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+In the folder ~/moonshot/mac-client-installer, run the script build-installer.sh
+$ ./build-installer.sh
 
-The files and directories that are installed are as listed in README.saslInstalledFiles
+## Known issues
++++++++++++++++
+The first time the build-installer.sh script is run the following errors may be generated: 
 
-###Building the downloaded Kerberos
+*** 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
 
-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
+*** Error during phase build of perl-xml-parser: ########## Error running make LD_RUN_PATH= *** [6/37]
+choose  [4] Start shell
+$ git apply ~/moonshot/mac-client-installer/0001-Remove-arch-ppc-flags.patch 
+$ make
+$ exit 
+choose [2] Ignore error and continue
 
-Convert the disk image to read-only
+make: *** No targets specified and no makefile found.  Stop.
 
-    $ 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*
+*** 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