4 个版本
使用旧的 Rust 2015
0.4.9 | 2017年11月10日 |
---|---|
0.4.7 | 2016年7月20日 |
0.4.6 | 2016年6月16日 |
0.4.2 | 2016年6月4日 |
#523 in Unix API
110KB
2.5K SLoC
==== 批量处理
批量处理是一个超级简单的打包工具。它与 fpm_ 类似,但使用 Rust 实现。
它为你做三件事
- 将文件目录打包成 deb 包
- 从包列表中维护多个仓库(稳定、测试...)
- 更新你的版本号
.. _fpm: https://github.com/jordansissel/fpm
:状态:Alpha
为什么?
Debian 的默认打包工具太复杂。我还想
- 简单安装零依赖的工具(与 fpm_ 相比)
- 尝试一点可重复打包(即从包中省略时间戳)
- 一个简单的工具来维护(多个)仓库
- 在 vagga 上面添加了一个小的包装器,以便通过单个命令为所有发行版实际构建包
结果发现,从 fpm_ 中需要的所有功能都可以在夜间重新实现,所以我们有了一个新的工具,准备进行新的实验。
限制
批量处理应该是简单的。虽然我们可能在未来的版本中取消一些限制,但我们并不打算支持所有功能。
限制包括
- 没有安装脚本
- 所有文件均由 root 拥有且没有时间戳
- 没有设备、套接字、空目录和其他可能的 tar/deb 归档占用者
- 对包元数据的支持有限(侧重于不同 Linux 发行版之间的共性)
安装
目前我们提供了 x86_64 的静态二进制文件
wget http://files.zerogw.com/bulk/bulk-0.4.9.tar.gz
tar -xzf bulk-0.4.9.tar.gz -C /
或者你可以使用 cargo 安装它
cargo install bulk
这将把 bulk 安装在 /usr/bin
。Ubuntu 软件包将很快提供。
如何使用
构建程序并将其安装到某个目录中,例如 pkg
。将一些元数据放入 bulk.yaml
。然后将其打包成 Debian 包:
bulk pack --config bulk.yaml --dir pkg --dest-dir dist
你将在 dist
目录中获得一个包。你可以在这个存储库中找到示例 bulk.yaml
。
构建包
以下是一些如何准备要打包的项目的示例。使用 autotools 它看起来像这样:
./configure --prefix=/usr
make
rm -rf pkg
make install DESTDIR=$(pwd)/pkg
bulk pack --config bulk.yaml --dir pkg --dest-dir dist
或者使用新的 cargo install
:
rm -rf pkg
cargo install PACKAGE_NAME --root ./pkg/usr
rm pkg/usr/.crates.toml
bulk pack --config bulk.yaml --dir pkg --dest-dir dist
这样你可以打包来自 crates.io 的 crate。
======= 许可证
许可证为以下之一
- Apache许可证,版本2.0,(./LICENSE-APACHE或http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(./LICENSE-MIT或http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在工作中的任何贡献,将按照上述方式双授权,无需附加条款或条件。
依赖项
~16–26MB
~483K SLoC