收藏 分销(赏)

制作Solaris源码pkg安装包.doc

上传人:仙人****88 文档编号:8396256 上传时间:2025-02-11 格式:DOC 页数:4 大小:15.12KB 下载积分:10 金币
下载 相关 举报
制作Solaris源码pkg安装包.doc_第1页
第1页 / 共4页
制作Solaris源码pkg安装包.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
制作Solaris源码pkg安装包 1.下载lua5.1的源码,配置好编译器,直接使用它自带的Makefile编译。 #make solaris make使用的是/usr/ccs/bin/make gcc使用的是/usr/sfw/bin/gcc 2. 将需要打包的文件重新组织到一个新目录,例子中我们使用/Documents/lua5.1这个目录。 -bash-3.00# find lua5.1 -type f lua5.1/bin/lua lua5.1/bin/luac lua5.1/include/lua.h lua5.1/include/luaconf.h lua5.1/include/lualib.h lua5.1/include/lauxlib.h lua5.1/include/lua.hpp lua5.1/lib/liblua.a lua5.1/man/lua.1 lua5.1/man/luac.1 lua5.1/demo/hello.lua lua5.1/copyright 3. 制作pkginfo文件,这是最主要的软件包信息文件。 -bash-3.00# more lua5.1/pkginfo PKG=lua51 NAME=Lua Enviroment and Applications Package, Lua website is: www.lua.org ARCH=i386 VERSION=5.1 CATEGORY=application BASEDIR=/opt CLASSES=none 我们将软件包package的名字取为lua51。不能使用lua5.1因为package名字不能带有“.“字符。 Name是对这个软件包的一个详细解释;Arch是针对的平台,我们这里使用x86;Version是版本号; CATEGORY选择应用程序application,还有一个选择是system;BASEDIR则是安装的目标目录, Class我们这里不使用。 4. 接下来制作request文件,该文件会在安装时候(pkgadd)执行, 这个例子的request文件会提问用户在哪个目录安装lua软件包,如果不满意默认的目录(/opt)话。 假如你不需要这个功能的话,可以略过这个步骤。 -bash-3.00# more lua5.1/request trap 'exit 3' 15 CLASSES="none" BASEDIR=`ckpath -d $BASEDIR -aoy -p "Where should this package be installd</opt>?" ` || exit $? echo BASEDIR=$BASEDIR >> $1 5. 制作prototype文件,这个文件用来指定软件包的实际内容。 -bash-3.00# more lua5.1/prototype i pkginfo i request d none lua51=/Documents/lua5.1 0755 root sys d none lua51/bin=/Documents/lua5.1/bin 0755 root bin f none lua51/bin/lua=/Documents/lua5.1/bin/lua 0755 root bin f none lua51/bin/luac=/Documents/lua5.1/bin/luac 0755 root bin d none lua51/include=/Documents/lua5.1/include 0755 root bin f none lua51/include/lua.h=/Documents/lua5.1/include/lua.h 0644 root bin f none lua51/include/luaconf.h=/Documents/lua5.1/include/luaconf.h 0644 root bin f none lua51/include/lualib.h=/Documents/lua5.1/include/lualib.h 0644 root bin f none lua51/include/lauxlib.h=/Documents/lua5.1/include/lauxlib.h 0644 root bin f none lua51/include/lua.hpp=/Documents/lua5.1/include/lua.hpp 0644 root bin d none lua51/lib=/Documents/lua5.1/lib 0755 root bin f none lua51/lib/liblua.a=/Documents/lua5.1/lib/liblua.a 0644 root bin d none lua51/man=/Documents/lua5.1/man 0755 root bin f none lua51/man/lua.1=/Documents/lua5.1/man/lua.1 0644 root bin f none lua51/man/luac.1=/Documents/lua5.1/man/luac.1 0644 root bin d none lua51/demo=/Documents/lua5.1/demo 0755 root bin f none lua51/demo/hello.lua=/Documents/lua5.1/demo/hello.lua 0644 root bin f none lua51/copyright=/Documents/lua5.1/copyright 0644 root bin 第一列表明该文件的属性, i - 用于安装使用的文件 d - 软件包中的目录directory f - 软件包中的文件file 第二列是class的定义,我们这里不使用, 就用none。 第三列指明软件包目标文件的源文件从哪里可以获得。 后面几列是说明文件的属性和权限。 该文件我们也可用命令的方式得到一个简单的模板,不过还需要再加工。^_^ find . -print | pkgproto > prototype 6. 最后我们在lua5.1目录下执行pkgmk -bash-3.00# pkgmk ## Building pkgmap from package prototype file. ## Processing pkginfo file. WARNING: parameter <PSTAMP> set to "vmsolaris20060409071532" ## Attempting to volumize 18 entries in pkgmap. part 1 -- 1052 blocks, 19 entries ## Packaging one part. /var/spool/pkg/lua51/pkgmap /var/spool/pkg/lua51/pkginfo /var/spool/pkg/lua51/reloc/lua51/bin/lua /var/spool/pkg/lua51/reloc/lua51/bin/luac /var/spool/pkg/lua51/reloc/lua51/copyright /var/spool/pkg/lua51/reloc/lua51/demo/hello.lua /var/spool/pkg/lua51/reloc/lua51/include/lauxlib.h /var/spool/pkg/lua51/reloc/lua51/include/lua.h /var/spool/pkg/lua51/reloc/lua51/include/lua.hpp /var/spool/pkg/lua51/reloc/lua51/include/luaconf.h /var/spool/pkg/lua51/reloc/lua51/include/lualib.h /var/spool/pkg/lua51/reloc/lua51/lib/liblua.a /var/spool/pkg/lua51/reloc/lua51/man/lua.1 /var/spool/pkg/lua51/reloc/lua51/man/luac.1 /var/spool/pkg/lua51/install/request ## Validating control scripts. ## Packaging complete. 好了打包完成,制作好的软件包是在/var/spool/pkg/lua51 7. 最后我们再将该软件包制作成单个文件: -bash-3.00# pkgtrans -s /var/spool/pkg/ /tmp/lua51.pkg The following packages are available: 1 lua51 Lua Enviroment and Applications Package, Lua website is: www.lua.org (i386) 5.1 Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: all Transferring <lua51> package instance 好了,我们的lua51软件包制作完成,软件包使用方式如下: 安装:pkgadd -d /tmp/lua51.pkg 检查是否安装成功可以用:pkginfo lua51 或者 pkgchk -v lua51 卸载lua51软件包则用:pkgrm lua51
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服