Updating: ports and packages

Im confused about packages and ports concerning current (.), stable (RELENG_8), release with security -and bugfixes (RELENG_8_0) and release (RELENG_8_0_0_RELEASE).

The link below says that "The ports/, doc/, and www/ trees are not branched.":


On the other hand, Im able to download current, stable and release (Latest) packages from ftp.

Instead of asking a lot questions based on different assumptions (which will lead this thread into many pages), Ill start with this one:

Are there, or are there not, branches of the ports tree? In other words, is it possible to checkout different branches of the ports tree using either csup or portsnap?
 
There is only 1 ports tree, period. There are no branches. There's just the CVS HEAD, known as tag=. in cvsup/csup/cvs terms.

At certain points in time, the ports tree gets tagged, so that the release team can reference that tag to always get relevent snapshot of the ports tree around the time of the release of a new FreeBSD version. These tags are rarely references outside of the release team (ie, users never see them). This tag is used to create the packages that go on the FreeBSD release CDs. These packages show up on the FTP server under packages-6.x-release, packages-7.x-release, packages-8.x-release (where x is the minor version number of the release). These are the packages that are fetched by pkg_add by default. These packages rarely change/get updated.

Every now and then, a new build of packages may be done, in order to have semi-up-to-date packages for users of -STABLE. These are just snapshots of the ports tree, compiled on a specific version of -STABLE. These are the packages you see under packages-6-stable, packages-7-stable, and packages-8-stable on the FTP server. These are used by pkg_add by default when you install -STABLE. One can also configure pkg_add to fetch these packages on non-STABLE versions of FreeBSD (see the pkg_add(1) man page).

Regardless of whether you use cvs, cvsup, or portsnap, you get the same ports tree.
 
No branches. Only "." (head) for the ports tree. Ok.

The packages on the ftp site - are they put in a specific "branch" (folder on ftp) because of the state of the package (whether it is decided by the ports team or 3rd party)... or are they put there because they are all release ready, but it just happens to be that, the time of their arrival (a given version number) Freebsd ("kernel/world") was in a given state (ex. stable)?

PS I assume that each 3rd party application has its own repository with version numbers as branches with the latest (version number) pointed to by INDEX. Correct?
 
NB sorry, forget the above message...

Ok... hope you didn't use time on the above message.

So packages in both "release", "stable" and "current" (ftp) are all equally release ready 3rd party applications (at the time being taken into consideration)?

Is the the ports tree frosen in some degree in "stable" - with "current" using the latest ports tree (since the INDEX file is being updated every week)?

Does each 3rd party application has its own repository with version numbers as branches with the latest (version number) pointed to by INDEX?
 
Packages are placed into -stable, -release, etc directories on the FTP server ... because that's the version of FreeBSD they are compiled on. Simple as that.

FreeBSD A.B is released on day 1. The ports tree is frozen (no new commits allowed), packages are built using FreeBSD A.B, they are put on the FTP server in packages-A.B-release. The ports tree is unfrozen.

People update the ports, add new ports to the tree, remove old ports, etc.

FreeBSD A.C is released on day 100. The ports tree is frozen, packages are built using FreeBSD A.C and put on the FTP server under packages-A.C-release. Port tree is unfrozen.

And so on. There is only 1 ports tree. Packages are built using a specific version of FreeBSD, and put into a specific directory on the FTP server for that version.
 
Back
Top