打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
制作你自己的slackware软件包--checkinstall使用详解 - Slackw...


制作你自己的slackware软件包--checkinstall使用详解

关于checkinstall简介:安装,打包

目前 Linux distro 打包,不外是 tgz/rpm/deb,其中 tgz 最单纯,但也因此,刚接触的朋友要打包的话,常常会碰到问题。

checkinstall 是由 installwatch 这个工具而?淼模?壳?1.5.3)可以打包 tgz/rpm/deb,其中 deb 是新加入的功能。

他的使用很简单,把 source tarball 抓下,解开,然后到 source 目录下,有 configure 的执行 ./configure 后,直接下 checkinstall 即可,这个动作会做 make install 的动作,?K加上 checkinstall 本身额外的动作,例如 strip,??man 压缩……等等。

这时不但会安装软件,也会产生 binary package。如果?]有 configure,但有 Makefile 的话,就直接执行 checkinstall。

如果两者都?]有,或不完备,那就只好自行写 build script 了。或自行写个 Makefile 再来执行 checkinstall。

checkinstall 还可以加不少参数,请 checkinstall -h 看说明。

---
checkinstall现在的最新版本是1.6.0beta2,稳定版本是1.5.3,可以到
http://asic-linux.com.mx/~izto/checkinstall/download.php
下载pkg包。
下载下来的文件为checkinstall-1.5.3-i386-1.tgz,请用installpkg 安装。

下面以zhcon为例,说明制作的过程。


tar zxvf zhcon-0.2.3.tar
cd zhcon-0.2.3
./configure
make


上面这几步同从源代码编译安装一样,如果不用checkinstall制作slackware软件包,下一步该是make install了。我们要用checkinstall,所以用执行checkinstall代替。

在运行checkinstall之前,要在当前目录下创建一个对这个软件包的描述文件description-pak,但这个文件不是必须的。


cat > description-pak
zhcon-0.2.3
Zhcon is a fast Linux Console Chinese System which supports
framebuffer device.It can display Chinese, Japanese or Korean
double byte characters.Supported language encodings include:
GB2312, GBK, BIG5, JIS and KSC.


另外还可以在当前目录下创建4个特殊的脚本文件preinstall-pak, postinstall-pak, preremove-pak和postremove-pak。
preinstall-pak在被安装之前执行,postinstall-pak在被安装之后执行,preremove-pak在被删除之前执行,postremove-pak在被删除之后执行。同样,这4个脚本文件不是必须的。
如果要制作的软件有一些特殊的要求,比如创建一个特殊的用户或者组,这4个脚本就有作用了。

然后在当前目录下创建一个doc-pak的目录,这个目录是用来存放软件的相关文档的。比如说README, INSTALL, COPYING, Changelog, TODO, CREDITS等文件。这些文件在安装软件包时将被拷到/usr/doc/”软件包名称“目录下。如果你现在不创建,在生成软件包时将提醒你是否创建这个目录和拷贝相关文件,如果你再选择否,那么制作的软件包将没有文档。


下面开始用checkinstall创建软件包了,在执行之前确保你是root用户。执行checkinstall。


checkinstall


如果开始你没有创建doc-pak目录,此时将会提示你是否创建。


The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]:


按y自动创建和拷贝,按n取消。
下面checkinstall将创建安装软件包,checkinstall默认安装命令是 make install,你得根据你的软件安装说明具体而定,有些软件的安装命令不是make install,而是其他,你则换成

checkinstall make modules_install
checkinstall install.sh
checkinstall setup

等形式。这样,我们也可以把一些以二进制包发布的软件用checkinstall创建为slackware的软件包,只要再checkinstall后面加上安装指令作为参数即可。
下一步checkinstall将会询问创建什么软件包,


Please choose the packaging method you want to use.
Slackware [S], RPM [R] or Debian [D]?


选择s创建slackware的pkg软件包,选r创建redhat的rpm软件包,选d创建debian的deb软件包。我们选择s继续。


This package will be built according to these values:

1 - Summary: [ zhcon-0.2.3 ]
2 - Name: [ zhcon ]
3 - Version: [ 0.2.3 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ Applications/System ]
7 - Architecture: [ i386 ]
8 - Source location: [ zhcon-0.2.3 ]
9 - Alternate source location: [ ]

Enter a number to change any of them or press ENTER to continue:


checkinstall给出一个菜单让你选择修改软件包的一些属性,想修改就按对应的数字键,否则回车继续。我们按7修改软件包的系统平台,


Enter the architecture type:
>> i686

This package will be built according to these values:

1 - Summary: [ zhcon-0.2.3 ]v
2 - Name: [ zhcon ]
3 - Version: [ 0.2.3 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ Applications/System ]
7 - Architecture: [ i686 ]
8 - Source location: [ zhcon-0.2.3 ]
9 - Alternate source location: [ ]

Enter a number to change any of them or press ENTER to continue:


然后回车继续,checkinstall将会在当前目录生成制作好的pkg软件包并安装它。
我们的软件包创建到此成功结束。      


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
为 Ubuntu10.04 的 iBus 添加九八五笔
Slackware软件安装之txz/tgz | Linux视野
lynx的安装方法
简述Linux 文件系统的目录结构
Linux的目录结构及其用途
[z]如何调试跟踪Android Framework源代码
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服