Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Apr 2021 04:41:34 GMT
From:      Ryusuke SUZUKI <ryusuke@FreeBSD.org>
To:        doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org
Subject:   git: 132ff9d795 - main - Merge 1d19a09bf0 -> f725439f65, lost during asciidoctor conversion.
Message-ID:  <202104170441.13H4fY74001466@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by ryusuke:

URL: https://cgit.FreeBSD.org/doc/commit/?id=132ff9d79530ae03e2cf0ade5dd02e5758bd80d1

commit 132ff9d79530ae03e2cf0ade5dd02e5758bd80d1
Author:     Ryusuke SUZUKI <ryusuke@FreeBSD.org>
AuthorDate: 2021-04-17 04:41:09 +0000
Commit:     Ryusuke SUZUKI <ryusuke@FreeBSD.org>
CommitDate: 2021-04-17 04:41:09 +0000

    Merge 1d19a09bf0 -> f725439f65, lost during asciidoctor conversion.
---
 .../content/en/books/handbook/ports/_index.adoc    | 44 ++++++++++++++++------
 1 file changed, 33 insertions(+), 11 deletions(-)

diff --git a/documentation/content/en/books/handbook/ports/_index.adoc b/documentation/content/en/books/handbook/ports/_index.adoc
index 7df5c7c6d4..8130484319 100644
--- a/documentation/content/en/books/handbook/ports/_index.adoc
+++ b/documentation/content/en/books/handbook/ports/_index.adoc
@@ -567,10 +567,18 @@ When changing package origins, it is important to reinstall packages that are de
 [[ports-using]]
 == Using the Ports Collection
 
-The Ports Collection is a set of [.filename]#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_.
+The Ports Collection is a set of [.filename]##Makefile##s, 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_.
 
 By default, the Ports Collection itself is stored as a subdirectory of [.filename]#/usr/ports#.
 
+[WARNING]
+====
+
+Before installing and using the Ports Collection, please be aware that it is generally ill-advised to use the Ports Collection in conjunction with the binary packages provided via pkg to install software.
+pkg, by default, tracks quarterly branch-releases of the ports tree and not HEAD. Dependencies could be different for a port in HEAD compared to its counterpart in a quarterly branch release and this could result in conflicts between dependencies installed by pkg and those from the Ports Collection.
+If the Ports Collection and pkg must be used in conjunction, then be sure that your Ports Collection and pkg are on the same branch release of the ports tree.
+====
+
 Before an application can be compiled using a port, the Ports Collection must first be installed. If it was not installed during the installation of FreeBSD, use one of the following methods to install it:
 
 [[ports-using-portsnap-method]]
@@ -578,7 +586,7 @@ Before an application can be compiled using a port, the Ports Collection must fi
 ****
 *Procedure: Portsnap Method*
 
-The base system of FreeBSD includes Portsnap. This is a fast and user-friendly tool for retrieving the Ports Collection and is the recommended choice for most users. This utility connects to a FreeBSD site, verifies the secure key, and downloads a new copy of the Ports Collection. The key is used to verify the integrity of all downloaded files.
+The base system of FreeBSD includes Portsnap. This is a fast and user-friendly tool for retrieving the Ports Collection and is the recommended choice for most users not running FreeBSD-CURRENT. This utility connects to a FreeBSD site, verifies the secure key, and downloads a new copy of the Ports Collection. The key is used to verify the integrity of all downloaded files.
 
 . To download a compressed snapshot of the Ports Collection into [.filename]#/var/db/portsnap#:
 +
@@ -615,7 +623,7 @@ When using `fetch`, the `extract` or the `update` operation may be run consecuti
 ****
 *Procedure: Git Method*
 
-If more control over the ports tree is needed or if local changes need to be maintained, Git can be used to obtain the Ports Collection. Refer to link:{committers-guide}#git-primer[the Git Primer] for a detailed description of Git.
+If more control over the ports tree is needed or if local changes need to be maintained, or if running FreeBSD-CURRENT, Git can be used to obtain the Ports Collection. Refer to link:{committers-guide}#git-primer[the Git Primer] for a detailed description of Git.
 
 . Git must be installed before it can be used to check out the ports tree. If a copy of the ports tree is already present, install Git like this:
 +
@@ -632,19 +640,33 @@ If the ports tree is not available, or pkg is being used to manage packages, Git
 # pkg install git
 ....
 +
-. Check out a copy of the ports tree:
+. Check out a copy of the HEAD branch of the ports tree:
 +
 [source,shell]
 ....
 # git clone https://git.FreeBSD.org/ports.git /usr/ports
 ....
 +
+. Or, check out a copy of a quarterly branch:
++
+[source,shell]
+....
+# git clone https://git.FreeBSD.org/ports.git -b 2020Q3 /usr/ports
+....
++
 . As needed, update [.filename]#/usr/ports# after the initial Git checkout:
 +
 [source,shell]
 ....
 # git -C /usr/ports pull
 ....
++
+. As needed, switch [.filename]#/usr/ports# to a different quarterly branch:
++
+[source,shell]
+....
+# git -C /usr/ports switch 2020Q4
+....
 ****
 
 The Ports Collection contains directories for software categories. Inside each category are subdirectories for individual applications. Each application subdirectory contains a set of files that tells FreeBSD how to compile and install that program, called a _ports skeleton_. Each port skeleton includes these files and directories:
@@ -1056,9 +1078,9 @@ Scanning //usr/share/certs/trusted for certificates...
 
 On a single computer, poudriere can build ports with multiple configurations, in multiple jails, and from different port trees. Custom configurations for these combinations are called _sets_. See the CUSTOMIZATION section of man:poudriere[8] for details after package:ports-mgmt/poudriere[] or package:ports-mgmt/poudriere-devel[] is installed.
 
-The basic configuration shown here puts a single jail-, port-, and set-specific [.filename]#make.conf# in [.filename]#/usr/local/etc/poudriere.d#. The filename in this example is created by combining the jail name, port name, and set name: [.filename]#10amd64-local-workstation-make.conf#. The system [.filename]#make.conf# and this new file are combined at build time to create the [.filename]#make.conf# used by the build jail.
+The basic configuration shown here puts a single jail-, port-, and set-specific [.filename]#make.conf# in [.filename]#/usr/local/etc/poudriere.d#. The filename in this example is created by combining the jail name, port name, and set name: [.filename]#11amd64-local-workstation-make.conf#. The system [.filename]#make.conf# and this new file are combined at build time to create the [.filename]#make.conf# used by the build jail.
 
-Packages to be built are entered in [.filename]#10amd64-local-workstation-pkglist#:
+Packages to be built are entered in [.filename]#11amd64-local-workstation-pkglist#:
 
 [.programlisting]
 ....
@@ -1072,14 +1094,14 @@ Options and dependencies for the specified ports are configured:
 
 [source,shell]
 ....
-# poudriere options -j 10amd64 -p local -z workstation -f 10amd64-local-workstation-pkglist
+# poudriere options -j 11amd64 -p local -z workstation -f 11amd64-local-workstation-pkglist
 ....
 
 Finally, packages are built and a package repository is created:
 
 [source,shell]
 ....
-# poudriere bulk -j 10amd64 -p local -z workstation -f 10amd64-local-workstation-pkglist
+# poudriere bulk -j 11amd64 -p local -z workstation -f 11amd64-local-workstation-pkglist
 ....
 
 While running, pressing kbd:[Ctrl+t] displays the current state of the build. Poudriere also builds files in [.filename]#/poudriere/logs/bulk/jailname# that can be used with a web server to display build information.
@@ -1099,14 +1121,14 @@ FreeBSD: {
 }
 ....
 
-Usually it is easiest to serve a poudriere repository to the client machines via HTTP. Set up a webserver to serve up the package directory, for instance: [.filename]#/usr/local/poudriere/data/packages/10amd64#, where [.filename]#10amd64# is the name of the build.
+Usually it is easiest to serve a poudriere repository to the client machines via HTTP. Set up a webserver to serve up the package directory, for instance: [.filename]#/usr/local/poudriere/data/packages/11amd64#, where [.filename]#11amd64# is the name of the build.
 
-If the URL to the package repository is: `http://pkg.example.com/10amd64`, then the repository configuration file in [.filename]#/usr/local/etc/pkg/repos/custom.conf# would look like:
+If the URL to the package repository is: `http://pkg.example.com/11amd64`, then the repository configuration file in [.filename]#/usr/local/etc/pkg/repos/custom.conf# would look like:
 
 [.programlisting]
 ....
 custom: {
-	url: "http://pkg.example.com/10amd64",
+	url: "http://pkg.example.com/11amd64",
 	enabled: yes,
 }
 ....



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202104170441.13H4fY74001466>