Perl on Fedora
李瑞彬
2013-08-10
自我介绍
-
Fedora packager
-
供职于北京蓝汛(ChinaCache)
-
纯 Linux 使用者(KDE)
-
程序员
-
新浪微博 @Robin_cheese_lee
什么是 Fedora?
-
一种 Linux 发行版
-
由红帽赞助及提供核心开发者
-
自由软件的前沿孵化平台
-
纯自由/开源软件
-
每半年发布一次
-
在已发布的分支仍会得到大量实质更新
-
“半滚动”发布模式
CPAN 与 RPM 映射关系 (Distribution)
-
每个 distribution 对应于一个 RPM 包
-
RPM 命名: perl-[distribution name]
-
如:perl-AnyEvent-AIO
-
如:perl-libwww-perl
-
yum install perl-[distribution name]
-
区分大小写
CPAN 与 RPM 映射关系 (Module)
-
Perl 模块以 RPM provides 的形式被记录
-
rpm -q --provides perl-libwww-perl
-
命名: perl(module name)
-
perl(LWP::Simple)
-
yum install 'perl(LWP::Simple)' # perl-libwww-perl
使用 cpanspec 制作 RPM 包
-
yum install cpanspec
-
cd ~/rpmbuild/SOURCES
-
cpanspec Furl # 生成 spec 文件,Furl 是一个模块名
-
yum-builddep perl-Furl.spec # 安装构建依赖
-
rpmbuild -bb perl-Furl.spec # 构建 RPM
-
cpanspec -b Furl # 或者直接构建 RPM
使用 SystemTap 跟踪 Perl 函数调用
-
构建 Perl 时带有 -Dusedtrace=/usr/bin/dtrace
-
Perl 带上了 dtrace marker
-
yum install perl-devel # 带有 SystemTap 使用的 tapset
-
stap -v -e 'probe perl.sub.call {printf("%s on %s\n", sub, filename)}'
Perl 发布策略
-
新的 Perl 主版本发布后,会在下一个 Fedora 版本中带上
-
比如 Fedora 20,将带上 Perl 5.18
-
会单独更新 dual-living 的模块,比如 perl-CGI
-
在已发布分支,会得到 Perl 的稳定更新,比如 5.16.2 ⇒ 5.16.3
-
每个 Perl distribution 要加入 Fedora,都要经过跟其它软件包一样的 Pear review
-
Perl6: Rakudo Star 及 Parrot 会在已发布分支得到及时的更新
-
yum install rakudo-star # 安装最新的 2013.05
下周 Fedora 19 release party
-
时间:8 月 17 日
-
地点:海淀区丹棱街3号电子大厦B座17室盛拓传媒培训教室
-
已定话题:3D 打印、SystemTap、OpenShift
←
→
/
#