100 likes | 114 Views
Learn how to set up mxCuBE effortlessly with a centralized Git repository, improved collaboration, and simplified dependency handling. Access the new Forge for reliable support and better compatibility.
E N D
Using git to get mxCuBE ready to install on your beamlines
Current situation : how to get mxCuBE ? This is confusing ! • SVN repository on http://blissgarden.org • RPM packages (blissbuilder/blissinstaller) • Files on http://ftp.esrf.eu • Even by email (tar.gz !) And also it has problems : • Missing dependencies (e.g PyChooch) • No examples for XML files • Obstacle to any collaboration M. Guijarro / BCU / ISDD – mxCuBE meeting, 22-09-2010
Solutions • Let’s stop relying on RPMs (causes problems with binaries on non-ESRF compatible platforms) • Let’s use the new forge available for the whole ESRF campus instead of blissgarden.org (maintained by real sysadmins, enhanced reliability) • Let’s have a single mxCuBE repository, with all dependencies + XML files examples • Let’s use a decentralized RCS (helps people to work on different branches easily, more powerful) … and also : really use the same repository for the ESRF version of mxCuBE ! M. Guijarro / BCU / ISDD – mxCuBE meeting, 22-09-2010
The new Forge : http://forge.epn-campus.eu • Feel free to register • There is a mxCuBE project Includes issue tracker, mailing-list, files sharing… M. Guijarro / BCU / ISDD – mxCuBE meeting, 22-09-2010
Git Repository • One single repository for mxCuBE • Dependencies are handled as submodules (i.e links to other Git repositories) • Please read the Git manual! And keep it under your pillow… mxCuBE.gui HardwareObjects XML examples PyChooch … mxCuBE PyMca Qub SpecClient Bliss Framework Hardware Repository HW Objects Bricks M. Guijarro / BCU / ISDD – mxCuBE meeting, 22-09-2010
1st step: let’s clone the mxCuBE repository How to get it ? (1/2) [guijarro@linguijarro ~]$ cd /tmp [guijarro@linguijarrotmp]$ git clone git://git.epn-campus.eu/repositories/mxCuBE warning: templates not found /bliss/users/guijarro/tmp/git/git-1.7.0.4/../share/ git-core/templates Initialized empty Git repository in /tmp/mxCuBE/.git/ remote: Counting objects: 265, done. remote: Compressing objects: 100% (154/154), done. remote: Total 265 (delta 121), reused 204 (delta 106) Receiving objects: 100% (265/265), 272.59 KiB, done. Resolving deltas: 100% (121/121), done. [guijarro@linguijarrotmp]$ cdmxCuBE [guijarro@linguijarromxCuBE]$ git submodule init Submodule 'BlissFramework' (git://git.epn-campus.eu/repositories/BlissFramework) registered for path 'BlissFramework' Submodule 'HardwareRepository' (git://git.epn-campus.eu/repositories/HardwareRepository) registered for path 'HardwareRepository' Submodule 'HardwareRepositoryServer' (git://git.epn-campus.eu/repositories/HardwareRepositoryServer) registered for path 'HardwareRepositoryServer' Submodule 'PyMca' (git://git.epn-campus.eu/repositories/PyMca.git) registered for path 'PyMca' Submodule 'Qub' (git://git.epn-campus.eu/repositories/Qub) registered for path 'Qub' Submodule 'SpecClient' (git://git.epn-campus.eu/repositories/SpecClient) registered for path 'SpecClient‘ [guijarro@linguijarromxCuBE]$ git submoduleupdate 2nd step: retrieving submodules M. Guijarro / BCU / ISDD – mxCuBE meeting, 22-09-2010
How to get it ? (2/2) 2nd-level submodules need to be initialized and updated mxCuBE PyMca Qub SpecClient Bliss Framework Hardware Repository Bricks HW Objects [guijarro@linguijarromxCuBE]$ cdBlissFramework [guijarro@linguijarroBlissFramework]$ git submodule init [guijarro@linguijarroBlissFramework]$git submodule update … [guijarro@linguijarroBlissFramework]$cd ../HardwareRepository [guijarro@linguijarroHardwareRepository]$git submodule init [guijarro@linguijarroHardwareRepository]$ git submodule update M. Guijarro / BCU / ISDD – mxCuBE meeting, 22-09-2010
Getting started (1/2) 0) Pre-requisities: Python 2.5/6/7, PyQt3, PyQwt5, libgsl 1) Compiling & installing PyChooch extension [guijarro@linguijarromxCuBE]$ cdPyChooch [guijarro@linguijarroPyChooch]$ python setup.py install (by default PyChooch.so file will go mxCuBE/lib/python) 2) Compiling & installing Qub [guijarro@linguijarromxCuBE]$ cdQub/CTools [guijarro@linguijarroQub/CTools]$ python setup.py install install-lib=./lib The following additional steps are required for those extensions: pixmaptools, opencv, qwttools (replace X with the extension name) [guijarro@linguijarroQub/CTools]$ cd X [guijarro@linguijarroQub/Ctools/X]$ python configure.py; make [guijarro@linguijarroQub/Ctools/X]$ cp X.so ../lib/ M. Guijarro / BCU / ISDD – mxCuBE meeting, 22-09-2010
Getting started (2/2) 3) PyMca [guijarro@linguijarromxCuBE]$ cdPyMca [guijarro@linguijarroPyMca]$ python setup.py install install-lib=./lib Now let’s run mxCuBE : [guijarro@linguijarromxCuBE]$ hwrServer --daemon [guijarro@linguijarromxCuBE]$ mxCuBE M. Guijarro / BCU / ISDD – mxCuBE meeting, 22-09-2010
That’s all : Thanks for your attention ! Any question ? M. Guijarro / BCU / ISDD – mxCuBE meeting, 22-09-2010