aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/en/books/porters-handbook/porting-dads/_index.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/en/books/porters-handbook/porting-dads/_index.adoc')
-rw-r--r--documentation/content/en/books/porters-handbook/porting-dads/_index.adoc19
1 files changed, 13 insertions, 6 deletions
diff --git a/documentation/content/en/books/porters-handbook/porting-dads/_index.adoc b/documentation/content/en/books/porters-handbook/porting-dads/_index.adoc
index 9693c0ca93..bc3ee06ae2 100644
--- a/documentation/content/en/books/porters-handbook/porting-dads/_index.adoc
+++ b/documentation/content/en/books/porters-handbook/porting-dads/_index.adoc
@@ -6,7 +6,7 @@ description: A list of common dos and don'ts that are encountered during the Fre
tags: ["dos", "don'ts", "porting", "ports", "guide"]
showBookMenu: true
weight: 13
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/porting-dads/"
---
[[porting-dads]]
@@ -315,7 +315,7 @@ In certain cases, users must be prevented from installing a port.
There are several variables that can be used in a port's [.filename]#Makefile# to tell the user that the port cannot be installed.
The value of these make variables will be the reason that is shown to users for why the port refuses to install itself.
Please use the correct make variable.
-Each variable conveys radically different meanings, both to users and to automated systems that depend on [.filename]##Makefile##s, such as crossref:keeping-up[build-cluster,the ports build cluster], crossref:keeping-up[freshports,FreshPorts], and crossref:keeping-up[portsmon,portsmon].
+Each variable conveys radically different meanings, both to users and to automated systems that depend on [.filename]##Makefile##s, such as crossref:keeping-up[build-cluster,the ports build cluster], and crossref:keeping-up[freshports,FreshPorts].
[[dads-noinstall-variables]]
=== Variables
@@ -338,7 +338,7 @@ For instance, use `BROKEN` when a port:
** does not work on the installed version of FreeBSD
** has a distfile which may not be automatically fetched due to licensing restrictions
-** does not work with some other currently installed port (for instance, the port depends on package:www/apache20[] but package:www/apache22[] is installed)
+** does not work with some other currently installed port (for instance, the port depends on package:www/drupal7[] but package:www/drupal8[] is installed)
+
[NOTE]
====
@@ -399,6 +399,8 @@ Port [.filename]##Makefile##s should test the value of this Makevar.
Ports that do not have any architecture-dependent files or requirements are identified by setting `NO_ARCH=yes`.
+Packages built from such ports have their architecture string ending in `:*` (wildcard architecture) as opposed to, for example, `freebsd:13:x86:64` (amd64 architecture).
+
[NOTE]
====
`NO_ARCH` is meant to indicate that there is no need to build a package for each of the supported architectures.
@@ -446,6 +448,13 @@ Both will be shown to the user.
It is possible to set `DEPRECATED` without an `EXPIRATION_DATE` (for instance, recommending a newer version of the port), but the converse does not make any sense.
+[NOTE]
+====
+When marking a port as `DEPRECATED`, if there are any alternative ports that can
+be used as a replacement for the one being deprecated, it is convenient to
+mention them in the commit message.
+====
+
There is no set policy on how much notice to give.
Current practice seems to be one month for security-related issues and two months for build issues.
This also gives any interested committers a little time to fix the problems.
@@ -531,7 +540,7 @@ In particular, default socket buffer sizes are different (call man:setsockopt[2]
If relying on non-standard behavior is required, encapsulate it properly into a generic API, do a check for the behavior in the configure stage, and stop if it is missing.
-Check the https://www.freebsd.org/cgi/man.cgi[man pages] to see if the function used is a POSIX interface (in the "STANDARDS" section of the man page).
+Check the https://man.freebsd.org/cgi/man.cgi[man pages] to see if the function used is a POSIX interface (in the "STANDARDS" section of the man page).
Do not assume that [.filename]#/bin/sh# is bash.
Ensure that a command line passed to man:system[3] will work with a POSIX compliant shell.
@@ -547,6 +556,4 @@ For example, [.filename]#sys/types.h# is often forgotten, which is not as much o
Always double-check [.filename]#pkg-descr# and [.filename]#pkg-plist#.
If reviewing a port and a better wording can be achieved, do so.
-Do not copy more copies of the GNU General Public License into our system, please.
-
Please be careful to note any legal issues! Do not let us illegally distribute software!