Title: Globus2 packaging
1Globus2 packaging
- Motivation for changes
- Modules
- Metadata
- Comments on Globus2 alpha2
- Automatic glpkg2rpm script
- Future work
Andrew McNab - Manchester HEP - 2 July 2001
2Motivation for changes
- Modularisation
- avoid monolithic code release cycle
- allow distribution of subsets (eg client
utilities only) - Allow binary releases
- Simplify use of configuration files
Andrew McNab - Manchester HEP - 2 July 2001
3Packaging modules
- Packages roughly correspond to major source
directories in 1.1.3 - gpt and globus_package_manager provide (Perl)
management tools - Current alpha2 release also has globus_core,
_common, _gaa, _ssl_utils, _gss_api, _gss_assist,
and a virtual package for openssl
Andrew McNab - Manchester HEP - 2 July 2001
4Metadata
- Each package includes metadata in XML to help
automate and manage the build and installation
processes - a file list of binaries, scripts and
configuration files to be included in this
package. - lists of dependencies compilation (ie headers),
linking (libraries) and runtime.
Andrew McNab - Manchester HEP - 2 July 2001
5Comments on alpha.2 (1)
- This was easier to get working than alpha.1
- Principally because all the optional Perl modules
were included in the Globus distribution - Needs openssl and a Globus 1.1.3 install (for a
few scripts like globus-hostname)
Andrew McNab - Manchester HEP - 2 July 2001
6Comments on alpha.2 (2)
- A few loose ends (eg script sources use _at_SH_at_
which is not defined by default or in Globus
configure scripts) - No show-stoppers!
- Builds, and produces working binaries
- internal tests work
- do grid-proxy-init and grid-proxy-info gives
sensible results back
Andrew McNab - Manchester HEP - 2 July 2001
7Comments on alpha.2 (3)
- Current package contents easily convertible to
binary installation formats (ie containing
static files) - But, alpha.2 doesnt come with configuration
mechanisms after install,you have the binaries,
scripts and only template config files - The same configuration files are used as for
1.1.3 - eg monolithic ca-signing-policy.conf
and not an /etc/rc.d/init.d style solution.
Andrew McNab - Manchester HEP - 2 July 2001
8Comments/requests to Globus
- The packaging metadata is very helpful (eg for
making RPMs) - The changes towards modularisation and binary
releases are much appreciated - Please avoid post-install scripts if possible
- Ideally configuration files would be modularised
- certificates.d, jobmanagers.d, ...
Andrew McNab - Manchester HEP - 2 July 2001
9Making RPMs
- These will be needed when Globus2 goes into
production, both in EU DataGrid and other grid
projects (eg GridPP, BabarUK) - Making working RPMs involves specifying exactly
what steps are taken - Makes it easier for other people to test their
code against the alpha release, without being
installation experts
Andrew McNab - Manchester HEP - 2 July 2001
10Automating RPMs
- Since Globus now provides metadata, it should be
possible to generate RPM spec files
automatically. - This reduces amount of work needed to maintain
RPMs - Even makes a Babar-style nightly build possible
Andrew McNab - Manchester HEP - 2 July 2001
11Current strategy
- Manually write spec files for special cases
- gpt globus_package_manager
- globus_core
- virtual openssl
- For other packages, write a script to generate
spec and RPM, starting from source code .tar.gz
Andrew McNab - Manchester HEP - 2 July 2001
12glpkg2rpm script
- Give it a package name
- Extracts dependencies on other packages from
source .tar.gz file - Writes out RPM .spec file
- includes scripting to generate files list from
Globus metadata - Builds src bin RPMs using .spec
Andrew McNab - Manchester HEP - 2 July 2001
13Current RPMs
- globus_pkg-2.0-1.i386.rpm
- globus_core-2.0-1.i386.rpm
- globus_common-2.0-1.i386.rpm
- globus_openssl-2.0-1.i386.rpm
- globus_gaa-2.0-1.i386.rpm
- globus_ssl_utils-2.0-1.i386.rpm
- globus_gssapi_gsi-2.0-1.i386.rpm
- globus_gss_assist-2.0-1.i386.rpm
Andrew McNab - Manchester HEP - 2 July 2001
14Future work
- Feed this work back to Globus
- Include other alpha code that is in new packaging
form (MDS2) - Use Globus2 packages to build openssh-gsi RPM
(current RPM was built using adhoc recipe) - Track new alpha releases from Globus - especially
imminent Globus2/1.1.3 hybrid release.
Andrew McNab - Manchester HEP - 2 July 2001