aboutsummaryrefslogtreecommitdiff
path: root/docs/busybox.net/developer.html
blob: 18e42cd2b1f49edf8e84d0c7b81f47b77492a008 (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
<!--#include file="header.html" -->

<h3>Prerequisites</h3>
<p>
<ul>
<li>Send several <em>sensible</em> patches to the <a href="lists.html" title="Mailing list">Mailing list</a>.</li>
<li>Help <em>users</em>, answer their questions, guide them, be helpful and friendly.</li>
<li>Repeat above.
</ul>
</p>
<p>
If you feel comfortable with the above and have proven to continually
fulfill these requirements, or somebody asks you to apply for write-access
to the repository who itself is maintainer of a project, then please apply
for an account (if needed).
</p>
<h3>Morris Dancing</h3>

<p>Subversion commit access requires an account on Morris.  The server
behind busybox.net and uclibc.org.  If you want to be able to commit things to
Subversion, first contribute some stuff to show you are serious, can handle
some responsibility, and that your patches don't generally need a lot of
cleanup.  Then, very nicely ask one of us
(<a href="mailto:vda.linux@googlemail.com">Denys Vlasenko</a> for primarily BusyBox, or
<a href="mailto:rep&#46;<literal>dot</>&#46;nop@gmail.com">Bernhard Reutner-Fischer</a> primarily for uClibc)
for an account.</p>

<p>If you're approved for an account, you'll need to send an email from your
preferred contact email address with the username you'd like to use when
committing changes to GIT, and attach a public ssh key to access your account
with.</p>

<p>If you don't currently have an ssh version 2 DSA key at least 4096 bits
long, you can generate a key using the command 
<b>ssh-keygen -b 4096 -t dsa</b> 
and hitting enter at the prompts.
This will create the files <b>~/.ssh/id_dsa</b> and <b>~/.ssh/id_dsa.pub</b>
You must then send the content of 'id_dsa.pub' to me so I can set up your
account.  (The content of 'id_dsa' should of course be kept secret, anyone
who has that can access any account that's installed your public key in
its <b>.ssh/authorized_keys</b> file.)</p>

<p>Note that if you would prefer to keep your communications with us
private, you can encrypt your email using
<a href="http://busybox.net/~vda/vda_pubkey.gpg">Denys' public key</a> or
<a href="http://uClibc.org/~aldot/gpg.asc">Bernhard's public key</a>.
</p>

<p>Once you are setup with an account, you will need to use your account to
checkout a copy of BusyBox from GIT:</p>

<p><b>git+ssh://username@git.busybox.net/git/busybox busybox.mine</b></p>
<p>or</p>
<p><b>git+ssh://username@git.uClibc.org/git/uClibc uClibc.tmp</b></p>

<p>You must change <em>username</em> to your own username, or omit
it if it's the same as your local username.</p>

<p>You can then enter the newly checked out project directory, make changes,
check your changes, diff your changes, revert your changes, and and commit your
changes using commands such as:</p>

<b><pre>
git diff
git format-patch -s
git status
git revert <revert-hash>
EDITOR=vi git commit -s
git log
git push -v --thin
git help
</pre></b>

<p>For additional detail on how to use
<a href="http://www.kernel.org/pub/software/scm/git/">GIT</a>, please visit the
<a href="http://git.or.cz/">GIT overview</a> site.
You might also want to read online the <a
href="http://www.kernel.org/pub/software/scm/git/docs">manpages</a> 
or 
<a href="http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html">tutorial</a>.
</p>

<p>A morris account also gives you a personal web page
(http://busybox.net/~username comes from ~/public_html on morris), and of
course a shell prompt you can ssh into (as a regular user, root access is
reserved for folks doing maintenancy stuff only).  But keep in mind an
account on Morris is a
priviledge, not a requirement.  Most contributors to busybox and uClibc
haven't got one, and accounts are handed out to make the project maintainers'
lives easier, not because &quot;you deserve it&quot;.</p>

<!--#include file="footer.html" -->