除了 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!:)
赞过:
赞 正在加载……
相关