web-dev-qa-db-ja.com

rpmパッケージの望ましくない依存関係を回避する方法は?

RHEL7用のパッケージを作っています。パッケージをインストールしようとすると、

# yum localinstall mypackage-0.0-1.el7.rpm 
(...)
--> Running transaction check
---> Package webmin-GPI-init.noarch 0:0.0-1.el7 will be installed
--> Processing Dependency: Perl(.::guardian-lib.pl) for package: webmin-GPI-init-0.0-1.el7.noarch
--> Processing Dependency: Perl(.::hostconfig-lib.pl) for package: webmin-GPI-init-0.0-1.el7.noarch
--> Processing Dependency: Perl(.::init-lib.pl) for package: webmin-GPI-init-0.0-1.el7.noarch

.::init-lib.plという名前のPerlモジュールを喜んで入手することは望ましくないことを私は心に留めています。コードでは、次のようなものを見つけることができます

#! /usr/bin/Perl
require './init-lib.pl';
require './guardian-lib.pl'; 
require './hostconfig-lib.pl';

win32ファイルで次のオプションを使用して.specを削除できました。

%{?perl_default_filter}
%global __requires_exclude Perl\\(VMS|Perl\\(Win32|Perl\\(\\.

ドットで始まるPerlパッケージに関する依存関係を取り除くにはどうすればよいですか?

インターネットを閲覧して、 https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering およびその他の理解できないメーリングリストを見つけました。

2
MUY Belgium

rpmbuildは、rpmパッケージの内容を分析して、プログラムが機能するために必要なものを自動的に判別します。特定のPerlモジュールを使用する場合。プログラムを機能させるには、これらをインストールする必要があります。

ただし、rpmですべての作業を実行したくない場合は、あなたは付け加えられます

AutoReqProv : no

スペックファイルに。詳細については; これを読んでください

3
Chris Maes

使用しない理由:

%define __requires_exclude ^Perl(\s|)\(.*\)$
1
jbrios777