谁能告诉我为什么当我尝试安装使用此spec文件构建的RPM时,“ Requires”部分被忽略?
Name: test
Version: 1.1
Release: 0
Summary: Test
Packager: Author
Group: Application/Other
License: GPL
URL: https://url.com
Source0: %{name}-%{version}.tar.gz
BuildArch: noarch
Requires: bash ncurses which jq curl tar
%description
This is a description
%prep
%setup -q
%build
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/bin
cp scripts/* $RPM_BUILD_ROOT/usr/bin/
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
# %dir /usr/bin
/usr/bin/mybin
%doc
当我执行yum install ./myrpm.rpm
时,它仅安装本地RPM,不需要任何规范中指定的依赖项。我尝试了逗号,不同的行,并且也添加了Autoreq: no
。
如@danilavershinin在评论中所述:如果系统上安装的软件包已经满足了这些依赖性,则无需安装任何东西。要检查这一点,可以运行:
rpm -q --whatprovides bash
查询哪个程序包满足该依赖性(对于所有其他依赖性相同)。
逗号,空格或换行符不会真正改变行为。
AutoReq
有所不同:假设您打包了一个perl脚本,那么rpmbuild
将自动添加对perl
的依赖。