[Perl Talks] 给 perl 的模块打包成rpm

Mar 15th, 2010

转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]

本文链接: http://www.php-oa.com/2010/03/15/perl-rpm-cpan2rpm.html

正如Fayland 所讲的" Perl 最让其他语言的人嫉妒的地方就是 CPAN. 有了 CPAN 我们几乎能找到所需要的任何东西."

我们常用 perl 中的模块,就象一个标准一样,不象别的语言,一直担心这个模块是否可用,是否有人维护等…

但我们用了 perl 的模块后,有个小问题,当我个有上千台服务器时,我们不可能每台服务器上编译一次,所以我们需要用到 perl 模块打包.编译成 rpm 包,这样用 Yum 可以非常方便的安装和升级,但怎么打包,很多人很头痛的.其它在 perl 中这是非常容易的.

我们使用 cpan2rpm 就行了.这个软件可以指定 tar.gz 包来生成 rpm 包.也可以只写一个模块的名字,会自动从 CPAN 网络上下载下来.

使用方法如下:

 

[root@localhost ~]# cpan2rpm YAML

-- cpan2rpm - Ver: 2.028 --
Upgrade check
Fetch: HTTP

-- module: YAML --
Using cached URL: http://search.cpan.org//CPAN/authors/id/A/AD/ADAMK/YAML-0.71.tar.gz
Tarball found - not fetching
Metadata retrieval
Tarball extraction: [/usr/src/redhat/SOURCES/YAML-0.71.tar.gz]
Prototype mismatch: sub main::prompt: none vs ($;$) at (eval 38) line 2
        main::BEGIN() called at (eval 38) line 2
        eval {...} called at (eval 38) line 2
        eval 'use ExtUtils::MakeMaker 6.42
;' called at /usr/bin/cpan2rpm line 486
        main::get_meta() called at /usr/bin/cpan2rpm line 54
Generating spec file
SPEC: /usr/src/redhat/SPECS/YAML.spec
RPM: /usr/src/redhat/RPMS/noarch/perl-YAML-0.71-1.noarch.rpm
SRPM: /usr/src/redhat/SRPMS/perl-YAML-0.71-1.src.rpm
-- Done --

如上所示,生成了一个包,在 /usr/src/redhat/RPMS/noarch/perl-YAML-0.71-1.noarch.rpm 别的机器直接安装就行了.相当的方便吧.点本连接下载 cpanrpm 包: cpan2rpm

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪 ViVi 365Key 网摘 天极网摘 和讯网摘 博拉网 POCO 网摘 饭否 QQ 书签 Digbuzz 我挖网 Mister Wong
Tags: , ,
No comments yet.