酚醛复合保温板|苏洋建材有限公司

四川建材 2021-10-22 阅读:198

酚醛复合保温板

  导读:如何把自己的软件制作成软件包呢?

  本文字数:5185,阅读时长大约:7分钟

  译者:Xingyu.Wang

  文件是为 Arch Linux 及其衍生版(如 Manjaro)构建和创建软件包的方式。

  如果你曾经使用过AURitsfoss.com(即 Arch Linux 的用户维护的 存储库),你甚至可能也遇到过它们。

  但是,到底是如何从 到可安装软件包的呢?这两者之间到底发生了什么,如何把自己的软件制作成软件包呢?你将在这篇文章中了解这些。

  PKGBUILD 基础知识

  对于那些熟悉 Bash 或其他 shell 的人来说,你可能知道, 就是一个带有一些变量的 shell 脚本。

  文件由变量和函数组成,所有这些都是用来定义软件包本身,以及如何构建它。

  为了从 中创建一个软件包,需要使用makepkg命令行工具。在获得 文件后,你只需在包含 的目录中运行 `makepkg',就可以得到一个可安装的软件包了。

  在本教程中,你将会看到我刚刚制作的软件包,它在运行时打印出 “Hello World!”。

  准备

  为了继续学习本教程,你需要创建几个文件。

  首先,你需要创建一个名为 的文件,它将作为构建你的软件包的“配方”。

  你需要做的另一个文件是一个叫 的文件。我稍后会解释它的用途。

  你也可以用一个命令来创建这两个文件:

  你可以用 命令检查这些文件是否被创建。

  然后你就可以开始了!

  设置你的 PKGBUILD 文件

  这篇文章也没有介绍 中可以设置的每一个选项,只是介绍了一些常用的选项,以便你能尽快上手。

  pkgname

  首先是 变量。这是安装时定义软件包名称的东西,也是Arch Linux 的软件包管理器 pacmanitsfoss.com跟踪软件包的方式。

  这个变量(以及其他一些变量)的格式是 ,变量名在左边,变量的值在右边,用等号隔开。

  要设置包的名称,请在 中输入以下内容:

  ? 要设置一个不同的软件包名称,用你的软件包的名称替换 。

  ? 这并不设置用于运行程序的命令,这将在下面的 部分中处理。

  pkgver

  正如变量名称本身所述,它设置了你的软件包的版本(即 )。这在用户更新他们的系统时很有用,因为设置更高的版本会提示用户升级。

  要设置版本号,请在 中输入以下内容(在前一行之后):

  pkgrel

  这与 变量有关,通常不需要知道。不过和 变量一样,如果它被换到一个更高的数字,就将通知用户进行升级。

  它适用于任何需要保持 不变的情况下,例如 本身发生了变化。如果你为一个你使用的程序创建了一个 (并希望保持软件包的版本相同),而你需要修复 本身的一个错误,这将是非常有用的。

  要设置这个变量,请在 中输入以下内容:

  这个变量应该 总是 从 开始,然后一次一次地向上移动。当 本身向上移动时,这个变量可以(也应该)重置为 ,因为 本身会通知用户升级。

  pkgdesc

  这将设置软件包的描述,用于帮助更好地识别该软件包。

  要设置它,只需将描述放在引号内:

  arch

  无论如何,makepkg仍然需要设置它,这样它就知道这个软件包与我们的系统是兼容的。

  这个变量支持设置多个值,所以makepkg需要一个不同的语法,如下所示。

  要设置它,请在 中输入以下内容:

  如果你要设置多个值,需要用空格和引号分隔每个值,像这样。。

  depends

  这列出了提供了我们的软件包所需功能的所有软件包。与 一样,它也可以包含多个值,因此必须使用括号语法。

  由于我们的软件包没有任何依赖关系,所以我们不需要在 中输入这个字段。然而,如果我们的软件包有依赖关系,我们就会使用与 相同的语法。

  optdepends

  这里列出了那些并不是提供所需功能而是额外功能的软件包。

  这与 的语法相同。

  conflicts

  这告诉 酚醛复合保温板 哪些软件包会导致我们的软件包出现问题,或者以我们不希望的方式行事。

  这里列出的任何软件包都会在我们的软件包被安装之前被卸载。

  这与 的语法相同。

  license

  这与 和 的语法相同:

  source

  这就是makepkg如何知道要用什么文件来构建我们的软件包。它可以包含各种不同类型的源,包括本地文件和 URL。

  在添加本地文件时,要输入相对于 文件的文件路径,比如以下目录布局:

  如果你想在我们的 中包括 ,你需要输入 作为其名称。

  当输入 URL 时,你只需输入完整的 URL,即 。

  你的这个软件包只需要 文件,由于它和 在同一个目录中,你只需输入它的名字作为 的值。

  这个变量也使用与 和 相同的语法:

  sha512sums

  如果你宁愿不设置这个(或者你只是不需要,例如对于本地文件),你可以为 变量中的每个文件输入 :

  package

  这是最后一个,也是实际制作我们的包的最重要的部分。在处理这个问题时,知道两个变量很重要。

  ? :这是makepkg放置 变量中文件的地方。在这个目录中,你可以与这些文件进行交互,并对文件进行任何其他需要的修改。

  ? :这是我们放置将被安装在系统中的文件的地方。 的文件夹结构是按照实际系统中的情况设置的(例如,使用 安装时, 会创建文件 )。

  包含一个用于创建软件包的命令列表。

  因此,如果(假设)你需要有个在 写着 “Linux is superior to Windows ”的文件,你会运行这样的东西:

  关于上述命令的一些说明:

  ? 里面最初是不包含目录的。如果你跳过了mkdir 命令linuxhandbook.com, 会输出一个错误,说这个目录不存在。

  ? 在指定目录时,总是在它们前面加上 或 变量。如果输入 ,就会按照字面意义指向你当前运行的系统中的 。

  对于你的 ,你将把 文件放在目标系统的 中。你还将使该文件在运行时说 “Hello to you!”。

  要做到这一点,请在 中输入以下内容:

  然后就完成了!用makepkg -si构建和安装软件包,然后在终端运行 ,查看其输出。

  总结

  就这样,你已经制作了你的第一个 !你走在了为自己甚至是为 AUR 制作实际的软件包的路上。

  有什么问题,或者有什么地方不对吗?请随时在下面的评论区发表。

  本文由LCTT原创编译,Linux中国荣誉推出

  欢迎遵照 CC-BY-NC-SA 协议规定转载,

  如需转载,请在文章下留言 “转载:公众号名称”,

  我们将为您添加白名单,授权“转载文章时可以修改”。




这是酚醛发泡保温板厂家 16:29:37)

评论(0)