|
发表于 2006-10-1 09:34:45
|
显示全部楼层
哎。。。我也看了一些教程,包括楼上同志说的网址,但是好像都说的不够直接,让初学者有时候根本无法一看就会!
希望我说的能让初学者一看就会,不要求深入,只要求会自己做*.pkg.tar.gz的包,自己安装!
首先说说 要自己做*pkg.tar.gz的前提
I)需要 两个软件包 wget cvsup 所以我们先安装上 这个两个包 在往下面说
#pacman -Sv cvsup wget (一般如果希望是默认安装的话,应该都有了wget,没有cvsup。为了安全期间,我们就都安装,大不了,更新一下)
II)然后我们说说 makepkg的简单的原理,它就是在当前目录里面找到PKGBUILD 文件,然后按照PKGBUILD文件的指令做事情,而我们主要就是编辑PKGBUILD文件。把PKGBUILD文件编辑好了之后,我们只要在PKGBUILD文件的目录运行makepkg就可以生成我们需要的软件包。
III)下面说说PKGBUILD文件,关于这个文件爱的说明,好像论坛有很多了,只要懂一点E文就可以看懂PKGBUILD文件,如果不懂你看下面吧!
英文的介绍 http://wiki.archlinux.org/index.php/ABS
http://www.archlinux.org/pacman/makepkg.8.html
中的介绍:
http://www.linuxsir.cn/bbs/showt ... 5&highlight=abs 第7贴
IIII)动手做一个简单的!
目的,做一个eva的安装包。
#mkdir eva
#cp /var/abs/PKGBUILD.proto ~/eva/
#cd eva
#mv PKGBUILD.proto PKGBUILD 这一步我们把PKGBUILD模版复制过来了,然后编辑模版,下面是编辑好的eva安装模版!
- #Contributor:name1985(First using ABS to build soft-intsll-pakges,wish you good luck)
- pkgname=eva #软件包名字
- pkgver=0.4.1 #软件包的版本号
- pkgrel=1
- pkgdesc="Eva is an IM client in KDE under Linux using QQ IM protocol to communicate with other clients like Tencent QQ under Windows, Gaim with OpenQ plugin or LumaQQ written in Java." #软件包的描述
- url="" #没有找到它的官方网站
- license=""
- depends=(kdelibs) #只是写了一个简单的依赖关系,pacman之所以能解决依赖关系,全是靠这句话
- makedepends=() #make的依赖关系
- conflicts=() #冲突的软件
- replaces=() #需要替换的部分
- backup=() #升级的时候需要备份的部分
- install=
- source=(http://keihanna.dl.sourceforge.net/sourceforge/evaq/$pkgname-$pkgver.tar.bz2) #下载软件的地址
- md5sums=() #md5验证,没有找到
- build() {
- cd $startdir/src/$pkgname
- ./configure --prefix=/opt/local/eva #这是我自己的安装路径
- make || return 1
- make DESTDIR=$startdir/pkg install
- }
复制代码
编辑好了之后,在该目录
#makepkg ‘该过程如果出现依赖关系错误,可以把依赖的软件名字写在PKGBUILD文件的depends=(kdelibs ABC)括号内用空格空开,修改好之后 重新#makepkg
=================================
要修改安装文件的路径 只需要修改
PKGBUILD文件中的 ./configure --prefix=/opt/local/eva 中的路径,以后安装的时候就会在这里安装了。
=================================
正常情况会生成eva.pkg.tar.gz
pacman -A eva.pkg.tar.gz 就可以安装上了! |
|