Ross Wan's World!

Python, Ajax, PHP and Linux.

Archlinux:简单制作 AUR 上的软件包

Posted by Ross Wan 于 2008/02/28

       除了 Pacman,ABS(Arch Build System)是 Archlinux 的另一个利器,利用它可以方便地创建自己的软件包,尤其是创建 AUR 里面的软件包。AUR(Archlinux User-community Repository)其实是 Archlinux 社区用户的软件仓库,里面都是 Archlinux 社区贡献的软件包。想了解多点 ABS 或者 AUR,可以查看官方的文档。

       但是,你如果不是一个编译狂,ABS 看来有点像“牛刀”:)如果你仅仅想编译 AUR 里的一个软件包,而不想使用 ABS,完全可以只用 Archlinx 提供的编译软件包工具:makepkg。其实,ABS 在背后也是调用 makepkg 来编译和打包的。要使用 makepkg 来制作自己的软件包,你仅仅需要的是一个 PKGBUILD 文件,而对于 AUR 来软件包来说,自己完全不用编写 PKGBUILD 文件!

       下面以制作 AUR 中的 freetype2-lcd 软件包为例,讲述下 makepkg 制作软件包的过程。:)

       首先建议安装 fakeroot ,它可以让普通用户不用 root 的权限就可以进行编译和执行 PKGBUILD 里的 脚本,从而避免系统受到不必要的破坏。

# pacman -S fakeroot

       进入 Archlinux 的官方 AUR:

       输入要查找的软件包“freetype2-lcd”,搜索得到:

       在页面里,可以看以软件包的一些信息,包括软件包的介绍、依赖关系、源文件下载等等。我们需要的只是一个 Tarball 包,单击 Tarball ,下载 freetype2-lcd.tar.gz:

       保存 freetype2-lcd.tar.gz 在本地即可,解压并进入文件夹:

$ tar -xvvf freetype2-lcd.tar.gz
$ cd freetype2-lcd

       freetype2-lcd 文件夹里保存的就是我们需要的文件,包括了已经编写好的 PKGBUILD 文件以及一些补丁文件。:)你或者会奇怪,编译 freetype2-lcd 用的源文件呢?这个不用担心,makepkg 会根据 PKGBUILD 里的信息自动下载的 :)。当然,你也可以手工下载源文件到 freetype2-lcd 文件夹,makepkg 会自动识别的。下面是源文件的下载地址:

       现在,万事俱备,只需要执行一条简单的命令:

$ makepkg

       经过“漫长”的编译过程(如果源文件没有手动下载的话,还包括源文件的下载过程),在 freetype2-lcd 文件夹里就会生成我们需要的软件包:freetype2-lcd-2.3.5-3-i686.pkg.tar.gz。现在就可以用 pacman 进行安装和管理该软件包:

# pacman -U freetype2-lcd-2.3.5-3-i686.pkg.tar.gz

    That’s all.Have fun!:)

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

 
%d 博主赞过: