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

Mentor Process: New Contributor Perspective

Steps you were asked to take

  1. "For New Committers" from the committer's guide

  2. Additional guidance on PGP key creation

Tools to use

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

Things you were asked to care about

Enrollment

  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

Porting

  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)

Reviews

  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
 ```

Thoughts during the process as they come up (thoughtstream)

  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

How to setup your environment

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


CategoryCommunity CategoryHowTo

BernardSpil/MenteeProcess (last edited 2018-06-03T01:06:31+0000 by MateuszPiotrowski)