makepkg的官方文档翻译

名字
       makepkg - 包构建实用程序

概要
       makepkg [选项] [ENVVAR=值] [ENVVAR+=值] ...

描述
       makepkg 是一个自动构建包的脚本。 使用该脚本的要求是具有构建能力的 *nix 平台和您希望构建的每个包的自定义构建脚本(称为 PKGBUILD)。 有关创建自己的构建脚本的详细信息,请参阅 PKGBUILD(5)。

       基于脚本的构建的优点是工作只完成一次。 一旦你有了一个包的构建脚本,makepkg 将完成剩下的工作:下载和验证源文件,检查依赖关系,配置构建时设置,构建包,将包安装到临时根目录,进行自定义,生成元 信息,并将整个内容打包以供 pacman 使用。

           makepkg 默认使用您当前的语言环境,并且在构建软件包时不会取消设置。 如果您希望在寻求帮助或其他目的时与其他人共享您的构建输出,您可能希望运行“LC_ALL=C makepkg”,这样您的日志和输出就不会被本地化。

选项
       -A, --ignorearch
           忽略构建脚本中缺失或不完整的 arch 字段。 当 PKGBUILD 可能稍微过时并且没有使用 arch=('yourarch') 字段更新时,这是为了从源代码重建包。

       -r, --rmdeps
           成功构建后,使用 -s 删除依赖项自动解析和安装期间 makepkg 安装的所有依赖项。

       -c, --clean
           成功构建后清理剩余的工作文件和目录。

       -i, --install
           使用 pacman(8) 成功构建后安装或升级软件包。

       -s, --syncdeps
           使用 pacman 安装缺少的依赖项。 当未找到构建时或运行时依赖项时,pacman 将尝试解决它们。 如果成功,将下载并安装缺少的软件包。

       -C, --cleanbuild
           在构建包之前删除 $srcdir。

       --config <file>
           使用备用配置文件而不是 /etc/makepkg.conf 默认值。

       -d, --nodeps
           不执行任何依赖性检查。 如果未安装所有依赖项,此选项很可能会中断构建过程。

       -e, --noextract
           不提取源文件或运行 prepare() 函数(如果存在); 使用 $srcdir/ 目录中已经存在的任何源。 如果您想进入 $srcdir/ 并手动修补或调整代码,然后从结果中制作一个包,这很方便。 请记住,创建补丁可能是允许其他人使用您的 PKGBUILD 的更好解决方案。

       --verifysource
           对于 PKGBUILD 的源数组中的每个源文件,如果需要,请下载文件并执行完整性检查。 不执行提取或构建。 除非使用 --syncdeps,否则不会处理 PKGBUILD 中指定的依赖项。 对于执行后续的离线构建很有用。

       -f, --force
           如果 PKGDEST(在 makepkg.conf(5) 中设置)目录中已经存在构建的包,makepkg 将不会构建包,该目录可能默认为当前目录。 这允许覆盖构建的包。

       -g, --geninteg
           对于 PKGBUILD 的源数组中的每个源文件,如果需要,下载文件并生成完整性检查。 生成的完整性检查由 PKGBUILD 中存在的检查确定,如果不存在则回退到 makepkg.conf(5) 中的 INTEGRITY_CHECK 数组的值 此输出可以重定向到您的 PKGBUILD 以使用“makepkg -g”进行源验证 >> PKGBUILD”。

       --skipinteg
           不要对源文件执行任何完整性检查(校验和和 PGP)。

       --skipchecksums
           不要验证源文件的校验和。

       --skippgpcheck
           不要验证源文件的 PGP 签名。

       -h, --help
           输出语法和命令行选项。

       --holdver
           使用 VCS 源 (PKGBUILD(5)) 时,任何当前签出的源都不会更新到最新版本。

       -L, --log
           启用日志记录。 这将使用 tee 程序将每个 PKGBUILD 函数的输出发送到控制台和构建目录中名为 pkgbase-pkgver-pkgrel-arch-<function>.log 的文本文件。 如上所述,日志将被本地化,因此如果与他人共享日志输出,您可能需要相应地设置您的语言环境。

       -m, --nocolor
           在输出消息中禁用颜色。

       -o, --nobuild
           下载并解压文件,运行 prepare() 函数,但不要构建它们。 如果您希望在构建之前调整 $srcdir/ 中的文件,则使用 --noextract 选项很有用。

       -p <buildscript>
           阅读包脚本 buildscript 而不是 PKGBUILD 默认; 参见 PKGBUILD(5)。 buildscript 必须位于调用 makepkg 的目录中。

       -R, --repackage
           重新打包包的内容而不重建包。 例如,如果您忘记了 PKGBUILD 中的依赖项或安装文件并且构建本身不会更改,这将非常有用。

       -S, --source
           不要实际构建包,而是构建一个仅包含源代码的 tarball,其中不包含可通过下载 URL 获取的源代码。 这对于将单个 tarball 传递给另一个程序(例如 chroot、远程构建器或 tarball 上传)很有用。 因为完整性检查已经过验证,所以包的所有源文件都需要存在或可下载。

       -V, --version
           显示版本信息。

       --allsource
           不要实际构建包,而是构建一个包含所有源的纯源 tarball,包括那些通常通过 makepkg 下载的源。 这对于将单个 tarball 传递给另一个程序(例如 chroot 或远程构建器)很有用。 在分发二进制包时,它也将满足 GPL 的要求。

       --check
           运行 PKGBUILD 中的 check() 函数,覆盖 makepkg.conf(5) 中的设置。

       --noarchive
           不要在构建过程结束时创建存档。 这对于测试 package() 函数或者如果你的目标发行版不使用 pacman 很有用。

       --nocheck
           不要在 PKGBUILD 中运行 check() 函数或处理 checkdepends。

       --noprepare
           不要在 PKGBUILD 中运行 prepare() 函数。

       --sign
           使用 gpg 对生成的包进行签名,覆盖 makepkg.conf(5) 中的设置。

       --nosign
           不要为构建的包创建签名。

       --key <key>
           指定签名包时使用的密钥,覆盖 makepkg.conf(5) 中的 GPGKEY 设置。 如果在任一位置均未指定,则将使用密钥环中的默认密钥。

       --noconfirm
           (传递给 pacman)防止 pacman 在继续操作之前等待用户输入。

       --needed
           (传递给 pacman)告诉 pacman 如果它已经是最新的,则不要重新安装它。 (与 -i / --install 一起使用)。

       --asdeps
           (传递给 pacman)将软件包安装为非显式安装(与 -i / --install 一起使用)。

       --noprogressbar
           (传递给 pacman)阻止 pacman 显示进度条; 如果您将 makepkg 输出重定向到文件,这很有用。

       --packagelist
           列出无需构建即可生成的包文件名。 列出的包文件名包括 PKGDEST 和 PKGEXT。

       --printsrcinfo
           生成 SRCINFO 文件并将其打印到标准输出。

附加的功能
       makepkg 支持构建软件包的开发版本,而无需手动更新 PKGBUILD 中的 pkgver。 这以前是使用单独的实用程序 versionpkg 完成的。 有关如何设置开发 PKGBUILD 的详细信息,请参阅 PKGBUILD(5)。

再现性
        makepkg 旨在与 Reproducible Builds 兼容。 如果设置了 SOURCE_DATE_EPOCH 环境变量,将导出到子进程,源和包文件修改时间和包元数据将根据指定的时间戳统一。

        如果未设置 SOURCE_DATE_EPOCH 环境变量,makepkg 将使用自己的开始日期供内部使用,但不会在构建之前统一源文件时间戳。

环境变量
       pacman
            将用于检查缺少的依赖项以及安装和删除软件包的命令。 此命令必须支持 Pacman 的 -Qq、-Rns、-S、-T 和 -U 操作。 如果变量未设置或为空,makepkg 将回退到“pacman”。

       MAKEPKG_CONF="/path/to/file"
            使用备用配置文件而不是 /etc/makepkg.conf 默认值。

       SRCPKGDEST="/path/to/directory"
            将存储结果包的目录。 覆盖 makepkg.conf(5) 中定义的相应值。

       SRCDEST="/path/to/directory"
            将存储下载源的目录。 覆盖 makepkg.conf(5) 中定义的相应值。

        SRCPKGDEST="/path/to/directory"
            将存储源包文件的目录。 覆盖中定义的相应值

        LOGDEST="/path/to/directory"
            将存储生成的日志文件的目录。 覆盖中定义的相应值

        PACKAGER="John Doe <john@doe.com>"
            用于标识生成包的创建者的字符串。 覆盖中定义的相应值

        BUILDDIR="/path/to/directory"
            将在其中构建包的目录。 覆盖中定义的相应值

       CARCH="(i686|x86_64)"
            为特定架构强制构建。 用于交叉编译。 覆盖对应的值在 makepkg.conf(5) 中定义。

        PKGEXT=".pkg.tar.gz", SRCEXT=".src.tar.gz"
            设置制作编译包或源包时使用的压缩。 覆盖对应的值在 makepkg.conf(5) 中定义。

        GNUPGHOME="/path/to/directory"
            存储用于签署构建包的 gpg 密钥环的目录。

        GPGKEY="keyid"
            指定签名包时使用的密钥,覆盖 makepkg.conf(5) 中的 GPGKEY 设置。

        SOURCE_DATE_EPOCH="<date>"
            用于可重现的构建。

        BUILDTOOL="<name>"
            用于设置构建环境的工具生态系统的名称。 用于定义规范可重现的构建,例如 使用的 makepkg.conf(5)。

        BUILDTOOLVER="<version>"
            使用的 $BUILDTOOL 版本。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值