Rewrote the appendix covering the directory layout on ftp.NetBSD.org.

This commit is contained in:
rillig 2006-05-29 07:47:34 +00:00
parent f19dd3ff9b
commit 74557ce3a8

View file

@ -1,95 +1,89 @@
<!-- $NetBSD: ftp-layout.xml,v 1.4 2005/10/23 11:25:58 rillig Exp $ -->
<!-- $NetBSD: ftp-layout.xml,v 1.5 2006/05/29 07:47:34 rillig Exp $ -->
<appendix id="ftp-layout">
<title>Layout of the FTP server's package archive</title>
<title>Directory layout of the pkgsrc FTP server</title>
<para>Layout for precompiled binary packages on ftp.NetBSD.org:</para>
<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>.
This directory contains some subdirectories, which are explained
below.</para>
<!-- BEWARE! Use no tabs here, only spaces! -->
<programlisting>
/pub/NetBSD/packages/
distfiles/
<sect1 id="ftp-bootstrap">
<title><filename>bootstrap-pkgsrc</filename>: Bootstrap kits</title>
# Unpacked pkgsrc trees
pkgsrc-current -> /pub/NetBSD/NetBSD-current/pkgsrc
pkgsrc-2003Q4 -> N/A
pkgsrc-2004Q1/pkgsrc
<para>For those who only want to manage binary packages on
systems other than NetBSD, we provide the package management
tools in a separate, small tar file.</para>
# pkgsrc archives
pkgsrc-current.tar.gz -> ../NetBSD-current/tar_files/pkgsrc.tar.gz
pkgsrc-2003Q4.tar.gz -> N/A
pkgsrc-2004Q1.tar.gz -> N/A
</sect1>
<sect1 id="ftp-distfiles">
<title><filename>distfiles</filename>: The distributed source files</title>
# Per pkgsrc-release/OS-release/arch package archives
pkgsrc-2003Q4/
NetBSD-1.6.2/
i386/
All/
archivers/
foo -> ../All/foo
...
pkgsrc-2004Q1/
NetBSD-1.6.2/
i386/
All/
...
NetBSD-2.0/
i386/
All/
...
SunOS-5.9/
sparc/
All/
...
x86/
All/
...
<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>
# Per os-release package archive convenience links
NetBSD-1.6.2 -> 1.6.2
1.6.2/
i386 -> ../pkgsrc-2004Q1/NetBSD-1.6.2/i386
m68k/
All/
archivers/
foo -> ../All/foo
...
amiga -> m68k
atari -> m68k
...
</sect1>
<sect1 id="ftp-iso">
<title><filename>iso</filename>: Currently empty</title>
2.0 -> NetBSD-2.0 # backward compat, historic
NetBSD-2.0/
i386 -> ../pkgsrc-2004Q1/NetBSD-2.0/i386
SunOS-5.9/
sparc -> ../pkgsrc-2004Q1/SunOS-5.9/sparc
x86 -> ../pkgsrc-2004Q1/SunOS-5.9/x86
</programlisting>
<para>This directory is currently not in use.</para>
<para>
To create:</para>
</sect1>
<sect1 id="ftp-misc">
<title><filename>misc</filename>: Miscellaneous things</title>
<orderedlist>
<listitem>
<para> Run bulk build, see <xref linkend="bulkbuild"/> </para>
</listitem>
<para>This directory contains things that individual pkgsrc
developers find worth publishing.</para>
<listitem>
<para> Upload /usr/pkgsrc/packages to </para>
</sect1>
<sect1 id="ftp-packages">
<title><filename>packages*</filename>: Binary packages</title>
<programlisting>
ftp://ftp.NetBSD.org/pub/NetBSD/packages/\
pkgsrc-2004Q4/\ # pkgsrc-branch
`uname -s`-`uname -r`/\ # OS & version
`uname -p` # architecture
</programlisting>
<para>These directories contain binary packages. Those
directories that have a branch name
(200<replaceable>x</replaceable>Q<replaceable>y</replaceable>)
contain packages from that particular branch. The directory
<filename>packages</filename> contains binary packages from
pkgsrc-current. (However, this does not necessarily mean that
the packages are still current anymore.)</para>
</listitem>
<para>Below the <filename>packages*</filename> directories are
directories that distinguish the packages by operating system
and version, the next directory level specifies the hardware
architecture.</para>
<listitem>
<para> If necessary, create a symlink <command>ln -s `uname -m` `uname
-p`</command> (amiga -> m68k, ...) </para>
</listitem>
</orderedlist>
<para>In each of the platform-specific directories, there is a
whole binary packages collection. 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-source">
<title><filename>current</filename>,
<filename>200<replaceable>x</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 on a regularly
basis. 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-200<replaceable>x</replaceable>Q<replaceable>y</replaceable>.tar.gz</filename>,
which contains the state of pkgsrc when it was branched.</para>
</sect1>
</appendix>