aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/en/books/porters-handbook/makefiles/_index.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/en/books/porters-handbook/makefiles/_index.adoc')
-rw-r--r--documentation/content/en/books/porters-handbook/makefiles/_index.adoc47
1 files changed, 23 insertions, 24 deletions
diff --git a/documentation/content/en/books/porters-handbook/makefiles/_index.adoc b/documentation/content/en/books/porters-handbook/makefiles/_index.adoc
index e98d2ff336..45218f712b 100644
--- a/documentation/content/en/books/porters-handbook/makefiles/_index.adoc
+++ b/documentation/content/en/books/porters-handbook/makefiles/_index.adoc
@@ -114,17 +114,17 @@ See below on how to use man:pkg-version[8] to compare versions.
[source,shell]
....
% pkg version -t 1.2 1.3
-< <.>
+ < <.>
% pkg version -t 1.2 1.2
-= <.>
+ = <.>
% pkg version -t 1.2 1.2.0
-= <.>
+ = <.>
% pkg version -t 1.2 1.2.p1
-> <.>
+ > <.>
% pkg version -t 1.2.a1 1.2.b1
-< <.>
+ < <.>
% pkg version -t 1.2 1.2p1
-< <.>
+ < <.>
....
<.> `1.2` is before `1.3`.
@@ -1073,7 +1073,11 @@ In addition, proposed category changes just naturally seem to attract controvers
Here is the procedure:
[.procedure]
-. Propose the new category on {freebsd-ports}. Include a detailed rationale for the new category, including why the existing categories are not sufficient, and the list of existing ports proposed to move. (If there are new ports pending in Bugzilla that would fit this category, list them too.) If you are the maintainer and/or submitter, respectively, mention that as it may help the case.
+. Propose the new category on {freebsd-ports}. Include a detailed rationale
+ for the new category, including why the existing categories are not
+ sufficient, and the list of existing ports proposed to move. (If there are
+ new ports pending in Bugzilla that would fit this category, list them
+ too.) Indicating that the updater is also the maintainer or submitter may be helpful to the case.
. Participate in the discussion.
. If it seems that there is support for the idea, file a PR which includes both the rationale and the list of existing ports that need to be moved. Ideally, this PR would also include these patches:
@@ -1121,7 +1125,7 @@ If `DISTVERSION` does not derive a correct `PORTVERSION`, do not use `DISTVERSIO
====
If the upstream version scheme can be derived into a ports-compatible version scheme, set some variable to the upstream version, _do not_ use `DISTVERSION` as the variable name.
-Set `PORTVERSION` to the computed version based on the variable you created, and set `DISTNAME` accordingly.
+Set `PORTVERSION` to the computed version based on the created variable and set `DISTNAME` accordingly.
If the upstream version scheme cannot easily be coerced into a ports-compatible value, set `PORTVERSION` to a sensible value, and set `DISTNAME` with `PORTNAME` with the verbatim upstream version.
@@ -1380,7 +1384,7 @@ MASTER_SITE_SUBDIR= stardict/WyabdcRealPeopleTTS/${PORTVERSION}
|`BERLIOS`
|`${PORTNAME:tl}.berlios`
-|`CHEESESHOP`
+|`PYPI`
|`source/${DISTNAME:C/(.).\*/\1/}/${DISTNAME:C/(.*)-[0-9].*/\1/}`
|`CPAN`
@@ -1582,7 +1586,7 @@ GH_TAGNAME= c472d66b
....
This creates a versioning scheme that increases over time, and that is still before version `0`.
-See crossref:makefiles[makefile-versions-ex-pkg-version, this secion on how to compare versions] using man:pkg-version[8]):
+See crossref:makefiles[makefile-versions-ex-pkg-version, this secion on how to compare versions] using man:pkg-version[8]:
[source,shell]
....
@@ -1627,7 +1631,7 @@ USE_GITHUB= yes
....
This creates a versioning scheme that increases over time (well, over commits), and does not conflict with the creation of a `0.7.4` version.
-See crossref:makefiles[makefile-versions-ex-pkg-version, this section for how to compare versions] using man:pkg-version[8]):
+See crossref:makefiles[makefile-versions-ex-pkg-version, this section for how to compare versions] using man:pkg-version[8]:
[source,shell]
....
@@ -2202,7 +2206,7 @@ This is a very interesting feature which can decrease that endless search for th
Just picture 2 files in `DISTFILES` and 20 sites in `MASTER_SITES`, the sites slow as hell where [.filename]#beta# is carried by all sites in `MASTER_SITES`, and [.filename]#alpha# can only be found in the 20th site.
It would be such a waste to check all of them if the maintainer knew this beforehand, would it not? Not a good start for that lovely weekend!
-Now that you have the idea, just imagine more `DISTFILES` and more `MASTER_SITES`.
+Once the concept is clear, just imagine more `DISTFILES` and more `MASTER_SITES`.
Surely our "distfiles survey meister" would appreciate the relief to network strain that this would bring.
In the next sections, information will follow on the FreeBSD implementation of this idea.
@@ -2286,8 +2290,7 @@ Furthermore, `DEFAULT` is a special purpose word (check item
crossref:makefiles[porting-master-sites-n-DEFAULT-group,3]).
. Elements postfixed with `:n` belong to the group `n`, `:m` belong to group `m` and so forth.
+
-[[porting-master-sites-n-DEFAULT-group]]
-. Elements without a postfix are groupless, they all belong to the special group
+. [[porting-master-sites-n-DEFAULT-group]] Elements without a postfix are groupless, they all belong to the special group
`DEFAULT`. Any elements postfixed with `DEFAULT`, is just being redundant
unless an element belongs to both `DEFAULT` and other groups at the same time
(check item crossref:makefiles[porting-master-sites-n-comma-operator,5]).
@@ -2306,8 +2309,7 @@ MASTER_SITES= alpha:DEFAULT
. Groups are not exclusive, an element may belong to several different groups at the same time and a group can either have either several different elements or none at all.
+
-[[porting-master-sites-n-comma-operator]]
-. When an element belongs to several groups at the same time, use the comma operator (`,`).
+. [[porting-master-sites-n-comma-operator]] When an element belongs to several groups at the same time, use the comma operator (`,`).
+
Instead of repeating it several times, each time with a different postfix, we can list several groups at once in a single postfix.
For instance, `:m,n,o` marks an element that belongs to group `m`, `n` and `o`.
@@ -2336,8 +2338,7 @@ MASTER_SITES= alpha:DEFAULT,SOME_SITE
. All sites within a given group are sorted according to `MASTER_SORT_AWK`. All groups within `MASTER_SITES` and `PATCH_SITES` are sorted as well.
+
-[[porting-master-sites-n-group-semantics]]
-. Group semantics can be used in any of the variables `MASTER_SITES`, `PATCH_SITES`, `MASTER_SITE_SUBDIR`, `PATCH_SITE_SUBDIR`, `DISTFILES`, and `PATCHFILES` according to this syntax:
+. [[porting-master-sites-n-group-semantics]] Group semantics can be used in any of the variables `MASTER_SITES`, `PATCH_SITES`, `MASTER_SITE_SUBDIR`, `PATCH_SITE_SUBDIR`, `DISTFILES`, and `PATCHFILES` according to this syntax:
.. All `MASTER_SITES`, `PATCH_SITES`, `MASTER_SITE_SUBDIR` and
`PATCH_SITE_SUBDIR` elements must be terminated with the forward slash `/`
character. If any elements belong to any groups, the group postfix `:__n__`
@@ -2488,8 +2489,7 @@ PATCHFILES= patch1:test
according to the aforementioned syntax rules, especially as shown in item
crossref:makefiles[porting-master-sites-n-group-semantics, 7].
+
-[[porting-master-sites-n-what-changes-in-port-targets]]
-. The port targets remain the same: `checksum`, `makesum`, `patch`, `configure`, `build`, etc. With the obvious exceptions of `do-fetch`, `fetch-list`, `master-sites` and `patch-sites`.
+. [[porting-master-sites-n-what-changes-in-port-targets]] The port targets remain the same: `checksum`, `makesum`, `patch`, `configure`, `build`, etc. With the obvious exceptions of `do-fetch`, `fetch-list`, `master-sites` and `patch-sites`.
** `do-fetch`: deploys the new grouping postfixed `DISTFILES` and `PATCHFILES`
with their matching group elements within both `MASTER_SITES` and
@@ -2507,8 +2507,7 @@ crossref:makefiles[porting-master-sites-n-new-port-targets-master-sites-all, B]
. New port targets
.. There are `master-sites-_n_` and `patch-sites-_n_` targets which will list the elements of the respective group _n_ within `MASTER_SITES` and `PATCH_SITES` respectively. For instance, both `master-sites-DEFAULT` and `patch-sites-DEFAULT` will return the elements of group `DEFAULT`, `master-sites-test` and `patch-sites-test` of group `test`, and thereon.
+
-[[porting-master-sites-n-new-port-targets-master-sites-all]]
-.. There are new targets `master-sites-all` and `patch-sites-all` which do the work of the old `master-sites` and `patch-sites` ones. They return the elements of all groups as if they all belonged to the same group with the caveat that it lists as many `MASTER_SITE_BACKUP` and `MASTER_SITE_OVERRIDE` as there are groups defined within either `DISTFILES` or `PATCHFILES`; respectively for `master-sites-all` and `patch-sites-all`.
+.. [[porting-master-sites-n-new-port-targets-master-sites-all]] There are new targets `master-sites-all` and `patch-sites-all` which do the work of the old `master-sites` and `patch-sites` ones. They return the elements of all groups as if they all belonged to the same group with the caveat that it lists as many `MASTER_SITE_BACKUP` and `MASTER_SITE_OVERRIDE` as there are groups defined within either `DISTFILES` or `PATCHFILES`; respectively for `master-sites-all` and `patch-sites-all`.
[[makefile-dist_subdir]]
=== `DIST_SUBDIR`
@@ -2527,7 +2526,7 @@ This does not affect `MASTER_SITES` defined in the [.filename]#Makefile#.
[[makefile-maintainer]]
== `MAINTAINER`
-Set your mail-address here. Please. _:-)_
+Set the mail-address here. Please. _:-)_
Only a single address without the comment part is allowed as a `MAINTAINER` value.
The format used is `user@hostname.domain`.
@@ -3713,7 +3712,7 @@ Perl related variables are described in crossref:special[using-perl,Using Perl].
X11 variables are listed in crossref:special[using-x11,Using X11].
crossref:special[using-gnome,Using Gnome] deals with GNOME and crossref:special[using-kde,Using KDE] with KDE related variables.
crossref:special[using-java,Using Java] documents Java variables, while crossref:special[using-php,Web Applications, Apache and PHP] contains information on Apache, PHP and PEAR modules.
-Python is discussed in crossref:special[using-python,Using Python], while Ruby in crossref:special[using-ruby,Using Ruby].
+Python is discussed in crossref:special[using-python,Using Python], while Ruby in crossref:uses[uses-ruby,Ruby].
crossref:special[using-sdl,Using SDL] provides variables used for SDL applications and finally, crossref:special[using-xfce,Using Xfce] contains information on Xfce.
[[makefile-version-dependency]]