# Binary Packages

This directory contains binary packages for (in theory) a variety of
operating systems, CPU architctures, operating system versions, and
pkgsrc branches.

This file is partially a restatement of
https://www.netbsd.org/docs/pkgsrc/ftp-layout.html but also contains
further details.

## Component names

  - OPSYS = operating system name, typically `uname`
  - CPU = CPU type, more formally "machine processor architecture", typically `uname -p`
  - OSVERSION = operating system version
  - TAG = short name for pkgsrc branch, e.g. "2024Q1" or "current"

## Layout

Binary packages for a particular system will typically be at

  - ${OPSYS}/${CPU}/${OSVERSION}_${TAG}

Within NetBSD, because releases maintain ABI compatibility, OSVERSION
is generally of the form 9.0 or 10.0, usable with 9.4 or (future)
10.1, respectively.

## Symlinks

People, perhaps because they are using pkgin, might wish to have a
repository URL that will automatically follow along as new pkgsrc
branches are released.  These are within an ${OPSYS}/${CPU} directory,
and are typically from a N.0 to some N.0_${TAG}.  See "Promotion of
binary package sets" at https://www.pkgsrc.org/quarterly/ for details.

NB: Symlinks may move as soon as a new quarter's build substantially
completes, which means that issues with the build process itself have
been addressed.  By the policy referenced above, symlink moving should
not be held up because packages viewed as important do not build on
the new branch.  *People that do not want this behavior should use
explicit URLs and should not use symlinks.*

## Repository Contents

Each repository contains a checksum file and a directory "All", which
has pkg_summary.gz and binary packages.

# Package build information

See also the "Bulk Tracker" site, which ingests and displays reports
of bulk package builds.  This is helpful for understanding which
packages are available on what platforms, and if not, why.

https://releng.NetBSD.org/bulktracker/

# Alternate Locations

See "SEE_ALSO" in this directory, and in each OPSYS directory.  This
explains where to find packages that have been removed from this site
due to being for old OPSYS versions or old branches, and packages
built by other people.