Remove CVS cruft. Revert mangled manpages.
authormdw <mdw>
Mon, 27 Sep 2004 13:25:38 +0000 (13:25 +0000)
committermdw <mdw>
Mon, 27 Sep 2004 13:25:38 +0000 (13:25 +0000)
.cvsignore [deleted file]
archtab.5
perl/sw-cgi.1
perl/sw-tidy.1
src/sw_build.c
sw-env.5
sw-info.5
sw-share.1
sw.1

diff --git a/.cvsignore b/.cvsignore
deleted file mode 100644 (file)
index 79a2774..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-Makefile.in
-aclocal.m4
-config.h.in
-configure
-stamp-h.in
-build
-alpha
-sgi
-sparc
-install
-.deps
-i386-linux
-sparc-solaris
-alpha-osf1
-mips-irix
-.sw-info
index 33aff87..9dde6c4 100644 (file)
--- a/archtab.5
+++ b/archtab.5
@@ -1,6 +1,6 @@
 .\" -*-nroff-*-
 .\"
-.\" $Id: archtab.5,v 1.4 2004/04/08 01:52:18 mdw Exp $
+.\" $Id$
 .\"
 .\" Manual page for `archtab' files.
 .\"
 .\" along with sw-tools; if not, write to the Free Software Foundation,
 .\" Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 .
+.\"----- Style hacking ------------------------------------------------------
+.
+.de VS \" Start a sort-of verbatim block
+.sp 1
+.in +5n
+.nf
+.ft B
+..
+.de VE \" Stop a sort-of verbatim block
+.ft R
+.fi
+.in -5n
+.sp 1
+..
+.de hP \" Start an indented paragraph with a bold right-aligned label
+.IP
+\fB\h'-\w'\\$1\ 'u'\\$1\ \fP\c
+..
+.
+.ie \n(.g \{\
+.      fam P
+.      ds mw \fR[\f(BImdw\fR]
+.\}
+.el    .ds mw \fR[\fBmdw\fR]
+.ie t   .ds o \(bu
+.el     .ds o o
+.ds sw \fBsw\fP
+.ds se \fBsw\-env\fP
+.
+.\"----- Main manual text ---------------------------------------------------
+.
+.TH archtab 5 "25 May 1999" sw-tools
+.PD 1
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "NAME"
+.
+archtab \- mapping from architecture names to hosts
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "DESCRIPTION"
+.
+The
+.B archtab
+file is a sequence of lines.  A line may be blank, a comment, or a table
+entry.  Blank lines contain only whitespace; comments have a
+.RB ` # '
+as their first non-whitespace character: both are ignored.  Table
+entries consist an architecture name and a hostname, separated by
+whitespace.  Each architecture should only appear once.  The hostname
+should be the preferred host for building software on that architecture.
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "SEE ALSO"
+.
+.BR sw (1).
+.
+.SH "AUTHOR"
+.
+The \*(sw program, and this manual, are \*(mw productions, in association
+with the European Bioinformatics Institute.  They were written by Mark
+Wooding <mdw@nsict.org>.  Go and ask him if you have problems.
+.
+.\"----- That's all, folks --------------------------------------------------
index f5f5012..634a2c2 100644 (file)
@@ -1,6 +1,6 @@
 .\" -*-nroff-*-
 .\"
-.\" $Id: sw-cgi.1,v 1.2 2004/04/08 01:52:19 mdw Exp $
+.\" $Id$
 .\"
 .\" Man page for `sw' CGI script
 .\"
 .\" along with sw-tools; if not, write to the Free Software Foundation,
 .\" Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 .
+.\"----- Style hacking ------------------------------------------------------
+.
+.de VS \" Start a sort-of verbatim block
+.sp 1
+.in +5n
+.nf
+.ft B
+..
+.de VE \" Stop a sort-of verbatim block
+.ft R
+.fi
+.in -5n
+.sp 1
+..
+.ie \n(.g \{\
+. fam P
+. ds mw \fR[\f(BImdw\fR]
+.\}
+.el .ds mw \fR[\fBmdw\fR]
+.ie t .ds o \(bu
+.el .ds o o
+.ds sw \fBsw\fP
+.
+.\"----- Main manual text ---------------------------------------------------
+.
+.TH sw-cgi 1 "30 July 1999" sw-tools
+.PD 1
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "NAME"
+.
+sw-cgi \- CGI script for browsing installed software and documentation
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "SYNOPSIS"
+.
+.IB prefix /cgi-bin/sw
+.RI [ key = value ]...
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "DESCRIPTION"
+.
+The
+.B sw
+CGI script provides users with a pleasant-ish interface for browsing the
+list of locally installed software and its documentation.
+.PP
+The script picks up arguments from HTTP
+.B GET
+or
+.B POST
+requests, or from the command line (which is useful when debugging).
+Given no arguments, it emits a table of installed software read from the
+index file in
+.IB prefix /sw-index
+together with links to documentation.
+.PP
+The program assumes that any
+.I package
+has documentation stashed in
+.IB prefix /doc/ package
+in plain text format.  You can require your installers to do this by
+putting this code in a
+.B sw-precommit
+script (see the
+.B "Command reference"
+in
+.BR sw (1)
+for details):
+.VS
+# --- Ensure the documentation file exists ---
+
 if [ ! -r "$SW_PREFIX/doc/$SW_PACKAGE" ]; then
   echo >&2 "no documentation file \`$SW_PREFIX/doc/$SW_PACKAGE'"
   exit 1
index f7ffeb8..5e6b30a 100644 (file)
@@ -1,6 +1,6 @@
 .\" -*-nroff-*-
 .\"
-.\" $Id: sw-tidy.1,v 1.2 2004/04/08 01:52:19 mdw Exp $
+.\" $Id$
 .\"
 .\" Manual page for `sw-tidy'
 .\"
 .\" along with sw-tools; if not, write to the Free Software Foundation,
 .\" Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 .
+.ie \n(.g \{\
+. fam P
+. ds mw \fR[\f(BImdw\fR]
+.\}
+.el .ds mw \fR[\fBmdw\fR]
+.ds sw \fBsw\fP
+.
+.\"----- Main manual text ---------------------------------------------------
+.
+.TH sw-tidy 1 "30 July 1999" sw-tools
+.
+.\"--------------------------------------------------------------------------
+.
+.SH NAME
+.
+sw-tidy \- tidy \fBsw\fP's index file
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "SYNOPSIS"
+.
+.B sw-tidy
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "DESCRIPTION"
+.
+The
+.B sw-tidy
+command reads
+.BR sw (1)'s
+index file
+.IB prefix /sw-index
+and writes out a new version with duplicate packages removed.  This
+makes it take less space, and lets programs read it faster.  Also, as a
+side-effect, the new version is written out in alphabetical order of
+package-name, although that's not very important.
+.PP
+The program copes (a bit) if the index file is written to while it's
+being tidied.
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "BUGS"
+.
+Perhaps there ought to be a locking convention for the index file.
+However, it's nice that people can update it using
+.BR cat (1)
+and text editors.
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "SEE ALSO"
+.
+.BR sw (1),
+.BR sw-info (5).
+.
+.SH "AUTHOR"
+.
+The \*(sw program, and this manual, are \*(mw productions, in association
+with the European Bioinformatics Institute.  They were written by Mark
+Wooding <mdw@nsict.org>.  Go and ask him if you have problems.
+.
+.\"----- That's all, folks --------------------------------------------------
index 9a30260..717ca06 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: sw_build.c,v 1.5 2004/04/08 01:52:19 mdw Exp $
+ * $Id$
  *
  * Management of build processes
  *
@@ -37,6 +37,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <time.h>
 
 #include <sys/types.h>
 #include <sys/time.h>
index 84a5bca..df62cc1 100644 (file)
--- a/sw-env.5
+++ b/sw-env.5
@@ -1,6 +1,6 @@
 .\" -*-nroff-*-
 .\"
-.\" $Id: sw-env.5,v 1.4 2004/04/08 01:52:18 mdw Exp $
+.\" $Id$
 .\"
 .\" Manual page for `sw-env' files
 .\"
 .\" along with sw-tools; if not, write to the Free Software Foundation,
 .\" Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 .
+.\" --- Useful macro definitions ---
+.
+.de VS \" Start a sort-of verbatim block
+.sp 1
+.in +5n
+.nf
+.ft B
+..
+.de VE \" Stop a sort-of verbatim block
+.ft R
+.fi
+.in -5n
+.sp 1
+..
+.de hP \" Start an indented paragraph with a bold right-aligned label
+.IP
+\fB\h'-\w'\\$1\ 'u'\\$1\ \fP\c
+..
+.\"
+.\" --- Style hacking ---
+.\"
+.ie \n(.g \{\
+.  fam P
+.  ds mw \fR[\f(BImdw\fR]
+.\}
+.el .ds mw \fR[\fBmdw\fR]
+.ie t .ds o \(bu
+.el .ds o o
+.ds sw \fBsw\fP
+.ds se \fBsw\-env\fP
+.
+.\"----- Main manual text ---------------------------------------------------
+.
+.TH sw-env 5 "25 May 1999" sw-tools
+.PD 1
+.
+.\"--------------------------------------------------------------------------
+.
+.SH NAME
+.
+sw\-env \- environment variable assignment files for \*(sw.
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "DESCRIPTION"
+.
+A \*(se file is a sequence of statements.  The following statements are
+supported:
+.sp 1
+.in +5n
+.B :
+.I value
+.RB [ ; ]
+.br
+.B include
+.I value
+.RB [ ; ]
+.br
+.B arch
+.I value
+.B {
+.IR statement ...
+.B }
+.RB [ ; ]
+.br
+.RB [ set ]
+.I name
+.RB [ = ]
+.I value
+.RB [ ; ]
+.br
+.B unset
+.I name
+.RB [ ; ]
+.in -5n
+.sp 1
+Whitespace serves to separate tokens but is otherwise ignored except
+when it occurs quoted within a
+.IR value .
+The file may also contain comments, which begin with a
+.RB ` # '
+character and extend to the end of the line.  The start of a comment
+must appear where a new statement is expected.  Apart from its behaviour
+of terminating comments, newlines behave the same way as other
+whitespace characters.  Keywords are not reserved words.
+.PP
+A
+.I name
+is a sequence of digits, letters and underscores which does not start
+with a digit.
+.PP
+A
+.I value
+may contain any non-null character, although some characters are special
+and must be quoted.  The syntax of
+.IR value s
+is loosely based on the Bourne
+shell, although there are differences and irregularities due to the
+quick and dirty nature of the parser.  The various quoting and
+substitution operations are described below.
+.
+.SS "Statements"
+.
+The statements behave as follows:
+.TP
+.B :
+The following
+.I value
+is read and discarded.  This is not useless: reading a
+.I value
+may cause variables to be assigned as a result of
+`\c
+.BI ${ name = value }\c
+\&' substitutions.
+.TP
+.B include
+A
+.I value
+is read, and further assignments are read from the file so named, if it
+exists.  Conventionally, the last statement in the global \*(se file is
+.VS
+include ".sw-env";
+.VE
+to read in package-specific settings.
+.TP
+.B arch
+The following
+.I value
+is read.  If it matches the name of the host's architecture, then the
+brace-enclosed statements are executed; otherwise they're ignored.  It's
+possible, though not useful, to nest
+.B arch
+statements.
+.TP
+.B set
+A
+.I name
+and
+.I value
+are read, optionally separated by an
+.RB ` = '
+character.  The variable named is assigned the value, replacing any
+previously assigned value, if any.  The
+.RB ` set '
+keyword is optional.  It's only useful so that you can assign values to
+variables whose names are also statement keywords.
+.TP
+.B unset
+A
+.I name
+is read.  Any value assigned to the variable named is discarded, and the
+variable is forgotten.
+.
+.SS "Value syntax"
+.
+The parser usually reads a
+.I value
+a character by character, until it finds a delimiter.  Delimiter
+characters are
+.RB ` ( ',
+.RB ` ) ',
+.RB ` { ',
+.RB ` } ',
+and
+.RB ` ; ';
+whitespace also acts as a delimiter.  Delimiter characters can only
+appear in a value if quoted.
+.PP
+There are three types of quoting understood by the value reader.  A
+backslash
+.RB (` \e ')
+character causes the following character to be stripped of its special
+meaning.  Hence
+.RB ` \e\e '
+inserts a literal backslash.  Text between single quotes
+.RB ` \' ... \' '
+is read
+entirely as-is, including all whitespace, newlines, backslashes,
+everything.  To include a single quote in a piece of single-quoted text,
+use the sequence
+.RB ` \'\e\'\' ',
+as in the shell.  (This drops out of single-quoting, inserts an escaped
+single quote, and resumes quoting.)  Text between double quotes
+.BR """" ... """"
+is partially quoted: delimiters and whitespace are read as normal
+characters, but substitutions using the
+.RB ` $ '
+and
+.RB ` \` '
+characters are still made, and the backslash retains its behaviour of
+escaping the following character.
+.PP
+Two sorts of substitutions are available in values:
+.I "variable substitution"
+examines a variable and substitutes some text based on its value, and
+.I "command substitution"
+runs a command and substitutes its output.
+.PP
+The simplest variable substitution takes the form
+.RB ` $\c
+.IR name ':
+this is replaced by the value of the variable called
+.IR name ,
+or the empty string if there is no such variable defined.  The name may
+be enclosed in braces should it be necessary to clearly disambiguate the
+end of the name.
+.PP
+More complex variable substitutions are permitted:
+.TP
+.BI ${ name \- text }
+Expands to the value of the variable called
+.I name
+if it's defined, or
+.I text
+if not.
+.TP
+.BI ${ name + text }
+Expands to
+.I text
+if there is a variable called
+.I name
+defined, or nothing.
+.TP
+.BI ${ name = text }
+If there is no variable called
+.I name
+then create one with the value
+.IR text ;
+then expands to the variable's value.
+.PP
+In each of the above, prefixing the operator character
+.RB ` \- ',
+.RB ` + '
+or
+.RB ` = '
+with a colon
+.RB (` : ')
+changes the variable existence test, such that it will believe that a
+variable whose value is the empty string is not defined.  Each
+.I text
+part in the above forms is syntactically a
+.IR value ,
+and may itself contain quoting and substitutions.  It may also contain
+unescaped whitespace.
+.PP
+There are two forms for command substitution: the backtick form, where a
+command is enclosed in backquotes
+.RB ` \` ... \` ';
+and the parenthesized form
+.RB ` $( ... ) '.
+The only difference between these two forms is syntactic: it's easy to
+make the parenthesized version nest, although that's not actually very
+useful.  The text between the backquotes or parentheses is broken into
+words and executed as a command.  It is not passed through the shell:
+the author suspects that this would be too confusing.  The standard
+output of the command, with trailing newlines (but not internal or
+leading newlines) removed, is the result of the substitution.
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "AUTHOR"
+.
+The \*(sw program, and this manual, are \*(mw productions, in association
+with the European Bioinformatics Institute.  They were written by Mark
+Wooding <mdw@nsict.org>.  Go and ask him if you have problems.
+.
+.\"----- That's all, folks --------------------------------------------------
index e69de29..3e1b073 100644 (file)
--- a/sw-info.5
+++ b/sw-info.5
@@ -0,0 +1,136 @@
+.\" -*-nroff-*-
+.\"
+.\" $Id$
+.\"
+.\" Manual page for `sw-info' files.
+.\"
+.\" (c) 1999 EBI
+.\"
+.
+.\"----- Licensing notice ---------------------------------------------------
+.\"
+.\" This file is part of sw-tools.
+.\"
+.\" sw-tools is free software; you can 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 of the License, or
+.\" (at your option) any later version.
+.\" 
+.\" sw-tools 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
+.\" along with sw-tools; if not, write to the Free Software Foundation,
+.\" Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+.
+.\"----- Style hacking ------------------------------------------------------
+.
+.de VS \" Start a sort-of verbatim block
+.sp 1
+.in +5n
+.nf
+.ft B
+..
+.de VE \" Stop a sort-of verbatim block
+.ft R
+.fi
+.in -5n
+.sp 1
+..
+.de hP \" Start an indented paragraph with a bold right-aligned label
+.IP
+\fB\h'-\w'\\$1\ 'u'\\$1\ \fP\c
+..
+.
+.ie \n(.g \{\
+.      fam P
+.      ds mw \fR[\f(BImdw\fR]
+.\}
+.el     .ds mw \fR[\fBmdw\fR]
+.ie t   .ds o \(bu
+.el     .ds o o
+.ds sw \fBsw\fP
+.ds se \fBsw\-env\fP
+.
+.\"----- Main manual text ---------------------------------------------------
+.
+.TH sw-info 5 "25 May 1999" sw-tools
+.PD 1
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "NAME"
+.
+sw-info \- description of sw data files
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "DESCRIPTION"
+.
+The
+.B .sw\-info
+file contains blank lines, comment lines, and assignments.  A blank line
+contains only whitespace; a comment line has a
+.RB ` # '
+as its first non-whitespace character: both are ignored.  An assignment
+has the form
+.sp 1
+.in +5n
+.I name
+.RB [ = ]
+.I value
+.in -5in
+.sp 1
+where
+.I name
+is one of the field names described below, and
+.I value
+is any text which doesn't contain newlines, semicolons or null bytes.
+Any leading whitespace is stripped; trailing and internal space is
+preserved.
+.PP
+The fields available are:
+.TP
+.B package
+The package's name.
+.TP
+.B version
+The version number of the package.
+.TP
+.B maintainer
+The user name of the package's local maintainer.
+.TP
+.B date
+The date at which this package was last modified by \*(sw, in the form
+.IB YYYY \- MM \- DD\fR.
+.TP
+.B only\-arch
+The current architecture restriction.  The architecture names are
+separated by commas or spaces (or both).  This field is omitted if there
+is no restriction in force.
+.TP
+.B arch
+Successfully built architectures.  The architecture names are separated
+by commas or spaces (or both).
+.PP
+The
+.B sw\-index
+file consists of a number of entries, one per line.  Comments and blank
+lines are not allowed.  Each line contains assignments for a particular
+package, separated by semicolons rather than newlines.
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "SEE ALSO"
+.
+.BR sw (1).
+.
+.SH "AUTHOR"
+.
+The \*(sw program, and this manual, are \*(mw productions, in association
+with the European Bioinformatics Institute.  They were written by Mark
+Wooding <mdw@nsict.org>.  Go and ask him if you have problems.
+.
+.\"----- That's all, folks --------------------------------------------------
index e69de29..5fdbd12 100644 (file)
@@ -0,0 +1,83 @@
+.\" -*-nroff-*-
+.\"
+.\" $Id$
+.\"
+.\" Manual page for `sw-share'
+.\"
+.\" (c) 1999 EBI
+.\"
+.
+.\"----- Licensing notice ---------------------------------------------------
+.\"
+.\" This file is part of sw-tools.
+.\"
+.\" sw-tools is free software; you can 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 of the License, or
+.\" (at your option) any later version.
+.\" 
+.\" sw-tools 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
+.\" along with sw-tools; if not, write to the Free Software Foundation,
+.\" Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+.
+.ie \n(.g \{\
+. fam P
+. ds mw \fR[\f(BImdw\fR]
+.\}
+.el .ds mw \fR[\fBmdw\fR]
+.ds sw \fBsw\fP
+.
+.\"----- Main manual text ---------------------------------------------------
+.
+.TH sw-share 1 "30 July 1999" sw-tools
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "NAME"
+.
+sw-share \- propagate links to architecture-neutral directories
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "SYNOPSIS"
+.
+.B sw-share
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "DESCRIPTION"
+.
+The
+.B sw-tidy
+program works on software repositories like ours (described in the
+.B "Local quirks"
+section of the
+.BR sw (1)
+manpage).  It trundles through the architecture neutral directories in
+.I prefix
+(the chosen install prefix for \*(sw) and makes symbolic links to them
+in all of the architecture specific directories lying in
+.IB prefix /arch/ \c
+.IR arch .
+This is a good thing to put in a
+.BR cron (8)
+job.
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "SEE ALSO"
+.
+.BR sw (1).
+.
+.SH "AUTHOR"
+.
+The \*(sw program, and this manual, are \*(mw productions, in association
+with the European Bioinformatics Institute.  They were written by Mark
+Wooding <mdw@nsict.org>.  Go and ask him if you have problems.
+.
+.\"----- That's all, folks --------------------------------------------------
diff --git a/sw.1 b/sw.1
index 9ed09ca..510f0c5 100644 (file)
--- a/sw.1
+++ b/sw.1
@@ -1,3 +1,80 @@
+.\" -*-nroff-*-
+.\"
+.\" $Id$
+.\"
+.\" Manual page for `sw'
+.\"
+.\" (c) 1999 EBI
+.\"
+.
+.\"----- Licensing notice ---------------------------------------------------
+.\"
+.\" This file is part of sw-tools.
+.\"
+.\" sw-tools is free software; you can 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 of the License, or
+.\" (at your option) any later version.
+.\" 
+.\" sw-tools 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
+.\" along with sw-tools; if not, write to the Free Software Foundation,
+.\" Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+.
+.\"----- Style hacking ------------------------------------------------------
+.
+.de VS \" Start a sort-of verbatim block
+.sp 1
+.in +5n
+.nf
+.ft B
+..
+.de VE \" Stop a sort-of verbatim block
+.ft R
+.fi
+.in -5n
+.sp 1
+..
+.de hP \" Start an indented paragraph with a bold right-aligned label
+.IP
+\fB\h'-\w'\\$1\ 'u'\\$1\ \fP\c
+..
+.
+.ie \n(.g \{\
+. fam P
+. ds mw \fR[\f(BImdw\fR]
+.\}
+.el .ds mw \fR[\fBmdw\fR]
+.ie t .ds o \(bu
+.el .ds o o
+.ds sw \fBsw\fP
+.
+.\"----- Main manual text ---------------------------------------------------
+.
+.TH sw 1 "25 May 1999" sw-tools
+.PD 1
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "NAME"
+.
+sw \- tool for convenient software installation
+.
+.\"--------------------------------------------------------------------------
+.
+.SH "SYNOPSIS"
+.
+.nf
+\fBsw \-\-help
+\fBsw \-\-help-full
+\fBsw \-\-version
+\fBsw \-\-archname
+\fBsw \-\-remote \fIcommand
+
 \fBsw all\-arch
 \fBsw arch
 \fBsw commit