Project-Builder.org




                                                          Project Builder:
                       ...
Project-Builder.org
                 Introducting myself
     Software engineering and Unices since 1988
                 ...
Project-Builder.org
                 What is the problem ?

         Users / Sysadmins environment:


                    ...
Project-Builder.org
                 What is the problem ?

         Developers environment:


                           ...
Project-Builder.org
                 What is the problem ?

         Packagers environment:

                             ...
Project-Builder.org
                 What is the solution ?


         Packaging should be a project concern as well as co...
Project-Builder.org
                   Multi platform life cycle




 User Requirements                                   ...
Project-Builder.org
                 My answer

         I'm a sysadmin so I want to deal with packages only
         (dep...
Project-Builder.org
                 Goals

         Project-builder main goal is to help you package
         continuousl...
Project-Builder.org
                  Multi platform development cycle


                                          .o .o ....
Project-Builder.org
                 Goodies

         Project-builder provides additional goodies:
             Set of ex...
Project-Builder.org
                 Architecture

                          ftp/ssh/nfs
                             serv...
Project-Builder.org
                 The Big picture


Packagers                                                          ...
Project-Builder.org
                 Commands
    cms2build: Create tar files for the project under your CMS. CMS supporte...
Project-Builder.org
                   Multi platform packaging cycle



                                                 ...
Project-Builder.org
                 To be done


         More Tests on VEs (mock, debootstrap to be done, rinse
        ...
Project-Builder.org


    Web                                                  Project-Builder Trac / Wiki
               ...
Project-Builder.org

                                                                     Bruno_Cornec@hp.com


          ...
Project-Builder.org
                 History

         V0.1-v0.4: script shells – linked to mondorescue – Usage
         o...
Upcoming SlideShare
Loading in …5
×

Project-Builder.org Presentation

894 views

Published on

Project-Builder.org is a new GPL v2 tool designed to help projects developers producing easily packages for multiple OS and architectures, on a regular basis, from a single source repository.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
894
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Project-Builder.org Presentation

  1. 1. Project-Builder.org Project Builder: A GPL continuous packaging solution Bruno Cornec Open Source and Linux Profession EMEA Lead © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 1
  2. 2. Project-Builder.org Introducting 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: Technology Architect on OSL for the HP/Intel Solution Center, Grenoble OSL HP Ambassador EMEA OSL HP Profession Lead Solutions Linux Conference board member MondoRescue, Dploy.org, Project-Builder.org project lead LinuxCOE, mrepo, tellico, rinse, fossology contributor Mandriva, Fedora packager © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 2
  3. 3. Project-Builder.org What is the problem ? Users / Sysadmins environment: >= 90% < 10% Users: easyness (GUI, CLI) Admins: distribution compliance, < 1% smooth integration – reduce admin load © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 3
  4. 4. Project-Builder.org What is the problem ? Developers environment: Flat Files Sourceforge ftp, web Project autotools ? CVS Install proc ? Soft. Eng. ? CMS SVN Fear of distro ? GIT, ... © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 4
  5. 5. Project-Builder.org What is the problem ? Packagers environment: Distro ftp, web Flat Files Package Does s/he only exists ? CVS On time ? Lag behind ? CMS SVN rpmlint ? Distro coverage (ver, #) lintian ? Beta avail ? GIT, ... © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 5
  6. 6. Project-Builder.org What is the solution ? Packaging should be a project concern as well as coding, testing, installing, .... especially for smaller projects 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 in fact 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 © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 6
  7. 7. Project-Builder.org Multi platform life cycle User Requirements Validation Functional Integration tests Specification Design Unit tests Specification Coding © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 7
  8. 8. Project-Builder.org My answer 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 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” I'm a software engineer and want no duplication of code nor information (metadata) Founding no tool existing to help me doing all that, so I started writing one to scratch my own itch © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 8
  9. 9. Project-Builder.org 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, ... 60+ distros at the moment – repositories for yum, urpmi, apt. Solaris pkg. Build environment agnostic: local, VM (QEMU, KVM...), VE (rinse, mock, debootstrap...) No project impact (preserves the md5sum of the delivered upstream sources). Can be completely external. © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 9
  10. 10. Project-Builder.org Multi platform development cycle .o .o .o .o .o .o .o < 5% SSPK .a 90+% .o .o .o .o .o .o SLPK .a < 10% .o .o .o .o .o .o .o .o © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 10
  11. 11. Project-Builder.org Goodies Project-builder provides additional goodies: Set of existing VMs/VEs or easy to recreate Macro system with perl variables to avoid duplication Skeleton generation to help starting Manages delivery up to your ftp server (ssh based) Manages announces on mailing lists May use snapshot features of VMs/VEs Integration of tests in the process Manages patches when not upstream Checks validity of packages built (lintian, rpmlint) Easy creation of new versions for upstream management © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 11
  12. 12. Project-Builder.org Architecture ftp/ssh/nfs server mail server 2 upstream Web/ftp server ebuild 2 upstream CMS repository 5 2 CHROOT upstream file/dir 4 1 pbconf Web/ftp server 3 1 pbconf local packaging CMS repository & test system project-builder.org 1 pbconf file/dir © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 12
  13. 13. Project-Builder.org The Big picture Packagers newvm / setupvm newver / newproj build2vm cms2build Packages Project pkg2ssh build2pkg Developers build2ssh © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 13
  14. 14. Project-Builder.org Commands cms2build: Create tar files for the project under your CMS. CMS supported are SVN and CVS 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, build2ve: Create packages in VMs/VEs, launching them if needed and send those packages to a SSH host once built launchvm: Launch one virtual machine script2vm, script2ve: Launch a VM/VE if needed and executes a script on it test2vm, test2ve: Test inside a VM/VE newvm, newve: Create a new virtual machine setupvm, setupve: Setup a virtual machine 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 © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 14
  15. 15. Project-Builder.org Multi platform packaging cycle VMs/VEs Developers Packages VM/VE Packagers © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 15
  16. 16. Project-Builder.org To be done More Tests on VEs (mock, debootstrap to be done, rinse OK + patches) LSB chroot support. Support for libvirt, virsh Other CMS (Bazaar, …) only when/if needed Other VMs (VMWare, Xen, ...) only when/if needed Multiple delivery means Look at interactions with Buildbot Add signature support Create a reference documentation Config-Model for configuration file management © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 16
  17. 17. Project-Builder.org Web Project-Builder Trac / Wiki http://trac.project-builder.org Resources Open Source at HP http://opensource.hp.com Other tools: SuSE/Fedora/Mandriva Build Systems, Buildbot, vcs-pkg.org “The evolution of FLOSS and the Internet are tightly coupled” © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 17
  18. 18. Project-Builder.org 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.” Linus Torvalds, Richard Bill Hewlett Stallman, Eric Raymond, Nat Makarevitch, René Cougnenc, Eric Dumas, Rémy Card, Bdale Thanks Garbee, Hugo Rabson, Gallig Renaud, Andree Leidenfrost among others, for their work and devotion to the Open Source Software cause... and my family for his patience :-) © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 18
  19. 19. Project-Builder.org History V0.1-v0.4: script shells – linked to mondorescue – Usage of QEMU to generate cross distros packages V0.5 (08/2007): rewritten in perl, keeping the principles, independent of the project – pbconf in the project – filtering support with macros – PoC state V0.6: support multiple versions, perl conventions V0.7: perl env var substitution in conf files for macros – first usage for mondorescue and itself including VM. V0.8: functionaly similar to the original scripts (except ML, announces, ...). Multi CMS support. Trac BR. Removes AppConfig dep V0.9: re-architectured for no project impact (pbconf outside of project, multi-conf file support, CMS independance, VM/VE, separate tar files for build info...) © Bruno Cornec / HP - Document under/sous CC 3.0 by SA Date : 02/06/2010 Page 19

×