Globus Toolkit packaging for macports, based on the Nordugrid svn
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
globus-clients.pmdoc
ports
ARC.app.DS_Store
LICENSE
README.org
Welcome.html
arcpackagetool.py
background.tiff
change_checksum.sh
create-standalone.sh
lcgdm-darwin.patch
link_ports.sh
postflight-fetch-crl
postflight-globus-clients
postflight-igtf-certificates
rpm2cpio.sh

README.org

Macports port of the Globus Toolkit clients

This is a macports port of the Globus toolkit and related software.

The purpose of this port is to get up and running with the Globus Toolkit on Mac OS X as quickly as possible. Therefore this collection contains a few packages from other sources:

  • The IGTF distribution of the CA certificates commonly used in Grids
  • The fetch-crl tool to update the Certificate Revocation Lists

This software can be easily turned into a ready-to-use package or dmg that can be installed with just a few clicks.

Getting started with the ports

First of all, you need to set up macports. After cloning this repository, run the link_ports.sh script to set up a local port repository:

git clone git://github.com/dvandok/globus-macports.git
cd globus-macports
sh link_ports.sh ports ${HOME}/local-macports

Add the ${HOME}/local-macports directory to the main macports sources file, above the main macports sources.

sed -i "\$ifile://${HOME}/local-macports [nosync]" /opt/local/etc/macports/sources.conf

If you update any of the ports, remember to run the portindex command so macports will see the changes.

Now you can install the metapackage:

sudo port install globus-clients

And enjoy a hot Earl Grey in the meantime.

NOTE: Mac OS X 10.8 issue with VOMS

There is a known issue with VOMS which won’t build under Mac OS X 10.8 and possibly other versions. To work around the problem (you miss the voms-proxy tools), remove the line with the voms dependency from the globus-clients portfile.

Creating a standalone disk image (DMG) for distribution

Not everybody is comfortable with using Macports on their machine, but luckily there is an easy alternative. Macports can create standalone installable packages from ports. The following procedure describes how to create a complete and useful package with all the necessary ports.

The globus-clients port is a meta-package with just run-time dependencies on ports of Globus Toolkit client software, the IGTF certificates and the fetch-crl tool. Installing this port will pull in all the required software.

Before starting, it is recommended to set up a second installation of Macports with a different prefix, such as /opt/globus, so the final standalone package won’t conflict with anybody’s existing Macports setup. This can be done by running the following commands:

wget --no-check-certificate https://distfiles.macports.org/MacPorts/MacPorts-2.1.3.tar.gz
tar xfz MacPorts-2.1.3.tar.gz 
cd MacPorts-2.1.3
./configure --prefix=/opt/globus
make
sudo make install

After this step it is necessary to set

macportsuser = root

Creating the package is now just a step away:

sudo port mpkg globus-clients

Although this results in a nicely installable package with a wizard in /opt/globus/var/macports/build/.../globus-clients/work/, a few things need to be tuned. Optionally, the Welcome.html and background.tiff in the package’s Contents/ directory may be replaced by something nicer, and for proper functioning of the package some postflight scripts are recommended. They need to be installed (mode +x and named ‘postflight’) in the Resources directory of the respective sub-package.

  • postflight-fetch-crl: This installs a launchdaemon which takes care of periodically downloading the CRLs of the CAs. Without fresh CRLs the software may not work, although the error messages are sometimes not very clear.
  • postflight-igtf-certificates: This links the certificates directory to ${GLOBUS_LOCATION}/share/certificates, which is used by default by many Globus tools.
  • postflight-globus-clients: This replaces the script that Macports installs by default; it has the bonus feature of modifying the user’s shell environment to automatically include GLOBUS_LOCATION in the PATH and MANPATH.

The following commands are examples how these scripts may be installed.

cp postflight-fetch-crl standalone/globus-clients-2.0.mpkg/Contents/Packages/fetch-crl-3.0.8.pkg/Contents/Resources/postflight
cp postflight-igtf-certificates standalone/globus-clients-2.0.mpkg/Contents/Packages/igtf-certificates-1.52.pkg/Contents/Resources/postflight
cp postflight-globus-clients standalone/globus-clients-2.0.mpkg/Contents/Packages/globus-clients-2.0.pkg/Contents/Resources/postflight

The last step is to bundle the mpkg file (which is really a directory) into a disk image (DMG) which can easily be spread around. To do that, open the Disk Utility program, create a new sparse image, copy the entiry mpkg file into it, and convert it to a read-only disk image.

Acknowledgments

This work is an extension of an earlier effort by the NorduGrid collaboration; it was done as part of the IGE Project, Initiative for Globus in Europe, funded by the European Community Seventh Framework Programme under grant agreement 261560, running from October 1st 2010 to April 1st 2013.