CommitterHowto

Version 2 (yugui (Yuki Sonoda), 02/07/2009 03:03 pm)

1 2 yugui (Yuki Sonoda)
= Committer How to
2 1 yugui (Yuki Sonoda)
3 2 yugui (Yuki Sonoda)
== How to become a committer
4 2 yugui (Yuki Sonoda)
* Send patches to ruby-core list. Send patches, send patches and send patches.
5 2 yugui (Yuki Sonoda)
  Someday you will be granted the commit right.
6 2 yugui (Yuki Sonoda)
* Port Ruby to a non-POSIX platform. The core team will grant you to the permission so that you can maintain Ruby for the platform.
7 2 yugui (Yuki Sonoda)
* Write a great library. If the core team wanted to add the library to Ruby's standard library, you will be granted the right so that you can maintain it.
8 2 yugui (Yuki Sonoda)
  * This way is very hard because now we have RubyGems and installing a new library is easy for users.
9 2 yugui (Yuki Sonoda)
10 2 yugui (Yuki Sonoda)
== What to do when it is decided to give you the commit right
11 2 yugui (Yuki Sonoda)
Send a mail with the following information to <cvs-admin AT ruby-lang.org>. [[ruby-dev:23675]], [[ruby-dev:24652]]
12 2 yugui (Yuki Sonoda)
* Your GPG public key.
13 2 yugui (Yuki Sonoda)
* Account name you want to use. This is for
14 2 yugui (Yuki Sonoda)
  * Subversion
15 2 yugui (Yuki Sonoda)
  * ((|your-account|))@ruby-lang.org
16 2 yugui (Yuki Sonoda)
* Your SSH2 public key.
17 2 yugui (Yuki Sonoda)
* Where to transport from ((|your-account|))@ruby-lang.org
18 2 yugui (Yuki Sonoda)
19 2 yugui (Yuki Sonoda)
You must sign the mail with GPG. [[ruby-dev:25599]]
20 2 yugui (Yuki Sonoda)
21 2 yugui (Yuki Sonoda)
=== What to need to develop Ruby
22 2 yugui (Yuki Sonoda)
* Development environment for your platform
23 2 yugui (Yuki Sonoda)
* Ruby - the 1.9 needs ruby for building it. (BASERUBY)
24 2 yugui (Yuki Sonoda)
  * BASERUBY can be Ruby 1.8
25 2 yugui (Yuki Sonoda)
* subversion
26 2 yugui (Yuki Sonoda)
* SSH client
27 2 yugui (Yuki Sonoda)
* GnuPG
28 2 yugui (Yuki Sonoda)
* MUA
29 2 yugui (Yuki Sonoda)
* IRC client
30 2 yugui (Yuki Sonoda)
* autoconf (2.60 or later)
31 2 yugui (Yuki Sonoda)
* bison
32 2 yugui (Yuki Sonoda)
* (gperf)
33 2 yugui (Yuki Sonoda)
* (git)
34 2 yugui (Yuki Sonoda)
35 2 yugui (Yuki Sonoda)
==== How to use GPG
36 2 yugui (Yuki Sonoda)
How to generate your GPG keys
37 2 yugui (Yuki Sonoda)
* ((<GnuPGの使い方|URL:http://hp.vector.co.jp/authors/VA019487/howtouse.html>))
38 2 yugui (Yuki Sonoda)
39 2 yugui (Yuki Sonoda)
How to sign a mail with GPG
40 2 yugui (Yuki Sonoda)
* ((<EnigMail|URL:https://addons.mozilla.org/ja/thunderbird/addon/71>)) for Thunderbird
41 2 yugui (Yuki Sonoda)
* ((<GPGMail|URL:http://www.sente.ch/software/GPGMail/English.lproj/GPGMail.html>)) for Apple Mail.app
42 2 yugui (Yuki Sonoda)
43 2 yugui (Yuki Sonoda)
==== How to generate your SSH keys
44 2 yugui (Yuki Sonoda)
You might have your keys when you have OpenSSH. See (((%~/.ssh/id_rsa%)) or ((%~/.ssh/id_dsa%)). You can use them.
45 2 yugui (Yuki Sonoda)
46 2 yugui (Yuki Sonoda)
If you don't have, generate with ssh-keygen(1).
47 2 yugui (Yuki Sonoda)
 $ ssh-keygen -b 2048 -f ruby_key
48 2 yugui (Yuki Sonoda)
 Generating public/private rsa key pair.
49 2 yugui (Yuki Sonoda)
 Enter passphrase (empty for no passphrase): ((|pass phrase|)) TYPE SOMETHING.
50 2 yugui (Yuki Sonoda)
 Enter same passphrase again: ((|pass phrase|)) TYPE SOMETHING.
51 2 yugui (Yuki Sonoda)
 Your identification has been saved in ruby_key.
52 2 yugui (Yuki Sonoda)
 Your public key has been saved in ruby_key.pub.
53 2 yugui (Yuki Sonoda)
 The key fingerprint is:
54 2 yugui (Yuki Sonoda)
 XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX your@hostname
55 2 yugui (Yuki Sonoda)
56 2 yugui (Yuki Sonoda)
Then you will have your private key ((%ruby_key%)) and public key ((%ruby_key.pub%)). Keep your private key secret. Pass the public key to the cvs-admin.
57 2 yugui (Yuki Sonoda)
58 2 yugui (Yuki Sonoda)
== IRC
59 2 yugui (Yuki Sonoda)
IRC clients
60 2 yugui (Yuki Sonoda)
* ((<LimeChat|URL:http://limechat.net/>)) - for win, mac
61 2 yugui (Yuki Sonoda)
* XChat (X), XChat-gnome (Gnome)
62 2 yugui (Yuki Sonoda)
* riece (emacs)
63 2 yugui (Yuki Sonoda)
64 2 yugui (Yuki Sonoda)
IRC proxy bot
65 2 yugui (Yuki Sonoda)
* ((<Nadoka|URL:http://www.atdot.net/nadoka/nadoka.en.html>))
66 2 yugui (Yuki Sonoda)
* ((<Tiarra|URL:http://www.clovery.jp/tiarra/>))
67 2 yugui (Yuki Sonoda)
68 2 yugui (Yuki Sonoda)
== What to do when you become a committer
69 2 yugui (Yuki Sonoda)
* Always build Ruby outside of (({$(srcdir)}))
70 2 yugui (Yuki Sonoda)
  * e.g. Suppose that there are source codes in ((%/path/to/somewhere/src%)) and building at ((%/path/to/somewhere/obj%)). Then, at ((%obj%)), do ((%../src/configure%))
71 2 yugui (Yuki Sonoda)
* Always build Ruby inside of (({$(srcdir)})) too. It is, do ((%./configure%)).
72 2 yugui (Yuki Sonoda)
* Subscribe ruby-core and ruby-cvs.
73 2 yugui (Yuki Sonoda)
  * subscribe ruby-dev too if you read Japanese.
74 2 yugui (Yuki Sonoda)
* Sign up to the redmine.
75 2 yugui (Yuki Sonoda)
  * Sign up with your mail address which you uses for sending to ruby-core.
76 2 yugui (Yuki Sonoda)
  * Tell the mail address to another committer and ask him/her. Then (s)he will register you as a developer for [[project:Ruby].
77 2 yugui (Yuki Sonoda)
* Keep contact to #ruby-core@freenode.
78 2 yugui (Yuki Sonoda)
  * #ruby@ircnet:*.jp too if you read Japanese.
79 2 yugui (Yuki Sonoda)
* Sign up to ((<Coverity|URL:http://scan.coverity.com/>)).
80 2 yugui (Yuki Sonoda)
  * Ask how to sign up to another committer at an IRC channel.
81 2 yugui (Yuki Sonoda)
* Get key signing to your GPG key.
82 2 yugui (Yuki Sonoda)
  * It is preferred to get another committer's signing.
83 2 yugui (Yuki Sonoda)
  * It is preferred to write your GPG fingerprint on your buisiness card.
84 2 yugui (Yuki Sonoda)
85 2 yugui (Yuki Sonoda)
== What to note when you commit
86 2 yugui (Yuki Sonoda)
This page is under translation. See [[CommitterHowtoJa|Japanese version]] for more information.