centos 禁用rpmbuild自动需求查找

5fjcxozz  于 2023-02-04  发布在  其他
关注(0)|答案(2)|浏览(169)

rpmbuild的默认行为似乎是扫描buildroot中每个文件的#!行,并将这些解释器添加为硬需求。是否可以禁用此功能?我遇到过这样的情况:人们使用#!/path/to/local/install/of/something提交脚本,并且该需求嵌入到rpm中。
我还没有找到一个命令行或规范文件选项来抑制这种行为。希望我只是没有努力寻找不够。

nwwlzxa7

nwwlzxa71#

我认为这个问题在Where does rpm look for dependencies中有答案。至少AutoReqProv: no禁用扫描,然后您将需要手动Requires: xxx值;不是最少工作的解决方案,而是一个解决方案。我还会猜测像 .rpmmacros 这样的东西有办法禁用脚本扫描。看看/usr/lib/rpm/find-requires

o4tp2gmn

o4tp2gmn2#

__provides_exclude_from__provides_exclude__requires_provides_from__requires_provides也适用于Fedora / Centos / RHEL
%global __provides_exclude_from %{buildroot}%{_javadir}/%{name}/lib/
其中%{buildroot}%{_javadir}/%{name}/lib/是一个目录
一个更复杂的例子:

# Filter away the deps om bundled libs and those substituted
# by symlinks and explicit Requires:.

%global __requires_exclude                     ^libssl.so.1.0.0
%global __requires_exclude %__requires_exclude|^libcrypto.so.1.0.0
%global __requires_exclude %__requires_exclude|^libcef.so
%global __requires_exclude %__requires_exclude|^libcurl.so.4
%global __requires_exclude %__requires_exclude|^libcurl-gnutls.so.4
%global __requires_exclude %__requires_exclude|^libwidevinecdm.so.*
#global __requires_exclude #__requires_exclude|[.]so[.][0-2][a-f]

相关问题