LinuxSir.cn,穿越时空的Linuxsir!

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

arch中如何自定义编译包?

[复制链接]
发表于 2007-3-21 15:30:16 | 显示全部楼层 |阅读模式
我想在console mode 下安装 mplayer,即没有x的支持
无论用pacman还是 aur,都会带上一大堆依赖包
像gentoo,似乎可以用 USE=-X 之类的参数屏蔽,在arch中如何实现?
发表于 2007-3-21 17:50:49 | 显示全部楼层
1、如果用官方的包(相当于"源码包",arch里面叫PKGBUILD及相关补丁和脚本文件)可以用abs,以下是man abs的输出:
  1. abs will synchronize PKGBUILD scripts from the CVS repository
  2. into /var/abs.  You can follow different package trees by
  3. editing /etc/abs/supfile.* files.  If no argument is given, abs
  4. will synchronize from supfiles specified in /etc/abs/abs.conf.
  5. If -p is specified, the connection is opened in passive mode.
复制代码

同步下来的文件都放在/var/abs下面,可以进到对应软件的目录编辑PKGBUILD,重新makepkg生成软件包

2、还可以用aurbuild(需要去aur网站下载安装aurbuild)来下载aur上面非官方的包:
  1. $ aurbuild -S xxx
  2. $ aurbuild -e xxx ; cd ~/.aursave/xxx
复制代码

就可以编辑PKGBUILD来自定义编译参数
回复 支持 反对

使用道具 举报

发表于 2007-3-21 20:21:41 | 显示全部楼层
反正总的来说就是修改pkgbuild文件。

你可以尝试去掉depend里面的东西。然后makepkg

它默认的那些东西也是人为写上去的。避免不能通过编译。

其实可定制性很强的。不用记麻烦的参数
回复 支持 反对

使用道具 举报

发表于 2007-3-22 14:56:19 | 显示全部楼层
pacman -Sdf mplayer .....不過不推薦這樣做....
回复 支持 反对

使用道具 举报

发表于 2007-3-22 21:14:56 | 显示全部楼层
是不是说这样只安装这个包?

又学了一招。。
回复 支持 反对

使用道具 举报

发表于 2007-3-22 21:20:32 | 显示全部楼层
这个应该是忽略包依赖安装软件, 不推荐这样的方式,遇到不能运行或错误的可能性非常大,想减少依赖还是自已makepkg的好。
我以前是把depend和makedepend这两行(现在不用,具体名称记不清了)注释掉,再makepkg,如果有错误,再按错误把依赖一个一个加上,这样的依赖应该是最小的。
回复 支持 反对

使用道具 举报

发表于 2007-3-22 21:43:09 | 显示全部楼层
可惜这样做了之后。就需要你自己记录依赖关系,卸载软件的时候也不能自动卸载依赖啦
回复 支持 反对

使用道具 举报

发表于 2007-3-22 21:45:44 | 显示全部楼层
当然不会,找到依赖了就在pkgbuild里的dep项上加上那个软件包来编一次。

不过如果是全系统都用这种方法的话,软件包管理确实会出问题:)
回复 支持 反对

使用道具 举报

发表于 2007-3-23 16:14:18 | 显示全部楼层
额。。那样可够麻烦的,不是有洁癖的人相信不会这样的。。
回复 支持 反对

使用道具 举报

发表于 2007-3-30 21:12:33 | 显示全部楼层
Post by LaoLang_cool
当然不会,找到依赖了就在pkgbuild里的dep项上加上那个软件包来编一次。

不过如果是全系统都用这种方法的话,软件包管理确实会出问题:)

为什么呢?这样不是解决了依赖关系吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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