我正在为一个github项目为AUR编写一个PKGBUILD,该项目由几个子应用程序组成。
因此,基本上,这个项目的CMake文件只是运行一个make &&。
以下是我的构建和包步骤:
build() {
cd "$srcdir/$_gitname"
[[ -d build ]] && rm -r build
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/od ..
}
package() {
cd "${_gitname}/build"
sudo make all
}我现在的问题是,除了:
但是,我不能更改CMake文件,因为这个项目不是我的,所有不同的子应用程序都属于一起,如果我尝试做&&让分别安装它们,我会得到很多错误,它们是相互依赖的。
发布于 2016-02-19 02:47:14
包函数无法安装到根层次结构中。相反,makepkg打算安装到fakeroot下的pkgdir中,其中pkgdir复制了实际的根目录结构。见ArchWiki/创建包。
可以通过将DESTDIR="$pkgdir/"添加到包函数中的make选项来实现这一点。
当在创建的包上调用pacman时,它会将文件复制到实际的根层次结构中。
发布于 2021-08-20 05:29:55
像枫树一样
package()
{
cd "$pkgname"
DESTDIR="$pkgdir" cmake --install out
} 这将安装到$pkgdir中,然后打包到zst文件中。
https://stackoverflow.com/questions/35477739
复制相似问题