Epics@GSI Webhome

Tools Module Installation Call

Introduction

%DummyModule_TITLE% -- Version: %DummyModule_VERSION% (%DummyModule_LAST_CHANGE_ON%)

Settings

\
Warning: Can't find named section DummyModule_SETTINGS in topic Epics.EpicsInstallationsAtGsi

%DummyModule_ABSTRACT%

Prerequisites:

%DummyModule_PREREQUISITES%

%FOREACH{"module" in="DummyModule"}%

Installation

0. %SETEPICSVARIABLES%
%PROMPT% %EXPORT_CMD% MYEPICS_VERSION=${MYEPICS_VERSION:-%EPICS_VERSION%}
%PROMPT%   %EPICSLOGIN_CMD%
  1. %CREATEDOWNLOADDIREXPORTPART1% %EPICSDOWNLOADDIR% %CREATEDOWNLOADDIREXPORTPART2%
    %PROMPT% [ -z "%EPICSDOWNLOADDIR%" ] && %EXPORT_CMD% %EPICSDOWNLOADDIR%=%EPICSDOWNLOADDIRDUMMY%
    %CREATEDOWNLOADDIR%
    %PROMPT% %MKDIR_CMD% %$module_DOWNLOADPATH%
  2. %DOWNLOADOF% %$module_SRCNAME% (version as of %$module_VERSIONDATE% is %$module_VERSION%) %DOWNLOADFROM% %$module_DOWNLOADADRESS% %DOWNLOADTO% %$module_DOWNLOADPATH%
    %PROMPT% %CD_CMD% %$module_DOWNLOADPATH% &&
      %WGET_CMD% %$module_DIRECTDOWNLOADADRESS%/%$module_TARFILENAME%
  3. %MAKEINSTALLDIR%
    %PROMPT% %MKDIR_CMD% %$module_SRCDIR%
  4. %UNTARFILETO% %$module_SRCDIR%
    %PROMPT% %CD_CMD% %$module_SRCDIR% &&
      %UNTAR_CMD% %$module_DOWNLOADPATH%/%$module_TARFILENAME%
    (%$module_VERSIONCOMMENT%)
  5. %PROMPT% %CD_CMD% %$module_TOPLEVELDIR%
  6. Following the instructions %$module_INSTALLATIONDOCS%
    %EDITFILES% %$module_FILESTOEDIT% %SETPATHTOBASE% In CONFIG, either modify CROSS_COMPILER_TARGET_ARCHS or remove it to default to all architectures.
    %ECHO_CMD% setting: EPICS_BASE=${EPICS_HOME}/base in %$module_FILESTOEDIT% &&
      %PERL_CMD% -pi -e "s|(^(EPICS_BASE=).*$)|#\1\n\2${EPICS_HOME}/base\n|g" %$module_FILESTOEDIT%
  7. Adding "-include" statements for RELEASE.local and CONFIG_SITE.local at ${EPICS_MODULES}
    %PROMPT% cd %$module_TOPLEVELDIR%/configure &&
      ln -s ${EPICS_MODULES:?}/RELEASE.local ./RELEASE.local &&
      echo '-include $(TOP)/configure/RELEASE.local' >> ./RELEASE &&
      echo '-include $(TOP)/configure/CONFIG_SITE.local' >> ./CONFIG_SITE &&
      echo 'INSTALL_LOCATION=%$module_INSTALLDIR%' > ./CONFIG_SITE.local &&
      echo 'INSTALL_LOCATION_APP=%$module_INSTALLDIR%' > ./RELEASE.Common.${EPICS_HOST_ARCH}
  8. Adding additional statements for RELEASE.local
    %IF( "defined $module_RELEASE_ADDONS" then="%PROMPT%")% %$module_RELEASE_ADDONS%
  9. Finally: %RUNTOPLEVELMAKE%
    %PROMPT% %CD_CMD% %$module_TOPLEVELDIR% &&
      %MAKE_INSTALL_CMD%
  10. Registration in ${EPICS_MODULES}/RELEASE.local
    %PROMPT% cd ${EPICS_MODULES} &&
      %PERL_CMD% -pi -e "s|(^\s*(%$module_KEY%\s*=\s*).*$)||g" ./RELEASE.local &&
      { printf "%-15s = %s\n" "%$module_KEY%" '%$module_INSTALLDIR%' >> ./RELEASE.local ; }
  11. Collecting .dbd files, libraries, and library paths
    %PROMPT% cd ${EPICS_MODULES} &&
      mkdir -p ./ld.so.conf.d &&
      { echo "%$module_TOPLEVELDIR%/lib/${EPICS_HOST_ARCH}" >> ./ld.so.conf.d/epics.conf; } &&
      { printf "%-20s %s\n" '$(IOC_NAME)Ioc_DBD' '+= %$module_DBD%' >> ./modules.dbd; } &&
      { printf "%-20s %s\n" '$(IOC_NAME)Ioc_LIBS' '+= %$module_LIBS%' >> ./modules.lib; }

Compact
Download address: %$module_DOWNLOADADRESS%

install_%$module_KEY%()
{
%EXPORT_CMD% MYEPICS_VERSION=${MYEPICS_VERSION:-%EPICS_VERSION%} &&
  %EPICSLOGIN_CMD% &&

[ -z "%EPICSDOWNLOADDIR%" ] && %EXPORT_CMD% %EPICSDOWNLOADDIR%=%EPICSDOWNLOADDIRDUMMY% &&

%MKDIR_CMD% %$module_DOWNLOADPATH% &&
%CD_CMD% %$module_DOWNLOADPATH% &&
  %WGET_CMD% %$module_DIRECTDOWNLOADADRESS%/%$module_TARFILENAME%
&&
%MKDIR_CMD% %$module_SRCDIR% &&
%CD_CMD% %$module_SRCDIR% &&
  %UNTAR_CMD% %$module_DOWNLOADPATH%/%$module_TARFILENAME%
&&

%CD_CMD% %$module_TOPLEVELDIR% &&
cd %$module_TOPLEVELDIR%/configure &&
  ln -s ${EPICS_MODULES:?}/RELEASE.local ./RELEASE.local &&
  echo '-include $(TOP)/configure/RELEASE.local' >> ./RELEASE &&
  echo '-include $(TOP)/configure/CONFIG_SITE.local' >> ./CONFIG_SITE &&
  echo 'INSTALL_LOCATION=%$module_INSTALLDIR%' > ./CONFIG_SITE.local &&
  echo 'INSTALL_LOCATION_APP=%$module_INSTALLDIR%' > ./RELEASE.Common.${EPICS_HOST_ARCH}
&&

%$module_RELEASE_ADDONS% &&

%CD_CMD% %$module_TOPLEVELDIR% &&
  %MAKE_INSTALL_CMD%
&&

cd ${EPICS_MODULES} &&
  %PERL_CMD% -pi -e "s|(^\s*(%$module_KEY%\s*=\s*).*$)||g" ./RELEASE.local &&
  { printf "%-15s = %s\n" "%$module_KEY%" '%$module_INSTALLDIR%' >> ./RELEASE.local ; }
&&

cd ${EPICS_MODULES} &&
  mkdir -p ./ld.so.conf.d &&
  { echo "%$module_TOPLEVELDIR%/lib/${EPICS_HOST_ARCH}" >> ./ld.so.conf.d/epics.conf; } &&
  { printf "%-20s %s\n" '$(IOC_NAME)Ioc_DBD' '+= %$module_DBD%' >> ./modules.dbd; } &&
  { printf "%-20s %s\n" '$(IOC_NAME)Ioc_LIBS' '+= %$module_LIBS%' >> ./modules.lib; }

}

install_%$module_KEY%

Documentation

  • TIP %$module_DOCS%.
-- %$module_LAST_CHANGE_BY% - %$module_LAST_CHANGE_ON%
%NEXT{"module"}%


-- PeterZumbruch - 2020-08-17
-- PeterZumbruch - 2020-08-17
Topic revision: r1 - 2020-08-17, PeterZumbruch - This page was cached on 2021-10-20 - 00:27.

This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding GSI Wiki? Send feedback | Imprint (german) | Privacy Policy (german)