TWiki> ArdaGrid Web>GangaIndex>GangaRPM (revision 2)EditAttachPDF

Introduction

We automatically build RPMs for the Ganga packages. This currently happens during step 9 of the Ganga release procedure described here. As of April 2013, the RPMs are known to install successfully, but require further testing before being considered production-ready. The majority of the work is done with the Python Distutils package.

Yum repository

package_builder

The procedure is managed entirely from within release/tools/package_builder. Here's a quick summary of what it does when called with the -v 6.0.0 command line option:

  • Export (not checkout) the specified Ganga release (not pre-release) from svn+ssh://svn.cern.ch/reps/ganga/tags/. Note that using the -v 6.0.0 option implies the existence of the SVN tag Ganga-6-0-0. The release will be exported to /tmp/gangabuild or whatever directory is passed to the -b/--builddir option.
  • Create the RPM pre/post install/uninstall files
  • Create the Distutils manifest template
  • Since Ganga's layout is not entirely compatible with the assumptions Distutils makes, we have to create a temporary python/GangaBin directory containing the release, templates, bin directories and the LICENSE_GPL file. These are subsequently packaged in the GangaBin-6.0.0-1.noarch.rpm file.
  • Write the setup.cfg and setup.py files required by Distutils.
  • Execute the

Future developments

  • Handle hotfix releases properly (including the internal RPM release version attributes being sane).
  • At the moment we build the RPMs with the --no-autoreq option, which prevents the automatic calculation of RPM requirements for files within Ganga. For example, some files require Perl/C libraries. Thus we assume that the installation is being performed on a node with these available (e.g. a Grid user interface).
  • External dependencies.
Edit | Attach | Watch | Print version | History: r6 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 2013-04-25 - MikeKenyon
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    ArdaGrid All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback