[BACK]Return to ftp-layout.xml CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / doc / guide / files

File: [cvs.NetBSD.org] / pkgsrc / doc / guide / files / ftp-layout.xml (download)

Revision 1.13, Sun Oct 11 20:50:48 2009 UTC (14 years, 5 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2018Q4-base, pkgsrc-2018Q4, pkgsrc-2018Q3-base, pkgsrc-2018Q3, pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1, pkgsrc-2017Q4-base, pkgsrc-2017Q4, pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2, pkgsrc-2017Q1-base, pkgsrc-2017Q1, pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3, pkgsrc-2016Q2-base, pkgsrc-2016Q2, pkgsrc-2016Q1-base, pkgsrc-2016Q1, pkgsrc-2015Q4-base, pkgsrc-2015Q4, pkgsrc-2015Q3-base, pkgsrc-2015Q3, pkgsrc-2015Q2-base, pkgsrc-2015Q2, pkgsrc-2015Q1-base, pkgsrc-2015Q1, pkgsrc-2014Q4-base, pkgsrc-2014Q4, pkgsrc-2014Q3-base, pkgsrc-2014Q3, pkgsrc-2014Q2-base, pkgsrc-2014Q2, pkgsrc-2014Q1-base, pkgsrc-2014Q1, pkgsrc-2013Q4-base, pkgsrc-2013Q4, pkgsrc-2013Q3-base, pkgsrc-2013Q3, pkgsrc-2013Q2-base, pkgsrc-2013Q2, pkgsrc-2013Q1-base, pkgsrc-2013Q1, pkgsrc-2012Q4-base, pkgsrc-2012Q4, pkgsrc-2012Q3-base, pkgsrc-2012Q3, pkgsrc-2012Q2-base, pkgsrc-2012Q2, pkgsrc-2012Q1-base, pkgsrc-2012Q1, pkgsrc-2011Q4-base, pkgsrc-2011Q4, pkgsrc-2011Q3-base, pkgsrc-2011Q3, pkgsrc-2011Q2-base, pkgsrc-2011Q2, pkgsrc-2011Q1-base, pkgsrc-2011Q1, pkgsrc-2010Q4-base, pkgsrc-2010Q4, pkgsrc-2010Q3-base, pkgsrc-2010Q3, pkgsrc-2010Q2-base, pkgsrc-2010Q2, pkgsrc-2010Q1-base, pkgsrc-2010Q1, pkgsrc-2009Q4-base, pkgsrc-2009Q4
Changes since 1.12: +3 -3 lines

We are heading towards 2010, which makes year references like
200x obsolete.

<!-- $NetBSD: ftp-layout.xml,v 1.13 2009/10/11 20:50:48 rillig Exp $ -->

<appendix id="ftp-layout">
<title>Directory layout of the pkgsrc FTP server</title>

	<para>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
	<filename>ftp.NetBSD.org</filename> is <ulink
	url="ftp://ftp.NetBSD.org/pub/pkgsrc/"><filename>/pub/pkgsrc/</filename></ulink>.
	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.</para>

<sect1 id="ftp-distfiles">
<title><filename>distfiles</filename>: The distributed source files</title>

	<para>The directory <filename>distfiles</filename> 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 <filename>release.tar.gz</filename>).</para>

</sect1>
<sect1 id="ftp-misc">
<title><filename>misc</filename>: Miscellaneous things</title>

	<para>This directory contains things that individual pkgsrc
	developers find worth publishing.</para>

</sect1>
<sect1 id="ftp-packages">
<title><filename>packages</filename>: Binary packages</title>

	<para>This directory contains binary packages for the various
	platforms that are supported by pkgsrc.
	Each subdirectory is of the form <replaceable>OPSYS</replaceable
	>/<replaceable>ARCH</replaceable
	>/<replaceable>OSVERSION_TAG</replaceable
	>. The meaning of these variables is:</para>

	<itemizedlist>

	<listitem><para><varname>OPSYS</varname> is the name of the
	operating system for which the packages have been built. The
	name is taken from the output of the <command>uname</command>
	command, so it may differ from the one you are used to
	hear.</para></listitem>
	
	<listitem><para><varname>ARCH</varname> is the hardware
	architecture of the platform for which the packages have been
	built. It also includes the <varname>ABI</varname> (Application
	Binary Interface) for platforms that have several of
	them.</para></listitem>

	<listitem><para><varname>OSVERSION</varname> is the version of
	the operating system. For version numbers that change often (for
	example NetBSD-current), the often-changing part should be
	replaced with an <literal>x</literal>, for example
	<literal>4.99.x</literal>.</para></listitem>

	<listitem><para><varname>TAG</varname> is either
	<literal>20<replaceable>xx</replaceable>Q<replaceable>y</replaceable></literal>
	for a stable branch, or <literal>head</literal> for packages
	built from the HEAD branch. The latter should only be used when
	the packages are updated on a regular basis. Otherwise the date
	from checking out pkgsrc should be appended, for example
	<literal>head_20071015</literal>.</para></listitem>

	</itemizedlist>

	<para>The rationale for exactly this scheme is that the pkgsrc users looking for binary packages
	can quickly click through the directories on the
	server and find the best binary packages for their machines. Since they
	usually know the operating system and the hardware architecture, OPSYS
	and ARCH are placed first. After these choices, they can select the
	best combination of OSVERSION and TAG together, since it is usually the
	case that packages stay compatible between different version of the
	operating system.</para>

	<para>In each of these directories, there is a
	whole binary packages collection for a specific platform. It has a directory called
	<filename>All</filename> which contains all binary packages.
	Besides that, there are various category directories that
	contain symbolic links to the real binary packages.</para>

</sect1>
<sect1 id="ftp-reports">
<title><filename>reports</filename>: Bulk build reports</title>

	<para>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 <xref
	linkend="ftp-packages"/>.</para>

</sect1>
<sect1 id="ftp-source">
<title><filename>current</filename>,
<filename>pkgsrc-20<replaceable>xx</replaceable>Q<replaceable>y</replaceable></filename>:
source packages</title>

	<para>These directories contain the <quote>real</quote> pkgsrc,
	that is the files that define how to create binary packages from
	source archives.</para>

	<para>The directory <filename>pkgsrc</filename> contains a
	snapshot of the CVS repository, which is updated regularly. The
	file <filename>pkgsrc.tar.gz</filename> contains the same as the
	directory, ready to be downloaded as a whole.</para>

	<para>In the directories for the quarterly branches, there is an
	additional file called
	<filename>pkgsrc-20<replaceable>xx</replaceable>Q<replaceable>y</replaceable>.tar.gz</filename>,
	which contains the state of pkgsrc when it was branched.</para>

</sect1>
</appendix>