(no commit message)
authorhttp://petefoth.myopenid.com/ <http://petefoth.myopenid.com/@web>
Fri, 11 Nov 2011 08:38:22 +0000 (03:38 -0500)
committerwww-data <www-data@project-moonshot.org>
Fri, 11 Nov 2011 08:38:22 +0000 (03:38 -0500)
design/librarymacinstallerplan.mdwn

index c0fc034..b687045 100644 (file)
@@ -1,8 +1,31 @@
 ##Plan Mac Installer for GSS EAP and SASL GS2 libraries
 ###Introduction:
 ##Plan Mac Installer for GSS EAP and SASL GS2 libraries
 ###Introduction:
-This document describes the intended behaviour of a Mac installer for the Moonshot GSS EAP and SASL GS2 libraries for Mac OS 10.6 (“Snow Leopard”) and 10.7 (“Lion”). It describes the intended locations of all installed files, system configuration modifications and any other pertinent information. It explains how it conforms to Apple’s relevant guidelines to developers.
+This document describes Codethink's plan for producing an installer for the Moonshot GSS EAP and SASL GS2 libraries for Mac OS X 10.6 (“Snow Leopard”) and 10.7 (“Lion”). 
+It describes the goals, activities deliverables and milestones for the development.
+It also gives some background on the intended locations of the files to be installed, system configuration modifications and any other pertinent information. It explains how the installer conforms to Apple’s relevant guidelines to developers.
+###Goals
+The primary goal is to allow users to install these initiator libraries on a computer running Mac OS X without needing to build them from source. 
 
 
-###Installer functionality:
+Secondary goals are
+
+1. To allow users who are familiar with the autotools tool chain to build and install the libraries on a computer running Mac OS X using autotools. (This is currently possible for the Cyrus SASL library, but not for the Moonshot GSS EAP library).
+2. To automate (as far as possible) and document the process, allowing Moonshot project developers to easily produce installer packages for future versions of these libraries.
+
+###Deliverables:
+1. Changed files allowing the Moonshot GSS EAP library to be built and installed for Mac OS using autotools
+2. An installer package (or packages) that, when run, will install the necessary files to the required places in the files system. (See Outstanding questions/issues 1).
+3. A compressed disk image file containing the installer package(s), which can be mounted to run the installer package. (See Outstanding questions/issues 2)
+4. Instructions and scripts for creating the installers and disk images from source. PackageMaker, (the tool provided by Apple to build installer packages - see Ref. 2) does not have a command line interface, and there do not appear to be any freely available alternatives which do, so it will probably not be possibly to automate the production of the installer package(s). 
+
+###Activities and Milestones
+1. Build and install the Cyrus SASL Library for Mac OS using autotools to prove this currently works and that it is a valid goal for the Moonshot GSS EAP library. Due Wednesday 16th November.
+2. Create an installer package and compressed disk image for the Cyrus SASL Library, with notes on how to achieve the process. Due Friday 18th November.
+3. Make the necessary changes to the Moonshot GSS EAP library source and configuration files to build and install it for Mac OS using autotools. Due Friday 25th November.
+4. Create an installer package and compressed disk image for the Moonshot GSS EAP library. Due Tuesday 29th November.
+5. Create the scripts and instructions. Due Wednesday 30th November.
+
+###Background information
+####Installer functionality:
 Apple's Developer documentation (Ref. 1) states
 > public frameworks should be installed at the local level in /Library/Frameworks.
 Frameworks installed here are available to all users of the machine.
 Apple's Developer documentation (Ref. 1) states
 > public frameworks should be installed at the local level in /Library/Frameworks.
 Frameworks installed here are available to all users of the machine.
@@ -21,7 +44,7 @@ The exact text to be used in messages displayed to the user will be specified as
 
 The appearance of the installer will not be customized to use special icons and window backgrounds.
 
 
 The appearance of the installer will not be customized to use special icons and window backgrounds.
 
-###Structure of the Moonshot directory tree.
+####Structure of the Moonshot directory tree.
 The Moonshot directory will have the following sub-directory structure, allowing future versions to be installed without breaking applications that rely on an earlier version:
 
     /Commands -> (alias to Versions/Current/bin)
 The Moonshot directory will have the following sub-directory structure, allowing future versions to be installed without breaking applications that rely on an earlier version:
 
     /Commands -> (alias to Versions/Current/bin)
@@ -49,12 +72,6 @@ Each numbered version sub-directory will have the necessary directories from the
     /var
       /log
 
     /var
       /log
 
-###Deliverables:
-An installer package (or packages) that, when run, will install the necessary files to the required places in the files system. (See Outstanding questions/issues 1)
-
-A compressed disk image file containing the installer package(s), which can be mounted to run the installer package. (See Outstanding questions/issues 2)
-
-Instructions and scripts for creating the installers and disk images from source. PackageMaker, (the tool provided by Apple to build installer packages - see Ref. 2) does not have a command line interface, and there do not appear to be any freely available alternatives which do, so it will probably not be possibly to automate the production of the installer package(s). 
 
 ###Package and Component Properties
 The Package properties will be 
 
 ###Package and Component Properties
 The Package properties will be 
@@ -75,14 +92,27 @@ For each component in the package, properties will be
     No pre- or post-installation scripts are planned (but this may change during implementation)
     The owner will be root and the group admin. The owner, group, and access permissions of the component files will be determined during implementation.
 (See Ref.2 for an explanation of these properties)
     No pre- or post-installation scripts are planned (but this may change during implementation)
     The owner will be root and the group admin. The owner, group, and access permissions of the component files will be determined during implementation.
 (See Ref.2 for an explanation of these properties)
-
 ####Delivered components and files
 ####Delivered components and files
-The installer will install the following libraries  (See Outstanding questions/issues 3):
-
-#####lib???
-The lib??? component consists of the following files installed in the following locations:
+The installer will install the following libraries:
+#####Moonshot GSS EAP Library
+This library consists of the following files installed in the following locations:
+To be completed (See Outstanding questions/issues 3)
+<table border="1">
+<tr>
+<td>/bin</td> <td>list of files in /bin</td>
+</tr>
+<tr>
+<td>/include</td> <td>list of files in /include</td>
+</tr>
+<tr>
+<td>/lib</td><td>list of files in /lib</td>
+</tr>
+</table>
+#####Cyrus SASL Library
+This library consists of the following files installed in the following locations:
+To be completed (See Outstanding questions/issues 3)
 
 
-<table border="0">
+<table border="1">
 <tr>
 <td>/bin</td> <td>list of files in /bin</td>
 </tr>
 <tr>
 <td>/bin</td> <td>list of files in /bin</td>
 </tr>
@@ -102,7 +132,7 @@ For any dependencies which are not present by default in the installed version M
 ###Outstanding questions/issues:
 1. One package each for "Snow Leopard" and "Lion", or a single package that works for both?
 2. One disk image each for "Snow Leopard" and "Lion", or a single disk image containing both packages?
 ###Outstanding questions/issues:
 1. One package each for "Snow Leopard" and "Lion", or a single package that works for both?
 2. One disk image each for "Snow Leopard" and "Lion", or a single disk image containing both packages?
-3. Which libraries, consisting of which files in which sub directories?
+3. For each library, consisting of which files in which sub directories?
 
 ###References:
 1. [Mac OS X Developer Library, Framework Programming Guide, Installing Your Framework](https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPFrameworks/Tasks/InstallingFrameworks.html#//apple_ref/doc/uid/20002261-BBCCFBJA)
 
 ###References:
 1. [Mac OS X Developer Library, Framework Programming Guide, Installing Your Framework](https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPFrameworks/Tasks/InstallingFrameworks.html#//apple_ref/doc/uid/20002261-BBCCFBJA)