2011-10-10 91 views
2

有下一種問題。想重建垃圾收集器(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包,排除一些依賴關係?

% 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壓縮?

+0

你想他們靜態鏈接? – Michel

+0

但我只是假設它可以幫助我 – mart7ini

回答

3

大部分依賴的是由「發現,需要」功能創建的。如果您在.sec文件中指定此項:

AutoReq: no 

它們都不會被創建。

我不能確定的一種簡單的方法來排除單的,但是。這是全部或沒有。

+0

yeap,它的工作,但在這種情況下,你會得到分段錯誤錯誤,並且它很傷心:) – mart7ini

+0

可悲的去極端去除一些依賴... –

-1

您需要這只是禁用一個或多個延誤,本公司或需要

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

+0

雖然這個鏈接可能回答這個問題,最好在這裏包含答案的基本部分,並提供參考鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 –

+0

我沒有參考關於排除一個或多個自動生成需求的完整解釋..任何方式我會寫一個答案... –

0

最簡單的方法來禁用自動依賴提取以去除導致依賴文件(縣)的執行位: rpm不會自動從非可執行文件中提取依賴關係。

還可以過濾的依賴關係(所述濾波是在不同的版本的轉速的不同,但是可能的以rpm的所有版本)。

但是您要過濾的依賴關係通常不是問題。您是否試圖在較新的機器上構建並安裝在舊版本的機器上,並使用老版本的glibc?

2

只要定義需要你想排除:

%定義__requires_exclude libXXX.so.X