快速业务通道

如何构建Solaris软件包

作者 佚名技术 来源 操作系统 浏览 发布时间 2012-06-29

OpenSoalris的indiana项目正在Debian创始人Ian Murdock的带领下有条不紊的展开着,随着indiana子项目IPS的不断成熟,Solaris将会像Debian/Ubuntu一样容易安装和更新软件。你当然可以参与其中,下面我先以GNU开源软件gperf为例讲一下如何构建Solaris原来的软件包。

1. 编译源代码并组织结构

下载源代码http://ftp.gnu.org/gnu/gperf/gperf-3.0.3.tar.gz,然后用Sun Studio或gcc编译后构建为如下目录
# pwd
/home/sm207740/gperf
# tree usr
usr/
`-- sfw
|-- bin
| `-- gperf
`-- share
|-- doc
| `-- gperf
| `-- gperf.html
|-- info
| `-- gperf.info
`-- man
`-- gperf.1

2. 手工创建pkginfo文件
# cd /home/sm207740/gperf
# mkdir InfoFiles
# cat InfoFiles/pkginfo
PKG=SUNWgperf
NAME=gperf - GNU gperf is a perfect hash function generator
ARCH=i386
VERSION=3.0.3
CATEGORY=application
EMAIL=shuang.mi@kiev
BASEDIR=/
CLASSES=none

3. 半自动创建prototype文件
# cd /home/sm207740/gperf
# pkgproto ./usr > InfoFiles/prototype
在文件InfoFiles/prototype最开始添加一行
i ./pkginfo
这样InfoFiles/prototype现在应该是这个样子的
# cat InfoFiles/prototype
i ./pkginfo
d none usr 0755 sm207740 staff
d none usr/sfw 0755 sm207740 staff
d none usr/sfw/bin 0711 sm207740 staff
f none usr/sfw/bin/gperf 0711 sm207740 staff
d none usr/sfw/share 0755 sm207740 staff
d none usr/sfw/share/man 0711 sm207740 staff
f none usr/sfw/share/man/gperf.1 0600 sm207740 staff
d none usr/sfw/share/info 0711 sm207740 staff
f none usr/sfw/share/info/gperf.info 0600 sm207740 staff
d none usr/sfw/share/doc 0711 sm207740 staff
d none usr/sfw/share/doc/gperf 0711 sm207740 staff
f none usr/sfw/share/doc/gperf/gperf.html 0600 sm207740 staff

4. 构建软件包
# cd InfoFiles
# pkgmk -r /home/sm207740/gperf -d /home/sm207740/gperf

5. 安装软件
# ls /home/sm207740/gperf
InfoFiles SUNWgperf usr
# cd /home/sm207740/gperf
# pkgadd -d `pwd` SUNWgperf

Processing package instance from

gperf - GNU gperf is a perfect hash function generator(i386) 3.0.3
Using as the package base directory.
## Processing package information.
## Processing system information.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.

The following files are already installed on the system and are being
used by another package:
/usr
/usr/sfw
/usr/sfw/bin
/usr/sfw/share
/usr/sfw/share/doc
/usr/sfw/share/info
/usr/sfw/share/man

Do you want to install these conflicting files [y,n,?,q] y
## Checking for setuid/setgid programs.

Installing gperf - GNU gperf is a perfect hash function generator as

## Installing part 1 of 1.
/usr/sfw/bin/gperf
/usr/sfw/share/doc/gperf/gperf.html
/usr/sfw/share/info/gperf.info
/usr/sfw/share/man/gperf.1
[ verifying class ]

Installation of was successful.

# pkgchk -v SUNWgperf
/usr
/usr/sfw
/usr/sfw/bin
/usr/sfw/bin/gperf
/usr/sfw/share
/usr/sfw/share/doc
/usr/sfw/share/doc/gperf
/usr/sfw/share/doc/gperf/gperf.html
/usr/sfw/share/info
/usr/sfw/share/info/gperf.info
/usr/sfw/share/man
/usr/sfw/share/ma

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号