mkproject Overview

  • mkproject releases a new version of a LHCb project on $PWD.
  • if $PWD is a release area (Gaudi or LHCb) it creates a volume ,
  • then it getpack sources, compiles, makes tar files, builts glimpse files, runs Doxygen, updates latest versions.
  • if the project_version uses InstallArea CMTPROJECTPATH must exist


def help() :
  print """make a release of Gaudi or LHCb project
    python -p <project> -v <version> [-d]
    -d                                 - debug mode
    -p or --project= <project>         - project name
    -v or --version= <version>         - project version
    -a or --action=<action_list>       - n<ew project>
                                         g<et packages from cvs>
                                         u<se packages>
                                         c<ompile project>
                                         d<compile in debug mode>
                                         i<nstall libraries in InstallArea>
                                         t<ar file>
                                         run glimp<s>e index
                                         r<elease the area to public>
                                         x<build doxygen documentation>
                                         h<tml web page>
                                         w<eb html page>
                                         default => --action=ngucdirtxhw

    python -p Brunel -v v30r3


Full description

  • main gets options from command line arguments, calls release_project
    • release_project*
      • set action flags, default strategy, project path, CVSROOT, packSys and CMTCONFIG
      • print the space available on $LHCBTAR/<PROJECT>
      • print action list and require aknowledgement
      • set tbroadcast value : use cmt br for the moment
      • check CMTPROJECTPATH definition:
        • if it is not set assume that <Project>Env/<version> exists
        • if it exists unset CMTPATH
      • if $PWD is $LHCBRELEASE or $GAUDISOFT create a new AFS volume
      • if not CMTPROJECTPATH:
        • set project.cmt with default strategy (without_installarea)
        • getpack <Projecy>/<version>
      • else:
        • getpack <PROJECT> <PROJECT>_<version>
      • check the environment, get base_name and base_version to be used in setting the latest versions web page (html option)
      • action: get
        • getpack -r <Pack>Sys <version>
      • action: use
        • check that all packages are available (cmt show uses)
        • special action in case of Geant4:
          • copy sources and include files from the Geant4 repository
      • * action:compilation*
        • create and store in doc/ the list of external packages native_versions used by the project
        • compile in optimize mode
        • if Gauss build other executables
      • action: compilation in debug mode
        • set CMTCONFIG = $CMTDEB
        • compile as before
      • action: InstallArea
        • if not CMTPROJECTPATH:
        • run !LbInstallArea to build an InstallArea "a la" CMT.
      • action: build tar files
        • run !mkLHCbtar for source, binary and binary_dbg
      • action: glimpse
        • build the glimpse data base
      • action: make the release area public
        • set acl to readonly for anyuser
        • set documentation softlinks in <PROJECT> and <PROJECT>_<version>
      • action: build Doxygen documentation
        • run makedoc
      • action: update the "latest versions" html page
        • this action should be reviewed....
      • action: reset the web page

FlorenceRanjard - 30 Mar 2007
Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r5 - 2014-01-15 - MarcoCattaneo
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2021 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