[英]How can I rebuild rpm package exclude some dependencies?
有下一种问题。 想要重建垃圾收集器 (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 档案吗?
只需定义您要排除的要求:
%define __requires_exclude libXXX.so.X
大多数依赖项是由“find-requires”功能创建的。 如果您在.spec
文件中指定它:
AutoReq: no
它们都不是被创建的。
但是,我不确定排除单个的简单方法。 要么全有要么全无。
禁用自动依赖提取的最简单方法是从导致依赖的文件中删除执行位:rpm 不会自动从非可执行文件中提取依赖。
您还可以过滤依赖项(过滤在不同的 rpm 版本中是不同的,但在所有 rpm 版本中都是可能的)。
但是,您希望过滤的依赖项通常不是问题。 您是否尝试在较新的机器上构建并安装在较旧的机器上,并使用较旧版本的 glibc?
你需要这个来禁用一个或多个 provie 或 require
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.