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
- “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/portlintto sanity check ports changessecurity/gnupgto 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 --genkeyuse 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 makepatchwhen 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 -ACoutput - Provide (link to)
poudriere testportoutput - Provide
make regression-testoutput 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
pkgso you can install software (the packages I build using poudriere) alias svn='svnlite'(works for me so far, no need to pull indevel/subversion)- Install
devel/arcanist,security/gnupgandports-mgmt/portlintetc. - Follow
arcconfiguration 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