Appendix D. Directory layout of the pkgsrc FTP server
Prev     Next




Appendix D. Directory layout of the pkgsrc FTP server



Table of Contents


D.1. distfiles: The distributed source files

D.2. misc: Miscellaneous things

D.3. packages: Binary packages

D.4. reports: Bulk build reports

D.5. current, stable, pkgsrc-20xxQy: source packages



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.orgis/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.


D.1. distfiles: The distributed source files


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).



D.2. misc: Miscellaneous things


This directory contains things that individual pkgsrc  developers find worth publishing.



D.3. packages: Binary packages


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  20YYQN for a stable branch, or current 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.mdinpackages 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.  



D.4. reports: Bulk build reports


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.



D.5. current, stable, pkgsrc-20xxQy: source 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-20xxQy  directories share the same structure. They each contain a  pkgsrc 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-20xxQy.  

The  pkgsrc-20xxQy.  directories contain files related to the  -20xxQy  stable branch of the CVS repository. In these directories there is  an additional file called  pkgsrc-20xxQy.tar.{bz,gz,xz},  which contains the state of pkgsrc when it was branched.




Prev     Next
Appendix C. Build logs  Home  Appendix E. Help topics