#debian-package #repository #deb #update #numbers #version #versioning

app bulk

一个简单的制作 deb 包、仓库和更新版本号的工具

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

MIT 许可证

110KB
2.5K SLoC

==== 批量处理

批量处理是一个超级简单的打包工具。它与 fpm_ 类似,但使用 Rust 实现。

它为你做三件事

  • 将文件目录打包成 deb 包
  • 从包列表中维护多个仓库(稳定、测试...)
  • 更新你的版本号

.. _fpm: https://github.com/jordansissel/fpm

:状态:Alpha

为什么?

Debian 的默认打包工具太复杂。我还想

  1. 简单安装零依赖的工具(与 fpm_ 相比)
  2. 尝试一点可重复打包(即从包中省略时间戳)
  3. 一个简单的工具来维护(多个)仓库
  4. 在 vagga 上面添加了一个小的包装器,以便通过单个命令为所有发行版实际构建包

结果发现,从 fpm_ 中需要的所有功能都可以在夜间重新实现,所以我们有了一个新的工具,准备进行新的实验。

限制

批量处理应该是简单的。虽然我们可能在未来的版本中取消一些限制,但我们并不打算支持所有功能。

限制包括

  1. 没有安装脚本
  2. 所有文件均由 root 拥有且没有时间戳
  3. 没有设备、套接字、空目录和其他可能的 tar/deb 归档占用者
  4. 对包元数据的支持有限(侧重于不同 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许可证定义的,您有意提交以包含在工作中的任何贡献,将按照上述方式双授权,无需附加条款或条件。

依赖项

~16–26MB
~483K SLoC