= Welcome to Project-Builder Wiki = Project-Builder.org aims to provide support to the "Continuous Packaging" approach. The mantra is "Package early, package often". Project-Builder.org is a tool that helps you build packages for your application (provided as tar file, or through a configuration management system such as CVS, Subversion, Mercurial, or Git). It is able to generate build package skeleton for your project, and with simple configuration files to generate for up to 50 different tuples of distributions (name, version, architecture), including Fedora, Mandriva, OpenSuSE, Debian, Ubuntu, Gentoo, Slackware. It provides a macro system to help you keep common what needs to stay common between distributions, and helps you build Virtual Machines (VMs) (QEMU, KVM) or Virtual environments (VEs) (chroot, rinse) easily to create native packages for the distributions you want to support. = Design Ideas around the project-builder.org project = Since 2005 that I took over the maintenance of the [http://www.mondorescue.org MondoRescue] project, I have passed time developing code on the periphery of the project to allow me to easily build packages from Subversion, deliver them, manage them, ... I met a lot of Open Source project which are suffering from the same barrier for their adoption as mondo suffered in the past: without native packaging for your distribution you have much less people testing your software, trying it, less chance to be integrated in distributions, ... Then I wanted to also work on another project called [http://trac.dploy.org dploy.org] which uses the great [http://www.LinuxCOE.org LinuxCOE]. However that LinuxCOE project had exactly the same issue as previously mentioned, no packaging, only installs from CVS or tarballs, so smaller community. And in order for me to put something on a production server, I want it packaged :-) So I decided it could be a good idea to reuse the scripts made for mondo to package LinuxCOE. However, they were too specific, even if the ideas could be reused (that was my 3rd generation of build scripts, so ideas were more advanced than the code). And thus was project-builder.org born ! = Technical ideas around the project-builder.org (aka pb) project = * use perl. It makes coding so much more efficient, powerful and also fun * make it independant from the CMS (flat, CVS, SVN, Mercurial, more to come), the VM (QEMU, more to come) or chroot (mock, rinse, pbuilder), the type of distro (RPM based, deb based, ebuild based, ...) * Reuse other Open Source Projects to help create a fully integrated build system, tacking in account building in parallel on various types of systems (virtual, physical, ...) = Getting Project-Builder.org = * Latest versions are available at ftp://ftp.project-builder.org/src/project-builder-0.9.7.1.tar.gz and ftp://ftp.project-builder.org/src/ProjectBuilder-0.9.7.1.tar.gz Packages are also available for multiple distributions from ftp://ftp.project-builder.org/ * Latest development version is availble from the Subversion repository by doing svn co svn://svn.project-builder.org/pb = Documentation = * [wiki:FAQ] * The latest presentation of the project is available at http://trac.project-builder.org/browser/devel/pb-doc/pb-presentation.odp = Examples of Project-Builder usage = * NetPerfExample: Simple example with netperf (pb 0.9.7.1). Also Cf: http://trac.project-builder.org/browser/projects/netperf * BufferExample: Another example with the buffer project (pb 0.9.5). Also Cf: http://trac.project-builder.org/browser/projects/buffer * LinuxCoeExample: More complex example with LinuxCOE using CVS (pb 0.9.5). Also Cf: http://trac.project-builder.org/browser/projects/linuxcoe * MondoRescueExample: More complex example with MondoRescue using SVN. lso Cf: http://trac.project-builder.org/browser/projects/mondorescue * [wiki:Bootstrapping]: How do I get started. = Other pages of interest = * [wiki:Communication Communications around Project-Builder] * The [http://vcs-pkg.org/ VCS-Pkg] initiative * [http://www.mancoosi.org/edos/packages.html Package format] comparison by the [EDOS] project * [http://svn.rpmforge.net/svn/trunk/tools/dar/dar-perl.py dar-perl]: python script to generate .spec file for perl modules * [http://www.xen-tools.org/software/rinse rinse]: installing minimal copies of RPM-based distributions. * [http://pwet.fr/man/linux/commandes/schroot schroot]: securely enter a chroot environment ([http://www.nikhef.nl/~dennisvd/schroot.html Example] for CentOS). * [http://createrepo.baseurl.org/ createrepo]: tool to create a yum repository * [http://dev.linuxfoundation.org/download/ LSB] chroot compliant download. = Concerning trac = * TracGuide -- Built-in Documentation * [http://projects.edgewall.com/trac/ The Trac project] -- Trac Open Source Project * [http://projects.edgewall.com/trac/wiki/TracFaq Trac FAQ] -- Frequently Asked Questions * TracSupport -- Trac Support For a complete list of local wiki pages, see TitleIndex. Trac is brought to you by [http://www.edgewall.com/ Edgewall Software], providing professional Linux and software development services to clients worldwide. Visit http://www.edgewall.com/ for more information.