Home
Downloads Packages Zounds! Links News archive Documentation NPC Howto NPC developer Howto Repository internals Sync guide Sourceforge page Releases Browse CVS |
The zounds repository format
Abstract This document presents the directory and file format used by repositories of software packages that can be used by zounds, the user-friendly package manager for Zoularis. Repository structureZounds repositories are meant to be a medium of distribution for free software packages. Directory structureA repository is defined by a file://, http:// or ftp:// resource locator that points to a directory. This directory contains at least a file named Repository.gz (details below), wich is a general description of the repository. Package files (with .tgz extension) are located in a subdirectory named All. Every other subdirectory contains excusively symbolic links to these packages, and a file named Files.list.gz (described below), which give details about the available packages. A repository contains binary packages for one given operating system, version, architechture combination, e.g. SunOS-5.8/sparc. If a repository is available from a server, the URL of the All directories should be: <protocol>://<server>/<root>/<system>-<revision>/<arch>/ where <system> is given by the uname -s command, <revision> by uname -r, and <arch> by uname -p. These three fields correspond to the OPSYS, OS_VERSION and MACHINE_ARCH pkgsrc Makefile variables. Examples: ftp://ftp.foo.com/bar/SunOS-5.8/sparc/ file://localhost/usr/pkgsrc/packages/NetBSD-1.5.3/i386/ File syntaxThese files share common properties: they are gzip-compressed ascii files, which are described by the following bnf grammar (in the spirit of Windows' .ini configuration files): file ::= section* section ::= ignored* header (entry | ignored)* header ::= <open> <alnum>+ <close> <lf> ignored ::= (comment | <space>*) <lf> comment ::= <comment> <char>* entry ::= key <space>* <is> <space>* value key ::= <alnum>+ value ::= (<alnum> | <space>)* <open> '[' <close> ']' <comment> ';' or '#' <char> any printable ASCII character <alnum> letter, digit, dot, dash or underscore <is> ':' or '=' <lf> the ASCII linefeed character <space> ASCII space or tab character The semantics are fairly simple:
The Repository file
The Files file
|
contact us:
julien |
nicolas |
marc
Last modified by Julien T. Letessier. Revision 1.1 (2002-11-23). repository.html generated the 2003-07-21. |