首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在rpmbuild中‘

在rpmbuild中‘
EN

Unix & Linux用户
提问于 2020-12-04 09:21:28
回答 1查看 538关注 0票数 1

我检查了一个https://github.com/rpmfusion/buildsys-build-rpmfusion.git的git回购

首先,我认为使用rpmbuild -bs --build-in-place buildsys-build-rpmfusion.spec可以避免将源代码复制到~/rpmbuild/SOURCES,但我错了:

代码语言:javascript
复制
error: Bad file: /home/user/rpmbuild/SOURCES/buildsys-build-rpmfusion-kerneldevpkgs-current: No such file or directory
error: Bad file: /home/user/rpmbuild/SOURCES/buildsys-build-rpmfusion-README: No such file or directory
error: Bad file: /home/user/rpmbuild/SOURCES/buildsys-build-rpmfusion-list-kernels.sh: No such file or directory

然后,我提到它的手册:

代码语言:javascript
复制
--build-in-place
              Build  from  locally  checked  out  sources.  Sets  _builddir  to  current  working
              directory.  Skips  handling  of  -n and untar in the %setup and the deletion of the
              buildSubdir.

因此,这似乎意味着它将直接使用pwd作为构建dir,这对我来说是无用的。但为了确保我还想测试:

  1. 我把所有东西都复制到~/rpmbuild/SOURCES
  2. 在git中,我使用了rpmbuild -ba --build-in-place buildsys-build-rpmfusion.spec,但是它与rpmbuild -ba buildsys-build-rpmfusion.spec没有什么区别,所有的东西都是基于~/rpmbuild/的--它仍然使用~/rpmbuild/BUILDROOT/作为构建dir。

那么--build-in-place的作用是什么呢?

我知道我可以使用--define "_topdir pwd"来更改顶级dir,但这不是我想要的,然后我仍然需要mkdir {BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS},然后将源代码复制到源代码中。

EN

回答 1

Unix & Linux用户

发布于 2022-09-09 10:45:54

我也在寻找解决方案,允许我不准备之前的建设,因为它已经签出。当我发现你的问题没有答案时,我决定查查消息来源。https://github.com/rpm-software-management/rpm/blob/master/rpmbuild.c#L445

以下是提交https://github.com/rpm-software-management/rpm/commit/0265acbde87036df08da16507a8c4c9a9e6c3c64

我没有看到检查源代码存在的部分,但它对我有效,因为我能够在没有准备好源代码的情况下构建包。

我在CWD中用土笛建造也设置了。

代码语言:javascript
复制
rpmbuild --define "_topdir $PWD" --build-in-place -bb <package>.spec

注意您使用了-bs,但我使用了-bb标志。

-bb只从 -bs构建源包生成二进制包,只能从生成

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/622858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档