mirror of
https://github.com/fspc/dswim.git
synced 2025-02-22 00:23:28 -05:00
231 lines
8.7 KiB
HTML
231 lines
8.7 KiB
HTML
<html><head>
|
||
<title>swim - MAKING NOT-INSTALLED DATABASES
|
||
</title>
|
||
<link rev=made href="mailto:mttrader@access.mountain.net">
|
||
</head><body>
|
||
<h1>
|
||
swim - chapter 7<br>
|
||
MAKING NOT-INSTALLED DATABASES
|
||
|
||
</h1>
|
||
|
||
<pre>
|
||
usage: swim --initndb
|
||
swim --ndb
|
||
swim --rebuildndb
|
||
|
||
options: [--Contents <target|FDBtarget|DF|FDBDF>]
|
||
[--main] [--contrib] [--non-free] [--non-us]
|
||
[--arch <architecture>] [--dists <distribution>]
|
||
[--dbpath <dir>] [--root <dir>] [--alt]
|
||
[--split_data <lines>] [-v] [--cron]
|
||
[targets|APT|DF]
|
||
</pre>
|
||
<P>
|
||
<hr>
|
||
<h2><A name="s7.1">
|
||
7.1 OVERVIEW
|
||
|
||
</A></h2>
|
||
The <strong>not-installed database</strong> provides swim with many capabilities like the searching, and querying of
|
||
packages which do not actually exist on the live filesystem, as well as the
|
||
ability to seamlessly install packages while searching or quering, or the
|
||
ability to fetch the packages source code. The <em>virtual filesystem</em> is optional, but it is highly recommended. These two major mode options set
|
||
up these databases, after determining the level of interaction which you
|
||
want.
|
||
<P>
|
||
|
||
Whenever <strong>swim</strong> makes databases it thinks only in terms of
|
||
one distribution and one architecture. This keeps things logical.
|
||
<strong>swim</strong> does have the ability to take Packages files with
|
||
multiple architectures, and distributions, and to extract information for
|
||
one distribution and one archictecture to make its databases. This could
|
||
provide interesting information from dumps from <strong>apt</strong>
|
||
(<code>apt-cache dumpavail</code>).
|
||
<P>
|
||
|
||
<strong>--initndb</strong> creates the initial not-installed databases for
|
||
a particular architecture and distribution, and
|
||
<strong>--rebuildndb</strong> remakes the not-installed databases for that
|
||
same architecure and distribution. If not otherwise specified
|
||
<strong>swim</strong> <em>will use the values</em> it finds in
|
||
<em>swimrc</em> to determine what architecture and distribution you want
|
||
to use to make <strong>swim's</strong> databases. Otherwise...
|
||
|
||
<hr>
|
||
<h2><A name="s7.2">
|
||
7.2 OPTIONS
|
||
|
||
</A></h2>
|
||
<strong>--arch</strong> allows an argument to override the
|
||
<strong>architecture</strong> found in <em>swimrc</em>.
|
||
|
||
<P>
|
||
|
||
<strong>--dists</strong> allows an argument to override the
|
||
<strong>distribution</strong> found in <em>swimrc</em>.
|
||
<P>
|
||
|
||
<strong>--alt</strong> is used for a distribution with a Debian archival
|
||
structure, but which has a different name. This allows for alternative
|
||
distributions.
|
||
<P>
|
||
|
||
When <strong>APT</strong> or <strong>DF</strong> are provided as arguments
|
||
(see below), by default the <em>Packages</em> which pertain to the
|
||
sections found in <em>swimrc</em> will be shown. If you only want certain
|
||
sections you may specify them on the command line. If you are not using
|
||
<strong>APT</strong> or <strong>DF</strong>, it is a good idea to make
|
||
sure that either the sections found in <em>swimrc</em> or the sections you
|
||
put on the command line match the <em>Packages</em> you a targetting
|
||
because this is much more effecient.
|
||
<P>
|
||
|
||
<strong>--main</strong> will override the sections found in
|
||
<em>swimrc</em>, and will use this section.
|
||
<P>
|
||
|
||
<strong>--contrib</strong> will override the sections found in
|
||
<em>swimrc</em>, and will use this section
|
||
<P>
|
||
|
||
<strong>--non-free</strong> will override the sections found in
|
||
<em>swimrc</em>, and will use this section
|
||
<P>
|
||
|
||
<strong>--non-us</strong> will override the sections found in
|
||
<em>swimrc</em>, and will use this section
|
||
<P>
|
||
|
||
Global arguments <strong>targets|APT|DF</strong> must be used with either
|
||
of these two major modes to find the <em>Packages</em> databases. targets
|
||
can be a full path to one or a set of <em>Packages</em>.
|
||
<strong>APT</strong> will use the <em>Packages</em> found in
|
||
<em>/var/state/apt/lists</em>, and <strong>DF</strong> will use the
|
||
Packages found in the default directory for <strong>swim</strong> (see
|
||
<code>--ftp</code>). If you use either <strong>APT</strong> or
|
||
<strong>DF</strong> you will be given an <strong>interface</strong> which
|
||
allows you to choose one <em>Packages</em> database for each section you
|
||
would like to use from the various sites. This <strong>interface</strong>
|
||
shows the <strong>site</strong>, <strong>date</strong>,
|
||
<strong>size</strong> and <strong>Release version</strong> for each
|
||
<em>Packages</em>.
|
||
<P>
|
||
|
||
<strong>--cron</strong> allows you to override the
|
||
<strong>interface</strong> produced when <strong>APT</strong> or
|
||
<strong>DF</strong> is provided as an argument. This is useful if you want
|
||
to automate the database making process. <strong>--cron</strong> will
|
||
choose the newest <code>database(s),</code> if cron notices that the Release
|
||
version has changed, cron will not proceed, but will provide a warning
|
||
instead. This allows you to make the appropriate changes and choices.
|
||
<P>
|
||
|
||
<strong>--Contents</strong> can be give one of four arguments:
|
||
<P>
|
||
|
||
<strong>1).</strong> If you have a <em>Contents-(architecture)</em>
|
||
database in a target location you know about you may provide a path to the
|
||
location. The <em>Contents</em> database can be compressed.
|
||
<P>
|
||
|
||
<strong>2).</strong> If you prepend the path with the letters
|
||
<strong>FDB</strong> (meaning flat database) when the databases for swim
|
||
are made, instead of using the Contents database to make:
|
||
|
||
<pre>
|
||
nfileindex-arch-dists.deb
|
||
nsearchindex-arch-dists.deb
|
||
ndirindex-arch-dists.deb</pre>
|
||
<P>
|
||
|
||
Only the <em>ncontentsindex-arch-dists.deb.gz</em> database will be made
|
||
which allows the ability to view file/dir listing for not-installed
|
||
packages, but does not provide the virtual file system or powersearch
|
||
capabilities which the other databases would have provided.
|
||
<P>
|
||
|
||
<strong>3).</strong> The argument <strong>DF</strong> may be used if you
|
||
have used <strong>--ftp</strong> with the <strong>DF</strong> argument to
|
||
the option <strong>--Contents</strong> (see <code>--ftp</code>). In this case
|
||
it is assumed you are also using global arguments <strong>DF</strong> or
|
||
<strong>APT</strong> for the Packages databases. This will give you an
|
||
<strong>interface</strong> (if --cron isn't used) allowing you to choose
|
||
one <em>Contents</em> database for the particular distribution you want to
|
||
make the databases for.
|
||
<P>
|
||
|
||
<strong>4).</strong> <strong>FDB</strong> does the same exact thing with
|
||
<strong>DF</strong> as it does with the before mentioned
|
||
<strong>FDBtarget</strong>, and provides the <strong>interface</strong>.
|
||
<P>
|
||
|
||
<strong>-v</strong> will only work if you have dpkg installed. It allows
|
||
swim to verify <strong>swim's</strong> own built-in version comparison
|
||
function with <strong>dpkg's version comparison function</strong>. This is
|
||
good for debugging purposes, and produces a report called
|
||
<em>.version_compare</em> in the same location that
|
||
<strong>swim's</strong> databases are made.
|
||
<P>
|
||
|
||
<strong>--split_data</strong> is only advantageous if
|
||
<strong>--Contents</strong> is being used. See <strong>--initdb</strong>
|
||
for more information about the <strong>--split_data</strong> option.
|
||
<P>
|
||
|
||
See <A href="ch-makinginst.html#s-initdb">Initial database making, and Rebuilding for an
|
||
Installed system.
|
||
, section 5.1</A> for options <code>--dbpath</code> and <code>--root</code>.
|
||
<hr>
|
||
<h2><A name="s7.3">
|
||
7.3 UPDATING
|
||
|
||
</A></h2>
|
||
|
||
<code>--ndb</code> has the same options as --initndb and --rebuildndb except
|
||
for --split_data. It also has a new option <code>--nue</code> which will
|
||
never have to be used unless the experimental distribution or non-us
|
||
section are found in Contents (which presently isn't the case).
|
||
<code>--check</code> prints out the changes to STDERR, and the total to STDOUT
|
||
without proceeding with the update. <code>--status_only</code> can be used
|
||
after a new package has been installed to update the status, after which
|
||
-qni and -qi will correlate properly.
|
||
<hr>
|
||
<h2><A name="s7.4">
|
||
7.4 REBUILDING THE SEARCH
|
||
|
||
</A></h2>
|
||
<code>--rebuildflatndb</code> serves the same purpose as --rebuildflatdb. See
|
||
<A href="ch-makinginst.html#s-searchy">REBUILDING THE SEARCH
|
||
|
||
, section 5.3</A>
|
||
<hr>
|
||
<h2><A name="s7.5">
|
||
7.5 FILES
|
||
|
||
</A></h2>
|
||
Databases and reports which are made (arch = architecture dists =
|
||
distribution):
|
||
<P>
|
||
|
||
<pre>
|
||
npackages-arch-dists.deb
|
||
nfileindex-arch-dists.deb requires <--Contents>
|
||
nstatusindex-arch-dists.deb
|
||
ngroupindex-arch-dists.deb
|
||
nsearchindex-arch-dists.deb
|
||
ndirindex-arch-dists.deb
|
||
.packagesdiff-arch-dists.deb requires <--Contents></pre>
|
||
<P>
|
||
<hr>
|
||
swim
|
||
- <A href="index.html#copyright">
|
||
Copyright <20> 1999 Jonathan D. Rosenbaum
|
||
</A>
|
||
<br>
|
||
<A href="index.html#toc">Contents</A>; <A href="ch-aptprep.html">next</A>; <A href="ch-important.html">back</A>.
|
||
<br>
|
||
<address>15 June 1999<br>
|
||
Jonathan D. Rosenbaum<A href="mailto:mttrader@access.mountain.net">mttrader@access.mountain.net</A></address>
|
||
</body></html>
|