Table of Contents
As in other big projects, the directory layout of pkgsrc
	is quite complex for newbies. This chapter explains where you
	find things on the FTP server. The base directory on
	ftp.NetBSD.org is /pub/pkgsrc/.
	On other servers it may be different, but inside this directory,
	everything should look the same, no matter on which server you
	are. This directory contains some subdirectories, which are
	explained below.
The directory distfiles contains lots
	of archive files from all pkgsrc packages, which are mirrored
	here. The subdirectories are called after their package names
	and are used when the distributed files have names that don't
	explicitly contain a version number or are otherwise too generic
	(for example release.tar.gz).
This directory contains things that individual pkgsrc developers find worth publishing.
This directory contains binary packages for the various
	platforms that are supported by pkgsrc.
	Each subdirectory is of the form OPSYS/ARCH/OSVERSION_TAG. The meaning of these variables is:
OPSYS is the name of the
	operating system for which the packages have been built. The
	name is taken from the output of the uname
	command, so it may differ from the one you are used to
	hear.
ARCH is the hardware
	architecture of the platform for which the packages have been
	built. It also includes the ABI (Application
	Binary Interface) for platforms that have several of
	them.
OSVERSION is the version of
	the operating system.  Typically it is the version defining an
	ABI, e.g. 9.0.
TAG is either
	20
	for a stable branch, or YYQNcurrent for packages
	built from the HEAD branch. The latter should only be used when
	the packages are updated on a regular basis.
The rationale for this scheme is that users can first search by OPSYS and ARCH, since these are more or less unchangeable. After that, there is a management set of directories with OSVERSION and TAG.
See also README.md in
	packages for more details, including
	about symlinks.
In each of these directories, there is a
	whole binary packages collection for a specific platform. It has a directory called
	All which contains all binary packages.
	
Here are the reports from bulk builds, for those who want
	to fix packages that didn't build on some of the platforms. The
	structure of subdirectories should look like the one in Section D.3, “packages: Binary packages”.
These directories contain the “real” pkgsrc, that is the files that define how to create binary packages from source archives.
Each of the current,
	stable and
	pkgsrc-20
	directories share the same structure.  They each contain a
	xxQypkgsrc directory and
	pkgsrc.tar.{bz,gz,xz} file.
The directory pkgsrc contains a
	snapshot of the CVS repository, which is updated regularly. The
	file pkgsrc.tar.{bz,gz,xz} contains the same
	as the directory, ready to be downloaded as a whole.
The current directory contains files
	related to the HEAD branch of the CVS repository.
	In this directory there is an additional file called
	pkgsrc-readmes.tar.{bz,gz,xz} that contains
	all pkgsrc READMEs with information about
	categories and packages.
	
The stable directory is a symlink to
	the latest 
	pkgsrc-20.
	xxQy
The
	pkgsrc-20.
	directories contain files related to the 
	xxQy-20
	stable branch of the CVS repository. In these directories there is
	an additional file called
	xxQypkgsrc-20,
	which contains the state of pkgsrc when it was branched.xxQy.tar.{bz,gz,xz}