这变得非常令人抓狂 - 我正在尝试使用一些作为Nagios插件的BASH脚本构建RPM。我一直在说:
error: Installed (but unpackaged) file(s) found:
/usr/lib64/nagios/plugins/netappassigncheck
/usr/lib64/nagios/plugins/netappassignprep
在我的spec文件的%files指令中,我尝试过在这里和其他各种互联网论坛上建议的大多数组合:
目前我在
%dir %{_libdir}/nagios/plugins/
这就是为什么我最近的错误输出是lib64,引用完整路径时的先前错误是/ usr / lib /...
这些是构成包的唯一2个文件。
这是我的.spec文件
Name: netappautoassign
Summary: A set of Nagios Plugins for automatically assigning disks to a Netapp
Version: 1.0
Release: 1
License: %{license}
Group: Applications/System
Source: %{source}
URL: Reserved
Vendor: %{vendor}
Packager: %{packager}
BuildArch: noarch
Requires: bash, grep, util-linux, coreutils, expect, openssh-clients, bc, sed
Provides: netappassignprep, netappassigncheck
%description
Since Netapp's autoassign function may lead to disks being assigned to the
wrong head these NAGIOS plugins will ensure disks are added to the correct
head when replaced.
%prep
%setup -q
%build
%install
rm -rf %{buildroot}
install -d %{buildroot}%{_libdir}/nagios/plugins
cp netappassigncheck %{buildroot}%{_libdir}/nagios/plugins/
cp netappassignprep %{buildroot}%{_libdir}/nagios/plugins/
%files
%defattr(755,root,root,755)
%dir %{_libdir}/nagios/plugins/
%clean
rm -rf %{buildroot}
%post
这是我的〜/ .rpmmacros
%_topdir %(echo $HOME)/rpmbuild
%_tmppath %{_topdir}/tmp
%buildroot %{_tmppath}/%{name}-%{version}
%license RESERVED
%source %{name}-%{version}.tar.gz
%vendor REDACTED
%packager REDACTED
编辑 - 已解决
我不确定这是一个错误还是想要的行为,但似乎在构建选项期间没有从.rpmmacros读入%{buildroot}变量已将此变量移入主spec文件中RPM现已建成。
答案 0 :(得分:0)
我不确定这是否是一个错误或所需的行为,但似乎在文件验证部分,它正在读取根文件系统下的所有当前活动插件而不是%{buildroot}。
我怀疑在这个阶段没有从.rpmmacros读取%{buildroot}变量,尽管它适用于所有其他阶段。
我将%{buildroot}的声明移动到我的主.spec文件中,并且构建现在正在运行!