GLite build and integration system Building and Packaging Robert HARAKALY

Slides:



Advertisements
Similar presentations
05/11/2001 CPT week Natalia Ratnikova, FNAL 1 Software Distribution in CMS Distribution unitFormContent Version of SCRAM managed project.
Advertisements

Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
German Cancio – WP4 developments Partner Logo WP4-install plans WP6 meeting, Paris project conference
® IBM Software Group © 2010 IBM Corporation What’s New in Profiling & Code Coverage RAD V8 April 21, 2011 Kathy Chan
ANT: Another Nice Tool Ali Beyad October 1, 2003.
ANT: Another Nice Tool Ali Beyad October 1, 2003.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Developing the NSDL User Portal Dean Krafft, Cornell University
EGEE is a project funded by the European Union under contract IST Software Configuration Management and Integration Alberto Di Meglio EGEE.
M. Gallas IT-API LCG SPI project: testing1 Software Testing Infrastructure status LCG Software Process & Infrastructure (CERN, 10/23/02)
Linux Operations and Administration
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks gLite Release Process Maria Alandes Pradillo.
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups.
Software Quality Assurance 2/20 WELCOME Graphic User Interface Testing.
AUTOBUILD Build and Deployment Automation Solution.
SOA-14: Continuous Integration in SOA Projects Experience from the field Andreas Gies Principal Architect.
SPI Software Process & Infrastructure EGEE France - 11 June 2004 Yannick Patois
M Gallas CERN EP-SFT LCG-SPI: SW-Testing1 LCG-SPI: SW-Testing LCG Applications Area GridPP 7 th Collaboration Meeting LCG/SPI LCG.
COMP-14: Automating your deployments using ANT Gary S Clink Business Consultant.
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio CERN.
INFSOM-RI Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration.
EGEE is a project funded by the European Union under contract IST Testing processes Leanne Guy Testing activity manager JRA1 All hands meeting,
EGEE is a project funded by the European Union under contract IST Build Infrastructure & Release Procedures Integration.
INFSO-RI JRA2: Testing senarious ETICS AH meeting Budapest, Iune 2009 Eva Takacs, Jozsef Kuti, András Milassin 4D Soft.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Module 6: Configuring User Environments Using Group Policy.
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio EGEE – JRA1 CERN.
EGEE is a project funded by the European Union under contract IST Software Configuration Management and Integration Alberto Di Meglio EGEE.
1 / 22 AliRoot and AliEn Build Integration and Testing System.
EGEE is a project funded by the European Union under contract IST JRA1-SA1 requirement gathering Maite Barroso JRA1 Integration and Testing.
INFSO-RI Enabling Grids for E-sciencE Strategy for gLite multi-platform support Author:Eamonn Kenny Meeting:SA3 All Hands Meeting.
LCG-SPI: SW-Testing LCG AppArea internal review (20/10/03)
Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Usage of virtualization in gLite certification Andreas Unterkircher.
EGEE is a project funded by the European Union under contract IST Tools survey status, first experiences with the prototype Diana Bosio EGEE.
M Gallas CERN EP-SFT LCG-SPI: SW-Testing1 LCG-SPI: SW-Testing QMTest test framework LCG AppArea meeting (16/07/03) LCG/SPI LCG Software.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
Overview of the Automated Build & Deployment Process Johnita Beasley Tuesday, April 29, 2008.
Software Development COMP220/COMP285 Seb Coope Introducing Ant These slides are mainly based on “Java Development with Ant” - E. Hatcher & S.Loughran.
14th Oct 2005CERN AB Controls Development Process of Accelerator Controls Software G.Kruk L.Mestre, V.Paris, S.Oglaza, V. Baggiolini, E.Roux and Application.
EGEE is a project funded by the European Union under contract IST Unit testing coordination and interface testing. David Collados Testing Team.
Package & Deploy. OBJECTIVES Package Deploy Way to package.
J.P. Wellisch, CERN/EP/SFT SCRAM Information on SCRAM J.P. Wellisch, C. Williams, S. Ashby.
Chapter 1 Introducing Ant. What is ant? Ant is a build tool  Automate the tasks of compiling code, running test, and packaging the results for redistribution.
CERN IT Department t LHCb Software Distribution Roberto Santinelli CERN IT/GS.
INFSO-RI Enabling Grids for E-sciencE ARDA Experiment Dashboard Ricardo Rocha (ARDA – CERN) on behalf of the Dashboard Team.
ASIS + RPM: ASISwsmp German Cancio, Lionel Cons, Philippe Defert, Andras Nagy CERN/IT Presented by Alan Lovell.
Yannick Patois - Datagrid Software Repository Presentation - March, n° 1 Datagrid Software Repository Presentation CVS, packages and automatic.
EGEE is a project funded by the European Union under contract IST GLite Integration Infrastructure Integration Team JRA1.
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio EGEE – JRA1 CERN.
(1) Code Walkthrough robocode-pmj-dacruzer Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
Configuration & Management for Joachim Flammer Integration Team EGEE is a project funded by the European Union under contract IST JRA1 all-hands-meeting,
EGEE is a project funded by the European Union under contract IST Installation and configuration of gLite services Robert Harakaly, CERN,
INFSOM-RI Training: Build using the ETICS Service The ETICS Build Process Alberto Di Meglio ETICS Project.
GLite build and integration system Building and Packaging Robert HARAKALY
DataGrid is a project funded by the European Commission under contract IST EDG Baseline API Document Document build description and current.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Maite Barroso – WP4 Workshop – 10/12/ n° 1 -WP4 Workshop- Developers’ Guide Maite Barroso 10/12/2002
An Introduction to Ant. What is Ant? How do you use it? Why would you want to?
EGEE is a project funded by the European Union under contract IST build & integration system Framework & configuration Joachim Flammer Integration.
1 April 2, Software Packaging and Releasing Best Practices William Cohen NCSU CSC 591W April 2, 2008.
Leverage your Business with Selenium Automation Testing
The gLite Software Development Process
Packaging Example All Hands Meeting, Padova,
Supporting the gLite release process
Leanne Guy EGEE JRA1 Test Team Manager
Module 1: Getting Started
J2EE Application Development
Building LabKey with Gradle
Presentation transcript:

gLite build and integration system Building and Packaging Robert HARAKALY

All hands meeting, RAL 28/06/ Contents Build system  Overview  Default targets Non JAVA modules Packaging  RPM  MSI

All hands meeting, RAL 28/06/ Build system overview Based on the Ant framework Designed to support multiple build systems (Ant, make, autotools, etc.) Interface mechanism enabling easy extension of the system Three layer structure: system, subsystem, component. Possibility to create special build modules, like modules for higher level deployment units, ex.: org.glite.filecatalog packaging unit.

All hands meeting, RAL 28/06/ Build system design CVS targets-javatargets-perltargets-make coding guidelines, unit tests, documentation src/bin tarball tar.gz zip msi rpm Compilation Quality assurance Packaging Distribution packaging MS Win Linux src.rpm Version control

All hands meeting, RAL 28/06/ Quality Assurance Project should provide high quality software JRA2 and the Quality Group define the guidelines, JRA1 defines specific software process plans Integration team enforces and makes audit of the software quality Build system provides checks for:  coding guidelines,  documentation,  unit test coverage,  unit tests, etc. Modules not fulfilling quality requirements break the build and will not be integrated. Additional information in the testing team presentation.

All hands meeting, RAL 28/06/ Compilation: default targets envcheck init checkstyle compile unittestcompile unittest Doc stage dist clean install java autotools perl Normally no change Custom target can be added compile -> all unittest -> check stage -> install prefix= init -> perl Makefile.pl compile -> all localinit localcompile localclean Local / global targets

All hands meeting, RAL 28/06/ Compilation Build system designed to effectively support:  modules written in different languages (Java, C/C++, Perl, …)  modules built using different build tools (ant, make, autotools, …) Aim for complete transparency for the module developer. These requirements goes behind the standard ant functionality. To fulfill these requirements, the module egee- ant-ext was developed. It contains:  additional ant tasks for multi-language support  additional ant tasks for different build tools  tasks for the packaging  support for multiplatform functionality.

All hands meeting, RAL 28/06/ Customization of the compilation process Build system enables (especially for non-Java modules) the possibility of customizing the build process by passing parameters to the underlying build tools. Set of:  build.{command}.arguments : command line arguments  build.{command}.path : path to find a command  build.{command}.dir : working directory properties, can be defined in the module’s project/properties.xml file. The “command” is one of : “bootstrap”, “configure” or “make”.

All hands meeting, RAL 28/06/ Non-standard building If you feel that the standard build targets cannot match your requirements: 1)Come and talk to us, we will try to find a solution 2)Define the “localcompile” ant target in the module build.xml file 3) Redefine the default targets Never forget the first step ! You can create problems for the whole build process and your ideas may be useful to other people

All hands meeting, RAL 28/06/ Packaging Build system builds:  source tarballs  binary tarballs for all supported platforms  Distribution packages: RPM for RedHat Linux flavours MSI for MS Windows Distribution packages should be created automatically from the binary tarball files with no or a minimum of additional information from the developer. Unfortunately, there is always the need for some additional information which must be provided by developer Global packaging properties:  package.nameneeded only if source package does not use the standard gLite naming notation

All hands meeting, RAL 28/06/ RPM packaging Standard packaging format for most of Linux distributions Packaging is defined by so called.spec file Main issue is:.spec file is created automatically with use of information:  stored in the build system  provided by developer If the module has.spec file created by developer, the packaging process can use this.spec file.spec Summary: Version: Release: Requires: BuildArch: Description: %setup %install %pre %post %preun %postun %clean %files

All hands meeting, RAL 28/06/ Sample project/properties.xml file …(build properties if any) <property name=“build.rpm.spec.summary” value=“Ant extension targets for C/C++ builds”/> <property name=“build.rpm.spec.install.file” value=“rpm/egee-ant-ext.install”/> Will result to egee-ant-ext.spec file: Summary: Ant extension targets for C/C++ builds … %install {content of the rpm/egee-ant-ext.install file}

All hands meeting, RAL 28/06/ MSI packages Standard packager for MS Windows Ongoing work on this subject Still not clear which tool will be used. Two candidates:  Wise installer for Windows  Wix (Open Source tool) Component will have defined the MSI package specification file MSI package customization through a set of build.msi. properties (not defined yet)

All hands meeting, RAL 28/06/ Main issues (we need help) Functionality/quality race due to limited time Lack of good open source C/C++ auditing tool. CodeWizard is a good candidate, but requires a license (CERN has it) Packaging and configuration need better definition of the gLite services, their deployment, architecture, run-time requirements, …  ? Brainstorming ?  ? Documentation ?

All hands meeting, RAL 28/06/ Summary Detailed documentation and tutorials with the examples on all discussed subjects can be found on the Integration team web page. Contact by Any suggestions are welcome