我有一个.deb
debian 软件包,它本质上包含软件的二进制文件作为/usr/share/bin
压缩data
文件中的文件夹,以及另一个包含其他文件的校验和的元数据压缩文件。
我的目标是创建一个PKGBUILD
在 archlinux 上正确安装这样的 .deb 包。
这样做的正确方法是什么?
使用该函数将该/usr/share/bin
目录的内容复制到 fakeroot 环境中是否足够?当实际安装构建的包时,该文件夹是否会被复制到真实位置?pkg
/usr/share/bin
build()
/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