从 .deb 创建 PKGBUILD

从 .deb 创建 PKGBUILD

我有一个.debdebian 软件包,它本质上包含软件的二进制文件作为/usr/share/bin压缩data文件中的文件夹,以及另一个包含其他文件的校验和的元数据压缩文件。

我的目标是创建一个PKGBUILD在 archlinux 上正确安装这样的 .deb 包。

这样做的正确方法是什么?

使用该函数将该/usr/share/bin目录的内容复制到 fakeroot 环境中是否足够?当实际安装构建的包时,该文件夹是否会被复制到真实位置?pkg /usr/share/binbuild()/usr/share/bin

答案1

是的,它的工作方式与其他具有二进制源的 PKGBUILD 相同 - 提取它并复制文件。唯一应该提到的是 deb-archive 由 3 个其他文件组成 - debian-binary, control.tar.gz, data.tar.gz. makepkg 将仅提取第一级存档,然后您应该手动提取data.tar.gz.

prepare() {
    tar -zxvf data.tar.gz
    #tar -xvf data.tar.xz    # if archives are .tar.xz instead of .tar.gz
}

package() {
    # copy files
}

或者,您可以将 deb-archive 放入 noextract 数组中,然后仅手动提取data.tar.gz

$ ar p source.deb data.tar.gz | tar zx

相关内容