5

次のような質問があります。ガベージコレクター(gc-7.1-10.el6.src.rpm)を再構築し、ld-linux.so.2、ld-linux.so.2(GLIBC_2.3)、およびlibpthread.so.0(GLIBC_2.3.2)を除外したい)依存関係。どうすれば私が欲しいものに似たものを手に入れることができますか? (CentOS 6)

% rpm -qp -R rpmbuild/RPMS/i386/gc-7.1-10.el6.i386.rpm
/sbin/ldconfig  
/sbin/ldconfig  
ld-linux.so.2  
ld-linux.so.2(GLIBC_2.3)  
libc.so.6  
libc.so.6(GLIBC_2.0)  
libc.so.6(GLIBC_2.1)  
libc.so.6(GLIBC_2.1.3)  
libc.so.6(GLIBC_2.2.4)  
libc.so.6(GLIBC_2.3)  
libcord.so.1  
libdl.so.2  
libdl.so.2(GLIBC_2.1)  
libgc.so.1  
libgcc_s.so.1  
libgcc_s.so.1(GCC_3.0)  
libgcc_s.so.1(GCC_3.3.1)  
libgccpp.so.1  
libm.so.6  
libpthread.so.0  
libpthread.so.0(GLIBC_2.0)  
libpthread.so.0(GLIBC_2.1)  
libpthread.so.0(GLIBC_2.2)  
libpthread.so.0(GLIBC_2.2.3)  
libpthread.so.0(GLIBC_2.3.2)  
libstdc++.so.6  
libstdc++.so.6(CXXABI_1.3)  
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1
rtld(GNU_HASH)

スペックファイルを編集する必要がありますか、それともtar.gzアーカイブを変更して再構築する必要がありますか?

4

4 に答える 4

6

これらの依存関係のほとんどは、「find-requires」機能によって作成されます。.specファイルでこれを指定すると、次のようになります。

AutoReq: no

それらのどれも作成されません。

ただし、単一のものを除外する簡単な方法はわかりません。それはすべてまたは何もありません。

于 2011-11-24T01:50:36.127 に答える
0

依存関係の自動抽出を無効にする最も簡単な方法は、依存関係の原因となっている実行ビットをファイルから削除することです。rpm は、実行可能でないファイルから依存関係を自動的に抽出しません。

依存関係をフィルタリングすることもできます (フィルタリングは rpm のバージョンによって異なりますが、rpm のすべてのバージョンで可能です)。

ただし、フィルタリングする依存関係は、通常は問題になりません。古いバージョンの glibc を使用して、新しいマシンでビルドし、古いマシンにインストールしようとしていますか?

于 2015-07-15T15:57:08.043 に答える
-1

これは、1つまたは複数のprovを無効にするか、requireするために必要です

http://www.rpm.org/wiki/PackagerDocs/DependencyGenerator

于 2015-07-15T06:55:29.970 に答える