PKGBUILD

来自百合仙子's Wiki
跳转到导航 跳转到搜索

Arch Linux 的打包配置文件。

可以从 /usr/share/pacman/PKGBUILD.proto 复制一份来用。将它的源代码压缩包放在一起,编辑 PKGBUILDmakepkg 即可。

pkgver 函数示例

pacman 4.1 开始支持 pkgver 作为函数生成版本。用于从版本仓库中构建的软件包。[1]

尽量使用 tag 信息

pkgver() {
  cd "$srcdir/$_gitname"
  # git describe --tags | sed 's/-/./;s/-/_/g'
  git describe | sed -E 's/([^-]*-g)/r\1/;s/-/./g'
}

使用最后一次提交的时间(UTC)

pkgver() {
  cd "$srcdir/$_gitname"
  TZ=UTC git log -1 --pretty='%cd' --date=format-local:%Y%m%d.%H%M%S
}

使用提交次数

当没有 tag 可用的时候:

pkgver() {
  cd "$srcdir/$_gitname"
  printf "0.r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

参见

外部链接

参考资料