|
参考:http://bbs.archlinux.org/viewtopic.php?t=10528
-------------------------------------------
pacman -Ss 3d game,看看你会得到什么?
你的本意是搜索3d的game,而pacman却找出所有包含3d和game的软件包。用grep?不用我说你也会知道结果是什么。
这个问题一度困扰着我……直到……我看到了上面提到的那个在arch bbs上的帖子。
首先要说的是,对pacman打补丁,个人认为是比较“危险”的行为(万一搞错把pacman搞坏了麻烦就大了),不过按理说一个小补丁问题应该不大。下面我们就开始。
1、首先,pacman -Sw pacman。呵呵,保留一个原始的pacman安装包。也许有用,也许没用。pacman真的坏了的话,有它又有什么用呢?不过总归心里踏实些。
2、然后,执行abs同步你的abs树,因为我没有写pkgbuild的经验,是直接拷贝的abs树中的PKGBUILD。同步完后,把/var/abs/base/pacman拷贝到一个你有写入权限的地方,比如~/。
- abs
- cp /var/abs/base/pacman ~/ -r
- cd ~/pacman
复制代码
5、下载补丁文件。
- wget
- http://www.iogopro.co.uk/contrib/pacman-2.9.5/pacman_and_search.diff
复制代码
4、编辑PKGBULD文件,在build(){ 下面加入两行,这两行首先会把补丁拷贝到源码目录中,然后会给pacman打上补丁。修改完后看起来就像下面这样:
- ......
- build() {
- cp $startdir/pacman_and_search.diff $startdir/src/$pkgname-$pkgver
- cd $startdir/src/$pkgname-$pkgver
- patch -p1 -i pacman_and_search.diff
- ./configure --prefix=/usr
- ......
复制代码
5、makepkg吧。我这里会提示有一个文件(sortmirrors.pl)的md5不对,自己用md5sum得到一个,把PKGBUILD文件中的相应md5替换掉就好了。makepkg完了以后pacman -U 安装。
6、再用pacman -Ss 3d game来搜索,呵呵,结果就像下面这样了:
- [donny@LovBo:~/pkgtemp/pacman] <20:13:28>
- $>>> pacman -Ss 3d game
- extra/asteroids3d 0.2.2-1
- Asteroids3D is a 3D, first-person game of blowing up asteroids
- extra/bzflag 1.10.8.20041007-1
- BZFlag is a multiplayer 3D tank battle game.
- extra/gltron 0.70-1
- A tron-like lightcycle game with a nice 3D perspective.
- extra/maelstrom 3.0.6-1
- Maelstrom is an excellent Asteroids-type game with sound and 3D objects
- extra/neverball 1.4.0-2
- 3D game similar to Super Monkey Ball or Marble Madness
- extra/xbl 1.1.2-1
- A 3D tetris/blockout game
复制代码
enjoy it~ |
|