从.deb创建PKGBUILD


11

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

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

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

使用该功能将该/usr/share/bin目录的内容复制到pkg /usr/share/binfakeroot环境中是否足够build()/usr/share/bin实际安装生成的软件包后,该文件夹将被复制到真实位置吗?


6
从本质上讲,是的(使用包功能除外)。在AUR中寻找其他以结尾的软件包,-bin并使用相同的方法...
jasonwryan 2014年

Answers:


9

是的,它将以与其他具有二进制源的PKGBUILD相同的方式工作-提取并复制文件。应当提及的唯一的事情就是DEB-档案由其他3个文件- ,debian-binary,。control.tar.gz data.tar.gzmakepkg将仅提取第一级存档,然后您应手动提取data.tar.gz

prepare() {
    tar -zxvf data.tar.gz
}

package() {
    # copy files
}

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

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

makepkg将当前目录更改为$srcdir执行功能之前的目录,因此您无需再包含该目录...
jasonwryan 2014年

@jasonwryan,一些开发人员表示,不能保证这种情况会一直存在。为了长寿,将习惯cd "${srcdir}"路线留在原地可能是有意义的。
HalosGhost 2014年

1
@HalosGhost我没听见。按照同样的逻辑,不能保证它会变成假的... :)
jasonwryan 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.