Page 1 of 1

[Solved] how to install alien on centos 8?

Posted: 2020/10/07 06:01:20
by chankim
I should install a driver and during the install the script complained that it doesn't understand alien.
I found viewtopic.php?f=54&t=73292&p=308387&hilit=alien#p308387.
when I tried the .rpm file I get this errors. and 'alien' command doesn't work.
[root@stph33 Downloads]# rpm -i alien-8.95-11.fc31.src.rpm
warning: alien-8.95-11.fc31.src.rpm: Header V3 RSA/SHA256 Signature, key ID 3c3359c4: NOKEY
warning: user mockbuild does not exist - using root
warning: group mock does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mock does not exist - using root
can anyone help? thanks!

Re: how to install alien on centos 8?

Posted: 2020/10/07 08:51:05
by chankim
I've searched for the alien source file and found this page : https://sourceforge.net/projects/alien-pkg-convert/
The INSTALL file says :
To install alien, become root and type:
perl Makefile.PL; make; make install
etri@stph33:~/Downloads/alien-8.95$ sudo perl Makefile.PL
[sudo] password for etri:
Can't locate ExtUtils/MakeMaker.pm in @INC (you may need to install the ExtUtils::MakeMaker module) (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at Makefile.PL line 2.
BEGIN failed--compilation aborted at Makefile.PL line 2.

So the message seems to say that the "ExtUtils/MakeMaker.pm" is not in one of those @INC directories.
So I search 'installing ExtUtils on Centos 8' and found this page : https://centos.pkgs.org/8/centos-appstr ... h.rpm.html
The page says it can install it by
dnf install perl-ExtUtils-Install
The ExtUtils were installed ok. Now the result :
etri@stph33:~/Downloads/alien-8.95$ sudo perl Makefile.PL
Generating a Unix-style Makefile
Writing Makefile for Alien
Writing MYMETA.yml and MYMETA.json
then, the make and make install seems to run ok. and now I can use alien.
etri@stph33:~/Downloads/alien-8.95$ alien
You must specify a file to convert.

Usage: alien [options] file [...]
file [...] Package file or files to convert.
-d, --to-deb Generate a Debian deb package (default).
Enables these options:
--patch=<patch> Specify patch file to use instead of automatically
looking for patch in /var/lib/alien.
--nopatch Do not use patches.
--anypatch Use even old version os patches.
-s, --single Like --generate, but do not create .orig
directory.
--fixperms Munge/fix permissions and owners.
--test Test generated packages with lintian.
-r, --to-rpm Generate a Red Hat rpm package.
--to-slp Generate a Stampede slp package.
-l, --to-lsb Generate a LSB package.
-t, --to-tgz Generate a Slackware tgz package.
Enables these options:
--description=<desc> Specify package description.
--version=<version> Specify package version.
-p, --to-pkg Generate a Solaris pkg package.
-i, --install Install generated package.
-g, --generate Generate build tree, but do not build package.
-c, --scripts Include scripts in package.
--target=<arch> Set architecture of the generated package.
-v, --verbose Display each command alien runs.
--veryverbose Be verbose, and also display output of run commands.
-k, --keep-version Do not change version of generated package.
--bump=number Increment package version by this number.
-h, --help Display this help message.
-V, --version Display alien's version number.
Hope this helps anyone.