summaryrefslogtreecommitdiff
path: root/templates/pages/development.mako
blob: d0698484dc17dae2a0c38e2537e93b5f516e5a08 (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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<%!
    title = "Development"
    uses_toc = True
%>
<%inherit file="/page.mako" />
<%def name="preface()">
    <p>
        If you want to have a look at the sourcecode, or even support the development with patches or similar, you are now on the correct page :).
    </p>
</%def>

<%self:h2>Getting the source</%self:h2>
<p>
    Portato's sourcecode is managed with <a href="http://www.git-scm.com/">Git</a> (<strong>dev-vcs/git</strong>) and is hosted on <a href="http://github.com/Necoro/portato">GitHub</a> and <a href="http://git.necoro.eu/portato.git/">on this very server</a>. So you can chose the one you want to clone from:
</p>
<%self:hl lang="bash">
# either this
git clone git://github.com/Necoro/portato.git

# or that
git clone git://necoro.eu/portato.git
</%self:hl>
<p>
    You now should have a subdirectory <em>portato/</em>, which contains the sources. If you want to update it to reflect upstream changes, do:
</p>
<%self:hl lang="bash">
git pull
</%self:hl>
<p>
    Sometimes you need to work on a specific version (for instance if you are <a href=${"/translating" | url}>translating</a>). Then you need to check out the specific version branch:
</p>
<%self:hl lang="bash">
# replace '0.13' by the version you need
git checkout -t origin/0.13
</%self:hl>
<p>
    For further information have a look at the <a href="http://www.git-scm.com/documentation">Git documentation</a> or search the webs. There are plenty of sources and guides out there.
</p>

<%self:h2>Making portato run locally</%self:h2>

<h4>The current dependencies</h4>
<p>All of the following <em>needs</em> to be installed:</p>
<ul>
    <li><strong>dev-lang/python</strong> Versions 2.6 or 2.7 and having "sqlite" and "threads" enabled</li>
    <li><strong>>=dev-python/cython-0.11.2</strong></li>
    <li><strong>>=dev-python/pygtk-2.14.0</strong></li>
    <li><strong>dev-python/pygtksourceview-2.*</strong></li>
    <li><strong>x11-libs/vte</strong> "python" needs to be enabled</li>
    <li><strong>dev-python/notify-python</strong></li>
    <li><strong>>=sys-apps/portage-2.1.7.17</strong></li>
    <li><strong>app-portage/portage-utils</strong></li>
    <li><strong>>=app-portage/eix-0.15.4</strong></li>
    <li><strong>virtual/libintl</strong></li>
    <li><strong>sys-devel/gettext</strong></li>
</ul>

<h4>Preparing the sources</h4>
<p>
    As portato makes use of extension modules and of native language support, you need to run the following commands to get you started:
</p>
<%self:hl lang="bash">
# compile extensions
./extensions.sh

# compile language support (optional!)
./pocompile.sh
</%self:hl>

<h4>Running it</h4>
<p>
    If you made sure, that you have done everything noted above, you can use one of the following commands:
</p>
<%self:hl lang="bash">
# normal startup - will prompt for the root password
./portato.py

# run as current user. saves you entering the root password
# won't allow you to do emerges
./portato.py -F
</%self:hl>

<%self:h2>Filing a bug</%self:h2>
<p>
    You can do this in the <a href=${"/r/bugs" | url}>bugtracker</a>.
</p>

<%self:h2>Translation / I18N</%self:h2>
<p>
    Portato does know about the so called <strong>Native Language Support</strong>. It currently supports the following languages: Catalan, English, Italian, German, Polish, Portugese, and Turkish.
</p>
<p>
    If you want to add support for another language, please see the <a href=${"/translating" | url}>translation howto</a>.
</p>
    
<%self:h2>Documentation</%self:h2>
<p>
    The code itself is documented (sometimes ^^). If you have questions, you can ask them via portato@necoro.net. But at least there is a condensed <a href=${"/changelog" | url}>changelog</a>.
</p>
<p>
    The software itself is not documented in any way. If you like to change this, drop me a mail :). I'd be glad.
</p>

<%self:h2>Wiki/Mailing-list/...</%self:h2>
<p>
    Not there (yet?). Are they really necessary?
</p>