summaryrefslogtreecommitdiff
path: root/doc/source/buildproject.rst
blob: 57d82a495e225de2e9daed795de6022846f47962 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
.. _buildproject:

Building a basic project
====

This section assumes you have installed BuildStream already.

If not, go to :ref:`installing`

Or :ref:`docker`


Setup
----

If using docker, run::

  bst-here

in the directory you want to use

----

This example will be using `gnome-modulesets`, but this will apply to any buildable repo

Download or clone `gnome-Modulesets  <http://gnome7.codethink.co.uk/gnome-modulesets.git/>`_

Then move into the repo

Building
----

Find the .bst file that you want to build

In this case, we will be using `gedit.bst` from elements/core

from the root of the project repo run:

    ``bst`` :ref:`invoking_build` ``core/gedit.bst``

This will try to build the project.

In this case, Gedit uses "autotools", so will therefore run:

* `autoreconf;`
* `./configure;`
* `make;`
* `make install`

BuildStream will run the commands needed to build each plugin in the same way the user would.

This removes the need for the user to type dozens of different commands if using multiple build files

----

If you get an error requesting the use of ``bst track``

This occurs when a ref has not been provided for an element source.

This means that BuildStream does not know where to look to download something.

``bst`` :ref:`invoking_track` resolves this issue by checking for the latest commit on the branch provided in the source of the file.

There are 2 main ways of resolving this:

1: run ``bst`` :ref:`invoking_track` `` [element]

Where element is the element listed in the error message

2: run: ``bst`` :ref:`invoking_track` ``--deps all core/gedit.bst``

This command will go through each element and repeat the process of tracking them.

After tracking all untracked elements, run the build command again and this time it should succeed.