使用rpmbuild工具用如下命令,生成rpm包.
rpmbuild -bb qatengine.spec
我们知道,rpmbuild的目录里,一部分是用来build的,一部分使用release的, 我们分别找到我们感兴趣的二进制文件,算一下md5,
发现,竟然不一样:
[root@T9 SPECS]# sha256sum ../BUILD/QAT_Engine-0.5.46/.libs/libqat.so.0.0.0 b83a548e400f0202c7a1ecceb3b803a1cf47e699a08d31a1136b782fce79fa55 ../BUILD/QAT_Engine-0.5.46/.libs/libqat.so.0.0.0 [root@T9 SPECS]# sha256sum ../BUILDROOT/qatengine-0.5.46-1.el7.x86_64/opt/openssl/lib/libqat.so.0.0.0 0e4b07888256bb86ca1315af6f895498388069b92162dbad20435c47ecf3fa33 ../BUILDROOT/qatengine-0.5.46-1.el7.x86_64/opt/openssl/lib/libqat.so.0.0.0 [root@T9 SPECS]# sha256sum ../BUILDROOT/qatengine-0.5.46-1.el7.x86_64/opt/openssl/lib/engines-1.1/qat.so 087dc50033fcdef9fdb6383aa9d7abca6d70a7699051ebc37024efa7a13c2250 ../BUILDROOT/qatengine-0.5.46-1.el7.x86_64/opt/openssl/lib/engines-1.1/qat.so
后两个应该都是前一个copy过去的.
经分析,原来是因为strip了.
可以这样, 在spec文件中关掉strip:
%global _enable_debug_package 0 %global debug_package %{nil} %global __os_install_post /usr/lib/rpm/brp-compress %{nil} To prevent stripping you may also need to do this in the %install section: export DONT_STRIP=1
http://lists.rpm.org/pipermail/rpm-list/2013-August/001478.html
试了一下,不好使.
官方文档里也没写,好像没这个需求: https://rpm-packaging-guide.github.io/#built-in-macros
看来没有官方开关disable, 一定要做的话,只能自己hook了.
也许知道为什么不一样, 也就够了吧.