Browse Source

Things are beginning to take shape.

master
freesource 23 years ago
parent
commit
327fd2ead6
  1. 140
      swim-doc/QUICKSTART.text
  2. 90
      swim-doc/REQUIREMENTS.text
  3. 1622
      swim-doc/swim.text
  4. 294
      swim-doc/swimrc.text

140
swim-doc/QUICKSTART.text

@ -0,0 +1,140 @@
READ THE REQUIREMENTS
Now you can skip the next three steps if you have an installed Debian
distribution and you are in a hurry for a demonstration, but you will miss
out on swim's more awesome capabilities. With that said.....
FIRST GET SWIMRC PREPARED
Edit the swimrc configution file, you should read swimrc(5), but I'll ask
you some question right now. You can find swimrc in /etc/swim, and in
your home directory in the subdirectory .swim. Entries in the home
directory swimrc override ones in /etc/swim.
Are you using an installed Debian system? If so, you almost definitely
have dpkg installed. So uncomment this line in /etc/swim/swimrc by
removing the pound sign.
$package_tool = "/usr/bin/dpkg";
otherwise
$package_tool = "/usr/bin/ar";
Do you have the apt package installed? Configure this, or -xyz will not
work.
$apt = "yes";
Now you need to decide what architecture you would like to be swim's
default value when you download, build, and query the not-installed
databases.
What flavor, do you want alpha, arm, hurd-i386, i386, m68k, powerpc,
or sparc? (more coming :*) I decided on .....
$architecture = "i386";
What kind of distribution do you want to be your default? stable,
unstable, frozen, or experimental (rare) I like the ever changing ...
$distribution = "unstable";
Decide which sections you want? You can have this
@user_defined_section = qw(main contrib non-free);
or this.
@user_defined_section = qw(main);
or .....
SECOND GET SWIMZ.LIST PREPARED
Now grab a copy of the README.mirrors from
http://www.debian.org/misc/README.mirrors, you will need this to set-up
the configuration file /etc/swim/swimz.list.
If your using apt make sure to read swim(8) to get the nitty gritty on how
you can synchronize swim along with apt :*} using swimz.list.
Humm, you found a site which has the distribution you want, and you know
which section you want, and you are happy knowing about packages which can
install on the architecture you computer happens to have.
So what site is that?
deb ftp://ftp.swimz.org
What was the directory you happened to notice in the README.mirrors page?
deb ftp://ftp.swimz.org/pub/debian
What distribution did you want? Note: You won't want to use the Release
code name for the distribution, see swimz.list.
deb ftp://ftp.swimz.org/pub/debian unstable
What sections did you want?
deb ftp://ftp.swimz.org/pub/debian unstable main contrib non-free
Now put this line in the swimz.list, exactly like written, and ofcourse
use the values you want.
THIRD GET THE DEBIAN DATABASE WITH FTP
Just issue this command.
swim --ftp --Contents DF --Packages DF
and wait a little bit.
FOURTH BUILD THE DATABASES
This is for a computer system with a Debian distribution installed.
swim --initdb
This next part applies to people who followed all the steps to get here,
and also read the important requirements at the top. This makes the
not-installed databases. Go take a walk, or a swim :*}
swim --initndb --Contents DF DF
When either of these commands are complete they will say "over and out".
NOW WHAT?
Now the real fun begins. If you happen to have some experience with rpm
you already know some of the options which swim uses, but be prepared for
surpises. swim(8) goes into more detail, the "Maximum RPM" book by
Edward C. Bailey which is freely available may provide help for swim's
--query option, but you will find that swim greatly diverges from rpm.
Try something like this, and do not use the -n unless you made the
not-installed databases, on the other hand, REMEMBER to use -n if you
do not have an installed system....
swim -n --search swim
now do this..
swim -qnSi or swim -hn
go to the directory /usr/bin and do
swim -qnf .
you probably will have to do
swim -qnft .
...the fun is just beginning...
Where are you swimming to today?

90
swim-doc/REQUIREMENTS.text

@ -0,0 +1,90 @@
REQUIRMENTS:
Don't get intimidated, this is just to cover all bases, most computer
systems meet the requirements.
PERL: Yes, preferably Perl 5.004.04 or greater.
FTP CAPABILITIES: (optional) You may need to get Net::FTP (Debian
libnet-perl package) which depends on Data::Dumper (Debian data-dumper
package). Also check the CPAN mirrors or the PACKAGES below. You also
need gcc if you do not have a Debian system so that swim can figure out
what architecture your machine is. You can also find these modules at the
CPAN mirrors or the PACKAGES below.
READLINE CAPABILITIES: (optional) For nice readline cpabilities get
Term::ReadLine::Gnu or alternatively Term::ReadLine::Perl which depends on
Term::ReadKey. Term::ReadLine::Gnu may be tricky to set-up on non Debian
systems because it depends on ncurses3.4 and the GNU Readline Library
version 2.1 or later, but Term::ReadLine::Perl is much easier to set-up
and allows a huge amount of package names to be present on the command
line without a segmentation fault. You could get swim's ftp capabilities
working first, and then just fetch the Debian ReadLine package(s) and then
use swim's --extract option to set the package(s) up, but, it is sure fun
doing a 'make test' when setting up the ReadLine modules! You can also
find these modules at the CPAN mirrors or the PACKAGES below.
DATABASE CAPABILITIES: DB_File comes standard with Perl. But, this
doesn't mean it is compiled for the newer Berkeley Database Libraries. DB
1.85 has known bugs which effect SWIM. SWIM can work with 1.85, but
--rebuildflatdb and --rebuildflatndb will not work properly. You can run
a test to find out whether or not you need to make the change if you have
db_dump available on your system (which db_dump). Enter this:
perl -e 'use DB_File; tie %testdb,'DB_File',"testdb";';
db_dump testdb
If 'db_dump testdb' produces an error you need to make the change by
installing the newest DB_File. If you have a version of libc6 less than
2.1, first, install a new version (2.3.4 or greater) of the Berkeley DB if
you don't already have it installed. If you get DB_File from CPAN you
will need to edit config.in to point to the location of where libdb2
installed db.h, where libdb2 is installed on your system, and the name of
the library. For Debian this would be:
INCLUDE = /usr/include/db2
LIB = /usr/lib
DBNAME = -ldb2
PACKAGES - You can get the CPAN modules in some package formats. Debian
2.1 and Red Hat 5.0 have been tested with these packages:
Debian -
libnet-perl and
data-dumper and
libterm-readline-gnu-perl (plus a lot more) or
libterm-readline-perl-perl and
libterm-readkey-perl
libdb2
Red Hat -
perl-libnet and
perl-Data-Dumper
db-?
USER: root. Some of swim's most important functions will not work
properly unless you are running the program as root.
HARD DRIVE SPACE: Make sure you have enough hard drive space. 1500
installed packages produces a 10MB fileindex.deb, and the virtual
not-installed filesystem database for the unstable distribution is now
over 40MB. 100MB of free space on your hard drive is probably a good
safety margin, if you run out of hard drive space the program will just
hang or quit.
MEMORY: Databases made for an installed Debian system require memory in
proportion to the amount of packages actually installed; the --lowmem
option is an excellent alternative for making the databases if the
computer system is either overloaded or low on memory. If you get "out of
memory" warnings try to free up some memory first then make the databases.
You can also avoid making the virtual filesystem by not using the
--Contents option or using the FDB argument for that option. Updating the
databases uses very little memory.
OTHER SWIM FUNCTIONS: Most free operating systems have these packages
installed: On a non Debian system, ar from binutils is used to query
Debian binary packages. These next packages are essential in a free
operating system (Linux) - textutils, fileutils, grep, tar, gzip, and
mount.

1622
swim-doc/swim.text

File diff suppressed because it is too large

294
swim-doc/swimrc.text

@ -0,0 +1,294 @@
swimrc - swim configuration file
--------------------------------
Jonathan D. Rosenbaum<mttrader@access.mountain.net>
27 May 1999
0.1 Contents
------------
1. DESCRIPTION
2. USAGE
3. VARIABLES
3.1. OUTPUT VARIABLE
3.2. HISTORY
3.3. AR or DPKG?
3.4. APT
3.5. PAGER
3.6. NOT-INSTALLED VARIABLES
3.7. DF LOCATION
3.8. TEMPORARY DIRECTORY
3.9. FTP
4. OTHER VARIABLES
5. FILES
6. BUGS
0.2 Copyright Notice
--------------------
Copyright © 1999 Jonathan D. Rosenbaum
SWIM, including this manual, is free software; you may redistribute it
and/or modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2, or (at
your option) any later version.
This is distributed in the hope that it will be useful, but *without
any warranty*; without even the implied warranty of merchantability or
fitness for a particular purpose. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License with
the swim source as the file `COPYING'. If not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-------------------------------------------------------------------------------
1. DESCRIPTION
---------------
swimrc is the configuartion file for swim allowing many default values
to be set so that they do not have to be mentioned on the command
line. Swimrc interacts directly with Perl allowing a wide variety of
variables found in SWIW::Conf to be altered.
-------------------------------------------------------------------------------
2. USAGE
---------
Values for variable can be altered for *swim* by assigning different
values enclosed in quotes or quoted whitespace (qw()), and ending with
a semi-colon.
` $variable = ``value'';'
`$variable = ``(value1 value2 ..)'';'
-------------------------------------------------------------------------------
3. VARIABLES
-------------
This is a list of variables with explanations. The default values for
*swim* are shown.
3.1. OUTPUT VARIABLE
---------------------
`$my_number' can be changed to how many lines you would like ``swim
-qf <>'' to print out, before the program asks for `-t' or `--total'.
Exception: If `-i' is used in the query and there is more than one
package then the total will be presented.
Hint: `-t' can be used with all the various `--scripts' family members
to view the title of the script file regardless of this variable
setting, and if `-t' has to be used, the titles will be displayed,
which makes sense.
*$my_number = 23;*
3.2. HISTORY
-------------
This is a shell-like history kept in relation to searches and the most
recent edit when `--stdin' is used.
*$HISTORY = 10;*
3.3. AR or DPKG?
-----------------
Debian packages are ar archives. If you are using a Debian
Distribution assign ``dpkg'' to $package_tool, otherwise assign ``ar''
to $package_tool.
*$package_tool = "/usr/bin/ar";*
3.4. APT
---------
*Swim* does not assign a value for apt. To use `--apt' and `-xyz'
assign `$apt' the value ``yes''.
Example: *$apt = "yes";*
3.5. PAGER
-----------
*less* is a nice pager, unless you like *more*! Pager is used for
`--help' and *swim* called without any options. There is an option
`--nopager' or `-n'. *more* comes from the required package
util-linux, whereas *less* comes from a standard package called less.
Values: ``less'', ``more'', or ``most'' or...
*$ENV{PAGER} = "less";*
3.6. NOT-INSTALLED VARIABLES
-----------------------------
Assign values for `$architecture' and/or `$distribution' to avoid
having to use `--arch' and `--dists' everytime the not-installed
databases are accessed with `-n' or made or altered.
Architectures are always being added so check with Debian to find a
list. There is *alpha, arm, hurd-i386 (alternative kernel to linux),
i386, m68k, powerpc, sparc*. Just use the arch found after the hyphen
in the Contents-(arch) file.
*$architecture = "i386";*
The distribution can be either *stable, unstable, frozen, or
experimental (rare)*. These represent the state of development that
the packages are under. The unstable distribution can have lot's of
changes within a very short time period, and frozen may or may not be
available.
*$distribution = "unstable";*
Distributions are divided into sections. These sections were called
distributions in the version 2.4.1.0 packaging manual, because they
were at one time separate distributions, but this has since changed.
You can determine which of the sections *main, non-free, contrib or
non-US* to pull out of the Contents file if you don't want to use
`--main', `--contrib', `--non-free', and `--non-us' to selectively
pick the sections.
For efficiency, you should choose the sections which you will be
pulling out of the Packages `file(s)' being targetted.
Rule: Use ``non-US'' not ``non-us''.
*@user_defined_section = qw(main contrib non-free non-US);*
3.7. DF LOCATION
-----------------
A little philosophy: *swim* was developed for maximum versatility, so
whether you are just interested in researching, and keeping tabs on
the newest packages, or maintaining a Debian virtual distribution on a
non-Debian distribution, or you are a using *swim* for distribution
development, *swim* provides a way.
The next two variables determine the location of the DF (default
directory/file system)
The default directory keeps track of Contents and/or Packages
databases retrieved with --ftp. The Contents and Packages databases
and Release file are give names specific to the distribution and
architectures they represent using the naming convention found in
apt's sources directory. You also have the freedom not to use the
default directory, in which case swim will still do the renaming and
keeping track of the mtime, but you will have to remember where you
put the files.
*$default_directory = '/root/.swim';*
The default root directory (DRD) is the key to easy management of
binary packages, source, dsc, and diff files received from --ftp, and
provides an easy way to put together a personalized distribution. This
directory can be a real ftp site on your computer, or put wherever
else you are allowed to have directories. The DRD is always placed
below the value assigned to $default_directory. According to the
previous assignment to $default_directory, if the DRD is
``/pub/a/debian'' then the full path would be
``/root/.swim/pub/a/debian''.
Example: When a package is downloaded it will be placed in
dists/distribution/section/architecture/subject below the DRD.
Rule: debian must be the final directory before dists, this is because
other distributions are placed alongside debian, like debian-non-US or
personal (specialized distribution).
*$default_root_directory = '/pub/debian';*
Because you may be using a real ftp site, this variable allows you to
determine what permissions *swim* will assign for directories it
creates below the DRD.
*$permission = '0755';*
3.8. TEMPORARY DIRECTORY
-------------------------
If you want to set an alternative directory for the temporary files
created when the databases are made, change here. You may want to make
`$tmp' a RAM disk. See package loadlin for initrd documentation and an
explanation for making such a disk. There is also documentation in
/usr/src/kernel-source.version/Documentation. Whether this will speed
things up is a subject of experimentation.
*$tmp = "/tmp";*
3.9. FTP
---------
You can alter the Firewall, Port, Timeout, Debug and Passive
characteristics of the ftp client as defined in Net::FTP(3pm) by
providing arguments to these variables. All variables but $timeout are
set to untrue by default.
$firewall = 0; (FTP firewall machine name)
$port = 0; (defaults to 23)
$timeout = 120; (120 seconds)
$debug = 0; (1 will turn on STDERR)
$passive = 0; (1 will enable)
-------------------------------------------------------------------------------
4. OTHER VARIABLES
-------------------
see SWIM::Conf
-------------------------------------------------------------------------------
5. FILES
---------
` /etc/swim/swimrc'
`~/.swim/swimrc'
-------------------------------------------------------------------------------
6. BUGS
-------
Send directly to mttrader@access.mountain.net.
-------------------------------------------------------------------------------
swimrc - swim configuration file
Jonathan D. Rosenbaum<mttrader@access.mountain.net> 27 May 1999
Loading…
Cancel
Save