swim - chapter 7
MAKING NOT-INSTALLED DATABASES

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]


7.1 OVERVIEW

The not-installed database 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 virtual filesystem 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.

Whenever swim makes databases it thinks only in terms of one distribution and one architecture. This keeps things logical. swim 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 apt (apt-cache dumpavail).

--initndb creates the initial not-installed databases for a particular architecture and distribution, and --rebuildndb remakes the not-installed databases for that same architecure and distribution. If not otherwise specified swim will use the values it finds in swimrc to determine what architecture and distribution you want to use to make swim's databases. Otherwise...


7.2 OPTIONS

--arch allows an argument to override the architecture found in swimrc.

--dists allows an argument to override the distribution found in swimrc.

--alt is used for a distribution with a Debian archival structure, but which has a different name. This allows for alternative distributions.

When APT or DF are provided as arguments (see below), by default the Packages which pertain to the sections found in swimrc will be shown. If you only want certain sections you may specify them on the command line. If you are not using APT or DF, it is a good idea to make sure that either the sections found in swimrc or the sections you put on the command line match the Packages you a targetting because this is much more effecient.

--main will override the sections found in swimrc, and will use this section.

--contrib will override the sections found in swimrc, and will use this section

--non-free will override the sections found in swimrc, and will use this section

--non-us will override the sections found in swimrc, and will use this section

Global arguments targets|APT|DF must be used with either of these two major modes to find the Packages databases. targets can be a full path to one or a set of Packages. APT will use the Packages found in /var/state/apt/lists, and DF will use the Packages found in the default directory for swim (see --ftp). If you use either APT or DF you will be given an interface which allows you to choose one Packages database for each section you would like to use from the various sites. This interface shows the site, date, size and Release version for each Packages.

--cron allows you to override the interface produced when APT or DF is provided as an argument. This is useful if you want to automate the database making process. --cron will choose the newest database(s), 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.

--Contents can be give one of four arguments:

1). If you have a Contents-(architecture) database in a target location you know about you may provide a path to the location. The Contents database can be compressed.

2). If you prepend the path with the letters FDB (meaning flat database) when the databases for swim are made, instead of using the Contents database to make:

 
 nfileindex-arch-dists.deb
 nsearchindex-arch-dists.deb 
 ndirindex-arch-dists.deb

Only the ncontentsindex-arch-dists.deb.gz 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.

3). The argument DF may be used if you have used --ftp with the DF argument to the option --Contents (see --ftp). In this case it is assumed you are also using global arguments DF or APT for the Packages databases. This will give you an interface (if --cron isn't used) allowing you to choose one Contents database for the particular distribution you want to make the databases for.

4). FDB does the same exact thing with DF as it does with the before mentioned FDBtarget, and provides the interface.

-v will only work if you have dpkg installed. It allows swim to verify swim's own built-in version comparison function with dpkg's version comparison function. This is good for debugging purposes, and produces a report called .version_compare in the same location that swim's databases are made.

--split_data is only advantageous if --Contents is being used. See --initdb for more information about the --split_data option.

See Initial database making, and Rebuilding for an Installed system. , section 5.1 for options --dbpath and --root.


7.3 UPDATING

--ndb has the same options as --initndb and --rebuildndb except for --split_data. It also has a new option --nue 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). --check prints out the changes to STDERR, and the total to STDOUT without proceeding with the update. --status_only can be used after a new package has been installed to update the status, after which -qni and -qi will correlate properly.

7.4 REBUILDING THE SEARCH

--rebuildflatndb serves the same purpose as --rebuildflatdb. See REBUILDING THE SEARCH , section 5.3

7.5 FILES

Databases and reports which are made (arch = architecture dists = distribution):

 
 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>


swim - Copyright © 1999 Jonathan D. Rosenbaum
Contents; next; back.
15 June 1999
Jonathan D. Rosenbaummttrader@access.mountain.net