RPM Community Forums

Mailing List Message of <rpm-cvs>

[CVS] RPM: rpm/ INSTALL devtool.conf

From: Ralf S. Engelschall <rse@rpm5.org>
Date: Mon 16 Jul 2007 - 18:31:35 CEST
Message-Id: <20070716163135.F14093484F3@rpm5.org>
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Ralf S. Engelschall
  Root:   /v/rpm/cvs                       Email:  rse@rpm5.org
  Module: rpm                              Date:   16-Jul-2007 18:31:35
  Branch: HEAD                             Handle: 2007071617313500

  Modified files:
    rpm                     INSTALL devtool.conf

  Log:
    provide some documentation how one can build RPM on a cluster of
    servers and work on the same RPM source tree, but in parallel one
    multiple servers

  Summary:
    Revision    Changes     Path
    2.30        +63 -0      rpm/INSTALL
    2.34        +5  -0      rpm/devtool.conf
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/INSTALL
  ============================================================================
  $ cvs diff -u -r2.29 -r2.30 INSTALL
  --- rpm/INSTALL	15 Jul 2007 21:50:16 -0000	2.29
  +++ rpm/INSTALL	16 Jul 2007 16:31:35 -0000	2.30
  @@ -106,6 +106,69 @@
   LDFLAGS  = `pkg-config rpm --libs-only-other`
   LIBS     = `pkg-config rpm --libs-only-l`
   
  +BUILDING RPM ON A CLUSTER OF SERVERS
  +====================================
  +
  +Assume you have...
  +
  +- a cluster of time-synchronized Unix servers
  +  (usually of different Unix flavors to make sense in this context),
  +- each one allowing you to login under your personal account and
  +  access your central home directory (usually via NFS) and
  +- use the full set of development tools,
  +
  +...then you can build RPM in parallel on an arbitrary number of servers
  +in this cluster by using the following procedure:
  +
  +1. Build Environment Preparation:
  +
  +   On a single arbitrary server of the cluster prepare the RPM source
  +   tree at least once.
  +
  +   server1$ cd ~/work
  +   server1$ cvs -d rpm-cvs@rpm5.org:/v/rpm/cvs co rpm
  +   server1$ cd rpm
  +   server1$ . devtool.bashrc
  +
  +   server1$ devtool checkout
  +   server1$ devtool autogen
  +
  +2. Platform Preparation:
  +
  +   on every(!) server of the cluster prepare its platform-specific
  +   environment (includes building local copies of all third-party
  +   libraries).
  +
  +   serverN$ cd ~/work/rpm
  +   serverN$ . devtool.bashrc
  +
  +   serverN$ devtool setup-platform
  +   serverN$ devtool standalone prepare
  +   serverN$ devtool standalone autogen
  +   serverN$ devtool standalone configure
  +
  +3. Development:
  +
  +   now you can develop RPM on any number of servers of the cluster in
  +   parallel.
  +
  +   serverN$ cd ~/work/rpm
  +   serverN$ . devtool.bashrc
  +
  +   serverN$ cd {build,lib,rpmdb,rpmio,misc,...}
  +   serverN$ vi *.c
  +   serverN$ devtool make [-l]
  +
  +4. Test-Drive:
  +   
  +   on an arbitrary server of the cluster you can test-drive RPM via:
  +
  +   serverN$ cd ~/work/rpm
  +   serverN$ . devtool.bashrc
  +
  +   serverN$ devtool make install
  +   serverN$ /tmp/rpm/bin/rpm [...]
  +
   LIBRARY ISSUES
   ==============
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/devtool.conf
  ============================================================================
  $ cvs diff -u -r2.33 -r2.34 devtool.conf
  --- rpm/devtool.conf	16 Jul 2007 16:06:51 -0000	2.33
  +++ rpm/devtool.conf	16 Jul 2007 16:31:35 -0000	2.34
  @@ -44,6 +44,11 @@
   %make
       #   intentionally just a pass-through target
       #   (important for use with devtool.bashrc)
  +    if [ ".$1" = ".-l" ]; then
  +        shift
  +    else
  +        cd ${DEVTOOL_SRCDIR}
  +    fi
       make "$@" 
   
   %prepare
  @@ .
Received on Mon Jul 16 18:31:36 2007
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.