mirror of
				https://github.com/fspc/dswim.git
				synced 2025-10-31 08:25:35 -04: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>
 |