10个版本 (5个破坏性更新)
0.7.0 | 2024年3月4日 |
---|---|
0.6.1 | 2023年6月23日 |
0.5.0 | 2022年4月18日 |
0.4.2 | 2021年8月19日 |
0.3.0 | 2018年12月24日 |
#299 在 解析实现
206 每月下载量
3.5MB
3K SLoC
EMerge LOg Parser
Emlop解析emerge日志(由portage,Gentoo包管理器生成),以提供有用的信息,如合并历史和合并时间预测。
它从genlop和qlop中汲取灵感,但旨在更快、更精确、更易用,请参阅比较。
用法
Emlop分为命令。命令名称和参数可以缩写(因此 emlop log --from '1 day' --duration human
与 emlop l --f1d --dur h
相同),并且提供shell自动完成功能。请参阅 emlop --help
和 emlop <command> --help
获取完整和最新的用法信息。
常用选项
所有命令共享这些参数,影响解析和输出
Options:
-F, --logfile <file> Location of emerge log file
-v... Increase verbosity (can be given multiple times)
-h, --help Print help (see more with '--help')
-V, --version Print version
Filter:
-f, --from <date> Only parse log entries after <date>
-t, --to <date> Only parse log entries before <date>
Format:
-H, --header [<bool>] Show table header
--duration <format> Output durations in different formats
--date <format> Output dates in different formats
--utc [<bool>] Parse/display dates in UTC instead of local time
--color [<bool>] Enable color (yes/no/auto)
-o, --output <format> Ouput format (columns/tab/auto)
使用 log
列出合并、取消合并和同步
日志特定选项
Format:
--starttime [<bool>] Display start time instead of end time
Filter:
[search]... Show only packages/repos matching <search>
-e, --exact Match <search> using plain string
-s, --show <m,u,s,a> Show (m)erges, (u)nmerges, (s)yncs, and/or (a)ll
-N, --first [<num>] Show only the first <num> entries
-n, --last [<num>] Show only the last <num> entries
请注意,emaint sync
当前 不会写入emerge.log,因此如果您使用 emaint
,则 emlop l --show s
将显示为空。请改用 emerge --sync
或 eix-sync
。
使用 predict
估计合并所需的时间
预测特定参数
Options:
--tmpdir <dir> Location of portage tmpdir
Filter:
-s, --show <e,m,t,a> Show (e)emerge processes, (m)erges, (t)otal, and/or (a)ll
-N, --first [<num>] Show only the first <num> entries
-n, --last [<num>] Show only the last <num> entries
--resume [<source>] Use main, backup, either, or no portage resume list
Stats:
--limit <num> Use the last <num> merge times to predict durations
--avg <fn> Select function used to predict durations
--unknown <secs> Assume unkown packages take <secs> seconds to merge
使用 stats
显示汇总统计信息
与统计相关的参数
Filter:
[search]... Show only packages/repos matching <search>
-e, --exact Match <search> using plain string
-s, --show <p,t,s,a> Show (p)ackages, (t)otals, (s)yncs, and/or (a)ll
Stats:
-g, --groupby <y,m,w,d,n> Group by (y)ear, (m)onth, (w)eek, (d)ay, (n)one
--limit <num> Use the last <num> merge times to predict durations
--avg <fn> Select function used to predict durations
其他命令
complete
生成shell补全accuracy
有助于分析预测的准确性
配置文件
Emlop 从 $HOME/.config/emlop.toml
读取默认设置。将环境变量 $EMLOP_CONFIG
设置为更改文件位置,或将其设置为 """
以禁用。
此 示例文件 记录了格式,并列出了支持选项。命令行参数优先于配置文件。
安装
使用 portage
emerge emlop
ebuild 也维护在 moltonel 模拟层中,您可以使用 eselect-repository 启用。
使用 cargo
安装 Rust 并使用 portage 或 rustup。确保 ~/.cargo/bin/
在您的 $PATH
中。
当前支持的最小 Rust 版本是 1.71。当使用旧的 rustc 版本构建 emlop
时,您可能需要将 --locked
传递给 cargo install
,以使用显式测试的依赖项版本。
从 crates.io
cargo install -f emlop
从 git
git clone https://github.com/vincentdephily/emlop
cd emlop
cargo test
cargo install -f --path .
Shell 完全匹配
emlop complete bash > /usr/share/bash-completion/completions/emlop
emlop complete zsh > /usr/share/zsh/site-functions/_emlop
emlop complete fish > /usr/share/fish/vendor_completions.d/emlop.fish
贡献
提前感谢。请参阅 贡献 获取指导。Emlop 以 GPLv3 许可。
依赖项
~7–16MB
~195K SLoC