Mac build instructions do not provide for automated builds
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/
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-
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.
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 |
I believe this is addressed in commit http:// www.project- moonshot. org/gitweb? p=moonshot. git;a=commit; h=14a94c26c8389 e6e0ef2905ad6ec 375edcc192ab
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 (moonshotclient software. dmg ) and running the installer package (Moonshot Client Software.pkg) it contains.
## Known issues MacOsBuildInstr uctions.
+++++++++++++++
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.
(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.