LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2205|回复: 10

使用 makepkg 做 slack 包

[复制链接]
发表于 2004-2-11 09:47:33 | 显示全部楼层 |阅读模式
很多朋友喜欢用 checkinstall 来做 slack 包,但 checkinstall 有个致命的缺陷,它会把一个符号链接丢掉,这在安装一些库文件的时候是绝对不允许的。所以我们现在用官方的方法来做。
现在以 mp3blaster-3.2.0 这个软件来说明。
1. 解开 mp3blaster-3.2.0.tar.gz 在 /home/yourname/ 下就有了 mp3blaster-3.2.0 目录。
2. 转到 /home/yourname/mp3blaster-3.2.0 下, 执行

  1. $ configure --prefix=/usr
  2. $ make
  3. $ make install DESTDIR=/home/yourname/mp3blaster-3.2.0-build/
复制代码

注意到第三个命令和我们平时安装时有所不同,它会将 mp3blaster 的所有文件安装到 /home/yourname/mp3blaster-3.2.0-build/ 下。
3.转到 /home/yourname/mp3blaster-3.2.0-build 下,再
  1. $ mkdir install
复制代码

创建一个 install 目录,在 install 目录下创建一个 slack-desc 的文件,格式如下:

  1. # HOW TO EDIT THIS FILE:
  2. # The "handy ruler" below makes it easier to edit a package description.  Line
  3. # up the first '|' above the ':' following the base package name, and the '|'
  4. # on the right side marks the last column you can put a character in.  You must
  5. # make exactly 11 lines for the formatting to be correct.  It's also
  6. # customary to leave one space after the ':'.

  7.   |-----handy-ruler------------------------------------------------------|
  8. mp3blaster: mp3blaster
  9. mp3blaster:
  10. mp3blaster: mp3blaster is a mp3 player.
  11. mp3blaster:
  12. mp3blaster:
  13. mp3blaster:
  14. mp3blaster:
  15. mp3blaster:
  16. mp3blaster:
  17. mp3blaster:
  18. mp3blaster:
复制代码


4.回到 /home/yourname/mp3blaster-3.2.0-build 目录,执行 su 成为 root
,再
  1. # makepkg mp3blaster-3.2.0-i486-1qz.tgz
复制代码
,在此过程中,会问你是否要删除符号链接并把创建 doinst.sh 文件以在安装包的时候重新创建这些链接,还会问你是否把文件的权限更为 755。这样,我们自己做的 slack 包就出炉了。

几个注意的问题:
1.软件包的命名格式:[软件名]-[版本]-[平台]-[编译号制作者].tgz
2.此法只能用于符合 autoconf automake 这些自动配制工具规则的软件。
其它一些规则请参看 http://www.linuxtux.org/~juhl/slackpacks/
发表于 2004-2-11 13:47:41 | 显示全部楼层
我好像没碰到符号连接的问题啊。
 楼主| 发表于 2004-2-11 16:49:18 | 显示全部楼层
绝对会丢失的,不管是 checkinstall-1.5.3 还是 1.6beta3,我已经吃过药了。
发表于 2004-2-11 19:07:29 | 显示全部楼层
所以安装程序时还是自己编译比较好
发表于 2004-2-13 10:25:25 | 显示全部楼层
发表于 2004-2-14 00:48:05 | 显示全部楼层
checkinstall
1.0beta3不如be2,RPM非常不好打
在用它打包kile时更是糟羔,kile安装时使用install命令进行安装的,HOHO失败
发表于 2004-7-1 04:39:01 | 显示全部楼层

好文!checkinstall又出bug了,不过不是link的问题。

还是用这样的方法制作tgz包比较保险。

不过make install prefix=XXX并不是都能成功。比如安装pango
发表于 2004-7-1 05:06:04 | 显示全部楼层
'make install DESTDIR=XXX '
also work!
发表于 2004-7-1 08:48:15 | 显示全部楼层
大家可以下在slackware的source disk。里面有一些写好的脚本。
pango就是这样的,把自己的patch加进去就OK了。
发表于 2004-7-1 14:09:05 | 显示全部楼层
是啊!参考官方的spec做是最好的方法。
不知为何,slackware的freetype和fontconfig不单独做成包,和X11合在一起?这样,如果要打补丁的话只有自己重做tgz包了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表