X-Git-Url: http://www.project-moonshot.org/gitweb/?p=devwiki.git;a=blobdiff_plain;f=building_client_software_for_mac_os.mdwn;h=41d1baf3f62a483c72cf5a23fbb3bae12841caa9;hp=e6273c69c11cf130bd6e235605645284fd5f9d1f;hb=1e937a9e401f00d06519d9b33748b35058b1a459;hpb=f34cdcd3938fa5040b0882c477095aa08d636ee5 diff --git a/building_client_software_for_mac_os.mdwn b/building_client_software_for_mac_os.mdwn index e6273c6..41d1baf 100644 --- a/building_client_software_for_mac_os.mdwn +++ b/building_client_software_for_mac_os.mdwn @@ -4,11 +4,16 @@ This page contains notes on how to build and install the software necessary to r 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 +ToDo: Complete this section when the client software is ported to Mac OS ###Getting the Moonshot source code @@ -28,7 +33,7 @@ You will see the following message If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation - $ ./configure + $ ./configure --with-gss_impl=mit $ make To install to /usr/local in your build machine @@ -108,3 +113,51 @@ We only need to install the mech_eap library $ 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* +