GLite build and integration system Building and Packaging Robert HARAKALY

Slides:



Advertisements
Similar presentations
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Advertisements

German Cancio – WP4 developments Partner Logo WP4-install plans WP6 meeting, Paris project conference
ANT: Another Nice Tool Ali Beyad October 1, 2003.
ANT – Another Neat Tool Representation and Management of Data on the Internet.
ANT: Another Nice Tool Ali Beyad October 1, 2003.
Eclipse Introduction Dwight Deugo Nesa Matic
Developing the NSDL User Portal Dean Krafft, Cornell University
SEEM4570: XAMPP, Eclipse, Summary of Html Kangfei Zhao Room 711,ERB
The DSpace Course Module – DSpace Installation. Module objectives  By the end of this module you will:  Understand the platforms DSpace can be hosted.
Open Source Workshop1 IBM Software Group Working with Apache Tuscany A Hands-On Workshop Luciano Resende Haleh.
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups.
SOA-14: Continuous Integration in SOA Projects Experience from the field Andreas Gies Principal Architect.
Project Source Code Structure and Build Process ● Remember consistency matters as source code structure, build process, and release processes are all intertwined.
Eclipse Overview Introduction to Web Programming Kirkwood Continuing Education Fred McClurg © Copyright 2015, Fred McClurg, All Rights Reserved.
© 2005 by IBM; made available under the EPL v1.0 | March 1, 2005 Tim deBoer Gorkem Ercan Extend WTP Server Tools for your.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
4 Copyright © 2009, Oracle. All rights reserved. Designing Mappings with the Oracle Data Integration Enterprise Edition License.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Instant Messaging for the Workplace A pure collaborative communication tool that does not distract users from their normal activities.
Yannick Patois – CVS and Autobuild tools at CCIN2P3 – hepix - October, n° 1 CVS setup at CC-IN2P3 and Datagrid edg- build tools CVS management,
Apache Web Server v. 2.2 Reference Manual Chapter 1 Compiling and Installing.
Guideline: How to build AMSS source code? History: 01/02/ Make Draft 05/02/2010 – Release /02/2010 – Updated.
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.
Install Software. UNIX Shell The UNIX/LINUX shell is a program important part of a Unix system. interface between the user & UNIX kernel starts running.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Module 6: Configuring User Environments Using Group Policy.
Module 7 Configure User and Computer Environments By Using Group Policy.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
SUSE Linux Enterprise Desktop Administration Chapter 6 Manage Software.
1 / 22 AliRoot and AliEn Build Integration and Testing System.
Ant & Jar Ant – Java-based build tool Jar – pkzip archive, that contains metadata (a manifest file) that the JRE understands.
INFSO-RI Enabling Grids for E-sciencE SCDB C. Loomis / Michel Jouvin (LAL-Orsay) Quattor Tutorial LCG T2 Workshop June 16, 2006.
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.
Understanding StarTeam Enterprise Advantage Course #4124.
EGEE is a project funded by the European Union under contract IST Unit testing coordination and interface testing. David Collados Testing Team.
GLite build and integration system Building and Packaging Robert HARAKALY
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.
3 Copyright © 2009, Oracle. All rights reserved. Understanding the Warehouse Builder Architecture.
ASIS + RPM: ASISwsmp German Cancio, Lionel Cons, Philippe Defert, Andras Nagy CERN/IT Presented by Alan Lovell.
Jan Hatje, DESY CSS – Control System Studio EPICS collaboration meeting CSS – Control System Studio Update EPICS collaboration meeting 2008 Shanghai.
Yannick Patois - Datagrid Software Repository Presentation - March, n° 1 Datagrid Software Repository Presentation CVS, packages and automatic.
1 G52IWS: Example Web-services Chris Greenhalgh. 2 Contents Software requirements AXIS web service run-time components Getting started with Jetty & AXIS.
Milan, 15 June 2001WP1 Meeting - F. Donno1 GRID Packaging and Code Management for WP1 F. Donno INFN - Pisa.
Module 6: Configuring User Environments Using Group Policies.
(1) Code Walkthrough robocode-pmj-dacruzer Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
An EPICS IDE Using Eclipse Kenneth Evans, Jr. Presented at the EPICS Collaboration Meeting June 15, 2006 Argonne National Laboratory, Argonne, IL.
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.
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.
Maven. Introduction Using Maven (I) – Installing the Maven plugin for Eclipse – Creating a Maven Project – Building the Project Understanding the POM.
Maite Barroso – WP4 Workshop – 10/12/ n° 1 -WP4 Workshop- Developers’ Guide Maite Barroso 10/12/2002
Solvency II Tripartite template V2 and V3 Presentation of the conversion tools proposed by FundsXML France.
An Introduction to Ant. What is Ant? How do you use it? Why would you want to?
*DT Project Model Leo Treggiari Intel Corp. Dec, 2005.
Managing User Desktops with Group Policy
Fundamental of Databases
Packaging and Deploying Windows Applications
Installation of the ALICE Software
Advanced Integration and Deployment Techniques
Cordova & Cordova Plugin Installation and Management
Building LabKey with Gradle
Presentation transcript:

gLite build and integration system Building and Packaging Robert HARAKALY

, - 2 Contents Build system  Overview  Default targets Non JAVA modules Packaging  RPM  MSI

, - 3 Build system overview Ant based framework Designed to support multiple build systems (Ant, make, autotools, etc.) Extensible via the targets-xxx.xml interface mechanism Three layer structure: system, subsystem, component. Additional special build modules can be created to produce deployment units, ex.: org.glite.filecatalog packaging unit.

, - 4 Default targets envcheck init checkstyle compile unittestcompile unittest stage doc dist clean install JAVA autotools perl Normally no change Custom target can be added Compile -> all Unittest -> check Stage -> install with prefix Init -> perl Makefile.pl Compile -> all localinit localcompile localclean Local / global targets

, - 5 Quality Assurance Integration team enforces and makes audit of the software quality Coding guidelines, documentation, unit tests, etc.

, - 6 Non-JAVA modules Full support for non-JAVA modules based on Autotools, make, … Completely transparent for the module developer. Full autotools/make functionality. Default targets are defined in the targets-make.xml (targets- perl.xml) file which must be imported into component’s build.xml file. egee-ant-ext package  Automatically downloaded into the repository.  Provides additional Ant tasks for building non-JAVA (C/C++, Perl, make, autotools, etc.) projects but also packaging tasks.  Provides cross-platform functionality (Win, Linux).  Allows direct use of the predefined Ant properties for C/C++ modules.

, - 7 Customization of autotools based modules Customization is done by defining build properties in the project/properties.xml file :  build.{command}.arguments : command line arguments  build.{command}.path : path to find a command  build.{command}.dir : working directory Where command is one of : “bootstrap”, “configure” or “make”

, - 8 Sample project/properties.xml file I. <property name=“build.configure.arguments” value=“--prefix=/opt/glite”/> <property name=“build.make.arguments” value=“-d”/> … (other module specific properties) It will result into calls:./bootstrap./configure --prefix=/opt/glite make -d

, - 9 <property name=“build.configure.dir” value=“${build.dir}”/> <property name=“build.make.dir” value=“${build.dir}”/> … (other module specific properties) Is equivalent with:./bootstrap cd build../configure make Sample project/properties.xml file II.

, - 10 Advanced building In case the existing standard build targets cannot match the developer’s requirements => definition of the “localcompile” target or overloading of the existing standard targets Not a preferred way to proceed Please, do that only after the agreement with the integration team

, - 11 Advanced building II. <property name=“build.configure.dir” value=“${build.dir}”/> <property name=“build.configure.arguments” value=“--prefix=/opt/glite”/> <property name=“build.make.dir” value=“${build.dir}”/> <configure dir=“${build.dir}” args=“--prefix=/opt/glite”/>

, - 12 Packaging Build system builds source tarballs and binary tarballs and also packages for different platforms:  RPM : RedHat Linux  MSI : MS Windows Packages should be created automatically from the binary tarball files with no or minimum additional information from the developer. Unfortunately, there is always need of 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

, - 13 RPM packaging RPM packages requires set of additional information in order to build the package correctly.  build.rpm.spec.summary  build.rpm.spec.description  build.rpm.spec.buildarch (for JAVA modules should be set to “noarch”) Optional properties  build.rpm.spec.{command}.file Where command is: pre, post, preun, postun, …

, - 14 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}

, - 15 MSI packages 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 project/packaging/${component.name}.??? MSI package specification file MSI package customization through a set of build.msi. properties (not defined yet)

, - 16 Main issues (we need help) Functionality/quality race due to limited time Slow information propagation, only few developers are subscribed in the mailing lists Lack of good open source C/C++ auditing tool Packaging and configuration need better definition of the gLite services, their deployment, architecture, run-time requirements, …  ? Brainstorming ?  ? Documentation ?

, - 17 Summary Detailed documentation can be found on the web page: Contact by Any suggestions are welcome