README 3.92 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
-----
Xavier Claessens's avatar
Xavier Claessens committed
27
On linux, you will only need a distribution with python >= 3.4.
28 29 30

OSX
---
31 32
On OSX you will need to have install the following software:
  * XCode
Xavier Claessens's avatar
Xavier Claessens committed
33
  * python3 https://www.python.org/downloads/
34 35 36

Windows
-------
37
The initial setup on Windows is a little bit longer, but only a few programs are required.
Xavier Claessens's avatar
Xavier Claessens committed
38
  * Python3: https://www.python.org/downloads/
39 40 41 42 43
  * CMake: http://www.cmake.org/cmake/resources/software.html
  * Git: http://git-scm.com/download/win
     IMPORTANT: Select the install option "Checkout as-is, Commit as-is"
  * Msys/MinGW: http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download
     Install it with all the options enabled
44
  * WiX 3.5: http://wix.codeplex.com/releases/view/60102
45

46 47
The Direct Show plugins still needs to be built using Microsoft's compiler and their SDK,
due to the dependency on the Direct Show base classes.
48
You need to install the following software:
49
  * Microsoft SDK 7.1: http://www.microsoft.com/en-us/download/details.aspx?id=8279
50 51
  * Windows Driver Kit 7.1.0: http://msdn.microsoft.com/en-us/windows/hardware/hh852365

52 53 54 55
cerbero must be run in the MingGW shell, which is accessible from the main menu or desktop 
(if it is not, go to Mingw Installation manager, select MSYS Base Development and install
msys-bash  lnk).

Xavier Claessens's avatar
Xavier Claessens committed
56 57 58 59
The path to your $HOME must not contain spaces. If your windows username
contains spaces, you can create a new directory in /home and execute:
$ echo 'export HOME=/home/newdir' > ~/.profile
Then restart your shell and type 'cd' to go to the new home directory.
60 61

Note that inside the shell, / is mapped to c:\Mingw\msys\1.0\
62 63 64 65 66

*****
Usage
*****

67 68 69 70 71 72 73
Despite the presence of setup.py this tool does not need installation. It is invoked via the
cerbero-uninstalled script, which should be invoked as ./cerbero-uninstalled, or you can add 
the cerbero directory in your path and invoke it as cerbero-uninstalled.

The examples below assume the tool is in your PATH; if not, just remember to use ./cerbero-uninstalled
instead of cerbero-uninstalled.

Xavier Claessens's avatar
Xavier Claessens committed
74 75
On Windows it should be invoked as "python ./cerbero-uninstalled".

76 77
Bootstrap
---------
Andoni Morales Alastruey's avatar
Andoni Morales Alastruey committed
78
Before using cerbero for the first time, you will need to run the bootstrap command.
79
This command installs the missing parts of the build system using the packages manager
80 81
when available. Note that this will take a while (a couple hours or even more).
  $ cerbero-uninstalled bootstrap
82 83 84

Help
----
85
  $ cerbero-uninstalled --help
86 87 88

List available recipes
----------------------
89
  $ cerbero-uninstalled list
90 91 92

List available packages
-----------------------
93
  $ cerbero-uninstalled list-packages
94 95 96

Build a recipe
--------------
97
  $ cerbero-uninstalled build gtk+
98 99 100

Rebuild a single recipe
-----------------------
101
  $ cerbero-uninstalled buildone gtk+
102 103 104

Clean a recipe
--------------
105
  $ cerbero-uninstalled cleanone gtk+
106

107
Create a package (this automatically invokes build)
108
----------------
109
  $ cerbero-uninstalled package gstreamer-1.0
110 111 112


*******
Andoni Morales Alastruey's avatar
Andoni Morales Alastruey committed
113
License
114 115 116 117 118 119 120 121 122
*******

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


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

Xavier Claessens's avatar
Xavier Claessens committed
123
 * python 3.4