[Howto]生成Arch Linux软件包和派生版本

关于Arch Linux及其衍生产品,我最喜欢的一件事是 极大的方便 创建软件包以稍后安装在系统上,与已知的软件包不同 deb文件。 Debian / Ubuntu / Linux Mint / etc的混乱(如果它们是库,我不会告诉你)。

基本模板是这样的:

# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()

build() {
...
}
package() {
...
}

现在,我将解释每个参数:

  • #维护者: 其中包含软件包维护者的名称
  • pkgname: 包的名称。 它只能包含字母,数字,-,_和+
  • pkver: 软件包版本。 pe 1.0.0
  • pkgrel: 审查程序或程序包。 pe 1
  • pkgdesc: 包装说明。
  • 拱: 程序的体系结构:它可以是任何(对于所有人),i686和x86_64,对于不需要编译的软件包(例如bash或python程序)可以是任何。 如果它是需要它的程序(例如,C或C ++中的程序),则应将i686用于32位或x86_64用于64位。 通常,如果两者兼容,则将其设置为(i686,x86_64)
  • 网址: 该程序官方页面的网址。 建议把它放进去。
  • 授权方式: 程序许可证。 例如GPL3
  • 组: 程序包所属的组。 组=('系统')
  • 依靠: 在其中,我们指出了执行程序所需的软件包。 pependens =('python2''pygtk')
  • makedepends: 仅编译包所需的依赖项。 如果要从版本管理器中下载代码,建议放置它。 pe:makedepends =('git')
  • 来源: 在其中,我们指出了创建包所需的文件。 通常,包含代码,补丁程序,.desktopt文件,图标等的是软件包的URL。 pe:来源=(pacsyu.desktop)
  • md5sums: 这是源中指示的文件的md5总和。 要知道我们是从PKGBUILD所在的文件夹中的终端运行的(已在源代码中写入了文件路径) makepkg -g 和将显示在屏幕上。
    也可以使用其他总和,例如sh1。
  • 建立: 在此功能中,我们将 继续编译软件所需的命令。 如果不需要编译,则仅需要以下功能)
  • 软件包:在该其他功能中,程序安装命令将执行。 例如,如果我们在这里编译C代码,则将进行make install。

最后,我们只需要执行 制作包 验证软件包是否已生成。
如您所见,这对我们来说很困难。 然后我给你留一些额外的参数 makepkg:

  • -一世: 指示makepkg在创建软件包后安装它。
  • -s: 如果软件包依赖项位于存储库中,请安装它们。
  • -F: 如果已经有带有该参数的名称,版本和修订的软件包,我们会告诉您覆盖它。
  • -C: 完成后,清理工作文件夹(pkg和源)。
  • -R: 重新打包该软件包,而无需重新编译。

我建议查看更多PKGBUILD文件以查看更多示例,执行命令 makepkg -h 除了查看 在Arch Linux Wiki上的makepkg官方文档 你能找到什么 信息


在 Google 中将其添加为首选来源