6 个版本
0.1.5 | 2022年5月10日 |
---|---|
0.1.4 | 2019年12月7日 |
0.1.3 | 2019年9月13日 |
0.1.2 | 2019年1月6日 |
0.1.0 | 2016年7月27日 |
在 Cargo 插件 中排名 #284
每月下载量 41 次
34KB
524 行代码(不包括注释)
cargo-arch - 从 Cargo.toml 中的信息生成 Arch Linux 软件包
cargo-arch 将生成PKGBUILD文件,您可以在[package.metadata.arch]部分添加额外信息,选项可以通过man PKGBUILD 命令查看.
目录
安装
从 crate.io 安装
$ cargo install cargo-arch
从 GitHub 安装
$ cargo install --git https://github.com/wdv4758h/cargo-arch
下载预构建的二进制文件
# by curl $ curl -O -J -L https://github.com/wdv4758h/cargo-arch/releases/download/v0.1.5/cargo-arch-v0.1.5-x86_64-unknown-linux-gnu.tar.gz # by wget $ wget https://github.com/wdv4758h/cargo-arch/releases/download/v0.1.5/cargo-arch-v0.1.5-x86_64-unknown-linux-gnu.tar.gz
用法
$ cargo arch --help cargo-arch 0.1.5 Chiu-Hsiang Hsu <[email protected]> Rust Arch Linux package packer USAGE: cargo arch [FLAGS] [OPTIONS] FLAGS: -f, --force Overwrite existing package -h, --help Prints help information -i, --install Install package after successful build --mksrcinfo Run mksrcinfo -s, --syncdeps Install missing dependencies with pacman -V, --version Prints version information OPTIONS: -b, --build <build> whether build the source [default: true] [possible values: true, false] -p, --manifest-path <manifest-path> Cargo.toml directory path
$ cargo arch ==> Making package: cargo-arch 0.1.5-1 (Tue 10 May 2022 03:46:55 PM CST) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving sources... ==> Extracting sources... ==> Starting pkgver()... ==> Updated version: cargo-arch 0.1.5.r0.g21098bb-1 ==> Removing existing $pkgdir/ directory... ==> Starting build()... ==> Entering fakeroot environment... ==> Starting package()... Installing cargo-arch v0.1.5 (/home/user/cargo-arch) Updating crates.io index Compiling proc-macro2 v1.0.38 Compiling unicode-xid v0.2.3 Compiling syn v1.0.93 Compiling version_check v0.9.4 Compiling autocfg v1.1.0 Compiling libc v0.2.125 Compiling serde_derive v1.0.137 Compiling serde v1.0.137 Compiling anyhow v1.0.57 Compiling hashbrown v0.11.2 Compiling os_str_bytes v6.0.0 Compiling heck v0.4.0 Compiling textwrap v0.15.0 Compiling termcolor v1.1.3 Compiling strsim v0.10.0 Compiling lazy_static v1.4.0 Compiling bitflags v1.3.2 Compiling proc-macro-error-attr v1.0.4 Compiling proc-macro-error v1.0.4 Compiling indexmap v1.8.1 Compiling clap_lex v0.2.0 Compiling quote v1.0.18 Compiling atty v0.2.14 Compiling clap_derive v3.1.7 Compiling clap v3.1.17 Compiling toml v0.5.9 Compiling cargo-arch v0.1.5 (/home/user/cargo-arch) Finished release [optimized] target(s) in 27.85s Installing /home/user/cargo-arch/pkg/cargo-arch/usr/bin/cargo-arch Installed package `cargo-arch v0.1.5 (/home/user/cargo-arch)` (executable `cargo-arch`) warning: be sure to add `/home/user/cargo-arch/pkg/cargo-arch/usr/bin` to your PATH to be able to run the installed binaries ==> Tidying install... -> Removing libtool files... -> Purging unwanted files... -> Removing static library files... -> Stripping unneeded symbols from binaries and libraries... -> Compressing man and info pages... ==> Checking for packaging issues... ==> Creating package "cargo-arch"... -> Generating .PKGINFO file... -> Generating .BUILDINFO file... -> Generating .MTREE file... -> Compressing package... ==> Leaving fakeroot environment. ==> Finished making: cargo-arch 0.1.5.r0.g21098bb-1 (Tue 10 May 2022 03:47:24 PM CST)
自定义
您可以将PKGBUILD字段设置放在Cargo.toml文件下的[package.metadata.arch]部分
[package.metadata.arch] arch = ["x86_64"] makedepends = ["cargo", "my-build-dep1", "my-build-dep2"] depends = ["my-run-dep1", "my-run-dep2"] provides = ["cargo-arch", "my-command1", "my-command2"]
关于二进制文件的信息
命令依赖
变更日志
尚未实现(计划)
v0.1.5 (2022-05-10)
- 大量依赖更新,取消 YAML CLI 设置
- 将 Rust 版本从 2018 更新到 2021
- 通过将 serde 的默认值填充从 CargoMetadata 移动到 CargoArch 修复 #16(感谢 @zraktvor)
- 为避免两次构建 crate,请留空 build()(感谢 @gkaklas)
- 使用 --no-track 标志以避免安装 .crates.toml 和 .crates2.json(感谢 @gkaklas)
- 确保 arch 部分的默认值已填充(感谢 @cardoe)
v0.1.4 (2019-12-07)
- 使用 anyhow 提供更好的错误报告(感谢 @cardoe)
- 默认架构为 x86_64(感谢 @cardoe)
- 修复 bash 数组语法(感谢 @cardoe)
- 在构建和打包阶段之间共享工件(感谢 @cardoe)
v0.1.3 (2019-09-13)
- 添加--manifest-path支持(感谢 @ZettaScript)
- 更新依赖项版本
v0.1.2 (2019-01-06)
- 使用 "/usr" 替代 "/" 作为安装基础
v0.1.1 (2019-01-06)
- 更改为使用 serde 而不是 rustc-serialize
- 更新 PKGBUILD 模板以删除 .crates.toml
- 更新 toml 以使用 serde API
- 更新 clap 版本
v0.1.0 (2016-07-27)
- 支持构建 Arch Linux 软件包
注意
我仅在 x86_64 Linux 上进行了测试。其他平台由 CI 构建。如果它们无法正常工作,请告诉我。
开发
制作发行版
- 更新src/arguments.yml
- 更新Cargo.toml
- 更新货物锁文件
- 添加git标签
特别感谢
许可证
cargo-arch采用Apache-2.0许可证 - 详细内容请参阅LICENSE文件
依赖关系
~2–2.9MB
~53K SLoC