LinuxSir.cn,穿越时空的Linuxsir!

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

弱弱的问下,PKGBUILD怎么用[已解决]

[复制链接]
发表于 2006-9-29 14:53:23 | 显示全部楼层 |阅读模式
看到很多软件,都可以用PKGBUILD来安装,并且很方便
pacman不能安装的,用PKGBUILD就搞定,不用自己去下载。

但用了2个月,我都不知道这个怎么用,用这种方法安装软件,要做什么准备工作。

也许太简单,大家都不屑去说明,但我真不知道怎么用

望好心人路过都时候,说明下怎么用,懒得说明的话,麻烦给我个链接,谢谢了!

------------------------------------------------------
问题已经解决,希望和我一样是菜鸟的朋友,看下7楼和9楼
发表于 2006-9-29 16:29:45 | 显示全部楼层
唉!http://www.archlinux.org.cn/main/?q=node/61
好好看第 5 节吧!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-29 16:33:28 | 显示全部楼层
Post by daze
唉!http://www.archlinux.org.cn/main/?q=node/61
好好看第 5 节吧!

多谢好人,我去研究看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-29 23:21:25 | 显示全部楼层
看了,还是不会

还是不会用这种方法安装软件,郁闷
回复 支持 反对

使用道具 举报

发表于 2006-9-30 11:22:21 | 显示全部楼层
mkdir xxxx
cp PKGBUILD xxxx
cd xxxx
makepkg
pacman -A xxxx.pkg.tar.gz

and

pacman -Ql xxxx | grep /bin ## 如果不知道怎么启动它
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-30 12:12:33 | 显示全部楼层
Post by ardin
mkdir xxxx
cp PKGBUILD xxxx
cd xxxx
makepkg
pacman -A xxxx.pkg.tar.gz

and

pacman -Ql xxxx | grep /bin ## 如果不知道怎么启动它

谢谢,研究下
回复 支持 反对

使用道具 举报

发表于 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安装模版!

  1. #Contributor:name1985(First using ABS to build soft-intsll-pakges,wish you good luck)
  2. pkgname=eva #软件包名字
  3. pkgver=0.4.1   #软件包的版本号
  4. pkgrel=1
  5. 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." #软件包的描述
  6. url="" #没有找到它的官方网站
  7. license=""
  8. depends=(kdelibs) #只是写了一个简单的依赖关系,pacman之所以能解决依赖关系,全是靠这句话
  9. makedepends=()   #make的依赖关系
  10. conflicts=()            #冲突的软件
  11. replaces=()            #需要替换的部分
  12. backup=()             #升级的时候需要备份的部分
  13. install=
  14. source=(http://keihanna.dl.sourceforge.net/sourceforge/evaq/$pkgname-$pkgver.tar.bz2) #下载软件的地址
  15. md5sums=()         #md5验证,没有找到

  16. build() {
  17.   cd $startdir/src/$pkgname
  18.   ./configure --prefix=/opt/local/eva     #这是我自己的安装路径
  19.   make || return 1
  20.   make DESTDIR=$startdir/pkg install
  21. }
复制代码


编辑好了之后,在该目录

#makepkg   ‘该过程如果出现依赖关系错误,可以把依赖的软件名字写在PKGBUILD文件的depends=(kdelibs ABC)括号内用空格空开,修改好之后 重新#makepkg
=================================
要修改安装文件的路径 只需要修改
PKGBUILD文件中的 ./configure --prefix=/opt/local/eva      中的路径,以后安装的时候就会在这里安装了。
=================================
正常情况会生成eva.pkg.tar.gz
pacman -A eva.pkg.tar.gz 就可以安装上了!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-1 14:24:30 | 显示全部楼层
Post by name1985
哎。。。我也看了一些教程,包括楼上同志说的网址,但是好像都说的不够直接,让初学者有时候根本无法一看就会!
希望我说的能让初学者一看就会,不要求深入,只要求会自己做*.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

  1. #Contributor:name1985(First using ABS to build soft-intsll-pakges,wish you good luck)
  2. pkgname=eva #软件包名字
  3. pkgver=0.4.1   #软件包的版本号
  4. pkgrel=1
  5. 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." #软件包的描述
  6. url="" #没有找到它的官方网站
  7. license=""
  8. depends=(kdelibs) #只是写了一个简单的依赖关系,pacman之所以能解决依赖关系,全是靠这句话
  9. makedepends=()   #make的依赖关系
  10. conflicts=()            #冲突的软件
  11. replaces=()            #需要替换的部分
  12. backup=()             #升级的时候需要备份的部分
  13. install=
  14. source=(http://keihanna.dl.sourceforge.net/sourceforge/evaq/$pkgname-$pkgver.tar.bz2) #下载软件的地址
  15. md5sums=()         #md5验证,没有找到

  16. build() {
  17.   cd $startdir/src/$pkgname
  18.   ./configure --prefix=/opt/local/eva     #这是我自己的安装路径
  19.   make || return 1
  20.   make DESTDIR=$startdir/pkg install
  21. }
复制代码

然后会生成eva.pkg.tar.gz
pacman -A eva.pkg.tar.gz 就可以安装上了!


好人还是多阿,又来个大好人

再次研究

有实际例子,真是好
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-3 16:32:05 | 显示全部楼层
懂了,谢谢7楼朋友,根据你给的链接,摸索了下,补充3点
1.要安装abs,并且要至少运行1次,否则,找不到PKGBUILD.proto这个文件
2.你给的那段代码,要说明是修改PKGBUILD这个文件
3."然后会生成eva.pkg.tar.gz"这个之前的步骤是makepkg

也许老鸟觉得没什么,但就因为这3个步骤,让我找了不少资料

谢谢各位朋友的帮助,特别是7楼的朋友

现在用这种方法安装软件已经没有问题了
回复 支持 反对

使用道具 举报

发表于 2006-10-5 05:44:12 | 显示全部楼层
那天有事情匆忙写完,今天看来好像有些地方说的还是不清楚,今天又编辑了一下,应该可以好理解了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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