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: | ||
− | + | '''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