README 2.89 KB
Newer Older
1 2 3 4 5
***********
Description
***********

cerbero is a multi-platform build system for Open Source projects that builds
6
and creates native packages for different platforms, architectures and distributions.
7 8 9 10 11 12 13 14 15 16 17

Projects are defined using recipes files (.recipe), which provides a description
of the project being built such as name, version, licenses, sources and the way
it's built. It also provide listing of files, which is later used for the packaging.

Packages are defined using packages files (.package), describing the package name,
version, license, maintainer and other fields used to create the packages. A
package wraps a list of recipes, from which the list of files belonging to the
package will be extracted.


Andoni Morales Alastruey's avatar
Andoni Morales Alastruey committed
18
********************
19
Minimum Requirements
Andoni Morales Alastruey's avatar
Andoni Morales Alastruey committed
20
********************
21 22 23 24 25 26

cerbero provides bootstrapping facilities for all platforms, but it still needs a
minimum base to bootstrap

Linux
-----
Andoni Morales Alastruey's avatar
Andoni Morales Alastruey committed
27
On linux, you will only need a distribution with python >= 2.6 and python's argparse module,
28 29 30 31
which is already included in python2.7

OSX
---
Andoni Morales Alastruey's avatar
Andoni Morales Alastruey committed
32
On OSX you will need to have XCode installed and macports (used to install pkg-config)
33 34 35 36 37 38

Windows
-------
The initial setup on Windows is little bit longer, but only a few programs are required.
  * Python2.7: http://www.python.org/getit/releases/2.7/
  * Git: http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git
39
    IMPORTANT: Select the install option "Checkout as-is, Commit as-is"
40
  * Msys/MinGW: https://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/
Andoni Morales Alastruey's avatar
Andoni Morales Alastruey committed
41 42 43
    Install it with all the options enabled
  * CMake: http://www.cmake.org/cmake/resources/software.html
    Select the option "Add CMake in system path for the current user"
44
  * Yasm: http://yasm.tortall.net/Download.html
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

cerbero must be run in the MingGW shell, which is accessible from the main menu
The last step is making python and git available from the shell, for which you will need
to create a .profile file.
  $ echo "export PATH=\"\$PATH:/c/Python27:/c/Git/bin\"" > ~/.profile

Note that in side the shell, / is mapped to c:\Mingw\msys\1.0\


*****
Usage
*****

Bootstrap
---------
Andoni Morales Alastruey's avatar
Andoni Morales Alastruey committed
60
Before using cerbero for the first time, you will need to run the bootstrap command.
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
This command installs the missing parts of the build system using the packages manager
when available.
  $ cerbero bootstrap

Help
----
  $ cerbero --help

List available recipes
----------------------
  $ cerbero list

List available packages
-----------------------
  $ cerbero list-packages

Build a recipe
--------------
  $ cerbero build gtk+

Rebuild a single recipe
-----------------------
  $ cerbero buildone gtk+

Clean a recipe
--------------
  $ cerbero cleanone gtk+

Create a package
----------------
  $ cerbero package gstreamer-sdk


*******
Andoni Morales Alastruey's avatar
Andoni Morales Alastruey committed
95
License
96 97 98 99 100 101 102 103 104 105 106
*******

cerbero is released under the GNU Lesser General Public License, Version 2.1 (LGPLv2.1)


************
Dependencies
************

 * python >= 2.6
 * python-argparse