Difference between revisions of "Porters Guideline"

From GhostBSD Wiki
Jump to: navigation, search
(Guideline to create Ports.)
m (Guideline to resynced Ports from FreeBSD)
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{maintenance}}
+
{{Navbar Development Contributor Page}}
 +
{{restricted}}
  
== What are Ports Collection ==
+
== 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 FreeBSD and is called a port. Ports are used to create packages with poudriere.  
+
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 [https://www.freebsd.org/doc/handbook/ports-poudriere.html poudriere].
  
== Who is a porter: ==
+
== 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.
 
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. ==
+
== Guideline to create Ports ==
  
 
In GhostBSD, the [https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/ FreeBSD Porter's Handbook] is the recommended documentation to follow for creating ports and maintaining ports.  
 
In GhostBSD, the [https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/ FreeBSD Porter's Handbook] is the recommended documentation to follow for creating ports and maintaining ports.  
Line 15: Line 16:
 
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.
 
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. ==
+
== Guideline to maintain Ports ==
  
Maintaining ports for GhostBSD is basically follow the same rules than creating ports.  
+
Maintaining ports for GhostBSD is basically follow the same rules than creating ports.
  
 
== Guideline to resynced Ports from FreeBSD ==
 
== Guideline to resynced Ports from FreeBSD ==
  
Ports are often resynced from FreeBSD. Since GhostBSD uses a different init system(OpenRC), has 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.
+
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 <code>git</code> to fix conflicts. Only porter's with the experience of managing <code>git</code> repos conflicts and the experience of maintaining Ports Collections.
  
 
'''Allowed porters to resync from FreeBSD:'''
 
'''Allowed porters to resync from FreeBSD:'''
  
 
Eric Turgeon(ericbsd)
 
Eric Turgeon(ericbsd)
 +
Vic Thacker(vimanuelt)
 +
  
 
'''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.
 
'''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.

Latest revision as of 10:41, 16 November 2020

Development Contributor Page
Porters Guideline Guideline: How to Contribute Code GhostBSD Builds
Back to Icon Disti GhostBSD.pngContribution
Restricted!
Please do not change this page without permission from the author of this page!

What is a Ports Collection[edit]

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[edit]

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[edit]

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[edit]

Maintaining ports for GhostBSD is basically follow the same rules than creating ports.

Guideline to resynced Ports from FreeBSD[edit]

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:

Eric Turgeon(ericbsd) Vic Thacker(vimanuelt)


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.