ReleaseButler 1.0
😙 package manager on GitHub 😙
|
当前项目仍在开发阶段,所以软件会输出很多不必要信息(现在添加了 verbose
这个 option)
ReleaseButler 旨在简化Linux系统上的 Github 上的软件安装过程🤗。 它可以自动检测底层 Linux 发行版,从指定的 GitHub 项目主页获取对应的软件包并安装,同时也支持更新操作。
目前我是想要实现一个类似 BSD 系“类 ports 系统”那样的东西,就像 Arch Linux 的 ABS,或者像是 Gentoo Linux 的 protage。目前想要的甚至还没 ABS 那么复杂,Gentoo Linux 那样标记 USE 变量更是想都没想了。
TODO:
build
字段存储一些在install之后执行的工作install
字段存储一些install之前的准备工作⚠️: 你必须首先安装**sudo**而不是**open-doas**或是其他类似的软件,如果你不想强依赖于**sudo**可以选择修改源代码😀。或者我后续想起来会尝试添加对sudo或doas的检测。 我已经添加了对 /usr/bin/sudo
和 /usr/bin/doas
的检测。
sudo
和 doas
会存在于 /usr/bin 目录下自动发行版检测: ReleaseButler 确定运行环境的Linux发行版,确保与各种系统的兼容性。
**安装和更新**:使用单个命令轻松安装软件包。 ReleaseButler 支持更新,使您安装的软件保持最新。
尽量适配各种情况: 尝试引入各种字段以适配各种仓库的安装步骤。
--package
字段接受的是要安装的软件的名称,而 packname
字段是这个软件包名,例如 fastfetch-linux-amd64.deb
就是 packname
从命令行安装尚未支持所有字段(如install
,build
等)。
note: 这个文件需要在 **~/.config/ReleaseButler/** 目录中
你可以附加 --verbose
得到更多的调试信息输出
pakname
是 Release 页面的软件包名称。build
用于存储一些软件下载前的要执行操作。install
用于存储一些软件安装后要执行的操作。clone
表示是否直接 clone 这个仓库。download
表示是否只是单纯在从Release下载了软件包,而不是下载了之后调用系统软件包管理器安装它。如果你在 Debian 发行版下编译该项目:
如果是在其他平台下编译,原谅我懒了,自己去寻找 libcurl4-openssl-dev 这个包对应其他发型版的软件包名吧。😛
我尝试在 OpenSUSE Tumbleweed 中编译这个项目,我是用了下边的语句安装了所需的软件