|Development Contributor Page|
|Porters Guideline||Guideline: How to Contribute Code|
|Back to Contribution|
Please do not change this page without permission from the author of this page!
What is a Ports Collection
The Ports Collection is a set of Makefiles, patches, and description files. Each set of these files is used to compile and install an individual application on GhostBSD and is called a port. Ports are used to create packages with poudriere.
Who is a Porter
A GhostBSD GitHub member that creates ports and maintains the port's collection of GhostBSD. In GhostBSD Anyone may submit a new port, or volunteer to support an existing unmaintained port. Note no special privilege is needed to summit ports by pull requests. Pull requests are always welcome.
Guideline to create Ports
In GhostBSD, the FreeBSD Porter's Handbook is the recommended documentation to follow for creating ports and maintaining ports.
When creating ports, it is crucial to ensure that ports do not change or override a file from other ports, including config files. All files that a port install must be tracked in the pkg-plist file and/or the Makefile except config files. Most of the time, a config file is a .conf file. A useful tool to use to verify the port is to norm is portlint.
Guideline to maintain Ports
Maintaining ports for GhostBSD is basically follow the same rules than creating ports.
Guideline to resynced Ports from FreeBSD
Ports are often resynced from FreeBSD. Since GhostBSD uses a different init system(OpenRC), has its own OS ports and some ports that differ from the original one from FreeBSD, there are lots of conflicts happening on resync. It is essential to have knowledge of maintaining ports and
git to fix conflicts. Only porter's with the experience of managing
git repos conflicts and the experience of maintaining Ports Collections.
Allowed porters to resync from FreeBSD:
Note: If a porter is violating these guidelines, he could lose the direct access to the GhostBSD Ports tree and even lose GhostBSD GitHub memberships if repeated often.