Perl打包技术Scperl的简单一些介绍
Perl打包技术Scperl的简单一些介绍
SCPERL 是我提出的 Astercon2 项目的一个子集。目的还是为了Astercon2提供一个独立的容易使用的精简版Perl(或叫嵌入式版)。
由于CGI.NET achilles xu 香草跟我讨论过很多问题,让我的思路逐渐清晰。
scperl的技术测试已经完成,预计在下周的下周开始弄。
初步将做到以下:
支持ActivePerl的精简(ActiveState公司的产品)
Linux发行版测试(因为Astercon2只做了linux发行版)
采用了Audreyt Tang所编写的PAR中的一些模块
相关说明请见下:
------------------------------
Self-Contained Project Objective Perl Environment Builder
以项目为向导自我执行的Perl环境生成器
hoowa.sun
------------------------------
同Perl2exe Perlapp pp有什么不同:
1.以项目为向导:并不将环境打包成可执行文件,在项目角度中需要很多perl代码.单一打包只能浪费不必要的磁盘空间.
2.多平台支持可能:将可能会支持非x86 CPU环境.由于在实际使用中自身并不十分庞大,所以有望被使用在各种准系统当中,比如ARM MIPS PowerPC.
3.加密的支持:完全可以使用perl的的加密技术为代码加密.
4.作为插件的可能:完全可以将perl作为您成品软件的捆绑工具来实现附加功能的开发.
5.自身缺陷:目前只能跟ActivePerl配合工作.
需求说明:
hoowa.sun@gmail.com 说:
我先跟你说一下基本概念。
hoowa.sun@gmail.com 说:
我的标准测试环境是x86 Centos4.4
hoowa.sun@gmail.com 说:
在服务器上安装一个ActivePerl 他会自动安装到/opt/Active...目录中。
hoowa.sun@gmail.com 说:
ok 这个目录很紧凑,但是他很大。大量内容我们不需要。
hoowa.sun@gmail.com 说:
我们也不能把整个目录跟astercon2捆绑在一起给客户下载
hoowa.sun@gmail.com 说:
当然也不能用/usr/bin/perl 因为这个 东西 安装模块太麻烦了。我自己有时候因为模块依赖太复杂,我宁可用别的技术替代perl
hoowa.sun@gmail.com 说:
用过perlapp或perl2exe的都知道,实际上,真正需要的部分很小。估计10MB以内绝对能解决。
hoowa.sun@gmail.com 说:
但是perlapp或perl2exe我们也不能用。
hoowa.sun@gmail.com 说:
perlapp:
1、他编译后是封闭代码
2、他没办法确保模块重用,往往同样一个功能需要复制多分模块到可执行文件中
hoowa.sun@gmail.com 说:
但是astercon2项目需要一个以项目做向导,创建精简perl环境的技术。
hoowa.sun@gmail.com 说:
可以满足代码所有需要
/opt/perl <------100MB
将需要部分精简到此目录后可以满足代码所有需要
/astercon2/perl <-----10MB
hoowa.sun@gmail.com 说:
如果我们需要一个小型的linux有两个办法:
1、安装slacware或debian
2、从centos自己精简一套
hoowa.sun@gmail.com 说:
perl里又没有debian 所以,我们只好走第二步了。
hoowa.sun@gmail.com 说:
如果是做成activeperl模式。这个东西以后可以独立成一个项目。
hoowa.sun@gmail.com 说:
到时候你可以直接给cpan奉献。
hoowa.sun@gmail.com 说:
第二个部分就是分析script需要什么模块,然后自动复制过来,这第二部分有现成模块可以帮助分析依赖。
想象一下这个东西工作方式
perless.pl create /astercon2/perl source /opt/ActivePerlxxxx
创建这个项目,并且在目录中生成.prj的配置,并且将基本依赖从activeperl目录复制过来
perless.pl add abc.pl target /astercon2/perl
分析abc.pl并且将他的环境根据/astercon2/perl下的.prj配置信息复制依赖
hoowa.sun@gmail.com 说:
第一个就是把最基本依赖从activeperl目录复制到目标目录中。生成一个.prj文件,记录下一些配置
hoowa.sun@gmail.com 说:
第二个就是分析abc.pl把abc.pl所需要的东西再复制到/astercon2/perl目录中。
hoowa.sun@gmail.com 说:
最后这个astercon2/perl不就成了我们需要的perl么。