140 likes | 152 Views
Globus2 packaging. Motivation for changes Modules Metadata Comments on Globus2 alpha2 Automatic glpkg2rpm script Future work. Andrew McNab - Manchester HEP - 2 July 2001. Motivation for changes. Modularisation avoid monolithic code release cycle
E N D
Globus2 packaging • Motivation for changes • Modules • Metadata • Comments on Globus2 alpha2 • Automatic glpkg2rpm script • Future work Andrew McNab - Manchester HEP - 2 July 2001
Motivation 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
Packaging 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
Metadata • 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
Comments 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
Comments on alpha.2 (2) • A few “loose” ends (eg script sources use @SH@ 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
Comments on alpha.2 (3) • Current package contents easily convertible to “binary” installation formats (ie containing static files) • But, alpha.2 doesn’t 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
Comments/requests to Globus • The packaging metadata is very helpful (eg for making RPM’s) • 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
Making RPM’s • These will be needed when Globus2 goes into production, both in EU DataGrid and other grid projects (eg GridPP, BabarUK) • Making working RPM’s 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
Automating RPM’s • Since Globus now provides metadata, it should be possible to generate RPM spec files automatically. • This reduces amount of work needed to maintain RPM’s • Even makes a Babar-style nightly build possible Andrew McNab - Manchester HEP - 2 July 2001
Current 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
glpkg2rpm 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 RPM’s using .spec Andrew McNab - Manchester HEP - 2 July 2001
Current 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
Future 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