如何构建 Ubuntu 软件包,以便安装布局与 Ubuntu 发行版完全匹配?

如何构建 Ubuntu 软件包,以便安装布局与 Ubuntu 发行版完全匹配?

我正在研究 apache2 源代码,它是来自 Ubuntu 存储库的“apt-get source”。

apt-get 解压了 apache2-xxx.tar.gz 并与 apache2-xxx-ubuntu.diff 合并。所以我认为目录 apache2-xxx/ 包含 Ubuntu 化的 apache2 源代码。

但是在 configure 和 make install 之后,我发现构建的结果目录结构与我通过“apt-get install apache2”安装的不同。

例如,apt-get install apache2 将模块特定的配置从 httpd.conf 拆分到 mods-available/*,并且所有模块都编译在共享对象中。但默认配置(不带选项的 ./configure)将所有模块编译为单个可执行文件。虽然我可以为 ./configure 指定 --enable-mods-shared=all,但编译失败。

问题不仅仅在于选项 --enable-mods-shared,我想知道如何编译 apache2 或一般来说,Ubuntu 源包以供分发。我应该提供哪些配置选项来构建更常见的类似 Ubuntu 的二进制文件?

答案1

您可以使用make -f ./debian/rules以及其上的 bash-completion 来分步构建。或者使用 debuild 来一次性完成所有构建。您将在目录中看到编译规则、配置选项和自定义设置debian/

答案2

你知道吗检查安装? 它能起到作用吗?

相关内容