diff --git a/alien b/alien index 6568986..02e665a 100755 --- a/alien +++ b/alien @@ -1,14 +1,208 @@ #!/usr/bin/perl -# -# Script to convert dpkg, rpm, tgz packages. -# Original author: -# Christoph Lameter, October 30, 1996 -# The deb -> rpm conversion code was written by: -# Randoph Chung -# Current maintainer: -# Joey Hess -# -# 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 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 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 .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 + +Specify the patch to be used instead of automatically looking the patch up +in B. This has no effect unless a debian package is being +built. + +=item B<--nopatch> + +Do not use any patch files. + +=item B<--description=>I + +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<>. + +Deb to rpm conversion code was taken from the Martian program by +Randolph Chung, B<>. + +Alien has been extensively rewritten (3 times) and is now maintained by Joey Hess +B<>. + +=head1 COPYRIGHT + +Alien may be copied amd modified under the terms of the GNU General Public +License. + +=cut use strict; diff --git a/alien.1 b/alien.1 deleted file mode 100644 index 6d60e20..0000000 --- a/alien.1 +++ /dev/null @@ -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 .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 - -.PP -Deb to rpm conversion code was taken from the Martian program by -Randolph Chung. -.br - -.PP -Alien has been extensively rewritten and is now maintained by Joey Hess. -.br - diff --git a/debian/changelog b/debian/changelog index 7350ed7..a74491c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 Thu, 20 Apr 2000 18:52:41 -0700