= CMT Roadmap = Authors : C.Arnault , V.Garonne [[BR]] Date : 06.21.2005 [[BR]] Version : 0.1 [[BR]] Before end of 2005 we (VG + CA) will carry on the following main tasks: * SVN migration from CVS * Source Distribution Kit for the Atlas software [[TOC(inline)]] == General context == The schedule proposed here naturally fits with the requirements to support the multi-project paradigm that is to be implemented in the next months. == SVN migration from CVS == === Define a work model for the svn repository === E.g.: {{{ A/trunk/ A/v1 B/trunk/ B/v1 }}} OR {{{ v1/A v1/B trunk/A trunk/B trunk/C }}} === Convert repository from CVS to SVN === Christian’s pseudo-codes: {{{ For all packages Find all CMT tags (including HEAD) For each tag in tags: Cvs export –r tag svn import CMT/tag }}} * This approach forgets all intermediate checkins. We only save tags. ==== Evaluation of the cvs2svn python script ==== * [http://cvs2svn.tigris.org/ cvs2svn project home] * [http://wiki.osafoundation.org/bin/view/Chandler/CvsToSvn CvsToSvn notes] === Impact of svn properties (Meta-data) over the code management === === Connections with CMT === * Do we need to rebuild a CMT/SVN pluggin for doing cmt co via SVN ? * The repository structure may suppress its need at all === Consequences and interactions with the tag collector === * To be studied together with the TC team === Consequences for users === * Changing the HowTos * Impact to the work model * Do a list of concerned commands * Options: * Wrapped commands * New commands === Validation phase === 1. Try and validate this for all packages in the atlas project === Useful links === * [https://uimon.cern.ch/twiki/bin/view/Atlas/MigratingToSVN Atlas Wiki] * [http://agenda.cern.ch/askArchive.php?base=agenda&categ=a045107&id=a045107s27t6/transparencies Slides ] * [http://ecoleinfo04.lal.in2p3.fr/uploads/Main/cmtco.py svn co] * [http://wiki.osafoundation.org/bin/view/Chandler/CvsToSvn CvsToSvn notes] * [http://cvs2svn.tigris.org/ cvs2svn project home] == Source Distribution Kit == === Goal === 1. To have the ability to construct all Atlas software from sources 1. To provide the debug(-dbg) kit with binaries and sources. It could be implemented at the pacman kit creation level. 1. Understand and implement the relationships with source kits of external products === Atlas package types === * There are three different kinds of packages: * Atlas internals * External products from LCG * Atlas externals (eg generators) For the first category: 1. Test the shell script currently available 1. (Convert it into python) 1. Validate it with the Atlas software For the second category: 1. SPI is currently working on a way of manipulating and installing external software from sources. [[BR]] contact: Yannik patois, Glasgow people (LHCb), ... For the third category: 1. Prayer is probably the best strategy in waiting… === Pacman === 1. Create .pacman file for all tarball. === Consequences for CMT === 1. Add the possibility to define a connection to an externally defined pacman kit. Typically through a CMT macro E.g.: {{{ macro -pacman-link "package ('LCG:Aext')" }}} === Validation phase === 1. Try and validate the Atlas software installation on the LAL CE. 1. This exercice could be a good oportunity to validate the Atlas code on MAC (one contiguous issue is also to provide CMT within Xcode environment). == Miscelleanous == * CMT RH7.3/SLC/SLC n+1 compatibility 1. Should try to use the static compilation option. 1. Add the static key work in the linking command in the cmt.make file.