openSUSE:Zypper 开发

跳转到:导航搜索
构建您自己的 ZYpp 的第一步。

源代码

Zypper 的源代码在 GIT 仓库中维护,地址为 github。您可以使用以下命令获取 zypper 的最新副本

git clone https://github.com/openSUSE/zypper.git

这将会在您的当前工作目录中创建一个名为zypper的仓库的本地副本。


联系开发者


文档

Zypper 有一个详细的手册页,doc/zypper.8请在每次更改命令行界面或行为时保持更新。

如果您对 groff 标记语言感到沮丧,只需用纯文本编写,我们稍后会美化它。


开发分支

Zypper 的开发分支通常应与 libzypp 的分支匹配,但可能存在例外。通常,主要开发是在 trunk 中进行的。这些分支主要由 SUSE 开发者内部用于维护或开发随特定产品一起发布的 zypper 版本。


构建 Zypper

为了构建 zypper,您需要安装以下软件包

libzypp-devel augeas-devel cmake gcc-c++ pkg-config boost-devel gettext-devel rubygem(asciidoctor) readline-devel

要构建 zypper,请创建一个构建目录(可以是_buildzypper 源代码树内的目录或任何外部目录),并像这样在其中执行 cmake 和 make

mkdir <build_dir>
cd <build_dir>
cmake <zypper_src_dir>
make

最终,您可以使用make install将 zypper 安装到/usr目录。如果您希望在开发 zypper 时使用不同的安装前缀,请将其告知 cmake 命令,如下所示

cmake -DCMAKE_INSTALL_PREFIX=/my/devel/usr <zypper_src_dir>

然后继续使用make正常构建。

成功构建后,您的 zypper 可执行文件将在<build_dir>/src。您可以直接执行此二进制文件,也可以使用make install将其安装到bin指定安装前缀下的目录(见上文)。

要构建源代码压缩包,请使用

make srcpackage

make srcpackage_local

前者会检查您的源代码树中是否有未提交的更改,后者会跳过检查。生成的压缩包将放置在<build_dir>/package以及zypper.spec文件中提供相同的供应商和标识信息。

其他 cmake 变量

  • ZYPP_PREFIX - 如果您想使用安装在非标准位置的 libzypp,请使用此变量指定 libzypp 的安装前缀
  • SYSCONFDIR - 指定您自己的 /etc 目录以安装 logrotate.d/zypper.lr
  • MANDIR - 指定您自己的手册页安装目录

风格

制表符与空格和缩进

源代码中使用双字符缩进。您可以混合使用制表符和空格来缩进您的代码,但请确保您的编辑器设置为在 8 个字符宽的列上显示制表符字符。在vim编辑器中,可以通过以下方式实现

set tabstop=8 shiftwidth=2 softtabstop=2

配置完成后,无论您告诉编辑器在按下制表键时插入空格而不是制表符字符,都无关紧要。并非所有编辑器都支持此功能,但至少 vim、emacs、cream、最近的 Eclipse CDT 都支持。