Yes, this is a sub-page of my private page yet feel free to modify or add!
Contents
Mentor Process: New Contributor Perspective
Steps you were asked to take
"For New Committers" from the committer's guide
Additional guidance on PGP key creation
Tools to use
If you haven't installed these yet
ports-mgmt/portlint to sanity check ports changes
devel/arcanist to interface with Phabricator / https://reviews.freebsd.org
security/gnupg to generate PGP keys and work with gpg
Things you were asked to care about
Enrollment
- Username (unique, not too similar to exising ones)
- Key-strength (ssh, PGP)
ssh-key: ssh-keygen -t ecdsa -b 512
pgp-key: gpg2 --genkey use 4096-bit and 3 years validity
Additional info in PGP key (photo, other email-addresses)
- Create a revocation key and a subkey
- Publish your subkey not your primary
Porting
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
Provide portlint -AC output
Provide (link to) poudriere testport output
Provide make regression-test output if the port has that make target (most Python ports do)
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)
Rename BugZilla account (Preferences -> Account info) to your @freebsd.org address
- Phabricator enrollment missing (i.e. register with a valid @freebsd.org account results in automatic acceptance)
CodeReview process is missing in documentation
- You can't add "Differential Revision: " to the Phabricator summary (via arcanist CLI client), yet "Differential Revision: " should be in the svn commit message.
- (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
Create a build jail (I use ezjail)
- Create your FreeBSD user in your build jail (this is a different user-name than on the host but with the same uid)
Configure pkg so you can install software (the packages I build using poudriere)
alias svn='svnlite' (works for me so far, no need to pull in devel/subversion)
Install devel/arcanist, security/gnupg and ports-mgmt/portlint etc.
Follow arc configuration instructions on CodeReview
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