Yes, this is a sub-page of my private page yet feel free to modify or add!

Mentor Process: New Contributor Perspective

  1. “For New Committers” from the committer's guide
  2. Additional guidance on PGP key creation

If you haven't installed these yet

  1. ports-mgmt/portlint to sanity check ports changes
  2. devel/arcanist to interface with Phabricator / https://reviews.freebsd.org
  3. security/gnupg to generate PGP keys and work with gpg
  1. Username (unique, not too similar to exising ones)
  2. Key-strength (ssh, PGP)
    • ssh-key: ssh-keygen -t ecdsa -b 512
    • pgp-key: gpg2 --genkey use 4096-bit and 3 years validity
  3. Additional info in PGP key (photo, other email-addresses)
    • Create a revocation key and a subkey
    • Publish your subkey not your primary
  1. Re-roll patches with make makepatch when necessary yet retain timestamps and possible comment preamble in the diffs (tip: move existing patches to orig.files so you can compare)
  1. Provide portlint -AC output
  2. Provide (link to) poudriere testport output
  3. Provide make regression-test output if the port has that make target (most Python ports do)
  4. Summary must adhere to commit message format
    • Itemize changes (with intents and rationale) in commit log
    • Add the “Differential Revision: <full url>” line in svn commit message, so Phabricator closes the review automatically
    • Review Summary should be something like:
Proposed commit log:

 ```
 cat/port: Short summary (<50 chars)

  * Itemize changes
  * Itemize changes [with short rationale if necessary]

Optional explanation about the change itemized above, 
so that people are super clear on what, why, how, 
where, when.

  * Itemize changes [1]

[1] with references if necessary

Metadata: values
Metadata: values
Metadata: values
 ```
  1. Rename BugZilla account (Preferences → Account info) to your @freebsd.org address
  2. Phabricator enrollment missing (i.e. register with a valid @freebsd.org account results in automatic acceptance)
  3. CodeReview process is missing in documentation
  4. You can't add “Differential Revision: ” to the Phabricator summary (via arcanist CLI client), yet “Differential Revision: ” should be in the svn commit message.
    1. (KK Edit: Add it via WWW UI)

Port committer tasks

I have decided to make do porting work in a jail, I call this my build jail.

Setting yourself up

  1. Create a build jail (I use ezjail)
  2. Create your FreeBSD user in your build jail (this is a different user-name than on the host but with the same uid)
  3. Configure pkg so you can install software (the packages I build using poudriere)
  4. alias svn='svnlite' (works for me so far, no need to pull in devel/subversion)
  5. Install devel/arcanist, security/gnupg and ports-mgmt/portlint etc.
  6. Follow arc configuration instructions on CodeReview
  7. Pull base, ports and doc from svn (see both Subversion Primer and Ports Subversion Primer)

Now you're ready to perform the For New Committers tasks


  • bernardspil/menteeprocess.txt
  • Last modified: 2018/06/03 01:06
  • by MateuszPiotrowski