Difference between revisions of "Building gLExec from src rpm"

From PDP/Grid Wiki
Jump to navigationJump to search
(Building gLExec from src rpm moved to Building gLExec from src rpm gLite era)
 
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
#REDIRECT [[Building gLExec from src rpm gLite era]]
+
'''THIS PAGE NEEDS UPDATING TO EMI-3/UMD-3'''
  
 +
''It is strongly advised to install, patch and rebuild the gLExec src rpm from https://software.nikhef.nl/dist/mwsec/rpm/ in case adaptations are needed''
 +
 +
<BR><BR>
 +
 +
== How to build gLExec from a .src.rpm ==
 +
 +
The now advised method of rebuilding gLExec from source RPM is using the [http://software.nikhef.nl/dist/redhat/el5/mwsec/ Nikhef RPMs]:
 +
* You can use the following shell script, which can be downloaded [http://www.nikhef.nl/grid/lcaslcmaps/glexec_from_src_rpm.sh here]
 +
* Adapt the variables at the top to point to right directories
 +
* Run it in a temporary directory as ordinary user.
 +
* The resulting binary RPM will be found in the RPMS/*/ subdirectory.
 +
 +
<pre>
 +
#!/bin/sh
 +
 +
# SET CUSTOM BUILD ARGUMENTS HERE
 +
 +
# gLite-3.2 and EMI-1
 +
lcmaps_moddir_sfx=/modules # LCMAPS moduledir is ${libdir}${lcmaps_moddir_sfx}
 +
lcas_moddir_sfx=/modules  # LCAS moduledir is ${libdir}${lcas_moddir_sfx}
 +
 +
# EMI-2 and EPEL
 +
#lcmaps_moddir_sfx=/lcmaps # LCMAPS moduledir is ${libdir}${lcmaps_moddir_sfx}
 +
#lcas_moddir_sfx=/lcas    # LCAS moduledir is ${libdir}${lcas_moddir_sfx}
 +
 +
# gLite-3.2 directories
 +
glexec_pfx=/opt/glite
 +
glexec_etc=/opt/glite/etc
 +
glexec_doc=/opt/glite/share/doc
 +
 +
# EMI and EPEL directories
 +
#glexec_pfx=/usr
 +
#glexec_etc=/etc
 +
#glexec_doc=/usr/share/doc
 +
 +
lcmaps_version=1.4.30-1
 +
glexec_version=0.8.11-2
 +
 +
# END OF BUILD ARGUMENTS
 +
 +
# Setup build infrastructure
 +
export TOPDIR=`pwd`
 +
mkdir -p $TOPDIR/{SRPMS,SOURCES,SPECS,BUILD,RPMS/x86_64,RPMS/i386}
 +
 +
# Download and install lcmaps-interface and glexec src
 +
rpm2cpio http://software.nikhef.nl/dist/redhat/el5/mwsec/x86_64/lcmaps-interface-${lcmaps_version}.x86_64.rpm | cpio -id
 +
rpm --define "_topdir $TOPDIR" -i http://software.nikhef.nl/dist/redhat/el5/mwsec/SRPMS/glexec-${glexec_version}.src.rpm
 +
 +
# Patch spec file to match module directories for LCAS and LCMAPS
 +
sed -i "s+^\(%configure\).*+\1 --with-lcmaps-moduledir-sfx=$lcmaps_moddir_sfx --with-lcas-moduledir-sfx=$lcas_moddir_sfx+" $TOPDIR/SPECS/glexec.spec
 +
 +
# Build the RPM
 +
CFLAGS=-I$TOPDIR/usr/include rpmbuild \
 +
    --nodeps \
 +
    -ba --define "_topdir $TOPDIR" \
 +
    --define "_prefix $glexec_pfx" \
 +
    --define "_sysconfdir $glexec_etc" \
 +
    --define "_defaultdocdir $glexec_doc" \
 +
    $TOPDIR/SPECS/glexec.spec
 +
</pre>

Latest revision as of 11:01, 22 July 2014

THIS PAGE NEEDS UPDATING TO EMI-3/UMD-3

It is strongly advised to install, patch and rebuild the gLExec src rpm from https://software.nikhef.nl/dist/mwsec/rpm/ in case adaptations are needed



How to build gLExec from a .src.rpm

The now advised method of rebuilding gLExec from source RPM is using the Nikhef RPMs:

  • You can use the following shell script, which can be downloaded here
  • Adapt the variables at the top to point to right directories
  • Run it in a temporary directory as ordinary user.
  • The resulting binary RPM will be found in the RPMS/*/ subdirectory.
#!/bin/sh

# SET CUSTOM BUILD ARGUMENTS HERE

# gLite-3.2 and EMI-1
lcmaps_moddir_sfx=/modules # LCMAPS moduledir is ${libdir}${lcmaps_moddir_sfx}
lcas_moddir_sfx=/modules   # LCAS moduledir is ${libdir}${lcas_moddir_sfx}

# EMI-2 and EPEL
#lcmaps_moddir_sfx=/lcmaps # LCMAPS moduledir is ${libdir}${lcmaps_moddir_sfx}
#lcas_moddir_sfx=/lcas     # LCAS moduledir is ${libdir}${lcas_moddir_sfx}

# gLite-3.2 directories
glexec_pfx=/opt/glite
glexec_etc=/opt/glite/etc
glexec_doc=/opt/glite/share/doc

# EMI and EPEL directories
#glexec_pfx=/usr
#glexec_etc=/etc
#glexec_doc=/usr/share/doc

lcmaps_version=1.4.30-1
glexec_version=0.8.11-2

# END OF BUILD ARGUMENTS

# Setup build infrastructure
export TOPDIR=`pwd`
mkdir -p $TOPDIR/{SRPMS,SOURCES,SPECS,BUILD,RPMS/x86_64,RPMS/i386}

# Download and install lcmaps-interface and glexec src
rpm2cpio http://software.nikhef.nl/dist/redhat/el5/mwsec/x86_64/lcmaps-interface-${lcmaps_version}.x86_64.rpm | cpio -id
rpm --define "_topdir $TOPDIR" -i http://software.nikhef.nl/dist/redhat/el5/mwsec/SRPMS/glexec-${glexec_version}.src.rpm

# Patch spec file to match module directories for LCAS and LCMAPS
sed -i "s+^\(%configure\).*+\1 --with-lcmaps-moduledir-sfx=$lcmaps_moddir_sfx --with-lcas-moduledir-sfx=$lcas_moddir_sfx+" $TOPDIR/SPECS/glexec.spec

# Build the RPM
CFLAGS=-I$TOPDIR/usr/include rpmbuild \
    --nodeps \
    -ba --define "_topdir $TOPDIR" \
    --define "_prefix $glexec_pfx" \
    --define "_sysconfdir $glexec_etc" \
    --define "_defaultdocdir $glexec_doc" \
    $TOPDIR/SPECS/glexec.spec