Moved manpage into pod.

This commit is contained in:
joey
2000-04-21 22:48:23 +00:00
parent fe84a0dbfc
commit 81997cb622
3 changed files with 205 additions and 174 deletions

214
alien
View File

@@ -1,14 +1,208 @@
#!/usr/bin/perl
#
# Script to convert dpkg, rpm, tgz packages.
# Original author:
# Christoph Lameter, <clameter@debian.org> October 30, 1996
# The deb -> rpm conversion code was written by:
# Randoph Chung <rc42@cornell.edu>
# Current maintainer:
# Joey Hess <joeyh@debian.org>
#
# Copyright: GPL
=head1 NAME
alien - Convert or install an alien binary package
=head1 SYNOPSIS
alien [--to-deb] [--to-rpm] [--to-tgz] [--to-slp] [options] file [...]
=head1 DESCRIPTION
B<alien> is a program that converts between Redhat rpm, Debian deb,
Stampede slp and Slackware tgz file formats. If you want to use a package from
another linux distribution than the one you have installed on your system,
you can use alien to convert it to your preferred package format and install it.
=head1 WARNING
Despite the high version number, alien is still (and will probably always
be) rather experimental software. It's been under development for many
years now, but there are still many bugs and limitations.
Alien should not be used to replace important system packages, like
init, libc, or other things that are essential for the functioning of
your system. Many of these packages are set up differently by the
different distributions, and packages from the different distributions
cannot be used interchangeably. In general, if you can't remove a
package without breaking your system, don't try to replace it with an
alien version.
=head1 PACKAGE FORMAT NOTES
=over 4
=item rpm
For converting to and from rpm format the Red Hat Package Manager must be
installed.
=item deb
For converting to (but not from) deb format, the gcc, make, debmake,
dpkg-dev, and dpkg packages must be installed.
=item tgz
Note that when converting from the tgz format, B<alien> will simply generate an
output package that has the same files in it as are in the tar file. This
only works well if the tar file has precompiled binaries in it in a
standard linux directory tree. Do NOT run alien on tar files with source
code in them, unless you want this source code to be installed in your root
directory when you install the package!
=back
=head1 OPTIONS
Alien will convert all the files you pass into it into all the output types
you specify. If no output type is specified, it defaults to converting to
deb format.
=over 4
=item file [...]
The list of package files to convert.
=item B<-d>, B<--to-deb>
Make debian packages. This is the default.
=item B<-r>, B<--to-rpm>
Make rpm packages.
=item B<-t>, B<--to-tgz>
Make tgz packages.
=item B<--to-slp>
Make slp packages.
=item B<-i>, B<--install>
Automatically install each generated package, and remove the package file
after it has been installed.
=item B<-g>, B<--generate>
Generate a temporary directory suitable for building a package from, but do
not actually create the package. This is useful if you want to move files
around in the package before building it. The package can be built from
this temporary directory by running "debian/rules binary", if you were creating
a Debian package, or by running "rpm -bb <packagename>.spec" if you were
creating a Red Hat package.
=item B<-s>, B<--single>
Like -g, but do not generate the packagename.orig directory. This is only
useful when you are very low on disk space and are generating a debian
package.
=item B<--patch=>I<patch>
Specify the patch to be used instead of automatically looking the patch up
in B</var/lib/alien>. This has no effect unless a debian package is being
built.
=item B<--nopatch>
Do not use any patch files.
=item B<--description=>I<desc>
Specifiy a description for the package. This only has an effect when
converting from the tgz package format, which lacks descriptions.
=item B<-c>, B<--scripts>
Try to convert the scripts that are meant to be run when the
package is installed and removed. Use this with caution, becuase these
scripts might be designed to work on a system unlike your own, and could
cause problems. It is recommended that you examine the scripts by hand
and check to see what they do before using this option.
=item B<-k>, B<--keep-version>
By default, alien adds one to the minor version number of each package it
converts. If this option is given, alien will not do this.
=item B<-h>, B<--help>
Display a short usage summary.
=back
=head1 EXAMPLES
Here are some examples of the use of alien:
=over 4
=item alien --to-deb package.rpm
Convert the package.rpm into a package.deb
=item alien --to-rpm package.deb
Convert the package.deb into a package.rpm
=item alien -i package.rpm
Convert the package.rpm into a package.deb (converting to a .deb package is
default, so you need not specify --to-deb), and install the generated
package.
=item alien --to-deb --to-rpm --to-tgz --to-slp foo.deb bar.rpm baz.tgz
Creates 9 new packages. When it is done, foo bar and baz are available in
all 4 package formats.
=back
=head1 ENVIRONMENT
Alien recognizes the following environemnt variables:
=over 4
=item RPMBUILDOPT
Options to pass to rpm when it is building a package.
=item RPMINSTALLOPT
Options to pass to rpm when it is installing a package.
=back
=head1 NOTES
When using alien to convert a tgz package, all files in /etc in are assumed to be
configuration files.
If alien is not run as root, the files in the generated package will have
incorrect owners and permissions.
=head1 AUTHOR
Alien was written by Christoph Lameter, B<<clameter@debian.org>>.
Deb to rpm conversion code was taken from the Martian program by
Randolph Chung, B<<rc42@cornell.edu>>.
Alien has been extensively rewritten (3 times) and is now maintained by Joey Hess
B<<joeyh@debian.org>>.
=head1 COPYRIGHT
Alien may be copied amd modified under the terms of the GNU General Public
License.
=cut
use strict;

164
alien.1
View File

@@ -1,164 +0,0 @@
.TH alien 1L "Debian Utilities" "DEBIAN" \" -*- nroff -*-
.SH NAME
alien \- Convert or install an alien binary package
.SH SYNOPSIS
\fBalien\fP [\fB--to-deb\fP] [\fB--patch=file\fP] [\fBoptions\fP] \fBfile\fP [\fB...\fP]
.br
\fBalien\fP --to-rpm [\fBoptions\fP] \fBfile\fP [\fB...\fP]
.br
\fBalien\fP --to-tgz [\fBoptions\fP] \fBfile\fP [\fB...\fP]
.br
\fBalien\fP --to-slp [\fBoptions\fP] \fBfile\fP [\fB...\fP]
.SH DESCRIPTION
To build Debian packages,
.I alien
is simply called with a parameter giving the
name of the alien package to be converted. A look up will then be done in
.B /var/lib/alien/packagename*.diff.gz
and then in
.B /usr/lib/alien/patches/packagename*.diff.gz .
If such a diff exists then the alien package is unpacked and the patch is
applied to debianize the package. If there is no such diff then
.I alien
will attempt to automatically debianize the package. After this, alien will
build the debian binary package, and it will be saved to the current
directory.
.PP
To build Red Hat packages, alien must be called with the --to-rpm parameter,
and the name of the alien package to be converted.
.I Alien
will then generate a spec file, and call rpm to build the package.
.PP
This tool probably needs to be run as superuser. Make sure that there is
enough room in the current directory since
.I alien
will build the package in that location.
.SH ALIEN PACKAGE FORMATS
.I Alien
can input and output packages in the Red Hat .rpm format, the Debian .deb
format, the Stampede .slp format, the Slackware .tgz format and the
generic .tar.gz format.
.PP
For converting from and to .rpm format the Red Hat Package Manager must be
installed (See
.B rpm (8)
).
.PP
For converting to (but not from) .deb format, the gcc, make, debmake, dpkg-dev,
and dpkg packages must be installed.
.PP
Note that for the .tar.gz format,
.I alien
will simply generate a .deb or .rpm package that has the same files in it as
are in the tar file. This only works well if the tar file has precompiled
binaries in it in a standard linux directory tree. Do NOT run alien on tar
files with source code in them, unless you want this source code to be
installed in your root directory when you install the package!
.SH OPTIONS
.TP
.I file [...]
The list of files to convert.
.TP
.I -d, --to-deb
The output package will be a debian package. This is the default.
.TP
.I -r, --to-rpm
The output package will be a rpm package.
.TP
.I -t, --to-tgz
The output will be a slackware tgz package.
.TP
.I --to-slp
The output will be a stampede slp package.
.TP
.I -i, --install
Automatically install the output package, and remove the package file
after it has been installed.
.TP
.I -g, --generate
Generate a temporary directory suitable for building a package from, but do
not actually create the package. This is useful if you want to move files
around in the package before building it. The package can be built from this
temporary directory by running "debian/rules binary", if you were creating a
Debian package, or by running "rpm -bb <packagename>.spec" if you were
creating a Red Hat package.
.TP
.I -s, --single
Like -g, but do not generate the packagename.orig directory. This is only
useful when you are very low on disk space and are generating a debian
package.
.TP
.I --patch=patch
Specify the patch to be used instead of automatically looking the patch up
in
.B /var/lib/alien/ .
This is only allowed with --to-deb.
.TP
.I --nopatch
Do not use any patch files.
.TP
.I --description=desc
Specifiy a description for the package. This can only be used when
converting from slackware tgz packages, which lack descriptions. If it is
not used when converting from slackware tgz packages, a generic description
is used.
.TP
.I -c, --scripts
Try to convert the scripts that are meant to be run when the
package is installed and removed. Use this with caution, becuase these
scripts might be designed to work on a system unlike your own, and could
cause problems. It is reccommended that you examine the scripts by hand
and check to see what they do before using this option.
.TP
.I -k, --keep-version
By default, alien adds one to the minor version number. If this option
is given, alien will not do this.
.TP
.I -h, --help
Display a short usage summary.
.SH EXAMPLES
Here are some examples of the use of alien:
.TP
.I alien --to-deb package.rpm
Convert the package.rpm into a package.deb
.TP
.I alien --to-rpm package.deb
Convert the package.deb into a package.rpm
.TP
.I alien -i package.rpm
Convert the package.rpm into a package.deb (converting to a .deb package is
default, so you need not specify --to-deb), and install the generated
package.
.SH ENVIRONMENT
Alien recognizes the following environemnt variables:
.TP
.I RPMBUILDOPT
Options to pass to rpm when it is building a package.
.TP
.I RPMINSTALLOPT
Options to pass to rpm when it is installing a package.
.SH LIMITATIONS
When running alien on a tar file, all files in /etc in are assumed to be
configuration files.
.PP
Alien does not account for differences in configuration between different
linux distributions. So don't use it to replace something essential like
sysvinit. You could destroy your system by doing so. In general, if you
can't uninstall the package without breaking your system, don't try to
replace it with an alien version.
.PP
If alien is not run as root, the files in the generated package will have
incorrect owners and permissions.
.SH AUTHOR
Alien was written by Christoph Lameter.
.br
<clameter@debian.org>
.PP
Deb to rpm conversion code was taken from the Martian program by
Randolph Chung.
.br
<rc42@cornell.edu>
.PP
Alien has been extensively rewritten and is now maintained by Joey Hess.
.br
<joeyh@debian.org>

1
debian/changelog vendored
View File

@@ -19,6 +19,7 @@ alien (6.99) unstable; urgency=low
* The template files were all moved inside the objects, which is actually
cleaner and is certainly easier to deal with.
* Usernames are now looked up the way POSIX intended.
* alien.1 is now generated from POD docs.
-- Joey Hess <joeyh@debian.org> Thu, 20 Apr 2000 18:52:41 -0700