1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
|
.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]
.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 .
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. Note that
rpm will by default place the new package under
.B /usr/src/redhat/ .
.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 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 -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 --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 hve
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@master.debian.org>
|