Mac build instructions do not provide for automated builds

Bug #900446 reported by Sam Hartman
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Moonshot ID Selector
Fix Released
High
Unassigned
Project Moonshot
Invalid
High
Pete Fotheringham

Bug Description

One of our requirements is to be able to perform automated builds of
the software including the installer. Instructions provided in
mac-installer/README.MacOsBuildInstructions do not facilitate this.

In general it asks the user to perform a number of steps rather than using some specific automation.

We need to 1) install build dependencies on the machine. It's fine if
that's done in the form of a readme. It's even fine for most build
dependencies like autoconf, etc if you just tell someone to install
them and don't say how to do it. Build dependencies cannot include
anything that the installer ships. Because the point of building an
installer and of having automated builds for the product is to be able
to perform change-build-install-test cycles. So, you have to pick up
the changes. So, build dependincies by definition cannot include the
Moonshot code, the SASL code. They really should not include the
Shibboleth code, Xmltooling or Opensaml (or Jansen or Libradsec etc)
My initial opinion is that build dependencies cannot include Kerberos, although we can have a discussion about that if you like.

2) Then for everything that is not a build dependency, we start with a clean checkout.
There needs to be an automated procedure--a simple script, a make target in a single makefile, etc. That builds everything that is not a build dependency and eventually generates the installer.

In particular, even if Kerberos is a build dependency, you cannot ask the user to manually run make instal DESTDIR=...
That would mean thay are not starting from a clean directory.

You also cannot ask the user to make symbolic links for sasl plugins,
manually chown a bunch of files, manually run libtool commands, or
manually type long command lines for package installers or for disk
image creation.

Revision history for this message
Pete Fotheringham (pete-fotheringham) wrote :

I believe this is addressed in commit http://www.project-moonshot.org/gitweb?p=moonshot.git;a=commit;h=14a94c26c8389e6e0ef2905ad6ec375edcc192ab

We now use the jhbuild build to tool to get and build the software and its dependencies. After some initial, one-off preparation on the build machine, the script mac-client-installer/build-installer.sh automates the process of getting and building the software, and building the installer package and the disk image.

Installation of the software on the end User's machine is done by mounting the disk image (moonshotclientsoftware.dmg ) and running the installer package (Moonshot Client Software.pkg) it contains.

## Known issues
+++++++++++++++
The first time the build-installer.sh script is run, some errors may be generated, requiring manual intervention. These errors - and the steps that must be taken to allow the build to continue, are documented in the file README.MacOsBuildInstructions.
(These errors are caused by issues with the with the Gtk+ jhbuild module sets. to which there is no fix available yet).

Compatibility problems between the jhbuild tool and the MIT Kerberos 1.9.2 tarball at http://web.mit.edu/kerberos/dist/krb5/1.9/ mean that we can't use jhbuild to get and install Kerberos on the build machine.

Changed in moonshot:
status: New → Fix Committed
Changed in moonshot-ui:
status: New → Fix Committed
importance: Undecided → High
Changed in moonshot:
status: Fix Committed → Invalid
Changed in moonshot-ui:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.