X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=mac-client-installer%2FREADME.MacOsBuildInstructions;h=6bf18fb70d02f07d87f6408e421cd83d5d9e05a5;hb=HEAD;hp=b1205f02d6b07bce5f40e4378dc4c1abe746dcb7;hpb=4f1d845f74f627f8e8f815f7786481f56132f12d;p=moonshot.git diff --git a/mac-client-installer/README.MacOsBuildInstructions b/mac-client-installer/README.MacOsBuildInstructions index b1205f0..6bf18fb 100644 --- a/mac-client-installer/README.MacOsBuildInstructions +++ b/mac-client-installer/README.MacOsBuildInstructions @@ -1,163 +1,46 @@ -###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 - $ 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* +### 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 + +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 + +## Building the Software, Installer Package and Disk Image +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +In the folder ~/moonshot/mac-client-installer, run the script build-installer.sh +$ ./build-installer.sh + +## Known issues ++++++++++++++++ +The first time the build-installer.sh script is run the following errors may be generated: + +*** 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 +$ git apply ~/moonshot/mac-client-installer/0001-Remove-arch-ppc-flags.patch +$ make +$ 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