FreeBSD Ports: New Contributors 101
First up, thank you for deciding to dedicate your time and effort to the FreeBSD community and to make things better.
This guide is designed to be lightweight, get you ramped up quickly, and save you time and effort. Is it not exhaustive.
Create a dedicated Email address. But expect spam Gmail is good)
Create a Bugzilla account.
- Set your Full Name (for credit in commit logs)
Set DEVELOPER=yes in /etc/make.conf, which enabled extra QA, error, & sanity checks.
Get The Tools
At a minimum:
Porttools ports-mgmt/porttools (installs portlint)
For bonus points:
- Bitbucket or Github account for managing a ports tree
- Mercurial or Git
FreeBSD Portscout (shows ports with outdated / new versions)
Your Support Network
Libera.Chat IRC: #freebsd-ports, #freebsd (You'll need to register your nickname: /ns help register)
The Basic Process
Create a place where you'll keep your local ports, ~username/ports is fine.
Setup your ~username/.porttools configuration (Read man 5 porttools)
Copy the category/port you want to modify from /usr/ports into your local tree
- Make your changes
- Test your changes (portlint, poudriere, unit tests, etc)
- Submit your changes
Here it is in action:
cp -Rp /usr/ports/category/portname ~username/ports/category <make some changes> port test <fix reported issues> port test port diff
- Looks good!
port diff > patch.diff
- Create new Bugzilla issue
Attach patch.diff to issue