gpt4 book ai didi

RPM 规范文件已安装,但在 %doc 指令中未打包文件

转载 作者:行者123 更新时间:2023-12-02 22:22:08 24 4
gpt4 key购买 nike

我正在尝试创建一个 .spec 文件,我将 ChangeLog、README、INSTALL、COPYING、NEWS、AUTHORS 放在 %file 指令正下方的 %doc 指令中。软件包 tarname 是 recafoh-prealpha,版本是 svn73。 rpmbuild -ba recafoh.spec 是说

RPM build errors:
Installed (but unpackaged) file(s) found:
/usr/share/doc/recafoh-prealpha/COPYING
/usr/share/doc/recafoh-prealpha/ChangeLog
/usr/share/doc/recafoh-prealpha/INSTALL
/usr/share/doc/recafoh-prealpha/NEWS
/usr/share/doc/recafoh-prealpha/README
/usr/share/doc/recafoh-prealpha/TODO

但是它们安装在 BUILDROOT/usr/share/doc/recafoh-prealpha-svn73/{ChangeLog, README, INSTALL, COPYING, NEWS, AUTHORS}这是另一件奇怪的事情:README 也安装在 BUILDROOT/usr/share/doc/recafoh-prealpha-svn73 中。

那么,谁能解释一下 1) 如何解决 rpmbuild 错误,以及 2) 为什么 README 安装在 recafoh-prealpha-svn73 中,而 README 和其余部分安装在 recafoh-prealpha 中?

非常感谢

编辑:

这里是 recafoh.spec 文件的相关部分:

%files
%doc AUTHORS ChangeLog COPYING NEWS README TODO
%{_sbindir}/recafohd
%{_bindir}/recafoh

最佳答案

根据 Fedora Build Documentation : '通常,“%doc”用于列出 %{_builddir} 中未复制到 %{buildroot} 的文档文件。通常包含 README 和 INSTALL 文件。它们将被放置在目录/usr/share/doc/%{name}-%{version} 中,其所有权不需要声明。'

所以你的两个问题的答案都与这个单点有关。我假设您的 bzip2 文件中包含这些文档,包含在/usr/share/doc/recafoh-prealpha/目录中,对吗?因此,如果您查看文档,这是最重要的一点:通常,“%doc”用于列出 %{_builddir} 中未复制到 %{buildroot} 的文档文件。

如果您希望它们位于该特定目录(以及特定版本的目录)中,请将您的 %file 部分修改为如下所示:

%files
%doc AUTHORS ChangeLog COPYING NEWS README TODO
/usr/share/doc/recafoh-prealpha/COPYING
/usr/share/doc/recafoh-prealpha/ChangeLog
/usr/share/doc/recafoh-prealpha/INSTALL
/usr/share/doc/recafoh-prealpha/NEWS
/usr/share/doc/recafoh-prealpha/README
/usr/share/doc/recafoh-prealpha/TODO
%{_sbindir}/recafohd
%{_bindir}/recafoh

如果您只想将它​​们放在/usr/share/doc 中,请使用以下 %files 部分:

%files
/usr/share/doc/recafoh-prealpha/COPYING
/usr/share/doc/recafoh-prealpha/ChangeLog
/usr/share/doc/recafoh-prealpha/INSTALL
/usr/share/doc/recafoh-prealpha/NEWS
/usr/share/doc/recafoh-prealpha/README
/usr/share/doc/recafoh-prealpha/TODO
%{_sbindir}/recafohd
%{_bindir}/recafoh

如果您只想将文档放在特定版本的目录中,您应该修改 bzip2 文件,使文档文件位于顶层,然后它们应该与您最初提供的规范文件一起正确移动。

有关 %doc 指令的更多详细信息,请查看:rpm.org .

关于RPM 规范文件已安装,但在 %doc 指令中未打包文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13567391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com