这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 debuild,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
debuild - 构建一个 Debian 软件包
概要
解构 [解构 选项[dpkg-构建包 选项[--lintian-opts 临田 选项]
解构 [解构 选项] 二进制|二元架构|二进制独立|清洁 ...
商品描述
解构 创建上传 Debian 软件包所需的所有文件。 它首先运行
dpkg-构建包,然后运行 临田 在 。变化 创建的文件(假设 临田
已安装),最后签署 。变化 和 .dsc 适当的文件(使用
设计(1) 这样做而不是 dpkg-构建包(1) 本身; 所有相关的密钥签名
选项被传递)。 参数可以传递给 dpkg-构建包 和 临田,在 Moku:Pro 上
后者的参数用 --lintian-opts 选项。 允许的
在这种情况下的选择是 --林田 和 --无林天 强制或跳过 临田 步,
分别。 默认是运行 临田. 也有多种选择可供选择
设置和保留环境变量,如下文环境中所述
变量部分。 在这种运行方法中 解构,我们还将构建日志保存到
文件 ../ _ _ 。建造.
另一种使用方式 解构 是使用一个或多个参数 二进制,
二元架构, 二进制独立 和 清洁,在这种情况下 解构 会尝试扎根
权限,然后运行 Debian/规则 与给定的参数。 一种 --rootcmd=扎根-
命令 or -r获得根命令 选项可用于指定获取 root 的方法
特权。 这 获得根命令 很可能是其中之一 假根, 须藤 or 超。 看
下面进一步讨论这一点。 再次,环境保护选项
可能用过了。 在这种情况下, 解构 也会尝试运行 dpkg-checkbuilddeps 第一;
这可以使用选项明确请求或关闭 -D 和 -d 。
另请注意,如果这些或 -r 选项在配置文件中指定
选项 DEBUILD_DPKG_BUILDACKAGE_OPTS,那么即使在这种方法中也会被识别
调用 解构.
解构 还读 文字 配置文件如下所述。 这允许
要给出的默认选项。
目录 姓名 检查
与其他几个脚本相同 文字 包, 解构 会爬上
目录树,直到它找到一个 Debian/变更日志 在尝试构建之前的文件
包裹。 作为防止导致潜在问题的杂散文件的保护措施,它将检查
一旦找到父目录的名称 Debian/变更日志 文件,并检查
目录名对应于包名。 确切地说,它是如何做到的
由两个配置文件变量控制 DEVSCRIPTS_CHECK_DIRNAME_LEVEL 和
DEVSCRIPTS_CHECK_DIRNAME_REGEX, 以及它们相应的命令行选项 - 查看-
目录名级别 和 --check-dirname-正则表达式.
DEVSCRIPTS_CHECK_DIRNAME_LEVEL 可以采用以下值:
0 永远不要检查目录名称。
1 如果我们必须在搜索中更改目录,则仅检查目录名称
Debian/变更日志. 这是默认行为。
2 始终检查目录名称。
通过测试当前目录名(如确定的
by PWD(1)) 匹配配置文件选项给出的正则表达式
DEVSCRIPTS_CHECK_DIRNAME_REGEX 或通过命令行选项 --check-dirname-正则表达式 正则表达式.
服务 正则表达式 是一个 Perl 正则表达式(见 珍珠(3perl)), 开头会锚定
和结束。 如果 正则表达式 包含一个“/”,那么它必须匹配完整的目录路径。 如果
不是,那么它必须匹配完整的目录名称。 如果 正则表达式 包含字符串“PACKAGE”,
这将被源包名称替换,根据 更新日志。 该
正则表达式的默认值是:'PACKAGE(-.+)?',因此匹配目录名称,例如
PACKAGE 和 PACKAGE 版本。
环境 变数
由于环境变量会影响包的构建,通常是无意的,
解构 通过删除所有环境变量来净化环境,除了 学期,
主页, 日志名称, GNUP主页, 路径, GPG_AGENT_信息, DBUS_SESSION_BUS_ADDRESS, 假根密钥,
DEB_*, 这 (C, CPP, CXX, LD 和 F)旗帜 变量及其 _附加 同行和
地区变量 朗 和 LC_*. 学期 如果未设置,则设置为“哑”,并且 PATH 被设置为
"/ usr / sbin:/ usr / bin:/宾:/箱:/usr/bin/X11"。
如果需要将特定的环境变量原封不动地传递给
构建过程,这可以通过使用指定 --保留环境变量 环境变量 (这也可以
写成 -e 环境变量 选项)。 环境可以保持不变,使用
--保留环境 选项。 然而,即使在这种情况下, PATH 将被设置为合理值
如上所述。 这 仅由 预防的方法 PATH 从被重置是指定一个
--保留环境变量 PATH 选项。 但是你会被警告使用非标准的程序
位置很容易导致包裹被破坏,因为它将无法
建立在标准系统之上。
请注意,可以将目录添加到 sanitized 的开头 PATH, 使用
--前置路径 选项。 当人们希望使用诸如以下的工具时,这很有用 缓存 or
分区 用于建筑。
也可以避免必须输入类似的东西 FOO=酒吧 解构 -e FOO by
写作 解构 -e FOO=酒吧 或长格式 解构 --设置环境变量 FOO=酒吧.
SUPERUSER 参赛要件
解构 需要以超级用户身份运行才能正常运行。 基本上有三个
不同的方法来做到这一点。 第一种也是更可取的方法是使用一些根增益
命令。 最好用的可能是 假根(1), 因为它不涉及授予
任何真正的特权。 超(1)和 须藤(1) 也是可能性。 如果不 -r (或
--根命令) 选项(并回想一下 dpkg-构建包 也接受一个 -r 选项)
并且以下方法都没有使用,那么 -rfakeroot 会默默地假设。
第二种方法是使用一些命令,例如 su(1) 成为root,然后做
一切都为根。 不过请注意, 临田 如果它以 root 或 setuid 运行,将中止
根; 这可以克服使用 --允许root 选项 临田 如果你知道你
是做。
第三种可能的方法是有 解构 安装为 setuid root。 这不是
默认方法,并且必须由系统管理员安装。 它
还必须意识到,任何能跑的人 解构 作为 root 或 setuid root 有 ,
ACCESS 至 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 全 . 因此,不建议使用此方法,但可以使用。
解构 可以用 4754 模式安装,这样只有拥有组的成员才能
运行。 这种方法的一个缺点是其他用户将无法
使用该程序。 此选项还有许多其他变体,涉及多个副本
of 解构,或使用诸如 须藤 or 超 授予用户root权限
有选择地。 如果系统管理员希望这样做,她应该使用 dpkg-stat 覆盖
更改权限的程序 /usr/bin/debuild. 这将确保这些
权限在升级时保留。
挂钩
解构 运行时支持多个钩子 dpkg-构建包. 请注意,如果任何
钩子来自 干净的钩子 至 最后清洁 (含)被使用, 解构 会模仿一些
的部分 dpkg-构建包 处理而不是直接运行它们,因为 dpkg-
构建包 不支持钩子。 可用的钩子如下:
dpkg-buildpackage-hook
运行之前 dpkg-构建包 从调用开始 dpkg-checkbuilddeps.
干净的钩子
运行之前 dpkg-构建包 运行 Debian/规则 清洁 清理源树。
(即使树没有被清理也运行,因为 -NC 用来。)
dpkg-源挂钩
在清洁树之后和运行之前运行 dpkg-源. (即使运行 dpkg-
资源 没有被调用,因为 -b, -B或 -A 用来。)
dpkg 构建钩子
追赶 dpkg-源 在打电话之前 Debian/规则 建立. (即使这是运行
纯源构建,所以 Debian/规则 建立 没有被调用。)
dpkg-二进制挂钩
运行之间 Debian/规则 建立 和 Debian/规则 二进制(-拱)。 跑 仅由 如果一个
正在构建二进制包。
dpkg-genchanges-hook
在二进制包构建之后和调用之前运行 dpkg-genchanges.
最后清洁钩
追赶 dpkg-genchanges 并且在决赛之前 Debian/规则 清洁. (即使我们跑
不会在构建后清理树,这是默认设置。)
临田钩
在调用之前运行(一次) 临田. (即使我们没有调用也运行 临田.)
签名钩
调用后运行 临田 在任何签署之前。 (即使我们不在,也要跑
签署任何东西。)
后 dpkg-buildpackage-hook
一切都完成后运行。
可以在配置文件中指定一个钩子命令,例如,
DEBUILD_SIGNING_HOOK='foo'(注意连字符变成下划线!)或作为命令
线路选项 --签名钩子 foo. 该命令将进行某些百分比替换
在上面: %% 将被单个替换 % 符号, %p 将被包名替换, %v
通过包版本号, %s 通过源版本号, %u 由上游版本
数字。 两者都不 %s 也不 %u 将包含一个纪元。 %a 会 1 如果立即
将执行以下操作并且 0 如果不是(例如,在 dpkg-源 钩, %a
会变成 1 if dpkg-源 是运行和 0 如果不)。 然后就会交给
shell 来处理,所以它可以包括重定向和东西。 例如,只运行
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 dpkg-源 钩如果 dpkg-源 要运行,钩子可能是这样的:“如果 [
%a -eq 1 ]; 然后 ...; 菲”。
请 采取 关心 - 挂钩,因为滥用它们会导致包 FTBFS(无法
从源代码构建)。 它们可用于拍摄事物的快照等。
最后,只有 dpkg-buildpackage-hook 和钩子从 临田钩 以后可以使用
if dpkg交叉 已安装。 (这是因为在内部, 解构 重新实现
dpkg-构建包,但它不会尝试重新实现 dpkg交叉 更换
这个脚本。)
配置
有关详细信息,请参见上文。
--无会议, --noconf
不要读取任何配置文件。 这只能用作第一个选项
在命令行中给出。
--rootcmd=获得根命令, -r获得根命令
获得root(或假root)权限的命令。
--保留环境
不要清理环境,PATH 除外。
--preserve-envvar=VAR, -eVAR
请勿清洁 VAR 来自环境的变量。
If VAR 以星号(“*”)结尾,然后所有名称与
的一部分 VAR 在星号将被保留之前。
--set-envvar=VAR=折扣值, -eVAR=折扣值
设置环境变量 VAR 至 折扣值 并且不要将其从
环境。
--前置路径=折扣值
设置规范化 PATH 后,在前面加上 折扣值 到它。
--林田
运行 临田 after dpkg-构建包. 这是默认行为,它
相反地覆盖任何配置文件指令。
--无林天
别跑 临田 after dpkg-构建包.
--no-tgz-检查
即使我们在奔跑 dpkg-构建包 并且版本号有一个 Debian
修订,不要检查 .原版.gz 文件或 .orig 目录之前存在
开始构建。
--tgz-检查
如果我们正在运行 dpkg-构建包 并且版本号有一个 Debian 修订版,
检查是否 .原版.gz 文件或 .orig 启动前目录存在
建造。 这是默认行为。
- 用户名 用户名
签名时,使用 拆解 而不是 设计. 用户名 指定凭据
要使用的。
--FOO-钩=钩
如上所述设置挂钩。 如果 钩 是空白的,这会解除钩子的设置。
--清除钩子
清除所有钩子。 它们可能会被稍后的命令行选项恢复。
--检查目录名级别 N
见上节 目录 姓名 检查 有关此选项的说明。
--check-dirname-正则表达式 正则表达式
见上节 目录 姓名 检查 有关此选项的说明。
-d 别跑 dpkg-checkbuilddeps 检查构建依赖项。
-D 运行 dpkg-checkbuilddeps 检查构建依赖项。
配置 变数
两个配置文件 /etc/devscripts.conf 和 〜/.devscripts 来自一个 shell
以此来设置配置变量。 命令行选项可用于
覆盖其中一些配置文件设置,否则 --无会议 选项可以是
用于防止读取这些文件。 当这些时忽略环境变量设置
读取配置文件。 当前识别的变量是:
DEBUILD_PRESERVE_ENV
如果这设置为 含,那么它与 --保留环境 命令行
正在使用的参数。
DEBUILD_PRESERVE_ENVVARS
要保留哪些环境变量。 这应该是一个逗号分隔的列表
变量。 这对应于使用可能的多个 --保留环境变量 or -e
选项。
DEBUILD_SET_ENVVAR_VAR=折扣值
这对应于 --set-envvar=VAR=折扣值.
DEBUILD_PREPEND_PATH
这对应于 --前置路径.
DEBUILD_ROOTCMD
将此变量设置为 PROG 等于 -rPROG.
DEBUILD_TGZ_CHECK
将此变量设置为 没有 与...相同 --no-tgz-检查 命令行选项。
DEBUILD_SIGNING_USERNAME
设置此变量与使用 - 用户名 命令行选项。
DEBUILD_DPKG_BUILDACKAGE_OPTS
这些是应该传递给调用的选项 dpkg-构建包.
它们在任何命令行选项之前给出。 由于 shell 引用的问题,如果
需要一个包含空格的单词作为一个选项,额外的引号将被
必需的。 例如,要确保始终使用您自己的 GPG 密钥,即使是
赞助上传,配置文件可能包含以下行:
DEBUILD_DPKG_BUILDACKAGE_OPTS="-k'Julian Gilbey[email protected]>' -sa"
这给出了两个选项。 没有额外的单引号, dpkg-
构建包 会合理地抱怨 吉尔贝 是一个无法识别的选项(它
不以 a 开头 - 标志)。
此外,如果此选项包含任何 -r, -d or -D 选项,这些将始终被采用
帐户由 解构. 请注意,一个 -r 此变量中的选项将覆盖
设置 DEBUILD_ROOTCMD.
调试_FOO_钩
钩子变量 FOO 钩。 有关更多信息,请参阅上面的挂钩部分
细节。 默认情况下,这是空的。
DEBUILD_林天
我们应该跑 临田? 如果这设置为 没有, 然后 临田 不会运行。
DEBUILD_LINTIAN_OPTS
这些是应该传递给调用的选项 临田。 他们是
在任何命令行选项之前给出,并且这个变量的用法是
描述为 DEBUILD_DPKG_BUILDACKAGE_OPTS 变量。
DEVSCRIPTS_CHECK_DIRNAME_LEVEL, DEVSCRIPTS_CHECK_DIRNAME_REGEX
见上节 目录 姓名 检查 为了解释这些
变量。 请注意,这些是包范围的配置变量,并将
因此影响所有 文字 检查其值的脚本,如中所述
他们各自的联机帮助页和 开发脚本配置文件(5)。
示例
要构建自己的包,只需运行 解构 从源树内部。 dpkg-
构建包(1) 可以在命令行上给出选项。
典型的命令行选项只构建二进制包而不签署
.changes 文件(或不存在的 .dsc 文件):
解构 -i -us -uc -b
更改 -b 至 -S 只构建一个源包。
使用示例 临田 检查生成的包并将选项传递给它:
解构 --lintian-opts -i
请注意此处的选项顺序: 解构 选项首先出现,然后是 dpkg-构建包
的,然后是检查器选项。 (和 临田 被默认调用。)如果你发现
自己使用相同的 dpkg-构建包 选项重复,考虑使用
DEBUILD_DPKG_BUILDACKAGE_OPTS 配置文件选项如上所述。
为赞助上传构建一个包,给定 foobar_1.0-1.dsc 以及各自的
源文件,运行类似以下命令:
dpkg-源-x foobar_1.0-1.dsc
cd foobar-1.0
解构 -k0x12345678
其中 0x12345678 替换为您的 GPG 密钥 ID 或其他密钥标识符,例如您的电子邮件
地址。 同样,您也可以使用 DEBUILD_DPKG_BUILDACKAGE_OPTS 配置文件
如上所述的选项以避免必须键入 -k 每次你做一个选择
赞助上传。
使用 onworks.net 服务在线使用 debuild
