SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Project Builder:
A GPL continuous packaging solution

Bruno Cornec      HP EMEA Open Source Profession Lead




V2.0 April 2013
Introducing Myself
●
        Software engineering and Unices since 1988
         ●
             Mostly Configuration Management Systems (CMS), Build systems, quality tools, on
             multiple commercial Unix systems
         ●
             Discover Open Source & Linux (OSL) & first contributions in 1993
         ●
             Full time on OSL since 1995, first as HP reseller then @HP
●
        Currently:
         ●
            Master Technology Architect on OSL for the HP/Intel Solution Center, Grenoble
         ●
             OSL HP Advocate
         ●
             EMEA OSL HP Profession Lead
         ●
             Solutions Linux Conference and OWF board member
         ●
             MondoRescue, Dploy.org, Project-Builder.org project lead
         ●
             LinuxCOE, mrepo, tellico, rinse, fossology, collectl contributor
         ●
             FOSSBazaar and OSL Governance enthusiast
         ●
             Mandriva, Mageia, Fedora packager
    2                                    HP / OSSI / Bruno Cornec
What is the problem ?

     Users / Sysadmins environment:


                                                         >= 90%



                                                         < 10%


Users: easyness (GUI, CLI)
Admins: distribution compliance,                         < 1%
smooth integration – reduce admin load
 3                            HP / OSSI / Bruno Cornec
What is the problem ?

    Developers environment:


                                                       Sourceforge
                          Flat Files                   ftp, web
                                             Project

                                CMS/VCS                autotools ?
                                  CVS                  Install proc ?
                                                       Soft. Eng. ?
                                  SVN                  Fear of distro ?
                                  GIT, ...
4                     HP / OSSI / Bruno Cornec
What is the problem ?

      Packagers environment:

                                                             Distro
                                                             ftp, web
                           Flat Files
                                                   Package


                           CMS/VCS
Does s/he only exists ?          CVS
On time ? Lag behind ?                                       rpmlint ?
Distro coverage (ver, #)         SVN
                                                             lintian ?
Beta avail ?                     GIT, ...
  5                         HP / OSSI / Bruno Cornec
My answer with my various hats

    I'm a sysadmin so I want to deal with packages only (deployment
    server integration)
    I'm a developer so I want to ease my tests without screwing up my
    system and testing as a std user/admin
    I'm a software engineer and want no duplication of code nor
    information (metadata)
    I'm a a packager so I want to streamline that work for new projects I'm
    interested in packaging
    I'm the marketing department of my own project and use packages as
    a “competitive advantage”
    Founding no tool existing to help me doing all that (2005), so I started
    writing one to scratch my own itch
6                           HP / OSSI / Bruno Cornec
What is the solution ?


    Packaging should be a project concern as well as coding, testing,
    installing, .... especially for smaller projects
    New mantra: “Package early, package always”
    Use packaging as your only way of delivery (not a dream)
    Overhead minimal (not much longer than providing a tgz), maximum
    benefit (consistancy, reproduceability, team work improvement,
    distribution integration, improved deployment)
    Packaging is also a marketing activity based on a technical content. It's
    an easy way to extend your user base, and improve your community.
    Makes tests easy.
    THE SOLUTION IS CONTINUOUS PACKAGING

7                           HP / OSSI / Bruno Cornec
Cloud based Continuous Packaging
                             Local Build Server (may host VMs and/or VEs)
Packagers                                                           VM or VE Build


                                                                                 Repository
       Build +                                                                   Server

       metadata
                                          Local build

        Project

                    RM Build
                    Farm
                    (may host VMs)                          Remote build
Developers
 9                               HP / OSSI / Bruno Cornec
Provisioning the Continuous Packaging Cloud
                       Local Build Server (may host VMs and/or VEs)
                                                               VM or VE Build




     Build +

     metadata                          Local build
                                                                                Repository
                                                                                Server
     Project
           RM Build Farm (may
           host VMs)

                                                         Remote build
10                            HP / OSSI / Bruno Cornec
Goals
     Project-builder main goal is to help you package continuously being
     agnostic:
       CMS agnostic: no CMS but guys it's 21st century now, SVN, CVS,
       Mercurial, GIT, SVK....
       OS agnostic: Linux: RPM, deb, ebuild, slack based, ... 120+ distro
       tuples at the moment – repositories for yum, urpmi, apt. Solaris pkg.
       HP-UX sd in progress
       Build environment agnostic: local, VM (QEMU, KVM...), VE
       (rpmbootstrap, rinse, mock, debootstrap...), RM (external build farm)
       No project impact: preserves the md5sum of the delivered upstream
       sources. Can be completely external to the upstream project.



11                           HP / OSSI / Bruno Cornec
Goodies
     Project-builder provides additional goodies:
       Easy VMs/VEs/RMs management
       Macro system with perl variables to avoid duplication
       Skeleton generation to help starting
       Manages delivery up to your repository (ssh based)
       Manages announces on mailing lists
       Integration of tests in the process
       Manages patches/additional sources when not upstream
       Checks validity of packages built (lintian, rpmlint)
       Easy creation of new versions for upstream management


13                            HP / OSSI / Bruno Cornec
VM, VE & RM Management
     VE Creation:
         debootstrap for .deb based ones.
         rpmbootstrap (modeled after debootstrap): create chroot for
         multiple RPM based distributions (Mageia, Fedora, Mandriva,
         CentOS, OpenSuSE)
     VM|RM Creation:
         KVM or QEMU iso install possibilities.
         LinuxCOE/OpenStack as provisioning tool for your VM|RM
     VM|VE|RM setup: adds pb tools and build account
     VM|VE Snapshot feature
     Building in VM|VE|RM == building locally (build2vm|ve|rm vs build2pkg).
     ssh communication for VM/RM
14                           HP / OSSI / Bruno Cornec
Metadata Management
     Packaging process independent of the project and external
     Metadata isolated - No duplication




15                          HP / OSSI / Bruno Cornec
Configuration file usage

     Macro example:

./rpmbootstrap/pbfilter/all.pbf:filter PBSUMMARY = rpmbootstrap is a tool similar
to debootstrap for RPM based distributions
./rpmbootstrap/rpm/rpmbootstrap.spec:Summary: PBSUMMARY
./rpmbootstrap/deb/control:Description: PBSUMMARY
./rpmbootstrap/pkg/pkginfo:NAME="PBSUMMARY"


     Instantiation possible from distro-ver-arch, distro-ver, distro, distro-
     family, distro-type, os
     Similar approach for all other parameters (Cf: man pb.conf)

16                            HP / OSSI / Bruno Cornec
Commands
[cms|sbx]2build: Create tar files for the project under your CMS. Parameters are
packages to build if not using default list
build2pkg: Create packages for your running distribution
build2ssh: Send the tar files to a SSH host
pkg2ssh: Send the packages built to a SSH host
build2vm|ve|rm: Create packages in VMs/VEs/RMs, launching them if needed and
send those packages to a SSH host once built
launchvm: Launch one virtual machine
script2vm|ve|rm: Launch a VM/VE/RM if needed and executes a script on it
test2vm|ve|rm: Test inside a VM/VE/RM
newvm|ve: Create a new VM/VE/RM
setupvm|ve|rm: Setup a VM/VE/RM for pb usage
newver: Create a new version of the project derived from the current one
newproj: Create a new project and a template set of configuration files under
pbconf

17                           HP / OSSI / Bruno Cornec
The Big picture


Packagers
      newver / newproj
                                                         newvm|ve / setupvm|ve|rm
                          Packaging
                                         build2vm|ve|rm

                         cms|sbx2build

                     Project                          Building           Packages
                                                      build2pkg
                                                                          pkg2ssh



                                                         build2ssh
 Developers
 18                        HP / OSSI / Bruno Cornec
Multi platform life cycle



User Requirements                                              Validation


        Functional                                      Integration tests
       Specification


             Design
                                                      Unit tests
           Specification




 19                                 Coding
                           HP / OSSI / Bruno Cornec
HP+Intel Solution Brief




21             HP / OSSI / Bruno Cornec
Multi platform packaging cycle



                                                  VMs/VEs/RMs

Developers


                                   UUWL             Packages



                                                  VM/VE/RM



  23   Packagers       HP / OSSI / Bruno Cornec
Q & A up to now ?




24         HP / OSSI / Bruno Cornec
DEMONSTRATION


25       HP / OSSI / Bruno Cornec
To be done
     LSB chroot support. (or not)
     LXC support
     Support for libvirt, virsh, openstack API
     Other CMS (Bazaar, …) only when/if needed
     Other VMs (VMWare, Xen, ...) only when/if needed
     Multiple delivery means
     Look at interactions with Buildbot
     Add non-interactive signature support for .deb
     Config-Model for configuration file management
     REST API and Web Interface
26                           HP / OSSI / Bruno Cornec
Learn Project-Builder.org

     Start with the Lab (63 pages)
     Use man (pb, pb.conf + 8
     ProjectBuilder::* man pages)
     Use the mailing-list pb-announce
     and pb-devel at
     http://www.mondorescue.org/sympa

     Use examples from
     http://trac.project-builder.org/browser/projects/




27                                           HP / OSSI / Bruno Cornec
Web Resources
Project-Builder Web site / Trac / Wiki:
●
      http://www.project-builder.org
●
      http://trac.project-builder.org


Projects using project-builder.org:
 ●
      http://www.project-builder.org (of course :-)
 ●
      http://www.mondorescue.org
 ●
      Http://www.linuxcoe.org
 ●
      http://www.fossology.org
 ●
      http://kde-apps.org/content/show.php/Meganizer?content=129907


 28                               HP / OSSI / Bruno Cornec
Related tools
Project-Builder is mostly suited for upstream projects wanting to package their
applications

Distributions provide each their build tools
   ● SuSE: Open Build Service (Multi distro, Web based, BaaS)
   ● Fedora (Koji)
   ● Mandriva/Mageia (Youri, mdvsys, mgarepo...)


Other complementary tools:
   ● Buildbot
   ● KVM/QEMU
   ● rpmbootstrap, rinse, mock
   ● Parallel::ForkManager, DBI, DB::SQLite, File::MimeInfo, Mail::Sendmail


Project-Builder.org is one of the tool of the vcs-pkg.org initiative.



 29                              HP / OSSI / Bruno Cornec
Bruno_Cornec@hp.com


         Contact
                                                          (Linux Solution Consultant in the HP/Intel
                                                                       Solution Center)
                                                                  http://www.hp.com/linux


     ”Changes are never easy to make.
     There is comfort and safety in
     tradition, but change must come,
     no matter how painful or expensive
     it may be.”
                             Bill Hewlett                     Linus Torvalds, Richard Stallman, Eric
                                                               Raymond, Nat Makarevitch, René
                                                           Cougnenc, Eric Dumas, Rémy Card, Bdale

            Thanks                                          Garbee, Bryan Gartner, Gallig Renaud,
                                                           Joachim Langenbach among others, for
                                                             their work and devotion to the Open
                                                           Source Software cause... and my family
           Open Source at HP                                          for his patience :-)
       http://opensource.hp.com
30                             HP / OSSI / Bruno Cornec

Weitere ähnliche Inhalte

Was ist angesagt?

Start your adventure with docker
Start your adventure with dockerStart your adventure with docker
Start your adventure with dockerSagar Dash
 
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...Yogesh Wadile
 
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Docker Intro at the Google Developer Group and Google Cloud Platform Meet UpDocker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Docker Intro at the Google Developer Group and Google Cloud Platform Meet UpJérôme Petazzoni
 
Docker engine - Indroduc
Docker engine - IndroducDocker engine - Indroduc
Docker engine - IndroducAl Gifari
 
Docker for developers
Docker for developersDocker for developers
Docker for developersandrzejsydor
 
Docker introduction
Docker introductionDocker introduction
Docker introductiondotCloud
 
Be a Happier Developer with Docker: Tricks of the Trade
Be a Happier Developer with Docker: Tricks of the TradeBe a Happier Developer with Docker: Tricks of the Trade
Be a Happier Developer with Docker: Tricks of the TradeDocker, Inc.
 
Intro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and WindowsIntro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and WindowsThomas Chacko
 
DockerCon Keynote Ben Golub
DockerCon Keynote Ben GolubDockerCon Keynote Ben Golub
DockerCon Keynote Ben GolubdotCloud
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Jonas Rosland
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionSparkbit
 
Ruby and Docker on Rails
Ruby and Docker on RailsRuby and Docker on Rails
Ruby and Docker on RailsMuriel Salvan
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAlan Forbes
 

Was ist angesagt? (20)

Docker
DockerDocker
Docker
 
Start your adventure with docker
Start your adventure with dockerStart your adventure with docker
Start your adventure with docker
 
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Docker Intro at the Google Developer Group and Google Cloud Platform Meet UpDocker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
 
Docker basics
Docker basicsDocker basics
Docker basics
 
Docker engine - Indroduc
Docker engine - IndroducDocker engine - Indroduc
Docker engine - Indroduc
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Be a Happier Developer with Docker: Tricks of the Trade
Be a Happier Developer with Docker: Tricks of the TradeBe a Happier Developer with Docker: Tricks of the Trade
Be a Happier Developer with Docker: Tricks of the Trade
 
Docker - introduction
Docker - introductionDocker - introduction
Docker - introduction
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Intro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and WindowsIntro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and Windows
 
DockerCon Keynote Ben Golub
DockerCon Keynote Ben GolubDockerCon Keynote Ben Golub
DockerCon Keynote Ben Golub
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Ruby and Docker on Rails
Ruby and Docker on RailsRuby and Docker on Rails
Ruby and Docker on Rails
 
docker
dockerdocker
docker
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker Intro
Docker IntroDocker Intro
Docker Intro
 

Ähnlich wie Project-Builder.org presentation

Project-Builder.org Presentation
Project-Builder.org PresentationProject-Builder.org Presentation
Project-Builder.org Presentationguestdd2966
 
LCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentationLCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentationBruno Cornec
 
Practical Introduction To Linux
Practical Introduction To LinuxPractical Introduction To Linux
Practical Introduction To LinuxZeeshan Rizvi
 
Using containers and Continuous Packaging to Build native FOSSology packages
Using containers and Continuous Packaging to Build native FOSSology packagesUsing containers and Continuous Packaging to Build native FOSSology packages
Using containers and Continuous Packaging to Build native FOSSology packagesBruno Cornec
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014Carlo Bonamico
 
Lessons Learned Building a Container App Library
Lessons Learned Building a Container App LibraryLessons Learned Building a Container App Library
Lessons Learned Building a Container App LibraryAdnan Abdulhussein
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...Codemotion
 
Scaleable PHP Applications in Kubernetes
Scaleable PHP Applications in KubernetesScaleable PHP Applications in Kubernetes
Scaleable PHP Applications in KubernetesRobert Lemke
 
4 implementation
4 implementation4 implementation
4 implementationhanmya
 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Partner S.A.
 
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...Andreas Jakl
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Arun prasath
 
Continuous Packaging is also Mandatory for DevOps
Continuous Packaging is also Mandatory for DevOpsContinuous Packaging is also Mandatory for DevOps
Continuous Packaging is also Mandatory for DevOpsDocker, Inc.
 
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copyLinux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copyBoden Russell
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy Systemadrian_nye
 

Ähnlich wie Project-Builder.org presentation (20)

Project-Builder.org Presentation
Project-Builder.org PresentationProject-Builder.org Presentation
Project-Builder.org Presentation
 
LCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentationLCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentation
 
Practical Introduction To Linux
Practical Introduction To LinuxPractical Introduction To Linux
Practical Introduction To Linux
 
Using containers and Continuous Packaging to Build native FOSSology packages
Using containers and Continuous Packaging to Build native FOSSology packagesUsing containers and Continuous Packaging to Build native FOSSology packages
Using containers and Continuous Packaging to Build native FOSSology packages
 
Building For Mer
Building For MerBuilding For Mer
Building For Mer
 
LFCOLLAB15: Xen 4.5 and Beyond
LFCOLLAB15: Xen 4.5 and BeyondLFCOLLAB15: Xen 4.5 and Beyond
LFCOLLAB15: Xen 4.5 and Beyond
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
 
Lessons Learned Building a Container App Library
Lessons Learned Building a Container App LibraryLessons Learned Building a Container App Library
Lessons Learned Building a Container App Library
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
 
Scaleable PHP Applications in Kubernetes
Scaleable PHP Applications in KubernetesScaleable PHP Applications in Kubernetes
Scaleable PHP Applications in Kubernetes
 
OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training
 
4 implementation
4 implementation4 implementation
4 implementation
 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: Introduction
 
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...
 
Docker-v3.pdf
Docker-v3.pdfDocker-v3.pdf
Docker-v3.pdf
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
Continuous Packaging is also Mandatory for DevOps
Continuous Packaging is also Mandatory for DevOpsContinuous Packaging is also Mandatory for DevOps
Continuous Packaging is also Mandatory for DevOps
 
How to compile a kernel suse 2
How to compile a kernel   suse 2How to compile a kernel   suse 2
How to compile a kernel suse 2
 
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copyLinux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
 

Mehr von Bruno Cornec

Diaporama-2023.pdf
Diaporama-2023.pdfDiaporama-2023.pdf
Diaporama-2023.pdfBruno Cornec
 
Concert Amicus Meus 2023
Concert Amicus Meus 2023Concert Amicus Meus 2023
Concert Amicus Meus 2023Bruno Cornec
 
intro-linux-v4.pdf
intro-linux-v4.pdfintro-linux-v4.pdf
intro-linux-v4.pdfBruno Cornec
 
Diaporama Exultate 2022
Diaporama Exultate 2022Diaporama Exultate 2022
Diaporama Exultate 2022Bruno Cornec
 
Diaporama-2021.pdf
Diaporama-2021.pdfDiaporama-2021.pdf
Diaporama-2021.pdfBruno Cornec
 
Introduction à Linux et aux logiciels libres
Introduction à Linux et aux logiciels libresIntroduction à Linux et aux logiciels libres
Introduction à Linux et aux logiciels libresBruno Cornec
 
Diaporama Variations 2019
Diaporama Variations 2019Diaporama Variations 2019
Diaporama Variations 2019Bruno Cornec
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishBruno Cornec
 
Diaporama Exultate 2019
Diaporama Exultate 2019Diaporama Exultate 2019
Diaporama Exultate 2019Bruno Cornec
 
Diaporama Exultate 2018
Diaporama Exultate 2018Diaporama Exultate 2018
Diaporama Exultate 2018Bruno Cornec
 
Diaporama Exultate 2017
Diaporama Exultate 2017Diaporama Exultate 2017
Diaporama Exultate 2017Bruno Cornec
 
Diaporama 2018 Guerre de 100 ans
Diaporama 2018 Guerre de 100 ansDiaporama 2018 Guerre de 100 ans
Diaporama 2018 Guerre de 100 ansBruno Cornec
 
Introduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxIntroduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxBruno Cornec
 
Diaporama 2011 Musique pour la Vierge
Diaporama 2011 Musique pour la ViergeDiaporama 2011 Musique pour la Vierge
Diaporama 2011 Musique pour la ViergeBruno Cornec
 
Diaporama 2012 Musique polychorale
Diaporama 2012 Musique polychoraleDiaporama 2012 Musique polychorale
Diaporama 2012 Musique polychoraleBruno Cornec
 
Diaporama 2016 Musique Allemande
Diaporama 2016 Musique AllemandeDiaporama 2016 Musique Allemande
Diaporama 2016 Musique AllemandeBruno Cornec
 
Diaporama 2015 François Ier
Diaporama 2015 François IerDiaporama 2015 François Ier
Diaporama 2015 François IerBruno Cornec
 
Guide Open Source Syntec Numérique
Guide Open Source Syntec NumériqueGuide Open Source Syntec Numérique
Guide Open Source Syntec NumériqueBruno Cornec
 
Redfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureRedfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureBruno Cornec
 

Mehr von Bruno Cornec (20)

Diaporama-TMG.pdf
Diaporama-TMG.pdfDiaporama-TMG.pdf
Diaporama-TMG.pdf
 
Diaporama-2023.pdf
Diaporama-2023.pdfDiaporama-2023.pdf
Diaporama-2023.pdf
 
Concert Amicus Meus 2023
Concert Amicus Meus 2023Concert Amicus Meus 2023
Concert Amicus Meus 2023
 
intro-linux-v4.pdf
intro-linux-v4.pdfintro-linux-v4.pdf
intro-linux-v4.pdf
 
Diaporama Exultate 2022
Diaporama Exultate 2022Diaporama Exultate 2022
Diaporama Exultate 2022
 
Diaporama-2021.pdf
Diaporama-2021.pdfDiaporama-2021.pdf
Diaporama-2021.pdf
 
Introduction à Linux et aux logiciels libres
Introduction à Linux et aux logiciels libresIntroduction à Linux et aux logiciels libres
Introduction à Linux et aux logiciels libres
 
Diaporama Variations 2019
Diaporama Variations 2019Diaporama Variations 2019
Diaporama Variations 2019
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live Redfish
 
Diaporama Exultate 2019
Diaporama Exultate 2019Diaporama Exultate 2019
Diaporama Exultate 2019
 
Diaporama Exultate 2018
Diaporama Exultate 2018Diaporama Exultate 2018
Diaporama Exultate 2018
 
Diaporama Exultate 2017
Diaporama Exultate 2017Diaporama Exultate 2017
Diaporama Exultate 2017
 
Diaporama 2018 Guerre de 100 ans
Diaporama 2018 Guerre de 100 ansDiaporama 2018 Guerre de 100 ans
Diaporama 2018 Guerre de 100 ans
 
Introduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxIntroduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à Linux
 
Diaporama 2011 Musique pour la Vierge
Diaporama 2011 Musique pour la ViergeDiaporama 2011 Musique pour la Vierge
Diaporama 2011 Musique pour la Vierge
 
Diaporama 2012 Musique polychorale
Diaporama 2012 Musique polychoraleDiaporama 2012 Musique polychorale
Diaporama 2012 Musique polychorale
 
Diaporama 2016 Musique Allemande
Diaporama 2016 Musique AllemandeDiaporama 2016 Musique Allemande
Diaporama 2016 Musique Allemande
 
Diaporama 2015 François Ier
Diaporama 2015 François IerDiaporama 2015 François Ier
Diaporama 2015 François Ier
 
Guide Open Source Syntec Numérique
Guide Open Source Syntec NumériqueGuide Open Source Syntec Numérique
Guide Open Source Syntec Numérique
 
Redfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureRedfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined Infrastructure
 

Kürzlich hochgeladen

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 

Kürzlich hochgeladen (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 

Project-Builder.org presentation

  • 1. Project Builder: A GPL continuous packaging solution Bruno Cornec HP EMEA Open Source Profession Lead V2.0 April 2013
  • 2. Introducing Myself ● Software engineering and Unices since 1988 ● Mostly Configuration Management Systems (CMS), Build systems, quality tools, on multiple commercial Unix systems ● Discover Open Source & Linux (OSL) & first contributions in 1993 ● Full time on OSL since 1995, first as HP reseller then @HP ● Currently: ● Master Technology Architect on OSL for the HP/Intel Solution Center, Grenoble ● OSL HP Advocate ● EMEA OSL HP Profession Lead ● Solutions Linux Conference and OWF board member ● MondoRescue, Dploy.org, Project-Builder.org project lead ● LinuxCOE, mrepo, tellico, rinse, fossology, collectl contributor ● FOSSBazaar and OSL Governance enthusiast ● Mandriva, Mageia, Fedora packager 2 HP / OSSI / Bruno Cornec
  • 3. What is the problem ? Users / Sysadmins environment: >= 90% < 10% Users: easyness (GUI, CLI) Admins: distribution compliance, < 1% smooth integration – reduce admin load 3 HP / OSSI / Bruno Cornec
  • 4. What is the problem ? Developers environment: Sourceforge Flat Files ftp, web Project CMS/VCS autotools ? CVS Install proc ? Soft. Eng. ? SVN Fear of distro ? GIT, ... 4 HP / OSSI / Bruno Cornec
  • 5. What is the problem ? Packagers environment: Distro ftp, web Flat Files Package CMS/VCS Does s/he only exists ? CVS On time ? Lag behind ? rpmlint ? Distro coverage (ver, #) SVN lintian ? Beta avail ? GIT, ... 5 HP / OSSI / Bruno Cornec
  • 6. My answer with my various hats I'm a sysadmin so I want to deal with packages only (deployment server integration) I'm a developer so I want to ease my tests without screwing up my system and testing as a std user/admin I'm a software engineer and want no duplication of code nor information (metadata) I'm a a packager so I want to streamline that work for new projects I'm interested in packaging I'm the marketing department of my own project and use packages as a “competitive advantage” Founding no tool existing to help me doing all that (2005), so I started writing one to scratch my own itch 6 HP / OSSI / Bruno Cornec
  • 7. What is the solution ? Packaging should be a project concern as well as coding, testing, installing, .... especially for smaller projects New mantra: “Package early, package always” Use packaging as your only way of delivery (not a dream) Overhead minimal (not much longer than providing a tgz), maximum benefit (consistancy, reproduceability, team work improvement, distribution integration, improved deployment) Packaging is also a marketing activity based on a technical content. It's an easy way to extend your user base, and improve your community. Makes tests easy. THE SOLUTION IS CONTINUOUS PACKAGING 7 HP / OSSI / Bruno Cornec
  • 8. Cloud based Continuous Packaging Local Build Server (may host VMs and/or VEs) Packagers VM or VE Build Repository Build + Server metadata Local build Project RM Build Farm (may host VMs) Remote build Developers 9 HP / OSSI / Bruno Cornec
  • 9. Provisioning the Continuous Packaging Cloud Local Build Server (may host VMs and/or VEs) VM or VE Build Build + metadata Local build Repository Server Project RM Build Farm (may host VMs) Remote build 10 HP / OSSI / Bruno Cornec
  • 10. Goals Project-builder main goal is to help you package continuously being agnostic: CMS agnostic: no CMS but guys it's 21st century now, SVN, CVS, Mercurial, GIT, SVK.... OS agnostic: Linux: RPM, deb, ebuild, slack based, ... 120+ distro tuples at the moment – repositories for yum, urpmi, apt. Solaris pkg. HP-UX sd in progress Build environment agnostic: local, VM (QEMU, KVM...), VE (rpmbootstrap, rinse, mock, debootstrap...), RM (external build farm) No project impact: preserves the md5sum of the delivered upstream sources. Can be completely external to the upstream project. 11 HP / OSSI / Bruno Cornec
  • 11. Goodies Project-builder provides additional goodies: Easy VMs/VEs/RMs management Macro system with perl variables to avoid duplication Skeleton generation to help starting Manages delivery up to your repository (ssh based) Manages announces on mailing lists Integration of tests in the process Manages patches/additional sources when not upstream Checks validity of packages built (lintian, rpmlint) Easy creation of new versions for upstream management 13 HP / OSSI / Bruno Cornec
  • 12. VM, VE & RM Management VE Creation: debootstrap for .deb based ones. rpmbootstrap (modeled after debootstrap): create chroot for multiple RPM based distributions (Mageia, Fedora, Mandriva, CentOS, OpenSuSE) VM|RM Creation: KVM or QEMU iso install possibilities. LinuxCOE/OpenStack as provisioning tool for your VM|RM VM|VE|RM setup: adds pb tools and build account VM|VE Snapshot feature Building in VM|VE|RM == building locally (build2vm|ve|rm vs build2pkg). ssh communication for VM/RM 14 HP / OSSI / Bruno Cornec
  • 13. Metadata Management Packaging process independent of the project and external Metadata isolated - No duplication 15 HP / OSSI / Bruno Cornec
  • 14. Configuration file usage Macro example: ./rpmbootstrap/pbfilter/all.pbf:filter PBSUMMARY = rpmbootstrap is a tool similar to debootstrap for RPM based distributions ./rpmbootstrap/rpm/rpmbootstrap.spec:Summary: PBSUMMARY ./rpmbootstrap/deb/control:Description: PBSUMMARY ./rpmbootstrap/pkg/pkginfo:NAME="PBSUMMARY" Instantiation possible from distro-ver-arch, distro-ver, distro, distro- family, distro-type, os Similar approach for all other parameters (Cf: man pb.conf) 16 HP / OSSI / Bruno Cornec
  • 15. Commands [cms|sbx]2build: Create tar files for the project under your CMS. Parameters are packages to build if not using default list build2pkg: Create packages for your running distribution build2ssh: Send the tar files to a SSH host pkg2ssh: Send the packages built to a SSH host build2vm|ve|rm: Create packages in VMs/VEs/RMs, launching them if needed and send those packages to a SSH host once built launchvm: Launch one virtual machine script2vm|ve|rm: Launch a VM/VE/RM if needed and executes a script on it test2vm|ve|rm: Test inside a VM/VE/RM newvm|ve: Create a new VM/VE/RM setupvm|ve|rm: Setup a VM/VE/RM for pb usage newver: Create a new version of the project derived from the current one newproj: Create a new project and a template set of configuration files under pbconf 17 HP / OSSI / Bruno Cornec
  • 16. The Big picture Packagers newver / newproj newvm|ve / setupvm|ve|rm Packaging build2vm|ve|rm cms|sbx2build Project Building Packages build2pkg pkg2ssh build2ssh Developers 18 HP / OSSI / Bruno Cornec
  • 17. Multi platform life cycle User Requirements Validation Functional Integration tests Specification Design Unit tests Specification 19 Coding HP / OSSI / Bruno Cornec
  • 18. HP+Intel Solution Brief 21 HP / OSSI / Bruno Cornec
  • 19. Multi platform packaging cycle VMs/VEs/RMs Developers UUWL Packages VM/VE/RM 23 Packagers HP / OSSI / Bruno Cornec
  • 20. Q & A up to now ? 24 HP / OSSI / Bruno Cornec
  • 21. DEMONSTRATION 25 HP / OSSI / Bruno Cornec
  • 22. To be done LSB chroot support. (or not) LXC support Support for libvirt, virsh, openstack API Other CMS (Bazaar, …) only when/if needed Other VMs (VMWare, Xen, ...) only when/if needed Multiple delivery means Look at interactions with Buildbot Add non-interactive signature support for .deb Config-Model for configuration file management REST API and Web Interface 26 HP / OSSI / Bruno Cornec
  • 23. Learn Project-Builder.org Start with the Lab (63 pages) Use man (pb, pb.conf + 8 ProjectBuilder::* man pages) Use the mailing-list pb-announce and pb-devel at http://www.mondorescue.org/sympa Use examples from http://trac.project-builder.org/browser/projects/ 27 HP / OSSI / Bruno Cornec
  • 24. Web Resources Project-Builder Web site / Trac / Wiki: ● http://www.project-builder.org ● http://trac.project-builder.org Projects using project-builder.org: ● http://www.project-builder.org (of course :-) ● http://www.mondorescue.org ● Http://www.linuxcoe.org ● http://www.fossology.org ● http://kde-apps.org/content/show.php/Meganizer?content=129907 28 HP / OSSI / Bruno Cornec
  • 25. Related tools Project-Builder is mostly suited for upstream projects wanting to package their applications Distributions provide each their build tools ● SuSE: Open Build Service (Multi distro, Web based, BaaS) ● Fedora (Koji) ● Mandriva/Mageia (Youri, mdvsys, mgarepo...) Other complementary tools: ● Buildbot ● KVM/QEMU ● rpmbootstrap, rinse, mock ● Parallel::ForkManager, DBI, DB::SQLite, File::MimeInfo, Mail::Sendmail Project-Builder.org is one of the tool of the vcs-pkg.org initiative. 29 HP / OSSI / Bruno Cornec
  • 26. Bruno_Cornec@hp.com Contact (Linux Solution Consultant in the HP/Intel Solution Center) http://www.hp.com/linux ”Changes are never easy to make. There is comfort and safety in tradition, but change must come, no matter how painful or expensive it may be.” Bill Hewlett Linus Torvalds, Richard Stallman, Eric Raymond, Nat Makarevitch, René Cougnenc, Eric Dumas, Rémy Card, Bdale Thanks Garbee, Bryan Gartner, Gallig Renaud, Joachim Langenbach among others, for their work and devotion to the Open Source Software cause... and my family Open Source at HP for his patience :-) http://opensource.hp.com 30 HP / OSSI / Bruno Cornec