为什么Centos apache httpd-2.2.3 rpm删除了捆绑的apr,apr-util,pcre?

为什么Centos apache httpd-2.2.3 rpm删除了捆绑的apr,apr-util,pcre?

我正在从源代码手动构建 httpd-2.2.17 。为了确保我的配置选项正确,我检查了最新的 CENTOS apache srpm(适用于 httpd-2.2.3)。在 httpd.spec 中我找到这一行:

# forcibly prevent use of bundled apr, apr-util, pcre
rm -rf srclib/{apr,apr-util,pcre}

我想知道为什么需要这样做?使用默认 httpd 源中包含的 apr 有什么问题?

答案1

这是因为 apache RPM 规范文件对 apr-devel、apr-util-devel 和 pcre-devel 软件包有一个“BuildRequire”,并且打包者希望构建使用打包版本而不是 apache tarball 中捆绑的版本。

对于它的价值,这是添加该行所做的更改,也许这将有助于回答您的问题:链接文本

这是 6 年前的编辑,因此它与当前的软件包并不相同,但您可以在补丁的其他地方看到如何添加 apr-devel 打包版本中的 apr-config。

答案2

它们被封装在一起以方便用户。在发行版维护的系统中,还有许多其他软件使用 apr、apr-util 和 pcre,单独安装它们是有意义的。单独安装它们可以节省内存(因为内存中只有一份库函数和数据副本)并且更容易升级(特别是安全更新),因为您不必重新下载和重新安装嵌入这些库的所有软件。

相关内容